/* * msp_TI5MOTOR.h * * Created on: Oct 26, 2023 * Author: shiya * */ #ifndef INC_MSP_MSP_TI5MOTOR_H_ #define INC_MSP_MSP_TI5MOTOR_H_ #include "../../BASE/Inc/BSP/bsp_include.h" #include "msp_Motor.pb.h" #define DF_MSP_Ti5Motor_PositionMode 44 #define DF_MSP_Ti5Motor_SpeedMode 43 #define DF_MSP_Ti5Motor_CurrentMode 42 #define DF_MSP_Ti5Motor_State_Read 41 void DecodeTi5MotorCAN(uint32_t canID, uint8_t *buffer, uint32_t length); extern int32_t Function_code; //电机的ID必须是连续的,第一个电机ID需要在此定义 #define DF_MSP_Ti5Motor_StartID 0 //#define DF_MSP_Ti5Motor_StartID 1 //需要将此函数放置到对应的CAN接收中断函数中 void GF_MSP_Ti5Motor_CANRx_Callback(); //需要每间隔2ms执行一次 void GF_MSP_Ti5Motor_Control_Timer(); //void GF_Tis_Control_Single(); void GF_MSP_Ti5Motor_Error_Clean(); //uint8_t Motor_Control_Motor_Index; //uint8_t Motor_Control_State; // void FiveByteCommand(int8_t MotorID, uint8_t command, int32_t content,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void OneByteCommand(int8_t MotorID, uint8_t command,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void Motor_Stop(uint8_t id,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void Motor_ClearFault(uint8_t id,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void Motor_SetVelocityModeAndTargetVelocity(uint8_t id, int32_t targetSpeed,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void MotorSpeedSetup(); void Motor_GetFaultState(uint8_t id,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void GetCSPByCommand(uint8_t id,FDCANHandler *Ti5_Motor_Controller,int WaitTime); //void Ti5_Motor_Controller_intialize(FDCANHandler *Handler); void SetMaximumAllowablePositiveVelocity(uint8_t id, int32_t maxSpeed,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void SetMinimumAllowableNegativeVelocity(uint8_t id, int32_t minmaxSpeed,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void SetMaximumPositivePosition(uint8_t id, int32_t position,FDCANHandler *Ti5_Motor_Controller,int WaitTime); /// /// 获取最小负向位置 减速机角度为:(返回值/65536/减速比)*360< /// void SetCurrentModeAndTargetCurent(uint8_t id, int32_t targetCurrent,FDCANHandler *Ti5_Motor_Controller,int WaitTime); void SetMinimumNegativePosition(uint8_t id, int32_t position,FDCANHandler *Ti5_Motor_Controller,int WaitTime); #endif /* INC_MSP_MSP_TI5MOTOR_H_ */