1/* 2 * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module. 3 * 4 * ADDI-DATA GmbH 5 * Dieselstrasse 3 6 * D-77833 Ottersweier 7 * Tel: +19(0)7223/9493-0 8 * Fax: +49(0)7223/9493-92 9 * http://www.addi-data.com 10 * info@addi-data.com 11 * 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) 15 * any later version. 16 */ 17 18#define APCI1710_30MHZ 30 19#define APCI1710_33MHZ 33 20#define APCI1710_40MHZ 40 21 22#define APCI1710_PWM_INIT 0 23#define APCI1710_PWM_GETINITDATA 1 24 25#define APCI1710_PWM_DISABLE 0 26#define APCI1710_PWM_ENABLE 1 27#define APCI1710_PWM_NEWTIMING 2 28 29int i_APCI1710_InsnConfigPWM(struct comedi_device *dev, struct comedi_subdevice *s, 30 struct comedi_insn *insn, unsigned int *data); 31 32int i_APCI1710_InitPWM(struct comedi_device *dev, 33 unsigned char b_ModulNbr, 34 unsigned char b_PWM, 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); 40 41int i_APCI1710_GetPWMInitialisation(struct comedi_device *dev, 42 unsigned char b_ModulNbr, 43 unsigned char b_PWM, 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); 52 53int i_APCI1710_InsnWritePWM(struct comedi_device *dev, struct comedi_subdevice *s, 54 struct comedi_insn *insn, unsigned int *data); 55 56int i_APCI1710_EnablePWM(struct comedi_device *dev, 57 unsigned char b_ModulNbr, 58 unsigned char b_PWM, 59 unsigned char b_StartLevel, 60 unsigned char b_StopMode, 61 unsigned char b_StopLevel, unsigned char b_ExternGate, 62 unsigned char b_InterruptEnable); 63 64int 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); 68 69int i_APCI1710_DisablePWM(struct comedi_device *dev, unsigned char b_ModulNbr, unsigned char b_PWM); 70 71int i_APCI1710_InsnReadGetPWMStatus(struct comedi_device *dev, struct comedi_subdevice *s, 72 struct comedi_insn *insn, unsigned int *data); 73 74int i_APCI1710_InsnBitsReadPWMInterrupt(struct comedi_device *dev, 75 struct comedi_subdevice *s, 76 struct comedi_insn *insn, unsigned int *data); 77