]>
Commit | Line | Data |
---|---|---|
15d8826a GKH |
1 | /* |
2 | * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module. | |
3 | * | |
4 | * ADDI-DATA GmbH | |
5 | * Dieselstrasse 3 | |
6 | * D-77833 Ottersweier | |
7 | * Tel: +19(0)7223/9493-0 | |
8 | * Fax: +49(0)7223/9493-92 | |
9 | * http://www.addi-data-com | |
10 | * info@addi-data.com | |
11 | * | |
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) | |
15 | * any later version. | |
16 | */ | |
c995fe94 ADG |
17 | |
18 | /********* Definitions for APCI-1516 card *****/ | |
19 | ||
2696fb57 | 20 | /* Card Specific information */ |
c995fe94 ADG |
21 | #define APCI1516_BOARD_VENDOR_ID 0x15B8 |
22 | #define APCI1516_ADDRESS_RANGE 8 | |
23 | ||
2696fb57 | 24 | /* DIGITAL INPUT-OUTPUT DEFINE */ |
c995fe94 ADG |
25 | |
26 | #define APCI1516_DIGITAL_OP 4 | |
27 | #define APCI1516_DIGITAL_OP_RW 4 | |
28 | #define APCI1516_DIGITAL_IP 0 | |
29 | ||
2696fb57 | 30 | /* TIMER COUNTER WATCHDOG DEFINES */ |
c995fe94 ADG |
31 | |
32 | #define ADDIDATA_WATCHDOG 2 | |
33 | #define APCI1516_DIGITAL_OP_WATCHDOG 0 | |
34 | #define APCI1516_WATCHDOG_ENABLEDISABLE 12 | |
35 | #define APCI1516_WATCHDOG_RELOAD_VALUE 4 | |
36 | #define APCI1516_WATCHDOG_STATUS 16 | |
37 | ||
2696fb57 | 38 | /* Hardware Layer functions for Apci1516 */ |
c995fe94 | 39 | |
2696fb57 | 40 | /* Digital Input */ |
74b894e5 | 41 | int i_APCI1516_ReadMoreDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 42 | struct comedi_insn *insn, unsigned int *data); |
74b894e5 | 43 | int i_APCI1516_Read1DigitalInput(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 44 | struct comedi_insn *insn, unsigned int *data); |
c995fe94 | 45 | |
2696fb57 | 46 | /* Digital Output */ |
34c43922 | 47 | int i_APCI1516_ConfigDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 48 | struct comedi_insn *insn, unsigned int *data); |
74b894e5 | 49 | int i_APCI1516_WriteDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 50 | struct comedi_insn *insn, unsigned int *data); |
74b894e5 | 51 | int i_APCI1516_ReadDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 52 | struct comedi_insn *insn, unsigned int *data); |
c995fe94 | 53 | |
2696fb57 BP |
54 | /* |
55 | * TIMER timer value is passed as u seconds | |
56 | */ | |
34c43922 | 57 | int i_APCI1516_ConfigWatchdog(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 58 | struct comedi_insn *insn, unsigned int *data); |
34c43922 | 59 | int i_APCI1516_StartStopWriteWatchdog(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 60 | struct comedi_insn *insn, unsigned int *data); |
34c43922 | 61 | int i_APCI1516_ReadWatchdog(struct comedi_device *dev, struct comedi_subdevice *s, |
90035c08 | 62 | struct comedi_insn *insn, unsigned int *data); |
c995fe94 | 63 | |
2696fb57 | 64 | /* reset */ |
74b894e5 | 65 | int i_APCI1516_Reset(struct comedi_device *dev); |