/* * UAVCAN data structure definition for libcanard. * * Autogenerated, do not edit. * * Source file: E:\000_MyProjects\UAVCAN\libcanard_zrzk\dsdl_compiler\pyuavcan\uavcan\dsdl_files\uavcan\Timestamp.uavcan */ #ifndef __UAVCAN_TIMESTAMP #define __UAVCAN_TIMESTAMP #include #include "canard.h" #ifdef __cplusplus extern "C" { #endif /******************************* Source text ********************************** # # Global timestamp in microseconds, 7 bytes. # # Use this data type for timestamp fields in messages, like follows: # uavcan.Timestamp timestamp # uint56 UNKNOWN = 0 truncated uint56 usec # Microseconds ******************************************************************************/ /********************* DSDL signature source definition *********************** uavcan.Timestamp truncated uint56 usec ******************************************************************************/ //#define UAVCAN_TIMESTAMP_NAME "uavcan.Timestamp" #define UAVCAN_TIMESTAMP_SIGNATURE (0x5BD0B5C81087E0DULL) #define UAVCAN_TIMESTAMP_MAX_SIZE ((56 + 7)/8) // Constants #define UAVCAN_TIMESTAMP_UNKNOWN 0 // 0 typedef struct { // FieldTypes uint64_t usec; // bit len 56 } uavcan_timestamp_t; extern uint32_t uavcan_Timestamp_encode(uavcan_timestamp_t* source, void* msg_buf); extern int32_t uavcan_Timestamp_decode(const CanardRxTransfer* transfer, uint16_t payload_len, uavcan_timestamp_t* dest, uint8_t** dyn_arr_buf); extern uint32_t uavcan_Timestamp_encode_internal(uavcan_timestamp_t* source, void* msg_buf, uint32_t offset, uint8_t root_item); extern int32_t uavcan_Timestamp_decode_internal(const CanardRxTransfer* transfer, uint16_t payload_len, uavcan_timestamp_t* dest, uint8_t** dyn_arr_buf, int32_t offset); #ifdef __cplusplus } // extern "C" #endif #endif // __UAVCAN_TIMESTAMP