📄 dask.h
字号:
#define INT2_EXT_SIGNAL 1 //INT2 by external signal : only available for PCI7432/7433/7230/8554
#define INT2_CH1 2 //INT2 CH1 : only available for PCI7256
/*-------- Constants for PCI-8554 --------------------*/
//Clock Source of Cunter N
#define ECKN 0
#define COUTN_1 1
#define CK1 2
#define COUT10 3
//Clock Source of CK1
#define CK1_C8M 0
#define CK1_COUT11 1
//Debounce Clock
#define DBCLK_COUT11 0
#define DBCLK_2MHZ 1
/*-------- Constants for PCI-9111 --------------------*/
//Dual Interrupt Mode
#define P9111_INT1_EOC 0 //Ending of AD conversion
#define P9111_INT1_FIFO_HF 1 //FIFO Half Full
#define P9111_INT2_PACER 0 //Every Timer tick
#define P9111_INT2_EXT_TRG 1 //ExtTrig High->Low
//Channel Count
#define P9111_CHANNEL_DO 0
#define P9111_CHANNEL_EDO 1
#define P9111_CHANNEL_DI 0
#define P9111_CHANNEL_EDI 1
//EDO function
#define P9111_EDO_INPUT 1 //EDO port set as Input port
#define P9111_EDO_OUT_EDO 2 //EDO port set as Output port
#define P9111_EDO_OUT_CHN 3 //EDO port set as channel number ouput port
//AO Setting
#define P9111_AO_UNIPOLAR 0
#define P9111_AO_BIPOLAR 1
/*-------- Constants for PCI-9118 --------------------*/
#define P9118_AI_BiPolar 0x00
#define P9118_AI_UniPolar 0x01
#define P9118_AI_SingEnded 0x00
#define P9118_AI_Differential 0x02
#define P9118_AI_ExtG 0x04
#define P9118_AI_ExtTrig 0x08
#define P9118_AI_DtrgNegative 0x00
#define P9118_AI_DtrgPositive 0x10
#define P9118_AI_EtrgNegative 0x00
#define P9118_AI_EtrgPositive 0x20
#define P9118_AI_BurstModeEn 0x40
#define P9118_AI_SampleHold 0x80
#define P9118_AI_PostTrgEn 0x100
#define P9118_AI_AboutTrgEn 0x200
/*-------- Constants for PCI-9116 --------------------*/
#define P9116_AI_LocalGND 0x00
#define P9116_AI_UserCMMD 0x01
#define P9116_AI_SingEnded 0x00
#define P9116_AI_Differential 0x02
#define P9116_AI_BiPolar 0x00
#define P9116_AI_UniPolar 0x04
#define P9116_TRGMOD_SOFT 0x00 //Software Trigger Mode
#define P9116_TRGMOD_POST 0x10 //Post Trigger Mode
#define P9116_TRGMOD_DELAY 0x20 //Delay Trigger Mode
#define P9116_TRGMOD_PRE 0x30 //Pre-Trigger Mode
#define P9116_TRGMOD_MIDL 0x40 //Middle Trigger Mode
#define P9116_AI_TrgPositive 0x00
#define P9116_AI_TrgNegative 0x80
#define P9116_AI_ExtTimeBase 0x100
#define P9116_AI_IntTimeBase 0x000
#define P9116_AI_DlyInSamples 0x200
#define P9116_AI_DlyInTimebase 0x000
#define P9116_AI_ReTrigEn 0x400
#define P9116_AI_MCounterEn 0x800
#define P9116_AI_SoftPolling 0x0000
#define P9116_AI_INT 0x1000
#define P9116_AI_DMA 0x2000
/*-------- Constants for PCI-9812 --------------------*/
//Trigger Mode
#define P9812_TRGMOD_SOFT 0x00 //Software Trigger Mode
#define P9812_TRGMOD_POST 0x01 //Post Trigger Mode
#define P9812_TRGMOD_PRE 0x02 //Pre-Trigger Mode
#define P9812_TRGMOD_DELAY 0x03 //Delay Trigger Mode
#define P9812_TRGMOD_MIDL 0x04 //Middle Trigger Mode
//Trigger Source
#define P9812_TRGSRC_CH0 0x00 //trigger source --CH0
#define P9812_TRGSRC_CH1 0x08 //trigger source --CH1
#define P9812_TRGSRC_CH2 0x10 //trigger source --CH2
#define P9812_TRGSRC_CH3 0x18 //trigger source --CH3
#define P9812_TRGSRC_EXT_DIG 0x20 //External Digital Trigger
//Trigger Polarity
#define P9812_TRGSLP_POS 0x00 //Positive slope trigger
#define P9812_TRGSLP_NEG 0x40 //Negative slope trigger
//Frequency Selection
#define P9812_AD2_GT_PCI 0x80 //Freq. of A/D clock > PCI clock freq.
#define P9812_AD2_LT_PCI 0x00 //Freq. of A/D clock < PCI clock freq.
//Clock Source
#define P9812_CLKSRC_INT 0x000 //Internal clock
#define P9812_CLKSRC_EXT_SIN 0x100 //External SIN wave clock
#define P9812_CLKSRC_EXT_DIG 0x200 //External Square wave clock
/*-------- Timer/Counter -----------------------------*/
//Counter Mode (8254)
#define TOGGLE_OUTPUT 0 //Toggle output from low to high on terminal count
#define PROG_ONE_SHOT 1 //Programmable one-shot
#define RATE_GENERATOR 2 //Rate generator
#define SQ_WAVE_RATE_GENERATOR 3 //Square wave rate generator
#define SOFT_TRIG 4 //Software-triggered strobe
#define HARD_TRIG 5 //Hardware-triggered strobe
//General Purpose Timer/Counter
//Counter Mode
#define General_Counter 0x00 //general counter
#define Pulse_Generation 0x01 //pulse generation
//GPTC clock source
#define GPTC_CLKSRC_EXT 0x08
#define GPTC_CLKSRC_INT 0x00
#define GPTC_GATESRC_EXT 0x10
#define GPTC_GATESRC_INT 0x00
#define GPTC_UPDOWN_SELECT_EXT 0x20
#define GPTC_UPDOWN_SELECT_SOFT 0x00
#define GPTC_UP_CTR 0x40
#define GPTC_DOWN_CTR 0x00
#define GPTC_ENABLE 0x80
#define GPTC_DISABLE 0x00
//16-bit binary or 4-decade BCD counter
#define BIN 0
#define BCD 1
//Previous renamed functions re-directed for compatibility
#define AI_VScale AI_VoltScale
#define AO_VScale AO_VoltScale
#define CTR_Reset CTR_Clear
//DAQ Event type for the event message
#define AIEnd 0
#define DIEnd 0
#define DOEnd 0
#define DBEvent 1
/*------------------------------------------------------------------
** PCIS-DASK Function prototype
------------------------------------------------------------------*/
I16 __stdcall Register_Card (U16 CardType, U16 card_num);
I16 __stdcall Release_Card (U16 CardNumber);
I16 __stdcall GetActualRate (U16 CardNumber, F64 fSampleRate, F64 *fActualRate);
/*---------------------------------------------------------------------------*/
I16 __stdcall AI_9111_Config (U16 CardNumber, U16 TrigSource, U16 PreTrgEn, U16 TraceCnt);
I16 __stdcall AI_9112_Config (U16 CardNumber, U16 TrigSource);
I16 __stdcall AI_9113_Config (U16 CardNumber, U16 TrigSource);
I16 __stdcall AI_9114_Config (U16 CardNumber, U16 TrigSource);
I16 __stdcall AI_9116_Config (U16 CardNumber, U16 ConfigCtrl, U16 TrigCtrl, U16 PostCnt, U16 MCnt, U16 ReTrgCnt);
I16 __stdcall AI_9118_Config (U16 CardNumber, U16 ModeCtrl, U16 FunCtrl, U16 BurstCnt, U16 PostCnt);
I16 __stdcall AI_9812_Config (U16 CardNumber, U16 TrgMode, U16 TrgSrc, U16 TrgPol, U16 ClkSel, U16 TrgLevel, U16 PostCnt);
I16 __stdcall AI_9812_SetDiv (U16 wCardNumber, U32 PacerVal);
I16 __stdcall AI_9114_PreTrigConfig (U16 CardNumber, U16 PreTrgEn, U16 TraceCnt);
I16 __stdcall AI_9116_CounterInterval (U16 wCardNumber, U32 ScanIntrv, U32 SampIntrv);
I16 __stdcall AI_InitialMemoryAllocated (U16 CardNumber, U32 *MemSize);
I16 __stdcall AI_ReadChannel (U16 CardNumber, U16 Channel, U16 AdRange, U16 *Value);
I16 __stdcall AI_VReadChannel (U16 CardNumber, U16 Channel, U16 AdRange, F64 *voltage);
I16 __stdcall AI_VoltScale (U16 CardNumber, U16 AdRange, I16 reading, F64 *voltage);
I16 __stdcall AI_ContReadChannel (U16 CardNumber, U16 Channel, U16 AdRange,
U16 *Buffer, U32 ReadCount, F64 SampleRate, U16 SyncMode);
I16 __stdcall AI_ContReadMultiChannels (U16 CardNumber, U16 NumChans, U16 *Chans,
U16 *AdRanges, U16 *Buffer, U32 ReadCount,
F64 SampleRate, U16 SyncMode);
I16 __stdcall AI_ContScanChannels (U16 CardNumber, U16 Channel, U16 AdRange,
U16 *Buffer, U32 ReadCount, F64 SampleRate, U16 SyncMode);
I16 __stdcall AI_ContReadChannelToFile (U16 CardNumber, U16 Channel, U16 AdRange,
U8 *FileName, U32 ReadCount, F64 SampleRate, U16 SyncMode);
I16 __stdcall AI_ContReadMultiChannelsToFile (U16 CardNumber, U16 NumChans, U16 *Chans,
U16 *AdRanges, U8 *FileName, U32 ReadCount,
F64 SampleRate, U16 SyncMode);
I16 __stdcall AI_ContScanChannelsToFile (U16 CardNumber, U16 Channel, U16 AdRange,
U8 *FileName, U32 ReadCount, F64 SampleRate, U16 SyncMode);
I16 __stdcall AI_ContStatus (U16 CardNumber, U16 *Status);
I16 __stdcall AI_ContVScale (U16 wCardNumber, U16 adRange, void *readingArray, F64 *voltageArray, I32 count);
I16 __stdcall AI_AsyncCheck (U16 CardNumber, int *Stopped, U32 *AccessCnt);
I16 __stdcall AI_AsyncClear (U16 CardNumber, U32 *AccessCnt);
I16 __stdcall AI_AsyncDblBufferHalfReady (U16 CardNumber, int *HalfReady, int *StopFlag);
I16 __stdcall AI_AsyncDblBufferMode (U16 CardNumber, int Enable);
I16 __stdcall AI_AsyncDblBufferTransfer (U16 CardNumber, U16 *Buffer);
I16 __stdcall AI_AsyncDblBufferOverrun (U16 CardNumber, U16 op, U16 *overrunFlag);
I16 __stdcall AI_EventCallBack (U16 CardNumber, I16 mode, I16 EventType, U32 callbackAddr);
/*---------------------------------------------------------------------------*/
I16 __stdcall AO_6208A_Config (U16 CardNumber, U16 V2AMode);
I16 __stdcall AO_6308A_Config (U16 CardNumber, U16 V2AMode);
I16 __stdcall AO_6308V_Config (U16 wCardNumber, U16 Channel, U16 wOutputPolarity, F64 refVoltage);
I16 __stdcall AO_9111_Config (U16 CardNumber, U16 OutputPolarity);
I16 __stdcall AO_9112_Config (U16 CardNumber, U16 Channel, F64 refVoltage);
I16 __stdcall AO_WriteChannel (U16 CardNumber, U16 Channel, I16 Value);
I16 __stdcall AO_VWriteChannel (U16 CardNumber, U16 Channel, F64 Voltage);
I16 __stdcall AO_VoltScale (U16 CardNumber, U16 Channel, F64 Voltage, I16 *binValue);
I16 __stdcall AO_SimuWriteChannel (U16 wCardNumber, U16 wGroup, I16 *pwBuffer);
I16 __stdcall AO_SimuVWriteChannel (U16 wCardNumber, U16 wGroup, F64 *VBuffer);
/*---------------------------------------------------------------------------*/
I16 __stdcall DI_7200_Config (U16 CardNumber, U16 TrigSource, U16 ExtTrigEn, U16 TrigPol, U16 I_REQ_Pol);
I16 __stdcall DI_7300A_Config (U16 CardNumber, U16 PortWidth, U16 TrigSource, U16 WaitStatus, U16 Terminator, U16 I_REQ_Pol, int clear_fifo, int disable_di);
I16 __stdcall DI_7300B_Config (U16 CardNumber, U16 PortWidth, U16 TrigSource, U16 WaitStatus, U16 Terminator, U16 I_Cntrl_Pol, int clear_fifo, int disable_di);
I16 __stdcall DI_InitialMemoryAllocated (U16 CardNumber, U32 *DmaSize);
I16 __stdcall DI_ReadLine (U16 CardNumber, U16 Port, U16 Line, U16 *State);
I16 __stdcall DI_ReadPort (U16 CardNumber, U16 Port, U32 *Value);
I16 __stdcall DI_ContReadPort (U16 CardNumber, U16 Port, void *Buffer,
U32 ReadCount, F64 SampleRate, U16 SyncMode);
I16 __stdcall DI_ContReadPortToFile (U16 CardNumber, U16 Port, U8 *FileName,
U32 ReadCount, F64 SampleRate, U16 SyncMode);
I16 __stdcall DI_ContStatus (U16 CardNumber, U16 *Status);
I16 __stdcall DI_AsyncCheck (U16 CardNumber, int *Stopped, U32 *AccessCnt);
I16 __stdcall DI_AsyncClear (U16 CardNumber, U32 *AccessCnt);
I16 __stdcall DI_AsyncDblBufferHalfReady (U16 CardNumber, int *HalfReady);
I16 __stdcall DI_AsyncDblBufferMode (U16 CardNumber, int Enable);
I16 __stdcall DI_AsyncDblBufferTransfer (U16 CardNumber, void *Buffer);
I16 __stdcall DI_ContMultiBufferSetup (U16 wCardNumber, void *pwBuffer, U32 dwReadCount, U16 *BufferId);
I16 __stdcall DI_ContMultiBufferStart (U16 wCardNumber, U16 wPort, F64 fSampleRate);
I16 __stdcall DI_AsyncMultiBufferNextReady (U16 CardNumber, int *bNextReady, U16 *wBufferId);
I16 __stdcall DI_AsyncDblBufferOverrun (U16 CardNumber, U16 op, U16 *overrunFlag);
I16 __stdcall DI_EventCallBack (U16 CardNumber, I16 mode, I16 EventType, U32 callbackAddr);
/*---------------------------------------------------------------------------*/
I16 __stdcall DO_7200_Config (U16 CardNumber, U16 TrigSource, U16 OutReqEn, U16 OutTrigSig);
I16 __stdcall DO_7300A_Config (U16 CardNumber, U16 PortWidth, U16 TrigSource, U16 WaitStatus, U16 Terminator, U16 O_REQ_Pol);
I16 __stdcall DO_7300B_Config (U16 CardNumber, U16 PortWidth, U16 TrigSource, U16 WaitStatus, U16 Terminator, U16 O_Cntrl_Pol, U32 FifoThreshold);
I16 __stdcall DO_InitialMemoryAllocated (U16 CardNumber, U32 *MemSize);
I16 __stdcall DO_WriteLine (U16 CardNumber, U16 Port, U16 Line, U16 Value);
I16 __stdcall DO_WritePort (U16 CardNumber, U16 Port, U32 Value);
I16 __stdcall DO_WriteExtTrigLine (U16 CardNumber, U16 Value);
I16 __stdcall DO_ReadLine (U16 CardNumber, U16 Port, U16 Line, U16 *Value);
I16 __stdcall DO_ReadPort (U16 CardNumber, U16 Port, U32 *Value);
I16 __stdcall DO_ContWritePort (U16 CardNumber, U16 Port, void *Buffer,
U32 WriteCount, U16 Iterations, F64 SampleRate, U16 SyncMode);
I16 __stdcall DO_PGStart (U16 CardNumber, void *Buffer, U32 WriteCount, F64 SampleRate);
I16 __stdcall DO_PGStop (U16 CardNumber);
I16 __stdcall DO_ContStatus (U16 CardNumber, U16 *Status);
I16 __stdcall DO_AsyncCheck (U16 CardNumber, int *Stopped, U32 *AccessCnt);
I16 __stdcall DO_AsyncClear (U16 CardNumber, U32 *AccessCnt);
I16 __stdcall EDO_9111_Config (U16 CardNumber, U16 EDO_Fun);
I16 __stdcall DO_ContMultiBufferSetup (U16 CardNumber, void *pwBuffer, U32 dwWriteCount, U16 *BufferId);
I16 __stdcall DO_AsyncMultiBufferNextReady (U16 CardNumber, int *bNextReady, U16 *wBufferId);
I16 __stdcall DO_ContMultiBufferStart (U16 wCardNumber, U16 wPort, double fSampleRate);
I16 __stdcall DO_EventCallBack (U16 CardNumber, I16 mode, I16 EventType, U32 callbackAddr);
/*---------------------------------------------------------------------------*/
I16 __stdcall DIO_PortConfig (U16 CardNumber, U16 Port, U16 Direction);
I16 __stdcall DIO_SetDualInterrupt (U16 CardNumber, I16 Int1Mode, I16 Int2Mode, HANDLE *hEvent);
I16 __stdcall DIO_SetCOSInterrupt (U16 CardNumber, U16 Port, U16 ctlA, U16 ctlB, U16 ctlC);
I16 __stdcall DIO_INT1_EventMessage (U16 CardNumber, I16 Int1Mode, HANDLE windowHandle, U32 message, void *callbackAddr());
I16 __stdcall DIO_INT2_EventMessage (U16 CardNumber, I16 Int2Mode, HANDLE windowHandle, U32 message, void *callbackAddr());
I16 __stdcall DIO_7300SetInterrupt (U16 CardNumber, I16 AuxDIEn, I16 T2En, HANDLE *hEvent);
I16 __stdcall DIO_AUXDI_EventMessage (U16 CardNumber, I16 AuxDIEn, HANDLE windowHandle, U32 message, void *callbackAddr());
I16 __stdcall DIO_T2_EventMessage (U16 CardNumber, I16 T2En, HANDLE windowHandle, U32 message, void *callbackAddr());
I16 __stdcall DIO_GetCOSLatchData(U16 wCardNumber, U16 *CosLData);
/*---------------------------------------------------------------------------*/
I16 __stdcall CTR_Setup (U16 CardNumber, U16 Ctr, U16 Mode, U32 Count, U16 BinBcd);
I16 __stdcall CTR_Clear (U16 CardNumber, U16 Ctr, U16 State);
I16 __stdcall CTR_Read (U16 CardNumber, U16 Ctr, U32 *Value);
I16 __stdcall CTR_8554_ClkSrc_Config (U16 CardNumber, U16 Ctr, U16 ClockSource);
I16 __stdcall CTR_8554_CK1_Config (U16 CardNumber, U16 ClockSource);
I16 __stdcall CTR_8554_Debounce_Config (U16 CardNumber, U16 DebounceClock);
I16 __stdcall GCTR_Setup (U16 wCardNumber, U16 wGCtr, U16 wGCtrCtrl,U32 dwCount);
I16 __stdcall GCTR_Clear (U16 wCardNumber, U16 wGCtr);
I16 __stdcall GCTR_Read (U16 wCardNumber, U16 wGCtr, U32 *pValue);
/*---------------------------------------------------------------------------*/
I16 __stdcall AI_GetEvent(U16 wCardNumber, HANDLE *hEvent);
I16 __stdcall AO_GetEvent(U16 wCardNumber, HANDLE *hEvent);
I16 __stdcall DI_GetEvent(U16 wCardNumber, HANDLE *hEvent);
I16 __stdcall DO_GetEvent(U16 wCardNumber, HANDLE *hEvent);
/*---------------------------------------------------------------------------*/
I16 __stdcall AI_GetView(U16 wCardNumber, U32 *pView);
I16 __stdcall DI_GetView(U16 wCardNumber, U32 *pView);
I16 __stdcall DO_GetView(U16 wCardNumber, U32 *pView);
/*---------------------------------------------------------------------------*/
I16 __stdcall GetCardType (U16 wCardNumber, U16 *cardType);
I16 __stdcall GetBaseAddr(U16 wCardNumber, U32 *BaseAddr, U32 *BaseAddr2);
I16 __stdcall GetLCRAddr(U16 wCardNumber, U32 *LcrAddr);
#ifdef __cplusplus
}
#endif
#endif //_DASK_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -