⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 driver.h

📁 这是我编写的深圳地铁S335型司机控制器的检测程序
💻 H
📖 第 1 页 / 共 5 页
字号:
/***************************************************************************
 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 + -