2 * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
7 * Tel: +19(0)7223/9493-0
8 * Fax: +49(0)7223/9493-92
9 * http://www.addi-data-com
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the Free
14 * Software Foundation; either version 2 of the License, or (at your option)
18 /********* Definitions for APCI-1032 card *****/
20 #define APCI1032_BOARD_VENDOR_ID 0x15B8
21 #define APCI1032_ADDRESS_RANGE 20
22 //DIGITAL INPUT DEFINE
24 #define APCI1032_DIGITAL_IP 0
25 #define APCI1032_DIGITAL_IP_INTERRUPT_MODE1 4
26 #define APCI1032_DIGITAL_IP_INTERRUPT_MODE2 8
27 #define APCI1032_DIGITAL_IP_IRQ 16
29 //Digital Input IRQ Function Selection
31 #define ADDIDATA_AND 1
33 //Digital Input Interrupt Status
34 #define APCI1032_DIGITAL_IP_INTERRUPT_STATUS 12
36 //Digital Input Interrupt Enable Disable.
37 #define APCI1032_DIGITAL_IP_INTERRUPT_ENABLE 0x4
38 #define APCI1032_DIGITAL_IP_INTERRUPT_DISABLE 0xFFFFFFFB
40 //ADDIDATA Enable Disable
42 #define ADDIDATA_ENABLE 1
43 #define ADDIDATA_DISABLE 0
45 // Hardware Layer functions for Apci1032
50 INT i_APCI1032_ConfigDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
51 struct comedi_insn *insn, unsigned int *data);
53 INT i_APCI1032_Read1DigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
54 struct comedi_insn *insn, unsigned int *data);
56 INT i_APCI1032_ReadMoreDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
57 struct comedi_insn *insn, unsigned int *data);
59 // Interrupt functions.....
61 static void v_APCI1032_Interrupt(int irq, void *d);
63 INT i_APCI1032_Reset(struct comedi_device *dev);