#ifndef __DRIVERSCTRL_H__ #define __DRIVERSCTRL_H__ #include "config.h" #ifndef DRIVERS_NUM #define DRIVERS_NUM 0 #endif // 最多支持4路电机 #if (DRIVERS_NUM > 4) #undef DRIVERS_NUM #define DRIVERS_NUM 4 #endif #define DRIVER1_IDX 0 #define DRIVER2_IDX 1 #define DRIVER3_IDX 2 #define DRIVER4_IDX 3 //-------------------------------------------- // 错误代码定义 #define DR_ERR_POS 0x01 // 位置误差过大 // 状态定义 #define DR_ERR_ZERO 0x101 // 电机找零 #define DR_STA_DIS 0x102 // 电机失能 //-------------------------------------------- void InitDriversCtrl(void); void DriversCtrlIntProc(void); void CPURateIntProc(int section); u32 GetDrvErrorCode(int driverIdx); void CleanDrvErrorCode(int driverIdx); void SetDrvErrorCode(int driverIdx, int code); void DriverRunTask(void); void SetOpenRunCircle(int driverIdx, int circle); void SetOpenLockCircle(int driverIdx, int circle); void SetOpenMaxOffset(int driverIdx, int maxofst); s32 GetClosePositionFromEcd(int driverIdx); void SetCloseCircle(int driverIdx, int circle); void ResetDriverPos(int driverIdx, s32 pos); void SetDriverTargetPos(int driverIdx, s32 tpos); void SetDriverOffset(int driverIdx, s32 ofst); void SetDriverCtrlMode(int driverIdx, int mode); void SetEnableCtrl(int driverIdx, int enbit); //-------------------------------------------- #endif