summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
16 hoursfw: app: settings: Avoid external arrayxengineering
17 hoursfw: app: Enable CONFIG_NO_OPTIMIZATIONSxengineering
This disables compiler optimization and allows easier debugging.
4 daysWIP: fw: app: settings: Temporary fix for SEGFAULTxengineering
4 daysfw: app: settings: Minimize changes for SEGFAULT fixxengineering
The core issue is that JSON_TOK_STRING as last argument to JSON_OBJ_DESCR_PRIM issues the SEGFAULT. Using JSON_TOK_NUMBER instead is the minimal change to avoid the SEGFAULT temporarily. Obviously this leads to nonsense output since the string is printed out as number.
4 daysWIP: fw: app: Fix empty HTTP responsexengineering
This was caused by a body_len set to 0 because of changed semantics in the return value of settings_to_json().
4 daysWIP: fw: app: Fix SEGFAULTxengineering
TODO: Only JSON numbers seem to be encodable. Strings lead to SEGFAULT TODO: For some reason the encoded string is not part of the HTTP response.
4 daysWIP: fw: app: Encode settings with JSON libxengineering
TODO: SEGFAULT in json_escape_internal (grrrrr)
5 daysfw: app: http: Add working GET /settings.jsonxengineering
5 daysfw: app: http: Add dummy GET /settings.jsonxengineering
6 daysfw: 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.
6 daysfw: 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.
6 daysfw: app: syslog: Implement commit targetxengineering
6 daysfw: app: syslog: Make target IP configurablexengineering
6 daysfw: app: Enable settings with NVS backendxengineering
9 daysfw: app: Fix disabled network hackHEADmainxengineering
This got lost during development but is an important option to compensate the hardware issues present on Nucleo F767ZI.
9 daysfw: app: Re-design web pagexengineering
This enables simple.css also for the device-hosted website and restructures the HTML a bit.
9 daysfw: 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.
10 daystools: deploy.py: Add default for artifactsxengineering
This allows to call `deploy.py` without any arguments in most cases.
10 daystools: deploy.py: Add --dry-runxengineering
This makes debugging easier and safer.
10 daystools: Add deploy.pyxengineering
This makes it easier to deploy the installed artifacts to a remote server as part of the deployment.
10 daysweb: 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.
10 daysSimplify build and install stepsxengineering
13 daysSimplify website structure and drop Hugoxengineering
A static site generator is currently not really required. A static index.html is currently sufficient.
13 daysSimplify 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
2025-04-06tools: Use argparse for build scriptsxengineering
This makes them re-usable for the application and native_sim firmwares.
2025-04-06fw: btl: Clean meson.buildxengineering
2025-04-06tools: Add directory and move scripts herexengineering
This allows to re-use these scripts. Since they are currently used to build Zephyr builds and three are intended (application, bootloader and application as native_sim build) this makes sense.
2025-04-06Remove symlink compile_commands.jsonxengineering
With multiple CMake Zephyr builds a single link does not make sense anymore. The user should set a custom symlink. `.gitignore` is altered to avoid committing such a link.
2025-04-06Build bootloader and add to websitexengineering
Meson makes this relatively easy. The current approach is nevertheless a bit hacky. For the first attempt it is still way better than CMake ExternalProject.
2025-04-06fw: btl: Clean up meson.buildxengineering
2025-04-06fw: btl: Configure with Python scriptxengineering
To use a more readable scripting language and keep portability the POSIX shell script for Zephyr configuration is replaced by Python.
2025-04-06fw: btl: Fix build with Mesonxengineering
2025-04-05fw: btl: Configure bootloader build with Mesonxengineering
CMake ExternalProject creates a pretty confusing build tree. Since the rest of the project anyway starts moving to Meson the bootloader is configured via Meson as a first step.
2025-04-05web: Replace file copying by Meson installationxengineering
This makes the build system code way less hacky and more modular.
2025-04-05Deploy schematic and BOM to websitexengineering
These important design files should be deployed with the website.
2025-04-05web: Depend on schematic and bom targetsxengineering
This triggers a website rebuild when schematic files are updated.
2025-04-05pcb: Switch from CMake to Mesonxengineering
This allows to install the PCB-related files easier to the website which is built with Meson.
2025-04-05web: Remove CMakexengineering
Trying meson worked so well that CMake is no longer needed.
2025-04-03web: Add simple.css to websitexengineering
This uses meson to copy the simple.css file to the build dir and references the CSS file in the HTML code.
2025-04-03web: Add meson build systemxengineering
CMake has some disadvantages when building subprojects like with `ExternalProject`. Furthermore the language is sometimes hard to read, hard to write and not so much appreciated. This is a little test if meson might perform better. If successful this project might switch to meson for all parts except the Zephyr builds.