<feed xmlns='http://www.w3.org/2005/Atom'>
<title>iot-contact/fw, 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-08-13T15:43:25Z</updated>
<entry>
<title>WIP: fw: app: Implement mDNS proof of concept</title>
<updated>2025-08-13T15:43:25Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-08-13T14:48:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=f1bec5479d5c86655f0014e79b6c8f3d9aa3f063'/>
<id>urn:sha1:f1bec5479d5c86655f0014e79b6c8f3d9aa3f063</id>
<content type='text'>
TODO: Make this work. WireShark shows that some request / response is
exchanged but it is unclear why the request is always canceled after
timeout on the Zephyr side.
</content>
</entry>
<entry>
<title>fw: Remove radvd.conf</title>
<updated>2025-08-10T17:57:35Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-08-10T17:57:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=4883d87426e555b970c94ac18911777f3e3056bb'/>
<id>urn:sha1:4883d87426e555b970c94ac18911777f3e3056bb</id>
<content type='text'>
This is meanwhile replaced by `systemd-networkd` which supports sending
router advertisements.
</content>
</entry>
<entry>
<title>fw: Remove simulate-network.sh</title>
<updated>2025-08-10T17:53:44Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-30T17:08:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=0c388d8e1ece221c4fd2eebbb2a3bfa29981cb78'/>
<id>urn:sha1:0c388d8e1ece221c4fd2eebbb2a3bfa29981cb78</id>
<content type='text'>
This script requires root privileges. It is annoying to always type a
password for it and in general to start this script to test the native
sim firmware.

Thus the new approach is to provide the network infrastructure with a
system-wide NetworkManager connection and the required servers (IPv6
router advertisement, MQTT, IPv4 DHCP in the future) with systemd
services constantly.

That way the full network environment for the simulation is always just
there for the `zeth` interface and the firmware executable can just be
started with user privileges.
</content>
</entry>
<entry>
<title>fw: sim: srv: Add this folder</title>
<updated>2025-08-10T13:58:49Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-08-10T13:58:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=c931e04f7ecf18645d114144e5663e633cfd1a78'/>
<id>urn:sha1:c931e04f7ecf18645d114144e5663e633cfd1a78</id>
<content type='text'>
This folder contains material to set up a network environment for the
native sim firmware.
</content>
</entry>
<entry>
<title>Add opt-in for nucleo_f767zi firmwares</title>
<updated>2025-08-07T19:36:49Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-08-07T19:31:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=17c334ada43ee5eabd14caabacbe393fe3482451'/>
<id>urn:sha1:17c334ada43ee5eabd14caabacbe393fe3482451</id>
<content type='text'>
This partially reverts commit ce098756d79d8e4240bedc2bd74ff9a3a77fcedb.

The reverted commit dropped the build logic for all
nucleo_f767zi-related artifacts and thus for everything except the
native sim firmware.

Instead this commit reverts this change but comments out the
`update_image` and `factory_image` targets from the `artifacts` variable
in the top-level `meson.build`.

This allows to build these two targets explicitly with `ninja -C build
&lt;target&gt;` but does not include it into the deploy tar archive.

Since this archive is the only target of the project with
`build_by_default: true` this effectively disables the build with
minimal code changes.
</content>
</entry>
<entry>
<title>fw: Remove nucleo_f767zi firmwares</title>
<updated>2025-07-27T20:57:21Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-27T20:57:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=ce098756d79d8e4240bedc2bd74ff9a3a77fcedb'/>
<id>urn:sha1:ce098756d79d8e4240bedc2bd74ff9a3a77fcedb</id>
<content type='text'>
The bootloader and application firmware resulting in the factory- and
update-image are removed from the build.

The reason is a planned first release of this project with hardware
design files for a first `iot-contact` board. The release is required to
build this board with matching version specifiers.

Since the release should contain a consistent set of hardware and
firmware the firmware targeting the development board is removed.

