optical/NxFuncs/closedriver/driversctrl.h

63 lines
1.3 KiB
C
Raw Permalink Normal View History

2025-09-04 01:45:08 +00:00
#ifndef __DRIVERSCTRL_H__
#define __DRIVERSCTRL_H__
#include "config.h"
#ifndef DRIVERS_NUM
#define DRIVERS_NUM 0
#endif
// <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><34><C2B7><EFBFBD><EFBFBD>
#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
//--------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB6A8>
#define DR_ERR_POS 0x01 // λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
#define DR_ERR_ZERO 0x101 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DR_STA_DIS 0x102 // <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
//--------------------------------------------
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