https://github.com/juliaszymanska/xmodem
Sending data using Xmodem and serial port
https://github.com/juliaszymanska/xmodem
checksum crc serial-port serialport telecommunication xmodem xmodem-crc
Last synced: 6 months ago
JSON representation
Sending data using Xmodem and serial port
- Host: GitHub
- URL: https://github.com/juliaszymanska/xmodem
- Owner: JuliaSzymanska
- Created: 2020-03-03T19:41:48.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-08T17:11:43.000Z (over 5 years ago)
- Last Synced: 2025-02-11T17:53:36.708Z (8 months ago)
- Topics: checksum, crc, serial-port, serialport, telecommunication, xmodem, xmodem-crc
- Language: Python
- Homepage:
- Size: 52.7 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## XModem Protocol
Breaks 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.Transmitter sends:
* SOH
* Block number, completing the block number
* Block of data
* Checksum
* ACK
* EOTReceiver:
* Sends NAK to initiate transmission
* Receive data
* Check received data (calculate checksum)
* If received data is correct sends ACK
* After receiving EOT sends ACK to end transmissionChecksum:
* Algebraic
* CRC#### Instalation
```text
pip install pyserial crc16
```#### Usage
* Run [Transmitter.py](https://github.com/JuliaSzymanska/Xmodem/blob/master/Transmitter.py) or [Receiver.py](https://github.com/JuliaSzymanska/Sound/blob/master/Receiver.py)
#### GUI
* Transmitter:
![]()
* Receiver:
![]()
## License
[Apache License 2.0](https://github.com/JuliaSzymanska/Sound)