summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-01firmware: Minimal frame encodingHEADmainxengineering
This only covers the correct frame size, setting the buffer to 0 and copy the payload over. Missing is: - copy destination address - copy source address - set frame type - calculate and add CRC32 checksum
2024-06-01firmware: Rename frame to payloadxengineering
This array does not really contain the whole frame.
2024-06-01firmware: Fix missing include guardsxengineering
2024-06-01firmware: Assert presence of EUI-64 MAC addressxengineering
Without that address comunication is not possible.
2024-06-01firmware: Separate data link related codexengineering
2024-05-31firmware: Add end and escape byte to UART outputxengineering
These special bytes of the Serial Line Internet Protocol are contained inside the payload to validate that the escaping is working correctly.
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-30firmware: Implement send_frame()xengineering
This transmits a frame via the Serial Line Internet Protocol (SLIP).
2024-05-30firmware: Rename from uid64 to eui64xengineering
The term EUI-64 is more commonly known (see Wikipedia about MAC addresses [1]). The term UID-64 was introduced because of ST documentation. [1]: https://en.wikipedia.org/wiki/MAC_address
2024-05-30firmware: Replace shell by empty frame emittingxengineering
The shell should not be used anyway since the USB UART port is required for communication with the software. Emitting 0xC0 as termination byte of the Serial Line Internet Protocol (SLIP) every second triggers output in the SLIP-receiving software.
2024-05-30firmware: Fix missing importsxengineering
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-28scripts: Add folder and generate.shxengineering
This allows generating Golang source code based on iot-protocol protobuf definitions.
2024-05-28software: Add folder and go.modxengineering
This folder will contain the Go software which runs on the iot-core device.
2024-05-28Add iot-protocol submodulexengineering
This repository contains protocol definitions. Since every planned IoT device should get its own repository it is useful to add a central repository to define the interface between these devices.
2024-04-21firmware: Add 64 bit MAC to shell promptxengineering
This demonstrates that the readout of the 64 bit MAC address from the STM32WL55 microcontroller works and is useful to recognize used devices.
2024-04-20firmware: Customize shell promptxengineering
2024-04-13firmware: Add minimal Zephyr applicationxengineering
This is enough to validate that the firmware is running by using the Zephyr shell.
2024-04-13Add README with brief descriptionxengineering