These 12 commits are when the Protocol Buffers files have changed:
| Commit: | db272a3 | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Li Huaqian | |
layers: Refactor into modular architecture Restructure layers into modular feature-based architecture for better maintainability and feature optionality. Changes: - Keep core BSP in meta layer - New feature layers: meta-node-red, meta-hailo, meta-sm, meta-example - Removed legacy KAS fragments: module.yml, eio.yml, no-node-red.yml, meta-hailo.yml - Added/Replaced with: node-red.yml, hailo.yml, sm.yml, example.yml Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | 5b7262f | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Li Hua Qian | |
layers: Refactor into modular architecture Restructure layers into modular feature-based architecture for better maintainability and feature optionality. Changes: - Keep core BSP in meta layer - New feature layers: meta-node-red, meta-hailo, meta-sm, meta-example - Normalize recipe versions by this chance - Removed legacy KAS fragments: module.yml, eio.yml, no-node-red.yml, meta-hailo.yml - Added/Replaced with: node-red.yml, hailo.yml, sm.yml, example.yml Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | 5116ffc | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Li Hua Qian | |
layers: Refactor into modular architecture Restructure layers into modular feature-based architecture for better maintainability and feature optionality. Changes: - Keep core BSP in meta layer - New feature layers: meta-node-red, meta-hailo, meta-sm, meta-example - Normalize recipe versions by this chance - Removed legacy KAS fragments: module.yml, eio.yml, no-node-red.yml, meta-hailo.yml - Added/Replaced with: node-red.yml, hailo.yml, sm.yml, example.yml Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | aa0d285 | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Li Hua Qian | |
layers, docs, ci: Modular layer restructure, doc split, link checks Summary Restructured the layer set into modular feature/variant layers, removed legacy KAS fragments, and overhauled documentation (split into focused topic guides with index, TL;DR sections, version tags, badges). Added CI link checking and supporting tooling. Layer / Build Restructure - Introduce dedicated feature layers: * meta-node-red (Node-RED integration) * meta-hailo (Hailo8 AI accelerator enablement) * meta-sm (SM variant: sensors, web UI, EIO manager) - Keep core BSP content (bootloader, kernel, firmware, base services) in meta - Move demo/reference material to meta-example - Add central iot2050-features.inc for feature toggles - Add meta-packages.inc and per-feature *-packages.inc pattern - Provide safe empty defaults for all *_PACKAGES to avoid unresolved expansions when features disabled - Gate image content via IOT2050_<FEATURE>_SUPPORT flags in image recipes - Normalize some recipe versions (_0.1 -> _1.0.0 where stable) - Refactor meta-sm DTB/service packaging; disable nonessential sensor/event services by default - Ensure each feature layer .conf requires its package list include Documentation Overhaul - Split long operational sections from README into: * doc/swupdate.md * doc/secure-boot.md * doc/maintenance.md * doc/sdk.md * doc/qemu.md - Add deep-dive content into focused topic docs: * doc/build-config.md * doc/layer-architecture.md - Add doc/README.md as a documentation index (TL;DR + cross-links) - Add consistent TL;DR blocks & Related sections across topic docs - Add version applicability tags (“Applies to version: v1.6.0+”) - Add badges (build, link check, license, docs) to top-level README - Add a human-readable `CHANGELOG.md` CI / Tooling - Introduce link checking workflow (.github/workflows/link-check.yml) using lycheeverse/lychee-action (scheduled + PR + manual) - Add .lychee.toml with caching, retries, and exclusions Removed / Breaking - Remove legacy KAS fragment descriptors: * module.yml * eio.yml * no-node-red.yml - Replace prior fragment-based “deprecated” path with clean granular fragments: node-red.yml, hailo.yml, sm.yml, example.yml Migration Notes - Use kas/iot2050.yml as base; add desired feature fragments: e.g. + node-red.yml, + sm.yml - Drop any references to removed legacy fragments in automation/scripts - Feature enablement now via IOT2050_<FEATURE>_SUPPORT and layer fragment inclusion; do not rely on removed “eio” or “module” profiles. Rationale Improves review clarity, optionality of features, documentation navigability, and ongoing maintenance while reducing drift risk (link integrity are automated). Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | c1b3aa2 | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Li Hua Qian | |
layers, docs, ci: Modular layer restructure, doc split, link checks Summary Restructured the layer set into modular feature/variant layers, removed legacy KAS fragments, and overhauled documentation (split into focused topic guides with index, TL;DR sections, version tags, badges). Added CI link checking and supporting tooling. Layer / Build Restructure - Introduce dedicated feature layers: * meta-node-red (Node-RED integration) * meta-hailo (Hailo8 AI accelerator enablement) * meta-sm (SM variant: sensors, web UI, EIO manager) - Keep core BSP content (bootloader, kernel, firmware, base services) in meta - Move demo/reference material to meta-example - Add central iot2050-features.inc for feature toggles - Add meta-packages.inc and per-feature *-packages.inc pattern - Provide safe empty defaults for all *_PACKAGES to avoid unresolved expansions when features disabled - Gate image content via IOT2050_<FEATURE>_SUPPORT flags in image recipes - Normalize some recipe versions (_0.1 -> _1.0.0 where stable) - Refactor meta-sm DTB/service packaging; disable nonessential sensor/event services by default - Ensure each feature layer .conf requires its package list include Documentation Overhaul - Split long operational sections from README into: * doc/swupdate.md * doc/secure-boot.md * doc/maintenance.md * doc/sdk.md * doc/qemu.md - Add deep-dive content into focused topic docs: * doc/build-config.md * doc/layer-architecture.md - Add doc/README.md as a documentation index (TL;DR + cross-links) - Add consistent TL;DR blocks & Related sections across topic docs - Add version applicability tags (“Applies to version: v1.6.0+”) - Add badges (build, link check, license, docs) to top-level README - Add a human-readable `CHANGELOG.md` CI / Tooling - Introduce link checking workflow (.github/workflows/link-check.yml) using lycheeverse/lychee-action (scheduled + PR + manual) - Add .lychee.toml with caching, retries, and exclusions Removed / Breaking - Remove legacy KAS fragment descriptors: * module.yml * eio.yml * no-node-red.yml - Replace prior fragment-based “deprecated” path with clean granular fragments: node-red.yml, hailo.yml, sm.yml, example.yml Migration Notes - Use kas/iot2050.yml as base; add desired feature fragments: e.g. + node-red.yml, + sm.yml - Drop any references to removed legacy fragments in automation/scripts - Feature enablement now via IOT2050_<FEATURE>_SUPPORT and layer fragment inclusion; do not rely on removed “eio” or “module” profiles. Rationale Improves review clarity, optionality of features, documentation navigability, and ongoing maintenance while reducing drift risk (link integrity are automated). Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | 3e4a677 | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Li Hua Qian | |
layers, docs, ci: Modular layer restructure, doc split, link checks Summary Restructured the layer set into modular feature/variant layers, removed legacy KAS fragments, and overhauled documentation (split into focused topic guides with index, TL;DR sections, version tags, badges). Added CI link checking and supporting tooling. Layer / Build Restructure - Introduce dedicated feature layers: * meta-node-red (Node-RED integration) * meta-hailo (Hailo8 AI accelerator enablement) * meta-sm (SM variant: sensors, web UI, EIO manager) - Keep core BSP content (bootloader, kernel, firmware, base services) in meta - Move demo/reference material to meta-example - Add central iot2050-features.inc for feature toggles - Add meta-packages.inc and per-feature *-packages.inc pattern - Provide safe empty defaults for all *_PACKAGES to avoid unresolved expansions when features disabled - Gate image content via IOT2050_<FEATURE>_SUPPORT flags in image recipes - Normalize some recipe versions (_0.1 -> _1.0.0 where stable) - Refactor meta-sm DTB/service packaging; disable nonessential sensor/event services by default - Ensure each feature layer .conf requires its package list include Documentation Overhaul - Split long operational sections from README into: * doc/swupdate.md * doc/secure-boot.md * doc/maintenance.md * doc/sdk.md * doc/qemu.md - Add deep-dive content into focused topic docs: * doc/build-config.md * doc/layer-architecture.md - Add doc/README.md as a documentation index (TL;DR + cross-links) - Add consistent TL;DR blocks & Related sections across topic docs - Add version applicability tags (“Applies to version: v1.6.0+”) - Add badges (build, link check, license, docs) to top-level README CI / Tooling - Introduce link checking workflow (.github/workflows/link-check.yml) using lycheeverse/lychee-action (scheduled + PR + manual) - Add .lychee.toml with caching, retries, and exclusions Removed / Breaking - Remove legacy KAS fragment descriptors: * module.yml * eio.yml * no-node-red.yml - Replace prior fragment-based “deprecated” path with clean granular fragments: node-red.yml, hailo.yml, sm.yml, example.yml Migration Notes - Use kas/iot2050.yml as base; add desired feature fragments: e.g. + node-red.yml, + sm.yml - Drop any references to removed legacy fragments in automation/scripts - Feature enablement now via IOT2050_<FEATURE>_SUPPORT and layer fragment inclusion; do not rely on removed “eio” or “module” profiles. Rationale Improves review clarity, optionality of features, documentation navigability, and ongoing maintenance while reducing drift risk (link integrity are automated). Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | 4c4a7cc | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Li Hua Qian | |
layers, docs, ci: Modular layer restructure, doc split, link checks Summary Restructured the layer set into modular feature/variant layers, removed legacy KAS fragments, and overhauled documentation (split into focused topic guides with index, TL;DR sections, version tags, badges, and auto‑generated TOCs). Added CI link checking and supporting tooling. Layer / Build Restructure - Introduce dedicated feature layers: * meta-node-red (Node-RED integration) * meta-hailo (Hailo8 AI accelerator enablement) * meta-sm (SM variant: sensors, web UI, EIO manager) - Keep core BSP content (bootloader, kernel, firmware, base services) in meta - Move demo/reference material to meta-example - Add central iot2050-features.inc for feature toggles - Add meta-packages.inc and per-feature *-packages.inc pattern - Provide safe empty defaults for all *_PACKAGES to avoid unresolved expansions when features disabled - Gate image content via IOT2050_<FEATURE>_SUPPORT flags in image recipes - Normalize some recipe versions (_0.1 -> _1.0.0 where stable) - Refactor meta-sm DTB/service packaging; disable nonessential sensor/event services by default - Ensure each feature layer .conf requires its package list include Documentation Overhaul - Split long operational sections from README into: * doc/swupdate.md * doc/secure-boot.md * doc/maintenance.md * doc/sdk.md * doc/qemu.md - Add deep-dive content into focused topic docs: * doc/build-config.md * doc/layer-architecture.md - Add doc/README.md as a documentation index (TL;DR + cross-links) - Add consistent TL;DR blocks & Related sections across topic docs - Add version applicability tags (“Applies to version: v1.6.0+”) - Add badges (build, link check, license, docs) to top-level README - Insert deterministic TOC markers + generation script (scripts/gen-toc.py) CI / Tooling - Introduce link checking workflow (.github/workflows/link-check.yml) using lycheeverse/lychee-action (scheduled + PR + manual) - Add .lychee.toml with caching, retries, and exclusions - TOC generator script ensures idempotent refresh of TOC blocks Removed / Breaking - Remove legacy KAS fragment descriptors: * module.yml * eio.yml * no-node-red.yml - Replace prior fragment-based “deprecated” path with clean granular fragments: node-red.yml, hailo.yml, sm.yml, example.yml Migration Notes - Use kas/iot2050.yml as base; add desired feature fragments: e.g. + node-red.yml, + sm.yml - Drop any references to removed legacy fragments in automation/scripts - Feature enablement now via IOT2050_<FEATURE>_SUPPORT and layer fragment inclusion; do not rely on removed “eio” or “module” profiles. Rationale Improves review clarity, optionality of features, documentation navigability, and ongoing maintenance while reducing drift risk (TOCs and link integrity are automated). Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | 848d564 | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Su Baocheng | |
iot2050-eio-manager: Refine the firmware update code For better compatibility, use bytes instead of path string to transfer binary, and enhance the code scalability. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
The documentation is generated from this commit.
| Commit: | dd33140 | |
|---|---|---|
| Author: | Baocheng Su | |
| Committer: | Su Baocheng | |
Add Extended IO manager Provide service to manage the extended IO (mainly PLC1200 signal modules). Including: - Config the modules, or retrieve the configuration - Sync system time to extended IO controller - Update the firmware of the controller and some modules - currently only controller firmware updating is supported. - Read extended IO events This manager is exposing service to localhost via gRPC, the iot2050-eiod.service is managing this gRPC server. Currently all the gRPC APIs are stub functions, real implementation will be added in later step. Signed-off-by: Baocheng Su <baocheng.su@siemens.com>
| Commit: | 5550c24 | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Su Baocheng | |
Add event record service Along with the IOT2050 SM variant, some IOT2050 device specific events are recognized as being important for field applications, including: - Device power up - Device power loss - Device case open (uncover) - Device tilting - Device watchdog reset - External module events Although it's possible to collect all these events from variant source, such as syslog, or by customized coding to get the sensor event, it's valuable to provide an unified method or portal to collect all these predefined events from one place. Then this service is added to serve the above purpose, it reads the power up, power loss, eio, tilt, uncover, and (possibly) the watchdog reset events, then writes them into syslog and makes them be readable from gRPC interface. This service could be used directly, or as a base/reference for customization. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | 6dcb9ca | |
|---|---|---|
| Author: | Li Hua Qian | |
| Committer: | Baocheng Su | |
Add event record service This service is to read the power up, power loss, eio, tilt, uncover, and watchdog reset events, then writes them into syslog and makes them be readable for journald. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
| Commit: | fdb1824 | |
|---|---|---|
| Author: | Baocheng Su | |
| Committer: | Baocheng Su | |
Add Extended IO manager Provide service to manage the extended IO (mainly PLC1200 signal modules). Including: - Config the modules, or retrieve the configuration - Sync system time to extended IO controller - Update the firmware of the controller and some modules - currently only controller firmware updating is supported. - Read extended IO events The extended IO controller is an ASIC, whose job is to forward the configuration to signal modules and collect events from modules. The firmware of the controller provides the IO read/write functionalities through a FUSE filesystem /eio. The iot2050-eiod.service is managing this FUSE file system. This manager is exposing service to localhost via gRPC, the iot2050-eiosd.service is managing this gRPC server. To sync the system time to eio controller, the iot2050-eio-time-syncing.service is doing the job. iot2050-eio-fwu-monitor.service is used to monitor the current firmware version of the eio controller, and raise alarm to console when the firmware does not match. This is useful when the host application is upgraded but the eio controller firmware is not updated accordingly, for example, when trying another example image via a SDCard/USB stick. To consume the service provided by this manager, an iot2050-eio cli is provided to config/retrieve/update-firmware from the console. This cli is purely a gRPC client to call the RPC procedure provided by the iot2050-eiosd.service. It's also possible to consume the service from WEB applications, we will provide a demo web application for configing/retrieving the signal modules. The module configuration is written in YAML, which will be validated via JSON schemas internally. For this YAML file, please check the config-template/sm-config-example.yaml for details. Please note the `description` for each slot, currently when retrieving the configuration, the description should be a multiline text, however, it's not so easy to generate multile line text for yaml. This part is still WIP. The YAML configuration is internally converted to the binary format which the extended IO controller accepts. We may use some binary schema tools such as Kaitai Struct to rewrite this part of logic in the future. Co-developed-by: Li Hua Qian <huaqian.li@siemens.com> Signed-off-by: Li Hua Qian <huaqian.li@siemens.com> Signed-off-by: Baocheng Su <baocheng.su@siemens.com>