|
nros C API
Lightweight ROS 2 client for embedded real-time systems
|
Lightweight ROS 2 client library for embedded real-time systems.
The API is organised into the following module groups (see the Modules tab in the sidebar for each group's contents):
| Group | Description |
|---|---|
| init | Library initialisation, support context |
| node | Node creation and lifecycle |
| pubsub | Topic publishers and subscriptions |
| service | Service servers and clients |
| action | Action servers and clients |
| executor | Callback executor, timers, guard conditions |
| clock | Clock and time types |
| parameter | Parameter services |
| lifecycle | Node lifecycle state machine (REP-2002) |
| cdr | CDR serialisation helpers |
| qos | Quality-of-Service settings |
| errors | Return codes, see Error Codes |
| types | Shared types |
Each per-module header above is the authoritative C API surface for its module, with hand-written Doxygen documentation. Include individual headers for what you need, or use <nros/nros.h> for everything.
Shared types (return codes, QoS, time) live in <nros/types.h>, which all module headers include automatically.
An internal nros_generated.h (produced by cbindgen) is used for compile-time drift detection — it is not part of the public API.
nros_ret_t reference with cause and recovery