/* * UAVCAN data structure definition for libcanard. * * Autogenerated, do not edit. * * Source file: /Users/jaime/Developer/AION/ardupilot_private/modules/uavcan/dsdl/uavcan/protocol/1.GetNodeInfo.uavcan */ #ifndef __UAVCAN_PROTOCOL_GETNODEINFO #define __UAVCAN_PROTOCOL_GETNODEINFO #include #include "canard.h" #ifdef __cplusplus extern "C" { #endif #include #include #include /******************************* Source text ********************************** # # Full node info request. # Note that all fields of the response section are byte-aligned. # --- # # Current node status # NodeStatus status # # Version information shall not be changed while the node is running. # SoftwareVersion software_version HardwareVersion hardware_version # # Human readable non-empty ASCII node name. # Node name shall not be changed while the node is running. # Empty string is not a valid node name. # Allowed characters are: a-z (lowercase ASCII letters) 0-9 (decimal digits) . (dot) - (dash) _ (underscore). # Node name is a reversed internet domain name (like Java packages), e.g. "com.manufacturer.project.product". # uint8[<=80] name ******************************************************************************/ /********************* DSDL signature source definition *********************** uavcan.protocol.GetNodeInfo --- uavcan.protocol.NodeStatus status uavcan.protocol.SoftwareVersion software_version uavcan.protocol.HardwareVersion hardware_version saturated uint8[<=80] name ******************************************************************************/ #define UAVCAN_PROTOCOL_GETNODEINFO_ID 1 #define UAVCAN_PROTOCOL_GETNODEINFO_NAME "uavcan.protocol.GetNodeInfo" #define UAVCAN_PROTOCOL_GETNODEINFO_SIGNATURE (0xEE468A8121C46A9EULL) #define UAVCAN_PROTOCOL_GETNODEINFO_REQUEST_MAX_SIZE ((0 + 7)/8) typedef struct { uint8_t empty; } uavcan_protocol_GetNodeInfoRequest; extern uint32_t uavcan_protocol_GetNodeInfoRequest_encode(uavcan_protocol_GetNodeInfoRequest* source, void* msg_buf); extern int32_t uavcan_protocol_GetNodeInfoRequest_decode(const CanardRxTransfer* transfer, uint16_t payload_len, uavcan_protocol_GetNodeInfoRequest* dest, uint8_t** dyn_arr_buf); extern uint32_t uavcan_protocol_GetNodeInfoRequest_encode_internal(uavcan_protocol_GetNodeInfoRequest* source, void* msg_buf, uint32_t offset, uint8_t root_item); extern int32_t uavcan_protocol_GetNodeInfoRequest_decode_internal(const CanardRxTransfer* transfer, uint16_t payload_len, uavcan_protocol_GetNodeInfoRequest* dest, uint8_t** dyn_arr_buf, int32_t offset); #define UAVCAN_PROTOCOL_GETNODEINFO_RESPONSE_MAX_SIZE ((3015 + 7)/8) // Constants #define UAVCAN_PROTOCOL_GETNODEINFO_RESPONSE_NAME_MAX_LENGTH 80 typedef struct { // FieldTypes uavcan_protocol_NodeStatus status; // uavcan_protocol_SoftwareVersion software_version; // uavcan_protocol_HardwareVersion hardware_version; // struct { uint8_t len; // Dynamic array length uint8_t* data; // Dynamic Array 8bit[80] max items } name; } uavcan_protocol_GetNodeInfoResponse; extern uint32_t uavcan_protocol_GetNodeInfoResponse_encode(uavcan_protocol_GetNodeInfoResponse* source, void* msg_buf); extern int32_t uavcan_protocol_GetNodeInfoResponse_decode(const CanardRxTransfer* transfer, uint16_t payload_len, uavcan_protocol_GetNodeInfoResponse* dest, uint8_t** dyn_arr_buf); extern uint32_t uavcan_protocol_GetNodeInfoResponse_encode_internal(uavcan_protocol_GetNodeInfoResponse* source, void* msg_buf, uint32_t offset, uint8_t root_item); extern int32_t uavcan_protocol_GetNodeInfoResponse_decode_internal(const CanardRxTransfer* transfer, uint16_t payload_len, uavcan_protocol_GetNodeInfoResponse* dest, uint8_t** dyn_arr_buf, int32_t offset); #ifdef __cplusplus } // extern "C" #endif #endif // __UAVCAN_PROTOCOL_GETNODEINFO