Age | Commit message (Collapse) | Author |
|
TODO: This does not work currently.
|
|
Otherwise the ninja call to build the firmware fails.
|
|
|
|
|
|
|
|
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.
|
|
|
|
The provided documentation download is not useful anymore. It might be
re-introduced later if required.
|
|
|
|
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.
|
|
It is planned to switch to Ethernet instead of LoRa for communication.
Thus the custom PCB with the STM32WL MCU does not make sense anymore. To
get started the Ethernet variant will use a ST NUCLEO board to avoid
creating a custom PCB first.
|
|
This IC has a small footprint and will provide the 3.3 V for the
microcontroller.
|
|
|
|
|
|
It is unknown if it would be legal to include those external documents
like datasheets inside this Git repository. Thus the added script
provides the ability to get them directly from the vendor.
|
|
|
|
|
|
|
|
|
|
This allows to conveniently remove files which are not tracked in
version control.
|
|
|
|
This makes the KiCad project a valid PCB as a minimal starting point.
|
|
|
|
Based on UM2592 the development kit Nucleo WL55JC which is used for
firmware development is based on the STM32WL55JCI7 microcontroller.
Thus this MCU should be a good starting point for now.
|
|
|
|
|
|
|
|
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.
|
|
|