mirror of https://github.com/rusefi/bldc.git
175 lines
5.4 KiB
C
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
|