summaryrefslogtreecommitdiff
path: root/fw/CMakeLists.txt
AgeCommit message (Collapse)Author
2025-03-21fw: zephyr: Add mbedtls modulexengineering
This is required for upcoming WebSocket APIs.
2025-03-21fw: heart: Add zbus-based heartbeat codexengineering
The heartbeat of the firmware might be used for multiple purposes. It can trigger a blinking LED on the PCB, can be displayed in a client program or might serve additional purposes. Since at least display in client programs should be implemented and multiple clients should be support in long term it improves the code structure to use a zbus channel here to publish heartbeat messages in a publish-subscribe pattern. That way the publishing of the heartbeat message and the receiving by an unknown number of observers is completely decoupled. A central trait of the publish-subscribe pattern and an advantage for a modular code structure.
2025-03-21fw: html: Move HTML to src folderxengineering
2025-03-21fw: http: Add HTML resource /xengineering
This provides the index HTML page.
2025-03-21fw: mac: Implement MAC address settingxengineering
The used MAC address is from an example range. Later it can easily be combined with reading from a MAC-providing EEPROM chip to using a unique hardware MAC on the device.
2025-03-21fw: syslog: Add static syslog loggingxengineering
Network-based logging via the syslog protocol allows to log from many IoT devices to a central log server. This makes reading logs way easier. Choosing UDP removes the need for logic keeping a state. Maybe dropped packages are acceptable for the use case but should be rare anyway.
2025-03-21fw: Switch to board native_sim/native/64xengineering
Using this board by default allows easier development since it compiles to a Linux executable which can be executed with `./zephyr.exe`, debugged with `gdb zephyr.exe` and has a virtual serial port for the Zephyr shell. Later the 32 bit version or even a QEMU variant should be used but the 64 bit variant is a low hanging fruit since the host libraries can be used. This is not wanted but easy to accomplish.
2025-02-14Switch to a global CMake buildxengineering
This allows to easily build everything from the repository root. For now this only covers firmware but later electrical PCB and mechanical case files can be added.
2025-02-11fw: Clean up CMakeLists.txtxengineering
2025-02-11fw: Switch to MPL 2.0xengineering
The Mozilla Public License seems to be suitable for this firmware project. See the original license text for details. This commit also adds a `.txt` suffix to the LICENSE file to make the file type more visible to humans and tools.
2025-02-11fw: Move content of `firmware` herexengineering
This makes the name shorter which is especially relevant for Git commit messages.