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