Age | Commit message (Collapse) | Author |
|
|
|
This folder contains datasheets of the components. Because of unclear
license situation they are ignored to avoid legal issues on
re-distribution.
|
|
This makes it later possible to diff the planned `current.md` with the
`future.md`. When the firmware is feature-complete the diff should be
empty.
|
|
|
|
|
|
|
|
The status LED should always display on color either constantly on or
blinking.
To make sure even without firmware this is given a NOT gate is added.
|
|
This is more space efficient and makes it easier to label the LEDs.
There is just one "status LED" lighting up in different colors compared
to one "update LED", "power LED" and "activity LED".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- deploy `iot-contact.kicad_pcb` file for easy ordering
- add PCB versioning and process to update it
|
|
To allow features like PCB version detection the version encoding
requires manual intervention. A release checklist like this allows to
reliably execute such tasks.
|
|
This table is the result of running:
./tools/resistor_selector.py --output pcb/versions.tsv
Additionally the table was manually edited. The first column now
contains version strings to reserve resistor combinations.
This is used to keep track of existing versions, their resistor values
and related ADC values. The latter will be added to the firmware too.
|
|
Making them active-low makes it easier to reset the MCU. For the wipe
functionality it does not make a role since it will simply be defined in
Devicetree.
|
|
This voltage divider provides an analog voltage between GND and +3.3V to
indicate which hardware revision this board is.
Thus the same firmware image can be used on multiple PCB versions
compensating the hardware differences in software.
The resistor combinations are calculated by
`tools/resistory_selector.py`.
|
|
This had an actual effect on the output giving more available options.
|
|
This reduces the electrical contacts which is possible and necessary
because of size constraints.
|
|
These files seem to be present since KiCad 9.0 and should not be tracked
with version control.
|
|
|
|
This can be used to order the PCB depending on the manufacturers
software capabilities.
|
|
- remove flash targets (replaced by easy to flash `factory-image.bin`)
- replaced installation step by copy targets
- provide `factory-image.bin` and `update-image.bin`
|
|
This presents only the `factory-image.bin` and `update-image.bin` for
MCU firmware. A separate bootloader image is not available.
The reason is that the `factory-image.bin` is used during production
once (flashing at default boot address) to set up the device. Later only
the `update-image.bin` of future versions would be required to remotely
update devices.
|
|
|
|
This automatically creates `build/artifacts/factory-image.bin` with the
Meson build system. The resulting file can simply be moved to the
virtual file system of the `nucleo_f767zi` board to flash bootloader and
application making the board ready for operation and remote updates.
|
|
This script combines a bootloader firmware and a signed and confirmed
MCUboot application firmware to one factory image which can be loaded to
the default boot address of the microcontroller.
|
|
|
|
This prepares the upcoming `factory-image.bin` which can be flashed to
the default boot address of the microcontroller.
|
|
Using the installation step to copy selected artifacts into one folder
was anyway a hack.
This commit shows that the complexity can be reduced by adding copy
targets. The `build/artifacts` folder contains the selected artifacts,
they are always up to date, the user does not have to call the install
step separately and the target definitions do not require
install-related keyword arguments.
|
|
This was used since flashing was complex. Thus the build system should
help making it easier.
The new approach is more to provide artifacts by the build system which
are easy to flash / remote-update. A `factory-image.bin` and
`update-image.bin` should be provided.
|
|
This tool helps to select resistors for voltage dividers indicating PCB
versions.
|
|
This reverts commit 184a41809c66868992c90ce9d420b8e4dc46253b.
The change worked well for the `native_sim` board. Nevertheless the
application firmware for the real microcontroller was not usable at all
anymore.
This regression is fixed by simply reverting the commit. Later it could
be introduced only for the `native_sim` board with an overlay.
|
|
This adds the HTTP GET /settings.json API. Writing settings is only
supported via the Zephyr shell.
|
|
This disables compiler optimization and allows easier debugging.
|
|
|
|
|
|
|
|
|
|
|
|
From now on the mixed format with IP and port is not supported. The
settings system should keep them separate and first only the IP is
configurable.
Supporting this Kconfig option too is annoying and not necessary.
|
|
The old format contained `[<ip>]:<port>`. Nevertheless the format should
be as strict as possible. Thus only the IP is used in the setting.
|
|
|
|
|
|
|