1// SPDX-License-Identifier: GPL-2.0+
2/*
3 *  comedi/drivers/ni_routing/ni_device_routes/pci-6254.c
4 *  List of valid routes for specific NI boards.
5 *
6 *  COMEDI - Linux Control and Measurement Device Interface
7 *  Copyright (C) 2016 Spencer E. Olson <olsonse@umich.edu>
8 *
9 *  This program is free software; you can redistribute it and/or modify
10 *  it under the terms of the GNU General Public License as published by
11 *  the Free Software Foundation; either version 2 of the License, or
12 *  (at your option) any later version.
13 *
14 *  This program is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 */
19
20/*
21 * The contents of this file are generated using the tools in
22 * comedi/drivers/ni_routing/tools
23 *
24 * Please use those tools to help maintain the contents of this file.
25 */
26
27#include "../ni_device_routes.h"
28#include "all.h"
29
30struct ni_device_routes ni_pci_6254_device_routes = {
31	.device = "pci-6254",
32	.routes = (struct ni_route_set[]){
33		{
34			.dest = NI_PFI(0),
35			.src = (int[]){
36				TRIGGER_LINE(0),
37				TRIGGER_LINE(1),
38				TRIGGER_LINE(2),
39				TRIGGER_LINE(3),
40				TRIGGER_LINE(4),
41				TRIGGER_LINE(5),
42				TRIGGER_LINE(6),
43				TRIGGER_LINE(7),
44				NI_CtrSource(0),
45				NI_CtrSource(1),
46				NI_CtrGate(0),
47				NI_CtrGate(1),
48				NI_CtrInternalOutput(0),
49				NI_CtrInternalOutput(1),
50				NI_AI_SampleClock,
51				NI_AI_StartTrigger,
52				NI_AI_ReferenceTrigger,
53				NI_AI_ConvertClock,
54				NI_DI_SampleClock,
55				NI_DO_SampleClock,
56				NI_FrequencyOutput,
57				NI_ChangeDetectionEvent,
58				NI_AnalogComparisonEvent,
59				0, /* Termination */
60			}
61		},
62		{
63			.dest = NI_PFI(1),
64			.src = (int[]){
65				TRIGGER_LINE(0),
66				TRIGGER_LINE(1),
67				TRIGGER_LINE(2),
68				TRIGGER_LINE(3),
69				TRIGGER_LINE(4),
70				TRIGGER_LINE(5),
71				TRIGGER_LINE(6),
72				TRIGGER_LINE(7),
73				NI_CtrSource(0),
74				NI_CtrSource(1),
75				NI_CtrGate(0),
76				NI_CtrGate(1),
77				NI_CtrInternalOutput(0),
78				NI_CtrInternalOutput(1),
79				NI_AI_SampleClock,
80				NI_AI_StartTrigger,
81				NI_AI_ReferenceTrigger,
82				NI_AI_ConvertClock,
83				NI_DI_SampleClock,
84				NI_DO_SampleClock,
85				NI_FrequencyOutput,
86				NI_ChangeDetectionEvent,
87				NI_AnalogComparisonEvent,
88				0, /* Termination */
89			}
90		},
91		{
92			.dest = NI_PFI(2),
93			.src = (int[]){
94				TRIGGER_LINE(0),
95				TRIGGER_LINE(1),
96				TRIGGER_LINE(2),
97				TRIGGER_LINE(3),
98				TRIGGER_LINE(4),
99				TRIGGER_LINE(5),
100				TRIGGER_LINE(6),
101				TRIGGER_LINE(7),
102				NI_CtrSource(0),
103				NI_CtrSource(1),
104				NI_CtrGate(0),
105				NI_CtrGate(1),
106				NI_CtrInternalOutput(0),
107				NI_CtrInternalOutput(1),
108				NI_AI_SampleClock,
109				NI_AI_StartTrigger,
110				NI_AI_ReferenceTrigger,
111				NI_AI_ConvertClock,
112				NI_DI_SampleClock,
113				NI_DO_SampleClock,
114				NI_FrequencyOutput,
115				NI_ChangeDetectionEvent,
116				NI_AnalogComparisonEvent,
117				0, /* Termination */
118			}
119		},
120		{
121			.dest = NI_PFI(3),
122			.src = (int[]){
123				TRIGGER_LINE(0),
124				TRIGGER_LINE(1),
125				TRIGGER_LINE(2),
126				TRIGGER_LINE(3),
127				TRIGGER_LINE(4),
128				TRIGGER_LINE(5),
129				TRIGGER_LINE(6),
130				TRIGGER_LINE(7),
131				NI_CtrSource(0),
132				NI_CtrSource(1),
133				NI_CtrGate(0),
134				NI_CtrGate(1),
135				NI_CtrInternalOutput(0),
136				NI_CtrInternalOutput(1),
137				NI_AI_SampleClock,
138				NI_AI_StartTrigger,
139				NI_AI_ReferenceTrigger,
140				NI_AI_ConvertClock,
141				NI_DI_SampleClock,
142				NI_DO_SampleClock,
143				NI_FrequencyOutput,
144				NI_ChangeDetectionEvent,
145				NI_AnalogComparisonEvent,
146				0, /* Termination */
147			}
148		},
149		{
150			.dest = NI_PFI(4),
151			.src = (int[]){
152				TRIGGER_LINE(0),
153				TRIGGER_LINE(1),
154				TRIGGER_LINE(2),
155				TRIGGER_LINE(3),
156				TRIGGER_LINE(4),
157				TRIGGER_LINE(5),
158				TRIGGER_LINE(6),
159				TRIGGER_LINE(7),
160				NI_CtrSource(0),
161				NI_CtrSource(1),
162				NI_CtrGate(0),
163				NI_CtrGate(1),
164				NI_CtrInternalOutput(0),
165				NI_CtrInternalOutput(1),
166				NI_AI_SampleClock,
167				NI_AI_StartTrigger,
168				NI_AI_ReferenceTrigger,
169				NI_AI_ConvertClock,
170				NI_DI_SampleClock,
171				NI_DO_SampleClock,
172				NI_FrequencyOutput,
173				NI_ChangeDetectionEvent,
174				NI_AnalogComparisonEvent,
175				0, /* Termination */
176			}
177		},
178		{
179			.dest = NI_PFI(5),
180			.src = (int[]){
181				TRIGGER_LINE(0),
182				TRIGGER_LINE(1),
183				TRIGGER_LINE(2),
184				TRIGGER_LINE(3),
185				TRIGGER_LINE(4),
186				TRIGGER_LINE(5),
187				TRIGGER_LINE(6),
188				TRIGGER_LINE(7),
189				NI_CtrSource(0),
190				NI_CtrSource(1),
191				NI_CtrGate(0),
192				NI_CtrGate(1),
193				NI_CtrInternalOutput(0),
194				NI_CtrInternalOutput(1),
195				NI_AI_SampleClock,
196				NI_AI_StartTrigger,
197				NI_AI_ReferenceTrigger,
198				NI_AI_ConvertClock,
199				NI_DI_SampleClock,
200				NI_DO_SampleClock,
201				NI_FrequencyOutput,
202				NI_ChangeDetectionEvent,
203				NI_AnalogComparisonEvent,
204				0, /* Termination */
205			}
206		},
207		{
208			.dest = NI_PFI(6),
209			.src = (int[]){
210				TRIGGER_LINE(0),
211				TRIGGER_LINE(1),
212				TRIGGER_LINE(2),
213				TRIGGER_LINE(3),
214				TRIGGER_LINE(4),
215				TRIGGER_LINE(5),
216				TRIGGER_LINE(6),
217				TRIGGER_LINE(7),
218				NI_CtrSource(0),
219				NI_CtrSource(1),
220				NI_CtrGate(0),
221				NI_CtrGate(1),
222				NI_CtrInternalOutput(0),
223				NI_CtrInternalOutput(1),
224				NI_AI_SampleClock,
225				NI_AI_StartTrigger,
226				NI_AI_ReferenceTrigger,
227				NI_AI_ConvertClock,
228				NI_DI_SampleClock,
229				NI_DO_SampleClock,
230				NI_FrequencyOutput,
231				NI_ChangeDetectionEvent,
232				NI_AnalogComparisonEvent,
233				0, /* Termination */
234			}
235		},
236		{
237			.dest = NI_PFI(7),
238			.src = (int[]){
239				TRIGGER_LINE(0),
240				TRIGGER_LINE(1),
241				TRIGGER_LINE(2),
242				TRIGGER_LINE(3),
243				TRIGGER_LINE(4),
244				TRIGGER_LINE(5),
245				TRIGGER_LINE(6),
246				TRIGGER_LINE(7),
247				NI_CtrSource(0),
248				NI_CtrSource(1),
249				NI_CtrGate(0),
250				NI_CtrGate(1),
251				NI_CtrInternalOutput(0),
252				NI_CtrInternalOutput(1),
253				NI_AI_SampleClock,
254				NI_AI_StartTrigger,
255				NI_AI_ReferenceTrigger,
256				NI_AI_ConvertClock,
257				NI_DI_SampleClock,
258				NI_DO_SampleClock,
259				NI_FrequencyOutput,
260				NI_ChangeDetectionEvent,
261				NI_AnalogComparisonEvent,
262				0, /* Termination */
263			}
264		},
265		{
266			.dest = NI_PFI(8),
267			.src = (int[]){
268				TRIGGER_LINE(0),
269				TRIGGER_LINE(1),
270				TRIGGER_LINE(2),
271				TRIGGER_LINE(3),
272				TRIGGER_LINE(4),
273				TRIGGER_LINE(5),
274				TRIGGER_LINE(6),
275				TRIGGER_LINE(7),
276				NI_CtrSource(0),
277				NI_CtrSource(1),
278				NI_CtrGate(0),
279				NI_CtrGate(1),
280				NI_CtrInternalOutput(0),
281				NI_CtrInternalOutput(1),
282				NI_AI_SampleClock,
283				NI_AI_StartTrigger,
284				NI_AI_ReferenceTrigger,
285				NI_AI_ConvertClock,
286				NI_DI_SampleClock,
287				NI_DO_SampleClock,
288				NI_FrequencyOutput,
289				NI_ChangeDetectionEvent,
290				NI_AnalogComparisonEvent,
291				0, /* Termination */
292			}
293		},
294		{
295			.dest = NI_PFI(9),
296			.src = (int[]){
297				TRIGGER_LINE(0),
298				TRIGGER_LINE(1),
299				TRIGGER_LINE(2),
300				TRIGGER_LINE(3),
301				TRIGGER_LINE(4),
302				TRIGGER_LINE(5),
303				TRIGGER_LINE(6),
304				TRIGGER_LINE(7),
305				NI_CtrSource(0),
306				NI_CtrSource(1),
307				NI_CtrGate(0),
308				NI_CtrGate(1),
309				NI_CtrInternalOutput(0),
310				NI_CtrInternalOutput(1),
311				NI_AI_SampleClock,
312				NI_AI_StartTrigger,
313				NI_AI_ReferenceTrigger,
314				NI_AI_ConvertClock,
315				NI_DI_SampleClock,
316				NI_DO_SampleClock,
317				NI_FrequencyOutput,
318				NI_ChangeDetectionEvent,
319				NI_AnalogComparisonEvent,
320				0, /* Termination */
321			}
322		},
323		{
324			.dest = NI_PFI(10),
325			.src = (int[]){
326				TRIGGER_LINE(0),
327				TRIGGER_LINE(1),
328				TRIGGER_LINE(2),
329				TRIGGER_LINE(3),
330				TRIGGER_LINE(4),
331				TRIGGER_LINE(5),
332				TRIGGER_LINE(6),
333				TRIGGER_LINE(7),
334				NI_CtrSource(0),
335				NI_CtrSource(1),
336				NI_CtrGate(0),
337				NI_CtrGate(1),
338				NI_CtrInternalOutput(0),
339				NI_CtrInternalOutput(1),
340				NI_AI_SampleClock,
341				NI_AI_StartTrigger,
342				NI_AI_ReferenceTrigger,
343				NI_AI_ConvertClock,
344				NI_DI_SampleClock,
345				NI_DO_SampleClock,
346				NI_FrequencyOutput,
347				NI_ChangeDetectionEvent,
348				NI_AnalogComparisonEvent,
349				0, /* Termination */
350			}
351		},
352		{
353			.dest = NI_PFI(11),
354			.src = (int[]){
355				TRIGGER_LINE(0),
356				TRIGGER_LINE(1),
357				TRIGGER_LINE(2),
358				TRIGGER_LINE(3),
359				TRIGGER_LINE(4),
360				TRIGGER_LINE(5),
361				TRIGGER_LINE(6),
362				TRIGGER_LINE(7),
363				NI_CtrSource(0),
364				NI_CtrSource(1),
365				NI_CtrGate(0),
366				NI_CtrGate(1),
367				NI_CtrInternalOutput(0),
368				NI_CtrInternalOutput(1),
369				NI_AI_SampleClock,
370				NI_AI_StartTrigger,
371				NI_AI_ReferenceTrigger,
372				NI_AI_ConvertClock,
373				NI_DI_SampleClock,
374				NI_DO_SampleClock,
375				NI_FrequencyOutput,
376				NI_ChangeDetectionEvent,
377				NI_AnalogComparisonEvent,
378				0, /* Termination */
379			}
380		},
381		{
382			.dest = NI_PFI(12),
383			.src = (int[]){
384				TRIGGER_LINE(0),
385				TRIGGER_LINE(1),
386				TRIGGER_LINE(2),
387				TRIGGER_LINE(3),
388				TRIGGER_LINE(4),
389				TRIGGER_LINE(5),
390				TRIGGER_LINE(6),
391				TRIGGER_LINE(7),
392				NI_CtrSource(0),
393				NI_CtrSource(1),
394				NI_CtrGate(0),
395				NI_CtrGate(1),
396				NI_CtrInternalOutput(0),
397				NI_CtrInternalOutput(1),
398				NI_AI_SampleClock,
399				NI_AI_StartTrigger,
400				NI_AI_ReferenceTrigger,
401				NI_AI_ConvertClock,
402				NI_DI_SampleClock,
403				NI_DO_SampleClock,
404				NI_FrequencyOutput,
405				NI_ChangeDetectionEvent,
406				NI_AnalogComparisonEvent,
407				0, /* Termination */
408			}
409		},
410		{
411			.dest = NI_PFI(13),
412			.src = (int[]){
413				TRIGGER_LINE(0),
414				TRIGGER_LINE(1),
415				TRIGGER_LINE(2),
416				TRIGGER_LINE(3),
417				TRIGGER_LINE(4),
418				TRIGGER_LINE(5),
419				TRIGGER_LINE(6),
420				TRIGGER_LINE(7),
421				NI_CtrSource(0),
422				NI_CtrSource(1),
423				NI_CtrGate(0),
424				NI_CtrGate(1),
425				NI_CtrInternalOutput(0),
426				NI_CtrInternalOutput(1),
427				NI_AI_SampleClock,
428				NI_AI_StartTrigger,
429				NI_AI_ReferenceTrigger,
430				NI_AI_ConvertClock,
431				NI_DI_SampleClock,
432				NI_DO_SampleClock,
433				NI_FrequencyOutput,
434				NI_ChangeDetectionEvent,
435				NI_AnalogComparisonEvent,
436				0, /* Termination */
437			}
438		},
439		{
440			.dest = NI_PFI(14),
441			.src = (int[]){
442				TRIGGER_LINE(0),
443				TRIGGER_LINE(1),
444				TRIGGER_LINE(2),
445				TRIGGER_LINE(3),
446				TRIGGER_LINE(4),
447				TRIGGER_LINE(5),
448				TRIGGER_LINE(6),
449				TRIGGER_LINE(7),
450				NI_CtrSource(0),
451				NI_CtrSource(1),
452				NI_CtrGate(0),
453				NI_CtrGate(1),
454				NI_CtrInternalOutput(0),
455				NI_CtrInternalOutput(1),
456				NI_AI_SampleClock,
457				NI_AI_StartTrigger,
458				NI_AI_ReferenceTrigger,
459				NI_AI_ConvertClock,
460				NI_DI_SampleClock,
461				NI_DO_SampleClock,
462				NI_FrequencyOutput,
463				NI_ChangeDetectionEvent,
464				NI_AnalogComparisonEvent,
465				0, /* Termination */
466			}
467		},
468		{
469			.dest = NI_PFI(15),
470			.src = (int[]){
471				TRIGGER_LINE(0),
472				TRIGGER_LINE(1),
473				TRIGGER_LINE(2),
474				TRIGGER_LINE(3),
475				TRIGGER_LINE(4),
476				TRIGGER_LINE(5),
477				TRIGGER_LINE(6),
478				TRIGGER_LINE(7),
479				NI_CtrSource(0),
480				NI_CtrSource(1),
481				NI_CtrGate(0),
482				NI_CtrGate(1),
483				NI_CtrInternalOutput(0),
484				NI_CtrInternalOutput(1),
485				NI_AI_SampleClock,
486				NI_AI_StartTrigger,
487				NI_AI_ReferenceTrigger,
488				NI_AI_ConvertClock,
489				NI_DI_SampleClock,
490				NI_DO_SampleClock,
491				NI_FrequencyOutput,
492				NI_ChangeDetectionEvent,
493				NI_AnalogComparisonEvent,
494				0, /* Termination */
495			}
496		},
497		{
498			.dest = TRIGGER_LINE(0),
499			.src = (int[]){
500				NI_PFI(0),
501				NI_PFI(1),
502				NI_PFI(2),
503				NI_PFI(3),
504				NI_PFI(4),
505				NI_PFI(5),
506				NI_CtrSource(0),
507				NI_CtrSource(1),
508				NI_CtrGate(0),
509				NI_CtrGate(1),
510				NI_CtrInternalOutput(0),
511				NI_CtrInternalOutput(1),
512				NI_AI_SampleClock,
513				NI_AI_StartTrigger,
514				NI_AI_ReferenceTrigger,
515				NI_AI_ConvertClock,
516				NI_AI_PauseTrigger,
517				NI_10MHzRefClock,
518				NI_FrequencyOutput,
519				NI_ChangeDetectionEvent,
520				NI_AnalogComparisonEvent,
521				0, /* Termination */
522			}
523		},
524		{
525			.dest = TRIGGER_LINE(1),
526			.src = (int[]){
527				NI_PFI(0),
528				NI_PFI(1),
529				NI_PFI(2),
530				NI_PFI(3),
531				NI_PFI(4),
532				NI_PFI(5),
533				NI_CtrSource(0),
534				NI_CtrSource(1),
535				NI_CtrGate(0),
536				NI_CtrGate(1),
537				NI_CtrInternalOutput(0),
538				NI_CtrInternalOutput(1),
539				NI_AI_SampleClock,
540				NI_AI_StartTrigger,
541				NI_AI_ReferenceTrigger,
542				NI_AI_ConvertClock,
543				NI_AI_PauseTrigger,
544				NI_10MHzRefClock,
545				NI_FrequencyOutput,
546				NI_ChangeDetectionEvent,
547				NI_AnalogComparisonEvent,
548				0, /* Termination */
549			}
550		},
551		{
552			.dest = TRIGGER_LINE(2),
553			.src = (int[]){
554				NI_PFI(0),
555				NI_PFI(1),
556				NI_PFI(2),
557				NI_PFI(3),
558				NI_PFI(4),
559				NI_PFI(5),
560				NI_CtrSource(0),
561				NI_CtrSource(1),
562				NI_CtrGate(0),
563				NI_CtrGate(1),
564				NI_CtrInternalOutput(0),
565				NI_CtrInternalOutput(1),
566				NI_AI_SampleClock,
567				NI_AI_StartTrigger,
568				NI_AI_ReferenceTrigger,
569				NI_AI_ConvertClock,
570				NI_AI_PauseTrigger,
571				NI_10MHzRefClock,
572				NI_FrequencyOutput,
573				NI_ChangeDetectionEvent,
574				NI_AnalogComparisonEvent,
575				0, /* Termination */
576			}
577		},
578		{
579			.dest = TRIGGER_LINE(3),
580			.src = (int[]){
581				NI_PFI(0),
582				NI_PFI(1),
583				NI_PFI(2),
584				NI_PFI(3),
585				NI_PFI(4),
586				NI_PFI(5),
587				NI_CtrSource(0),
588				NI_CtrSource(1),
589				NI_CtrGate(0),
590				NI_CtrGate(1),
591				NI_CtrInternalOutput(0),
592				NI_CtrInternalOutput(1),
593				NI_AI_SampleClock,
594				NI_AI_StartTrigger,
595				NI_AI_ReferenceTrigger,
596				NI_AI_ConvertClock,
597				NI_AI_PauseTrigger,
598				NI_10MHzRefClock,
599				NI_FrequencyOutput,
600				NI_ChangeDetectionEvent,
601				NI_AnalogComparisonEvent,
602				0, /* Termination */
603			}
604		},
605		{
606			.dest = TRIGGER_LINE(4),
607			.src = (int[]){
608				NI_PFI(0),
609				NI_PFI(1),
610				NI_PFI(2),
611				NI_PFI(3),
612				NI_PFI(4),
613				NI_PFI(5),
614				NI_CtrSource(0),
615				NI_CtrSource(1),
616				NI_CtrGate(0),
617				NI_CtrGate(1),
618				NI_CtrInternalOutput(0),
619				NI_CtrInternalOutput(1),
620				NI_AI_SampleClock,
621				NI_AI_StartTrigger,
622				NI_AI_ReferenceTrigger,
623				NI_AI_ConvertClock,
624				NI_AI_PauseTrigger,
625				NI_10MHzRefClock,
626				NI_FrequencyOutput,
627				NI_ChangeDetectionEvent,
628				NI_AnalogComparisonEvent,
629				0, /* Termination */
630			}
631		},
632		{
633			.dest = TRIGGER_LINE(5),
634			.src = (int[]){
635				NI_PFI(0),
636				NI_PFI(1),
637				NI_PFI(2),
638				NI_PFI(3),
639				NI_PFI(4),
640				NI_PFI(5),
641				NI_CtrSource(0),
642				NI_CtrSource(1),
643				NI_CtrGate(0),
644				NI_CtrGate(1),
645				NI_CtrInternalOutput(0),
646				NI_CtrInternalOutput(1),
647				NI_AI_SampleClock,
648				NI_AI_StartTrigger,
649				NI_AI_ReferenceTrigger,
650				NI_AI_ConvertClock,
651				NI_AI_PauseTrigger,
652				NI_10MHzRefClock,
653				NI_FrequencyOutput,
654				NI_ChangeDetectionEvent,
655				NI_AnalogComparisonEvent,
656				0, /* Termination */
657			}
658		},
659		{
660			.dest = TRIGGER_LINE(6),
661			.src = (int[]){
662				NI_PFI(0),
663				NI_PFI(1),
664				NI_PFI(2),
665				NI_PFI(3),
666				NI_PFI(4),
667				NI_PFI(5),
668				NI_CtrSource(0),
669				NI_CtrSource(1),
670				NI_CtrGate(0),
671				NI_CtrGate(1),
672				NI_CtrInternalOutput(0),
673				NI_CtrInternalOutput(1),
674				NI_AI_SampleClock,
675				NI_AI_StartTrigger,
676				NI_AI_ReferenceTrigger,
677				NI_AI_ConvertClock,
678				NI_AI_PauseTrigger,
679				NI_10MHzRefClock,
680				NI_FrequencyOutput,
681				NI_ChangeDetectionEvent,
682				NI_AnalogComparisonEvent,
683				0, /* Termination */
684			}
685		},
686		{
687			.dest = TRIGGER_LINE(7),
688			.src = (int[]){
689				NI_PFI(0),
690				NI_PFI(1),
691				NI_PFI(2),
692				NI_PFI(3),
693				NI_PFI(4),
694				NI_PFI(5),
695				NI_CtrSource(0),
696				NI_CtrSource(1),
697				NI_CtrGate(0),
698				NI_CtrGate(1),
699				NI_CtrInternalOutput(0),
700				NI_CtrInternalOutput(1),
701				NI_AI_SampleClock,
702				NI_AI_StartTrigger,
703				NI_AI_ReferenceTrigger,
704				NI_AI_ConvertClock,
705				NI_AI_PauseTrigger,
706				NI_10MHzRefClock,
707				NI_FrequencyOutput,
708				NI_ChangeDetectionEvent,
709				NI_AnalogComparisonEvent,
710				0, /* Termination */
711			}
712		},
713		{
714			.dest = NI_CtrSource(0),
715			.src = (int[]){
716				NI_PFI(0),
717				NI_PFI(1),
718				NI_PFI(2),
719				NI_PFI(3),
720				NI_PFI(4),
721				NI_PFI(5),
722				NI_PFI(6),
723				NI_PFI(7),
724				NI_PFI(8),
725				NI_PFI(9),
726				NI_PFI(10),
727				NI_PFI(11),
728				NI_PFI(12),
729				NI_PFI(13),
730				NI_PFI(14),
731				NI_PFI(15),
732				TRIGGER_LINE(0),
733				TRIGGER_LINE(1),
734				TRIGGER_LINE(2),
735				TRIGGER_LINE(3),
736				TRIGGER_LINE(4),
737				TRIGGER_LINE(5),
738				TRIGGER_LINE(6),
739				TRIGGER_LINE(7),
740				NI_CtrGate(1),
741				NI_20MHzTimebase,
742				NI_80MHzTimebase,
743				NI_100kHzTimebase,
744				NI_AnalogComparisonEvent,
745				0, /* Termination */
746			}
747		},
748		{
749			.dest = NI_CtrSource(1),
750			.src = (int[]){
751				NI_PFI(0),
752				NI_PFI(1),
753				NI_PFI(2),
754				NI_PFI(3),
755				NI_PFI(4),
756				NI_PFI(5),
757				NI_PFI(6),
758				NI_PFI(7),
759				NI_PFI(8),
760				NI_PFI(9),
761				NI_PFI(10),
762				NI_PFI(11),
763				NI_PFI(12),
764				NI_PFI(13),
765				NI_PFI(14),
766				NI_PFI(15),
767				TRIGGER_LINE(0),
768				TRIGGER_LINE(1),
769				TRIGGER_LINE(2),
770				TRIGGER_LINE(3),
771				TRIGGER_LINE(4),
772				TRIGGER_LINE(5),
773				TRIGGER_LINE(6),
774				TRIGGER_LINE(7),
775				NI_CtrGate(0),
776				NI_20MHzTimebase,
777				NI_80MHzTimebase,
778				NI_100kHzTimebase,
779				NI_AnalogComparisonEvent,
780				0, /* Termination */
781			}
782		},
783		{
784			.dest = NI_CtrGate(0),
785			.src = (int[]){
786				NI_PFI(0),
787				NI_PFI(1),
788				NI_PFI(2),
789				NI_PFI(3),
790				NI_PFI(4),
791				NI_PFI(5),
792				NI_PFI(6),
793				NI_PFI(7),
794				NI_PFI(8),
795				NI_PFI(9),
796				NI_PFI(10),
797				NI_PFI(11),
798				NI_PFI(12),
799				NI_PFI(13),
800				NI_PFI(14),
801				NI_PFI(15),
802				TRIGGER_LINE(0),
803				TRIGGER_LINE(1),
804				TRIGGER_LINE(2),
805				TRIGGER_LINE(3),
806				TRIGGER_LINE(4),
807				TRIGGER_LINE(5),
808				TRIGGER_LINE(6),
809				TRIGGER_LINE(7),
810				NI_CtrSource(1),
811				NI_CtrInternalOutput(1),
812				NI_AI_StartTrigger,
813				NI_AI_ReferenceTrigger,
814				NI_AnalogComparisonEvent,
815				0, /* Termination */
816			}
817		},
818		{
819			.dest = NI_CtrGate(1),
820			.src = (int[]){
821				NI_PFI(0),
822				NI_PFI(1),
823				NI_PFI(2),
824				NI_PFI(3),
825				NI_PFI(4),
826				NI_PFI(5),
827				NI_PFI(6),
828				NI_PFI(7),
829				NI_PFI(8),
830				NI_PFI(9),
831				NI_PFI(10),
832				NI_PFI(11),
833				NI_PFI(12),
834				NI_PFI(13),
835				NI_PFI(14),
836				NI_PFI(15),
837				TRIGGER_LINE(0),
838				TRIGGER_LINE(1),
839				TRIGGER_LINE(2),
840				TRIGGER_LINE(3),
841				TRIGGER_LINE(4),
842				TRIGGER_LINE(5),
843				TRIGGER_LINE(6),
844				TRIGGER_LINE(7),
845				NI_CtrSource(0),
846				NI_CtrInternalOutput(0),
847				NI_AI_StartTrigger,
848				NI_AI_ReferenceTrigger,
849				NI_AnalogComparisonEvent,
850				0, /* Termination */
851			}
852		},
853		{
854			.dest = NI_CtrAux(0),
855			.src = (int[]){
856				NI_PFI(0),
857				NI_PFI(1),
858				NI_PFI(2),
859				NI_PFI(3),
860				NI_PFI(4),
861				NI_PFI(5),
862				NI_PFI(6),
863				NI_PFI(7),
864				NI_PFI(8),
865				NI_PFI(9),
866				NI_PFI(10),
867				NI_PFI(11),
868				NI_PFI(12),
869				NI_PFI(13),
870				NI_PFI(14),
871				NI_PFI(15),
872				TRIGGER_LINE(0),
873				TRIGGER_LINE(1),
874				TRIGGER_LINE(2),
875				TRIGGER_LINE(3),
876				TRIGGER_LINE(4),
877				TRIGGER_LINE(5),
878				TRIGGER_LINE(6),
879				TRIGGER_LINE(7),
880				NI_CtrSource(1),
881				NI_CtrGate(0),
882				NI_CtrGate(1),
883				NI_CtrInternalOutput(1),
884				NI_AI_StartTrigger,
885				NI_AI_ReferenceTrigger,
886				NI_AnalogComparisonEvent,
887				0, /* Termination */
888			}
889		},
890		{
891			.dest = NI_CtrAux(1),
892			.src = (int[]){
893				NI_PFI(0),
894				NI_PFI(1),
895				NI_PFI(2),
896				NI_PFI(3),
897				NI_PFI(4),
898				NI_PFI(5),
899				NI_PFI(6),
900				NI_PFI(7),
901				NI_PFI(8),
902				NI_PFI(9),
903				NI_PFI(10),
904				NI_PFI(11),
905				NI_PFI(12),
906				NI_PFI(13),
907				NI_PFI(14),
908				NI_PFI(15),
909				TRIGGER_LINE(0),
910				TRIGGER_LINE(1),
911				TRIGGER_LINE(2),
912				TRIGGER_LINE(3),
913				TRIGGER_LINE(4),
914				TRIGGER_LINE(5),
915				TRIGGER_LINE(6),
916				TRIGGER_LINE(7),
917				NI_CtrSource(0),
918				NI_CtrGate(0),
919				NI_CtrGate(1),
920				NI_CtrInternalOutput(0),
921				NI_AI_StartTrigger,
922				NI_AI_ReferenceTrigger,
923				NI_AnalogComparisonEvent,
924				0, /* Termination */
925			}
926		},
927		{
928			.dest = NI_CtrA(0),
929			.src = (int[]){
930				NI_PFI(0),
931				NI_PFI(1),
932				NI_PFI(2),
933				NI_PFI(3),
934				NI_PFI(4),
935				NI_PFI(5),
936				NI_PFI(6),
937				NI_PFI(7),
938				NI_PFI(8),
939				NI_PFI(9),
940				NI_PFI(10),
941				NI_PFI(11),
942				NI_PFI(12),
943				NI_PFI(13),
944				NI_PFI(14),
945				NI_PFI(15),
946				TRIGGER_LINE(0),
947				TRIGGER_LINE(1),
948				TRIGGER_LINE(2),
949				TRIGGER_LINE(3),
950				TRIGGER_LINE(4),
951				TRIGGER_LINE(5),
952				TRIGGER_LINE(6),
953				TRIGGER_LINE(7),
954				NI_AnalogComparisonEvent,
955				0, /* Termination */
956			}
957		},
958		{
959			.dest = NI_CtrA(1),
960			.src = (int[]){
961				NI_PFI(0),
962				NI_PFI(1),
963				NI_PFI(2),
964				NI_PFI(3),
965				NI_PFI(4),
966				NI_PFI(5),
967				NI_PFI(6),
968				NI_PFI(7),
969				NI_PFI(8),
970				NI_PFI(9),
971				NI_PFI(10),
972				NI_PFI(11),
973				NI_PFI(12),
974				NI_PFI(13),
975				NI_PFI(14),
976				NI_PFI(15),
977				TRIGGER_LINE(0),
978				TRIGGER_LINE(1),
979				TRIGGER_LINE(2),
980				TRIGGER_LINE(3),
981				TRIGGER_LINE(4),
982				TRIGGER_LINE(5),
983				TRIGGER_LINE(6),
984				TRIGGER_LINE(7),
985				NI_AnalogComparisonEvent,
986				0, /* Termination */
987			}
988		},
989		{
990			.dest = NI_CtrB(0),
991			.src = (int[]){
992				NI_PFI(0),
993				NI_PFI(1),
994				NI_PFI(2),
995				NI_PFI(3),
996				NI_PFI(4),
997				NI_PFI(5),
998				NI_PFI(6),
999				NI_PFI(7),
1000				NI_PFI(8),
1001				NI_PFI(9),
1002				NI_PFI(10),
1003				NI_PFI(11),
1004				NI_PFI(12),
1005				NI_PFI(13),
1006				NI_PFI(14),
1007				NI_PFI(15),
1008				TRIGGER_LINE(0),
1009				TRIGGER_LINE(1),
1010				TRIGGER_LINE(2),
1011				TRIGGER_LINE(3),
1012				TRIGGER_LINE(4),
1013				TRIGGER_LINE(5),
1014				TRIGGER_LINE(6),
1015				TRIGGER_LINE(7),
1016				NI_AnalogComparisonEvent,
1017				0, /* Termination */
1018			}
1019		},
1020		{
1021			.dest = NI_CtrB(1),
1022			.src = (int[]){
1023				NI_PFI(0),
1024				NI_PFI(1),
1025				NI_PFI(2),
1026				NI_PFI(3),
1027				NI_PFI(4),
1028				NI_PFI(5),
1029				NI_PFI(6),
1030				NI_PFI(7),
1031				NI_PFI(8),
1032				NI_PFI(9),
1033				NI_PFI(10),
1034				NI_PFI(11),
1035				NI_PFI(12),
1036				NI_PFI(13),
1037				NI_PFI(14),
1038				NI_PFI(15),
1039				TRIGGER_LINE(0),
1040				TRIGGER_LINE(1),
1041				TRIGGER_LINE(2),
1042				TRIGGER_LINE(3),
1043				TRIGGER_LINE(4),
1044				TRIGGER_LINE(5),
1045				TRIGGER_LINE(6),
1046				TRIGGER_LINE(7),
1047				NI_AnalogComparisonEvent,
1048				0, /* Termination */
1049			}
1050		},
1051		{
1052			.dest = NI_CtrZ(0),
1053			.src = (int[]){
1054				NI_PFI(0),
1055				NI_PFI(1),
1056				NI_PFI(2),
1057				NI_PFI(3),
1058				NI_PFI(4),
1059				NI_PFI(5),
1060				NI_PFI(6),
1061				NI_PFI(7),
1062				NI_PFI(8),
1063				NI_PFI(9),
1064				NI_PFI(10),
1065				NI_PFI(11),
1066				NI_PFI(12),
1067				NI_PFI(13),
1068				NI_PFI(14),
1069				NI_PFI(15),
1070				TRIGGER_LINE(0),
1071				TRIGGER_LINE(1),
1072				TRIGGER_LINE(2),
1073				TRIGGER_LINE(3),
1074				TRIGGER_LINE(4),
1075				TRIGGER_LINE(5),
1076				TRIGGER_LINE(6),
1077				TRIGGER_LINE(7),
1078				NI_AnalogComparisonEvent,
1079				0, /* Termination */
1080			}
1081		},
1082		{
1083			.dest = NI_CtrZ(1),
1084			.src = (int[]){
1085				NI_PFI(0),
1086				NI_PFI(1),
1087				NI_PFI(2),
1088				NI_PFI(3),
1089				NI_PFI(4),
1090				NI_PFI(5),
1091				NI_PFI(6),
1092				NI_PFI(7),
1093				NI_PFI(8),
1094				NI_PFI(9),
1095				NI_PFI(10),
1096				NI_PFI(11),
1097				NI_PFI(12),
1098				NI_PFI(13),
1099				NI_PFI(14),
1100				NI_PFI(15),
1101				TRIGGER_LINE(0),
1102				TRIGGER_LINE(1),
1103				TRIGGER_LINE(2),
1104				TRIGGER_LINE(3),
1105				TRIGGER_LINE(4),
1106				TRIGGER_LINE(5),
1107				TRIGGER_LINE(6),
1108				TRIGGER_LINE(7),
1109				NI_AnalogComparisonEvent,
1110				0, /* Termination */
1111			}
1112		},
1113		{
1114			.dest = NI_CtrArmStartTrigger(0),
1115			.src = (int[]){
1116				NI_PFI(0),
1117				NI_PFI(1),
1118				NI_PFI(2),
1119				NI_PFI(3),
1120				NI_PFI(4),
1121				NI_PFI(5),
1122				NI_PFI(6),
1123				NI_PFI(7),
1124				NI_PFI(8),
1125				NI_PFI(9),
1126				NI_PFI(10),
1127				NI_PFI(11),
1128				NI_PFI(12),
1129				NI_PFI(13),
1130				NI_PFI(14),
1131				NI_PFI(15),
1132				TRIGGER_LINE(0),
1133				TRIGGER_LINE(1),
1134				TRIGGER_LINE(2),
1135				TRIGGER_LINE(3),
1136				TRIGGER_LINE(4),
1137				TRIGGER_LINE(5),
1138				TRIGGER_LINE(6),
1139				TRIGGER_LINE(7),
1140				NI_CtrInternalOutput(1),
1141				NI_AI_StartTrigger,
1142				NI_AI_ReferenceTrigger,
1143				NI_AnalogComparisonEvent,
1144				0, /* Termination */
1145			}
1146		},
1147		{
1148			.dest = NI_CtrArmStartTrigger(1),
1149			.src = (int[]){
1150				NI_PFI(0),
1151				NI_PFI(1),
1152				NI_PFI(2),
1153				NI_PFI(3),
1154				NI_PFI(4),
1155				NI_PFI(5),
1156				NI_PFI(6),
1157				NI_PFI(7),
1158				NI_PFI(8),
1159				NI_PFI(9),
1160				NI_PFI(10),
1161				NI_PFI(11),
1162				NI_PFI(12),
1163				NI_PFI(13),
1164				NI_PFI(14),
1165				NI_PFI(15),
1166				TRIGGER_LINE(0),
1167				TRIGGER_LINE(1),
1168				TRIGGER_LINE(2),
1169				TRIGGER_LINE(3),
1170				TRIGGER_LINE(4),
1171				TRIGGER_LINE(5),
1172				TRIGGER_LINE(6),
1173				TRIGGER_LINE(7),
1174				NI_CtrInternalOutput(0),
1175				NI_AI_StartTrigger,
1176				NI_AI_ReferenceTrigger,
1177				NI_AnalogComparisonEvent,
1178				0, /* Termination */
1179			}
1180		},
1181		{
1182			.dest = NI_AI_SampleClock,
1183			.src = (int[]){
1184				NI_PFI(0),
1185				NI_PFI(1),
1186				NI_PFI(2),
1187				NI_PFI(3),
1188				NI_PFI(4),
1189				NI_PFI(5),
1190				NI_PFI(6),
1191				NI_PFI(7),
1192				NI_PFI(8),
1193				NI_PFI(9),
1194				NI_PFI(10),
1195				NI_PFI(11),
1196				NI_PFI(12),
1197				NI_PFI(13),
1198				NI_PFI(14),
1199				NI_PFI(15),
1200				TRIGGER_LINE(0),
1201				TRIGGER_LINE(1),
1202				TRIGGER_LINE(2),
1203				TRIGGER_LINE(3),
1204				TRIGGER_LINE(4),
1205				TRIGGER_LINE(5),
1206				TRIGGER_LINE(6),
1207				TRIGGER_LINE(7),
1208				NI_CtrInternalOutput(0),
1209				NI_CtrInternalOutput(1),
1210				NI_AI_SampleClockTimebase,
1211				NI_AnalogComparisonEvent,
1212				0, /* Termination */
1213			}
1214		},
1215		{
1216			.dest = NI_AI_SampleClockTimebase,
1217			.src = (int[]){
1218				NI_PFI(0),
1219				NI_PFI(1),
1220				NI_PFI(2),
1221				NI_PFI(3),
1222				NI_PFI(4),
1223				NI_PFI(5),
1224				NI_PFI(6),
1225				NI_PFI(7),
1226				NI_PFI(8),
1227				NI_PFI(9),
1228				NI_PFI(10),
1229				NI_PFI(11),
1230				NI_PFI(12),
1231				NI_PFI(13),
1232				NI_PFI(14),
1233				NI_PFI(15),
1234				TRIGGER_LINE(0),
1235				TRIGGER_LINE(1),
1236				TRIGGER_LINE(2),
1237				TRIGGER_LINE(3),
1238				TRIGGER_LINE(4),
1239				TRIGGER_LINE(5),
1240				TRIGGER_LINE(6),
1241				TRIGGER_LINE(7),
1242				NI_20MHzTimebase,
1243				NI_100kHzTimebase,
1244				NI_AnalogComparisonEvent,
1245				0, /* Termination */
1246			}
1247		},
1248		{
1249			.dest = NI_AI_StartTrigger,
1250			.src = (int[]){
1251				NI_PFI(0),
1252				NI_PFI(1),
1253				NI_PFI(2),
1254				NI_PFI(3),
1255				NI_PFI(4),
1256				NI_PFI(5),
1257				NI_PFI(6),
1258				NI_PFI(7),
1259				NI_PFI(8),
1260				NI_PFI(9),
1261				NI_PFI(10),
1262				NI_PFI(11),
1263				NI_PFI(12),
1264				NI_PFI(13),
1265				NI_PFI(14),
1266				NI_PFI(15),
1267				TRIGGER_LINE(0),
1268				TRIGGER_LINE(1),
1269				TRIGGER_LINE(2),
1270				TRIGGER_LINE(3),
1271				TRIGGER_LINE(4),
1272				TRIGGER_LINE(5),
1273				TRIGGER_LINE(6),
1274				TRIGGER_LINE(7),
1275				NI_CtrInternalOutput(0),
1276				NI_CtrInternalOutput(1),
1277				NI_AnalogComparisonEvent,
1278				0, /* Termination */
1279			}
1280		},
1281		{
1282			.dest = NI_AI_ReferenceTrigger,
1283			.src = (int[]){
1284				NI_PFI(0),
1285				NI_PFI(1),
1286				NI_PFI(2),
1287				NI_PFI(3),
1288				NI_PFI(4),
1289				NI_PFI(5),
1290				NI_PFI(6),
1291				NI_PFI(7),
1292				NI_PFI(8),
1293				NI_PFI(9),
1294				NI_PFI(10),
1295				NI_PFI(11),
1296				NI_PFI(12),
1297				NI_PFI(13),
1298				NI_PFI(14),
1299				NI_PFI(15),
1300				TRIGGER_LINE(0),
1301				TRIGGER_LINE(1),
1302				TRIGGER_LINE(2),
1303				TRIGGER_LINE(3),
1304				TRIGGER_LINE(4),
1305				TRIGGER_LINE(5),
1306				TRIGGER_LINE(6),
1307				TRIGGER_LINE(7),
1308				NI_AnalogComparisonEvent,
1309				0, /* Termination */
1310			}
1311		},
1312		{
1313			.dest = NI_AI_ConvertClock,
1314			.src = (int[]){
1315				NI_PFI(0),
1316				NI_PFI(1),
1317				NI_PFI(2),
1318				NI_PFI(3),
1319				NI_PFI(4),
1320				NI_PFI(5),
1321				NI_PFI(6),
1322				NI_PFI(7),
1323				NI_PFI(8),
1324				NI_PFI(9),
1325				NI_PFI(10),
1326				NI_PFI(11),
1327				NI_PFI(12),
1328				NI_PFI(13),
1329				NI_PFI(14),
1330				NI_PFI(15),
1331				TRIGGER_LINE(0),
1332				TRIGGER_LINE(1),
1333				TRIGGER_LINE(2),
1334				TRIGGER_LINE(3),
1335				TRIGGER_LINE(4),
1336				TRIGGER_LINE(5),
1337				TRIGGER_LINE(6),
1338				TRIGGER_LINE(7),
1339				NI_CtrInternalOutput(0),
1340				NI_CtrInternalOutput(1),
1341				NI_AI_ConvertClockTimebase,
1342				NI_AnalogComparisonEvent,
1343				0, /* Termination */
1344			}
1345		},
1346		{
1347			.dest = NI_AI_ConvertClockTimebase,
1348			.src = (int[]){
1349				NI_AI_SampleClockTimebase,
1350				NI_20MHzTimebase,
1351				0, /* Termination */
1352			}
1353		},
1354		{
1355			.dest = NI_AI_PauseTrigger,
1356			.src = (int[]){
1357				NI_PFI(0),
1358				NI_PFI(1),
1359				NI_PFI(2),
1360				NI_PFI(3),
1361				NI_PFI(4),
1362				NI_PFI(5),
1363				NI_PFI(6),
1364				NI_PFI(7),
1365				NI_PFI(8),
1366				NI_PFI(9),
1367				NI_PFI(10),
1368				NI_PFI(11),
1369				NI_PFI(12),
1370				NI_PFI(13),
1371				NI_PFI(14),
1372				NI_PFI(15),
1373				TRIGGER_LINE(0),
1374				TRIGGER_LINE(1),
1375				TRIGGER_LINE(2),
1376				TRIGGER_LINE(3),
1377				TRIGGER_LINE(4),
1378				TRIGGER_LINE(5),
1379				TRIGGER_LINE(6),
1380				TRIGGER_LINE(7),
1381				NI_AnalogComparisonEvent,
1382				0, /* Termination */
1383			}
1384		},
1385		{
1386			.dest = NI_DI_SampleClock,
1387			.src = (int[]){
1388				NI_PFI(0),
1389				NI_PFI(1),
1390				NI_PFI(2),
1391				NI_PFI(3),
1392				NI_PFI(4),
1393				NI_PFI(5),
1394				NI_PFI(6),
1395				NI_PFI(7),
1396				NI_PFI(8),
1397				NI_PFI(9),
1398				NI_PFI(10),
1399				NI_PFI(11),
1400				NI_PFI(12),
1401				NI_PFI(13),
1402				NI_PFI(14),
1403				NI_PFI(15),
1404				TRIGGER_LINE(0),
1405				TRIGGER_LINE(1),
1406				TRIGGER_LINE(2),
1407				TRIGGER_LINE(3),
1408				TRIGGER_LINE(4),
1409				TRIGGER_LINE(5),
1410				TRIGGER_LINE(6),
1411				TRIGGER_LINE(7),
1412				NI_CtrInternalOutput(0),
1413				NI_CtrInternalOutput(1),
1414				NI_AI_SampleClock,
1415				NI_AI_ConvertClock,
1416				NI_FrequencyOutput,
1417				NI_ChangeDetectionEvent,
1418				NI_AnalogComparisonEvent,
1419				0, /* Termination */
1420			}
1421		},
1422		{
1423			.dest = NI_DO_SampleClock,
1424			.src = (int[]){
1425				NI_PFI(0),
1426				NI_PFI(1),
1427				NI_PFI(2),
1428				NI_PFI(3),
1429				NI_PFI(4),
1430				NI_PFI(5),
1431				NI_PFI(6),
1432				NI_PFI(7),
1433				NI_PFI(8),
1434				NI_PFI(9),
1435				NI_PFI(10),
1436				NI_PFI(11),
1437				NI_PFI(12),
1438				NI_PFI(13),
1439				NI_PFI(14),
1440				NI_PFI(15),
1441				TRIGGER_LINE(0),
1442				TRIGGER_LINE(1),
1443				TRIGGER_LINE(2),
1444				TRIGGER_LINE(3),
1445				TRIGGER_LINE(4),
1446				TRIGGER_LINE(5),
1447				TRIGGER_LINE(6),
1448				TRIGGER_LINE(7),
1449				NI_CtrInternalOutput(0),
1450				NI_CtrInternalOutput(1),
1451				NI_AI_SampleClock,
1452				NI_AI_ConvertClock,
1453				NI_FrequencyOutput,
1454				NI_ChangeDetectionEvent,
1455				NI_AnalogComparisonEvent,
1456				0, /* Termination */
1457			}
1458		},
1459		{ /* Termination of list */
1460			.dest = 0,
1461		},
1462	},
1463};
1464