Age | Commit message (Collapse) | Author |
|
|
|
|
|
This makes it easier to keep the descriptions and the text inside the
schematic in sync.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Power over Ethernet (PoE) has the disadvantage that GND is significantly
below earth. This requires that GND of a PoE-powered device is never
attached to earthed devices.
In production use cases this is no problem. The earth lines are
isolated.
Nevertheless for debugging it is sometimes useful to connect measuring
equipment like logic analyzers and oscilloscopes to the board. This is
not possible with PoE. Thus an alternative earth-based 5V power input is
useful.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This simplifies the CMake code and the paths inside the build folder.
|
|
|
|
|
|
This CMake function integrates converting the schematic to PDF as part
of the standard build.
|
|
|
|
This is the starting point for the PCB development.
|
|
|
|
|
|
|
|
This license is the primary one for the whole project. Sub-directories
might have other licenses like e.g. `fw`.
|
|
|
|
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.
|
|
Tracking the Python environment with specific dependency versions does
not work well. Over time these versions disappear and are not anymore
installable via pip.
For now the alternative is to let the user setup the environment by
interpreting the error output during builds.
This is not convenient but the best which is currently possible.
This furthermore allows to install Python dependencies via the Linux
package manager. With that it is more ergonomic to build since the
Python environment does not have to be sourced.
|
|
The compile_commands.json located in fw/build is symlinked in the
repository root to more conveniently open a text editor with LSP client
there which is directly prepared for the firmware build.
|
|
|
|
|
|
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.
|
|
This makes the name shorter which is especially relevant for Git commit
messages.
|
|
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.
|