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