summaryrefslogtreecommitdiff
path: root/software
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-31software: Add protobuf dependencyxengineering
This was not present because the Go tool detects this dependency only in the case of the generated discovery package. This package was not present during the last `go mod tidy` and `go mod vendor` cycle.
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
2024-05-28software: Add folder and go.modxengineering
This folder will contain the Go software which runs on the iot-core device.