5 #ifndef UAVCAN_NODE_ABSTRACT_NODE_HPP_INCLUDED 6 #define UAVCAN_NODE_ABSTRACT_NODE_HPP_INCLUDED 25 virtual const Scheduler& getScheduler()
const = 0;
26 virtual void registerInternalFailure(
const char* msg) = 0;
50 return getScheduler().getDispatcher().setNodeID(nid);
57 bool isPassiveMode()
const {
return getScheduler().getDispatcher().isPassiveMode(); }
65 return getScheduler().spin(deadline);
76 return getScheduler().spin(getMonotonicTime() + duration);
88 return getScheduler().spinOnce();
112 return getDispatcher().getCanIOManager().send(frame, tx_deadline,
MonotonicTime(), iface_mask, flags);
127 #endif // UAVCAN_NODE_ABSTRACT_NODE_HPP_INCLUDED
Dispatcher & getDispatcher()
int spin(MonotonicDuration duration)
ISystemClock & getSystemClock()
void removeRxFrameListener()
Implicitly convertible to/from uavcan.Timestamp.
UtcTime getUtcTime() const
void installRxFrameListener(IRxFrameListener *lst)
int spin(MonotonicTime deadline)
bool isPassiveMode() const
const Dispatcher & getDispatcher() const
int injectTxFrame(const CanFrame &frame, MonotonicTime tx_deadline, uint8_t iface_mask, CanIOFlags flags=0)
MonotonicTime getMonotonicTime() const
bool setNodeID(NodeID nid)