These 5 commits are when the Protocol Buffers files have changed:
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: | 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: | 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: | 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>