comedi_set_clock_source — set master clock for a subdevice


#include <comedilib.h>
int comedi_set_clock_source(comedi_t * device,
 unsigned int subdevice,
 unsigned int channel,
 unsigned int clock,
 unsigned int period_ns);




This function selects a master clock for a subdevice. The clock parameter selects the master clock, and is driver-dependant. If the subdevice does not support configuring its master clocks on a per-channel basis, then the channel parameter will be ignored. The period_ns parameter specifies the clock's period in nanoseconds. It may left unspecified by using a value of zero. Drivers will ignore the clock period if they already know what the clock period should be for the specified clock (e.g. for an on-board 20MHz oscillator). Certain boards which use a phase-locked loop to synchronize to external clock sources must be told the period of the external clock. Specifying a clock period for an external clock may also allow the driver to support TRIG_TIMER sources in commands while using the external clock.

The clock may be queried with the comedi_get_clock_source function.

This function is only useable on subdevices that provide support for the INSN_CONFIG_SET_CLOCK_SRC configuration instruction.

Return value

0 on success, -1 on error.