#include #include #include #include #include #define WORD unsigned int #define DWORD unsigned long #define UCHAR unsigned char #define NoError 0 #define DriverHandleError 1 #define DriverCallError 2 #define AdControllerError 3 #define M_FunExecError 4 #define ConfigCodeError 5 #define FrequencyComputeError 6 #define HighAlarm 7 #define LowAlarm 8 #define AdPollingTimeOut 9 #define AlarmTypeError 10 #define FindBoardError 11 #define AdChannelError 12 #define DaChannelError 13 #define InvalidateDelay 14 #define DelayTimeOut 15 #define InvalidateData 16 #define FifoOverflow 17 #define TimeOut 18 #define ExceedBoardNumber 19 #define NotFoundBoard 20 #define OpenError 21 #define MAX_BOARD_NUMBER 16 float P1202_FloatSub2(float fA, float fB); short P1202_ShortSub2(short nA, short nB); WORD P1202_DriverInit(WORD *wBoards); WORD P1202_DriverClose(void); WORD P1202_GetDriverVersion(WORD *wDriverVersion); WORD P1202_GetConfigAddressSpace(WORD wBoardNo, WORD *wAddrTimer, WORD *wAddrCtrl,WORD *wAddrDio, WORD *wAddrAdda); WORD P1202_DelayUs(WORD wDelayUs); WORD P1202_ActiveBoard( WORD wBoardNo ); WORD P1202_WhichBoardActive(void); WORD P1202_Di(WORD *wDi); WORD P1202_Do(WORD wDo); WORD P1202_Da(WORD wDaChannel, WORD wDaVal); WORD P1202_SetChannelConfig(WORD wAdChannel, WORD wConfig); WORD P1202_AdPolling(float *fAdVal); WORD P1202_AdsPolling(float fAdVal[], WORD wNum); WORD P1202_AdsPacer(float fAdVal[], WORD wNum, WORD wSample); WORD P1202_M_FUN_1(WORD wDaFrequency, WORD wDaWave, float fDaAmplitude, WORD wAdClock, WORD wAdNumber, WORD wAdConfig, float fAdBuf[], float fLowAlarm, float dfHighAlarm); WORD P1202_M_FUN_2(WORD wDaNumber, WORD wDaWave, WORD wDaBuf[], WORD wAdClock, WORD wAdNumber, WORD wAdConfig, WORD wAdBuf[]); WORD P1202_M_FUN_3(WORD wDaFrequency, WORD wDaWave, float fDaAmplitude, WORD wAdClock, WORD wAdNumber, WORD wChannelStatus[], WORD wAdConfig[], float fAdBuf[], float fLowAlarm, float fHighAlarm); WORD P1202_Card0_StartScan(WORD wSampleRate, WORD wChannelStatus[], WORD wChannelConfig[],WORD wCount); WORD P1202_Card0_ReadData(void); void P1202_Card0_Stop(void); WORD P1202_ClearScan(void); WORD P1202_StartScan(WORD wSampleRate, WORD wNum); WORD P1202_AddToScan(WORD wAdChannel, WORD wAdConfig, WORD wAverage, WORD wLowAlarm, WORD wHighAlarm, WORD wAlarmType); WORD P1202_SaveScan(WORD wAdChannel, WORD wBuf[]); void P1202_ReadMagicScanResult(DWORD *dwHiAlarm, DWORD *dwLoAlarm); /*** wBuf0[] -> the scaned data is stored as 0,1,0,1,0,1,0,1,... order |<-DATACOUNT->| |<-DATACOUNT->| wBuf1[] -> the scaned data is stored as 0,0,0,0,.....,0,1,1,1,1,.....,1 order ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ch:0 data ch:1 data ***/ extern WORD wBuf0[],wBuf1[];