Added a proper PWM subdevice for comedi.
authorBernd Porr <Bernd.Porr@f2s.com>
Sun, 13 Jan 2008 23:07:02 +0000 (23:07 +0000)
committerBernd Porr <Bernd.Porr@f2s.com>
Sun, 13 Jan 2008 23:07:02 +0000 (23:07 +0000)
commit311e9c540217d60bdf56a1dba9eafe474fd3b218
tree0bb61cad3640597be7d3f054dcc2c7862b25b0db
parentba94fab792c6e6369f2fa87106023cf576b9fc78
Added a proper PWM subdevice for comedi.
PWM is started with INSN_CONFIG_ARM where the second argument
defines the time how long PWM will last. A zero indicates "forever".
PWM is stopped with INSN_CONFIG_DISARM. No further args.
The duty cycle is set via a comedi_data_write where maxdata defines
the 100% duty cycle.
The PWM period is set by INSN_CONFIG_PWM_SET_PERIOD where the second
argument is in nanoseconds, thus 1E9/frequency
INSN_CONFIG_PWM_GET_PERIOD retrieves the frequency which might have been
corrected by the driver
INSN_GET_PWM_STATUS queries if it's on or off
INSN_CONFIG_PWM_SET_H_BRIDGE allows the transmit the duty cycle with a polarity bit in the second argument.
See the usbdux driver and its PWM section.
comedi/comedi_fops.c
comedi/drivers/usbdux.c
include/linux/comedi.h