summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2024-11-03firmware: Use patched Zephyr kernel to support esp32s2_devkitmxengineering
It is planned to switch to a custom ESP32-based printed circuit board (PCB). This has the advantage that the ESP32 modules contain a lot of basic functionality and the complete network interface. This should be the minimal viable product (MVP). The esp32s2_devkitm is a development board to develop the firmware before even designing the MVP PCB. Since this board is not supported officially a patched Zephyr kernel close to v3.7.0 is used. The patch is a slight modification of the officially supported esp32s2_devkitc board.
2024-09-06firmware: Use pip freeze for requirements.txtHEADmainxengineering
This results in a complete list of required Python dependencies with fixed versions. This ensures that the build works reliably given that the dependencies are still available in referenced versions.
2024-08-29firmware: Add minimal READMExengineering
This adds instructions for: - Python environment setup - building the firmware - flashing the firmware - get output from the Zephyr shell - removing the firmware from the device
2024-08-29firmware: zephyrproject: Add requirements.txtxengineering
This is (hopefully) the minimal set of Python dependencies required to execute the firmware build. It is meant to be installed inside a Python virtual environment (venv). To add one which is not accidentally tracked by Git a .gitignore files is added too.
2024-08-29firmware: Adapt CMakeLists.txt to Git submodulesxengineering
The following properties are now set in CMakeLists.txt: - Zephyr kernel path - required Zephyr module paths - selected board This makes the command line call for CMake trivial: cmake -Bbuild -GNinja The user does not have to specify these options on the command line.
2024-08-29firmware: Add Zephyr sources as Git submodulesxengineering
2024-08-23firmware: Implement printk output on button pressxengineering
2024-08-23firmware: Implement minimal IPv6 firmwarexengineering
This firmware enables as much as required for the device to be reachable by ICMP via an link-local IPv6 address. The address can be looked up via the Zephyr shell with `net ipv6`. This is useful to check if the network stack basics work.
2024-04-14fw: Customize shell promptxengineering
The shell prompt was changed from the default 'uart:~$ ' to '[iot-contact] ' so that it is more visible which kind of firmware is running on the device.
2024-04-14fw: Add basic Zephyr application firmwarexengineering
This is enough to validate that the firmware is running by using the integrated Zephyr shell.