Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
This is enough to validate that the firmware is running by using the
integrated Zephyr shell.
|