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

staging: comedi: addi-data: remove the boardinfo #ifdef'ery

Move the boardinfo for each addi-data driver from addi_common.c to
the individual driver files. This removes the need #ifdef'ery.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 317285d7
......@@ -58,1186 +58,6 @@ You should also find the complete GPL in the COPYING file accompanying this sour
#define COMEDI_SUBD_TTLIO 11 /* Digital Input Output But TTL */
#endif
static const struct addi_board boardtypes[] = {
#ifdef CONFIG_APCI_3120
{
.pc_DriverName = "apci3120",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = 0x818D,
.i_IorangeBase0 = AMCC_OP_REG_SIZE,
.i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
.i_IorangeBase2 = 8,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 8,
.i_AiMaxdata = 0xffff,
.i_AoMaxdata = 0x3fff,
.pr_AiRangelist = &range_apci3120_ai,
.pr_AoRangelist = &range_apci3120_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 0x0f,
.i_Dma = 1,
.i_Timer = 1,
.b_AvailableConvertUnit = 1,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3120_Interrupt,
.reset = i_APCI3120_Reset,
.ai_config = i_APCI3120_InsnConfigAnalogInput,
.ai_read = i_APCI3120_InsnReadAnalogInput,
.ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
.ai_cmd = i_APCI3120_CommandAnalogInput,
.ai_cancel = i_APCI3120_StopCyclicAcquisition,
.ao_write = i_APCI3120_InsnWriteAnalogOutput,
.di_read = i_APCI3120_InsnReadDigitalInput,
.di_bits = i_APCI3120_InsnBitsDigitalInput,
.do_config = i_APCI3120_InsnConfigDigitalOutput,
.do_write = i_APCI3120_InsnWriteDigitalOutput,
.do_bits = i_APCI3120_InsnBitsDigitalOutput,
.timer_config = i_APCI3120_InsnConfigTimer,
.timer_write = i_APCI3120_InsnWriteTimer,
.timer_read = i_APCI3120_InsnReadTimer,
},
#endif
#ifdef CONFIG_APCI_1032
{
.pc_DriverName = "apci1032",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1003,
.i_IorangeBase0 = 4,
.i_IorangeBase1 = APCI1032_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDiChannel = 32,
.interrupt = v_APCI1032_Interrupt,
.reset = i_APCI1032_Reset,
.di_config = i_APCI1032_ConfigDigitalInput,
.di_read = i_APCI1032_Read1DigitalInput,
.di_bits = i_APCI1032_ReadMoreDigitalInput,
},
#endif
#ifdef CONFIG_APCI_1516
{
.pc_DriverName = "apci1516",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1001,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI1516_ADDRESS_RANGE,
.i_IorangeBase2 = 32,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrDiChannel = 8,
.i_NbrDoChannel = 8,
.i_Timer = 1,
.reset = i_APCI1516_Reset,
.di_read = i_APCI1516_Read1DigitalInput,
.di_bits = i_APCI1516_ReadMoreDigitalInput,
.do_config = i_APCI1516_ConfigDigitalOutput,
.do_write = i_APCI1516_WriteDigitalOutput,
.do_bits = i_APCI1516_ReadDigitalOutput,
.timer_config = i_APCI1516_ConfigWatchdog,
.timer_write = i_APCI1516_StartStopWriteWatchdog,
.timer_read = i_APCI1516_ReadWatchdog,
},
#endif
#ifdef CONFIG_APCI_2016
{
.pc_DriverName = "apci2016",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1002,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI2016_ADDRESS_RANGE,
.i_IorangeBase2 = 32,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrDoChannel = 16,
.i_Timer = 1,
.reset = i_APCI2016_Reset,
.do_config = i_APCI2016_ConfigDigitalOutput,
.do_write = i_APCI2016_WriteDigitalOutput,
.do_bits = i_APCI2016_BitsDigitalOutput,
.timer_config = i_APCI2016_ConfigWatchdog,
.timer_write = i_APCI2016_StartStopWriteWatchdog,
.timer_read = i_APCI2016_ReadWatchdog,
},
#endif
#ifdef CONFIG_APCI_2032
{
.pc_DriverName = "apci2032",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1004,
.i_IorangeBase0 = 4,
.i_IorangeBase1 = APCI2032_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDoChannel = 32,
.i_DoMaxdata = 0xffffffff,
.i_Timer = 1,
.interrupt = v_APCI2032_Interrupt,
.reset = i_APCI2032_Reset,
.do_config = i_APCI2032_ConfigDigitalOutput,
.do_write = i_APCI2032_WriteDigitalOutput,
.do_bits = i_APCI2032_ReadDigitalOutput,
.do_read = i_APCI2032_ReadInterruptStatus,
.timer_config = i_APCI2032_ConfigWatchdog,
.timer_write = i_APCI2032_StartStopWriteWatchdog,
.timer_read = i_APCI2032_ReadWatchdog,
},
#endif
#ifdef CONFIG_APCI_2200
{
.pc_DriverName = "apci2200",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1005,
.i_IorangeBase0 = 4,
.i_IorangeBase1 = APCI2200_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDiChannel = 8,
.i_NbrDoChannel = 16,
.i_Timer = 1,
.reset = i_APCI2200_Reset,
.di_read = i_APCI2200_Read1DigitalInput,
.di_bits = i_APCI2200_ReadMoreDigitalInput,
.do_config = i_APCI2200_ConfigDigitalOutput,
.do_write = i_APCI2200_WriteDigitalOutput,
.do_bits = i_APCI2200_ReadDigitalOutput,
.timer_config = i_APCI2200_ConfigWatchdog,
.timer_write = i_APCI2200_StartStopWriteWatchdog,
.timer_read = i_APCI2200_ReadWatchdog,
},
#endif
#ifdef CONFIG_APCI_1564
{
.pc_DriverName = "apci1564",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1006,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI1564_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDiChannel = 32,
.i_NbrDoChannel = 32,
.i_DoMaxdata = 0xffffffff,
.i_Timer = 1,
.interrupt = v_APCI1564_Interrupt,
.reset = i_APCI1564_Reset,
.di_config = i_APCI1564_ConfigDigitalInput,
.di_read = i_APCI1564_Read1DigitalInput,
.di_bits = i_APCI1564_ReadMoreDigitalInput,
.do_config = i_APCI1564_ConfigDigitalOutput,
.do_write = i_APCI1564_WriteDigitalOutput,
.do_bits = i_APCI1564_ReadDigitalOutput,
.do_read = i_APCI1564_ReadInterruptStatus,
.timer_config = i_APCI1564_ConfigTimerCounterWatchdog,
.timer_write = i_APCI1564_StartStopWriteTimerCounterWatchdog,
.timer_read = i_APCI1564_ReadTimerCounterWatchdog,
},
#endif
#ifdef CONFIG_APCI_1500
{
.pc_DriverName = "apci1500",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = 0x80fc,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI1500_ADDRESS_RANGE,
.i_IorangeBase2 = 4,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrDiChannel = 16,
.i_NbrDoChannel = 16,
.i_DoMaxdata = 0xffff,
.i_Timer = 1,
.interrupt = v_APCI1500_Interrupt,
.reset = i_APCI1500_Reset,
.di_config = i_APCI1500_ConfigDigitalInputEvent,
.di_read = i_APCI1500_Initialisation,
.di_write = i_APCI1500_StartStopInputEvent,
.di_bits = i_APCI1500_ReadMoreDigitalInput,
.do_config = i_APCI1500_ConfigDigitalOutputErrorInterrupt,
.do_write = i_APCI1500_WriteDigitalOutput,
.do_bits = i_APCI1500_ConfigureInterrupt,
.timer_config = i_APCI1500_ConfigCounterTimerWatchdog,
.timer_write = i_APCI1500_StartStopTriggerTimerCounterWatchdog,
.timer_read = i_APCI1500_ReadInterruptMask,
.timer_bits = i_APCI1500_ReadCounterTimerWatchdog,
},
#endif
#ifdef CONFIG_APCI_3001
{
.pc_DriverName = "apci3001",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = 0x828D,
.i_IorangeBase0 = AMCC_OP_REG_SIZE,
.i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
.i_IorangeBase2 = 8,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 0xfff,
.pr_AiRangelist = &range_apci3120_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 0x0f,
.i_Dma = 1,
.i_Timer = 1,
.b_AvailableConvertUnit = 1,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3120_Interrupt,
.reset = i_APCI3120_Reset,
.ai_config = i_APCI3120_InsnConfigAnalogInput,
.ai_read = i_APCI3120_InsnReadAnalogInput,
.ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
.ai_cmd = i_APCI3120_CommandAnalogInput,
.ai_cancel = i_APCI3120_StopCyclicAcquisition,
.di_read = i_APCI3120_InsnReadDigitalInput,
.di_bits = i_APCI3120_InsnBitsDigitalInput,
.do_config = i_APCI3120_InsnConfigDigitalOutput,
.do_write = i_APCI3120_InsnWriteDigitalOutput,
.do_bits = i_APCI3120_InsnBitsDigitalOutput,
.timer_config = i_APCI3120_InsnConfigTimer,
.timer_write = i_APCI3120_InsnWriteTimer,
.timer_read = i_APCI3120_InsnReadTimer,
},
#endif
#ifdef CONFIG_APCI_3501
{
.pc_DriverName = "apci3501",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3001,
.i_IorangeBase0 = 64,
.i_IorangeBase1 = APCI3501_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5933,
.i_AoMaxdata = 16383,
.pr_AoRangelist = &range_apci3501_ao,
.i_NbrDiChannel = 2,
.i_NbrDoChannel = 2,
.i_DoMaxdata = 0x3,
.i_Timer = 1,
.interrupt = v_APCI3501_Interrupt,
.reset = i_APCI3501_Reset,
.ao_config = i_APCI3501_ConfigAnalogOutput,
.ao_write = i_APCI3501_WriteAnalogOutput,
.di_bits = i_APCI3501_ReadDigitalInput,
.do_config = i_APCI3501_ConfigDigitalOutput,
.do_write = i_APCI3501_WriteDigitalOutput,
.do_bits = i_APCI3501_ReadDigitalOutput,
.timer_config = i_APCI3501_ConfigTimerCounterWatchdog,
.timer_write = i_APCI3501_StartStopWriteTimerCounterWatchdog,
.timer_read = i_APCI3501_ReadTimerCounterWatchdog,
},
#endif
#ifdef CONFIG_APCI_035
{
.pc_DriverName = "apci035",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x0300,
.i_IorangeBase0 = 127,
.i_IorangeBase1 = APCI035_ADDRESS_RANGE,
.i_PCIEeprom = 1,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 0xff,
.pr_AiRangelist = &range_apci035_ai,
.i_Timer = 1,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI035_Interrupt,
.reset = i_APCI035_Reset,
.ai_config = i_APCI035_ConfigAnalogInput,
.ai_read = i_APCI035_ReadAnalogInput,
.timer_config = i_APCI035_ConfigTimerWatchdog,
.timer_write = i_APCI035_StartStopWriteTimerWatchdog,
.timer_read = i_APCI035_ReadTimerWatchdog,
},
#endif
#ifdef CONFIG_APCI_3200
{
.pc_DriverName = "apci3200",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3000,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 4,
.i_IorangeBase3 = 4,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 0x3ffff,
.pr_AiRangelist = &range_apci3200_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3200_Interrupt,
.reset = i_APCI3200_Reset,
.ai_config = i_APCI3200_ConfigAnalogInput,
.ai_read = i_APCI3200_ReadAnalogInput,
.ai_write = i_APCI3200_InsnWriteReleaseAnalogInput,
.ai_bits = i_APCI3200_InsnBits_AnalogInput_Test,
.ai_cmdtest = i_APCI3200_CommandTestAnalogInput,
.ai_cmd = i_APCI3200_CommandAnalogInput,
.ai_cancel = i_APCI3200_StopCyclicAcquisition,
.di_bits = i_APCI3200_ReadDigitalInput,
.do_config = i_APCI3200_ConfigDigitalOutput,
.do_write = i_APCI3200_WriteDigitalOutput,
.do_bits = i_APCI3200_ReadDigitalOutput,
},
#endif
#ifdef CONFIG_APCI_3300
/* Begin JK .20.10.2004 = APCI-3300 integration */
{
.pc_DriverName = "apci3300",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3007,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 4,
.i_IorangeBase3 = 4,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 8,
.i_AiMaxdata = 0x3ffff,
.pr_AiRangelist = &range_apci3300_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3200_Interrupt,
.reset = i_APCI3200_Reset,
.ai_config = i_APCI3200_ConfigAnalogInput,
.ai_read = i_APCI3200_ReadAnalogInput,
.ai_write = i_APCI3200_InsnWriteReleaseAnalogInput,
.ai_bits = i_APCI3200_InsnBits_AnalogInput_Test,
.ai_cmdtest = i_APCI3200_CommandTestAnalogInput,
.ai_cmd = i_APCI3200_CommandAnalogInput,
.ai_cancel = i_APCI3200_StopCyclicAcquisition,
.di_bits = i_APCI3200_ReadDigitalInput,
.do_config = i_APCI3200_ConfigDigitalOutput,
.do_write = i_APCI3200_WriteDigitalOutput,
.do_bits = i_APCI3200_ReadDigitalOutput,
},
#endif
#ifdef CONFIG_APCI_1710
{
.pc_DriverName = "apci1710",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = APCI1710_BOARD_DEVICE_ID,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = 8,
.i_IorangeBase2 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.interrupt = v_APCI1710_Interrupt,
.reset = i_APCI1710_Reset,
},
#endif
#ifdef CONFIG_APCI_16XX
{
.pc_DriverName = "apci1648",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1009,
.i_IorangeBase0 = 128,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrTTLChannel = 48,
.reset = i_APCI16XX_Reset,
.ttl_config = i_APCI16XX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI16XX_InsnBitsReadTTLIO,
.ttl_read = i_APCI16XX_InsnReadTTLIOAllPortValue,
.ttl_write = i_APCI16XX_InsnBitsWriteTTLIO,
}, {
.pc_DriverName = "apci1696",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x100A,
.i_IorangeBase0 = 128,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrTTLChannel = 96,
.reset = i_APCI16XX_Reset,
.ttl_config = i_APCI16XX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI16XX_InsnBitsReadTTLIO,
.ttl_read = i_APCI16XX_InsnReadTTLIOAllPortValue,
.ttl_write = i_APCI16XX_InsnBitsWriteTTLIO,
},
#endif
#ifdef CONFIG_APCI_3XXX
{
.pc_DriverName = "apci3000-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3010,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3000-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x300F,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3000-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x300E,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3006-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3013,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3006-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3014,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3006-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3015,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3010-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3016,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3010-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3017,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3010-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3018,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3016-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3019,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3016-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301A,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3016-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301B,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3100-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301C,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3100-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301D,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3106-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301E,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3106-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301F,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3110-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3020,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3110-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3021,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3116-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3022,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3116-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3023,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3003",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x300B,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 7,
.ui_MinAcquisitiontimeNs = 2500,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3002-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3002,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 16,
.i_AiChannelList = 16,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3002-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3003,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 8,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3002-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3004,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3500",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3024,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAoChannel = 4,
.i_AoMaxdata = 4095,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
},
#endif
};
/*
+----------------------------------------------------------------------------+
| Function name :static int i_ADDI_Attach(struct comedi_device *dev, |
......
......@@ -13,6 +13,33 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci035.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci035",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x0300,
.i_IorangeBase0 = 127,
.i_IorangeBase1 = APCI035_ADDRESS_RANGE,
.i_PCIEeprom = 1,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 0xff,
.pr_AiRangelist = &range_apci035_ai,
.i_Timer = 1,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI035_Interrupt,
.reset = i_APCI035_Reset,
.ai_config = i_APCI035_ConfigAnalogInput,
.ai_read = i_APCI035_ReadAnalogInput,
.timer_config = i_APCI035_ConfigTimerWatchdog,
.timer_write = i_APCI035_StartStopWriteTimerWatchdog,
.timer_read = i_APCI035_ReadTimerWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x0300) },
{ 0 }
......
......@@ -11,6 +11,24 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci1032.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci1032",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1003,
.i_IorangeBase0 = 4,
.i_IorangeBase1 = APCI1032_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDiChannel = 32,
.interrupt = v_APCI1032_Interrupt,
.reset = i_APCI1032_Reset,
.di_config = i_APCI1032_ConfigDigitalInput,
.di_read = i_APCI1032_Read1DigitalInput,
.di_bits = i_APCI1032_ReadMoreDigitalInput,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1003) },
{ 0 }
......
......@@ -11,6 +11,35 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci1500.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci1500",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = 0x80fc,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI1500_ADDRESS_RANGE,
.i_IorangeBase2 = 4,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrDiChannel = 16,
.i_NbrDoChannel = 16,
.i_DoMaxdata = 0xffff,
.i_Timer = 1,
.interrupt = v_APCI1500_Interrupt,
.reset = i_APCI1500_Reset,
.di_config = i_APCI1500_ConfigDigitalInputEvent,
.di_read = i_APCI1500_Initialisation,
.di_write = i_APCI1500_StartStopInputEvent,
.di_bits = i_APCI1500_ReadMoreDigitalInput,
.do_config = i_APCI1500_ConfigDigitalOutputErrorInterrupt,
.do_write = i_APCI1500_WriteDigitalOutput,
.do_bits = i_APCI1500_ConfigureInterrupt,
.timer_config = i_APCI1500_ConfigCounterTimerWatchdog,
.timer_write = i_APCI1500_StartStopTriggerTimerCounterWatchdog,
.timer_read = i_APCI1500_ReadInterruptMask,
.timer_bits = i_APCI1500_ReadCounterTimerWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x80fc) },
{ 0 }
......
......@@ -11,6 +11,31 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci1516.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci1516",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1001,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI1516_ADDRESS_RANGE,
.i_IorangeBase2 = 32,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrDiChannel = 8,
.i_NbrDoChannel = 8,
.i_Timer = 1,
.reset = i_APCI1516_Reset,
.di_read = i_APCI1516_Read1DigitalInput,
.di_bits = i_APCI1516_ReadMoreDigitalInput,
.do_config = i_APCI1516_ConfigDigitalOutput,
.do_write = i_APCI1516_WriteDigitalOutput,
.do_bits = i_APCI1516_ReadDigitalOutput,
.timer_config = i_APCI1516_ConfigWatchdog,
.timer_write = i_APCI1516_StartStopWriteWatchdog,
.timer_read = i_APCI1516_ReadWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1001) },
{ 0 }
......
......@@ -11,6 +11,34 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci1564.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci1564",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1006,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI1564_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDiChannel = 32,
.i_NbrDoChannel = 32,
.i_DoMaxdata = 0xffffffff,
.i_Timer = 1,
.interrupt = v_APCI1564_Interrupt,
.reset = i_APCI1564_Reset,
.di_config = i_APCI1564_ConfigDigitalInput,
.di_read = i_APCI1564_Read1DigitalInput,
.di_bits = i_APCI1564_ReadMoreDigitalInput,
.do_config = i_APCI1564_ConfigDigitalOutput,
.do_write = i_APCI1564_WriteDigitalOutput,
.do_bits = i_APCI1564_ReadDigitalOutput,
.do_read = i_APCI1564_ReadInterruptStatus,
.timer_config = i_APCI1564_ConfigTimerCounterWatchdog,
.timer_write = i_APCI1564_StartStopWriteTimerCounterWatchdog,
.timer_read = i_APCI1564_ReadTimerCounterWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1006) },
{ 0 }
......
......@@ -11,6 +11,34 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci16xx.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci1648",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1009,
.i_IorangeBase0 = 128,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrTTLChannel = 48,
.reset = i_APCI16XX_Reset,
.ttl_config = i_APCI16XX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI16XX_InsnBitsReadTTLIO,
.ttl_read = i_APCI16XX_InsnReadTTLIOAllPortValue,
.ttl_write = i_APCI16XX_InsnBitsWriteTTLIO,
}, {
.pc_DriverName = "apci1696",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x100A,
.i_IorangeBase0 = 128,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrTTLChannel = 96,
.reset = i_APCI16XX_Reset,
.ttl_config = i_APCI16XX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI16XX_InsnBitsReadTTLIO,
.ttl_read = i_APCI16XX_InsnReadTTLIOAllPortValue,
.ttl_write = i_APCI16XX_InsnBitsWriteTTLIO,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1009) },
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x100a) },
......
......@@ -23,6 +23,20 @@ static void fpu_end(void)
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_APCI1710.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci1710",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = APCI1710_BOARD_DEVICE_ID,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = 8,
.i_IorangeBase2 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.interrupt = v_APCI1710_Interrupt,
.reset = i_APCI1710_Reset,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, APCI1710_BOARD_DEVICE_ID) },
{ 0 }
......
......@@ -11,6 +11,28 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci2016.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci2016",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1002,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = APCI2016_ADDRESS_RANGE,
.i_IorangeBase2 = 32,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrDoChannel = 16,
.i_Timer = 1,
.reset = i_APCI2016_Reset,
.do_config = i_APCI2016_ConfigDigitalOutput,
.do_write = i_APCI2016_WriteDigitalOutput,
.do_bits = i_APCI2016_BitsDigitalOutput,
.timer_config = i_APCI2016_ConfigWatchdog,
.timer_write = i_APCI2016_StartStopWriteWatchdog,
.timer_read = i_APCI2016_ReadWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1002) },
{ 0 }
......
......@@ -11,6 +11,30 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci2032.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci2032",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1004,
.i_IorangeBase0 = 4,
.i_IorangeBase1 = APCI2032_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDoChannel = 32,
.i_DoMaxdata = 0xffffffff,
.i_Timer = 1,
.interrupt = v_APCI2032_Interrupt,
.reset = i_APCI2032_Reset,
.do_config = i_APCI2032_ConfigDigitalOutput,
.do_write = i_APCI2032_WriteDigitalOutput,
.do_bits = i_APCI2032_ReadDigitalOutput,
.do_read = i_APCI2032_ReadInterruptStatus,
.timer_config = i_APCI2032_ConfigWatchdog,
.timer_write = i_APCI2032_StartStopWriteWatchdog,
.timer_read = i_APCI2032_ReadWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1004) },
{ 0 }
......
......@@ -11,6 +11,30 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci2200.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci2200",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x1005,
.i_IorangeBase0 = 4,
.i_IorangeBase1 = APCI2200_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_93C76,
.i_NbrDiChannel = 8,
.i_NbrDoChannel = 16,
.i_Timer = 1,
.reset = i_APCI2200_Reset,
.di_read = i_APCI2200_Read1DigitalInput,
.di_bits = i_APCI2200_ReadMoreDigitalInput,
.do_config = i_APCI2200_ConfigDigitalOutput,
.do_write = i_APCI2200_WriteDigitalOutput,
.do_bits = i_APCI2200_ReadDigitalOutput,
.timer_config = i_APCI2200_ConfigWatchdog,
.timer_write = i_APCI2200_StartStopWriteWatchdog,
.timer_read = i_APCI2200_ReadWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1005) },
{ 0 }
......
......@@ -11,6 +11,46 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci3120.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci3001",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = 0x828D,
.i_IorangeBase0 = AMCC_OP_REG_SIZE,
.i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
.i_IorangeBase2 = 8,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 0xfff,
.pr_AiRangelist = &range_apci3120_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 0x0f,
.i_Dma = 1,
.i_Timer = 1,
.b_AvailableConvertUnit = 1,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3120_Interrupt,
.reset = i_APCI3120_Reset,
.ai_config = i_APCI3120_InsnConfigAnalogInput,
.ai_read = i_APCI3120_InsnReadAnalogInput,
.ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
.ai_cmd = i_APCI3120_CommandAnalogInput,
.ai_cancel = i_APCI3120_StopCyclicAcquisition,
.di_read = i_APCI3120_InsnReadDigitalInput,
.di_bits = i_APCI3120_InsnBitsDigitalInput,
.do_config = i_APCI3120_InsnConfigDigitalOutput,
.do_write = i_APCI3120_InsnWriteDigitalOutput,
.do_bits = i_APCI3120_InsnBitsDigitalOutput,
.timer_config = i_APCI3120_InsnConfigTimer,
.timer_write = i_APCI3120_InsnWriteTimer,
.timer_read = i_APCI3120_InsnReadTimer,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x828d) },
{ 0 }
......
......@@ -11,6 +11,50 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci3120.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci3120",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
.i_DeviceId = 0x818D,
.i_IorangeBase0 = AMCC_OP_REG_SIZE,
.i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
.i_IorangeBase2 = 8,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 8,
.i_AiMaxdata = 0xffff,
.i_AoMaxdata = 0x3fff,
.pr_AiRangelist = &range_apci3120_ai,
.pr_AoRangelist = &range_apci3120_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 0x0f,
.i_Dma = 1,
.i_Timer = 1,
.b_AvailableConvertUnit = 1,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3120_Interrupt,
.reset = i_APCI3120_Reset,
.ai_config = i_APCI3120_InsnConfigAnalogInput,
.ai_read = i_APCI3120_InsnReadAnalogInput,
.ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
.ai_cmd = i_APCI3120_CommandAnalogInput,
.ai_cancel = i_APCI3120_StopCyclicAcquisition,
.ao_write = i_APCI3120_InsnWriteAnalogOutput,
.di_read = i_APCI3120_InsnReadDigitalInput,
.di_bits = i_APCI3120_InsnBitsDigitalInput,
.do_config = i_APCI3120_InsnConfigDigitalOutput,
.do_write = i_APCI3120_InsnWriteDigitalOutput,
.do_bits = i_APCI3120_InsnBitsDigitalOutput,
.timer_config = i_APCI3120_InsnConfigTimer,
.timer_write = i_APCI3120_InsnWriteTimer,
.timer_read = i_APCI3120_InsnReadTimer,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x818d) },
{ 0 }
......
......@@ -23,6 +23,42 @@ static void fpu_end(void)
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci3200.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci3200",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3000,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 4,
.i_IorangeBase3 = 4,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 0x3ffff,
.pr_AiRangelist = &range_apci3200_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3200_Interrupt,
.reset = i_APCI3200_Reset,
.ai_config = i_APCI3200_ConfigAnalogInput,
.ai_read = i_APCI3200_ReadAnalogInput,
.ai_write = i_APCI3200_InsnWriteReleaseAnalogInput,
.ai_bits = i_APCI3200_InsnBits_AnalogInput_Test,
.ai_cmdtest = i_APCI3200_CommandTestAnalogInput,
.ai_cmd = i_APCI3200_CommandAnalogInput,
.ai_cancel = i_APCI3200_StopCyclicAcquisition,
.di_bits = i_APCI3200_ReadDigitalInput,
.do_config = i_APCI3200_ConfigDigitalOutput,
.do_write = i_APCI3200_WriteDigitalOutput,
.do_bits = i_APCI3200_ReadDigitalOutput,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3000) },
{ 0 }
......
......@@ -23,6 +23,41 @@ static void fpu_end(void)
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci3200.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci3300",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3007,
.i_IorangeBase0 = 128,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 4,
.i_IorangeBase3 = 4,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 8,
.i_AiMaxdata = 0x3ffff,
.pr_AiRangelist = &range_apci3300_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000,
.interrupt = v_APCI3200_Interrupt,
.reset = i_APCI3200_Reset,
.ai_config = i_APCI3200_ConfigAnalogInput,
.ai_read = i_APCI3200_ReadAnalogInput,
.ai_write = i_APCI3200_InsnWriteReleaseAnalogInput,
.ai_bits = i_APCI3200_InsnBits_AnalogInput_Test,
.ai_cmdtest = i_APCI3200_CommandTestAnalogInput,
.ai_cmd = i_APCI3200_CommandAnalogInput,
.ai_cancel = i_APCI3200_StopCyclicAcquisition,
.di_bits = i_APCI3200_ReadDigitalInput,
.do_config = i_APCI3200_ConfigDigitalOutput,
.do_write = i_APCI3200_WriteDigitalOutput,
.do_bits = i_APCI3200_ReadDigitalOutput,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3007) },
{ 0 }
......
......@@ -11,6 +11,35 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci3501.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci3501",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3001,
.i_IorangeBase0 = 64,
.i_IorangeBase1 = APCI3501_ADDRESS_RANGE,
.i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5933,
.i_AoMaxdata = 16383,
.pr_AoRangelist = &range_apci3501_ao,
.i_NbrDiChannel = 2,
.i_NbrDoChannel = 2,
.i_DoMaxdata = 0x3,
.i_Timer = 1,
.interrupt = v_APCI3501_Interrupt,
.reset = i_APCI3501_Reset,
.ao_config = i_APCI3501_ConfigAnalogOutput,
.ao_write = i_APCI3501_WriteAnalogOutput,
.di_bits = i_APCI3501_ReadDigitalInput,
.do_config = i_APCI3501_ConfigDigitalOutput,
.do_write = i_APCI3501_WriteDigitalOutput,
.do_bits = i_APCI3501_ReadDigitalOutput,
.timer_config = i_APCI3501_ConfigTimerCounterWatchdog,
.timer_write = i_APCI3501_StartStopWriteTimerCounterWatchdog,
.timer_read = i_APCI3501_ReadTimerCounterWatchdog,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3001) },
{ 0 }
......
......@@ -10,6 +10,776 @@
#include "addi-data/addi_eeprom.c"
#include "addi-data/hwdrv_apci3xxx.c"
static const struct addi_board boardtypes[] = {
{
.pc_DriverName = "apci3000-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3010,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3000-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x300F,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3000-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x300E,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3006-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3013,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3006-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3014,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3006-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3015,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3010-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3016,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3010-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3017,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3010-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3018,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3016-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3019,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3016-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301A,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3016-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301B,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 4,
.i_NbrAiChannelDiff = 2,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3100-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301C,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3100-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301D,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3106-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301E,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3106-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x301F,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 10000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3110-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3020,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3110-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3021,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 4095,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3116-16-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3022,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 16,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 16,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3116-8-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3023,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannel = 8,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 8,
.i_NbrAoChannel = 4,
.i_AiMaxdata = 65535,
.i_AoMaxdata = 4095,
.pr_AiRangelist = &range_apci3XXX_ai,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.i_NbrTTLChannel = 24,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
}, {
.pc_DriverName = "apci3003",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x300B,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 7,
.ui_MinAcquisitiontimeNs = 2500,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3002-16",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3002,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 16,
.i_AiChannelList = 16,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3002-8",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3003,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 8,
.i_AiChannelList = 8,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3002-4",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3004,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAiChannelDiff = 4,
.i_AiChannelList = 4,
.i_AiMaxdata = 65535,
.pr_AiRangelist = &range_apci3XXX_ai,
.i_NbrDiChannel = 4,
.i_NbrDoChannel = 4,
.i_DoMaxdata = 1,
.b_AvailableConvertUnit = 6,
.ui_MinAcquisitiontimeNs = 5000,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ai_config = i_APCI3XXX_InsnConfigAnalogInput,
.ai_read = i_APCI3XXX_InsnReadAnalogInput,
.di_read = i_APCI3XXX_InsnReadDigitalInput,
.di_bits = i_APCI3XXX_InsnBitsDigitalInput,
.do_write = i_APCI3XXX_InsnWriteDigitalOutput,
.do_bits = i_APCI3XXX_InsnBitsDigitalOutput,
.do_read = i_APCI3XXX_InsnReadDigitalOutput,
}, {
.pc_DriverName = "apci3500",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA,
.i_DeviceId = 0x3024,
.i_IorangeBase0 = 256,
.i_IorangeBase1 = 256,
.i_IorangeBase2 = 256,
.i_IorangeBase3 = 256,
.i_PCIEeprom = ADDIDATA_NO_EEPROM,
.pc_EepromChip = ADDIDATA_9054,
.i_NbrAoChannel = 4,
.i_AoMaxdata = 4095,
.pr_AoRangelist = &range_apci3XXX_ao,
.i_NbrTTLChannel = 24,
.interrupt = v_APCI3XXX_Interrupt,
.reset = i_APCI3XXX_Reset,
.ao_write = i_APCI3XXX_InsnWriteAnalogOutput,
.ttl_config = i_APCI3XXX_InsnConfigInitTTLIO,
.ttl_bits = i_APCI3XXX_InsnBitsTTLIO,
.ttl_read = i_APCI3XXX_InsnReadTTLIO,
.ttl_write = i_APCI3XXX_InsnWriteTTLIO,
},
};
static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3010) },
{ PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x300f) },
......
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