Commit c5a20c4f authored by Fred Akers's avatar Fred Akers Committed by Greg Kroah-Hartman

Staging: Comedi: addi-data: Clean up function comments

These comments look terrible and are full of redundant information.
Also reformat the license at the head of the file to wrap at 80 char.
Signed-off-by: default avatarFred Akers <knivey@botops.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 805077b9
/**
@verbatim
Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
ADDI-DATA GmbH
Dieselstrasse 3
D-77833 Ottersweier
Tel: +19(0)7223/9493-0
Fax: +49(0)7223/9493-92
http://www.addi-data.com
info@addi-data.com
This 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.
This 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.
@endverbatim
*/
/*
+-----------------------------------------------------------------------+
| (C) ADDI-DATA GmbH Dieselstraße 3 D-77833 Ottersweier |
+-----------------------------------------------------------------------+
| Tel : +49 (0) 7223/9493-0 | email : info@addi-data.com |
| Fax : +49 (0) 7223/9493-92 | Internet : http://www.addi-data.com |
+-------------------------------+---------------------------------------+
| Project : APCI-035 | Compiler : GCC |
| Module name : hwdrv_apci035.c | Version : 2.96 |
+-------------------------------+---------------------------------------+
| Project manager: Eric Stolz | Date : 02/12/2002 |
+-------------------------------+---------------------------------------+
| Description : Hardware Layer Access For APCI-035 |
+-----------------------------------------------------------------------+
| UPDATES |
+----------+-----------+------------------------------------------------+
| Date | Author | Description of updates |
+----------+-----------+------------------------------------------------+
| | | |
| | | |
| | | |
+----------+-----------+------------------------------------------------+
*/
* Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
*
* ADDI-DATA GmbH
* Dieselstrasse 3
* D-77833 Ottersweier
* Tel: +19(0)7223/9493-0
* Fax: +49(0)7223/9493-92
* http://www.addi-data.com
* info@addi-data.com
*
* This 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.
*
* This 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.
*/
/* Card Specific information */
#define APCI035_ADDRESS_RANGE 255
......@@ -109,60 +87,32 @@ static struct comedi_lrange range_apci035_ai = {
static int i_WatchdogNbr;
static int i_Temp;
static int i_Flag = 1;
/*
+----------------------------------------------------------------------------+
| Function Name : int apci035_timer_config |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Configures The Timer , Counter or Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| data[0] : 0 Configure As Timer |
| 1 Configure As Watchdog |
| data[1] : Watchdog number
| data[2] : Time base Unit |
| data[3] : Reload Value |
| data[4] : External Trigger |
| 1:Enable
| 0:Disable
| data[5] :External Trigger Level
| 00 Trigger Disabled
| 01 Trigger Enabled (Low level)
| 10 Trigger Enabled (High Level)
| 11 Trigger Enabled (High/Low level)
| data[6] : External Gate |
| 1:Enable
| 0:Disable
| data[7] : External Gate level
| 00 Gate Disabled
| 01 Gate Enabled (Low level)
| 10 Gate Enabled (High Level)
| data[8] :Warning Relay
| 1: ENABLE
| 0: DISABLE
| data[9] :Warning Delay available
| data[10] :Warning Relay Time unit
| data[11] :Warning Relay Time Reload value
| data[12] :Reset Relay
| 1 : ENABLE
| 0 : DISABLE
| data[13] :Interrupt
| 1 : ENABLE
| 0 : DISABLE
|
|
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures The Timer , Counter or Watchdog
*
* data[0] 0 = Configure As Timer, 1 = Configure As Watchdog
* data[1] Watchdog number
* data[2] Time base Unit
* data[3] Reload Value
* data[4] External Trigger, 1 = Enable, 0 = Disable
* data[5] External Trigger Level
* 00 = Trigger Disabled
* 01 = Trigger Enabled (Low level)
* 10 = Trigger Enabled (High Level)
* 11 = Trigger Enabled (High/Low level)
* data[6] External Gate, 1 = Enable, 0 = Disable
* data[7] External Gate level
* 00 = Gate Disabled
* 01 = Gate Enabled (Low level)
* 10 = Gate Enabled (High Level)
* data[8] Warning Relay, 1 = Enable, 0 = Disable
* data[9] Warning Delay available
* data[10] Warning Relay Time unit
* data[11] Warning Relay Time Reload value
* data[12] Reset Relay, 1 = Enable, 0 = Disable
* data[13] Interrupt, 1 = Enable, 0 = Disable
*/
static int apci035_timer_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -286,32 +236,16 @@ static int apci035_timer_config(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci035_timer_write |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Start / Stop The Selected Timer , or Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| data[0] : 0 - Stop Selected Timer/Watchdog |
| 1 - Start Selected Timer/Watchdog |
| 2 - Trigger Selected Timer/Watchdog |
| 3 - Stop All Timer/Watchdog |
| 4 - Start All Timer/Watchdog |
| 5 - Trigger All Timer/Watchdog |
| |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Start / Stop The Selected Timer , or Watchdog
*
* data[0]
* 0 - Stop Selected Timer/Watchdog
* 1 - Start Selected Timer/Watch*dog
* 2 - Trigger Selected Timer/Watchdog
* 3 - Stop All Timer/Watchdog
* 4 - Start All Timer/Watchdog
* 5 - Trigger All Timer/Watchdog
*/
static int apci035_timer_write(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -401,32 +335,14 @@ static int apci035_timer_write(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci035_timer_read |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Read The Selected Timer , Counter or Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| |
+----------------------------------------------------------------------------+
| Output Parameters : data[0] : software trigger status
| data[1] : hardware trigger status
| data[2] : Software clear status
| data[3] : Overflow status
| data[4] : Timer actual value
|
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Read The Selected Timer , Counter or Watchdog
*
* data[0] software trigger status
* data[1] hardware trigger status
* data[2] Software clear status
* data[3] Overflow status
* data[4] Timer actual value
*/
static int apci035_timer_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -458,28 +374,10 @@ static int apci035_timer_read(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci035_ai_config |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Configures The Analog Input Subdevice |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| struct comedi_subdevice *s : Subdevice Pointer |
| struct comedi_insn *insn : Insn Structure Pointer |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| data[0] : Warning delay value
| |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures The Analog Input Subdevice
*
* data[0] Warning delay value
*/
static int apci035_ai_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -500,26 +398,10 @@ static int apci035_ai_config(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci035_ai_read |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Read value of the selected channel |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int ui_NoOfChannels : No Of Channels To read |
| unsigned int *data : Data Pointer to read status |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
| data[0] : Digital Value Of Input |
| |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Read value of the selected channel
*
* data[0] Digital Value Of Input
*/
static int apci035_ai_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -539,21 +421,6 @@ static int apci035_ai_read(struct comedi_device *dev,
return insn->n;
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci035_reset(struct comedi_device *dev)
| |
+----------------------------------------------------------------------------+
| Task :Resets the registers of the card |
+----------------------------------------------------------------------------+
| Input Parameters : |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : |
| |
+----------------------------------------------------------------------------+
*/
static int apci035_reset(struct comedi_device *dev)
{
struct addi_private *devpriv = dev->private;
......@@ -570,23 +437,6 @@ static int apci035_reset(struct comedi_device *dev)
return 0;
}
/*
+----------------------------------------------------------------------------+
| Function Name : static void apci035_interrupt
| (int irq , void *d) |
+----------------------------------------------------------------------------+
| Task : Interrupt processing Routine |
+----------------------------------------------------------------------------+
| Input Parameters : int irq : irq number |
| void *d : void pointer |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
static void apci035_interrupt(int irq, void *d)
{
struct comedi_device *dev = d;
......
/**
@verbatim
Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
ADDI-DATA GmbH
Dieselstrasse 3
D-77833 Ottersweier
Tel: +19(0)7223/9493-0
Fax: +49(0)7223/9493-92
http://www.addi-data.com
info@addi-data.com
This 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.
This 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.
@endverbatim
*/
/*
+-----------------------------------------------------------------------+
| (C) ADDI-DATA GmbH Dieselstraße 3 D-77833 Ottersweier |
+-----------------------------------------------------------------------+
| Tel : +49 (0) 7223/9493-0 | email : info@addi-data.com |
| Fax : +49 (0) 7223/9493-92 | Internet : http://www.addi-data.com |
+-------------------------------+---------------------------------------+
| Project : APCI-1500 | Compiler : GCC |
| Module name : hwdrv_apci1500.c| Version : 2.96 |
+-------------------------------+---------------------------------------+
| Project manager: Eric Stolz | Date : 02/12/2002 |
+-------------------------------+---------------------------------------+
| Description : Hardware Layer Access For APCI-1500 |
+-----------------------------------------------------------------------+
| UPDATES |
+----------+-----------+------------------------------------------------+
| Date | Author | Description of updates |
+----------+-----------+------------------------------------------------+
| | | |
| | | |
| | | |
+----------+-----------+------------------------------------------------+
*/
/********* Definitions for APCI-1500 card *****/
* Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
*
* ADDI-DATA GmbH
* Dieselstrasse 3
* D-77833 Ottersweier
* Tel: +19(0)7223/9493-0
* Fax: +49(0)7223/9493-92
* http://www.addi-data.com
* info@addi-data.com
*
* This 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.
*
* This 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.
*
*/
/* Card Specific information */
#define APCI1500_ADDRESS_RANGE 4
......@@ -153,83 +130,29 @@ static int i_TimerCounter1Enabled, i_TimerCounter2Enabled,
i_WatchdogCounter3Enabled;
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_di_config |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : An event can be generated for each port. |
| The first event is related to the first 8 channels |
| (port 1) and the second to the following 6 channels |
| (port 2). An interrupt is generated when one or both |
| events have occurred |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| data[0] :Number of the input port on |
| which the event will take place |
| (1 or 2)
| data[1] : The event logic for port 1 has |
| three possibilities |
| :0 APCI1500_AND :This logic |
| links |
| the inputs |
| with an AND |
| logic. |
| 1 APCI1500_OR :This logic |
| links |
| the inputs |
| with a |
| OR logic. |
| 2 APCI1500_OR_PRIORITY |
| :This logic |
| links |
| the inputs |
| with a |
| priority |
| OR logic. |
| Input 1 |
| has the |
| highest |
| priority |
| level and |
| input 8 |
| the smallest|
| For the second port the user has|
| 1 possibility: |
| APCI1500_OR :This logic |
| links |
| the inputs |
| with a |
| polarity |
| OR logic |
| data[2] : These 8-character word for port1|
| and 6-character word for port 2 |
| give the mask of the event. |
| Each place gives the state |
| of the input channels and can |
| have one of these six characters|
| |
| 0 : This input must be on 0 |
| 1 : This input must be on 1 |
| 2 : This input reacts to |
| a falling edge |
| 3 : This input reacts to a |
| rising edge |
| 4 : This input reacts to both edges |
|
| 5 : This input is not |
| used for event |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* An event can be generated for each port. The first event is related to the
* first 8 channels (port 1) and the second to the following 6 channels (port 2)
* An interrupt is generated when one or both events have occurred.
*
* data[0] Number of the input port on which the event will take place (1 or 2)
* data[1] The event logic for port 1 has three possibilities:
* APCI1500_AND This logic links the inputs with an AND logic.
* APCI1500_OR This logic links the inputs with a OR logic.
* APCI1500_OR_PRIORITY This logic links the inputs with a priority OR
* logic. Input 1 has the highest priority level
* and input 8 the smallest.
* For the second port the user has 1 possibility:
* APCI1500_OR This logic links the inputs with a polarity OR logic
* data[2] These 8-character word for port1 and 6-character word for port 2
* give the mask of the event. Each place gives the state of the input
* channels and can have one of these six characters
* 0 This input must be on 0
* 1 This input must be on 1
* 2 This input reacts to a falling edge
* 3 This input reacts to a rising edge
* 4 This input reacts to both edges
* 5 This input is not used for event
*/
static int apci1500_di_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -537,27 +460,11 @@ static int apci1500_di_config(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_di_write |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Allows or disallows a port event |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int ui_Channel : Channel number to read |
| unsigned int *data : Data Pointer to read status |
| data[0] :0 Start input event
| 1 Stop input event
| data[1] :No of port (1 or 2)
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Allows or disallows a port event
*
* data[0] 0 = Start input event, 1 = Stop input event
* data[1] Number of port (1 or 2)
*/
static int apci1500_di_write(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -748,24 +655,8 @@ static int apci1500_di_write(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_di_read |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Return the status of the digital input |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int ui_Channel : Channel number to read |
| unsigned int *data : Data Pointer to read status |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Return the status of the digital input
*/
static int apci1500_di_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -915,33 +806,11 @@ static int apci1500_di_insn_bits(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_do_config
| (struct comedi_device *dev,struct comedi_subdevice *s struct comedi_insn
| *insn,unsigned int *data) |
| |
+----------------------------------------------------------------------------+
| Task : Configures the digital output memory and the digital
| output error interrupt |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| struct comedi_subdevice *s, :pointer to subdevice structure
| struct comedi_insn *insn :pointer to insn structure |
| data[0] :1:Memory on |
| 0:Memory off |
| data[1] :1 Enable the voltage error interrupt
| :0 Disable the voltage error interrupt |
| |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures the digital output memory and the digital output error interrupt
*
* data[1] 1 = Enable the voltage error interrupt
* 2 = Disable the voltage error interrupt
*/
static int apci1500_do_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -954,24 +823,8 @@ static int apci1500_do_config(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_do_write |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Writes port value To the selected port |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int ui_NoOfChannels : No Of Channels To Write |
| unsigned int *data : Data Pointer to read status |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Writes port value to the selected port
*/
static int apci1500_do_write(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -1125,53 +978,19 @@ static int apci1500_do_write(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_timer_config(comedi_device
| *dev,struct comedi_subdevice *s,struct comedi_insn *insn,unsigned int *data)|
| |
+----------------------------------------------------------------------------+
| Task : Configures The Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| struct comedi_subdevice *s, :pointer to subdevice structure
| struct comedi_insn *insn :pointer to insn structure |
| unsigned int *data : Data Pointer to read status data[0] : 2 APCI1500_1_8_KHZ
| 1 APCI1500_3_6_KHZ |
| 0 APCI1500_115_KHZ
| data[1] : 0 Counter1/Timer1
| 1 Counter2/Timer2
| 2 Counter3/Watchdog
| data[2] : 0 Counter
| 1 Timer/Watchdog
| data[3] : This parameter has |
| two meanings. |
| - If the counter/timer |
| is used as a counter |
| the limit value of |
| the counter is given |
| |
| - If the counter/timer |
| is used as a timer, |
| the divider factor |
| for the output is |
| given.
| data[4] : 0 APCI1500_CONTINUOUS
| 1 APCI1500_SINGLE
| data[5] : 0 Software Trigger
| 1 Hardware Trigger
|
| data[6] :0 Software gate
| 1 Hardware gate
| data[7] :0 Interrupt Disable
| 1 Interrupt Enable
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures The Watchdog
*
* data[0] 0 = APCI1500_115_KHZ, 1 = APCI1500_3_6_KHZ, 2 = APCI1500_1_8_KHZ
* data[1] 0 = Counter1/Timer1, 1 = Counter2/Timer2, 2 = Counter3/Watchdog
* data[2] 0 = Counter, 1 = Timer/Watchdog
* data[3] This parameter has two meanings. If the counter/timer is used as
* a counter the limit value of the counter is given. If the counter/timer
* is used as a timer, the divider factor for the output is given.
* data[4] 0 = APCI1500_CONTINUOUS, 1 = APCI1500_SINGLE
* data[5] 0 = Software Trigger, 1 = Hardware Trigger
* data[6] 0 = Software gate, 1 = Hardware gate
* data[7] 0 = Interrupt Disable, 1 = Interrupt Enable
*/
static int apci1500_timer_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -1663,33 +1482,12 @@ static int apci1500_timer_config(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_timer_write
| (struct comedi_device *dev,struct comedi_subdevice *s,
| struct comedi_insn *insn,unsigned int *data); |
+----------------------------------------------------------------------------+
| Task : Start / Stop or trigger the timer counter or Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| struct comedi_subdevice *s, :pointer to subdevice structure
| struct comedi_insn *insn :pointer to insn structure |
| unsigned int *data : Data Pointer to read status |
| data[0] : 0 Counter1/Timer1
| 1 Counter2/Timer2
| 2 Counter3/Watchdog
| data[1] : 0 start
| 1 stop
| 2 Trigger
| data[2] : 0 Counter
| 1 Timer/Watchdog
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Start / Stop or trigger the timer counter or Watchdog
*
* data[0] 0 = Counter1/Timer1, 1 = Counter2/Timer2, 2 = Counter3/Watchdog
* data[1] 0 = Start, 1 = Stop, 2 = Trigger
* data[2] 0 = Counter, 1 = Timer/Watchdog
*/
static int apci1500_timer_write(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -1959,29 +1757,10 @@ static int apci1500_timer_write(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_timer_bits |
| (struct comedi_device *dev,struct comedi_subdevice *s,struct comedi_insn *insn,
| unsigned int *data); |
+----------------------------------------------------------------------------+
| Task : Read The Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| struct comedi_subdevice *s, :pointer to subdevice structure
| struct comedi_insn *insn :pointer to insn structure |
| unsigned int *data : Data Pointer to read status |
| data[0] : 0 Counter1/Timer1
| 1 Counter2/Timer2
| 2 Counter3/Watchdog
|
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Read The Watchdog
*
* data[0] 0 = Counter1/Timer1, 1 = Counter2/Timer2, 2 = Counter3/Watchdog
*/
static int apci1500_timer_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -2133,27 +1912,11 @@ static int apci1500_timer_bits(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_timer_read |
| (struct comedi_device *dev,struct comedi_subdevice *s,struct comedi_insn *insn,
| unsigned int *data); |
+----------------------------------------------------------------------------+
| Task : Read the interrupt mask |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| struct comedi_subdevice *s, :pointer to subdevice structure
| struct comedi_insn *insn :pointer to insn structure |
| unsigned int *data : Data Pointer to read status |
+----------------------------------------------------------------------------+
| Output Parameters : -- data[0]:The interrupt mask value data[1]:Channel no
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Read the interrupt mask
*
* data[0] The interrupt mask value
* data[1] Channel Number
*/
static int apci1500_timer_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -2166,27 +1929,8 @@ static int apci1500_timer_read(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_do_bits |
| (struct comedi_device *dev,struct comedi_subdevice *s,struct comedi_insn *insn,
| unsigned int *data); |
+----------------------------------------------------------------------------+
| Task : Configures the interrupt registers |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| struct comedi_subdevice *s, :pointer to subdevice structure
| struct comedi_insn *insn :pointer to insn structure |
| unsigned int *data : Data Pointer |
|
+----------------------------------------------------------------------------+
| Output Parameters : --
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures the interrupt registers
*/
static int apci1500_do_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -2310,23 +2054,6 @@ static int apci1500_do_bits(struct comedi_device *dev,
return insn->n;
}
/*
+----------------------------------------------------------------------------+
| Function Name : static void apci1500_interrupt
| (int irq , void *d) |
+----------------------------------------------------------------------------+
| Task : Interrupt handler |
+----------------------------------------------------------------------------+
| Input Parameters : int irq : irq number |
| void *d : void pointer |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
static void apci1500_interrupt(int irq, void *d)
{
......@@ -2505,20 +2232,6 @@ static void apci1500_interrupt(int irq, void *d)
return;
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1500_reset(struct comedi_device *dev)
+----------------------------------------------------------------------------+
| Task :resets all the registers |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : |
| |
+----------------------------------------------------------------------------+
*/
static int apci1500_reset(struct comedi_device *dev)
{
struct addi_private *devpriv = dev->private;
......
/**
@verbatim
Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
ADDI-DATA GmbH
Dieselstrasse 3
D-77833 Ottersweier
Tel: +19(0)7223/9493-0
Fax: +49(0)7223/9493-92
http://www.addi-data.com
info@addi-data.com
This 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.
This 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.
@endverbatim
*/
/*
+-----------------------------------------------------------------------+
| (C) ADDI-DATA GmbH Dieselstraße 3 D-77833 Ottersweier |
+-----------------------------------------------------------------------+
| Tel : +49 (0) 7223/9493-0 | email : info@addi-data.com |
| Fax : +49 (0) 7223/9493-92 | Internet : http://www.addi-data.com |
+-------------------------------+---------------------------------------+
| Project : APCI-1564 | Compiler : GCC |
| Module name : hwdrv_apci1564.c| Version : 2.96 |
+-------------------------------+---------------------------------------+
| Project manager: Eric Stolz | Date : 02/12/2002 |
+-------------------------------+---------------------------------------+
| Description : Hardware Layer Access For APCI-1564 |
+-----------------------------------------------------------------------+
| UPDATES |
+----------+-----------+------------------------------------------------+
| Date | Author | Description of updates |
+----------+-----------+------------------------------------------------+
| | | |
| | | |
| | | |
+----------+-----------+------------------------------------------------+
*/
/********* Definitions for APCI-1564 card *****/
* Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
*
* ADDI-DATA GmbH
* Dieselstrasse 3
* D-77833 Ottersweier
* Tel: +19(0)7223/9493-0
* Fax: +49(0)7223/9493-92
* http://www.addi-data.com
* info@addi-data.com
*
* This 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.
*
* This 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.
*
*/
#define APCI1564_ADDRESS_RANGE 128
......@@ -115,32 +92,13 @@ static unsigned int ui_InterruptStatus_1564;
static unsigned int ui_InterruptData, ui_Type;
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1564_di_config |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Configures the digital input Subdevice |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| data[0] : 1 Enable Digital Input Interrupt |
| 0 Disable Digital Input Interrupt |
| data[1] : 0 ADDIDATA Interrupt OR LOGIC |
| : 1 ADDIDATA Interrupt AND LOGIC |
| data[2] : Interrupt mask for the mode 1 |
| data[3] : Interrupt mask for the mode 2 |
| |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures the digital input Subdevice
*
* data[0] 1 = Enable interrupt, 0 = Disable interrupt
* data[1] 0 = ADDIDATA Interrupt OR LOGIC, 1 = ADDIDATA Interrupt AND LOGIC
* data[2] Interrupt mask for the mode 1
* data[3] Interrupt mask for the mode 2
*/
static int apci1564_di_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -182,30 +140,11 @@ static int apci1564_di_insn_bits(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1564_do_config |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Configures The Digital Output Subdevice. |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| data[1] : 1 Enable VCC Interrupt |
| 0 Disable VCC Interrupt |
| data[2] : 1 Enable CC Interrupt |
| 0 Disable CC Interrupt |
| |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures The Digital Output Subdevice.
*
* data[1] 0 = Disable VCC Interrupt, 1 = Enable VCC Interrupt
* data[2] 0 = Disable CC Interrupt, 1 = Enable CC Interrupt
*/
static int apci1564_do_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -259,35 +198,16 @@ static int apci1564_do_insn_bits(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1564_timer_config |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Configures The Timer , Counter or Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| data[0] : 0 Configure As Timer |
| 1 Configure As Counter |
| 2 Configure As Watchdog |
| data[1] : 1 Enable Interrupt |
| 0 Disable Interrupt |
| data[2] : Time Unit |
| data[3] : Reload Value |
| data[4] : Timer Mode |
| data[5] : Timer Counter Watchdog Number|
data[6] : Counter Direction
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Configures The Timer, Counter or Watchdog
*
* data[0] Configure as: 0 = Timer, 1 = Counter, 2 = Watchdog
* data[1] 1 = Enable Interrupt, 0 = Disable Interrupt
* data[2] Time Unit
* data[3] Reload Value
* data[4] Timer Mode
* data[5] Timer Counter Watchdog Number
* data[6] Counter Direction
*/
static int apci1564_timer_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -382,31 +302,11 @@ static int apci1564_timer_config(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1564_timer_write |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Start / Stop The Selected Timer , Counter or Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
| data[0] : 0 Timer |
| 1 Counter |
| 2 Watchdog | | data[1] : 1 Start |
| 0 Stop |
| 2 Trigger |
| Clear (Only Counter) |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Start / Stop The Selected Timer, Counter or Watchdog
*
* data[0] Configure as: 0 = Timer, 1 = Counter, 2 = Watchdog
* data[1] 0 = Stop, 1 = Start, 2 = Trigger Clear (Only Counter)
*/
static int apci1564_timer_write(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -470,26 +370,8 @@ static int apci1564_timer_write(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1564_timer_read |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Read The Selected Timer , Counter or Watchdog |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev : Driver handle |
| unsigned int *data : Data Pointer contains |
| configuration parameters as below |
| |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Read The Selected Timer, Counter or Watchdog
*/
static int apci1564_timer_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -537,22 +419,8 @@ static int apci1564_timer_read(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1564_do_read |
| (struct comedi_device *dev,struct comedi_subdevice *s, |
| struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task :Reads the interrupt status register |
+----------------------------------------------------------------------------+
| Input Parameters : |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : |
| |
+----------------------------------------------------------------------------+
*/
* Reads the interrupt status register
*/
static int apci1564_do_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -563,22 +431,8 @@ static int apci1564_do_read(struct comedi_device *dev,
}
/*
+----------------------------------------------------------------------------+
| Function Name : static void apci1564_interrupt
| (int irq , void *d) |
+----------------------------------------------------------------------------+
| Task : Interrupt handler for the interruptible digital inputs |
+----------------------------------------------------------------------------+
| Input Parameters : int irq : irq number |
| void *d : void pointer |
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : TRUE : No error occur |
| : FALSE : Error occur. Return the error |
| |
+----------------------------------------------------------------------------+
*/
* Interrupt handler for the interruptible digital inputs
*/
static void apci1564_interrupt(int irq, void *d)
{
struct comedi_device *dev = d;
......@@ -724,21 +578,6 @@ static void apci1564_interrupt(int irq, void *d)
return;
}
/*
+----------------------------------------------------------------------------+
| Function Name : int apci1564_reset(struct comedi_device *dev)
+----------------------------------------------------------------------------+
| Task :resets all the registers |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : |
| |
+----------------------------------------------------------------------------+
*/
static int apci1564_reset(struct comedi_device *dev)
{
struct addi_private *devpriv = dev->private;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment