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);