{"id":19540909,"url":"https://github.com/mathieu52/hashserial","last_synced_at":"2026-05-17T08:34:21.934Z","repository":{"id":185072122,"uuid":"470297312","full_name":"Mathieu52/HashSerial","owner":"Mathieu52","description":"A hash code based Serial library","archived":false,"fork":false,"pushed_at":"2022-12-15T22:19:51.000Z","size":265,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-08T12:47:02.378Z","etag":null,"topics":["arduino","communication","library"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mathieu52.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-03-15T19:07:24.000Z","updated_at":"2022-03-16T20:31:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"6fc94270-0912-45de-9367-808b9522184b","html_url":"https://github.com/Mathieu52/HashSerial","commit_stats":null,"previous_names":["mathieu52/hashserial"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Mathieu52/HashSerial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu52%2FHashSerial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu52%2FHashSerial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu52%2FHashSerial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu52%2FHashSerial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mathieu52","download_url":"https://codeload.github.com/Mathieu52/HashSerial/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu52%2FHashSerial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33131969,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T06:27:06.342Z","status":"ssl_error","status_checked_at":"2026-05-17T06:26:59.432Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","communication","library"],"created_at":"2024-11-11T03:07:53.154Z","updated_at":"2026-05-17T08:34:21.912Z","avatar_url":"https://github.com/Mathieu52.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Documentation\n\n Members                        | Descriptions                                \n--------------------------------|---------------------------------------------\n`class `[`HashSerial`](#class_hash_serial) | Hash code based Arduino Serial extension class \n\n# class `HashSerial` \n\nHash code based Arduino Serial extension class  \n`author` : Mathieu Durand  \n`email` : [mathieu_durand@icloud.com](mailto:mathieu_durand@icloud.com)  \n`version` : 1.0.0  \n\n## Summary\n\n Members                        | Descriptions                                \n--------------------------------|---------------------------------------------\n`public  `[`HashSerial`](#class_hash_serial_1a3ba440a5e2b3cf170e91f4c3d4d3cdaa)`(HardwareSerial \u0026 serial)` | Constructor of [HashSerial](#class_hash_serial)\n`public void `[`begin`](#class_hash_serial_1a7b5e28f89a56052dfad2077f24c03a9d)`(long speed)` | Sets the data rate in bits per second (baud) for serial data transmission. \n`public String `[`update`](#class_hash_serial_1a408c006d67428cb35a48d201120d9870)`()` | Look for confirmation that the last sent message has been received as well as look for received message (make sure they are valid, if valid trigger attached procedure) \n`public void `[`end`](#class_hash_serial_1a38c88aca98f27ca71ba8e540a079e681)`()` | Disables serial communication, allowing the RX and TX pins to be used for general input and output. To re-enable serial communication, call `[HashSerial.begin()](#class_hash_serial_1a7b5e28f89a56052dfad2077f24c03a9d)`.\n`public int `[`available`](#class_hash_serial_1adcd451d504d6a2b02e6ea3a13a79d214)`()` | Get the number of bytes (characters) available for reading from the serial port. This is data that’s already arrived and stored in the serial receive buffer (which holds 64 bytes). \n`public int `[`availableForWrite`](#class_hash_serial_1aaafae66ededbb19151df8103e8f5b845)`()` | Get the number of bytes (characters) available for writing in the serial buffer without blocking the write operation. \n`public size_t `[`send`](#class_hash_serial_1a2a92bec9bd9337fdfac5f563f393ba1c)`(val)` | Prints data to the serial port as human-readable ASCII text preceded by it's hexadecimal hash code, followed by a carriage return character (ASCII 13, or '\\r') and a newline character (ASCII 10, or '\\n')\n`public String `[`readMessage`](#class_hash_serial_1a7e114c179d635688e4009b50954b5e11)`()` | Retrieve the last received message. \n`public void `[`attachProcedure`](#class_hash_serial_1af3ea8c6e1a72d2eff0773cbdc2010591)`(void(*)(String message) procedure)` | Attach a function to hashSerial. \n`public void `[`setAcknowledgedTimeout`](#class_hash_serial_1a2e7bcb5c5a8099fd85a04fa7972c1ca5)`(unsigned long time)` | Sets the maximum milliseconds to wait for Acknowledgedment before resending message. It defaults to 100 milliseconds. \n\n## Members\n\n#### `public  `[`HashSerial`](#class_hash_serial_1a3ba440a5e2b3cf170e91f4c3d4d3cdaa)`(HardwareSerial \u0026 serial)` \n\nConstructor of [HashSerial](#class_hash_serial)\n#### Parameters\n* `serial` : HardwareSerial, Serial used to send data\n\n#### `public void `[`begin`](#class_hash_serial_1a7b5e28f89a56052dfad2077f24c03a9d)`(long speed)` \n\nSets the data rate in bits per second (baud) for serial data transmission. \n#### Parameters\n* `speed` : in bits per second (baud). Allowed data types: long.\n\n#### `public String `[`update`](#class_hash_serial_1a408c006d67428cb35a48d201120d9870)`()` \n\nLook for confirmation that the last sent message has been received as well as look for received message (make sure they are valid, if valid trigger attached procedure) \n#### Returns\nString, A valid message in other case a blank string\n\n#### `public void `[`end`](#class_hash_serial_1a38c88aca98f27ca71ba8e540a079e681)`()` \n\nDisables serial communication, allowing the RX and TX pins to be used for general input and output. To re-enable serial communication, call `[HashSerial.begin()](#class_hash_serial_1a7b5e28f89a56052dfad2077f24c03a9d)`.\n\n#### `public int `[`available`](#class_hash_serial_1adcd451d504d6a2b02e6ea3a13a79d214)`()` \n\nGet the number of bytes (characters) available for reading from the serial port. This is data that’s already arrived and stored in the serial receive buffer (which holds 64 bytes). \n#### Returns\nThe number of bytes available to read.\n\n#### `public int `[`availableForWrite`](#class_hash_serial_1aaafae66ededbb19151df8103e8f5b845)`()` \n\nGet the number of bytes (characters) available for writing in the serial buffer without blocking the write operation. \n#### Returns\nThe number of bytes available to write.\n\n#### `public size_t `[`send`](#class_hash_serial_1a2a92bec9bd9337fdfac5f563f393ba1c)`(val)` \n\nPrints data to the serial port as human-readable ASCII text preceded by it's hexadecimal hash code, followed by a carriage return character (ASCII 13, or '\\r') and a newline character (ASCII 10, or '\\n')\n#### Returns\nreturns the number of bytes written, though reading that number is optional. Data type: size_t.\n\n#### `public String `[`readMessage`](#class_hash_serial_1a7e114c179d635688e4009b50954b5e11)`()` \n\nRetrieve the last received message. \n#### Returns\nLast received message. Data type: String.\n\n#### `public void `[`attachProcedure`](#class_hash_serial_1af3ea8c6e1a72d2eff0773cbdc2010591)`(void(*)(String message) procedure)` \n\nAttach a function to hashSerial. \n#### Parameters\n* `procedure` : function that will be executed when a valid message is received\n\n#### `public void `[`setAcknowledgedTimeout`](#class_hash_serial_1a2e7bcb5c5a8099fd85a04fa7972c1ca5)`(unsigned long time)` \n\nSets the maximum milliseconds to wait for Acknowledgedment before resending message. It defaults to 100 milliseconds. \n#### Parameters\n* `time` : timeout duration in milliseconds. Allowed data types: unsigned long.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathieu52%2Fhashserial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathieu52%2Fhashserial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathieu52%2Fhashserial/lists"}