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 #define APCI1710_30MHZ 30
19 #define APCI1710_33MHZ 33
20 #define APCI1710_40MHZ 40
22 #define APCI1710_PWM_INIT 0
23 #define APCI1710_PWM_GETINITDATA 1
25 #define APCI1710_PWM_DISABLE 0
26 #define APCI1710_PWM_ENABLE 1
27 #define APCI1710_PWM_NEWTIMING 2
29 int i_APCI1710_InsnConfigPWM(struct comedi_device
*dev
, struct comedi_subdevice
*s
,
30 struct comedi_insn
*insn
, unsigned int *data
);
32 int i_APCI1710_InitPWM(struct comedi_device
*dev
,
33 unsigned char b_ModulNbr
,
35 unsigned char b_ClockSelection
,
36 unsigned char b_TimingUnit
,
37 unsigned int ul_LowTiming
,
38 unsigned int ul_HighTiming
,
39 unsigned int *pul_RealLowTiming
, unsigned int *pul_RealHighTiming
);
41 int i_APCI1710_GetPWMInitialisation(struct comedi_device
*dev
,
42 unsigned char b_ModulNbr
,
44 unsigned char *pb_TimingUnit
,
45 unsigned int *pul_LowTiming
,
46 unsigned int *pul_HighTiming
,
47 unsigned char *pb_StartLevel
,
48 unsigned char *pb_StopMode
,
49 unsigned char *pb_StopLevel
,
50 unsigned char *pb_ExternGate
,
51 unsigned char *pb_InterruptEnable
, unsigned char *pb_Enable
);
53 int i_APCI1710_InsnWritePWM(struct comedi_device
*dev
, struct comedi_subdevice
*s
,
54 struct comedi_insn
*insn
, unsigned int *data
);
56 int i_APCI1710_EnablePWM(struct comedi_device
*dev
,
57 unsigned char b_ModulNbr
,
59 unsigned char b_StartLevel
,
60 unsigned char b_StopMode
,
61 unsigned char b_StopLevel
, unsigned char b_ExternGate
,
62 unsigned char b_InterruptEnable
);
64 int i_APCI1710_SetNewPWMTiming(struct comedi_device
*dev
,
65 unsigned char b_ModulNbr
,
66 unsigned char b_PWM
, unsigned char b_TimingUnit
,
67 unsigned int ul_LowTiming
, unsigned int ul_HighTiming
);
69 int i_APCI1710_DisablePWM(struct comedi_device
*dev
, unsigned char b_ModulNbr
, unsigned char b_PWM
);
71 int i_APCI1710_InsnReadGetPWMStatus(struct comedi_device
*dev
, struct comedi_subdevice
*s
,
72 struct comedi_insn
*insn
, unsigned int *data
);
74 int i_APCI1710_InsnBitsReadPWMInterrupt(struct comedi_device
*dev
,
75 struct comedi_subdevice
*s
,
76 struct comedi_insn
*insn
, unsigned int *data
);