#ifndef __TORQUE_SENSOR_H #define __TORQUE_SENSOR_H #include "stm32f1xx_hal.h" #include "adc.h" #include "var.h" //力矩传感器启动值默认值 #define TORQUE_SENSOR_STARTDATA 368 //力矩传感器历史零点值,占用空间24bytes typedef struct { uint16_t Data[9]; uint16_t MaxData; uint16_t MinData; uint16_t PresentData; }TorqueOffSetData_Struct_t; //传感器属性 typedef struct { TorqueOffSetData_Struct_t Torque_OffSetData;//零点历史值 uint8_t Torque_Cal_K;//标定系数 }TorqueSensor_Param_Struct_t; //传感器故障状态 typedef union { struct { uint8_t Sensor1 :1; //传感器1故障状态位 uint8_t Sensor2 :1; //传感器2故障状态位 uint8_t Sensor3 :1; //传感器3故障状态位 uint8_t RS :5; }FaultBit; uint8_t FaultStatusCode; }TorsueSensorFaultStatus_Struct_t; //全局变量声明 extern TorqueSensor_Param_Struct_t TorqueSensor_1_Param; extern TorqueSensor_Param_Struct_t TorqueSensor_2_Param; extern TorqueSensor_Param_Struct_t TorqueSensor_3_Param; extern TorsueSensorFaultStatus_Struct_t TorsueSensorFaultStatus; extern uint16_t TorqueSensorStartData; extern TrueOrFalse_Flag_Struct_t IsTorqueOffSetUpdateEnable; //全局变量定义 extern void TorqueSensor_ParamSetDefaultData_Init(TorqueSensor_Param_Struct_t* p_TorqueSensor_Param, uint16_t AdcData); extern void TorqueOffSetData_Process(TorqueOffSetData_Struct_t* p_TorqueOffSetData, uint16_t AdcData); extern void TorqueOffSetData_Present_Update1(uint16_t* PresentData, uint16_t AdcData, uint8_t Cal_K, MC_ErrorCode_Struct_t* p_MC_ErrorCode); extern void TorqueOffSetData_Present_Update2(uint16_t* PresentData, uint16_t AdcData, uint8_t Cal_K, MC_ErrorCode_Struct_t* p_MC_ErrorCode); extern void TorqueOffSetData_Present_Update3(uint16_t* PresentData, uint16_t AdcData, uint8_t Cal_K, MC_ErrorCode_Struct_t* p_MC_ErrorCode); #endif