bldc/libcanard/dsdl/vesc/RTData.h

175 lines
5.4 KiB
C

/*
* 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 <stdint.h>
#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