mirror of
https://github.com/NanjingForestryUniversity/MinXuan.git
synced 2025-11-08 14:24:11 +00:00
988 lines
32 KiB
ObjectPascal
988 lines
32 KiB
ObjectPascal
{*
|
|
* 2012.10.29 version 0.2
|
|
*}
|
|
unit UsbDask;
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Windows;
|
|
|
|
const
|
|
USB_1902 = 1;
|
|
USB_1903 = 2; { USB_1902A }
|
|
USB_1901 = 3; { USB_1902L }
|
|
USB_2401 = 4;
|
|
USB_7250 = 5;
|
|
USB_7230 = 6;
|
|
USB_2405 = 7;
|
|
USB_1210 = 8;
|
|
USB_2401_A3 = 9;
|
|
USB_101 = 10;
|
|
NUM_USBDAQ_TYPE = 11;
|
|
NUM_MODULE_TYPE = 11; { NUM_MODULE_TYPE = USB_2405 + 1 }
|
|
MAX_USB_DEVICE = 8;
|
|
{ Error Number }
|
|
NoError = 0;
|
|
ErrorUnknownCardType = -1;
|
|
ErrorInvalidCardNumber = -2;
|
|
ErrorTooManyCardRegistered = -3;
|
|
ErrorCardNotRegistered = -4;
|
|
ErrorFuncNotSupport = -5;
|
|
ErrorInvalidIoChannel = -6;
|
|
ErrorInvalidAdRange = -7;
|
|
ErrorContIoNotAllowed = -8;
|
|
ErrorDiffRangeNotSupport = -9;
|
|
ErrorLastChannelNotZero = -10;
|
|
ErrorChannelNotDescending = -11;
|
|
ErrorChannelNotAscending = -12;
|
|
ErrorOpenDriverFailed = -13;
|
|
ErrorOpenEventFailed = -14;
|
|
ErrorTransferCountTooLarge = -15;
|
|
ErrorNotDoubleBufferMode = -16;
|
|
ErrorInvalidSampleRate = -17;
|
|
ErrorInvalidCounterMode = -18;
|
|
ErrorInvalidCounter = -19;
|
|
ErrorInvalidCounterState = -20;
|
|
ErrorInvalidBinBcdParam = -21;
|
|
ErrorBadCardType = -22;
|
|
ErrorInvalidDaRefVoltage = -23;
|
|
ErrorAdTimeOut = -24;
|
|
ErrorNoAsyncAI = -25;
|
|
ErrorNoAsyncAO = -26;
|
|
ErrorNoAsyncDI = -27;
|
|
ErrorNoAsyncDO = -28;
|
|
ErrorNotInputPort = -29;
|
|
ErrorNotOutputPort = -30;
|
|
ErrorInvalidDioPort = -31;
|
|
ErrorInvalidDioLine = -32;
|
|
ErrorContIoActive = -33;
|
|
ErrorDblBufModeNotAllowed = -34;
|
|
ErrorConfigFailed = -35;
|
|
ErrorInvalidPortDirection = -36;
|
|
ErrorBeginThreadError = -37;
|
|
ErrorInvalidPortWidth = -38;
|
|
ErrorInvalidCtrSource = -39;
|
|
ErrorOpenFile = -40;
|
|
ErrorAllocateMemory = -41;
|
|
ErrorDaVoltageOutOfRange = -42;
|
|
ErrorDaExtRefNotAllowed = -43;
|
|
ErrorDIODataWidthError = -44;
|
|
ErrorTaskCodeError = -45;
|
|
ErrorTriggercountError = -46;
|
|
ErrorInvalidTriggerMode = -47;
|
|
ErrorInvalidTriggerType = -48;
|
|
ErrorInvalidCounterValue = -50;
|
|
ErrorInvalidEventHandle = -60;
|
|
ErrorNoMessageAvailable = -61;
|
|
ErrorEventMessgaeNotAdded = -62;
|
|
ErrorCalibrationTimeOut = -63;
|
|
ErrorUndefinedParameter = -64;
|
|
ErrorInvalidBufferID = -65;
|
|
ErrorInvalidSampledClock = -66;
|
|
ErrorInvalidOperationMode = -67;
|
|
{ Error number for driver API }
|
|
ErrorConfigIoctl = -201;
|
|
ErrorAsyncSetIoctl = -202;
|
|
ErrorDBSetIoctl = -203;
|
|
ErrorDBHalfReadyIoctl = -204;
|
|
ErrorContOPIoctl = -205;
|
|
ErrorContStatusIoctl = -206;
|
|
ErrorPIOIoctl = -207;
|
|
ErrorDIntSetIoctl = -208;
|
|
ErrorWaitEvtIoctl = -209;
|
|
ErrorOpenEvtIoctl = -210;
|
|
ErrorCOSIntSetIoctl = -211;
|
|
ErrorMemMapIoctl = -212;
|
|
ErrorMemUMapSetIoctl = -213;
|
|
ErrorCTRIoctl = -214;
|
|
ErrorGetResIoctl = -215;
|
|
ErrorCalIoctl = -216;
|
|
ErrorPMIntSetIoctl = -217;
|
|
{ Jeff added }
|
|
ErrorAccessViolationDataCopy = -301;
|
|
ErrorNoModuleFound = -302;
|
|
ErrorCardIDDuplicated = -303;
|
|
ErrorCardDisconnected = -304;
|
|
ErrorInvalidScannedIndex = -305;
|
|
ErrorUndefinedException = -306;
|
|
ErrorInvalidDioConfig = -307;
|
|
ErrorInvalidAOCfgCtrl = -308;
|
|
ErrorInvalidAOTrigCtrl = -309;
|
|
ErrorConflictWithSyncMode = -310;
|
|
ErrorConflictWithFifoMode = -311;
|
|
ErrorInvalidAOIteration = -312;
|
|
ErrorZeroChannelNumber = -313;
|
|
ErrorSystemCallFailed = -314;
|
|
ErrorTimeoutFromSyncMode = -315;
|
|
ErrorInvalidPulseCount = -316;
|
|
ErrorInvalidDelayCount = -317;
|
|
ErrorConflictWithDelay2 = -318;
|
|
ErrorAOFifoCountTooLarge = -319;
|
|
ErrorConflictWithWaveRepeat = -320;
|
|
ErrorConflictWithReTrig = -321;
|
|
ErrorInvalidTriggerChannel = -322;
|
|
ErrorInvalidInputSignal = -323;
|
|
ErrorInvalidConversionSrc = -324;
|
|
ErrorInvalidRefVoltage = -325;
|
|
ErrorCalibrateFailed = -326;
|
|
ErrorInvalidCalData = -327;
|
|
ErrorChanGainQueueTooLarge = -328;
|
|
ErrorInvalidCardType = -329;
|
|
ErrorInvlaidSyncMode = -330;
|
|
ErrorIICVersion = -331;
|
|
ErrorFX2UpgradeFailed = -332;
|
|
ErrorInvalidReadCount = -333;
|
|
ErrorTEDSInvalidSensorNo = -334;
|
|
ErroeTEDSAccessTimeout = -335;
|
|
ErrorTEDSChecksumFailed = -336;
|
|
ErrorTEDSNotIEEE1451_4 = -337;
|
|
ErrorTEDSInvalidTemplateID = -338;
|
|
ErrorTEDSInvalidPrecisionValue = -339;
|
|
ErrorTEDSUnsupportedTemplate = -340;
|
|
ErrorTEDSInvalidPropertyID = -341;
|
|
ErrorTEDSNoRawData = -342;
|
|
ErrorInvalidChannel = -397;
|
|
ErrorNullPoint = -398;
|
|
ErrorInvalidParamSetting = -399;
|
|
{ -401 ~ -499 the Kernel error }
|
|
ErrorAIStartFailed = -401;
|
|
ErrorAOStartFailed = -402;
|
|
ErrorConflictWithGPIOConfig = -403;
|
|
ErrorEepromReadback = -404;
|
|
ErrorConflictWithInfiniteOp = -405;
|
|
ErrorWaitingUSBHostResponse = -406;
|
|
ErrorAOFifoModeTimeout = -407;
|
|
ErrorInvalidModuleFunction = -408;
|
|
ErrorAdFifoFull = -409;
|
|
ErrorInvalidTransferCount = -410;
|
|
ErrorConflictWithAIConfig = -411;
|
|
ErrorDDSConfigFailed = -412;
|
|
ErrorDDSConfigFailed = -413;
|
|
ErrorPLDBusy = -414;
|
|
ErrorPLDTimeout = -415;
|
|
ErrorUndefinedKernelError = -420;
|
|
{ the functions supported in the future }
|
|
ErrorSyncModeNotSupport = -501;
|
|
{ AD Range }
|
|
AD_B_10_V = 1;
|
|
AD_B_5_V = 2;
|
|
AD_B_2_5_V = 3;
|
|
AD_B_1_25_V = 4;
|
|
AD_B_0_625_V = 5;
|
|
AD_B_0_3125_V = 6;
|
|
AD_B_0_5_V = 7;
|
|
AD_B_0_05_V = 8;
|
|
AD_B_0_005_V = 9;
|
|
AD_B_1_V = 10;
|
|
AD_B_0_1_V = 11;
|
|
AD_B_0_01_V = 12;
|
|
AD_B_0_001_V = 13;
|
|
AD_U_20_V = 14;
|
|
AD_U_10_V = 15;
|
|
AD_U_5_V = 16;
|
|
AD_U_2_5_V = 17;
|
|
AD_U_1_25_V = 18;
|
|
AD_U_1_V = 19;
|
|
AD_U_0_1_V = 20;
|
|
AD_U_0_01_V = 21;
|
|
AD_U_0_001_V = 22;
|
|
AD_B_2_V = 23;
|
|
AD_B_0_25_V = 24;
|
|
AD_B_0_2_V = 25;
|
|
AD_U_4_V = 26;
|
|
AD_U_2_V = 27;
|
|
AD_U_0_5_V = 28;
|
|
AD_U_0_4_V = 29;
|
|
AD_B_1_5_V = 30;
|
|
AD_B_0_2125_V = 31;
|
|
AD_B_40_V = 32; { PCI-9527 AI }
|
|
AD_B_3_16_V = 33; { PCI-9527 AI }
|
|
AD_B_0_316_V = 34; { PCI-9527 AI }
|
|
AD_B_25_V = 35; { Jeff added for USB-2401 AI }
|
|
AD_B_12_5_V = 36;
|
|
{ Common Constants }
|
|
{ Synchronous Mode }
|
|
SYNCH_OP = 1;
|
|
ASYNCH_OP = 2;
|
|
|
|
{ wConfigCtrl in UD_AI_Channel_Config() }
|
|
{ Input Type }
|
|
UD_AI_NonRef_SingEnded = $01;
|
|
UD_AI_SingEnded = $02;
|
|
UD_AI_Differential = $04;
|
|
UD_AI_PseudoDifferential = $08;
|
|
{ Input Coupling }
|
|
UD_AI_EnableIEPE = $10;
|
|
UD_AI_DisableIEPE = $20;
|
|
UD_AI_Coupling_AC = $40;
|
|
UD_AI_Coupling_None = $80;
|
|
|
|
{ Conversion Source in UD_AI_Trigger_Config() }
|
|
UD_AI_CONVSRC_INT = $01;
|
|
UD_AI_CONVSRC_EXT = $02;
|
|
|
|
{ wTrigCtrl in UD_AI_Trigger_Config() }
|
|
{ Trigger Source bit 9:0 }
|
|
UD_AI_TRGSRC_AI0 = $0200;
|
|
UD_AI_TRGSRC_AI1 = $0201;
|
|
UD_AI_TRGSRC_AI2 = $0202;
|
|
UD_AI_TRGSRC_AI3 = $0203;
|
|
UD_AI_TRGSRC_AI4 = $0204;
|
|
UD_AI_TRGSRC_AI5 = $0205;
|
|
UD_AI_TRGSRC_AI6 = $0206;
|
|
UD_AI_TRGSRC_AI7 = $0207;
|
|
UD_AI_TRGSRC_AI8 = $0208;
|
|
UD_AI_TRGSRC_AI9 = $0209;
|
|
UD_AI_TRGSRC_AI10 = $020A;
|
|
UD_AI_TRGSRC_AI11 = $020B;
|
|
UD_AI_TRGSRC_AI12 = $020C;
|
|
UD_AI_TRGSRC_AI13 = $020D;
|
|
UD_AI_TRGSRC_AI14 = $020E;
|
|
UD_AI_TRGSRC_AI15 = $020F;
|
|
UD_AI_TRGSRC_SOFT = $0380;
|
|
UD_AI_TRGSRC_DTRIG = $0388;
|
|
{ Trigger Edge bit 14 }
|
|
UD_AI_TrigPositive = $4000;
|
|
UD_AI_TrigNegative = $0000;
|
|
{ Gated Trigger Level bit 14 }
|
|
UD_AI_Gate_PauseLow = $4000;
|
|
UD_AI_Gate_PauseHigh = $0000;
|
|
{ ReTrigger bit 13 }
|
|
UD_AI_EnReTrigger = $2000;
|
|
UD_AI_DisReTrigger = $0000;
|
|
|
|
{ Trigger Mode }
|
|
UD_AI_TRGMOD_POST = $0000;
|
|
UD_AI_TRGMOD_DELAY = $4000;
|
|
UD_AI_TRGMOD_PRE = $8000;
|
|
UD_AI_TRGMOD_MIDDLE = $C000;
|
|
UD_AI_TRGMOD_GATED = $1000;
|
|
|
|
{ UD_DIO_Config }
|
|
UD_DIO_DIGITAL_INPUT = $30;
|
|
UD_DIO_COUNTER_INPUT = $31;
|
|
UD_DIO_DIGITAL_OUTPUT = $32;
|
|
UD_DIO_PULSE_OUTPUT = $33;
|
|
|
|
{ TEDS Property IDs }
|
|
UD_TEDS_PROPERTY_TEMPLATE = 1;
|
|
UD_TEDS_PROPERTY_ElecSigType = 2;
|
|
UD_TEDS_PROPERTY_PhysMeasType = 3;
|
|
UD_TEDS_PROPERTY_MinPhysVal = 4;
|
|
UD_TEDS_PROPERTY_MaxPhysVal = 5;
|
|
UD_TEDS_PROPERTY_MinElecVal = 6;
|
|
UD_TEDS_PROPERTY_MaxElecVal = 7;
|
|
UD_TEDS_PROPERTY_MapMeth = 8;
|
|
UD_TEDS_PROPERTY_BridgeType = 9;
|
|
UD_TEDS_PROPERTY_SensorImped = 10;
|
|
UD_TEDS_PROPERTY_RespTime = 11;
|
|
UD_TEDS_PROPERTY_ExciteAmplNom = 12;
|
|
UD_TEDS_PROPERTY_ExciteAmplMin = 13;
|
|
UD_TEDS_PROPERTY_ExciteAmplMax = 14;
|
|
UD_TEDS_PROPERTY_CalDate = 15;
|
|
UD_TEDS_PROPERTY_CalInitials = 16;
|
|
UD_TEDS_PROPERTY_CalPeriod = 17;
|
|
UD_TEDS_PROPERTY_MeasID = 18;
|
|
|
|
{ Constants for USB-1902 }
|
|
{ wConfigCtrl in UD_AI_1902_Config() }
|
|
{ Input Type
|
|
bit 7:6 in AI_CONFG }
|
|
{ 2011April29, Jeff changed }
|
|
P1902_AI_NonRef_SingEnded = $00;
|
|
P1902_AI_SingEnded = $01;
|
|
P1902_AI_PseudoDifferential = $02;
|
|
P1902_AI_Differential = $02;
|
|
|
|
{ Conversion Source
|
|
bit 9 in AI_ACQMCR }
|
|
P1902_AI_CONVSRC_INT = $00;
|
|
P1902_AI_CONVSRC_EXT = $80;
|
|
{ wTrigCtrl in UD_AI_1902_Config() }
|
|
{ Trigger Source
|
|
bit 8:3 in AI_ACQMCR }
|
|
P1902_AI_TRGSRC_AI0 = $020;
|
|
P1902_AI_TRGSRC_AI1 = $021;
|
|
P1902_AI_TRGSRC_AI2 = $022;
|
|
P1902_AI_TRGSRC_AI3 = $023;
|
|
P1902_AI_TRGSRC_AI4 = $024;
|
|
P1902_AI_TRGSRC_AI5 = $025;
|
|
P1902_AI_TRGSRC_AI6 = $026;
|
|
P1902_AI_TRGSRC_AI7 = $027;
|
|
P1902_AI_TRGSRC_AI8 = $028;
|
|
P1902_AI_TRGSRC_AI9 = $029;
|
|
P1902_AI_TRGSRC_AI10 = $02A;
|
|
P1902_AI_TRGSRC_AI11 = $02B;
|
|
P1902_AI_TRGSRC_AI12 = $02C;
|
|
P1902_AI_TRGSRC_AI13 = $02D;
|
|
P1902_AI_TRGSRC_AI14 = $02E;
|
|
P1902_AI_TRGSRC_AI15 = $02F;
|
|
P1902_AI_TRGSRC_SOFT = $030;
|
|
P1902_AI_TRGSRC_DTRIG = $031;
|
|
{ Trigger Edge
|
|
bit 2 in AI_ACQMCR }
|
|
P1902_AI_TrgPositive = $040;
|
|
P1902_AI_TrgNegative = $000;
|
|
{ Gated Trigger Level
|
|
bit 2 in AI_ACQMCR }
|
|
P1902_AI_Gate_PauseLow = $000;
|
|
P1902_AI_Gate_PauseHigh = $040;
|
|
{ Trigger Mode }
|
|
P1902_AI_TRGMOD_POST = $000;
|
|
P1902_AI_TRGMOD_GATED = $080;
|
|
P1902_AI_TRGMOD_DELAY = $100;
|
|
{ ReTrigger
|
|
bit 25 in AI_ACQMCR }
|
|
P1902_AI_EnReTigger = $200;
|
|
{ AO Constants }
|
|
{ Conversion Source }
|
|
P1902_AO_CONVSRC_INT = $00;
|
|
P1902_AO_TRIG_CTRL_MASK = (not $00000711);
|
|
{ Trigger Mode }
|
|
P1902_AO_TRGMOD_POST = $00;
|
|
P1902_AO_TRGMOD_DELAY = $01;
|
|
{ Trigger Source }
|
|
{ bit 24 in AO_TCFIGR }
|
|
P1902_AO_TRGSRC_SOFT = $00;
|
|
P1902_AO_TRGSRC_DTRIG = $10;
|
|
{ Trigger Edge }
|
|
{ bit 25 in AI_ACQMCR }
|
|
P1902_AO_TrgPositive = $100;
|
|
P1902_AO_TrgNegative = $000;
|
|
{ Enable Re-Trigger }
|
|
{ bit 10 in AO_TCFIGR }
|
|
P1902_AO_EnReTigger = $200;
|
|
{ Flag for AO Waveform Seperation Interval COunt Register (AO_WSIC) }
|
|
P1902_AO_EnDelay2 = $400;
|
|
{ Constants for USB-2401 }
|
|
{ wConfigCtrl in UD_AI_2401_Config() }
|
|
{ Input Type }
|
|
{ V >=2.5V, V<2.5,
|
|
Current,
|
|
RTD (4 wire), RTD (3-wire), RTD (2-wire),
|
|
Resistor, Thermocouple, Full-Bridge, Half-Bridge }
|
|
P2401_Voltage_2D5V_Above = $00;
|
|
P2401_Voltage_2D5V_Below = $01;
|
|
P2401_Current = $02;
|
|
P2401_RTD_4_Wire = $03;
|
|
P2401_RTD_3_Wire = $04;
|
|
P2401_RTD_2_Wire = $05;
|
|
P2401_Resistor = $06;
|
|
P2401_ThermoCouple = $07;
|
|
P2401_Full_Bridge = $08;
|
|
P2401_Half_Bridge = $09;
|
|
P2401_ThermoCouple_Differential = $0A;
|
|
P2401_350Ohm_Full_Bridge = $0B;
|
|
P2401_350Ohm_Half_Bridge = $0C;
|
|
P2401_120Ohm_Full_Bridge = $0D;
|
|
P2401_120Ohm_Half_Bridge = $0E;
|
|
{ Conversion Source }
|
|
{ bit 9 in AI_ACQMCR }
|
|
P2401_AI_CONVSRC_INT = $00;
|
|
{ wTrigCtrl in UD_AI_2401_Config() }
|
|
{ Trigger Source }
|
|
{ bit 8:3 in AI_ACQMCR }
|
|
P2401_AI_TRGSRC_SOFT = $030;
|
|
P2401_AI_TRGSRC_DTRIG = $031;
|
|
{ Trigger Edge }
|
|
{ bit 2 in AI_ACQMCR }
|
|
P2401_AI_TrgPositive = $040;
|
|
P2401_AI_TrgNegative = $000;
|
|
{ Trigger Mode }
|
|
P2401_AI_TRGMOD_POST = $000;
|
|
{ wMAvgStageCh1 ~ wMAvgStageCh4 in UD_AI_2401_PollConfig() }
|
|
P2401_Polling_MAvg_Disable = $00;
|
|
P2401_Polling_MAvg_2_Sampes = $01;
|
|
P2401_Polling_MAvg_4_Sampes = $02;
|
|
P2401_Polling_MAvg_8_Sampes = $03;
|
|
P2401_Polling_MAvg_16_Sampes = $04;
|
|
{ wEnContPolling in UD_AI_2401_PollConfig() }
|
|
P2401_Continue_Polling_Disable = $00;
|
|
P2401_Continue_Polling_Enable = $01;
|
|
{ wPollSpeed in UD_AI_2401_PollConfig() }
|
|
P2401_ADC_2000_SPS = $09;
|
|
P2401_ADC_1000_SPS = $08;
|
|
P2401_ADC_640_SPS = $07;
|
|
P2401_ADC_320_SPS = $06;
|
|
P2401_ADC_160_SPS = $05;
|
|
P2401_ADC_80_SPS = $04;
|
|
P2401_ADC_40_SPS = $03;
|
|
P2401_ADC_20_SPS = $02;
|
|
|
|
|
|
{ Input Coupling }
|
|
P2405_AI_EnableIEPE = $004;
|
|
P2405_AI_DisableIEPE = $008;
|
|
P2405_AI_Coupling_AC = $010;
|
|
P2405_AI_Coupling_None = $020;
|
|
|
|
{ Input Type }
|
|
P2405_AI_Differential = $000;
|
|
P2405_AI_PseudoDifferential = $040;
|
|
|
|
P2405_AI_CONVSRC_INT = $000;
|
|
P2405_AI_CONVSRC_EXT = $200;
|
|
|
|
|
|
{ Trigger Source }
|
|
P2405_AI_TRGSRC_AI0 = $200;
|
|
P2405_AI_TRGSRC_AI1 = $208;
|
|
P2405_AI_TRGSRC_AI2 = $210;
|
|
P2405_AI_TRGSRC_AI3 = $218;
|
|
P2405_AI_TRGSRC_SOFT = $380;
|
|
P2405_AI_TRGSRC_DTRIG = $388;
|
|
|
|
{ Trigger Edge }
|
|
P2405_AI_TrgPositive = $004;
|
|
P2405_AI_TrgNegative = $000;
|
|
|
|
{ Gated Trigger Level }
|
|
P2405_AI_Gate_PauseLow = $004;
|
|
P2405_AI_Gate_PauseHigh = $000;
|
|
|
|
{ ReTrigger }
|
|
P2405_AI_EnReTigger = $2000;
|
|
|
|
{ AI Trigger Mode }
|
|
P2405_AI_TRGMOD_POST = $0000;
|
|
P2405_AI_TRGMOD_DELAY = $4000;
|
|
P2405_AI_TRGMOD_PRE = $8000;
|
|
P2405_AI_TRGMOD_MIDDLE = $C000;
|
|
P2405_AI_TRGMOD_GATED = $1000;
|
|
|
|
{ GPIO/GPTC Configuration }
|
|
GPIO_IGNORE_CONFIG = $00;
|
|
GPTC0_GPO1 = $01;
|
|
GPI0_3_GPO0_1 = $02;
|
|
{ ENC0_GPO0 = $04; }
|
|
GPTC0_TC1 = $08;
|
|
GPTC2_GPO3 = $10;
|
|
GPI4_7_GPO2_3 = $20;
|
|
{ ENC1_GPO2 = $40; }
|
|
GPTC2_TC3 = $80;
|
|
{ UD_DIO_Config for USB-101 }
|
|
GPO0 = $1100;
|
|
GPO1 = $1200;
|
|
GPO2 = $1400;
|
|
GPO3 = $1800;
|
|
GPI0_3 = $2000;
|
|
{ GPIO Port }
|
|
GPIO_PortA = 0;
|
|
GPIO_PortB = 1;
|
|
{
|
|
General Purpose Timer/Counter for USB-1902
|
|
}
|
|
{ Counter Mode }
|
|
SimpleGatedEventCNT = $01;
|
|
SinglePeriodMSR = $02;
|
|
SinglePulseWidthMSR = $03;
|
|
SingleGatedPulseGen = $04;
|
|
SingleTrigPulseGen = $05;
|
|
RetrigSinglePulseGen = $06;
|
|
SingleTrigContPulseGen = $07;
|
|
ContGatedPulseGen = $08;
|
|
EdgeSeparationMSR = $09;
|
|
SingleTrigContPulseGenPWM = $0a;
|
|
ContGatedPulseGenPWM = $0b;
|
|
CW_CCW_Encoder = $0c;
|
|
x1_AB_Phase_Encoder = $0d;
|
|
x2_AB_Phase_Encoder = $0e;
|
|
x4_AB_Phase_Encoder = $0f;
|
|
Phase_Z = $10;
|
|
MultipleGatedPulseGen = $11;
|
|
{ GPTC clock source }
|
|
GPTC_CLK_SRC_Ext = $01;
|
|
GPTC_CLK_SRC_Int = $00;
|
|
GPTC_GATE_SRC_Ext = $02;
|
|
GPTC_GATE_SRC_Int = $00;
|
|
GPTC_UPDOWN_Ext = $04;
|
|
GPTC_UPDOWN_Int = $00;
|
|
{ GPTC clock polarity }
|
|
GPTC_CLKSRC_LACTIVE = $01;
|
|
GPTC_CLKSRC_HACTIVE = $00;
|
|
GPTC_GATE_LACTIVE = $02;
|
|
GPTC_GATE_HACTIVE = $00;
|
|
GPTC_UPDOWN_LACTIVE = $04;
|
|
GPTC_UPDOWN_HACTIVE = $00;
|
|
GPTC_OUTPUT_LACTIVE = $08;
|
|
GPTC_OUTPUT_HACTIVE = $00;
|
|
{ GPTC OP Parameter }
|
|
IntGate = $0; {Internal Gate}
|
|
IntUpDnCTR = $1; {Internal Up/Down Counter}
|
|
IntENABLE = $2; {Internal Enable}
|
|
{ DAQ Event type for the event message }
|
|
AIEnd = 0;
|
|
AOEnd = 0;
|
|
DIEnd = 0;
|
|
DOEnd = 0;
|
|
DBEvent = 1;
|
|
{ Encoder/GPTC Constants }
|
|
P1902_GPTC0 = $00;
|
|
P1902_GPTC1 = $01;
|
|
{ Encoder Setting Event Control }
|
|
P1902_EPT_PULWIDTH_200us = $00;
|
|
P1902_EPT_PULWIDTH_2ms = $01;
|
|
P1902_EPT_PULWIDTH_20ms = $02;
|
|
P1902_EPT_PULWIDTH_200ms = $03;
|
|
P1902_EPT_TRGOUT_GPO = $04;
|
|
P1902_EPT_TRGOUT_CALLBACK = $08;
|
|
{ Event Type }
|
|
P1902_EVT_TYPE_EPT0 = $00;
|
|
P1902_EVT_TYPE_EPT1 = $01;
|
|
{ Constants for I Squared C (I2C) }
|
|
{ I2C Port }
|
|
I2C_Port_A = 0;
|
|
{ I2C Control Operation }
|
|
I2C_ENABLE = 0;
|
|
I2C_STOP = 1;
|
|
{ convert from enum }
|
|
UD_CTR_Filter_Disable = 0;
|
|
UD_CTR_Filter_Enable = 1;
|
|
UD_CTR_Reset_Rising_Edge_Counter = 2;
|
|
UD_CTR_Reset_Frequency_Counter = 4;
|
|
UD_CTR_Polarity_Positive = 0;
|
|
UD_CTR_Polarity_Negative = 8;
|
|
|
|
{ THERMO }
|
|
THERMO_B_TYPE = 1;
|
|
THERMO_C_TYPE = 2;
|
|
THERMO_E_TYPE = 3;
|
|
THERMO_K_TYPE = 4;
|
|
THERMO_R_TYPE = 5;
|
|
THERMO_S_TYPE = 6;
|
|
THERMO_T_TYPE = 7;
|
|
THERMO_J_TYPE = 8;
|
|
THERMO_N_TYPE = 9;
|
|
RTD_PT100 = 10;
|
|
RTD_PT1000 = RTD_PT100;
|
|
THERMO_MAX_TYPE = RTD_PT100;
|
|
|
|
type
|
|
BOOL = Boolean;
|
|
PBOOL = ^Boolean;
|
|
U8 = Byte;
|
|
I16 = SmallInt;
|
|
U16 = Word;
|
|
USHORT = Word;
|
|
PUSHORT = ^Word;
|
|
I32 = LongInt;
|
|
U32 = Cardinal;
|
|
I64 = Int64;
|
|
F32 = Single;
|
|
F64 = Double;
|
|
PU8 = ^Byte;
|
|
PI16 = ^SmallInt;
|
|
PU16 = ^Word;
|
|
PI32 = ^LongInt;
|
|
PPI32 = ^PI32;
|
|
PU32 = ^Cardinal;
|
|
PI64 = ^Int64;
|
|
PF64 = ^Double;
|
|
PHANDLE = ^THANDLE;
|
|
PUSBDAQ_DEVICE = ^USBDAQ_DEVICE;
|
|
USBDAQ_DEVICE = packed record
|
|
wModuleType:U16;
|
|
wCardID:U16;
|
|
end;
|
|
QCInfo = packed record
|
|
RefVoltage : array [1..4] of Double;
|
|
Trimmer : USHORT;
|
|
Reserved : array [1..3] of USHORT;
|
|
end;
|
|
PQC_INFO_1902 = ^QC_INFO_1902;
|
|
QC_INFO_1902 = packed record
|
|
case Integer of
|
|
0: (QCInfo : QCInfo);
|
|
1: (bValue : array [1..40] of Byte);
|
|
end;
|
|
CALInfo = packed record
|
|
AI_Offset : array [1..2] of Cardinal;
|
|
AI_Gain : array [1..2] of Cardinal;
|
|
AO_Offset : Cardinal;
|
|
AO_Gain : Cardinal;
|
|
end;
|
|
PCAL_INFO_1902 = ^CAL_INFO_1902;
|
|
CAL_INFO_1902 = packed record
|
|
case Integer of
|
|
0: (CalInfo : CalInfo);
|
|
1: (bValue : array [1..24] of Byte);
|
|
end;
|
|
|
|
TUDDaskCallback = procedure; stdcall;
|
|
|
|
{
|
|
USB-DASK Function prototype
|
|
}
|
|
{
|
|
Function
|
|
}
|
|
function UD_Register_Card(CardType, card_num : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_Release_Card(CardNumber : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_Device_Scan(pModuleNum : PU16;
|
|
pAvailModules : PUSBDAQ_DEVICE) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
AI Function
|
|
}
|
|
function UD_AI_1902_Config(CardNumber, wConfigCtrl, wTrigCtrl : U16;
|
|
dwTrgLevel, wReTriggerCnt, dwDelayCount : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_2401_Config(CardNumber, wChanCfg1, wChanCfg2, wChanCfg3, wChanCfg4, wTrigCtrl : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_2401_PollConfig(wCardNumber, wPollSpeed, wMAvgStageCh1, wMAvgStageCh2, wMAvgStageCh3, wMAvgStageCh4 : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_1902_CounterInterval(CardNumber : U16; ScanIntrv, SampIntrv : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncCheck(CardNumber : U16; Stopped : PBool; AccessCnt : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncClear(CardNumber : U16; AccessCnt : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncDblBufferHalfReady(CardNumber : U16; HalfReady, StopFlag : PBool) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncDblBufferMode(CardNumber : U16; Enable : Boolean) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncDblBufferTransfer(CardNumber : U16; Buffer : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncDblBufferTransfer32(CardNumber : U16; pwBuffer : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncDblBufferOverrun(CardNumber : U16; op : U16; overrunFlag : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncDblBufferHandled(CardNumber : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncDblBufferToFile(CardNumber : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ContReadChannel(CardNumber : U16; Channel : U16; AdRange : U16; Buffer : PU16; ReadCount : U32; SampleRate : F64; SyncMode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ContReadMultiChannels(CardNumber : U16; NumChans : U16; Chans : PU16; AdRanges : PU16; Buffer : PU16; ReadCount : U32; SampleRate : F64; SyncMode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ContReadChannelToFile(CardNumber : U16; Channel : U16; AdRange : U16; FileName : PU8; ReadCount : U32; SampleRate : F64; SyncMode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ContReadMultiChannelsToFile(CardNumber : U16; NumChans : U16; Chans : PU16; AdRanges : PU16; FileName : PU8; ReadCount : U32; SampleRate : F64; SyncMode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ContScanChannelsToFile(CardNumber : U16; Channel : U16; AdRange : U16; FileName : PU8; ReadCount : U32; SampleRate : F64; SyncMode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_InitialMemoryAllocated(CardNumber : U16; MemSize : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ReadChannel(CardNumber : U16; Channel : U16; AdRange : U16; Value : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_VReadChannel(CardNumber : U16; Channel : U16; AdRange : U16; voltage : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ReadMultiChannels(CardNumber : U16; NumChans : U16; Chans : PU16; AdRanges : PU16; Buffer : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_SetTimeOut(CardNumber : U16; TimeOut : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_VoltScale(CardNumber : U16; AdRange : U16; reading : I16; voltage : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ContVScale(CardNumber : U16; adRange : U16; readingArray : Pointer; voltageArray : PF64; count : I32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_2401_Scale32(CardNumber : U16; adRange : U16; inType : U16; reading : U32; voltage : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_2401_ContVScale32(CardNumber : U16; adRange : U16; inType : U16; readingArray : U32; voltageArray : PF64; count : I32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncReTrigNextReady(CardNumber : U16; Ready : PBOOL; StopFlag : PBOOL; RdyTrigCnt : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncBufferTransfer(wCardNumber : USHORT; pwBuffer : PUSHORT; offset : U32; count : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_EventCallBack(CardNumber : U16; mode : I16; EventType : I16; callbackAddr : TUDDaskCallback) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_Moving_Average32(CardNumber : U16; SrcBuf : PU32; DesBuf : PU32; dwTgChIdx : U32; dwTotalCh : U32; dwMovAvgWindow : U32; dwSamplCnt : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_2401_Stop_Poll(wCardNumber : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_Channel_Config (CardNumber : U16; wChanCfg1 : U16; wChanCfg2 : U16; wChanCfg3 : U16; wChanCfg4 : U16 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_Trigger_Config (CardNumber : U16; wConvSrc : U16; wTrigMode : U16; wTrigCtrl : U16; wReTrigCnt : U32; dwDLY1Cnt : U32; dwDLY2Cnt : U32; dwTrgLevel : U32 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_2405_Chan_Config (CardNumber : U16; wChanCfg1 : U16; wChanCfg2 : U16; wChanCfg3 : U16; wChanCfg4 : U16 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_2405_Trig_Config (CardNumber : U16; wConvSrc : U16; wTrigMode : U16; wTrigCtrl : U16; wReTrigCnt : U32; dwDLY1Cnt : U32; dwDLY2Cnt : U32; dwTrgLevel : U32 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_VoltScale32 ( CardNumber : U16; adRange : U16; inType : U16; reading : U32; voltage : PF64 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_ContVScale32 ( CardNumber : U16; adRange : U16; inType : U16; readingArray : U32; voltageArray : PF64; count : I32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_AsyncBufferTransfer32 ( CardNumber : U16; pdwBuffer : PU32; offset : U32; count : U32 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_DDS_ActualRate_Get ( CardNumber : U16; fSampleRate : F64; fActualRate : PF64 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_Monitor_Config(CardNumber : U16; mode : I16; aiCh : U16; gpoCh : U16; adRange : U16; trgHigh : F64; trgLow : F64; deltaT : F64 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_Monitor_AlarmClear ( CardNumber : U16; gpoCh : U16 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_Monitor_AlarmClear ( CardNumber : U16; gpoCh : U16; alarmStatus : PU16 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_Monitor_Reset ( CardNumber : U16 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
AO Function
|
|
}
|
|
function UD_AO_1902_Config(CardNumber : U16; ConfigCtrl : U16; TrigCtrl : U16; ReTrgCnt : U32; DLY1Cnt : U32; DLY2Cnt : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_AsyncCheck(CardNumber : U16; Stopped : PBOOL; AccessCnt : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_AsyncClear(CardNumber : U16; AccessCnt : PU32; stop_mode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_AsyncDblBufferHalfReady(CardNumber : U16; bHalfReady : PBOOL) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_AsyncDblBufferTransfer(wCardNumber : U16; wBufferID : USHORT; pwBuffer : PUSHORT) : I16; stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_AsyncDblBufferMode(CardNumber : U16; Enable : BOOLEAN; bEnFifoMode : BOOLEAN) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_ContBufferCompose(CardNumber : U16; TotalChnCount : U16; ChnNum : U16; UpdateCount : U32; ConBuffer : Pointer; Buffer : Pointer) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_ContWriteChannel(CardNumber : U16; Channel : U16; pAOBuffer : Pointer; WriteCount : U32; Iterations : U32; CHUI : U32; definite : U16; SyncMode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_ContWriteMultiChannels(CardNumber : U16; NumChans : U16; Chans : PU16; pAOBuffer : Pointer; WriteCount : U32; Iterations : U32; CHUI : U32; definite : U16; SyncMode : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_InitialMemoryAllocated(CardNumber : U16; MemSize : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_SetTimeOut(CardNumber : U16; TimeOut : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_SimuVWriteChannel(CardNumber : U16; Group : U16; VBuffer : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_SimuWriteChannel(CardNumber : U16; Group : U16; Buffer : PI16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_VWriteChannel(CardNumber : U16; Channel : U16; Voltage : F64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_WriteChannel(CardNumber : U16; Channel : U16; Value : I16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_WriteChannels(wCardNumber : U16; wNumChans : U16; pwChans : PU16; pwBuffer : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_VoltScale(CardNumber, Channel : U16; Voltage : F64; binValue : PI16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_EventCallBack(CardNumber : U16; mode : I16; EventType : I16; callbackAddr : TUDDaskCallback) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
1902
|
|
}
|
|
function UD_DIO_1902_Config(wCardNumber : U16; wPart1Cfg : U16; wPart2Cfg : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_DIO_2401_Config(wCardNumber : U16; wPart1Cfg : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_DIO_2405_Config(wCardNumber : U16; wPart1Cfg : U16; wPart2Cfg : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_DIO_Config(wCardNumber : U16; wPart1Cfg : U16; wPart2Cfg : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
{
|
|
DI Function
|
|
}
|
|
function UD_DI_ReadLine(CardNumber : U16; Port : U16; Line : U16; State : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_DI_ReadPort(CardNumber : U16; Port : U16; Value : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
DO Function
|
|
}
|
|
function UD_DO_ReadLine(CardNumber : U16; Port : U16; Line : U16; Value : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_DO_ReadPort(CardNumber : U16; Port : U16; Value : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_DO_WriteLine(CardNumber : U16; Port : U16; Line : U16; Value : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_DO_WritePort(CardNumber : U16; Port : U16; Value : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
Timer/Counter Function
|
|
}
|
|
function UD_GPTC_Clear(CardNumber : U16; GCtr : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_GPTC_Control(CardNumber : U16; GCtr : U16; ParamID : U16; Value : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_GPTC_Read(CardNumber : U16; GCtr : U16; Value : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_GPTC_Setup(CardNumber : U16; GCtr : U16; Mode : U16; SrcCtrl : U16; PolCtrl : U16; LReg1_Val : U32; LReg2_Val : U32; RulseCount : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_GPTC_Setup_N(CardNumber : U16; GCtr : U16; Mode : U16; SrcCtrl : U16; PolCtrl : U16; LReg1_Val : U32; LReg2_Val : U32; RulseCount : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_GPTC_Status(CardNumber : U16; GCtr : U16; Value : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
{
|
|
Get Event or View Function
|
|
}
|
|
function UD_AI_GetEvent(CardNumber : U16; Event : PHANDLE) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_GetEvent(CardNumber : U16; Event : PHANDLE) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AI_GetView(CardNumber : U16; View : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_AO_GetView(CardNumber : u16; View : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
{
|
|
Common Function
|
|
}
|
|
function UD_GetActualRate(CardNumber : U16; SampleRate : F64; ActualRate : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_GetCardIndexFromID(CardNumber : U16; cardType : PU16; cardIndex : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_GetCardType(CardNumber : U16; cardType : PU16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_IdentifyLED_Control(wCardNumber : U16; bEnable : U8) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
Misc. Functions
|
|
}
|
|
function UD_Read_ColdJunc_Thermo(wCardNumber : U16; pfValue : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_Read_ColdJunc_Thermo_QC(wCardNumber : USHORT; wSensorNo : USHORT; pfValue : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
USB-1901/1902 Calibration
|
|
}
|
|
function UD_1902_AD_Read_Average(wCardNumber : U16; wCalSrc : USHORT; bOffsetGain : U8; pAD_Data : PI32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
USB-1903 Calibration
|
|
}
|
|
|
|
function UD_1903_AD_Read_Average(wCardNumber : U16; wCalSrc : USHORT; pAD_Data : PI32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
USB-2401 Calibration
|
|
}
|
|
|
|
function UD_2401_AD_Read_Sum(wCardNumber : U16; wOperation : WORD; wCalSrc : U16; dwSampleRate : U32; pAD_Data : PI64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_2401_AD_Read_Raw(wCardNumber : U16; wOperation : WORD; wCalSrc : U16; dwSampleRate : U32; pAD_Data : PPI32 ) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
Common
|
|
}
|
|
|
|
function UD_GetFPGAVersion(wCardNumber : U16; pdwFPGAVersion : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_1902_Trimmer_Set(wCardNumber : U16; bValue : U8) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_2401_Trimmer_Set(wCardNumber : U16; bValue : U8) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
{
|
|
UD_CTR functions
|
|
}
|
|
function UD_CTR_Control(wCardNumber, wCtr : U16; dwCtrl : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_CTR_ReadFrequency(wCardNumber, wCtr : U16; pfValue : PF64) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_CTR_ReadRisingEdgeCounter(wCardNumber, wCtr : U16; dwValue : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
function UD_CTR_SetupMinPulseWidth(wCardNumber, wCtr, wValue : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
{
|
|
UD_DI functions
|
|
}
|
|
function UD_DI_GetCOSLatchData32(wCardNumber, wPort : U16; pwCosLData : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_DI_SetupMinPulseWidth(wCardNumber, wValue : U16) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_DI_Control(wCardNumber, wPort : U16; dwCtrl : U32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_DI_SetCOSInterrupt32(wCardNumber, wPort : U16; dwCtrl : U32; hEvent : PHANDLE; ManualReset : Boolean) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_DO_GetInitPattern(wCardNumber, wPort : U16; pdwPattern : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_DO_SetInitPattern(wCardNumber, wPort : U16; pdwPattern : PU32) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
function UD_DIO_INT_EventMessage(wCardNumber : U16; mode : I16; evt : THANDLE; windowHandle : HWND; message : U32; callbackAddr : TUDDaskCallback) : I16;
|
|
stdcall; external 'usb-dask.dll';
|
|
|
|
implementation
|
|
|
|
end.
|
|
|