Handling firmware for multiple boards is also an option but has no use
since the biggest part of the firmware features can be developed using
the simulation only which should stay in long term.
</content>
</entry>
<entry>
<title>fw: Document TAP iface with NetworkManager</title>
<updated>2025-07-26T19:43:38Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-26T19:43:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=288d036a8bcc83ef9bb310256e0813f122b5e41b'/>
<id>urn:sha1:288d036a8bcc83ef9bb310256e0813f122b5e41b</id>
<content type='text'>
This will be moved later to the user documentation so that the native
sim build of the application firmware can easily be used on Linux
machines using NetworkManager.
</content>
</entry>
<entry>
<title>Only build tar archive by default</title>
<updated>2025-07-26T17:02:33Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-26T09:35:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=c2e22305d9af9c10f7f5e168088d62af360c8c2d'/>
<id>urn:sha1:c2e22305d9af9c10f7f5e168088d62af360c8c2d</id>
<content type='text'>
Everything else is implicitly build by default since it should
contribute to the tar archive.
</content>
</entry>
<entry>
<title>artifacts: Provide `{factory,update}-image.bin`</title>
<updated>2025-05-24T09:20:28Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T09:20:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=bf8d20fe4d8d3369dd7f63e95f53613dbbfa3603'/>
<id>urn:sha1:bf8d20fe4d8d3369dd7f63e95f53613dbbfa3603</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Remove redundant file name in Meson code</title>
<updated>2025-05-24T09:20:22Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T09:20:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=4af0ed8242ab24b2b222a9ebbf417e12f608b756'/>
<id>urn:sha1:4af0ed8242ab24b2b222a9ebbf417e12f608b756</id>
<content type='text'>
</content>
</entry>
<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>fw: app: Provide confirmed image in build tree</title>
<updated>2025-05-24T09:19:06Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T09:19:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=ca28bf9b784fd2c57133c1f8b5a6d99de7d10c6b'/>
<id>urn:sha1:ca28bf9b784fd2c57133c1f8b5a6d99de7d10c6b</id>
<content type='text'>
This prepares the upcoming `factory-image.bin` which can be flashed to
the default boot address of the microcontroller.
</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>Revert "fw: app: Enable CONFIG_NO_OPTIMIZATIONS"</title>
<updated>2025-05-24T07:44:49Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T07:44:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=c48ffdc42b34c5ce354483685758afd8a4b8296f'/>
<id>urn:sha1:c48ffdc42b34c5ce354483685758afd8a4b8296f</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>fw: app: Enable CONFIG_NO_OPTIMIZATIONS</title>
<updated>2025-05-07T16:14:13Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-20T11:27:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=184a41809c66868992c90ce9d420b8e4dc46253b'/>
<id>urn:sha1:184a41809c66868992c90ce9d420b8e4dc46253b</id>
<content type='text'>
This disables compiler optimization and allows easier debugging.
</content>
</entry>
<entry>
<title>fw: app: http: Refactor settings handler</title>
<updated>2025-05-07T16:14:13Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-20T15:07:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=60e839846609b0db54304563c779335fa8253343'/>
<id>urn:sha1:60e839846609b0db54304563c779335fa8253343</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: http: Set settings content type to text/json</title>
<updated>2025-05-07T16:14:13Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-20T13:12:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=197353de06d6504cea62b9c2dbeedb384750b888'/>
<id>urn:sha1:197353de06d6504cea62b9c2dbeedb384750b888</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: Encode settings with JSON lib</title>
<updated>2025-05-07T16:14:05Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-16T19:58:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=993996ab2b9dc7332d06453e2de7315b06ce2458'/>
<id>urn:sha1:993996ab2b9dc7332d06453e2de7315b06ce2458</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: http: Add working GET /settings.json</title>
<updated>2025-04-16T16:03:40Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-15T20:12:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=f4faa103108356bcf53fb7c8829e95f012b21a4a'/>
<id>urn:sha1:f4faa103108356bcf53fb7c8829e95f012b21a4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: http: Add dummy GET /settings.json</title>
<updated>2025-04-15T19:34:34Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-15T19:30:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=d25c8e08ce6a977977e38365ace9af16acf09195'/>
<id>urn:sha1:d25c8e08ce6a977977e38365ace9af16acf09195</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: syslog: Stop supporting CONFIG_LOG_BACKEND_NET_SERVER</title>
<updated>2025-04-15T16:41:27Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-15T16:41:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=11967efab73c43bc5b0c6da33c140dbab7baefa7'/>
<id>urn:sha1:11967efab73c43bc5b0c6da33c140dbab7baefa7</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>fw: app: syslog: Put only IP into syslog/target/ip</title>
<updated>2025-04-15T16:33:31Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-15T16:33:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=409348732bb4cd6ec0c06c4b38f26f528313ffdf'/>
<id>urn:sha1:409348732bb4cd6ec0c06c4b38f26f528313ffdf</id>
<content type='text'>
The old format contained `[&lt;ip&gt;]:&lt;port&gt;`. Nevertheless the format should
be as strict as possible. Thus only the IP is used in the setting.
</content>
</entry>
<entry>
<title>fw: app: syslog: Implement commit target</title>
<updated>2025-04-15T16:06:32Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-15T16:06:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=0bff2eea39c11b5ad2e762325abeb1457ae0fd7e'/>
<id>urn:sha1:0bff2eea39c11b5ad2e762325abeb1457ae0fd7e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: syslog: Make target IP configurable</title>
<updated>2025-04-15T16:00:03Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-15T15:14:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=698832f42c11d1df2b955de37b6b130c980dadce'/>
<id>urn:sha1:698832f42c11d1df2b955de37b6b130c980dadce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: Enable settings with NVS backend</title>
<updated>2025-04-15T15:43:25Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-13T06:27:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=4e0f0849d6e7997cbc128d998ba824d6ac3e7181'/>
<id>urn:sha1:4e0f0849d6e7997cbc128d998ba824d6ac3e7181</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fw: app: Fix disabled network hack</title>
<updated>2025-04-12T10:21:54Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-12T10:21:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=015972d873627466bd7e40f8d5dbb5951fb0f36a'/>
<id>urn:sha1:015972d873627466bd7e40f8d5dbb5951fb0f36a</id>
<content type='text'>
This got lost during development but is an important option to
compensate the hardware issues present on Nucleo F767ZI.
</content>
</entry>
<entry>
<title>fw: app: Re-design web page</title>
<updated>2025-04-12T10:11:33Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-12T10:11:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=3b857fd34c9e92eed346b7ea73706f50a193fe14'/>
<id>urn:sha1:3b857fd34c9e92eed346b7ea73706f50a193fe14</id>
<content type='text'>
This enables simple.css also for the device-hosted website and
restructures the HTML a bit.
</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>
</feed>
