You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
3.1 KiB

2 days ago
/*
* msp_TTMotor_ZQ.h
*
* Created on: Oct 10, 2024
* Author: akeguo
*/
#ifndef INC_MSP_MSP_TTMOTOR_ZQ_H_
#define INC_MSP_MSP_TTMOTOR_ZQ_H_
#include "../../BASE/Inc/BSP/bsp_include.h"
#include "../../BASE/Inc/BSP/bsp_FDCAN.h"
#include "fsm.h"
#define DF_MSP_TT_Motor_PositionMode 01
#define DF_MSP_TT_Motor_SpeedMode 02
#define DF_MSP_TT_Motor_CurrentMode 03
#define DF_MSP_TT_Motor_Posi_Now 04
#define TT_One_Deg_Count 11014///32768*121/360(减速比121)=11014
#define TT_Left_limt 84080 //-775000+75*11014
#define TT_Right_limt -1568020 //-775000-75*11014
//#define Sw_Rust_Mid_Posi -775000 //-775000-75*11014
//double Sw_Rust_Mid_Posi=-775000;//需检测修改
#define DF_MSP_TT_Motor_StartID 2
void SwingMotorSetCheckTargetPositon();
void TT_Analytic_Fun(int32_t ID_A_T_A, char *buffer);
extern int SwingMotorID;
extern int LeftMotorID;
extern int RightMotorID;
extern void ActivateMotor(int MotorID, FDCANHandler *ZQ_Motor_Controller,
int32_t WaitTime) ;
extern void CANSendMessageSDO_ADD_To_SendList(int MotorID, uint8_t Function,
uint16_t ControlWord, uint8_t subWord, int32_t ControlWordValue,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime);
//位置速度模式
extern void Postion_Velcocity_Run_SetParameter(int MotorID, int TargetPosition,
int TargetSpeed, int AccTime, int DecTime,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime);
extern void Postion_Velcocity_Set_Position(int MotorID, int TargetPosition,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime) ;
extern void Driver_ReadError(int MotorID, FDCANHandler *ZQ_Motor_Controller,
int32_t WaitTime);
extern void SetMotorTargetPosition(int MotorID, int32_t TargetPosition,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime) ;
extern void Postion_Velcocity_Stop(int MotorID, FDCANHandler *ZQ_Motor_Controller,
int32_t WaitTime) ;
extern void SetCurrentPositionZero(int MotorID, FDCANHandler *ZQ_Motor_Controller,
int32_t WaitTime) ;
extern void Swing_Motor_Set_Target_Position() ;
extern void Swing_Motor_Read_ReachedEnd() ;
extern void Set_Current_Positon_Zero(uint8_t MotorID,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime) ;
extern void TT_Request_Position(uint32_t Motor_ID_1,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime) ;
extern void TT_Request_Velocity(uint32_t Motor_ID_1,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime) ;
extern void TT_Request_Fault(uint32_t Motor_ID_1,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime) ;
extern void TT_Request_Current(uint32_t Motor_ID_1,
FDCANHandler *ZQ_Motor_Controller, int32_t WaitTime);
extern void TT_Analytic_Fun(int32_t ID_A_T_A, char *buffer);
extern void SpeedModeSetup(int MotorID,FDCANHandler *ZQ_Motor_Controller,int32_t WaitTime,int32_t Acc, int32_t Dec, int32_t TargetVelocity); //设定速度模式,并更改相关速度
extern void TT_Analytic_Fun(int32_t ID_A_T_A, char *buffer);
extern void TT_SpeedMode_Set_TargetSpeed(uint32_t MotorID,FDCANHandler *ZQ_Motor_Controller,int32_t WaitTime,int32_t TargetSpeed);
#endif /* INC_MSP_MSP_TTMOTOR_ZQ_H_ */