1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * comedi/drivers/ni_routing/ni_device_routes/pci-6220.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 30 struct ni_device_routes ni_pci_6220_device_routes = { 31 .device = "pci-6220", 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 0, /* Termination */ 59 } 60 }, 61 { 62 .dest = NI_PFI(1), 63 .src = (int[]){ 64 TRIGGER_LINE(0), 65 TRIGGER_LINE(1), 66 TRIGGER_LINE(2), 67 TRIGGER_LINE(3), 68 TRIGGER_LINE(4), 69 TRIGGER_LINE(5), 70 TRIGGER_LINE(6), 71 TRIGGER_LINE(7), 72 NI_CtrSource(0), 73 NI_CtrSource(1), 74 NI_CtrGate(0), 75 NI_CtrGate(1), 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 0, /* Termination */ 87 } 88 }, 89 { 90 .dest = NI_PFI(2), 91 .src = (int[]){ 92 TRIGGER_LINE(0), 93 TRIGGER_LINE(1), 94 TRIGGER_LINE(2), 95 TRIGGER_LINE(3), 96 TRIGGER_LINE(4), 97 TRIGGER_LINE(5), 98 TRIGGER_LINE(6), 99 TRIGGER_LINE(7), 100 NI_CtrSource(0), 101 NI_CtrSource(1), 102 NI_CtrGate(0), 103 NI_CtrGate(1), 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 0, /* Termination */ 115 } 116 }, 117 { 118 .dest = NI_PFI(3), 119 .src = (int[]){ 120 TRIGGER_LINE(0), 121 TRIGGER_LINE(1), 122 TRIGGER_LINE(2), 123 TRIGGER_LINE(3), 124 TRIGGER_LINE(4), 125 TRIGGER_LINE(5), 126 TRIGGER_LINE(6), 127 TRIGGER_LINE(7), 128 NI_CtrSource(0), 129 NI_CtrSource(1), 130 NI_CtrGate(0), 131 NI_CtrGate(1), 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 0, /* Termination */ 143 } 144 }, 145 { 146 .dest = NI_PFI(4), 147 .src = (int[]){ 148 TRIGGER_LINE(0), 149 TRIGGER_LINE(1), 150 TRIGGER_LINE(2), 151 TRIGGER_LINE(3), 152 TRIGGER_LINE(4), 153 TRIGGER_LINE(5), 154 TRIGGER_LINE(6), 155 TRIGGER_LINE(7), 156 NI_CtrSource(0), 157 NI_CtrSource(1), 158 NI_CtrGate(0), 159 NI_CtrGate(1), 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 0, /* Termination */ 171 } 172 }, 173 { 174 .dest = NI_PFI(5), 175 .src = (int[]){ 176 TRIGGER_LINE(0), 177 TRIGGER_LINE(1), 178 TRIGGER_LINE(2), 179 TRIGGER_LINE(3), 180 TRIGGER_LINE(4), 181 TRIGGER_LINE(5), 182 TRIGGER_LINE(6), 183 TRIGGER_LINE(7), 184 NI_CtrSource(0), 185 NI_CtrSource(1), 186 NI_CtrGate(0), 187 NI_CtrGate(1), 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 0, /* Termination */ 199 } 200 }, 201 { 202 .dest = NI_PFI(6), 203 .src = (int[]){ 204 TRIGGER_LINE(0), 205 TRIGGER_LINE(1), 206 TRIGGER_LINE(2), 207 TRIGGER_LINE(3), 208 TRIGGER_LINE(4), 209 TRIGGER_LINE(5), 210 TRIGGER_LINE(6), 211 TRIGGER_LINE(7), 212 NI_CtrSource(0), 213 NI_CtrSource(1), 214 NI_CtrGate(0), 215 NI_CtrGate(1), 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 0, /* Termination */ 227 } 228 }, 229 { 230 .dest = NI_PFI(7), 231 .src = (int[]){ 232 TRIGGER_LINE(0), 233 TRIGGER_LINE(1), 234 TRIGGER_LINE(2), 235 TRIGGER_LINE(3), 236 TRIGGER_LINE(4), 237 TRIGGER_LINE(5), 238 TRIGGER_LINE(6), 239 TRIGGER_LINE(7), 240 NI_CtrSource(0), 241 NI_CtrSource(1), 242 NI_CtrGate(0), 243 NI_CtrGate(1), 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 0, /* Termination */ 255 } 256 }, 257 { 258 .dest = NI_PFI(8), 259 .src = (int[]){ 260 TRIGGER_LINE(0), 261 TRIGGER_LINE(1), 262 TRIGGER_LINE(2), 263 TRIGGER_LINE(3), 264 TRIGGER_LINE(4), 265 TRIGGER_LINE(5), 266 TRIGGER_LINE(6), 267 TRIGGER_LINE(7), 268 NI_CtrSource(0), 269 NI_CtrSource(1), 270 NI_CtrGate(0), 271 NI_CtrGate(1), 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 0, /* Termination */ 283 } 284 }, 285 { 286 .dest = NI_PFI(9), 287 .src = (int[]){ 288 TRIGGER_LINE(0), 289 TRIGGER_LINE(1), 290 TRIGGER_LINE(2), 291 TRIGGER_LINE(3), 292 TRIGGER_LINE(4), 293 TRIGGER_LINE(5), 294 TRIGGER_LINE(6), 295 TRIGGER_LINE(7), 296 NI_CtrSource(0), 297 NI_CtrSource(1), 298 NI_CtrGate(0), 299 NI_CtrGate(1), 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 0, /* Termination */ 311 } 312 }, 313 { 314 .dest = NI_PFI(10), 315 .src = (int[]){ 316 TRIGGER_LINE(0), 317 TRIGGER_LINE(1), 318 TRIGGER_LINE(2), 319 TRIGGER_LINE(3), 320 TRIGGER_LINE(4), 321 TRIGGER_LINE(5), 322 TRIGGER_LINE(6), 323 TRIGGER_LINE(7), 324 NI_CtrSource(0), 325 NI_CtrSource(1), 326 NI_CtrGate(0), 327 NI_CtrGate(1), 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 0, /* Termination */ 339 } 340 }, 341 { 342 .dest = NI_PFI(11), 343 .src = (int[]){ 344 TRIGGER_LINE(0), 345 TRIGGER_LINE(1), 346 TRIGGER_LINE(2), 347 TRIGGER_LINE(3), 348 TRIGGER_LINE(4), 349 TRIGGER_LINE(5), 350 TRIGGER_LINE(6), 351 TRIGGER_LINE(7), 352 NI_CtrSource(0), 353 NI_CtrSource(1), 354 NI_CtrGate(0), 355 NI_CtrGate(1), 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 0, /* Termination */ 367 } 368 }, 369 { 370 .dest = NI_PFI(12), 371 .src = (int[]){ 372 TRIGGER_LINE(0), 373 TRIGGER_LINE(1), 374 TRIGGER_LINE(2), 375 TRIGGER_LINE(3), 376 TRIGGER_LINE(4), 377 TRIGGER_LINE(5), 378 TRIGGER_LINE(6), 379 TRIGGER_LINE(7), 380 NI_CtrSource(0), 381 NI_CtrSource(1), 382 NI_CtrGate(0), 383 NI_CtrGate(1), 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 0, /* Termination */ 395 } 396 }, 397 { 398 .dest = NI_PFI(13), 399 .src = (int[]){ 400 TRIGGER_LINE(0), 401 TRIGGER_LINE(1), 402 TRIGGER_LINE(2), 403 TRIGGER_LINE(3), 404 TRIGGER_LINE(4), 405 TRIGGER_LINE(5), 406 TRIGGER_LINE(6), 407 TRIGGER_LINE(7), 408 NI_CtrSource(0), 409 NI_CtrSource(1), 410 NI_CtrGate(0), 411 NI_CtrGate(1), 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 0, /* Termination */ 423 } 424 }, 425 { 426 .dest = NI_PFI(14), 427 .src = (int[]){ 428 TRIGGER_LINE(0), 429 TRIGGER_LINE(1), 430 TRIGGER_LINE(2), 431 TRIGGER_LINE(3), 432 TRIGGER_LINE(4), 433 TRIGGER_LINE(5), 434 TRIGGER_LINE(6), 435 TRIGGER_LINE(7), 436 NI_CtrSource(0), 437 NI_CtrSource(1), 438 NI_CtrGate(0), 439 NI_CtrGate(1), 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 0, /* Termination */ 451 } 452 }, 453 { 454 .dest = NI_PFI(15), 455 .src = (int[]){ 456 TRIGGER_LINE(0), 457 TRIGGER_LINE(1), 458 TRIGGER_LINE(2), 459 TRIGGER_LINE(3), 460 TRIGGER_LINE(4), 461 TRIGGER_LINE(5), 462 TRIGGER_LINE(6), 463 TRIGGER_LINE(7), 464 NI_CtrSource(0), 465 NI_CtrSource(1), 466 NI_CtrGate(0), 467 NI_CtrGate(1), 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 0, /* Termination */ 479 } 480 }, 481 { 482 .dest = TRIGGER_LINE(0), 483 .src = (int[]){ 484 NI_PFI(0), 485 NI_PFI(1), 486 NI_PFI(2), 487 NI_PFI(3), 488 NI_PFI(4), 489 NI_PFI(5), 490 NI_CtrSource(0), 491 NI_CtrSource(1), 492 NI_CtrGate(0), 493 NI_CtrGate(1), 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_AI_PauseTrigger, 501 NI_10MHzRefClock, 502 NI_FrequencyOutput, 503 NI_ChangeDetectionEvent, 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_CtrGate(1), 520 NI_CtrInternalOutput(0), 521 NI_CtrInternalOutput(1), 522 NI_AI_SampleClock, 523 NI_AI_StartTrigger, 524 NI_AI_ReferenceTrigger, 525 NI_AI_ConvertClock, 526 NI_AI_PauseTrigger, 527 NI_10MHzRefClock, 528 NI_FrequencyOutput, 529 NI_ChangeDetectionEvent, 530 0, /* Termination */ 531 } 532 }, 533 { 534 .dest = TRIGGER_LINE(2), 535 .src = (int[]){ 536 NI_PFI(0), 537 NI_PFI(1), 538 NI_PFI(2), 539 NI_PFI(3), 540 NI_PFI(4), 541 NI_PFI(5), 542 NI_CtrSource(0), 543 NI_CtrSource(1), 544 NI_CtrGate(0), 545 NI_CtrGate(1), 546 NI_CtrInternalOutput(0), 547 NI_CtrInternalOutput(1), 548 NI_AI_SampleClock, 549 NI_AI_StartTrigger, 550 NI_AI_ReferenceTrigger, 551 NI_AI_ConvertClock, 552 NI_AI_PauseTrigger, 553 NI_10MHzRefClock, 554 NI_FrequencyOutput, 555 NI_ChangeDetectionEvent, 556 0, /* Termination */ 557 } 558 }, 559 { 560 .dest = TRIGGER_LINE(3), 561 .src = (int[]){ 562 NI_PFI(0), 563 NI_PFI(1), 564 NI_PFI(2), 565 NI_PFI(3), 566 NI_PFI(4), 567 NI_PFI(5), 568 NI_CtrSource(0), 569 NI_CtrSource(1), 570 NI_CtrGate(0), 571 NI_CtrGate(1), 572 NI_CtrInternalOutput(0), 573 NI_CtrInternalOutput(1), 574 NI_AI_SampleClock, 575 NI_AI_StartTrigger, 576 NI_AI_ReferenceTrigger, 577 NI_AI_ConvertClock, 578 NI_AI_PauseTrigger, 579 NI_10MHzRefClock, 580 NI_FrequencyOutput, 581 NI_ChangeDetectionEvent, 582 0, /* Termination */ 583 } 584 }, 585 { 586 .dest = TRIGGER_LINE(4), 587 .src = (int[]){ 588 NI_PFI(0), 589 NI_PFI(1), 590 NI_PFI(2), 591 NI_PFI(3), 592 NI_PFI(4), 593 NI_PFI(5), 594 NI_CtrSource(0), 595 NI_CtrSource(1), 596 NI_CtrGate(0), 597 NI_CtrGate(1), 598 NI_CtrInternalOutput(0), 599 NI_CtrInternalOutput(1), 600 NI_AI_SampleClock, 601 NI_AI_StartTrigger, 602 NI_AI_ReferenceTrigger, 603 NI_AI_ConvertClock, 604 NI_AI_PauseTrigger, 605 NI_10MHzRefClock, 606 NI_FrequencyOutput, 607 NI_ChangeDetectionEvent, 608 0, /* Termination */ 609 } 610 }, 611 { 612 .dest = TRIGGER_LINE(5), 613 .src = (int[]){ 614 NI_PFI(0), 615 NI_PFI(1), 616 NI_PFI(2), 617 NI_PFI(3), 618 NI_PFI(4), 619 NI_PFI(5), 620 NI_CtrSource(0), 621 NI_CtrSource(1), 622 NI_CtrGate(0), 623 NI_CtrGate(1), 624 NI_CtrInternalOutput(0), 625 NI_CtrInternalOutput(1), 626 NI_AI_SampleClock, 627 NI_AI_StartTrigger, 628 NI_AI_ReferenceTrigger, 629 NI_AI_ConvertClock, 630 NI_AI_PauseTrigger, 631 NI_10MHzRefClock, 632 NI_FrequencyOutput, 633 NI_ChangeDetectionEvent, 634 0, /* Termination */ 635 } 636 }, 637 { 638 .dest = TRIGGER_LINE(6), 639 .src = (int[]){ 640 NI_PFI(0), 641 NI_PFI(1), 642 NI_PFI(2), 643 NI_PFI(3), 644 NI_PFI(4), 645 NI_PFI(5), 646 NI_CtrSource(0), 647 NI_CtrSource(1), 648 NI_CtrGate(0), 649 NI_CtrGate(1), 650 NI_CtrInternalOutput(0), 651 NI_CtrInternalOutput(1), 652 NI_AI_SampleClock, 653 NI_AI_StartTrigger, 654 NI_AI_ReferenceTrigger, 655 NI_AI_ConvertClock, 656 NI_AI_PauseTrigger, 657 NI_10MHzRefClock, 658 NI_FrequencyOutput, 659 NI_ChangeDetectionEvent, 660 0, /* Termination */ 661 } 662 }, 663 { 664 .dest = TRIGGER_LINE(7), 665 .src = (int[]){ 666 NI_PFI(0), 667 NI_PFI(1), 668 NI_PFI(2), 669 NI_PFI(3), 670 NI_PFI(4), 671 NI_PFI(5), 672 NI_CtrSource(0), 673 NI_CtrSource(1), 674 NI_CtrGate(0), 675 NI_CtrGate(1), 676 NI_CtrInternalOutput(0), 677 NI_CtrInternalOutput(1), 678 NI_AI_SampleClock, 679 NI_AI_StartTrigger, 680 NI_AI_ReferenceTrigger, 681 NI_AI_ConvertClock, 682 NI_AI_PauseTrigger, 683 NI_10MHzRefClock, 684 NI_FrequencyOutput, 685 NI_ChangeDetectionEvent, 686 0, /* Termination */ 687 } 688 }, 689 { 690 .dest = NI_CtrSource(0), 691 .src = (int[]){ 692 NI_PFI(0), 693 NI_PFI(1), 694 NI_PFI(2), 695 NI_PFI(3), 696 NI_PFI(4), 697 NI_PFI(5), 698 NI_PFI(6), 699 NI_PFI(7), 700 NI_PFI(8), 701 NI_PFI(9), 702 NI_PFI(10), 703 NI_PFI(11), 704 NI_PFI(12), 705 NI_PFI(13), 706 NI_PFI(14), 707 NI_PFI(15), 708 TRIGGER_LINE(0), 709 TRIGGER_LINE(1), 710 TRIGGER_LINE(2), 711 TRIGGER_LINE(3), 712 TRIGGER_LINE(4), 713 TRIGGER_LINE(5), 714 TRIGGER_LINE(6), 715 TRIGGER_LINE(7), 716 NI_CtrGate(1), 717 NI_20MHzTimebase, 718 NI_80MHzTimebase, 719 NI_100kHzTimebase, 720 0, /* Termination */ 721 } 722 }, 723 { 724 .dest = NI_CtrSource(1), 725 .src = (int[]){ 726 NI_PFI(0), 727 NI_PFI(1), 728 NI_PFI(2), 729 NI_PFI(3), 730 NI_PFI(4), 731 NI_PFI(5), 732 NI_PFI(6), 733 NI_PFI(7), 734 NI_PFI(8), 735 NI_PFI(9), 736 NI_PFI(10), 737 NI_PFI(11), 738 NI_PFI(12), 739 NI_PFI(13), 740 NI_PFI(14), 741 NI_PFI(15), 742 TRIGGER_LINE(0), 743 TRIGGER_LINE(1), 744 TRIGGER_LINE(2), 745 TRIGGER_LINE(3), 746 TRIGGER_LINE(4), 747 TRIGGER_LINE(5), 748 TRIGGER_LINE(6), 749 TRIGGER_LINE(7), 750 NI_CtrGate(0), 751 NI_20MHzTimebase, 752 NI_80MHzTimebase, 753 NI_100kHzTimebase, 754 0, /* Termination */ 755 } 756 }, 757 { 758 .dest = NI_CtrGate(0), 759 .src = (int[]){ 760 NI_PFI(0), 761 NI_PFI(1), 762 NI_PFI(2), 763 NI_PFI(3), 764 NI_PFI(4), 765 NI_PFI(5), 766 NI_PFI(6), 767 NI_PFI(7), 768 NI_PFI(8), 769 NI_PFI(9), 770 NI_PFI(10), 771 NI_PFI(11), 772 NI_PFI(12), 773 NI_PFI(13), 774 NI_PFI(14), 775 NI_PFI(15), 776 TRIGGER_LINE(0), 777 TRIGGER_LINE(1), 778 TRIGGER_LINE(2), 779 TRIGGER_LINE(3), 780 TRIGGER_LINE(4), 781 TRIGGER_LINE(5), 782 TRIGGER_LINE(6), 783 TRIGGER_LINE(7), 784 NI_CtrSource(1), 785 NI_CtrInternalOutput(1), 786 NI_AI_StartTrigger, 787 NI_AI_ReferenceTrigger, 788 0, /* Termination */ 789 } 790 }, 791 { 792 .dest = NI_CtrGate(1), 793 .src = (int[]){ 794 NI_PFI(0), 795 NI_PFI(1), 796 NI_PFI(2), 797 NI_PFI(3), 798 NI_PFI(4), 799 NI_PFI(5), 800 NI_PFI(6), 801 NI_PFI(7), 802 NI_PFI(8), 803 NI_PFI(9), 804 NI_PFI(10), 805 NI_PFI(11), 806 NI_PFI(12), 807 NI_PFI(13), 808 NI_PFI(14), 809 NI_PFI(15), 810 TRIGGER_LINE(0), 811 TRIGGER_LINE(1), 812 TRIGGER_LINE(2), 813 TRIGGER_LINE(3), 814 TRIGGER_LINE(4), 815 TRIGGER_LINE(5), 816 TRIGGER_LINE(6), 817 TRIGGER_LINE(7), 818 NI_CtrSource(0), 819 NI_CtrInternalOutput(0), 820 NI_AI_StartTrigger, 821 NI_AI_ReferenceTrigger, 822 0, /* Termination */ 823 } 824 }, 825 { 826 .dest = NI_CtrAux(0), 827 .src = (int[]){ 828 NI_PFI(0), 829 NI_PFI(1), 830 NI_PFI(2), 831 NI_PFI(3), 832 NI_PFI(4), 833 NI_PFI(5), 834 NI_PFI(6), 835 NI_PFI(7), 836 NI_PFI(8), 837 NI_PFI(9), 838 NI_PFI(10), 839 NI_PFI(11), 840 NI_PFI(12), 841 NI_PFI(13), 842 NI_PFI(14), 843 NI_PFI(15), 844 TRIGGER_LINE(0), 845 TRIGGER_LINE(1), 846 TRIGGER_LINE(2), 847 TRIGGER_LINE(3), 848 TRIGGER_LINE(4), 849 TRIGGER_LINE(5), 850 TRIGGER_LINE(6), 851 TRIGGER_LINE(7), 852 NI_CtrSource(1), 853 NI_CtrGate(0), 854 NI_CtrGate(1), 855 NI_CtrInternalOutput(1), 856 NI_AI_StartTrigger, 857 NI_AI_ReferenceTrigger, 858 0, /* Termination */ 859 } 860 }, 861 { 862 .dest = NI_CtrAux(1), 863 .src = (int[]){ 864 NI_PFI(0), 865 NI_PFI(1), 866 NI_PFI(2), 867 NI_PFI(3), 868 NI_PFI(4), 869 NI_PFI(5), 870 NI_PFI(6), 871 NI_PFI(7), 872 NI_PFI(8), 873 NI_PFI(9), 874 NI_PFI(10), 875 NI_PFI(11), 876 NI_PFI(12), 877 NI_PFI(13), 878 NI_PFI(14), 879 NI_PFI(15), 880 TRIGGER_LINE(0), 881 TRIGGER_LINE(1), 882 TRIGGER_LINE(2), 883 TRIGGER_LINE(3), 884 TRIGGER_LINE(4), 885 TRIGGER_LINE(5), 886 TRIGGER_LINE(6), 887 TRIGGER_LINE(7), 888 NI_CtrSource(0), 889 NI_CtrGate(0), 890 NI_CtrGate(1), 891 NI_CtrInternalOutput(0), 892 NI_AI_StartTrigger, 893 NI_AI_ReferenceTrigger, 894 0, /* Termination */ 895 } 896 }, 897 { 898 .dest = NI_CtrA(0), 899 .src = (int[]){ 900 NI_PFI(0), 901 NI_PFI(1), 902 NI_PFI(2), 903 NI_PFI(3), 904 NI_PFI(4), 905 NI_PFI(5), 906 NI_PFI(6), 907 NI_PFI(7), 908 NI_PFI(8), 909 NI_PFI(9), 910 NI_PFI(10), 911 NI_PFI(11), 912 NI_PFI(12), 913 NI_PFI(13), 914 NI_PFI(14), 915 NI_PFI(15), 916 TRIGGER_LINE(0), 917 TRIGGER_LINE(1), 918 TRIGGER_LINE(2), 919 TRIGGER_LINE(3), 920 TRIGGER_LINE(4), 921 TRIGGER_LINE(5), 922 TRIGGER_LINE(6), 923 TRIGGER_LINE(7), 924 0, /* Termination */ 925 } 926 }, 927 { 928 .dest = NI_CtrA(1), 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 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 0, /* Termination */ 985 } 986 }, 987 { 988 .dest = NI_CtrB(1), 989 .src = (int[]){ 990 NI_PFI(0), 991 NI_PFI(1), 992 NI_PFI(2), 993 NI_PFI(3), 994 NI_PFI(4), 995 NI_PFI(5), 996 NI_PFI(6), 997 NI_PFI(7), 998 NI_PFI(8), 999 NI_PFI(9), 1000 NI_PFI(10), 1001 NI_PFI(11), 1002 NI_PFI(12), 1003 NI_PFI(13), 1004 NI_PFI(14), 1005 NI_PFI(15), 1006 TRIGGER_LINE(0), 1007 TRIGGER_LINE(1), 1008 TRIGGER_LINE(2), 1009 TRIGGER_LINE(3), 1010 TRIGGER_LINE(4), 1011 TRIGGER_LINE(5), 1012 TRIGGER_LINE(6), 1013 TRIGGER_LINE(7), 1014 0, /* Termination */ 1015 } 1016 }, 1017 { 1018 .dest = NI_CtrZ(0), 1019 .src = (int[]){ 1020 NI_PFI(0), 1021 NI_PFI(1), 1022 NI_PFI(2), 1023 NI_PFI(3), 1024 NI_PFI(4), 1025 NI_PFI(5), 1026 NI_PFI(6), 1027 NI_PFI(7), 1028 NI_PFI(8), 1029 NI_PFI(9), 1030 NI_PFI(10), 1031 NI_PFI(11), 1032 NI_PFI(12), 1033 NI_PFI(13), 1034 NI_PFI(14), 1035 NI_PFI(15), 1036 TRIGGER_LINE(0), 1037 TRIGGER_LINE(1), 1038 TRIGGER_LINE(2), 1039 TRIGGER_LINE(3), 1040 TRIGGER_LINE(4), 1041 TRIGGER_LINE(5), 1042 TRIGGER_LINE(6), 1043 TRIGGER_LINE(7), 1044 0, /* Termination */ 1045 } 1046 }, 1047 { 1048 .dest = NI_CtrZ(1), 1049 .src = (int[]){ 1050 NI_PFI(0), 1051 NI_PFI(1), 1052 NI_PFI(2), 1053 NI_PFI(3), 1054 NI_PFI(4), 1055 NI_PFI(5), 1056 NI_PFI(6), 1057 NI_PFI(7), 1058 NI_PFI(8), 1059 NI_PFI(9), 1060 NI_PFI(10), 1061 NI_PFI(11), 1062 NI_PFI(12), 1063 NI_PFI(13), 1064 NI_PFI(14), 1065 NI_PFI(15), 1066 TRIGGER_LINE(0), 1067 TRIGGER_LINE(1), 1068 TRIGGER_LINE(2), 1069 TRIGGER_LINE(3), 1070 TRIGGER_LINE(4), 1071 TRIGGER_LINE(5), 1072 TRIGGER_LINE(6), 1073 TRIGGER_LINE(7), 1074 0, /* Termination */ 1075 } 1076 }, 1077 { 1078 .dest = NI_CtrArmStartTrigger(0), 1079 .src = (int[]){ 1080 NI_PFI(0), 1081 NI_PFI(1), 1082 NI_PFI(2), 1083 NI_PFI(3), 1084 NI_PFI(4), 1085 NI_PFI(5), 1086 NI_PFI(6), 1087 NI_PFI(7), 1088 NI_PFI(8), 1089 NI_PFI(9), 1090 NI_PFI(10), 1091 NI_PFI(11), 1092 NI_PFI(12), 1093 NI_PFI(13), 1094 NI_PFI(14), 1095 NI_PFI(15), 1096 TRIGGER_LINE(0), 1097 TRIGGER_LINE(1), 1098 TRIGGER_LINE(2), 1099 TRIGGER_LINE(3), 1100 TRIGGER_LINE(4), 1101 TRIGGER_LINE(5), 1102 TRIGGER_LINE(6), 1103 TRIGGER_LINE(7), 1104 NI_CtrInternalOutput(1), 1105 NI_AI_StartTrigger, 1106 NI_AI_ReferenceTrigger, 1107 0, /* Termination */ 1108 } 1109 }, 1110 { 1111 .dest = NI_CtrArmStartTrigger(1), 1112 .src = (int[]){ 1113 NI_PFI(0), 1114 NI_PFI(1), 1115 NI_PFI(2), 1116 NI_PFI(3), 1117 NI_PFI(4), 1118 NI_PFI(5), 1119 NI_PFI(6), 1120 NI_PFI(7), 1121 NI_PFI(8), 1122 NI_PFI(9), 1123 NI_PFI(10), 1124 NI_PFI(11), 1125 NI_PFI(12), 1126 NI_PFI(13), 1127 NI_PFI(14), 1128 NI_PFI(15), 1129 TRIGGER_LINE(0), 1130 TRIGGER_LINE(1), 1131 TRIGGER_LINE(2), 1132 TRIGGER_LINE(3), 1133 TRIGGER_LINE(4), 1134 TRIGGER_LINE(5), 1135 TRIGGER_LINE(6), 1136 TRIGGER_LINE(7), 1137 NI_CtrInternalOutput(0), 1138 NI_AI_StartTrigger, 1139 NI_AI_ReferenceTrigger, 1140 0, /* Termination */ 1141 } 1142 }, 1143 { 1144 .dest = NI_AI_SampleClock, 1145 .src = (int[]){ 1146 NI_PFI(0), 1147 NI_PFI(1), 1148 NI_PFI(2), 1149 NI_PFI(3), 1150 NI_PFI(4), 1151 NI_PFI(5), 1152 NI_PFI(6), 1153 NI_PFI(7), 1154 NI_PFI(8), 1155 NI_PFI(9), 1156 NI_PFI(10), 1157 NI_PFI(11), 1158 NI_PFI(12), 1159 NI_PFI(13), 1160 NI_PFI(14), 1161 NI_PFI(15), 1162 TRIGGER_LINE(0), 1163 TRIGGER_LINE(1), 1164 TRIGGER_LINE(2), 1165 TRIGGER_LINE(3), 1166 TRIGGER_LINE(4), 1167 TRIGGER_LINE(5), 1168 TRIGGER_LINE(6), 1169 TRIGGER_LINE(7), 1170 NI_CtrInternalOutput(0), 1171 NI_CtrInternalOutput(1), 1172 NI_AI_SampleClockTimebase, 1173 0, /* Termination */ 1174 } 1175 }, 1176 { 1177 .dest = NI_AI_SampleClockTimebase, 1178 .src = (int[]){ 1179 NI_PFI(0), 1180 NI_PFI(1), 1181 NI_PFI(2), 1182 NI_PFI(3), 1183 NI_PFI(4), 1184 NI_PFI(5), 1185 NI_PFI(6), 1186 NI_PFI(7), 1187 NI_PFI(8), 1188 NI_PFI(9), 1189 NI_PFI(10), 1190 NI_PFI(11), 1191 NI_PFI(12), 1192 NI_PFI(13), 1193 NI_PFI(14), 1194 NI_PFI(15), 1195 TRIGGER_LINE(0), 1196 TRIGGER_LINE(1), 1197 TRIGGER_LINE(2), 1198 TRIGGER_LINE(3), 1199 TRIGGER_LINE(4), 1200 TRIGGER_LINE(5), 1201 TRIGGER_LINE(6), 1202 TRIGGER_LINE(7), 1203 NI_20MHzTimebase, 1204 NI_100kHzTimebase, 1205 0, /* Termination */ 1206 } 1207 }, 1208 { 1209 .dest = NI_AI_StartTrigger, 1210 .src = (int[]){ 1211 NI_PFI(0), 1212 NI_PFI(1), 1213 NI_PFI(2), 1214 NI_PFI(3), 1215 NI_PFI(4), 1216 NI_PFI(5), 1217 NI_PFI(6), 1218 NI_PFI(7), 1219 NI_PFI(8), 1220 NI_PFI(9), 1221 NI_PFI(10), 1222 NI_PFI(11), 1223 NI_PFI(12), 1224 NI_PFI(13), 1225 NI_PFI(14), 1226 NI_PFI(15), 1227 TRIGGER_LINE(0), 1228 TRIGGER_LINE(1), 1229 TRIGGER_LINE(2), 1230 TRIGGER_LINE(3), 1231 TRIGGER_LINE(4), 1232 TRIGGER_LINE(5), 1233 TRIGGER_LINE(6), 1234 TRIGGER_LINE(7), 1235 NI_CtrInternalOutput(0), 1236 NI_CtrInternalOutput(1), 1237 0, /* Termination */ 1238 } 1239 }, 1240 { 1241 .dest = NI_AI_ReferenceTrigger, 1242 .src = (int[]){ 1243 NI_PFI(0), 1244 NI_PFI(1), 1245 NI_PFI(2), 1246 NI_PFI(3), 1247 NI_PFI(4), 1248 NI_PFI(5), 1249 NI_PFI(6), 1250 NI_PFI(7), 1251 NI_PFI(8), 1252 NI_PFI(9), 1253 NI_PFI(10), 1254 NI_PFI(11), 1255 NI_PFI(12), 1256 NI_PFI(13), 1257 NI_PFI(14), 1258 NI_PFI(15), 1259 TRIGGER_LINE(0), 1260 TRIGGER_LINE(1), 1261 TRIGGER_LINE(2), 1262 TRIGGER_LINE(3), 1263 TRIGGER_LINE(4), 1264 TRIGGER_LINE(5), 1265 TRIGGER_LINE(6), 1266 TRIGGER_LINE(7), 1267 0, /* Termination */ 1268 } 1269 }, 1270 { 1271 .dest = NI_AI_ConvertClock, 1272 .src = (int[]){ 1273 NI_PFI(0), 1274 NI_PFI(1), 1275 NI_PFI(2), 1276 NI_PFI(3), 1277 NI_PFI(4), 1278 NI_PFI(5), 1279 NI_PFI(6), 1280 NI_PFI(7), 1281 NI_PFI(8), 1282 NI_PFI(9), 1283 NI_PFI(10), 1284 NI_PFI(11), 1285 NI_PFI(12), 1286 NI_PFI(13), 1287 NI_PFI(14), 1288 NI_PFI(15), 1289 TRIGGER_LINE(0), 1290 TRIGGER_LINE(1), 1291 TRIGGER_LINE(2), 1292 TRIGGER_LINE(3), 1293 TRIGGER_LINE(4), 1294 TRIGGER_LINE(5), 1295 TRIGGER_LINE(6), 1296 TRIGGER_LINE(7), 1297 NI_CtrInternalOutput(0), 1298 NI_CtrInternalOutput(1), 1299 NI_AI_ConvertClockTimebase, 1300 0, /* Termination */ 1301 } 1302 }, 1303 { 1304 .dest = NI_AI_ConvertClockTimebase, 1305 .src = (int[]){ 1306 NI_AI_SampleClockTimebase, 1307 NI_20MHzTimebase, 1308 0, /* Termination */ 1309 } 1310 }, 1311 { 1312 .dest = NI_AI_PauseTrigger, 1313 .src = (int[]){ 1314 NI_PFI(0), 1315 NI_PFI(1), 1316 NI_PFI(2), 1317 NI_PFI(3), 1318 NI_PFI(4), 1319 NI_PFI(5), 1320 NI_PFI(6), 1321 NI_PFI(7), 1322 NI_PFI(8), 1323 NI_PFI(9), 1324 NI_PFI(10), 1325 NI_PFI(11), 1326 NI_PFI(12), 1327 NI_PFI(13), 1328 NI_PFI(14), 1329 NI_PFI(15), 1330 TRIGGER_LINE(0), 1331 TRIGGER_LINE(1), 1332 TRIGGER_LINE(2), 1333 TRIGGER_LINE(3), 1334 TRIGGER_LINE(4), 1335 TRIGGER_LINE(5), 1336 TRIGGER_LINE(6), 1337 TRIGGER_LINE(7), 1338 0, /* Termination */ 1339 } 1340 }, 1341 { 1342 .dest = NI_DI_SampleClock, 1343 .src = (int[]){ 1344 NI_PFI(0), 1345 NI_PFI(1), 1346 NI_PFI(2), 1347 NI_PFI(3), 1348 NI_PFI(4), 1349 NI_PFI(5), 1350 NI_PFI(6), 1351 NI_PFI(7), 1352 NI_PFI(8), 1353 NI_PFI(9), 1354 NI_PFI(10), 1355 NI_PFI(11), 1356 NI_PFI(12), 1357 NI_PFI(13), 1358 NI_PFI(14), 1359 NI_PFI(15), 1360 TRIGGER_LINE(0), 1361 TRIGGER_LINE(1), 1362 TRIGGER_LINE(2), 1363 TRIGGER_LINE(3), 1364 TRIGGER_LINE(4), 1365 TRIGGER_LINE(5), 1366 TRIGGER_LINE(6), 1367 TRIGGER_LINE(7), 1368 NI_CtrInternalOutput(0), 1369 NI_CtrInternalOutput(1), 1370 NI_AI_SampleClock, 1371 NI_AI_ConvertClock, 1372 NI_FrequencyOutput, 1373 NI_ChangeDetectionEvent, 1374 0, /* Termination */ 1375 } 1376 }, 1377 { 1378 .dest = NI_DO_SampleClock, 1379 .src = (int[]){ 1380 NI_PFI(0), 1381 NI_PFI(1), 1382 NI_PFI(2), 1383 NI_PFI(3), 1384 NI_PFI(4), 1385 NI_PFI(5), 1386 NI_PFI(6), 1387 NI_PFI(7), 1388 NI_PFI(8), 1389 NI_PFI(9), 1390 NI_PFI(10), 1391 NI_PFI(11), 1392 NI_PFI(12), 1393 NI_PFI(13), 1394 NI_PFI(14), 1395 NI_PFI(15), 1396 TRIGGER_LINE(0), 1397 TRIGGER_LINE(1), 1398 TRIGGER_LINE(2), 1399 TRIGGER_LINE(3), 1400 TRIGGER_LINE(4), 1401 TRIGGER_LINE(5), 1402 TRIGGER_LINE(6), 1403 TRIGGER_LINE(7), 1404 NI_CtrInternalOutput(0), 1405 NI_CtrInternalOutput(1), 1406 NI_AI_SampleClock, 1407 NI_AI_ConvertClock, 1408 NI_FrequencyOutput, 1409 NI_ChangeDetectionEvent, 1410 0, /* Termination */ 1411 } 1412 }, 1413 { /* Termination of list */ 1414 .dest = 0, 1415 }, 1416 }, 1417 }; 1418