1 // SPDX-License-Identifier: GPL-2.0+ 2 /* vim: set ts=8 sw=8 noet tw=80 nowrap: */ 3 /* 4 * comedi/drivers/ni_routing/ni_device_routes/pci-6254.c 5 * List of valid routes for specific NI boards. 6 * 7 * COMEDI - Linux Control and Measurement Device Interface 8 * Copyright (C) 2016 Spencer E. Olson <olsonse@umich.edu> 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 */ 20 21 /* 22 * The contents of this file are generated using the tools in 23 * comedi/drivers/ni_routing/tools 24 * 25 * Please use those tools to help maintain the contents of this file. 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 1345 } 1346 }, 1347 { 1348 .dest = NI_AI_ConvertClockTimebase, 1349 .src = (int[]){ 1350 NI_AI_SampleClockTimebase, 1351 NI_20MHzTimebase, 1352 0, /* Termination */ 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, /* Termination */ 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, /* Termination */ 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, /* Termination */ 1458 } 1459 }, 1460 { /* Termination of list */ 1461 .dest = 0, 1462 }, 1463 }, 1464 }; 1465