XMODEM Library for embedded, mobile, iot, and desktop systems.
Fork of original library by caseykelso.
Forked by Nikolay Nerovny, BMSTU, 2018.
Latest version of library:
https://github.com/bsail/xmodem
For developers looking to extend, bug fix, build, and test libXMODEM with dependencies and test infrastructure included in the source tree. This version differs from original version by caseykelso: it uses Ceedling build system with Unity tests.
This library has several changes in transmitter state machine in order to properly work with rz
utility: it did not wait for 'C', it starts transmission from the beginning.
sudo apt install build-essential git ruby
sudo gem install ceedling
mkdir xmodem
git clone https://github.com/bsail/xmodem xmodem
ceedling upgrade xmodem
cd xmodem
Build & Run Unit Tests
ceedling test:all
You may use and create additional tasks for Ceedling build system. Please refer to the documentation in the vendor/ceedling/docs
.
All transitions are covered via unit tests.
All transitions are NOT YET covered via unit tests.
/src - libxmodem source directory
/test
ceedling test:xmodem
to run tests only in this source file)ceedling test:xmodem_receiver
to run tests only in this source file)ceedling test:xmodem_transmitter
to run tests only in this source file)/