📄 driver.h
字号:
/***************************************************************************
Module Name: DRIVER.H
Purpose: the declaration of functions, data structures, status codes,
constants, and messages
Version: 3.01
Date: 04/16/1998
Copyright (c) 1996 Advantech Corp. Ltd.
All rights reserved.
****************************************************************************/
#pragma pack(push, 8)
#ifndef _INC_DRIVER
#define _INC_DRIVER
#include "OS.H"
//\\\\\\\\\\\\\\\\\\\ V2.0B /////////////////////
#include "Event.H"
#include "Paras.H"
///////////////////// V2.0B /////////////////////
#include "USBErrorCode.h" // Dean add for USE device
#ifdef _WIN31
#define FLOAT float
#define CHAR char
#define USHORT unsigned short
#define SHORT short
#define ULONG unsigned long
#endif
#ifdef __cplusplus
extern "C"
{
#endif
#define PUBLIC extern
#define PRIVATE static
/****************************************************************************
Constant Definition
***************************************************************************/
#define MaxDev 255 // max. # of devices
#define MaxDevNameLen 64 // max lenght of device name
#define MaxGroup 6
#define MaxPort 3
#define MaxErrMsgLen 80
#define MAX_DEVICE_NAME_LEN 64
#define MAX_DRIVER_NAME_LEN 16
#define MAX_DAUGHTER_NUM 16 // V2.0 mod 8 to 16
#define MAX_DIO_PORT 48
#define MAX_AO_RANGE 32 // V2.0 mod 8 to 16
#define LOCAL 0
#define REMOTE 1
#define REMOTE1 REMOTE+1 // For PCL-818L JP7 = 5V
#define REMOTE2 REMOTE1+1 // For PCL-818L JP7 = 10V
#define NONPROG LOCAL
#define PROG REMOTE
#define INTERNAL 0
#define EXTERNAL 1
#define SINGLEENDED 0
#define DIFFERENTIAL 1
#define BIPOLAR 0
#define UNIPOLAR 1
#define PORTA 0
#define PORTB 1
#define PORTC 2
#define INPORT 0
#define OUTPORT 1
/***************************************************************************
Define board vendor ID
**************************************************************************/
#define AAC 0x0000 //Advantech
#define MB 0x1000 //Keithley/MetraByte
#define BB 0x2000 //Burr Brown
#define GRAYHILL 0x3000 //Grayhill
#define KGS 0x4000
/****************************************************************************
Define DAS I/O CardType ID.
****************************************************************************/
#define NONE 0x00 // not available
//\\\\\\\\\\\\\\\\\\\ V2.1 //////////////////////
// Notes:
// change the software defined ID from Board ID to CardType ID.
// Board ID is especially used as the term of hardware dip-switch ID.
//
//Advantech CardType ID
///////////////////// V2.1 \\\\\\\\\\\\\\\\\\\\\\/
//Advantech CardType ID
#define BD_DEMO (AAC | 0x00) // demo board
#define BD_PCL711 (AAC | 0x01) // PCL-711 board
#define BD_PCL812 (AAC | 0x02) // PCL-812 board
#define BD_PCL812PG (AAC | 0x03) // PCL-812PG board
#define BD_PCL718 (AAC | 0x04) // PCL-718 board
#define BD_PCL818 (AAC | 0x05) // PCL-818 board
#define BD_PCL814 (AAC | 0x06) // PCL-814 board
#define BD_PCL720 (AAC | 0x07) // PCL-722 board
#define BD_PCL722 (AAC | 0x08) // PCL-720 board
#define BD_PCL724 (AAC | 0x09) // PCL-724 board
#define BD_AD4011 (AAC | 0x0a) // ADAM 4011 Module
#define BD_AD4012 (AAC | 0x0b) // ADAM 4012 Module
#define BD_AD4013 (AAC | 0x0c) // ADAM 4013 Module
#define BD_AD4021 (AAC | 0x0d) // ADAM 4021 Module
#define BD_AD4050 (AAC | 0x0e) // ADAM 4050 Module
#define BD_AD4060 (AAC | 0x0f) // ADAM 4060 Module
#define BD_PCL711B (AAC | 0x10) // PCL-711B
#define BD_PCL818H (AAC | 0x11) // PCL-818H
#define BD_PCL814B (AAC | 0x12) // PCL-814B
#define BD_PCL816 (AAC | 0x13) // PCL-816
#define BD_814_DIO_1 (AAC | 0x14) // PCL-816/814B 8255 DIO module
#define BD_814_DA_1 (AAC | 0x15) // PCL-816/814B 12 bit D/A module
#define BD_816_DA_1 (AAC | 0x16) // PCL-816/814B 16 bit D/A module
#define BD_PCL830 (AAC | 0x17) // PCL-830 9513A Counter Card
#define BD_PCL726 (AAC | 0x18) // PCL-726 D/A card
#define BD_PCL727 (AAC | 0x19) // PCL-727 D/A card
#define BD_PCL728 (AAC | 0x1a) // PCL-728 D/A card
#define BD_AD4052 (AAC | 0x1b) // ADAM 4052 Module
#define BD_AD4014D (AAC | 0x1c) // ADAM 4014D Module
#define BD_AD4017 (AAC | 0x1d) // ADAM 4017 Module
#define BD_AD4080D (AAC | 0x1e) // ADAM 4080D Module
#define BD_PCL721 (AAC | 0x1f) // PCL-721 32-bit Digital in
#define BD_PCL723 (AAC | 0x20) // PCL-723 24-bit Digital in
#define BD_PCL818L (AAC | 0x21) // PCL-818L
#define BD_PCL818HG (AAC | 0x22) // PCL-818HG
#define BD_PCL1800 (AAC | 0x23) // PCL-1800
#define BD_PAD71A (AAC | 0x24) // PCIA-71A
#define BD_PAD71B (AAC | 0x25) // PCIA-71B
#define BD_PCR420 (AAC | 0x26) // PCR-420
#define BD_PCL731 (AAC | 0x27) // PCL-731 48-bit Digital I/O card
#define BD_PCL730 (AAC | 0x28) // PCL-730 board
#define BD_PCL813 (AAC | 0x29) // PCL-813 32-channel A/D card
#define BD_PCL813B (AAC | 0x2a) // PCL-813B 32-channel A/D card
#define BD_PCL818HD (AAC | 0x2b) // PCL-818HD
#define BD_PCL725 (AAC | 0x2c) // PCL-725 digital I/O card
#define BD_PCL732 (AAC | 0x2d) // PCL-732 high speed DIO card
#define BD_AD4018 (AAC | 0x2e) // ADAM 4018 Module
#define BD_814_TC_1 (AAC | 0x2f) // PCL-816/814B 16 bit TC module
#define BD_PAD71C (AAC | 0x30) // PCIA-71C
#define BD_AD4024 (AAC | 0x31) // ADAM 4024
#define BD_AD5017 (AAC | 0x32) // ADAM 5017
#define BD_AD5018 (AAC | 0x33) // ADAM 5018
#define BD_AD5024 (AAC | 0x34) // ADAM 5024
#define BD_AD5051 (AAC | 0x35) // ADAM 5051
#define BD_AD5060 (AAC | 0x36) // ADAM 5060
#define BD_PCM3718 (AAC | 0x37) // PCM-3718
#define BD_PCM3724 (AAC | 0x38) // PCM-3724
#define BD_MIC2718 (AAC | 0x39) // MIC-2718
#define BD_MIC2728 (AAC | 0x3a) // MIC-2728
#define BD_MIC2730 (AAC | 0x3b) // MIC-2730
#define BD_MIC2732 (AAC | 0x3c) // MIC-2732
#define BD_MIC2750 (AAC | 0x3d) // MIC-2750
#define BD_MIC2752 (AAC | 0x3e) // MIC-2752
#define BD_PCL733 (AAC | 0x3f) // PCL-733
#define BD_PCL734 (AAC | 0x40) // PCL-734
#define BD_PCL735 (AAC | 0x41) // PCL-735
#define BD_AD4018M (AAC | 0x42) // ADAM 4018M Module
#define BD_AD4080 (AAC | 0x43) // ADAM 4080 Module
#define BD_PCL833 (AAC | 0x44) // PCL-833
#define BD_PCA6157 (AAC | 0x45) // PCA-6157
#define BD_PCA6149 (AAC | 0x46) // PCA-6149
#define BD_PCA6147 (AAC | 0x47) // PCA-6147
#define BD_PCA6137 (AAC | 0x48) // PCA-6137
#define BD_PCA6145 (AAC | 0x49) // PCA-6145
#define BD_PCA6144 (AAC | 0x4a) // PCA-6144
#define BD_PCA6143 (AAC | 0x4b) // PCA-6143
#define BD_PCA6134 (AAC | 0x4c) // PCA-6134
#define BD_AD5056 (AAC | 0x4d) // ADAM 5056 for Device Net
#define BD_DN5017 (AAC | 0x4e) // ADAM 5017 for Device Net
#define BD_DN5018 (AAC | 0x4f) // ADAM 5018 for Device Net
#define BD_DN5024 (AAC | 0x50) // ADAM 5024 for Device Net
#define BD_DN5051 (AAC | 0x51) // ADAM 5051 for Device Net
#define BD_DN5056 (AAC | 0x52) // ADAM 5056 for Device Net
#define BD_DN5060 (AAC | 0x53) // ADAM 5060 for Device Net
#define BD_PCL836 (AAC | 0x54) // PCL-836
#define BD_PCL841 (AAC | 0x55) // PCL-841
#define BD_DN5050 (AAC | 0x56) // ADAM 5050 for DeviceNet
#define BD_DN5052 (AAC | 0x57) // ADAM 5052 for DeviceNet
#define BD_AD5050 (AAC | 0x58) // ADAM 5050 for RS-485
#define BD_AD5052 (AAC | 0x59) // ADAM 5052 for RS-485
#define BD_PCM3730 (AAC | 0x5a) // PCM-3730
#define BD_AD4011D (AAC | 0x5b) // ADAM 4011D
#define BD_AD4016 (AAC | 0x5c) // ADAM 4016
#define BD_AD4053 (AAC | 0x5d) // ADAM 4053
#define BD_PCI1750 (AAC | 0x5e) // PCI-1750
#define BD_PCI1751 (AAC | 0x5f) // PCI-1751
#define BD_PCI1710 (AAC | 0x60) // PCI-1710
#define BD_PCI1712 (AAC | 0x61) // PCI-1712
#define BD_AD5068 (AAC | 0x62) // ADAM 5068
#define BD_AD5013 (AAC | 0x63) // ADAM 5013
#define BD_AD5017H (AAC | 0x64) // ADAM 5017H
#define BD_AD5080 (AAC | 0x65) // ADAM 5080
#define BD_MIC2760 (AAC | 0x66) // MIC-2760
#define BD_PCI1710HG (AAC | 0x67) // PCI-1710HG
#define BD_PCI1713 (AAC | 0x68) // PCI-1713
#define BD_PCI1753 (AAC | 0x69) // PCI-1753
#define BD_PCI1760 (AAC | 0x6a) // PCI-1760
#define BD_PCI1720 (AAC | 0x6b) // PCI-1720
#define BD_PCL752 (AAC | 0x6c) // PCL-772
#define BD_PCM3718H (AAC | 0x6d) // PCM-3718H
#define BD_PCM3718HG (AAC | 0x6e) // PCM-3718HG
#define BD_DN5068 (AAC | 0x6f) // ADAM 5068 for Device Net
#define BD_DN5013 (AAC | 0x70) // ADAM 5013 for Device Net
#define BD_DN5017H (AAC | 0x71) // ADAM 5017H for Device Net
#define BD_DN5080 (AAC | 0x72) // ADAM 5080 for Device Net (unavailable)
#define BD_PCI1711 (AAC | 0x73) // PCI-1711
#define BD_PCI1711L (AAC | 0x75) // PCI-1711
#define BD_PCI1716 (AAC | 0x74) // PCI-1716
#define BD_PCI1731 (AAC | 0x75) // PCI-1731
#define BD_AD5051D (AAC | 0x76) // ADAM 5051D
#define BD_AD5056D (AAC | 0x77) // ADAM 5056D
#define BD_DN5051D (AAC | 0x78) // ADAM 5051D for Device Net
#define BD_DN5056D (AAC | 0x79) // ADAM 5056D for Device Net
#define BD_SIMULATE (AAC | 0x7a) // Simulate IO
#define BD_PCI1754 (AAC | 0x7b) // PCI-1754
#define BD_PCI1752 (AAC | 0x7c) // PCI-1752
#define BD_PCI1756 (AAC | 0x7d) // PCI-1756
#define BD_PCL839 (AAC | 0x7e) // PCL-839
#define BD_PCM3725 (AAC | 0x7f) // PCM-3725
#define BD_PCI1762 (AAC | 0x80) // PCI-1762
#define BD_PCI1721 (AAC | 0x81) // PCI-1721
#define BD_PCI1761 (AAC | 0x82) // PCI-1761
#define BD_PCI1723 (AAC | 0x83) // PCI-1723
#define BD_AD4019 (AAC | 0X84) // ADAM 4019 Module
#define BD_AD5055 (AAC | 0X85) // ADAM 5055 Module
#define BD_AD4015 (AAC | 0X86) // ADAM 4015 Module
#define BD_PCI1730 (AAC | 0x87) // PCI-1730
#define BD_PCI1733 (AAC | 0x88) // PCI-1733
#define BD_PCI1734 (AAC | 0x89) // PCI-1734
#define BD_MIC2750A (AAC | 0x8A) // MIC-2750A
#define BD_MIC2718A (AAC | 0x8B) // MIC-2718A
#define BD_AD4017P (AAC | 0X8c) // ADAM 4017P Module
#define BD_AD4051 (AAC | 0X8d) // ADAM 4051 Module
#define BD_AD4055 (AAC | 0X8e) // ADAM 4055 Module
#define BD_AD4018P (AAC | 0x8f) // ADAM 4018P Module
#define BD_PCI1710L (AAC | 0x90) // PCI-1710L
#define BD_PCI1710HGL (AAC | 0x91) // PCI-1710HGL
#define BD_AD4068 (AAC | 0x92) // ADAM-4068
#define BD_PCM3712 (AAC | 0x93) // PCM-3712
#define BD_PCM3723 (AAC | 0x94) // PCM-3723
#ifdef _WIN32_WCE
//Add by Ann.He 03/02/21
#define BD_DATALGR_KR1 (AAC | 0x81) // PCM-KR1
//end
#endif
//\\\\\\\\\\\\\\\\\\\ V2.0B /////////////////////
#define BD_PCI1780 (AAC | 0x95) // PCI-1780
#define BD_CPCI3756 (AAC | 0x96) // CPCI-3756
///////////////////// V2.0B \\\\\\\\\\\\\\\\\\\\\/
//\\\\\\\\\\\\\\\\\\\ V2.0C /////////////////////
#define BD_PCI1755 (AAC | 0x97) // PCI-1755
#define BD_PCI1714 (AAC | 0x98) // PCI-1714
///////////////////// V2.0B ////////////////////
//\\\\\\\\\\\\\\\\\\\ V2.1 /////////////////////
#define BD_PCI1757 (AAC | 0x99) // PCI-1757
///////////////////// V2.1 ////////////////////
//\\\\\\\\\\\\\\\\\\\ V2.1a /////////////////////
#define BD_MIC3716 (AAC | 0x9A) // MIC-3716
#define BD_MIC3761 (AAC | 0x9B) // MIC-3761
#define BD_MIC3753 (AAC | 0x9C) // MIC-3753
#define BD_MIC3780 (AAC | 0x9D) // MIC-3780
///////////////////// V2.1a ////////////////////
#define BD_PCI1724 (AAC | 0x9E) // PCI-1724
#define BD_AD4015T (AAC | 0x9F) // ADAM 4015T Module
#define BD_UNO2052 (AAC | 0xA0) // UNO 2052 Module
#define BD_PCI1680 (AAC | 0xA1) // PCI-1680
//\\\\\\\\\\\\\\\\\\\ V2.2 /////////////////////
#define BD_PCL839P (AAC | 0xA2) // PCI-839+
#define BD_PCI1758UDI (AAC | 0xA3) // PCI-1758UDI
#define BD_PCI1758UDO (AAC | 0xA4) // PCI-1758UDO
#define BD_PCI1747 (AAC | 0xA5) // PCI-1747
#define BD_PCM3780 (AAC | 0xA6) // PCM-3780
#define BD_MIC3747 (AAC | 0xA7) // MIC-3747
#define BD_PCI1758UDIO (AAC | 0xA8) // PCI-1758UDIO
#define BD_PCI1712L (AAC | 0xA9) // PCI-1712L
#define BD_AD4056S (AAC | 0xAA) // ADAM 4056S Module
#define BD_AD4056SO (AAC | 0xAB) // ADAM 4056SO Module
#define BD_PCI1763UP (AAC | 0xAC) // PCI-1763UP
#define BD_PCI1736UP (AAC | 0xAD) // PCI-1736UP
#define BD_PCI1714UL (AAC | 0xAE) // PCI-1714UL
#define BD_MIC3714 (AAC | 0xAF) // MIC-3714
#define BD_AD5069 (AAC | 0xB0) // ADAM 5069 Module
#define BD_PCM3718HO (AAC | 0xB1) // PCM-3718HO
#define BD_PCI1741U (AAC | 0xB3) // PCI-1741U. 0xB2 reserved to MIC-3680
#define BD_MIC3723 (AAC | 0xB4) // MIC-3723
#define BD_PCI1718HDU (AAC | 0xB5) // PCI-1718HDU
#define BD_MIC3758DIO (AAC | 0xB6) // MIC-3758DIO
#define BD_PCI1727U (AAC | 0xB7) // PCI-1727U
#define BD_PCI1718HGU (AAC | 0xB8) // PCI-1718HGU
///////////////////// V2.2 ////////////////////
#define BD_PCI1715U (AAC | 0xB9) // PCI-1715U
#define BD_PCI1716L (AAC | 0xBA) // PCI-1716L
#define BD_PCI1735U (AAC | 0xBB) // PCI-1735U
#define BD_USB4711 (AAC | 0xBC) // USB-4711
#define BD_PCI1737U (AAC | 0xBD) // PCI-1737U
#define BD_PCI1739U (AAC | 0xBE) // PCI-1739U
#define BD_AD4069 (AAC | 0xBF) // ADAM 4069 Module
#define BD_PCI1742U (AAC | 0xC0) // PCI-1742U
#define BD_AD4117 (AAC | 0xC1) // ADAM 4117 Module
#define BD_AD4118 (AAC | 0xC2) // ADAM 4118 Module
#define BD_AD4150 (AAC | 0xC3) // ADAM 4150 Module
#define BD_AD4168 (AAC | 0xC4) // ADAM 4168 Module
#define BD_AD4022T (AAC | 0xC5) // ADAM 4022T Module
#define BD_USB4718 (AAC | 0xC6) // USB-4718
#define BD_MIC3755 (AAC | 0xC7) // MIC3755
#define BD_USB4761 (AAC | 0xC8) // USB4761
#define BD_AD4019P (AAC | 0xC9) // ADAM 4019 Plus Module
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -