summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
28 hourspcb: Invert button signalsxengineering
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.
28 hourspcb: Add voltage divider for PCB versioningxengineering
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`.
28 hourstools: resistor_selector: Raise precision to 6xengineering
This had an actual effect on the output giving more available options.
30 hourspcb: Replace J6 & J7 by bigger J5xengineering
This reduces the electrical contacts which is possible and necessary because of size constraints.
30 hourspcb: gitignore: Add _autosave*kicad*xengineering
These files seem to be present since KiCad 9.0 and should not be tracked with version control.
30 hourspcb: U1: Add STM32F427VIT6TRxengineering
30 hoursweb: Deploy iot-contact.kicad_pcbxengineering
This can be used to order the PCB depending on the manufacturers software capabilities.
30 hoursMerge build system improvementsxengineering
- 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`
30 hoursartifacts: Provide `{factory,update}-image.bin`xengineering
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.
30 hoursRemove redundant file name in Meson codexengineering
30 hoursProvide `factory-image.bin` with Mesonxengineering
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.
30 hourstools: Add `make_factory_image.py`xengineering
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.
30 hourstools: Format Python scripts with `black`xengineering
30 hoursfw: app: Provide confirmed image in build treexengineering
This prepares the upcoming `factory-image.bin` which can be flashed to the default boot address of the microcontroller.
30 hoursRemove installation stepxengineering
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.
30 hoursRemove `st-flash`-based build targetsxengineering
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.
32 hourstools: Add `resistor_selector.py`xengineering
This tool helps to select resistors for voltage dividers indicating PCB versions.
32 hoursRevert "fw: app: Enable CONFIG_NO_OPTIMIZATIONS"xengineering
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.
2025-05-07Merge branch 'settings'xengineering
This adds the HTTP GET /settings.json API. Writing settings is only supported via the Zephyr shell.
2025-05-07fw: app: Enable CONFIG_NO_OPTIMIZATIONSxengineering
This disables compiler optimization and allows easier debugging.
2025-05-07fw: app: http: Refactor settings handlerxengineering
2025-05-07fw: app: http: Set settings content type to text/jsonxengineering
2025-05-07fw: app: Encode settings with JSON libxengineering
2025-04-16fw: app: http: Add working GET /settings.jsonxengineering
2025-04-15fw: app: http: Add dummy GET /settings.jsonxengineering
2025-04-15fw: app: syslog: Stop supporting CONFIG_LOG_BACKEND_NET_SERVERxengineering
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.
2025-04-15fw: app: syslog: Put only IP into syslog/target/ipxengineering
The old format contained `[<ip>]:<port>`. Nevertheless the format should be as strict as possible. Thus only the IP is used in the setting.
2025-04-15fw: app: syslog: Implement commit targetxengineering
2025-04-15fw: app: syslog: Make target IP configurablexengineering
2025-04-15fw: app: Enable settings with NVS backendxengineering
2025-04-12fw: app: Fix disabled network hackxengineering
This got lost during development but is an important option to compensate the hardware issues present on Nucleo F767ZI.
2025-04-12fw: app: Re-design web pagexengineering
This enables simple.css also for the device-hosted website and restructures the HTML a bit.
2025-04-12fw: Add flash and erase targetsxengineering
These targets are added: - fw/erase - fw/app/flash - fw/btl/flash They make it easier to perform a mass-erase, flashing of the bootloader and flashing of the application for development.
2025-04-11tools: deploy.py: Add default for artifactsxengineering
This allows to call `deploy.py` without any arguments in most cases.
2025-04-11tools: deploy.py: Add --dry-runxengineering
This makes debugging easier and safer.
2025-04-11tools: Add deploy.pyxengineering
This makes it easier to deploy the installed artifacts to a remote server as part of the deployment.
2025-04-10web: Fix layoutxengineering
simple.css requires to use the `<main>` tag for the main page content. Otherwise the spacing between page elements is way too large.
2025-04-10Simplify build and install stepsxengineering
2025-04-07Simplify website structure and drop Hugoxengineering
A static site generator is currently not really required. A static index.html is currently sufficient.
2025-04-07Simplify artifacts directoryxengineering
2025-04-06Merge website and CMake to Meson transitionxengineering
Building a website to structure and deploy the artifacts was planned and requires a well set-up build system to handle all the file paths targets and dependencies. Since multiple CMake Zephyr builds are required for the application firmware, bootloader firmware and the native_sim application firmware simulation CMake external project was used. Since this generates a build tree with a confusing structure Meson was evaluated. Finally the Meson build system was a good fit as top-level build system and allows external projects as an experimental feature if they can configure a Make-based build system which is given for Zephyr.
2025-04-06web: Structure index pagexengineering
2025-04-06Update README.mdxengineering
2025-04-06tools: Add meson.buildxengineering
2025-04-06Remove top-level CMake build systemxengineering
Meson now handles this. CMake is only used as Meson external project to build Zephyr firmwares.
2025-04-06fw: Remove README.mdxengineering
2025-04-06fw: Remove nucleo.shxengineering
Because of the Meson build system the application firmware is signed automatically. Furthermore all artifacts required to flash the Nucleo board are deployed to the website. Thus this script is not necessary anymore.
2025-04-06fw: app: Add image signing to Meson buildxengineering
This automates signing the application firmware image for the MCUboot bootloader.
2025-04-06fw: sim: Integrate into Meson buildxengineering
This adds a build for the native_sim board of the application firmware to the default Meson build. The resulting Linux binary is also added to the webpage.
2025-04-06fw: app: Build with Mesonxengineering