Add Reliable Asynchronous Transfer Protocol
This patch adds support for Reliable Asynchronous Transfer Protocol (RATP) as described in RFC916. Communication over RS232 is often unreliable as characters are lost or misinterpreted. This protocol allows for a reliable packet based communication over serial lines. The implementation simply follows the state machine described in the RFC text with one exception. RFC916 uses a plain checksum for the transferred data. We decided to use CRC16 for greater robustness. Since this is the only RFC916 implementation we currently know of interoperability with other implementations should not matter. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Tested-by: Andrey Smirnov <andrew.smirnov@gmail.com>
WIP_next-LS
master
next
stable/v2017.05
stable/v2017.06
stable/v2017.07
stable/v2017.11
stable/v2018.07
stable/v2018.09
stable/v2018.12
v2020.07.0
v2020.06.0
v2020.05.0
v2020.04.0
v2020.03.0
v2020.02.0
v2020.01.0
v2019.12.0
v2019.11.0
v2019.10.0
v2019.09.0
v2019.08.1
v2019.08.0
v2019.07.0
v2019.06.1
v2019.06.0
v2019.05.0
v2019.04.0
v2019.03.0
v2019.02.0
v2019.01.0
v2018.12.0
v2018.11.0
v2018.10.0
v2018.09.1
v2018.09.0
v2018.08.1
v2018.08.0
v2018.07.2
v2018.07.1
v2018.07.0
v2018.06.0
v2018.05.0
v2018.04.0
v2018.03.0
v2018.02.0
v2018.01.0
v2017.12.0
v2017.11.0
v2017.10.0
v2017.09.0
v2017.08.0
v2017.07.1
v2017.07.0
v2017.06.2
v2017.06.1
v2017.06.0
v2017.05.4
v2017.05.3
v2017.05.2
v2017.05.1
v2017.05.0
v2017.04.0
v2017.03.0
v2017.02.0
v2017.01.0
v2016.11.0
v2016.10.0
v2016.09.0
v2016.08.0
v2016.07.0
v2016.06.0
v2016.05.0
v2016.04.0
v2016.03.0
|
---|
|
include/ratp.h 0 → 100644 |
---|
lib/Kconfig |
---|
lib/Makefile |
---|
lib/ratp.c 0 → 100644 |
---|
Too large (Show diff)
|