addi_apci_3xxx.c revision 9901a4d75d007686e8f6473189cafc4b216b7449
13d41c44370a9a1e78e53c9997289347ec97d46eeH Hartley Sweeten#include "../comedidev.h" 23d41c44370a9a1e78e53c9997289347ec97d46eeH Hartley Sweeten#include "comedi_fc.h" 3bf36f012c7ddaff083bb0ef187feddf4d85507a0H Hartley Sweeten#include "amcc_s5933.h" 43d41c44370a9a1e78e53c9997289347ec97d46eeH Hartley Sweeten 53d41c44370a9a1e78e53c9997289347ec97d46eeH Hartley Sweeten#include "addi-data/addi_common.h" 63d41c44370a9a1e78e53c9997289347ec97d46eeH Hartley Sweeten 7bf6a1578c10a4f3ef94a3c744267f18f9c3642bdH Hartley Sweeten#include "addi-data/addi_eeprom.c" 8bf6a1578c10a4f3ef94a3c744267f18f9c3642bdH Hartley Sweeten#include "addi-data/hwdrv_apci3xxx.c" 920a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten#include "addi-data/addi_common.c" 10c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten 1120a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweetenstatic const struct addi_board apci3xxx_boardtypes[] = { 12c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten { 13c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3000-16", 14c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 15c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3010, 16c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 17c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 18c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 19c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 20c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 21c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 22c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 23c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 24c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 25c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 26c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 27c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 28c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 29c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 30c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 31c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 32c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 33c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 34c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 35c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 36c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 37c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 38c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 39c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3000-8", 40c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 41c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x300F, 42c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 43c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 44c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 45c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 46c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 47c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 48c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 49c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 50c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 51c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 52c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 53c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 54c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 55c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 56c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 57c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 58c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 59c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 60c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 61c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 62c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 63c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 64c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 65c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3000-4", 66c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 67c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x300E, 68c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 69c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 70c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 71c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 72c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 73c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 74c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 4, 75c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 2, 76c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 4, 77c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 78c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 79c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 80c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 81c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 82c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 83c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 84c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 85c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 86c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 87c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 88c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 89c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 90c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 91c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3006-16", 92c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 93c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3013, 94c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 95c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 96c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 97c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 98c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 99c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 100c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 101c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 102c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 103c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 104c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 105c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 106c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 107c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 108c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 109c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 110c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 111c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 112c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 113c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 114c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 115c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 116c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 117c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3006-8", 118c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 119c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3014, 120c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 121c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 122c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 123c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 124c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 125c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 126c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 127c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 128c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 129c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 130c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 131c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 132c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 133c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 134c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 135c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 136c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 137c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 138c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 139c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 140c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 141c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 142c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 143c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3006-4", 144c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 145c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3015, 146c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 147c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 148c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 149c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 150c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 151c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 152c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 4, 153c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 2, 154c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 4, 155c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 156c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 157c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 158c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 159c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 160c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 161c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 162c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 163c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 164c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 165c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 166c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 167c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 168c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 169c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3010-16", 170c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 171c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3016, 172c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 173c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 174c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 175c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 176c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 177c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 178c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 179c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 180c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 181c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 182c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 183c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 184c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 185c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 186c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 187c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 188c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 189c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 190c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 191c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 192c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 19310f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 1942b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 195c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 196c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 197c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 198c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 199c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 200c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3010-8", 201c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 202c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3017, 203c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 204c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 205c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 206c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 207c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 208c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 209c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 210c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 211c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 212c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 213c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 214c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 215c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 216c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 217c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 218c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 219c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 220c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 221c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 222c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 223c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 22410f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 2252b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 226c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 227c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 228c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 229c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 230c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 231c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3010-4", 232c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 233c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3018, 234c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 235c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 236c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 237c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 238c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 239c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 240c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 4, 241c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 2, 242c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 4, 243c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 244c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 245c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 246c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 247c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 248c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 249c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 250c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 251c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 252c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 253c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 254c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 25510f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 2562b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 257c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 258c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 259c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 260c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 261c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 262c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3016-16", 263c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 264c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3019, 265c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 266c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 267c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 268c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 269c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 270c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 271c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 272c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 273c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 274c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 275c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 276c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 277c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 278c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 279c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 280c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 281c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 282c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 283c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 284c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 285c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 28610f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 2872b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 288c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 289c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 290c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 291c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 292c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 293c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3016-8", 294c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 295c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x301A, 296c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 297c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 298c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 299c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 300c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 301c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 302c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 303c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 304c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 305c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 306c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 307c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 308c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 309c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 310c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 311c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 312c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 313c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 314c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 315c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 316c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 31710f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 3182b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 319c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 320c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 321c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 322c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 323c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 324c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3016-4", 325c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 326c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x301B, 327c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 328c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 329c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 330c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 331c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 332c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 333c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 4, 334c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 2, 335c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 4, 336c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 337c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 338c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 339c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 340c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 341c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 342c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 343c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 344c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 345c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 346c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 347c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 34810f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 3492b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 350c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 351c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 352c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 353c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 354c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 355c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3100-16-4", 356c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 357c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x301C, 358c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 359c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 360c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 361c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 362c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 363c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 364c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 365c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 366c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 367c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 368c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 369c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 370c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 371c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 372c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 373c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 374c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 375c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 376c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 377c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 378c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 379c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 380c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 381c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 382c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 383c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 384c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 385c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3100-8-4", 386c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 387c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x301D, 388c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 389c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 390c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 391c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 392c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 393c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 394c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 395c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 396c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 397c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 398c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 399c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 400c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 401c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 402c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 403c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 404c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 405c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 406c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 407c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 408c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 409c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 410c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 411c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 412c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 413c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 414c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 415c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3106-16-4", 416c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 417c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x301E, 418c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 419c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 420c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 421c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 422c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 423c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 424c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 425c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 426c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 427c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 428c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 429c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 430c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 431c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 432c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 433c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 434c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 435c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 436c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 437c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 438c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 439c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 440c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 441c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 442c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 443c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 444c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 445c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3106-8-4", 446c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 447c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x301F, 448c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 449c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 450c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 451c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 452c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 453c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 454c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 455c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 456c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 457c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 458c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 459c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 460c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 461c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 462c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 463c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 464c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 10000, 465c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 466c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 467c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 468c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 469c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 470c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 471c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 472c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 473c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 474c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 475c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3110-16-4", 476c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 477c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3020, 478c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 479c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 480c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 481c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 482c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 483c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 484c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 485c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 486c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 487c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 488c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 489c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 490c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 491c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 492c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 493c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 494c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 495c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 496c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 497c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 498c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 499c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 500c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 501c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 502c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 50310f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 5042b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 505c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 506c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 507c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 508c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 509c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 510c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3110-8-4", 511c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 512c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3021, 513c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 514c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 515c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 516c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 517c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 518c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 519c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 520c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 521c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 522c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 523c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 4095, 524c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 525c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 526c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 527c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 528c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 529c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 530c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 531c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 532c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 533c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 534c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 535c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 536c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 537c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 53810f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 5392b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 540c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 541c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 542c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 543c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 544c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 545c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3116-16-4", 546c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 547c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3022, 548c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 549c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 550c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 551c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 552c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 553c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 554c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 16, 555c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 556c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 557c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 558c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 559c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 560c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 561c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 562c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 563c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 564c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 565c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 566c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 567c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 568c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 569c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 570c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 571c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 572c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 57310f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 5742b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 575c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 576c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 577c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 578c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 579c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 580c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3116-8-4", 581c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 582c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3023, 583c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 584c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 585c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 586c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 587c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 588c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 589c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannel = 8, 590c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 591c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 592c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 593c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 594c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 595c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 596c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 597c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 598c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 599c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 600c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 601c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 602c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 603c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 604c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 605c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 606c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 607c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 60810f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 6092b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 610c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 611c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 612c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 613c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 614c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 615c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3003", 616c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 617c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x300B, 618c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 619c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 620c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 621c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 622c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 623c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 624c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 625c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 4, 626c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 627c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 628c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 629c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 630c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 631c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 7, 632c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 2500, 633c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 634c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 635c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 636c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 63710f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 6382b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 639c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 640c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3002-16", 641c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 642c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3002, 643c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 644c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 645c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 646c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 647c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 648c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 649c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 16, 650c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 16, 651c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 652c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 653c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 654c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 655c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 656c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 657c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 658c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 659c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 660c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 661c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 66210f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 6632b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 664c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 665c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3002-8", 666c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 667c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3003, 668c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 669c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 670c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 671c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 672c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 673c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 674c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 8, 675c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 8, 676c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 677c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 678c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 679c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 680c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 681c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 682c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 683c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 684c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 685c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 686c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 68710f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 6882b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 689c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 690c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3002-4", 691c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 692c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3004, 693c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 694c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 695c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 696c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 697c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 698c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 699c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAiChannelDiff = 4, 700c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiChannelList = 4, 701c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AiMaxdata = 65535, 702c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AiRangelist = &range_apci3XXX_ai, 703c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDiChannel = 4, 704c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrDoChannel = 4, 705c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DoMaxdata = 1, 706c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .b_AvailableConvertUnit = 6, 707c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ui_MinAcquisitiontimeNs = 5000, 708c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 709c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 710c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_config = i_APCI3XXX_InsnConfigAnalogInput, 711c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ai_read = i_APCI3XXX_InsnReadAnalogInput, 71210f71c7845686b7f93113f1fe6dbc3718d8a8673H Hartley Sweeten .di_bits = apci3xxx_di_insn_bits, 7132b70a4f4f97b70e8cd9d8a16983758aa4fc3450bH Hartley Sweeten .do_bits = apci3xxx_do_insn_bits, 714c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, { 715c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_DriverName = "apci3500", 716c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 717c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_DeviceId = 0x3024, 718c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase0 = 256, 719c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase1 = 256, 720c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase2 = 256, 721c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_IorangeBase3 = 256, 722c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_PCIEeprom = ADDIDATA_NO_EEPROM, 723c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pc_EepromChip = ADDIDATA_9054, 724c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrAoChannel = 4, 725c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_AoMaxdata = 4095, 726c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .pr_AoRangelist = &range_apci3XXX_ao, 727c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .i_NbrTTLChannel = 24, 728c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .interrupt = v_APCI3XXX_Interrupt, 729c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .reset = i_APCI3XXX_Reset, 730c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ao_write = i_APCI3XXX_InsnWriteAnalogOutput, 731c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_config = i_APCI3XXX_InsnConfigInitTTLIO, 732c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_bits = i_APCI3XXX_InsnBitsTTLIO, 733c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_read = i_APCI3XXX_InsnReadTTLIO, 734c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten .ttl_write = i_APCI3XXX_InsnWriteTTLIO, 735c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten }, 736c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten}; 737c0a053b8b24d72413a82a16a41f635e6040ccf34H Hartley Sweeten 73820a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweetenstatic struct comedi_driver apci3xxx_driver = { 73920a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .driver_name = "addi_apci_3xxx", 74020a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .module = THIS_MODULE, 74192cba8f3b42e1cb8211b64e91618102ecc8f0a6dH Hartley Sweeten .auto_attach = addi_auto_attach, 74220a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .detach = i_ADDI_Detach, 74320a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .num_names = ARRAY_SIZE(apci3xxx_boardtypes), 74420a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .board_name = &apci3xxx_boardtypes[0].pc_DriverName, 74520a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .offset = sizeof(struct addi_board), 74620a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten}; 74720a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten 748a690b7e535f2f97a3a05ee570715abeb60a8910fBill Pembertonstatic int apci3xxx_pci_probe(struct pci_dev *dev, 74920a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten const struct pci_device_id *ent) 75020a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten{ 75120a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten return comedi_pci_auto_config(dev, &apci3xxx_driver); 75220a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten} 75320a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten 75420a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweetenstatic DEFINE_PCI_DEVICE_TABLE(apci3xxx_pci_table) = { 755317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3010) }, 756317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x300f) }, 757317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x300e) }, 758317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3013) }, 759317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3014) }, 760317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3015) }, 761317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3016) }, 762317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3017) }, 763317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3018) }, 764317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3019) }, 765317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301a) }, 766317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301b) }, 767317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301c) }, 768317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301d) }, 769317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301e) }, 770317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301f) }, 771317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3020) }, 772317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3021) }, 773317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3022) }, 774317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3023) }, 775317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x300B) }, 776317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3002) }, 777317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3003) }, 778317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3004) }, 779317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3024) }, 780317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten { 0 } 781317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten}; 78220a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley SweetenMODULE_DEVICE_TABLE(pci, apci3xxx_pci_table); 783317285d71acccbda2fbab7e53d6b33c52a151a32H Hartley Sweeten 78420a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweetenstatic struct pci_driver apci3xxx_pci_driver = { 78520a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .name = "addi_apci_3xxx", 78620a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .id_table = apci3xxx_pci_table, 78720a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten .probe = apci3xxx_pci_probe, 7889901a4d75d007686e8f6473189cafc4b216b7449Peter Huewe .remove = comedi_pci_auto_unconfig, 78920a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweeten}; 79020a22b706b8ee37d1a2282f2c9bf7f2c73a5a7a5H Hartley Sweetenmodule_comedi_pci_driver(apci3xxx_driver, apci3xxx_pci_driver); 79190f703d30dd3e0c16ff80f35e34e511385a05ad5Arun Thomas 79290f703d30dd3e0c16ff80f35e34e511385a05ad5Arun ThomasMODULE_AUTHOR("Comedi http://www.comedi.org"); 79390f703d30dd3e0c16ff80f35e34e511385a05ad5Arun ThomasMODULE_DESCRIPTION("Comedi low-level driver"); 79490f703d30dd3e0c16ff80f35e34e511385a05ad5Arun ThomasMODULE_LICENSE("GPL"); 795