5 #ifndef UAVCAN_PROTOCOL_NODE_STATUS_PROVIDER_HPP_INCLUDED
6 #define UAVCAN_PROTOCOL_NODE_STATUS_PROVIDER_HPP_INCLUDED
14 #include <uavcan/protocol/NodeStatus.hpp>
15 #include <uavcan/protocol/GetNodeInfo.hpp>
68 bool isNodeInfoInitialized()
const;
72 virtual void handleTimerEvent(
const TimerEvent&);
73 void handleGetNodeInfoRequest(
const protocol::GetNodeInfo::Request&, protocol::GetNodeInfo::Response& rsp);
83 , creation_timestamp_(
node.getMonotonicTime())
84 , node_status_pub_(
node)
90 node_info_.status.mode = protocol::NodeStatus::MODE_INITIALIZATION;
92 node_info_.status.health = protocol::NodeStatus::HEALTH_OK;
129 void setHealthOk() { setHealth(protocol::NodeStatus::HEALTH_OK); }
148 void setVendorSpecificStatusCode(VendorSpecificStatusCode code);
151 return node_info_.status.vendor_specific_status_code;
160 void setName(
const NodeName& name);
168 void setSoftwareVersion(
const protocol::SoftwareVersion& version);
169 void setHardwareVersion(
const protocol::HardwareVersion& version);
174 #endif // UAVCAN_PROTOCOL_NODE_STATUS_PROVIDER_HPP_INCLUDED