Struct canadensis::node::MinimalNode
source · pub struct MinimalNode<N>where
N: Node,{ /* private fields */ }
Expand description
A node with the minimum required application-layer functionality
A BasicNode
wraps a Node
and adds functionality to send a
uavcan.node.Heartbeat.1.0
message every second. This is the only application-layer function
that is required for all nodes.
A BasicNode uses up one publisher slot in the underlying Node.
The underlying node type N
is usually a CoreNode
.
Implementations§
source§impl<N> MinimalNode<N>where
N: Node,
impl<N> MinimalNode<N>where N: Node,
sourcepub fn new(
node: N
) -> Result<Self, StartSendError<<N::Transmitter as Transmitter<N::Clock>>::Error>>
pub fn new( node: N ) -> Result<Self, StartSendError<<N::Transmitter as Transmitter<N::Clock>>::Error>>
Creates a new minimal node
node
: The underlying node (this is usually aCoreNode
)
sourcepub fn run_per_second_tasks(
&mut self
) -> Result<(), <N::Transmitter as Transmitter<N::Clock>>::Error>
pub fn run_per_second_tasks( &mut self ) -> Result<(), <N::Transmitter as Transmitter<N::Clock>>::Error>
This function must be called once per second to send heartbeat messages
Unlike run_periodic_tasks
, this function does not check
if one second has passed since the last time it was called.
Either run_periodic_tasks
or run_per_second_tasks
should be called, but not both.
sourcepub fn set_mode(&mut self, mode: Mode)
pub fn set_mode(&mut self, mode: Mode)
Sets the operating mode that will be reported in the heartbeat messages
sourcepub fn set_health(&mut self, health: Health)
pub fn set_health(&mut self, health: Health)
Sets the health status that will be reported in the heartbeat messages
sourcepub fn set_status_code(&mut self, status: u8)
pub fn set_status_code(&mut self, status: u8)
Sets the vendor-specific status code that will be reported in the heartbeat messages