Skip to content

espOS 0.6.0

Choose a tag to compare

@dirkwa dirkwa released this 27 Aug 17:50
· 131 commits to main since this release
2793d39

First tagged release. espOS has been in use and building firmware for a while — this puts a version number on it so devices in the field can say which one they run.

What espOS is

A device runtime for SignalK-connected ESP32 hardware, native to ESP-IDF 6. The plumbing every SignalK ESP32 device needs and nobody wants to rewrite: WiFi and a provisioning portal, persistent config with a generated web UI, SignalK discovery, token acquisition, deltas in and out, logs, core dump and signed OTA with rollback.

It is deliberately not a sensor framework. Application code sits on top and calls a small API.

One codebase across ESP32, S3, C3, C6 and P4.

Components

espos_config, espos_httpd, espos_wifi, espos_sk, espos_log, espos_ota, espos_health, espos_n2k, espos_audio, espos_voice, espos_ble.

Ten host-test suites run on the linux target; the multi-target build is CI-gated.

Consuming it

espOS is source, consumed as a git submodule — there is no binary artifact here, and the tag is the deliverable:

git submodule add https://github.com/dirkwa/espOS.git espos
git -C espos checkout v0.6.0

Then call espos_project_prologue() from your CMakeLists.txt. See docs/ for the per-component contracts, and docs/releasing.md for how versions work.

Why the tag matters

PROJECT_VER comes from git describe, so a build on this tag reports 0.6.0 and one three commits later reports 0.6.0-3-gabc1234. Before any tag existed every build reported the same number and two devices flashed weeks apart were indistinguishable in /api/v1/system/info, in the OTA status and in the log banner.

Licence

Source-available, no redistribution — see LICENSE.md. Use and modification are free; redistribution is not.