summaryrefslogtreecommitdiff
path: root/software/communication
AgeCommit message (Collapse)Author
2024-05-31software: Fix unslip() implementation and testxengineering
Both the implementation and the unit test had bugs which were blocking the test execution forever. This is fixed with this commit. Furthermore the new unslip() implementation is refactored and more readable.
2024-05-30software: Refactor unit test for unslip()xengineering
This allows to easily add test cases.
2024-05-30software: communication: Implement unslip()xengineering
This implements to decode the Serial Line Internet Protocol (SLIP). It splits the continuous byte stream into frames. Based on these frames the rest of the data link layer and upper layers can be implemented.
2024-05-30software: communication: Make receive privatexengineering
2024-05-30software: communication: Split setup and startxengineering
2024-05-30software: communication: Use Go channelsxengineering
Go channels help to decouple the communication layers defined by the OSI model [1]. The physical layer can be abstracted by an RX and TX byte channel and the data link layer by two frame channels. [1]: https://en.wikipedia.org/wiki/OSI_model
2024-05-30software: Switch back from .Log() to .Cat()xengineering
Logging the bytes is not really readable because of time stamp prefixes.
2024-05-30software: communication: Add SerialInterfacexengineering
This new type bundles the whole communication stack. This is easier to use than handling types for each layer on the user side of the communication package.
2024-05-30software: Implement serial port printoutxengineering
This validates that the code is able to get data from the serial port.
2024-05-30software: Implement serial port detectionxengineering