APCI1710_82x54.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#define APCI1710_PCI_BUS_CLOCK 					0
26#define APCI1710_FRONT_CONNECTOR_INPUT 			1
27#define APCI1710_TIMER_READVALUE				0
28#define APCI1710_TIMER_GETOUTPUTLEVEL			1
29#define APCI1710_TIMER_GETPROGRESSSTATUS		2
30#define APCI1710_TIMER_WRITEVALUE				3
31
32#define APCI1710_TIMER_READINTERRUPT            1
33#define APCI1710_TIMER_READALLTIMER             2
34
35// BEGIN JK 27.10.03 : Add the possibility to use a 40 Mhz quartz
36#ifndef APCI1710_10MHZ
37#define APCI1710_10MHZ           10
38#endif
39// END JK 27.10.03 : Add the possibility to use a 40 Mhz quartz
40
41/*
42+----------------------------------------------------------------------------+
43|                       82X54 TIMER INISIALISATION FUNCTION                  |
44+----------------------------------------------------------------------------+
45*/
46
47INT i_APCI1710_InsnConfigInitTimer(comedi_device * dev, comedi_subdevice * s,
48	comedi_insn * insn, lsampl_t * data);
49
50INT i_APCI1710_InsnWriteEnableDisableTimer(comedi_device * dev,
51	comedi_subdevice * s, comedi_insn * insn, lsampl_t * data);
52/*
53+----------------------------------------------------------------------------+
54|                       82X54 READ FUNCTION                                  |
55+----------------------------------------------------------------------------+
56*/
57
58INT i_APCI1710_InsnReadAllTimerValue(comedi_device * dev, comedi_subdevice * s,
59	comedi_insn * insn, lsampl_t * data);
60
61INT i_APCI1710_InsnBitsTimer(comedi_device * dev, comedi_subdevice * s,
62	comedi_insn * insn, lsampl_t * data);
63
64/*
65+----------------------------------------------------------------------------+
66|                       82X54 READ & WRITE FUNCTION                          |
67+----------------------------------------------------------------------------+
68*/
69INT i_APCI1710_ReadTimerValue(comedi_device * dev,
70	BYTE b_ModulNbr, BYTE b_TimerNbr, PULONG pul_TimerValue);
71
72INT i_APCI1710_GetTimerOutputLevel(comedi_device * dev,
73	BYTE b_ModulNbr, BYTE b_TimerNbr, PBYTE pb_OutputLevel);
74
75INT i_APCI1710_GetTimerProgressStatus(comedi_device * dev,
76	BYTE b_ModulNbr, BYTE b_TimerNbr, PBYTE pb_TimerStatus);
77
78/*
79+----------------------------------------------------------------------------+
80|                       82X54 WRITE FUNCTION                                 |
81+----------------------------------------------------------------------------+
82*/
83INT i_APCI1710_WriteTimerValue(comedi_device * dev,
84	BYTE b_ModulNbr, BYTE b_TimerNbr, ULONG ul_WriteValue);
85