1#![no_std]
12
13#[cfg(feature = "std")]
14extern crate std;
15
16#[cfg(any(feature = "alloc", feature = "std"))]
20extern crate alloc;
21
22pub mod action;
23pub mod clock;
24pub mod error;
25pub mod lifecycle;
26pub mod logger;
27pub mod message_info;
28pub mod service;
29pub mod time;
30pub mod types;
31
32pub use action::{
33 ActionClient, ActionServer, CancelResponse, GoalId, GoalInfo, GoalResponse, GoalStatus,
34 GoalStatusStamped, RosAction,
35};
36pub use clock::{Clock, ClockType};
37pub use error::{
38 ErrorContext, NanoRosError, NanoRosErrorFilter, NestedError, RclReturnCode, TakeFailedAsNone,
39};
40pub use lifecycle::{LifecycleState, LifecycleTransition, TransitionResult};
41pub use logger::{Logger, OnceFlag};
42pub use message_info::{MessageInfo, PUBLISHER_GID_SIZE, RawMessageInfo};
43pub use service::{ServiceCallback, ServiceClient, ServiceRequest, ServiceResult, ServiceServer};
44pub use time::{Duration, Time};
45pub use types::{BorrowedMessage, RosMessage, RosService};
46
47pub use nros_serdes::{
49 CdrReader, CdrWriter, DeserError, Deserialize, DeserializeBorrowed, LeDecode, LeSliceView,
50 SerError, Serialize,
51};
52
53pub use heapless;
55
56#[cfg(any(feature = "alloc", feature = "std"))]
61pub mod heap {
62 pub use alloc::{string::String, vec::Vec};
63}