hwdrv_apci1516.h revision c995fe9475e062bab6f5a45ed28cd2d3d955ef43
1/**
2@verbatim
3
4Copyright (C) 2004,2005  ADDI-DATA GmbH for the source code of this module.
5
6        ADDI-DATA GmbH
7        Dieselstrasse 3
8        D-77833 Ottersweier
9        Tel: +19(0)7223/9493-0
10        Fax: +49(0)7223/9493-92
11        http://www.addi-data-com
12        info@addi-data.com
13
14This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
15
16This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
20You shoud also find the complete GPL in the COPYING file accompanying this source code.
21
22@endverbatim
23*/
24
25/*********      Definitions for APCI-1516 card  *****/
26
27// Card Specific information
28#define APCI1516_BOARD_VENDOR_ID                 0x15B8
29#define APCI1516_ADDRESS_RANGE                   8
30
31//DIGITAL INPUT-OUTPUT DEFINE
32
33#define APCI1516_DIGITAL_OP                 	4
34#define APCI1516_DIGITAL_OP_RW                 	4
35#define APCI1516_DIGITAL_IP                     0
36
37// TIMER COUNTER WATCHDOG DEFINES
38
39#define ADDIDATA_WATCHDOG                          2
40#define APCI1516_DIGITAL_OP_WATCHDOG               0
41#define APCI1516_WATCHDOG_ENABLEDISABLE            12
42#define APCI1516_WATCHDOG_RELOAD_VALUE             4
43#define APCI1516_WATCHDOG_STATUS                   16
44
45// Hardware Layer  functions for Apci1516
46
47//Digital Input
48INT i_APCI1516_ReadMoreDigitalInput(comedi_device * dev, comedi_subdevice * s,
49	comedi_insn * insn, lsampl_t * data);
50INT i_APCI1516_Read1DigitalInput(comedi_device * dev, comedi_subdevice * s,
51	comedi_insn * insn, lsampl_t * data);
52
53//Digital Output
54int i_APCI1516_ConfigDigitalOutput(comedi_device * dev, comedi_subdevice * s,
55	comedi_insn * insn, lsampl_t * data);
56INT i_APCI1516_WriteDigitalOutput(comedi_device * dev, comedi_subdevice * s,
57	comedi_insn * insn, lsampl_t * data);
58INT i_APCI1516_ReadDigitalOutput(comedi_device * dev, comedi_subdevice * s,
59	comedi_insn * insn, lsampl_t * data);
60
61// TIMER
62// timer value is passed as u seconds
63int i_APCI1516_ConfigWatchdog(comedi_device * dev, comedi_subdevice * s,
64	comedi_insn * insn, lsampl_t * data);
65int i_APCI1516_StartStopWriteWatchdog(comedi_device * dev, comedi_subdevice * s,
66	comedi_insn * insn, lsampl_t * data);
67int i_APCI1516_ReadWatchdog(comedi_device * dev, comedi_subdevice * s,
68	comedi_insn * insn, lsampl_t * data);
69
70//reset
71INT i_APCI1516_Reset(comedi_device * dev);
72