2 * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
7 * Tel: +19(0)7223/9493-0
8 * Fax: +49(0)7223/9493-92
9 * http://www.addi-data.com
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the Free
14 * Software Foundation; either version 2 of the License, or (at your option)
18 /* Card Specific information */
19 /* #define APCI3200_ADDRESS_RANGE 264 */
28 int i_AutoCalibration;
29 unsigned int ui_ReloadValue;
30 unsigned int ui_TimeUnitReloadVal;
32 int i_ModuleSelection;
33 } Config_Parameters_Module1, Config_Parameters_Module2,
34 Config_Parameters_Module3, Config_Parameters_Module4;
36 /* ANALOG INPUT RANGE */
37 static const struct comedi_lrange range_apci3200_ai = { 8, {
49 static const struct comedi_lrange range_apci3300_ai = { 4, {
57 /* Analog Input related Defines */
58 #define APCI3200_AI_OFFSET_GAIN 0
59 #define APCI3200_AI_SC_TEST 4
60 #define APCI3200_AI_IRQ 8
61 #define APCI3200_AI_AUTOCAL 12
62 #define APCI3200_RELOAD_CONV_TIME_VAL 32
63 #define APCI3200_CONV_TIME_TIME_BASE 36
64 #define APCI3200_RELOAD_DELAY_TIME_VAL 40
65 #define APCI3200_DELAY_TIME_TIME_BASE 44
66 #define APCI3200_AI_MODULE1 0
67 #define APCI3200_AI_MODULE2 64
68 #define APCI3200_AI_MODULE3 128
69 #define APCI3200_AI_MODULE4 192
72 #define APCI3200_AI_EOSIRQ 16
73 #define APCI3200_AI_EOS 20
74 #define APCI3200_AI_CHAN_ID 24
75 #define APCI3200_AI_CHAN_VAL 28
76 #define ANALOG_INPUT 0
80 #define ENABLE_EXT_TRIG 1
81 #define ENABLE_EXT_GATE 2
82 #define ENABLE_EXT_TRIG_GATE 3
84 #define APCI3200_MAXVOLT 2.5
85 #define ADDIDATA_GREATER_THAN_TEST 0
86 #define ADDIDATA_LESS_THAN_TEST 1
88 #define ADDIDATA_UNIPOLAR 1
89 #define ADDIDATA_BIPOLAR 2
91 /* BEGIN JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values */
93 /* END JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values */
95 struct str_ADDIDATA_RTDStruct {
96 unsigned int ul_NumberOfValue;
97 unsigned int *pul_ResistanceValue;
98 unsigned int *pul_TemperatureValue;
101 /* BEGIN JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values */
104 /* Begin JK 05/08/2003 change for Linux */
105 unsigned long ul_CurrentSourceCJC;
106 unsigned long ul_CurrentSource[5];
107 /* End JK 05/08/2003 change for Linux */
109 /* Begin CG 15/02/02 Rev 1.0 -> Rev 1.1 : Add Header Type 1 */
110 unsigned long ul_GainFactor[8]; /* Gain Factor */
111 unsigned int w_GainValue[10];
112 /* End CG 15/02/02 Rev 1.0 -> Rev 1.1 : Add Header Type 1 */
115 /* END JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values */
117 /* BEGIN JK 06.07.04: Management of sevrals boards */
118 struct str_BoardInfos {
124 int i_ADDIDATAPolarity;
126 int i_AutoCalibration;
127 int i_ADDIDATAConversionTime;
128 int i_ADDIDATAConversionTimeUnit;
137 unsigned int ui_Channel_num;
140 /* UINT ui_InterruptChannelValue[96]; //Buffer */
141 unsigned int ui_InterruptChannelValue[144]; /* Buffer */
142 unsigned char b_StructInitialized;
143 /* Begin JK 19.10.2004: APCI-3200 Driver update 0.7.57 -> 0.7.68 */
144 unsigned int ui_ScanValueArray[7 + 12]; /* 7 is the maximal number of channels */
145 /* End JK 19.10.2004: APCI-3200 Driver update 0.7.57 -> 0.7.68 */
147 /* Begin JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values */
148 int i_ConnectionType;
150 struct str_Module s_Module[MAX_MODULE];
151 /* End JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values */
154 /* END JK 06.07.04: Management of sevrals boards */