<feed xmlns='http://www.w3.org/2005/Atom'>
<title>iot-contact/fw/btl, branch mdns</title>
<subtitle>IoT device to check if doors and windows are closed or open</subtitle>
<id>https://cgit.xengineering.eu/iot-contact/atom?h=mdns</id>
<link rel='self' href='https://cgit.xengineering.eu/iot-contact/atom?h=mdns'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/'/>
<updated>2025-05-24T09:20:08Z</updated>
<entry>
<title>Provide `factory-image.bin` with Meson</title>
<updated>2025-05-24T09:20:08Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T09:20:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=fc3b3cbf7fecee7226f249f7b62cf36aa82a545a'/>
<id>urn:sha1:fc3b3cbf7fecee7226f249f7b62cf36aa82a545a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Remove installation step</title>
<updated>2025-05-24T09:18:38Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T09:18:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=caf416218623d6778b3d0c2fe12ee08135c2d126'/>
<id>urn:sha1:caf416218623d6778b3d0c2fe12ee08135c2d126</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Remove `st-flash`-based build targets</title>
<updated>2025-05-24T09:17:46Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T09:17:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=b1838d1c5b6bd27757d50d784543ea0ae16c1769'/>
<id>urn:sha1:b1838d1c5b6bd27757d50d784543ea0ae16c1769</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>fw: Add flash and erase targets</title>
<updated>2025-04-12T09:33:07Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-12T09:33:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=ddcf8559d4fbb9bd6942ac46d5c4970ef08b16d1'/>
<id>urn:sha1:ddcf8559d4fbb9bd6942ac46d5c4970ef08b16d1</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Simplify website structure and drop Hugo</title>
<updated>2025-04-07T19:36:41Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-07T19:36:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=4ee031182475464fe0ecb052882fd50520e6defc'/>
<id>urn:sha1:4ee031182475464fe0ecb052882fd50520e6defc</id>
<content type='text'>
A static site generator is currently not really required. A static
index.html is currently sufficient.
</content>
</entry>
<entry>
<title>fw: sim: Integrate into Meson build</title>
<updated>2025-04-06T16:43:28Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T16:43:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=7fc6bc84609022992e1827a07b95c427208e7289'/>
<id>urn:sha1:7fc6bc84609022992e1827a07b95c427208e7289</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>tools: Use argparse for build scripts</title>
<updated>2025-04-06T15:59:06Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T15:59:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=867755129e5c50f4e35bc34d5818c2397f3f09db'/>
<id>urn:sha1:867755129e5c50f4e35bc34d5818c2397f3f09db</id>
<content type='text'>
This makes them re-usable for the application and native_sim firmwares.
</content>
</entry>
<entry>
<title>fw: btl: Clean meson.build</title>
<updated>2025-04-06T15:33:13Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T15:33:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=84ab791be78c4f2014a78b09305c5c332b5383e3'/>
<id>urn:sha1:84ab791be78c4f2014a78b09305c5c332b5383e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tools: Add directory and move scripts here</title>
<updated>2025-04-06T15:27:49Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T15:27:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=e78341079228b135bee65deb8e0d4e2b4385cf94'/>
<id>urn:sha1:e78341079228b135bee65deb8e0d4e2b4385cf94</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Build bootloader and add to website</title>
<updated>2025-04-06T12:24:06Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T12:24:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=5376b67a9df63d2b30cac415cb827e6b4c1674e9'/>
<id>urn:sha1:5376b67a9df63d2b30cac415cb827e6b4c1674e9</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>fw: btl: Clean up meson.build</title>
<updated>2025-04-06T11:41:42Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T11:41:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=e28796985d5f605fbdb1f5043618b1f570e747af'/>
<id>urn:sha1:e28796985d5f605fbdb1f5043618b1f570e747af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: btl: Configure with Python script</title>
<updated>2025-04-06T11:39:29Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T11:38:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=9f75ad79c0df9035bcdfd11011ba475cc80ad50a'/>
<id>urn:sha1:9f75ad79c0df9035bcdfd11011ba475cc80ad50a</id>
<content type='text'>
To use a more readable scripting language and keep portability the POSIX
shell script for Zephyr configuration is replaced by Python.
</content>
</entry>
<entry>
<title>fw: btl: Fix build with Meson</title>
<updated>2025-04-06T11:28:53Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-06T11:28:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=28576b0bdb6b6e08b186c2919bbed4393b38bb7f'/>
<id>urn:sha1:28576b0bdb6b6e08b186c2919bbed4393b38bb7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: btl: Configure bootloader build with Meson</title>
<updated>2025-04-05T13:33:09Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-05T09:10:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=82fa02bcac5e278586cb2e3c9cc597699f6f640d'/>
<id>urn:sha1:82fa02bcac5e278586cb2e3c9cc597699f6f640d</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>fw: rtos: modules: Move mcuboot submodule here</title>
<updated>2025-03-26T20:18:23Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-03-23T17:33:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=1fcf9bd0d1af10c57a67d90496b5406244ca25ba'/>
<id>urn:sha1:1fcf9bd0d1af10c57a67d90496b5406244ca25ba</id>
<content type='text'>
The mcuboot Git submodule used to be located in `fw/btl`. Nevertheless
since it is also a Zephyr module it should go to `fw/rtos/modules`. This
makes sure all Zephyr modules are at the same place.
</content>
</entry>
<entry>
<title>fw: btl: Move MCUboot build here</title>
<updated>2025-03-22T21:30:41Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-03-22T20:39:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=62be0c0585b147686ad3a41fdce181c8a7e95cd1'/>
<id>urn:sha1:62be0c0585b147686ad3a41fdce181c8a7e95cd1</id>
<content type='text'>
The directory structure should be less nested and with shorter paths.
This is a first step.
</content>
</entry>
</feed>
