/* * UAVCAN data structure definition for libcanard. * * Autogenerated, do not edit. * * Source file: /home/benjamin/Nextcloud/Dokument/ARM/STM_Eclipse/BLDC_4_ChibiOS/libcanard/dsdl/definitions/vesc/20601.RTData.uavcan */ #ifndef __VESC_RTDATA #define __VESC_RTDATA #include #include "canard.h" #ifdef __cplusplus extern "C" { #endif /******************************* Source text ********************************** # # VESC Realtime Data # # Voltages float16 volt_in float16 volt_d float16 volt_q # Temperatures float16 temp_mos_max float16 temp_mos_1 float16 temp_mos_2 float16 temp_mos_3 float16 temp_motor_max float16 temp_motor_1 float16 temp_motor_2 # Currents float16 curr_motor float16 curr_in float16 curr_d float16 curr_q # IMU float16 roll float16 pitch float16 yaw float16 acc_x float16 acc_y float16 acc_z float16 gyro_x float16 gyro_y float16 gyro_z # Other float16 erpm float16 rpm float16 duty float16 ah_used float16 ah_charged float16 wh_used float16 wh_charged float16 encoder_pos float16 battery_level float16 battery_wh_tot uint8 fault_code uint8 vesc_id ******************************************************************************/ /********************* DSDL signature source definition *********************** vesc.RTData saturated float16 volt_in saturated float16 volt_d saturated float16 volt_q saturated float16 temp_mos_max saturated float16 temp_mos_1 saturated float16 temp_mos_2 saturated float16 temp_mos_3 saturated float16 temp_motor_max saturated float16 temp_motor_1 saturated float16 temp_motor_2 saturated float16 curr_motor saturated float16 curr_in saturated float16 curr_d saturated float16 curr_q saturated float16 roll saturated float16 pitch saturated float16 yaw saturated float16 acc_x saturated float16 acc_y saturated float16 acc_z saturated float16 gyro_x saturated float16 gyro_y saturated float16 gyro_z saturated float16 erpm saturated float16 rpm saturated float16 duty saturated float16 ah_used saturated float16 ah_charged saturated float16 wh_used saturated float16 wh_charged saturated float16 encoder_pos saturated float16 battery_level saturated float16 battery_wh_tot saturated uint8 fault_code saturated uint8 vesc_id ******************************************************************************/ #define VESC_RTDATA_ID 20601 #define VESC_RTDATA_NAME "vesc.RTData" #define VESC_RTDATA_SIGNATURE (0xBC1F380DD6555010ULL) #define VESC_RTDATA_MAX_SIZE ((544 + 7)/8) // Constants typedef struct { // FieldTypes float volt_in; // float16 Saturate float volt_d; // float16 Saturate float volt_q; // float16 Saturate float temp_mos_max; // float16 Saturate float temp_mos_1; // float16 Saturate float temp_mos_2; // float16 Saturate float temp_mos_3; // float16 Saturate float temp_motor_max; // float16 Saturate float temp_motor_1; // float16 Saturate float temp_motor_2; // float16 Saturate float curr_motor; // float16 Saturate float curr_in; // float16 Saturate float curr_d; // float16 Saturate float curr_q; // float16 Saturate float roll; // float16 Saturate float pitch; // float16 Saturate float yaw; // float16 Saturate float acc_x; // float16 Saturate float acc_y; // float16 Saturate float acc_z; // float16 Saturate float gyro_x; // float16 Saturate float gyro_y; // float16 Saturate float gyro_z; // float16 Saturate float erpm; // float16 Saturate float rpm; // float16 Saturate float duty; // float16 Saturate float ah_used; // float16 Saturate float ah_charged; // float16 Saturate float wh_used; // float16 Saturate float wh_charged; // float16 Saturate float encoder_pos; // float16 Saturate float battery_level; // float16 Saturate float battery_wh_tot; // float16 Saturate uint8_t fault_code; // bit len 8 uint8_t vesc_id; // bit len 8 } vesc_RTData; extern uint32_t vesc_RTData_encode(vesc_RTData* source, void* msg_buf, bool tao_enabled); extern int32_t vesc_RTData_decode(const CanardRxTransfer* transfer, uint16_t payload_len, vesc_RTData* dest, uint8_t** dyn_arr_buf, bool tao_enabled); extern uint32_t vesc_RTData_encode_internal(vesc_RTData* source, void* msg_buf, uint32_t offset, uint8_t root_item, bool tao_enabled); extern int32_t vesc_RTData_decode_internal(const CanardRxTransfer* transfer, uint16_t payload_len, vesc_RTData* dest, uint8_t** dyn_arr_buf, int32_t offset, bool tao_enabled); #ifdef __cplusplus } // extern "C" #endif #endif // __VESC_RTDATA