|
@@ -224,2318 +224,1213 @@ MODULE_DEVICE_TABLE(pci, addi_apci_tbl);
|
|
|
|
|
|
static const struct addi_board boardtypes[] = {
|
|
|
#ifdef CONFIG_APCI_3120
|
|
|
- {"apci3120",
|
|
|
- APCI3120_BOARD_VENDOR_ID,
|
|
|
- 0x818D,
|
|
|
- AMCC_OP_REG_SIZE,
|
|
|
- APCI3120_ADDRESS_RANGE,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- NULL,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 0xffff,
|
|
|
- 0x3fff,
|
|
|
- &range_apci3120_ai,
|
|
|
- &range_apci3120_ao,
|
|
|
- 4,
|
|
|
- 4,
|
|
|
- 0x0f,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 1,
|
|
|
- 1,
|
|
|
- 1,
|
|
|
- 10000,
|
|
|
- 100000,
|
|
|
- v_APCI3120_Interrupt,
|
|
|
- i_APCI3120_Reset,
|
|
|
- i_APCI3120_InsnConfigAnalogInput,
|
|
|
- i_APCI3120_InsnReadAnalogInput,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- i_APCI3120_CommandTestAnalogInput,
|
|
|
- i_APCI3120_CommandAnalogInput,
|
|
|
- i_APCI3120_StopCyclicAcquisition,
|
|
|
- NULL,
|
|
|
- i_APCI3120_InsnWriteAnalogOutput,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci3120",
|
|
|
+ .i_VendorId = APCI3120_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci1032",
|
|
|
- APCI1032_BOARD_VENDOR_ID,
|
|
|
- 0x1003,
|
|
|
- 4,
|
|
|
- APCI1032_ADDRESS_RANGE,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_93C76,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci1032",
|
|
|
+ .i_VendorId = APCI1032_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci1516",
|
|
|
- APCI1516_BOARD_VENDOR_ID,
|
|
|
- 0x1001,
|
|
|
- 128,
|
|
|
- APCI1516_ADDRESS_RANGE,
|
|
|
- 32,
|
|
|
- 0,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_S5920,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- 8,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci1516",
|
|
|
+ .i_VendorId = APCI1516_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci2016",
|
|
|
- APCI2016_BOARD_VENDOR_ID,
|
|
|
- 0x1002,
|
|
|
- 128,
|
|
|
- APCI2016_ADDRESS_RANGE,
|
|
|
- 32,
|
|
|
- 0,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_S5920,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci2016",
|
|
|
+ .i_VendorId = APCI2016_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci2032",
|
|
|
- APCI2032_BOARD_VENDOR_ID,
|
|
|
- 0x1004,
|
|
|
- 4,
|
|
|
- APCI2032_ADDRESS_RANGE,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_93C76,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 32,
|
|
|
- 0xffffffff,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci2032",
|
|
|
+ .i_VendorId = APCI2032_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci2200",
|
|
|
- APCI2200_BOARD_VENDOR_ID,
|
|
|
- 0x1005,
|
|
|
- 4,
|
|
|
- APCI2200_ADDRESS_RANGE,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_93C76,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci2200",
|
|
|
+ .i_VendorId = APCI2200_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci1564",
|
|
|
- APCI1564_BOARD_VENDOR_ID,
|
|
|
- 0x1006,
|
|
|
- 128,
|
|
|
- APCI1564_ADDRESS_RANGE,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_93C76,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- 32,
|
|
|
- 32,
|
|
|
- 0xffffffff,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 1,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci1564",
|
|
|
+ .i_VendorId = APCI1564_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci1500",
|
|
|
- APCI1500_BOARD_VENDOR_ID,
|
|
|
- 0x80fc,
|
|
|
- 128,
|
|
|
- APCI1500_ADDRESS_RANGE,
|
|
|
- 4,
|
|
|
- 0,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- 16,
|
|
|
- 16,
|
|
|
- 0xffff,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 1,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci1500",
|
|
|
+ .i_VendorId = APCI1500_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci3001",
|
|
|
- APCI3120_BOARD_VENDOR_ID,
|
|
|
- 0x828D,
|
|
|
- AMCC_OP_REG_SIZE,
|
|
|
- APCI3120_ADDRESS_RANGE,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- NULL,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 0xfff,
|
|
|
- 0,
|
|
|
- &range_apci3120_ai,
|
|
|
- NULL,
|
|
|
- 4,
|
|
|
- 4,
|
|
|
- 0x0f,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 1,
|
|
|
- 1,
|
|
|
- 1,
|
|
|
- 10000,
|
|
|
- 100000,
|
|
|
- v_APCI3120_Interrupt,
|
|
|
- i_APCI3120_Reset,
|
|
|
- i_APCI3120_InsnConfigAnalogInput,
|
|
|
- i_APCI3120_InsnReadAnalogInput,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- i_APCI3120_CommandTestAnalogInput,
|
|
|
- i_APCI3120_CommandAnalogInput,
|
|
|
- i_APCI3120_StopCyclicAcquisition,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci3001",
|
|
|
+ .i_VendorId = APCI3120_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci3501",
|
|
|
- APCI3501_BOARD_VENDOR_ID,
|
|
|
- 0x3001,
|
|
|
- 64,
|
|
|
- APCI3501_ADDRESS_RANGE,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_S5933,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- 16383,
|
|
|
- NULL,
|
|
|
- &range_apci3501_ao,
|
|
|
- 2,
|
|
|
- 2,
|
|
|
- 0x3,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 1,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci3501",
|
|
|
+ .i_VendorId = APCI3501_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci035",
|
|
|
- APCI035_BOARD_VENDOR_ID,
|
|
|
- 0x0300,
|
|
|
- 127,
|
|
|
- APCI035_ADDRESS_RANGE,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 1,
|
|
|
- ADDIDATA_S5920,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 0xff,
|
|
|
- 0,
|
|
|
- &range_apci035_ai,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci035",
|
|
|
+ .i_VendorId = APCI035_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci3200",
|
|
|
- APCI3200_BOARD_VENDOR_ID,
|
|
|
- 0x3000,
|
|
|
- 128,
|
|
|
- 256,
|
|
|
- 4,
|
|
|
- 4,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_S5920,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 0x3ffff,
|
|
|
- 0,
|
|
|
- &range_apci3200_ai,
|
|
|
- NULL,
|
|
|
- 4,
|
|
|
- 4,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 10000,
|
|
|
- 100000,
|
|
|
- v_APCI3200_Interrupt,
|
|
|
- i_APCI3200_Reset,
|
|
|
- i_APCI3200_ConfigAnalogInput,
|
|
|
- i_APCI3200_ReadAnalogInput,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci3200",
|
|
|
+ .i_VendorId = APCI3200_BOARD_VENDOR_ID,
|
|
|
+ .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 */
|
|
|
- {"apci3300",
|
|
|
- APCI3200_BOARD_VENDOR_ID,
|
|
|
- 0x3007,
|
|
|
- 128,
|
|
|
- 256,
|
|
|
- 4,
|
|
|
- 4,
|
|
|
- ADDIDATA_EEPROM,
|
|
|
- ADDIDATA_S5920,
|
|
|
- 0,
|
|
|
- 8,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- 0x3ffff,
|
|
|
- 0,
|
|
|
- &range_apci3300_ai,
|
|
|
- NULL,
|
|
|
- 4,
|
|
|
- 4,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 10000,
|
|
|
- 100000,
|
|
|
- v_APCI3200_Interrupt,
|
|
|
- i_APCI3200_Reset,
|
|
|
- i_APCI3200_ConfigAnalogInput,
|
|
|
- i_APCI3200_ReadAnalogInput,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci3300",
|
|
|
+ .i_VendorId = APCI3200_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci1710", APCI1710_BOARD_VENDOR_ID, APCI1710_BOARD_DEVICE_ID,
|
|
|
- 128,
|
|
|
- 8,
|
|
|
- 256,
|
|
|
- 0,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci1710",
|
|
|
+ .i_VendorId = APCI1710_BOARD_VENDOR_ID,
|
|
|
+ .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
|
|
|
- {"apci1648",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x1009,
|
|
|
- 128,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- NULL,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 48,
|
|
|
- &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},
|
|
|
-
|
|
|
- {"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},
|
|
|
+ {
|
|
|
+ .pc_DriverName = "apci1648",
|
|
|
+ .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
|
|
|
+ .i_DeviceId = 0x1009,
|
|
|
+ .i_IorangeBase0 = 128,
|
|
|
+ .i_PCIEeprom = ADDIDATA_NO_EEPROM,
|
|
|
+ .i_NbrTTLChannel = 48,
|
|
|
+ .pr_TTLRangelist = &range_apci16xx_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci16xx_ttl,
|
|
|
+ .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
|
|
|
- {"apci3000-16",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3010,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 4095,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3000-8",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x300F,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 8,
|
|
|
- 4,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- 4095,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3000-4",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x300E,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 4,
|
|
|
- 2,
|
|
|
- 4,
|
|
|
- 0,
|
|
|
- 4095,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3006-16",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3013,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 65535,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3006-8",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3014,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 8,
|
|
|
- 4,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- 65535,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3006-4",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3015,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 4,
|
|
|
- 2,
|
|
|
- 4,
|
|
|
- 0,
|
|
|
- 65535,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3010-16",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3016,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 4095,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3010-8",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3017,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 8,
|
|
|
- 4,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- 4095,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3010-4",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3018,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 4,
|
|
|
- 2,
|
|
|
- 4,
|
|
|
- 0,
|
|
|
- 4095,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3016-16",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x3019,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 0,
|
|
|
- 65535,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3016-8",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x301A,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 8,
|
|
|
- 4,
|
|
|
- 8,
|
|
|
- 0,
|
|
|
- 65535,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3016-4",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x301B,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 4,
|
|
|
- 2,
|
|
|
- 4,
|
|
|
- 0,
|
|
|
- 65535,
|
|
|
- 0,
|
|
|
- &range_apci3XXX_ai,
|
|
|
- NULL,
|
|
|
- 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,
|
|
|
- NULL,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3100-16-4",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x301C,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 16,
|
|
|
- 8,
|
|
|
- 16,
|
|
|
- 4,
|
|
|
- 4095,
|
|
|
- 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},
|
|
|
-
|
|
|
- {"apci3100-8-4",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 0x301D,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- 256,
|
|
|
- ADDIDATA_NO_EEPROM,
|
|
|
- ADDIDATA_9054,
|
|
|
- 8,
|
|
|
- 4,
|
|
|
- 8,
|
|
|
- 4,
|
|
|
- 4095,
|
|
|
- 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-16-4",
|
|
|
- PCI_VENDOR_ID_ADDIDATA,
|
|
|
- 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},
|
|
|
+ {
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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,
|
|
|
+ .pr_TTLRangelist = &range_apci3XXX_ttl,
|
|
|
+ .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
|
|
|
};
|
|
|
|
|
|
-#define n_boardtypes (sizeof(boardtypes)/sizeof(struct addi_board))
|
|
|
-
|
|
|
static struct comedi_driver driver_addi = {
|
|
|
.driver_name = ADDIDATA_DRIVER_NAME,
|
|
|
.module = THIS_MODULE,
|
|
|
.attach = i_ADDI_Attach,
|
|
|
.detach = i_ADDI_Detach,
|
|
|
- .num_names = n_boardtypes,
|
|
|
+ .num_names = ARRAY_SIZE(boardtypes),
|
|
|
.board_name = &boardtypes[0].pc_DriverName,
|
|
|
.offset = sizeof(struct addi_board),
|
|
|
};
|
|
@@ -2543,7 +1438,7 @@ static struct comedi_driver driver_addi = {
|
|
|
static int __devinit driver_addi_pci_probe(struct pci_dev *dev,
|
|
|
const struct pci_device_id *ent)
|
|
|
{
|
|
|
- return comedi_pci_auto_config(dev, driver_addi.driver_name);
|
|
|
+ return comedi_pci_auto_config(dev, &driver_addi);
|
|
|
}
|
|
|
|
|
|
static void __devexit driver_addi_pci_remove(struct pci_dev *dev)
|
|
@@ -2821,16 +1716,13 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|
|
/* Set the initialisation flag */
|
|
|
devpriv->b_AiInitialisation = 1;
|
|
|
|
|
|
- s->insn_config =
|
|
|
- this_board->i_hwdrv_InsnConfigAnalogInput;
|
|
|
- s->insn_read = this_board->i_hwdrv_InsnReadAnalogInput;
|
|
|
- s->insn_write =
|
|
|
- this_board->i_hwdrv_InsnWriteAnalogInput;
|
|
|
- s->insn_bits = this_board->i_hwdrv_InsnBitsAnalogInput;
|
|
|
- s->do_cmdtest =
|
|
|
- this_board->i_hwdrv_CommandTestAnalogInput;
|
|
|
- s->do_cmd = this_board->i_hwdrv_CommandAnalogInput;
|
|
|
- s->cancel = this_board->i_hwdrv_CancelAnalogInput;
|
|
|
+ s->insn_config = this_board->ai_config;
|
|
|
+ s->insn_read = this_board->ai_read;
|
|
|
+ s->insn_write = this_board->ai_write;
|
|
|
+ s->insn_bits = this_board->ai_bits;
|
|
|
+ s->do_cmdtest = this_board->ai_cmdtest;
|
|
|
+ s->do_cmd = this_board->ai_cmd;
|
|
|
+ s->cancel = this_board->ai_cancel;
|
|
|
|
|
|
} else {
|
|
|
s->type = COMEDI_SUBD_UNUSED;
|
|
@@ -2846,10 +1738,8 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|
|
s->len_chanlist =
|
|
|
devpriv->s_EeParameters.i_NbrAoChannel;
|
|
|
s->range_table = this_board->pr_AoRangelist;
|
|
|
- s->insn_config =
|
|
|
- this_board->i_hwdrv_InsnConfigAnalogOutput;
|
|
|
- s->insn_write =
|
|
|
- this_board->i_hwdrv_InsnWriteAnalogOutput;
|
|
|
+ s->insn_config = this_board->ao_config;
|
|
|
+ s->insn_write = this_board->ao_write;
|
|
|
} else {
|
|
|
s->type = COMEDI_SUBD_UNUSED;
|
|
|
}
|
|
@@ -2864,12 +1754,10 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|
|
devpriv->s_EeParameters.i_NbrDiChannel;
|
|
|
s->range_table = &range_digital;
|
|
|
s->io_bits = 0; /* all bits input */
|
|
|
- s->insn_config =
|
|
|
- this_board->i_hwdrv_InsnConfigDigitalInput;
|
|
|
- s->insn_read = this_board->i_hwdrv_InsnReadDigitalInput;
|
|
|
- s->insn_write =
|
|
|
- this_board->i_hwdrv_InsnWriteDigitalInput;
|
|
|
- s->insn_bits = this_board->i_hwdrv_InsnBitsDigitalInput;
|
|
|
+ s->insn_config = this_board->di_config;
|
|
|
+ s->insn_read = this_board->di_read;
|
|
|
+ s->insn_write = this_board->di_write;
|
|
|
+ s->insn_bits = this_board->di_bits;
|
|
|
} else {
|
|
|
s->type = COMEDI_SUBD_UNUSED;
|
|
|
}
|
|
@@ -2886,13 +1774,11 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|
|
s->range_table = &range_digital;
|
|
|
s->io_bits = 0xf; /* all bits output */
|
|
|
|
|
|
- s->insn_config = this_board->i_hwdrv_InsnConfigDigitalOutput; /* for digital output memory.. */
|
|
|
- s->insn_write =
|
|
|
- this_board->i_hwdrv_InsnWriteDigitalOutput;
|
|
|
- s->insn_bits =
|
|
|
- this_board->i_hwdrv_InsnBitsDigitalOutput;
|
|
|
- s->insn_read =
|
|
|
- this_board->i_hwdrv_InsnReadDigitalOutput;
|
|
|
+ /* insn_config - for digital output memory */
|
|
|
+ s->insn_config = this_board->do_config;
|
|
|
+ s->insn_write = this_board->do_write;
|
|
|
+ s->insn_bits = this_board->do_bits;
|
|
|
+ s->insn_read = this_board->do_read;
|
|
|
} else {
|
|
|
s->type = COMEDI_SUBD_UNUSED;
|
|
|
}
|
|
@@ -2907,10 +1793,10 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|
|
s->len_chanlist = 1;
|
|
|
s->range_table = &range_digital;
|
|
|
|
|
|
- s->insn_write = this_board->i_hwdrv_InsnWriteTimer;
|
|
|
- s->insn_read = this_board->i_hwdrv_InsnReadTimer;
|
|
|
- s->insn_config = this_board->i_hwdrv_InsnConfigTimer;
|
|
|
- s->insn_bits = this_board->i_hwdrv_InsnBitsTimer;
|
|
|
+ s->insn_write = this_board->timer_write;
|
|
|
+ s->insn_read = this_board->timer_read;
|
|
|
+ s->insn_config = this_board->timer_config;
|
|
|
+ s->insn_bits = this_board->timer_bits;
|
|
|
} else {
|
|
|
s->type = COMEDI_SUBD_UNUSED;
|
|
|
}
|
|
@@ -2926,10 +1812,10 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|
|
s->io_bits = 0; /* all bits input */
|
|
|
s->len_chanlist = this_board->i_NbrTTLChannel;
|
|
|
s->range_table = &range_digital;
|
|
|
- s->insn_config = this_board->i_hwdr_ConfigInitTTLIO;
|
|
|
- s->insn_bits = this_board->i_hwdr_ReadTTLIOBits;
|
|
|
- s->insn_read = this_board->i_hwdr_ReadTTLIOAllPortValue;
|
|
|
- s->insn_write = this_board->i_hwdr_WriteTTLIOChlOnOff;
|
|
|
+ s->insn_config = this_board->ttl_config;
|
|
|
+ s->insn_bits = this_board->ttl_bits;
|
|
|
+ s->insn_read = this_board->ttl_read;
|
|
|
+ s->insn_write = this_board->ttl_write;
|
|
|
} else {
|
|
|
s->type = COMEDI_SUBD_UNUSED;
|
|
|
}
|
|
@@ -2953,50 +1839,22 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
-+----------------------------------------------------------------------------+
|
|
|
-| Function name : static int i_ADDI_Detach(struct comedi_device *dev) |
|
|
|
-| |
|
|
|
-| |
|
|
|
-+----------------------------------------------------------------------------+
|
|
|
-| Task : Deallocates resources of the addi_common driver |
|
|
|
-| Free the DMA buffers, unregister irq. |
|
|
|
-| |
|
|
|
-+----------------------------------------------------------------------------+
|
|
|
-| Input Parameters : struct comedi_device *dev |
|
|
|
-| |
|
|
|
-| |
|
|
|
-+----------------------------------------------------------------------------+
|
|
|
-| Return Value : 0 |
|
|
|
-| |
|
|
|
-+----------------------------------------------------------------------------+
|
|
|
-*/
|
|
|
-
|
|
|
-static int i_ADDI_Detach(struct comedi_device *dev)
|
|
|
+static void i_ADDI_Detach(struct comedi_device *dev)
|
|
|
{
|
|
|
-
|
|
|
if (dev->private) {
|
|
|
- if (devpriv->b_ValidDriver) {
|
|
|
+ if (devpriv->b_ValidDriver)
|
|
|
i_ADDI_Reset(dev);
|
|
|
- }
|
|
|
-
|
|
|
- if (dev->irq) {
|
|
|
+ if (dev->irq)
|
|
|
free_irq(dev->irq, dev);
|
|
|
- }
|
|
|
-
|
|
|
- if ((this_board->pc_EepromChip == NULL)
|
|
|
- || (strcmp(this_board->pc_EepromChip,
|
|
|
- ADDIDATA_9054) != 0)) {
|
|
|
- if (devpriv->allocated) {
|
|
|
+ if ((this_board->pc_EepromChip == NULL) ||
|
|
|
+ (strcmp(this_board->pc_EepromChip, ADDIDATA_9054) != 0)) {
|
|
|
+ if (devpriv->allocated)
|
|
|
i_pci_card_free(devpriv->amcc);
|
|
|
- }
|
|
|
-
|
|
|
if (devpriv->ul_DmaBufferVirtual[0]) {
|
|
|
free_pages((unsigned long)devpriv->
|
|
|
ul_DmaBufferVirtual[0],
|
|
|
devpriv->ui_DmaBufferPages[0]);
|
|
|
}
|
|
|
-
|
|
|
if (devpriv->ul_DmaBufferVirtual[1]) {
|
|
|
free_pages((unsigned long)devpriv->
|
|
|
ul_DmaBufferVirtual[1],
|
|
@@ -3004,20 +1862,14 @@ static int i_ADDI_Detach(struct comedi_device *dev)
|
|
|
}
|
|
|
} else {
|
|
|
iounmap(devpriv->dw_AiBase);
|
|
|
-
|
|
|
- if (devpriv->allocated) {
|
|
|
+ if (devpriv->allocated)
|
|
|
i_pci_card_free(devpriv->amcc);
|
|
|
- }
|
|
|
}
|
|
|
-
|
|
|
if (pci_list_builded) {
|
|
|
- /* v_pci_card_list_cleanup(PCI_VENDOR_ID_AMCC); */
|
|
|
v_pci_card_list_cleanup(this_board->i_VendorId);
|
|
|
pci_list_builded = 0;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- return 0;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -3041,7 +1893,7 @@ static int i_ADDI_Detach(struct comedi_device *dev)
|
|
|
static int i_ADDI_Reset(struct comedi_device *dev)
|
|
|
{
|
|
|
|
|
|
- this_board->i_hwdrv_Reset(dev);
|
|
|
+ this_board->reset(dev);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -3067,7 +1919,7 @@ static int i_ADDI_Reset(struct comedi_device *dev)
|
|
|
static irqreturn_t v_ADDI_Interrupt(int irq, void *d)
|
|
|
{
|
|
|
struct comedi_device *dev = d;
|
|
|
- this_board->v_hwdrv_Interrupt(irq, d);
|
|
|
+ this_board->interrupt(irq, d);
|
|
|
return IRQ_RETVAL(1);
|
|
|
}
|
|
|
|