2 * INSN_CONFIG_SET_CLOCK_SRC example
5 * Copyright (c) 1999,2000 David A. Schleef <ds@schleef.org>
6 * Copyright (c) 2007 Frank Mori Hess <fmhess@users.sourceforge.net>
8 * This file may be freely modified, distributed, and combined with
9 * other software, as long as proper attribution is given in the
13 * Requirements: A board with a subdevice that supports
14 * INSN_CONFIG_CLOCK_SRC
20 #include <comedilib.h>
33 int main(int argc, char *argv[])
37 lsampl_t clock_selection;
38 struct parsed_options options;
40 init_parsed_options(&options);
42 parse_options(&options, argc, argv);
44 device = comedi_open(options.filename);
46 comedi_perror(options.filename);
50 period_ns = 1e9 / options.freq;
53 clock_selection = options.value;
54 printf("Selecting master clock %d on subdevice %d.\n", clock_selection, options.subdevice);
57 printf("Clock period = %d nanoseconds.\n", period_ns);
60 printf("Clock period unspecified.\n");
64 memset(&insn, 0, sizeof(comedi_insn));
65 insn.insn = INSN_CONFIG;
66 insn.subdev = options.subdevice;
68 insn.n = sizeof(data) / sizeof(data[0]);
69 data[0] = INSN_CONFIG_SET_CLOCK_SRC;
70 data[1] = clock_selection;
73 retval = comedi_do_insn(device, &insn);
74 if(retval < 0) comedi_perror("comedi_do_insn");