Commit d896e0e4 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: Convert struct addi_board initialization to C99 format

Convert the struct addi_board initialization to C99 format and remove
all the NULL or 0 initializers. This makes maintaining and editing the
code simpler and less error prone.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 16b91a40
...@@ -224,2307 +224,1204 @@ MODULE_DEVICE_TABLE(pci, addi_apci_tbl); ...@@ -224,2307 +224,1204 @@ MODULE_DEVICE_TABLE(pci, addi_apci_tbl);
static const struct addi_board boardtypes[] = { static const struct addi_board boardtypes[] = {
#ifdef CONFIG_APCI_3120 #ifdef CONFIG_APCI_3120
{"apci3120", {
APCI3120_BOARD_VENDOR_ID, .pc_DriverName = "apci3120",
0x818D, .i_VendorId = APCI3120_BOARD_VENDOR_ID,
AMCC_OP_REG_SIZE, .i_DeviceId = 0x818D,
APCI3120_ADDRESS_RANGE, .i_IorangeBase0 = AMCC_OP_REG_SIZE,
8, .i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
0, .i_IorangeBase2 = 8,
ADDIDATA_NO_EEPROM, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .i_NbrAiChannel = 16,
16, .i_NbrAiChannelDiff = 8,
8, .i_AiChannelList = 16,
16, .i_NbrAoChannel = 8,
8, .i_AiMaxdata = 0xffff,
0xffff, .i_AoMaxdata = 0x3fff,
0x3fff, .pr_AiRangelist = &range_apci3120_ai,
&range_apci3120_ai, .pr_AoRangelist = &range_apci3120_ao,
&range_apci3120_ao, .i_NbrDiChannel = 4,
4, .i_NbrDoChannel = 4,
4, .i_DoMaxdata = 0x0f,
0x0f, .i_Dma = 1,
0, .i_Timer = 1,
NULL, .b_AvailableConvertUnit = 1,
1, .ui_MinAcquisitiontimeNs = 10000,
1, .ui_MinDelaytimeNs = 100000,
1, .interrupt = v_APCI3120_Interrupt,
10000, .reset = i_APCI3120_Reset,
100000, .ai_config = i_APCI3120_InsnConfigAnalogInput,
v_APCI3120_Interrupt, .ai_read = i_APCI3120_InsnReadAnalogInput,
i_APCI3120_Reset, .ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
i_APCI3120_InsnConfigAnalogInput, .ai_cmd = i_APCI3120_CommandAnalogInput,
i_APCI3120_InsnReadAnalogInput, .ai_cancel = i_APCI3120_StopCyclicAcquisition,
NULL, .ao_write = i_APCI3120_InsnWriteAnalogOutput,
NULL, .di_read = i_APCI3120_InsnReadDigitalInput,
i_APCI3120_CommandTestAnalogInput, .di_bits = i_APCI3120_InsnBitsDigitalInput,
i_APCI3120_CommandAnalogInput, .do_config = i_APCI3120_InsnConfigDigitalOutput,
i_APCI3120_StopCyclicAcquisition, .do_write = i_APCI3120_InsnWriteDigitalOutput,
NULL, .do_bits = i_APCI3120_InsnBitsDigitalOutput,
i_APCI3120_InsnWriteAnalogOutput, .timer_config = i_APCI3120_InsnConfigTimer,
NULL, .timer_write = i_APCI3120_InsnWriteTimer,
NULL, .timer_read = i_APCI3120_InsnReadTimer,
i_APCI3120_InsnReadDigitalInput, },
NULL,
i_APCI3120_InsnBitsDigitalInput,
i_APCI3120_InsnConfigDigitalOutput,
i_APCI3120_InsnWriteDigitalOutput,
i_APCI3120_InsnBitsDigitalOutput,
NULL,
i_APCI3120_InsnConfigTimer,
i_APCI3120_InsnWriteTimer,
i_APCI3120_InsnReadTimer,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_1032 #ifdef CONFIG_APCI_1032
{"apci1032", {
APCI1032_BOARD_VENDOR_ID, .pc_DriverName = "apci1032",
0x1003, .i_VendorId = APCI1032_BOARD_VENDOR_ID,
4, .i_DeviceId = 0x1003,
APCI1032_ADDRESS_RANGE, .i_IorangeBase0 = 4,
0, .i_IorangeBase1 = APCI1032_ADDRESS_RANGE,
0, .i_PCIEeprom = ADDIDATA_EEPROM,
ADDIDATA_EEPROM, .pc_EepromChip = ADDIDATA_93C76,
ADDIDATA_93C76, .i_NbrDiChannel = 32,
0, .interrupt = v_APCI1032_Interrupt,
0, .reset = i_APCI1032_Reset,
0, .di_config = i_APCI1032_ConfigDigitalInput,
0, .di_read = i_APCI1032_Read1DigitalInput,
0, .di_bits = i_APCI1032_ReadMoreDigitalInput,
0, },
NULL,
NULL,
32,
0,
0,
0,
NULL,
0,
0,
0,
0,
0,
v_APCI1032_Interrupt,
i_APCI1032_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI1032_ConfigDigitalInput,
i_APCI1032_Read1DigitalInput,
NULL,
i_APCI1032_ReadMoreDigitalInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_1516 #ifdef CONFIG_APCI_1516
{"apci1516", {
APCI1516_BOARD_VENDOR_ID, .pc_DriverName = "apci1516",
0x1001, .i_VendorId = APCI1516_BOARD_VENDOR_ID,
128, .i_DeviceId = 0x1001,
APCI1516_ADDRESS_RANGE, .i_IorangeBase0 = 128,
32, .i_IorangeBase1 = APCI1516_ADDRESS_RANGE,
0, .i_IorangeBase2 = 32,
ADDIDATA_EEPROM, .i_PCIEeprom = ADDIDATA_EEPROM,
ADDIDATA_S5920, .pc_EepromChip = ADDIDATA_S5920,
0, .i_NbrDiChannel = 8,
0, .i_NbrDoChannel = 8,
0, .i_Timer = 1,
0, .reset = i_APCI1516_Reset,
0, .di_read = i_APCI1516_Read1DigitalInput,
0, .di_bits = i_APCI1516_ReadMoreDigitalInput,
NULL, .do_config = i_APCI1516_ConfigDigitalOutput,
NULL, .do_write = i_APCI1516_WriteDigitalOutput,
8, .do_bits = i_APCI1516_ReadDigitalOutput,
8, .timer_config = i_APCI1516_ConfigWatchdog,
0, .timer_write = i_APCI1516_StartStopWriteWatchdog,
0, .timer_read = i_APCI1516_ReadWatchdog,
NULL, },
0,
1,
0,
0,
0,
NULL,
i_APCI1516_Reset,
NULL, NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI1516_Read1DigitalInput,
NULL,
i_APCI1516_ReadMoreDigitalInput,
i_APCI1516_ConfigDigitalOutput,
i_APCI1516_WriteDigitalOutput,
i_APCI1516_ReadDigitalOutput,
NULL,
i_APCI1516_ConfigWatchdog,
i_APCI1516_StartStopWriteWatchdog,
i_APCI1516_ReadWatchdog,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_2016 #ifdef CONFIG_APCI_2016
{"apci2016", {
APCI2016_BOARD_VENDOR_ID, .pc_DriverName = "apci2016",
0x1002, .i_VendorId = APCI2016_BOARD_VENDOR_ID,
128, .i_DeviceId = 0x1002,
APCI2016_ADDRESS_RANGE, .i_IorangeBase0 = 128,
32, .i_IorangeBase1 = APCI2016_ADDRESS_RANGE,
0, .i_IorangeBase2 = 32,
ADDIDATA_EEPROM, .i_PCIEeprom = ADDIDATA_EEPROM,
ADDIDATA_S5920, .pc_EepromChip = ADDIDATA_S5920,
0, .i_NbrDoChannel = 16,
0, .i_Timer = 1,
0, .reset = i_APCI2016_Reset,
0, .do_config = i_APCI2016_ConfigDigitalOutput,
0, .do_write = i_APCI2016_WriteDigitalOutput,
0, .do_bits = i_APCI2016_BitsDigitalOutput,
NULL, .timer_config = i_APCI2016_ConfigWatchdog,
NULL, .timer_write = i_APCI2016_StartStopWriteWatchdog,
0, .timer_read = i_APCI2016_ReadWatchdog,
16, },
0,
0,
NULL,
0,
1,
0,
0,
0,
NULL,
i_APCI2016_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI2016_ConfigDigitalOutput,
i_APCI2016_WriteDigitalOutput,
i_APCI2016_BitsDigitalOutput,
NULL,
i_APCI2016_ConfigWatchdog,
i_APCI2016_StartStopWriteWatchdog,
i_APCI2016_ReadWatchdog,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_2032 #ifdef CONFIG_APCI_2032
{"apci2032", {
APCI2032_BOARD_VENDOR_ID, .pc_DriverName = "apci2032",
0x1004, .i_VendorId = APCI2032_BOARD_VENDOR_ID,
4, .i_DeviceId = 0x1004,
APCI2032_ADDRESS_RANGE, .i_IorangeBase0 = 4,
0, .i_IorangeBase1 = APCI2032_ADDRESS_RANGE,
0, .i_PCIEeprom = ADDIDATA_EEPROM,
ADDIDATA_EEPROM, .pc_EepromChip = ADDIDATA_93C76,
ADDIDATA_93C76, .i_NbrDoChannel = 32,
0, .i_DoMaxdata = 0xffffffff,
0, .i_Timer = 1,
0, .interrupt = v_APCI2032_Interrupt,
0, .reset = i_APCI2032_Reset,
0, .do_config = i_APCI2032_ConfigDigitalOutput,
0, .do_write = i_APCI2032_WriteDigitalOutput,
NULL, .do_bits = i_APCI2032_ReadDigitalOutput,
NULL, .do_read = i_APCI2032_ReadInterruptStatus,
0, .timer_config = i_APCI2032_ConfigWatchdog,
32, .timer_write = i_APCI2032_StartStopWriteWatchdog,
0xffffffff, .timer_read = i_APCI2032_ReadWatchdog,
0, },
NULL,
0,
1,
0,
0,
0,
v_APCI2032_Interrupt,
i_APCI2032_Reset,
NULL, NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI2032_ConfigDigitalOutput,
i_APCI2032_WriteDigitalOutput,
i_APCI2032_ReadDigitalOutput,
i_APCI2032_ReadInterruptStatus,
i_APCI2032_ConfigWatchdog,
i_APCI2032_StartStopWriteWatchdog,
i_APCI2032_ReadWatchdog,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_2200 #ifdef CONFIG_APCI_2200
{"apci2200", {
APCI2200_BOARD_VENDOR_ID, .pc_DriverName = "apci2200",
0x1005, .i_VendorId = APCI2200_BOARD_VENDOR_ID,
4, .i_DeviceId = 0x1005,
APCI2200_ADDRESS_RANGE, .i_IorangeBase0 = 4,
0, .i_IorangeBase1 = APCI2200_ADDRESS_RANGE,
0, .i_PCIEeprom = ADDIDATA_EEPROM,
ADDIDATA_EEPROM, .pc_EepromChip = ADDIDATA_93C76,
ADDIDATA_93C76, .i_NbrDiChannel = 8,
0, .i_NbrDoChannel = 16,
0, .i_Timer = 1,
0, .reset = i_APCI2200_Reset,
0, .di_read = i_APCI2200_Read1DigitalInput,
0, .di_bits = i_APCI2200_ReadMoreDigitalInput,
0, .do_config = i_APCI2200_ConfigDigitalOutput,
NULL, .do_write = i_APCI2200_WriteDigitalOutput,
NULL, .do_bits = i_APCI2200_ReadDigitalOutput,
8, .timer_config = i_APCI2200_ConfigWatchdog,
16, .timer_write = i_APCI2200_StartStopWriteWatchdog,
0, .timer_read = i_APCI2200_ReadWatchdog,
0, },
NULL,
0,
1,
0,
0,
0,
NULL,
i_APCI2200_Reset,
NULL, NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI2200_Read1DigitalInput,
NULL,
i_APCI2200_ReadMoreDigitalInput,
i_APCI2200_ConfigDigitalOutput,
i_APCI2200_WriteDigitalOutput,
i_APCI2200_ReadDigitalOutput,
NULL,
i_APCI2200_ConfigWatchdog,
i_APCI2200_StartStopWriteWatchdog,
i_APCI2200_ReadWatchdog,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_1564 #ifdef CONFIG_APCI_1564
{"apci1564", {
APCI1564_BOARD_VENDOR_ID, .pc_DriverName = "apci1564",
0x1006, .i_VendorId = APCI1564_BOARD_VENDOR_ID,
128, .i_DeviceId = 0x1006,
APCI1564_ADDRESS_RANGE, .i_IorangeBase0 = 128,
0, .i_IorangeBase1 = APCI1564_ADDRESS_RANGE,
0, .i_PCIEeprom = ADDIDATA_EEPROM,
ADDIDATA_EEPROM, .pc_EepromChip = ADDIDATA_93C76,
ADDIDATA_93C76, .i_NbrDiChannel = 32,
0, .i_NbrDoChannel = 32,
0, .i_DoMaxdata = 0xffffffff,
0, .i_Timer = 1,
0, .interrupt = v_APCI1564_Interrupt,
0, .reset = i_APCI1564_Reset,
0, .di_config = i_APCI1564_ConfigDigitalInput,
NULL, .di_read = i_APCI1564_Read1DigitalInput,
NULL, .di_bits = i_APCI1564_ReadMoreDigitalInput,
32, .do_config = i_APCI1564_ConfigDigitalOutput,
32, .do_write = i_APCI1564_WriteDigitalOutput,
0xffffffff, .do_bits = i_APCI1564_ReadDigitalOutput,
0, .do_read = i_APCI1564_ReadInterruptStatus,
NULL, .timer_config = i_APCI1564_ConfigTimerCounterWatchdog,
0, .timer_write = i_APCI1564_StartStopWriteTimerCounterWatchdog,
1, .timer_read = i_APCI1564_ReadTimerCounterWatchdog,
0, },
0,
0,
v_APCI1564_Interrupt,
i_APCI1564_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI1564_ConfigDigitalInput,
i_APCI1564_Read1DigitalInput,
NULL,
i_APCI1564_ReadMoreDigitalInput,
i_APCI1564_ConfigDigitalOutput,
i_APCI1564_WriteDigitalOutput,
i_APCI1564_ReadDigitalOutput,
i_APCI1564_ReadInterruptStatus,
i_APCI1564_ConfigTimerCounterWatchdog,
i_APCI1564_StartStopWriteTimerCounterWatchdog,
i_APCI1564_ReadTimerCounterWatchdog,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_1500 #ifdef CONFIG_APCI_1500
{"apci1500", {
APCI1500_BOARD_VENDOR_ID, .pc_DriverName = "apci1500",
0x80fc, .i_VendorId = APCI1500_BOARD_VENDOR_ID,
128, .i_DeviceId = 0x80fc,
APCI1500_ADDRESS_RANGE, .i_IorangeBase0 = 128,
4, .i_IorangeBase1 = APCI1500_ADDRESS_RANGE,
0, .i_IorangeBase2 = 4,
ADDIDATA_NO_EEPROM, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .i_NbrDiChannel = 16,
0, .i_NbrDoChannel = 16,
0, .i_DoMaxdata = 0xffff,
0, .i_Timer = 1,
0, .interrupt = v_APCI1500_Interrupt,
0, .reset = i_APCI1500_Reset,
0, .di_config = i_APCI1500_ConfigDigitalInputEvent,
NULL, .di_read = i_APCI1500_Initialisation,
NULL, .di_write = i_APCI1500_StartStopInputEvent,
16, .di_bits = i_APCI1500_ReadMoreDigitalInput,
16, .do_config = i_APCI1500_ConfigDigitalOutputErrorInterrupt,
0xffff, .do_write = i_APCI1500_WriteDigitalOutput,
0, .do_bits = i_APCI1500_ConfigureInterrupt,
NULL, .timer_config = i_APCI1500_ConfigCounterTimerWatchdog,
0, .timer_write = i_APCI1500_StartStopTriggerTimerCounterWatchdog,
1, .timer_read = i_APCI1500_ReadInterruptMask,
0, .timer_bits = i_APCI1500_ReadCounterTimerWatchdog,
0, },
0,
v_APCI1500_Interrupt,
i_APCI1500_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI1500_ConfigDigitalInputEvent,
i_APCI1500_Initialisation,
i_APCI1500_StartStopInputEvent,
i_APCI1500_ReadMoreDigitalInput,
i_APCI1500_ConfigDigitalOutputErrorInterrupt,
i_APCI1500_WriteDigitalOutput,
i_APCI1500_ConfigureInterrupt,
NULL,
i_APCI1500_ConfigCounterTimerWatchdog,
i_APCI1500_StartStopTriggerTimerCounterWatchdog,
i_APCI1500_ReadInterruptMask,
i_APCI1500_ReadCounterTimerWatchdog,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_3001 #ifdef CONFIG_APCI_3001
{"apci3001", {
APCI3120_BOARD_VENDOR_ID, .pc_DriverName = "apci3001",
0x828D, .i_VendorId = APCI3120_BOARD_VENDOR_ID,
AMCC_OP_REG_SIZE, .i_DeviceId = 0x828D,
APCI3120_ADDRESS_RANGE, .i_IorangeBase0 = AMCC_OP_REG_SIZE,
8, .i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
0, .i_IorangeBase2 = 8,
ADDIDATA_NO_EEPROM, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .i_NbrAiChannel = 16,
16, .i_NbrAiChannelDiff = 8,
8, .i_AiChannelList = 16,
16, .i_AiMaxdata = 0xfff,
0, .pr_AiRangelist = &range_apci3120_ai,
0xfff, .i_NbrDiChannel = 4,
0, .i_NbrDoChannel = 4,
&range_apci3120_ai, .i_DoMaxdata = 0x0f,
NULL, .i_Dma = 1,
4, .i_Timer = 1,
4, .b_AvailableConvertUnit = 1,
0x0f, .ui_MinAcquisitiontimeNs = 10000,
0, .ui_MinDelaytimeNs = 100000,
NULL, .interrupt = v_APCI3120_Interrupt,
1, .reset = i_APCI3120_Reset,
1, .ai_config = i_APCI3120_InsnConfigAnalogInput,
1, .ai_read = i_APCI3120_InsnReadAnalogInput,
10000, .ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
100000, .ai_cmd = i_APCI3120_CommandAnalogInput,
v_APCI3120_Interrupt, .ai_cancel = i_APCI3120_StopCyclicAcquisition,
i_APCI3120_Reset, .di_read = i_APCI3120_InsnReadDigitalInput,
i_APCI3120_InsnConfigAnalogInput, .di_bits = i_APCI3120_InsnBitsDigitalInput,
i_APCI3120_InsnReadAnalogInput, .do_config = i_APCI3120_InsnConfigDigitalOutput,
NULL, .do_write = i_APCI3120_InsnWriteDigitalOutput,
NULL, .do_bits = i_APCI3120_InsnBitsDigitalOutput,
i_APCI3120_CommandTestAnalogInput, .timer_config = i_APCI3120_InsnConfigTimer,
i_APCI3120_CommandAnalogInput, .timer_write = i_APCI3120_InsnWriteTimer,
i_APCI3120_StopCyclicAcquisition, .timer_read = i_APCI3120_InsnReadTimer,
NULL, },
NULL,
NULL,
NULL,
i_APCI3120_InsnReadDigitalInput,
NULL,
i_APCI3120_InsnBitsDigitalInput,
i_APCI3120_InsnConfigDigitalOutput,
i_APCI3120_InsnWriteDigitalOutput,
i_APCI3120_InsnBitsDigitalOutput,
NULL,
i_APCI3120_InsnConfigTimer,
i_APCI3120_InsnWriteTimer,
i_APCI3120_InsnReadTimer,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_3501 #ifdef CONFIG_APCI_3501
{"apci3501", {
APCI3501_BOARD_VENDOR_ID, .pc_DriverName = "apci3501",
0x3001, .i_VendorId = APCI3501_BOARD_VENDOR_ID,
64, .i_DeviceId = 0x3001,
APCI3501_ADDRESS_RANGE, .i_IorangeBase0 = 64,
0, .i_IorangeBase1 = APCI3501_ADDRESS_RANGE,
0, .i_PCIEeprom = ADDIDATA_EEPROM,
ADDIDATA_EEPROM, .pc_EepromChip = ADDIDATA_S5933,
ADDIDATA_S5933, .i_AoMaxdata = 16383,
0, .pr_AoRangelist = &range_apci3501_ao,
0, .i_NbrDiChannel = 2,
0, .i_NbrDoChannel = 2,
8, .i_DoMaxdata = 0x3,
0, .i_Timer = 1,
16383, .interrupt = v_APCI3501_Interrupt,
NULL, .reset = i_APCI3501_Reset,
&range_apci3501_ao, .ao_config = i_APCI3501_ConfigAnalogOutput,
2, .ao_write = i_APCI3501_WriteAnalogOutput,
2, .di_bits = i_APCI3501_ReadDigitalInput,
0x3, .do_config = i_APCI3501_ConfigDigitalOutput,
0, .do_write = i_APCI3501_WriteDigitalOutput,
NULL, .do_bits = i_APCI3501_ReadDigitalOutput,
0, .timer_config = i_APCI3501_ConfigTimerCounterWatchdog,
1, .timer_write = i_APCI3501_StartStopWriteTimerCounterWatchdog,
0, .timer_read = i_APCI3501_ReadTimerCounterWatchdog,
0, },
0,
v_APCI3501_Interrupt,
i_APCI3501_Reset,
NULL, NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3501_ConfigAnalogOutput,
i_APCI3501_WriteAnalogOutput,
NULL,
NULL,
NULL,
NULL,
i_APCI3501_ReadDigitalInput,
i_APCI3501_ConfigDigitalOutput,
i_APCI3501_WriteDigitalOutput,
i_APCI3501_ReadDigitalOutput,
NULL,
i_APCI3501_ConfigTimerCounterWatchdog,
i_APCI3501_StartStopWriteTimerCounterWatchdog,
i_APCI3501_ReadTimerCounterWatchdog,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_035 #ifdef CONFIG_APCI_035
{"apci035", {
APCI035_BOARD_VENDOR_ID, .pc_DriverName = "apci035",
0x0300, .i_VendorId = APCI035_BOARD_VENDOR_ID,
127, .i_DeviceId = 0x0300,
APCI035_ADDRESS_RANGE, .i_IorangeBase0 = 127,
0, .i_IorangeBase1 = APCI035_ADDRESS_RANGE,
0, .i_PCIEeprom = 1,
1, .pc_EepromChip = ADDIDATA_S5920,
ADDIDATA_S5920, .i_NbrAiChannel = 16,
16, .i_NbrAiChannelDiff = 8,
8, .i_AiChannelList = 16,
16, .i_AiMaxdata = 0xff,
0, .pr_AiRangelist = &range_apci035_ai,
0xff, .i_Timer = 1,
0, .ui_MinAcquisitiontimeNs = 10000,
&range_apci035_ai, .ui_MinDelaytimeNs = 100000,
NULL, .interrupt = v_APCI035_Interrupt,
0, .reset = i_APCI035_Reset,
0, .ai_config = i_APCI035_ConfigAnalogInput,
0, .ai_read = i_APCI035_ReadAnalogInput,
0, .timer_config = i_APCI035_ConfigTimerWatchdog,
NULL, .timer_write = i_APCI035_StartStopWriteTimerWatchdog,
0, .timer_read = i_APCI035_ReadTimerWatchdog,
1, },
0,
10000,
100000,
v_APCI035_Interrupt,
i_APCI035_Reset,
i_APCI035_ConfigAnalogInput,
i_APCI035_ReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI035_ConfigTimerWatchdog,
i_APCI035_StartStopWriteTimerWatchdog,
i_APCI035_ReadTimerWatchdog,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_3200 #ifdef CONFIG_APCI_3200
{"apci3200", {
APCI3200_BOARD_VENDOR_ID, .pc_DriverName = "apci3200",
0x3000, .i_VendorId = APCI3200_BOARD_VENDOR_ID,
128, .i_DeviceId = 0x3000,
256, .i_IorangeBase0 = 128,
4, .i_IorangeBase1 = 256,
4, .i_IorangeBase2 = 4,
ADDIDATA_EEPROM, .i_IorangeBase3 = 4,
ADDIDATA_S5920, .i_PCIEeprom = ADDIDATA_EEPROM,
16, .pc_EepromChip = ADDIDATA_S5920,
8, .i_NbrAiChannel = 16,
16, .i_NbrAiChannelDiff = 8,
0, .i_AiChannelList = 16,
0x3ffff, .i_AiMaxdata = 0x3ffff,
0, .pr_AiRangelist = &range_apci3200_ai,
&range_apci3200_ai, .i_NbrDiChannel = 4,
NULL, .i_NbrDoChannel = 4,
4, .ui_MinAcquisitiontimeNs = 10000,
4, .ui_MinDelaytimeNs = 100000,
0, .interrupt = v_APCI3200_Interrupt,
0, .reset = i_APCI3200_Reset,
NULL, .ai_config = i_APCI3200_ConfigAnalogInput,
0, .ai_read = i_APCI3200_ReadAnalogInput,
0, .ai_write = i_APCI3200_InsnWriteReleaseAnalogInput,
0, .ai_bits = i_APCI3200_InsnBits_AnalogInput_Test,
10000, .ai_cmdtest = i_APCI3200_CommandTestAnalogInput,
100000, .ai_cmd = i_APCI3200_CommandAnalogInput,
v_APCI3200_Interrupt, .ai_cancel = i_APCI3200_StopCyclicAcquisition,
i_APCI3200_Reset, .di_bits = i_APCI3200_ReadDigitalInput,
i_APCI3200_ConfigAnalogInput, .do_config = i_APCI3200_ConfigDigitalOutput,
i_APCI3200_ReadAnalogInput, .do_write = i_APCI3200_WriteDigitalOutput,
i_APCI3200_InsnWriteReleaseAnalogInput, .do_bits = i_APCI3200_ReadDigitalOutput,
i_APCI3200_InsnBits_AnalogInput_Test, },
i_APCI3200_CommandTestAnalogInput,
i_APCI3200_CommandAnalogInput,
i_APCI3200_StopCyclicAcquisition,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3200_ReadDigitalInput,
i_APCI3200_ConfigDigitalOutput,
i_APCI3200_WriteDigitalOutput,
i_APCI3200_ReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_3300 #ifdef CONFIG_APCI_3300
/* Begin JK .20.10.2004 = APCI-3300 integration */ /* Begin JK .20.10.2004 = APCI-3300 integration */
{"apci3300", {
APCI3200_BOARD_VENDOR_ID, .pc_DriverName = "apci3300",
0x3007, .i_VendorId = APCI3200_BOARD_VENDOR_ID,
128, .i_DeviceId = 0x3007,
256, .i_IorangeBase0 = 128,
4, .i_IorangeBase1 = 256,
4, .i_IorangeBase2 = 4,
ADDIDATA_EEPROM, .i_IorangeBase3 = 4,
ADDIDATA_S5920, .i_PCIEeprom = ADDIDATA_EEPROM,
0, .pc_EepromChip = ADDIDATA_S5920,
8, .i_NbrAiChannelDiff = 8,
8, .i_AiChannelList = 8,
0, .i_AiMaxdata = 0x3ffff,
0x3ffff, .pr_AiRangelist = &range_apci3300_ai,
0, .i_NbrDiChannel = 4,
&range_apci3300_ai, .i_NbrDoChannel = 4,
NULL, .ui_MinAcquisitiontimeNs = 10000,
4, .ui_MinDelaytimeNs = 100000,
4, .interrupt = v_APCI3200_Interrupt,
0, .reset = i_APCI3200_Reset,
0, .ai_config = i_APCI3200_ConfigAnalogInput,
NULL, .ai_read = i_APCI3200_ReadAnalogInput,
0, .ai_write = i_APCI3200_InsnWriteReleaseAnalogInput,
0, .ai_bits = i_APCI3200_InsnBits_AnalogInput_Test,
0, .ai_cmdtest = i_APCI3200_CommandTestAnalogInput,
10000, .ai_cmd = i_APCI3200_CommandAnalogInput,
100000, .ai_cancel = i_APCI3200_StopCyclicAcquisition,
v_APCI3200_Interrupt, .di_bits = i_APCI3200_ReadDigitalInput,
i_APCI3200_Reset, .do_config = i_APCI3200_ConfigDigitalOutput,
i_APCI3200_ConfigAnalogInput, .do_write = i_APCI3200_WriteDigitalOutput,
i_APCI3200_ReadAnalogInput, .do_bits = i_APCI3200_ReadDigitalOutput,
i_APCI3200_InsnWriteReleaseAnalogInput, },
i_APCI3200_InsnBits_AnalogInput_Test,
i_APCI3200_CommandTestAnalogInput,
i_APCI3200_CommandAnalogInput,
i_APCI3200_StopCyclicAcquisition,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3200_ReadDigitalInput,
i_APCI3200_ConfigDigitalOutput,
i_APCI3200_WriteDigitalOutput,
i_APCI3200_ReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_1710 #ifdef CONFIG_APCI_1710
{"apci1710", APCI1710_BOARD_VENDOR_ID, APCI1710_BOARD_DEVICE_ID, {
128, .pc_DriverName = "apci1710",
8, .i_VendorId = APCI1710_BOARD_VENDOR_ID,
256, .i_DeviceId = APCI1710_BOARD_DEVICE_ID,
0, .i_IorangeBase0 = 128,
ADDIDATA_NO_EEPROM, .i_IorangeBase1 = 8,
NULL, .i_IorangeBase2 = 256,
0, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .interrupt = v_APCI1710_Interrupt,
0, .reset = i_APCI1710_Reset,
0, },
0,
0,
NULL,
NULL,
0,
0,
0,
0,
NULL,
0,
0,
0,
0,
0,
v_APCI1710_Interrupt,
i_APCI1710_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
#endif #endif
#ifdef CONFIG_APCI_16XX #ifdef CONFIG_APCI_16XX
{"apci1648", {
PCI_VENDOR_ID_ADDIDATA, .pc_DriverName = "apci1648",
0x1009, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
128, .i_DeviceId = 0x1009,
0, .i_IorangeBase0 = 128,
0, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .i_NbrTTLChannel = 48,
ADDIDATA_NO_EEPROM, .pr_TTLRangelist = &range_apci16xx_ttl,
NULL, .reset = i_APCI16XX_Reset,
0, .ttl_config = i_APCI16XX_InsnConfigInitTTLIO,
0, .ttl_bits = i_APCI16XX_InsnBitsReadTTLIO,
0, .ttl_read = i_APCI16XX_InsnReadTTLIOAllPortValue,
0, .ttl_write = i_APCI16XX_InsnBitsWriteTTLIO,
0, }, {
0, .pc_DriverName = "apci1696",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x100A,
0, .i_IorangeBase0 = 128,
0, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .i_NbrTTLChannel = 96,
48, .pr_TTLRangelist = &range_apci16xx_ttl,
&range_apci16xx_ttl, .reset = i_APCI16XX_Reset,
0, .ttl_config = i_APCI16XX_InsnConfigInitTTLIO,
0, .ttl_bits = i_APCI16XX_InsnBitsReadTTLIO,
0, .ttl_read = i_APCI16XX_InsnReadTTLIOAllPortValue,
0, .ttl_write = i_APCI16XX_InsnBitsWriteTTLIO,
0, },
NULL,
i_APCI16XX_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI16XX_InsnConfigInitTTLIO,
i_APCI16XX_InsnBitsReadTTLIO,
i_APCI16XX_InsnReadTTLIOAllPortValue,
i_APCI16XX_InsnBitsWriteTTLIO},
{"apci1696",
PCI_VENDOR_ID_ADDIDATA,
0x100A,
128,
0,
0,
0,
ADDIDATA_NO_EEPROM,
NULL,
0,
0,
0,
0,
0,
0,
NULL,
NULL,
0,
0,
0,
96,
&range_apci16xx_ttl,
0,
0,
0,
0,
0,
NULL,
i_APCI16XX_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI16XX_InsnConfigInitTTLIO,
i_APCI16XX_InsnBitsReadTTLIO,
i_APCI16XX_InsnReadTTLIOAllPortValue,
i_APCI16XX_InsnBitsWriteTTLIO},
#endif #endif
#ifdef CONFIG_APCI_3XXX #ifdef CONFIG_APCI_3XXX
{"apci3000-16", {
PCI_VENDOR_ID_ADDIDATA, .pc_DriverName = "apci3000-16",
0x3010, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
256, .i_DeviceId = 0x3010,
256, .i_IorangeBase0 = 256,
256, .i_IorangeBase1 = 256,
256, .i_IorangeBase2 = 256,
ADDIDATA_NO_EEPROM, .i_IorangeBase3 = 256,
ADDIDATA_9054, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
16, .pc_EepromChip = ADDIDATA_9054,
8, .i_NbrAiChannel = 16,
16, .i_NbrAiChannelDiff = 8,
0, .i_AiChannelList = 16,
4095, .i_AiMaxdata = 4095,
0, .pr_AiRangelist = &range_apci3XXX_ai,
&range_apci3XXX_ai, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
0, .b_AvailableConvertUnit = 6,
0, .ui_MinAcquisitiontimeNs = 10000,
0, .interrupt = v_APCI3XXX_Interrupt,
24, .reset = i_APCI3XXX_Reset,
&range_apci3XXX_ttl, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
0, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
0, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
6, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
10000, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
0, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
v_APCI3XXX_Interrupt, }, {
i_APCI3XXX_Reset, .pc_DriverName = "apci3000-8",
i_APCI3XXX_InsnConfigAnalogInput, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
i_APCI3XXX_InsnReadAnalogInput, .i_DeviceId = 0x300F,
NULL, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAiChannel = 8,
NULL, .i_NbrAiChannelDiff = 4,
NULL, .i_AiChannelList = 8,
NULL, .i_AiMaxdata = 4095,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 10000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
NULL, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
NULL, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnConfigInitTTLIO, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnBitsTTLIO, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnReadTTLIO, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
i_APCI3XXX_InsnWriteTTLIO}, }, {
.pc_DriverName = "apci3000-4",
{"apci3000-8", .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
PCI_VENDOR_ID_ADDIDATA, .i_DeviceId = 0x300E,
0x300F, .i_IorangeBase0 = 256,
256, .i_IorangeBase1 = 256,
256, .i_IorangeBase2 = 256,
256, .i_IorangeBase3 = 256,
256, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
ADDIDATA_NO_EEPROM, .pc_EepromChip = ADDIDATA_9054,
ADDIDATA_9054, .i_NbrAiChannel = 4,
8, .i_NbrAiChannelDiff = 2,
4, .i_AiChannelList = 4,
8, .i_AiMaxdata = 4095,
0, .pr_AiRangelist = &range_apci3XXX_ai,
4095, .i_NbrTTLChannel = 24,
0, .pr_TTLRangelist = &range_apci3XXX_ttl,
&range_apci3XXX_ai, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 10000,
0, .interrupt = v_APCI3XXX_Interrupt,
0, .reset = i_APCI3XXX_Reset,
0, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
24, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
&range_apci3XXX_ttl, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
0, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
0, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
6, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
10000, }, {
0, .pc_DriverName = "apci3006-16",
v_APCI3XXX_Interrupt, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
i_APCI3XXX_Reset, .i_DeviceId = 0x3013,
i_APCI3XXX_InsnConfigAnalogInput, .i_IorangeBase0 = 256,
i_APCI3XXX_InsnReadAnalogInput, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAiChannel = 16,
NULL, .i_NbrAiChannelDiff = 8,
NULL, .i_AiChannelList = 16,
NULL, .i_AiMaxdata = 65535,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 10000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
NULL, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
NULL, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
NULL, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
NULL, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnConfigInitTTLIO, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
i_APCI3XXX_InsnBitsTTLIO, }, {
i_APCI3XXX_InsnReadTTLIO, .pc_DriverName = "apci3006-8",
i_APCI3XXX_InsnWriteTTLIO}, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3014,
{"apci3000-4", .i_IorangeBase0 = 256,
PCI_VENDOR_ID_ADDIDATA, .i_IorangeBase1 = 256,
0x300E, .i_IorangeBase2 = 256,
256, .i_IorangeBase3 = 256,
256, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
256, .pc_EepromChip = ADDIDATA_9054,
256, .i_NbrAiChannel = 8,
ADDIDATA_NO_EEPROM, .i_NbrAiChannelDiff = 4,
ADDIDATA_9054, .i_AiChannelList = 8,
4, .i_AiMaxdata = 65535,
2, .pr_AiRangelist = &range_apci3XXX_ai,
4, .i_NbrTTLChannel = 24,
0, .pr_TTLRangelist = &range_apci3XXX_ttl,
4095, .b_AvailableConvertUnit = 6,
0, .ui_MinAcquisitiontimeNs = 10000,
&range_apci3XXX_ai, .interrupt = v_APCI3XXX_Interrupt,
NULL, .reset = i_APCI3XXX_Reset,
0, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
0, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
0, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
24, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
&range_apci3XXX_ttl, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
0, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
0, }, {
6, .pc_DriverName = "apci3006-4",
10000, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
0, .i_DeviceId = 0x3015,
v_APCI3XXX_Interrupt, .i_IorangeBase0 = 256,
i_APCI3XXX_Reset, .i_IorangeBase1 = 256,
i_APCI3XXX_InsnConfigAnalogInput, .i_IorangeBase2 = 256,
i_APCI3XXX_InsnReadAnalogInput, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAiChannel = 4,
NULL, .i_NbrAiChannelDiff = 2,
NULL, .i_AiChannelList = 4,
NULL, .i_AiMaxdata = 65535,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 10000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
NULL, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
NULL, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
NULL, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
NULL, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
NULL, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
NULL, }, {
i_APCI3XXX_InsnConfigInitTTLIO, .pc_DriverName = "apci3010-16",
i_APCI3XXX_InsnBitsTTLIO, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
i_APCI3XXX_InsnReadTTLIO, .i_DeviceId = 0x3016,
i_APCI3XXX_InsnWriteTTLIO}, .i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
{"apci3006-16", .i_IorangeBase2 = 256,
PCI_VENDOR_ID_ADDIDATA, .i_IorangeBase3 = 256,
0x3013, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
256, .pc_EepromChip = ADDIDATA_9054,
256, .i_NbrAiChannel = 16,
256, .i_NbrAiChannelDiff = 8,
256, .i_AiChannelList = 16,
ADDIDATA_NO_EEPROM, .i_AiMaxdata = 4095,
ADDIDATA_9054, .pr_AiRangelist = &range_apci3XXX_ai,
16, .i_NbrDiChannel = 4,
8, .i_NbrDoChannel = 4,
16, .i_DoMaxdata = 1,
0, .i_NbrTTLChannel = 24,
65535, .pr_TTLRangelist = &range_apci3XXX_ttl,
0, .b_AvailableConvertUnit = 6,
&range_apci3XXX_ai, .ui_MinAcquisitiontimeNs = 5000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
0, .reset = i_APCI3XXX_Reset,
0, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
0, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
24, .di_read = i_APCI3XXX_InsnReadDigitalInput,
&range_apci3XXX_ttl, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
0, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
0, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
6, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
10000, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
0, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
v_APCI3XXX_Interrupt, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_Reset, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
i_APCI3XXX_InsnConfigAnalogInput, }, {
i_APCI3XXX_InsnReadAnalogInput, .pc_DriverName = "apci3010-8",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x3017,
NULL, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAiChannel = 8,
NULL, .i_NbrAiChannelDiff = 4,
NULL, .i_AiChannelList = 8,
NULL, .i_AiMaxdata = 4095,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrDiChannel = 4,
NULL, .i_NbrDoChannel = 4,
NULL, .i_DoMaxdata = 1,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 5000,
i_APCI3XXX_InsnConfigInitTTLIO, .interrupt = v_APCI3XXX_Interrupt,
i_APCI3XXX_InsnBitsTTLIO, .reset = i_APCI3XXX_Reset,
i_APCI3XXX_InsnReadTTLIO, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnWriteTTLIO}, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
{"apci3006-8", .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
PCI_VENDOR_ID_ADDIDATA, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
0x3014, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
256, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
256, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
256, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
256, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
ADDIDATA_NO_EEPROM, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
ADDIDATA_9054, }, {
8, .pc_DriverName = "apci3010-4",
4, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
8, .i_DeviceId = 0x3018,
0, .i_IorangeBase0 = 256,
65535, .i_IorangeBase1 = 256,
0, .i_IorangeBase2 = 256,
&range_apci3XXX_ai, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .pc_EepromChip = ADDIDATA_9054,
0, .i_NbrAiChannel = 4,
0, .i_NbrAiChannelDiff = 2,
24, .i_AiChannelList = 4,
&range_apci3XXX_ttl, .i_AiMaxdata = 4095,
0, .pr_AiRangelist = &range_apci3XXX_ai,
0, .i_NbrDiChannel = 4,
6, .i_NbrDoChannel = 4,
10000, .i_DoMaxdata = 1,
0, .i_NbrTTLChannel = 24,
v_APCI3XXX_Interrupt, .pr_TTLRangelist = &range_apci3XXX_ttl,
i_APCI3XXX_Reset, .b_AvailableConvertUnit = 6,
i_APCI3XXX_InsnConfigAnalogInput, .ui_MinAcquisitiontimeNs = 5000,
i_APCI3XXX_InsnReadAnalogInput, .interrupt = v_APCI3XXX_Interrupt,
NULL, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
NULL, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .di_read = i_APCI3XXX_InsnReadDigitalInput,
NULL, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
NULL, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
NULL, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
NULL, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
NULL, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
NULL, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
NULL, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
NULL, }, {
NULL, .pc_DriverName = "apci3016-16",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x3019,
NULL, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
i_APCI3XXX_InsnConfigInitTTLIO, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
i_APCI3XXX_InsnBitsTTLIO, .pc_EepromChip = ADDIDATA_9054,
i_APCI3XXX_InsnReadTTLIO, .i_NbrAiChannel = 16,
i_APCI3XXX_InsnWriteTTLIO}, .i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
{"apci3006-4", .i_AiMaxdata = 65535,
PCI_VENDOR_ID_ADDIDATA, .pr_AiRangelist = &range_apci3XXX_ai,
0x3015, .i_NbrDiChannel = 4,
256, .i_NbrDoChannel = 4,
256, .i_DoMaxdata = 1,
256, .i_NbrTTLChannel = 24,
256, .pr_TTLRangelist = &range_apci3XXX_ttl,
ADDIDATA_NO_EEPROM, .b_AvailableConvertUnit = 6,
ADDIDATA_9054, .ui_MinAcquisitiontimeNs = 5000,
4, .interrupt = v_APCI3XXX_Interrupt,
2, .reset = i_APCI3XXX_Reset,
4, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
0, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
65535, .di_read = i_APCI3XXX_InsnReadDigitalInput,
0, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
&range_apci3XXX_ai, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
NULL, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
0, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
0, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
0, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
24, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
&range_apci3XXX_ttl, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
0, }, {
0, .pc_DriverName = "apci3016-8",
6, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
10000, .i_DeviceId = 0x301A,
0, .i_IorangeBase0 = 256,
v_APCI3XXX_Interrupt, .i_IorangeBase1 = 256,
i_APCI3XXX_Reset, .i_IorangeBase2 = 256,
i_APCI3XXX_InsnConfigAnalogInput, .i_IorangeBase3 = 256,
i_APCI3XXX_InsnReadAnalogInput, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAiChannel = 8,
NULL, .i_NbrAiChannelDiff = 4,
NULL, .i_AiChannelList = 8,
NULL, .i_AiMaxdata = 65535,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrDiChannel = 4,
NULL, .i_NbrDoChannel = 4,
NULL, .i_DoMaxdata = 1,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 5000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
NULL, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
NULL, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .di_read = i_APCI3XXX_InsnReadDigitalInput,
NULL, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
NULL, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnConfigInitTTLIO, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnBitsTTLIO, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
i_APCI3XXX_InsnReadTTLIO, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnWriteTTLIO}, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
{"apci3010-16", .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
PCI_VENDOR_ID_ADDIDATA, }, {
0x3016, .pc_DriverName = "apci3016-4",
256, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
256, .i_DeviceId = 0x301B,
256, .i_IorangeBase0 = 256,
256, .i_IorangeBase1 = 256,
ADDIDATA_NO_EEPROM, .i_IorangeBase2 = 256,
ADDIDATA_9054, .i_IorangeBase3 = 256,
16, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
8, .pc_EepromChip = ADDIDATA_9054,
16, .i_NbrAiChannel = 4,
0, .i_NbrAiChannelDiff = 2,
4095, .i_AiChannelList = 4,
0, .i_AiMaxdata = 65535,
&range_apci3XXX_ai, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrDiChannel = 4,
4, .i_NbrDoChannel = 4,
4, .i_DoMaxdata = 1,
1, .i_NbrTTLChannel = 24,
24, .pr_TTLRangelist = &range_apci3XXX_ttl,
&range_apci3XXX_ttl, .b_AvailableConvertUnit = 6,
0, .ui_MinAcquisitiontimeNs = 5000,
0, .interrupt = v_APCI3XXX_Interrupt,
6, .reset = i_APCI3XXX_Reset,
5000, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
0, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
v_APCI3XXX_Interrupt, .di_read = i_APCI3XXX_InsnReadDigitalInput,
i_APCI3XXX_Reset, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
i_APCI3XXX_InsnConfigAnalogInput, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnReadAnalogInput, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
NULL, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
NULL, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
NULL, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
NULL, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
NULL, }, {
NULL, .pc_DriverName = "apci3100-16-4",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x301C,
i_APCI3XXX_InsnReadDigitalInput, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
i_APCI3XXX_InsnBitsDigitalInput, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
i_APCI3XXX_InsnWriteDigitalOutput, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
i_APCI3XXX_InsnBitsDigitalOutput, .pc_EepromChip = ADDIDATA_9054,
i_APCI3XXX_InsnReadDigitalOutput, .i_NbrAiChannel = 16,
NULL, .i_NbrAiChannelDiff = 8,
NULL, .i_AiChannelList = 16,
NULL, .i_NbrAoChannel = 4,
NULL, .i_AiMaxdata = 4095,
i_APCI3XXX_InsnConfigInitTTLIO, .i_AoMaxdata = 4095,
i_APCI3XXX_InsnBitsTTLIO, .pr_AiRangelist = &range_apci3XXX_ai,
i_APCI3XXX_InsnReadTTLIO, .pr_AoRangelist = &range_apci3XXX_ao,
i_APCI3XXX_InsnWriteTTLIO}, .i_NbrTTLChannel = 24,
.pr_TTLRangelist = &range_apci3XXX_ttl,
{"apci3010-8", .b_AvailableConvertUnit = 6,
PCI_VENDOR_ID_ADDIDATA, .ui_MinAcquisitiontimeNs = 10000,
0x3017, .interrupt = v_APCI3XXX_Interrupt,
256, .reset = i_APCI3XXX_Reset,
256, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
256, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
256, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
ADDIDATA_NO_EEPROM, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
ADDIDATA_9054, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
8, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
4, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
8, }, {
0, .pc_DriverName = "apci3100-8-4",
4095, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
0, .i_DeviceId = 0x301D,
&range_apci3XXX_ai, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
4, .i_IorangeBase2 = 256,
4, .i_IorangeBase3 = 256,
1, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
24, .pc_EepromChip = ADDIDATA_9054,
&range_apci3XXX_ttl, .i_NbrAiChannel = 8,
0, .i_NbrAiChannelDiff = 4,
0, .i_AiChannelList = 8,
6, .i_NbrAoChannel = 4,
5000, .i_AiMaxdata = 4095,
0, .i_AoMaxdata = 4095,
v_APCI3XXX_Interrupt, .pr_AiRangelist = &range_apci3XXX_ai,
i_APCI3XXX_Reset, .pr_AoRangelist = &range_apci3XXX_ao,
i_APCI3XXX_InsnConfigAnalogInput, .i_NbrTTLChannel = 24,
i_APCI3XXX_InsnReadAnalogInput, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 10000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
NULL, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
NULL, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
NULL, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadDigitalInput, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
NULL, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
i_APCI3XXX_InsnBitsDigitalInput, }, {
NULL, .pc_DriverName = "apci3106-16-4",
i_APCI3XXX_InsnWriteDigitalOutput, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
i_APCI3XXX_InsnBitsDigitalOutput, .i_DeviceId = 0x301E,
i_APCI3XXX_InsnReadDigitalOutput, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
i_APCI3XXX_InsnConfigInitTTLIO, .pc_EepromChip = ADDIDATA_9054,
i_APCI3XXX_InsnBitsTTLIO, .i_NbrAiChannel = 16,
i_APCI3XXX_InsnReadTTLIO, .i_NbrAiChannelDiff = 8,
i_APCI3XXX_InsnWriteTTLIO}, .i_AiChannelList = 16,
.i_NbrAoChannel = 4,
{"apci3010-4", .i_AiMaxdata = 65535,
PCI_VENDOR_ID_ADDIDATA, .i_AoMaxdata = 4095,
0x3018, .pr_AiRangelist = &range_apci3XXX_ai,
256, .pr_AoRangelist = &range_apci3XXX_ao,
256, .i_NbrTTLChannel = 24,
256, .pr_TTLRangelist = &range_apci3XXX_ttl,
256, .b_AvailableConvertUnit = 6,
ADDIDATA_NO_EEPROM, .ui_MinAcquisitiontimeNs = 10000,
ADDIDATA_9054, .interrupt = v_APCI3XXX_Interrupt,
4, .reset = i_APCI3XXX_Reset,
2, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
4, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
0, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
4095, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
0, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
&range_apci3XXX_ai, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
NULL, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
4, }, {
4, .pc_DriverName = "apci3106-8-4",
1, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
24, .i_DeviceId = 0x301F,
&range_apci3XXX_ttl, .i_IorangeBase0 = 256,
0, .i_IorangeBase1 = 256,
0, .i_IorangeBase2 = 256,
6, .i_IorangeBase3 = 256,
5000, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .pc_EepromChip = ADDIDATA_9054,
v_APCI3XXX_Interrupt, .i_NbrAiChannel = 8,
i_APCI3XXX_Reset, .i_NbrAiChannelDiff = 4,
i_APCI3XXX_InsnConfigAnalogInput, .i_AiChannelList = 8,
i_APCI3XXX_InsnReadAnalogInput, .i_NbrAoChannel = 4,
NULL, .i_AiMaxdata = 65535,
NULL, .i_AoMaxdata = 4095,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .pr_AoRangelist = &range_apci3XXX_ao,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 10000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
i_APCI3XXX_InsnReadDigitalInput, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnBitsDigitalInput, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
i_APCI3XXX_InsnWriteDigitalOutput, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsDigitalOutput, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadDigitalOutput, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
NULL, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
NULL, }, {
NULL, .pc_DriverName = "apci3110-16-4",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
i_APCI3XXX_InsnConfigInitTTLIO, .i_DeviceId = 0x3020,
i_APCI3XXX_InsnBitsTTLIO, .i_IorangeBase0 = 256,
i_APCI3XXX_InsnReadTTLIO, .i_IorangeBase1 = 256,
i_APCI3XXX_InsnWriteTTLIO}, .i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
{"apci3016-16", .i_PCIEeprom = ADDIDATA_NO_EEPROM,
PCI_VENDOR_ID_ADDIDATA, .pc_EepromChip = ADDIDATA_9054,
0x3019, .i_NbrAiChannel = 16,
256, .i_NbrAiChannelDiff = 8,
256, .i_AiChannelList = 16,
256, .i_NbrAoChannel = 4,
256, .i_AiMaxdata = 4095,
ADDIDATA_NO_EEPROM, .i_AoMaxdata = 4095,
ADDIDATA_9054, .pr_AiRangelist = &range_apci3XXX_ai,
16, .pr_AoRangelist = &range_apci3XXX_ao,
8, .i_NbrDiChannel = 4,
16, .i_NbrDoChannel = 4,
0, .i_DoMaxdata = 1,
65535, .i_NbrTTLChannel = 24,
0, .pr_TTLRangelist = &range_apci3XXX_ttl,
&range_apci3XXX_ai, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 5000,
4, .interrupt = v_APCI3XXX_Interrupt,
4, .reset = i_APCI3XXX_Reset,
1, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
24, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
&range_apci3XXX_ttl, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
0, .di_read = i_APCI3XXX_InsnReadDigitalInput,
0, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
6, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
5000, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
0, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
v_APCI3XXX_Interrupt, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_Reset, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnConfigAnalogInput, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnReadAnalogInput, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
NULL, }, {
NULL, .pc_DriverName = "apci3110-8-4",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x3021,
NULL, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
i_APCI3XXX_InsnReadDigitalInput, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAiChannel = 8,
i_APCI3XXX_InsnBitsDigitalInput, .i_NbrAiChannelDiff = 4,
NULL, .i_AiChannelList = 8,
i_APCI3XXX_InsnWriteDigitalOutput, .i_NbrAoChannel = 4,
i_APCI3XXX_InsnBitsDigitalOutput, .i_AiMaxdata = 4095,
i_APCI3XXX_InsnReadDigitalOutput, .i_AoMaxdata = 4095,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .pr_AoRangelist = &range_apci3XXX_ao,
NULL, .i_NbrDiChannel = 4,
NULL, .i_NbrDoChannel = 4,
i_APCI3XXX_InsnConfigInitTTLIO, .i_DoMaxdata = 1,
i_APCI3XXX_InsnBitsTTLIO, .i_NbrTTLChannel = 24,
i_APCI3XXX_InsnReadTTLIO, .pr_TTLRangelist = &range_apci3XXX_ttl,
i_APCI3XXX_InsnWriteTTLIO}, .b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
{"apci3016-8", .interrupt = v_APCI3XXX_Interrupt,
PCI_VENDOR_ID_ADDIDATA, .reset = i_APCI3XXX_Reset,
0x301A, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
256, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
256, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
256, .di_read = i_APCI3XXX_InsnReadDigitalInput,
256, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
ADDIDATA_NO_EEPROM, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
ADDIDATA_9054, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
8, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
4, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
8, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
0, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
65535, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
0, }, {
&range_apci3XXX_ai, .pc_DriverName = "apci3116-16-4",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
4, .i_DeviceId = 0x3022,
4, .i_IorangeBase0 = 256,
1, .i_IorangeBase1 = 256,
24, .i_IorangeBase2 = 256,
&range_apci3XXX_ttl, .i_IorangeBase3 = 256,
0, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .pc_EepromChip = ADDIDATA_9054,
6, .i_NbrAiChannel = 16,
5000, .i_NbrAiChannelDiff = 8,
0, .i_AiChannelList = 16,
v_APCI3XXX_Interrupt, .i_NbrAoChannel = 4,
i_APCI3XXX_Reset, .i_AiMaxdata = 65535,
i_APCI3XXX_InsnConfigAnalogInput, .i_AoMaxdata = 4095,
i_APCI3XXX_InsnReadAnalogInput, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .pr_AoRangelist = &range_apci3XXX_ao,
NULL, .i_NbrDiChannel = 4,
NULL, .i_NbrDoChannel = 4,
NULL, .i_DoMaxdata = 1,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
NULL, .b_AvailableConvertUnit = 6,
NULL, .ui_MinAcquisitiontimeNs = 5000,
NULL, .interrupt = v_APCI3XXX_Interrupt,
i_APCI3XXX_InsnReadDigitalInput, .reset = i_APCI3XXX_Reset,
NULL, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnBitsDigitalInput, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
i_APCI3XXX_InsnWriteDigitalOutput, .di_read = i_APCI3XXX_InsnReadDigitalInput,
i_APCI3XXX_InsnBitsDigitalOutput, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
i_APCI3XXX_InsnReadDigitalOutput, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
NULL, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
NULL, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
NULL, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnConfigInitTTLIO, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnBitsTTLIO, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
i_APCI3XXX_InsnReadTTLIO, }, {
i_APCI3XXX_InsnWriteTTLIO}, .pc_DriverName = "apci3116-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
{"apci3016-4", .i_DeviceId = 0x3023,
PCI_VENDOR_ID_ADDIDATA, .i_IorangeBase0 = 256,
0x301B, .i_IorangeBase1 = 256,
256, .i_IorangeBase2 = 256,
256, .i_IorangeBase3 = 256,
256, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
256, .pc_EepromChip = ADDIDATA_9054,
ADDIDATA_NO_EEPROM, .i_NbrAiChannel = 8,
ADDIDATA_9054, .i_NbrAiChannelDiff = 4,
4, .i_AiChannelList = 8,
2, .i_NbrAoChannel = 4,
4, .i_AiMaxdata = 65535,
0, .i_AoMaxdata = 4095,
65535, .pr_AiRangelist = &range_apci3XXX_ai,
0, .pr_AoRangelist = &range_apci3XXX_ao,
&range_apci3XXX_ai, .i_NbrDiChannel = 4,
NULL, .i_NbrDoChannel = 4,
4, .i_DoMaxdata = 1,
4, .i_NbrTTLChannel = 24,
1, .pr_TTLRangelist = &range_apci3XXX_ttl,
24, .b_AvailableConvertUnit = 6,
&range_apci3XXX_ttl, .ui_MinAcquisitiontimeNs = 5000,
0, .interrupt = v_APCI3XXX_Interrupt,
0, .reset = i_APCI3XXX_Reset,
6, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
5000, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
0, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
v_APCI3XXX_Interrupt, .di_read = i_APCI3XXX_InsnReadDigitalInput,
i_APCI3XXX_Reset, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
i_APCI3XXX_InsnConfigAnalogInput, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnReadAnalogInput, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
NULL, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
NULL, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
NULL, .ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
NULL, .ttl_read = i_APCI3XXX_InsnReadTTLIO,
NULL, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
NULL, }, {
NULL, .pc_DriverName = "apci3003",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x300B,
i_APCI3XXX_InsnReadDigitalInput, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
i_APCI3XXX_InsnBitsDigitalInput, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
i_APCI3XXX_InsnWriteDigitalOutput, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
i_APCI3XXX_InsnBitsDigitalOutput, .pc_EepromChip = ADDIDATA_9054,
i_APCI3XXX_InsnReadDigitalOutput, .i_NbrAiChannelDiff = 4,
NULL, .i_AiChannelList = 4,
NULL, .i_AiMaxdata = 65535,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrDiChannel = 4,
i_APCI3XXX_InsnConfigInitTTLIO, .i_NbrDoChannel = 4,
i_APCI3XXX_InsnBitsTTLIO, .i_DoMaxdata = 1,
i_APCI3XXX_InsnReadTTLIO, .b_AvailableConvertUnit = 7,
i_APCI3XXX_InsnWriteTTLIO}, .ui_MinAcquisitiontimeNs = 2500,
.interrupt = v_APCI3XXX_Interrupt,
{"apci3100-16-4", .reset = i_APCI3XXX_Reset,
PCI_VENDOR_ID_ADDIDATA, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
0x301C, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
256, .di_read = i_APCI3XXX_InsnReadDigitalInput,
256, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
256, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
256, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
ADDIDATA_NO_EEPROM, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
ADDIDATA_9054, }, {
16, .pc_DriverName = "apci3002-16",
8, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
16, .i_DeviceId = 0x3002,
4, .i_IorangeBase0 = 256,
4095, .i_IorangeBase1 = 256,
4095, .i_IorangeBase2 = 256,
&range_apci3XXX_ai, .i_IorangeBase3 = 256,
&range_apci3XXX_ao, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .pc_EepromChip = ADDIDATA_9054,
0, .i_NbrAiChannelDiff = 16,
0, .i_AiChannelList = 16,
24, .i_AiMaxdata = 65535,
&range_apci3XXX_ttl, .pr_AiRangelist = &range_apci3XXX_ai,
0, .i_NbrDiChannel = 4,
0, .i_NbrDoChannel = 4,
6, .i_DoMaxdata = 1,
10000, .b_AvailableConvertUnit = 6,
0, .ui_MinAcquisitiontimeNs = 5000,
v_APCI3XXX_Interrupt, .interrupt = v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset, .reset = i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .di_read = i_APCI3XXX_InsnReadDigitalInput,
NULL, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
NULL, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
NULL, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
NULL, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
NULL, }, {
i_APCI3XXX_InsnWriteAnalogOutput, .pc_DriverName = "apci3002-8",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x3003,
NULL, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAiChannelDiff = 8,
NULL, .i_AiChannelList = 8,
NULL, .i_AiMaxdata = 65535,
NULL, .pr_AiRangelist = &range_apci3XXX_ai,
NULL, .i_NbrDiChannel = 4,
i_APCI3XXX_InsnConfigInitTTLIO, .i_NbrDoChannel = 4,
i_APCI3XXX_InsnBitsTTLIO, .i_DoMaxdata = 1,
i_APCI3XXX_InsnReadTTLIO, .b_AvailableConvertUnit = 6,
i_APCI3XXX_InsnWriteTTLIO}, .ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
{"apci3100-8-4", .reset = i_APCI3XXX_Reset,
PCI_VENDOR_ID_ADDIDATA, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
0x301D, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
256, .di_read = i_APCI3XXX_InsnReadDigitalInput,
256, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
256, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
256, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
ADDIDATA_NO_EEPROM, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
ADDIDATA_9054, }, {
8, .pc_DriverName = "apci3002-4",
4, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
8, .i_DeviceId = 0x3004,
4, .i_IorangeBase0 = 256,
4095, .i_IorangeBase1 = 256,
4095, .i_IorangeBase2 = 256,
&range_apci3XXX_ai, .i_IorangeBase3 = 256,
&range_apci3XXX_ao, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
0, .pc_EepromChip = ADDIDATA_9054,
0, .i_NbrAiChannelDiff = 4,
0, .i_AiChannelList = 4,
24, .i_AiMaxdata = 65535,
&range_apci3XXX_ttl, .pr_AiRangelist = &range_apci3XXX_ai,
0, .i_NbrDiChannel = 4,
0, .i_NbrDoChannel = 4,
6, .i_DoMaxdata = 1,
10000, .b_AvailableConvertUnit = 6,
0, .ui_MinAcquisitiontimeNs = 5000,
v_APCI3XXX_Interrupt, .interrupt = v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset, .reset = i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput, .ai_config = i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput, .ai_read = i_APCI3XXX_InsnReadAnalogInput,
NULL, .di_read = i_APCI3XXX_InsnReadDigitalInput,
NULL, .di_bits = i_APCI3XXX_InsnBitsDigitalInput,
NULL, .do_write = i_APCI3XXX_InsnWriteDigitalOutput,
NULL, .do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
NULL, .do_read = i_APCI3XXX_InsnReadDigitalOutput,
NULL, }, {
i_APCI3XXX_InsnWriteAnalogOutput, .pc_DriverName = "apci3500",
NULL, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
NULL, .i_DeviceId = 0x3024,
NULL, .i_IorangeBase0 = 256,
NULL, .i_IorangeBase1 = 256,
NULL, .i_IorangeBase2 = 256,
NULL, .i_IorangeBase3 = 256,
NULL, .i_PCIEeprom = ADDIDATA_NO_EEPROM,
NULL, .pc_EepromChip = ADDIDATA_9054,
NULL, .i_NbrAoChannel = 4,
NULL, .i_AoMaxdata = 4095,
NULL, .pr_AoRangelist = &range_apci3XXX_ao,
NULL, .i_NbrTTLChannel = 24,
NULL, .pr_TTLRangelist = &range_apci3XXX_ttl,
i_APCI3XXX_InsnConfigInitTTLIO, .interrupt = v_APCI3XXX_Interrupt,
i_APCI3XXX_InsnBitsTTLIO, .reset = i_APCI3XXX_Reset,
i_APCI3XXX_InsnReadTTLIO, .ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
i_APCI3XXX_InsnWriteTTLIO}, .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
{"apci3106-16-4", .ttl_read = i_APCI3XXX_InsnReadTTLIO,
PCI_VENDOR_ID_ADDIDATA, .ttl_write = i_APCI3XXX_InsnWriteTTLIO,
0x301E, },
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
16,
8,
16,
4,
65535,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
0,
0,
0,
24,
&range_apci3XXX_ttl,
0,
0,
6,
10000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnWriteAnalogOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO},
{"apci3106-8-4",
PCI_VENDOR_ID_ADDIDATA,
0x301F,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
8,
4,
8,
4,
65535,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
0,
0,
0,
24,
&range_apci3XXX_ttl,
0,
0,
6,
10000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnWriteAnalogOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO},
{"apci3110-16-4",
PCI_VENDOR_ID_ADDIDATA,
0x3020,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
16,
8,
16,
4,
4095,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
4,
4,
1,
24,
&range_apci3XXX_ttl,
0,
0,
6,
5000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnWriteAnalogOutput,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO},
{"apci3110-8-4",
PCI_VENDOR_ID_ADDIDATA,
0x3021,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
8,
4,
8,
4,
4095,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
4,
4,
1,
24,
&range_apci3XXX_ttl,
0,
0,
6,
5000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnWriteAnalogOutput,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO},
{"apci3116-16-4",
PCI_VENDOR_ID_ADDIDATA,
0x3022,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
16,
8,
16,
4,
65535,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
4,
4,
1,
24,
&range_apci3XXX_ttl,
0,
0,
6,
5000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnWriteAnalogOutput,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO},
{"apci3116-8-4",
PCI_VENDOR_ID_ADDIDATA,
0x3023,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
8,
4,
8,
4,
65535,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
4,
4,
1,
24,
&range_apci3XXX_ttl,
0,
0,
6,
5000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnWriteAnalogOutput,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO},
{"apci3003",
PCI_VENDOR_ID_ADDIDATA,
0x300B,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
0,
4,
4,
0,
65535,
0,
&range_apci3XXX_ai,
NULL,
4,
4,
1,
0,
NULL,
0,
0,
7,
2500,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
{"apci3002-16",
PCI_VENDOR_ID_ADDIDATA,
0x3002,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
0,
16,
16,
0,
65535,
0,
&range_apci3XXX_ai,
NULL,
4,
4,
1,
0,
NULL,
0,
0,
6,
5000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
{"apci3002-8",
PCI_VENDOR_ID_ADDIDATA,
0x3003,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
0,
8,
8,
0,
65535,
0,
&range_apci3XXX_ai,
NULL,
4,
4,
1,
0,
NULL,
0,
0,
6,
5000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
{"apci3002-4",
PCI_VENDOR_ID_ADDIDATA,
0x3004,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
0,
4,
4,
0,
65535,
0,
&range_apci3XXX_ai,
NULL,
4,
4,
1,
0,
NULL,
0,
0,
6,
5000,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
i_APCI3XXX_InsnConfigAnalogInput,
i_APCI3XXX_InsnReadAnalogInput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnReadDigitalInput,
NULL,
i_APCI3XXX_InsnBitsDigitalInput,
NULL,
i_APCI3XXX_InsnWriteDigitalOutput,
i_APCI3XXX_InsnBitsDigitalOutput,
i_APCI3XXX_InsnReadDigitalOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL},
{"apci3500",
PCI_VENDOR_ID_ADDIDATA,
0x3024,
256,
256,
256,
256,
ADDIDATA_NO_EEPROM,
ADDIDATA_9054,
0,
0,
0,
4,
0,
4095,
NULL,
&range_apci3XXX_ao,
0,
0,
0,
24,
&range_apci3XXX_ttl,
0,
0,
0,
0,
0,
v_APCI3XXX_Interrupt,
i_APCI3XXX_Reset,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnWriteAnalogOutput,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
i_APCI3XXX_InsnConfigInitTTLIO,
i_APCI3XXX_InsnBitsTTLIO,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO},
#endif #endif
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment