Libriccore integrates the following common components found in the Sporadic Impulse firmware, providing a base ’system’ object which can be derived to implement specific features. This allows for the team to focus on the unique characteristics of each board. Libricore implements the following fundamental modules:
- A finite state machine to systematically breaks up the operational lifetime of each program into discrete states, ensuring reliable control flow.
- The Librnp network manager, allows the node to communicate and route packets to other nodes over the RNP network.
- A global command handler where commands can be easily registered and defined.
- A core logging framework which provides a unified way to log both system messages as well as telemetry to multiple different sinks such as local files or network targets.
- The system status object that tracks error states of the application in a single bit field, providing a consistent way to report multiple error flags efficiently within a single variable.
Libriccore also provides platform-specific stubs enabling desktop compilation of the embedded soft- ware, enhancing debugging and profiling of the written application.