{"id":18733965,"url":"https://github.com/juliaszymanska/xmodem","last_synced_at":"2026-01-28T20:03:42.536Z","repository":{"id":130784950,"uuid":"244726096","full_name":"JuliaSzymanska/Xmodem","owner":"JuliaSzymanska","description":"Sending data using Xmodem and serial port","archived":false,"fork":false,"pushed_at":"2020-06-08T17:11:43.000Z","size":54,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-06T14:05:04.919Z","etag":null,"topics":["checksum","crc","serial-port","serialport","telecommunication","xmodem","xmodem-crc"],"latest_commit_sha":null,"homepage":"","language":"Python","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/JuliaSzymanska.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-03T19:41:48.000Z","updated_at":"2025-01-21T11:13:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"810417fa-20ff-4a08-81ae-e581a387d9f8","html_url":"https://github.com/JuliaSzymanska/Xmodem","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JuliaSzymanska/Xmodem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaSzymanska%2FXmodem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaSzymanska%2FXmodem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaSzymanska%2FXmodem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaSzymanska%2FXmodem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaSzymanska","download_url":"https://codeload.github.com/JuliaSzymanska/Xmodem/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaSzymanska%2FXmodem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28850474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"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":["checksum","crc","serial-port","serialport","telecommunication","xmodem","xmodem-crc"],"created_at":"2024-11-07T15:11:56.359Z","updated_at":"2026-01-28T20:03:42.520Z","avatar_url":"https://github.com/JuliaSzymanska.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## XModem Protocol\nBreaks up the original data into blocks that are sent to the receiver, along with information allowing to determine whether that packet was correctly received(checksum,  block number, completing the block number). If an error is detected, the receiver requests that the packet be re-sent. \n\nTransmitter sends:\n* SOH\n* Block number, completing the block number\n* Block of data\n* Checksum\n* ACK\n* EOT\n\nReceiver:\n* Sends NAK to initiate transmission\n* Receive data\n* Check received data (calculate checksum)\n* If received data is correct sends ACK\n* After receiving EOT sends ACK to end transmission\n\nChecksum:\n* Algebraic\n* CRC\n\n#### Instalation\n```text\npip install pyserial crc16\n```\n\n#### Usage\n\n* Run [Transmitter.py](https://github.com/JuliaSzymanska/Xmodem/blob/master/Transmitter.py) or [Receiver.py](https://github.com/JuliaSzymanska/Sound/blob/master/Receiver.py)\n\n#### GUI\n* Transmitter:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/JuliaSzymanska/Xmodem/blob/master/.readme/Transmitter_GUI.png\"\u003e\n\u003c/p\u003e\n\n* Receiver:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/JuliaSzymanska/Xmodem/blob/master/.readme/Receiver_GUI.png\"\u003e\n\u003c/p\u003e\n\n## License\n[Apache License 2.0](https://github.com/JuliaSzymanska/Sound)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliaszymanska%2Fxmodem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliaszymanska%2Fxmodem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliaszymanska%2Fxmodem/lists"}