001/* 002 * Copyright (C) Cross The Road Electronics. All rights reserved. 003 * License information can be found in CTRE_LICENSE.txt 004 * For support and suggestions contact support@ctr-electronics.com or file 005 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases 006 */ 007package com.ctre.phoenix6.configs; 008 009import com.ctre.phoenix6.StatusCode; 010import com.ctre.phoenix6.hardware.DeviceIdentifier; 011import com.ctre.phoenix6.configs.jni.ConfigJNI; 012import com.ctre.phoenix6.spns.*; 013 014/** 015 * Class description for the Talon FX integrated motor controller. 016 * 017 * This handles the configurations for the {@link com.ctre.phoenix6.hardware.TalonFX} 018 */ 019public class TalonFXConfigurator extends ParentConfigurator 020{ 021 public TalonFXConfigurator (DeviceIdentifier id) 022 { 023 super(id); 024 } 025 026 /** 027 * Refreshes the values of the specified config group. 028 * <p> 029 * This will wait up to {@link #DefaultTimeoutSeconds}. 030 * <p> 031 * Call to refresh the selected configs from the device. 032 * 033 * @param configs The configs to refresh 034 * @return StatusCode of refreshing the configs 035 */ 036 public StatusCode refresh(TalonFXConfiguration configs) 037 { 038 return refresh(configs, DefaultTimeoutSeconds); 039 } 040 041 /** 042 * Refreshes the values of the specified config group. 043 * <p> 044 * Call to refresh the selected configs from the device. 045 * 046 * @param configs The configs to refresh 047 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 048 * @return StatusCode of refreshing the configs 049 */ 050 public StatusCode refresh(TalonFXConfiguration configs, double timeoutSeconds) 051 { 052 StringBuilder serializedString = new StringBuilder(); 053 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 054 if (err == StatusCode.OK) { 055 /* Only deserialize if we successfully got configs */ 056 configs.deserialize(serializedString.toString()); 057 } 058 return err; 059 } 060 061 /** 062 * Applies the contents of the specified config to the device. 063 * <p> 064 * This will wait up to {@link #DefaultTimeoutSeconds}. 065 * <p> 066 * Call to apply the selected configs. 067 * 068 * @param configs Configs to apply against. 069 * @return StatusCode of the set command 070 */ 071 public StatusCode apply(TalonFXConfiguration configs) 072 { 073 return apply(configs, DefaultTimeoutSeconds); 074 } 075 076 /** 077 * Applies the contents of the specified config to the device. 078 * <p> 079 * Call to apply the selected configs. 080 * 081 * @param configs Configs to apply against. 082 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 083 * @return StatusCode of the set command 084 */ 085 public StatusCode apply(TalonFXConfiguration configs, double timeoutSeconds) 086 { 087 return setConfigsPrivate(configs.serialize(), timeoutSeconds, configs.FutureProofConfigs, false); 088 } 089 090 091 /** 092 * Refreshes the values of the specified config group. 093 * <p> 094 * This will wait up to {@link #DefaultTimeoutSeconds}. 095 * <p> 096 * Call to refresh the selected configs from the device. 097 * 098 * @param configs The configs to refresh 099 * @return StatusCode of refreshing the configs 100 */ 101 public StatusCode refresh(MotorOutputConfigs configs) 102 { 103 return refresh(configs, DefaultTimeoutSeconds); 104 } 105 106 /** 107 * Refreshes the values of the specified config group. 108 * <p> 109 * Call to refresh the selected configs from the device. 110 * 111 * @param configs The configs to refresh 112 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 113 * @return StatusCode of refreshing the configs 114 */ 115 public StatusCode refresh(MotorOutputConfigs configs, double timeoutSeconds) 116 { 117 StringBuilder serializedString = new StringBuilder(); 118 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 119 if (err == StatusCode.OK) { 120 /* Only deserialize if we successfully got configs */ 121 configs.deserialize(serializedString.toString()); 122 } 123 return err; 124 } 125 126 /** 127 * Applies the contents of the specified config to the device. 128 * <p> 129 * This will wait up to {@link #DefaultTimeoutSeconds}. 130 * <p> 131 * Call to apply the selected configs. 132 * 133 * @param configs Configs to apply against. 134 * @return StatusCode of the set command 135 */ 136 public StatusCode apply(MotorOutputConfigs configs) 137 { 138 return apply(configs, DefaultTimeoutSeconds); 139 } 140 141 /** 142 * Applies the contents of the specified config to the device. 143 * <p> 144 * Call to apply the selected configs. 145 * 146 * @param configs Configs to apply against. 147 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 148 * @return StatusCode of the set command 149 */ 150 public StatusCode apply(MotorOutputConfigs configs, double timeoutSeconds) 151 { 152 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 153 } 154 155 156 /** 157 * Refreshes the values of the specified config group. 158 * <p> 159 * This will wait up to {@link #DefaultTimeoutSeconds}. 160 * <p> 161 * Call to refresh the selected configs from the device. 162 * 163 * @param configs The configs to refresh 164 * @return StatusCode of refreshing the configs 165 */ 166 public StatusCode refresh(CurrentLimitsConfigs configs) 167 { 168 return refresh(configs, DefaultTimeoutSeconds); 169 } 170 171 /** 172 * Refreshes the values of the specified config group. 173 * <p> 174 * Call to refresh the selected configs from the device. 175 * 176 * @param configs The configs to refresh 177 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 178 * @return StatusCode of refreshing the configs 179 */ 180 public StatusCode refresh(CurrentLimitsConfigs configs, double timeoutSeconds) 181 { 182 StringBuilder serializedString = new StringBuilder(); 183 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 184 if (err == StatusCode.OK) { 185 /* Only deserialize if we successfully got configs */ 186 configs.deserialize(serializedString.toString()); 187 } 188 return err; 189 } 190 191 /** 192 * Applies the contents of the specified config to the device. 193 * <p> 194 * This will wait up to {@link #DefaultTimeoutSeconds}. 195 * <p> 196 * Call to apply the selected configs. 197 * 198 * @param configs Configs to apply against. 199 * @return StatusCode of the set command 200 */ 201 public StatusCode apply(CurrentLimitsConfigs configs) 202 { 203 return apply(configs, DefaultTimeoutSeconds); 204 } 205 206 /** 207 * Applies the contents of the specified config to the device. 208 * <p> 209 * Call to apply the selected configs. 210 * 211 * @param configs Configs to apply against. 212 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 213 * @return StatusCode of the set command 214 */ 215 public StatusCode apply(CurrentLimitsConfigs configs, double timeoutSeconds) 216 { 217 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 218 } 219 220 221 /** 222 * Refreshes the values of the specified config group. 223 * <p> 224 * This will wait up to {@link #DefaultTimeoutSeconds}. 225 * <p> 226 * Call to refresh the selected configs from the device. 227 * 228 * @param configs The configs to refresh 229 * @return StatusCode of refreshing the configs 230 */ 231 public StatusCode refresh(VoltageConfigs configs) 232 { 233 return refresh(configs, DefaultTimeoutSeconds); 234 } 235 236 /** 237 * Refreshes the values of the specified config group. 238 * <p> 239 * Call to refresh the selected configs from the device. 240 * 241 * @param configs The configs to refresh 242 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 243 * @return StatusCode of refreshing the configs 244 */ 245 public StatusCode refresh(VoltageConfigs configs, double timeoutSeconds) 246 { 247 StringBuilder serializedString = new StringBuilder(); 248 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 249 if (err == StatusCode.OK) { 250 /* Only deserialize if we successfully got configs */ 251 configs.deserialize(serializedString.toString()); 252 } 253 return err; 254 } 255 256 /** 257 * Applies the contents of the specified config to the device. 258 * <p> 259 * This will wait up to {@link #DefaultTimeoutSeconds}. 260 * <p> 261 * Call to apply the selected configs. 262 * 263 * @param configs Configs to apply against. 264 * @return StatusCode of the set command 265 */ 266 public StatusCode apply(VoltageConfigs configs) 267 { 268 return apply(configs, DefaultTimeoutSeconds); 269 } 270 271 /** 272 * Applies the contents of the specified config to the device. 273 * <p> 274 * Call to apply the selected configs. 275 * 276 * @param configs Configs to apply against. 277 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 278 * @return StatusCode of the set command 279 */ 280 public StatusCode apply(VoltageConfigs configs, double timeoutSeconds) 281 { 282 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 283 } 284 285 286 /** 287 * Refreshes the values of the specified config group. 288 * <p> 289 * This will wait up to {@link #DefaultTimeoutSeconds}. 290 * <p> 291 * Call to refresh the selected configs from the device. 292 * 293 * @param configs The configs to refresh 294 * @return StatusCode of refreshing the configs 295 */ 296 public StatusCode refresh(TorqueCurrentConfigs configs) 297 { 298 return refresh(configs, DefaultTimeoutSeconds); 299 } 300 301 /** 302 * Refreshes the values of the specified config group. 303 * <p> 304 * Call to refresh the selected configs from the device. 305 * 306 * @param configs The configs to refresh 307 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 308 * @return StatusCode of refreshing the configs 309 */ 310 public StatusCode refresh(TorqueCurrentConfigs configs, double timeoutSeconds) 311 { 312 StringBuilder serializedString = new StringBuilder(); 313 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 314 if (err == StatusCode.OK) { 315 /* Only deserialize if we successfully got configs */ 316 configs.deserialize(serializedString.toString()); 317 } 318 return err; 319 } 320 321 /** 322 * Applies the contents of the specified config to the device. 323 * <p> 324 * This will wait up to {@link #DefaultTimeoutSeconds}. 325 * <p> 326 * Call to apply the selected configs. 327 * 328 * @param configs Configs to apply against. 329 * @return StatusCode of the set command 330 */ 331 public StatusCode apply(TorqueCurrentConfigs configs) 332 { 333 return apply(configs, DefaultTimeoutSeconds); 334 } 335 336 /** 337 * Applies the contents of the specified config to the device. 338 * <p> 339 * Call to apply the selected configs. 340 * 341 * @param configs Configs to apply against. 342 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 343 * @return StatusCode of the set command 344 */ 345 public StatusCode apply(TorqueCurrentConfigs configs, double timeoutSeconds) 346 { 347 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 348 } 349 350 351 /** 352 * Refreshes the values of the specified config group. 353 * <p> 354 * This will wait up to {@link #DefaultTimeoutSeconds}. 355 * <p> 356 * Call to refresh the selected configs from the device. 357 * 358 * @param configs The configs to refresh 359 * @return StatusCode of refreshing the configs 360 */ 361 public StatusCode refresh(FeedbackConfigs configs) 362 { 363 return refresh(configs, DefaultTimeoutSeconds); 364 } 365 366 /** 367 * Refreshes the values of the specified config group. 368 * <p> 369 * Call to refresh the selected configs from the device. 370 * 371 * @param configs The configs to refresh 372 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 373 * @return StatusCode of refreshing the configs 374 */ 375 public StatusCode refresh(FeedbackConfigs configs, double timeoutSeconds) 376 { 377 StringBuilder serializedString = new StringBuilder(); 378 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 379 if (err == StatusCode.OK) { 380 /* Only deserialize if we successfully got configs */ 381 configs.deserialize(serializedString.toString()); 382 } 383 return err; 384 } 385 386 /** 387 * Applies the contents of the specified config to the device. 388 * <p> 389 * This will wait up to {@link #DefaultTimeoutSeconds}. 390 * <p> 391 * Call to apply the selected configs. 392 * 393 * @param configs Configs to apply against. 394 * @return StatusCode of the set command 395 */ 396 public StatusCode apply(FeedbackConfigs configs) 397 { 398 return apply(configs, DefaultTimeoutSeconds); 399 } 400 401 /** 402 * Applies the contents of the specified config to the device. 403 * <p> 404 * Call to apply the selected configs. 405 * 406 * @param configs Configs to apply against. 407 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 408 * @return StatusCode of the set command 409 */ 410 public StatusCode apply(FeedbackConfigs configs, double timeoutSeconds) 411 { 412 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 413 } 414 415 416 /** 417 * Refreshes the values of the specified config group. 418 * <p> 419 * This will wait up to {@link #DefaultTimeoutSeconds}. 420 * <p> 421 * Call to refresh the selected configs from the device. 422 * 423 * @param configs The configs to refresh 424 * @return StatusCode of refreshing the configs 425 */ 426 public StatusCode refresh(DifferentialSensorsConfigs configs) 427 { 428 return refresh(configs, DefaultTimeoutSeconds); 429 } 430 431 /** 432 * Refreshes the values of the specified config group. 433 * <p> 434 * Call to refresh the selected configs from the device. 435 * 436 * @param configs The configs to refresh 437 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 438 * @return StatusCode of refreshing the configs 439 */ 440 public StatusCode refresh(DifferentialSensorsConfigs configs, double timeoutSeconds) 441 { 442 StringBuilder serializedString = new StringBuilder(); 443 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 444 if (err == StatusCode.OK) { 445 /* Only deserialize if we successfully got configs */ 446 configs.deserialize(serializedString.toString()); 447 } 448 return err; 449 } 450 451 /** 452 * Applies the contents of the specified config to the device. 453 * <p> 454 * This will wait up to {@link #DefaultTimeoutSeconds}. 455 * <p> 456 * Call to apply the selected configs. 457 * 458 * @param configs Configs to apply against. 459 * @return StatusCode of the set command 460 */ 461 public StatusCode apply(DifferentialSensorsConfigs configs) 462 { 463 return apply(configs, DefaultTimeoutSeconds); 464 } 465 466 /** 467 * Applies the contents of the specified config to the device. 468 * <p> 469 * Call to apply the selected configs. 470 * 471 * @param configs Configs to apply against. 472 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 473 * @return StatusCode of the set command 474 */ 475 public StatusCode apply(DifferentialSensorsConfigs configs, double timeoutSeconds) 476 { 477 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 478 } 479 480 481 /** 482 * Refreshes the values of the specified config group. 483 * <p> 484 * This will wait up to {@link #DefaultTimeoutSeconds}. 485 * <p> 486 * Call to refresh the selected configs from the device. 487 * 488 * @param configs The configs to refresh 489 * @return StatusCode of refreshing the configs 490 */ 491 public StatusCode refresh(DifferentialConstantsConfigs configs) 492 { 493 return refresh(configs, DefaultTimeoutSeconds); 494 } 495 496 /** 497 * Refreshes the values of the specified config group. 498 * <p> 499 * Call to refresh the selected configs from the device. 500 * 501 * @param configs The configs to refresh 502 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 503 * @return StatusCode of refreshing the configs 504 */ 505 public StatusCode refresh(DifferentialConstantsConfigs configs, double timeoutSeconds) 506 { 507 StringBuilder serializedString = new StringBuilder(); 508 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 509 if (err == StatusCode.OK) { 510 /* Only deserialize if we successfully got configs */ 511 configs.deserialize(serializedString.toString()); 512 } 513 return err; 514 } 515 516 /** 517 * Applies the contents of the specified config to the device. 518 * <p> 519 * This will wait up to {@link #DefaultTimeoutSeconds}. 520 * <p> 521 * Call to apply the selected configs. 522 * 523 * @param configs Configs to apply against. 524 * @return StatusCode of the set command 525 */ 526 public StatusCode apply(DifferentialConstantsConfigs configs) 527 { 528 return apply(configs, DefaultTimeoutSeconds); 529 } 530 531 /** 532 * Applies the contents of the specified config to the device. 533 * <p> 534 * Call to apply the selected configs. 535 * 536 * @param configs Configs to apply against. 537 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 538 * @return StatusCode of the set command 539 */ 540 public StatusCode apply(DifferentialConstantsConfigs configs, double timeoutSeconds) 541 { 542 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 543 } 544 545 546 /** 547 * Refreshes the values of the specified config group. 548 * <p> 549 * This will wait up to {@link #DefaultTimeoutSeconds}. 550 * <p> 551 * Call to refresh the selected configs from the device. 552 * 553 * @param configs The configs to refresh 554 * @return StatusCode of refreshing the configs 555 */ 556 public StatusCode refresh(OpenLoopRampsConfigs configs) 557 { 558 return refresh(configs, DefaultTimeoutSeconds); 559 } 560 561 /** 562 * Refreshes the values of the specified config group. 563 * <p> 564 * Call to refresh the selected configs from the device. 565 * 566 * @param configs The configs to refresh 567 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 568 * @return StatusCode of refreshing the configs 569 */ 570 public StatusCode refresh(OpenLoopRampsConfigs configs, double timeoutSeconds) 571 { 572 StringBuilder serializedString = new StringBuilder(); 573 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 574 if (err == StatusCode.OK) { 575 /* Only deserialize if we successfully got configs */ 576 configs.deserialize(serializedString.toString()); 577 } 578 return err; 579 } 580 581 /** 582 * Applies the contents of the specified config to the device. 583 * <p> 584 * This will wait up to {@link #DefaultTimeoutSeconds}. 585 * <p> 586 * Call to apply the selected configs. 587 * 588 * @param configs Configs to apply against. 589 * @return StatusCode of the set command 590 */ 591 public StatusCode apply(OpenLoopRampsConfigs configs) 592 { 593 return apply(configs, DefaultTimeoutSeconds); 594 } 595 596 /** 597 * Applies the contents of the specified config to the device. 598 * <p> 599 * Call to apply the selected configs. 600 * 601 * @param configs Configs to apply against. 602 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 603 * @return StatusCode of the set command 604 */ 605 public StatusCode apply(OpenLoopRampsConfigs configs, double timeoutSeconds) 606 { 607 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 608 } 609 610 611 /** 612 * Refreshes the values of the specified config group. 613 * <p> 614 * This will wait up to {@link #DefaultTimeoutSeconds}. 615 * <p> 616 * Call to refresh the selected configs from the device. 617 * 618 * @param configs The configs to refresh 619 * @return StatusCode of refreshing the configs 620 */ 621 public StatusCode refresh(ClosedLoopRampsConfigs configs) 622 { 623 return refresh(configs, DefaultTimeoutSeconds); 624 } 625 626 /** 627 * Refreshes the values of the specified config group. 628 * <p> 629 * Call to refresh the selected configs from the device. 630 * 631 * @param configs The configs to refresh 632 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 633 * @return StatusCode of refreshing the configs 634 */ 635 public StatusCode refresh(ClosedLoopRampsConfigs configs, double timeoutSeconds) 636 { 637 StringBuilder serializedString = new StringBuilder(); 638 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 639 if (err == StatusCode.OK) { 640 /* Only deserialize if we successfully got configs */ 641 configs.deserialize(serializedString.toString()); 642 } 643 return err; 644 } 645 646 /** 647 * Applies the contents of the specified config to the device. 648 * <p> 649 * This will wait up to {@link #DefaultTimeoutSeconds}. 650 * <p> 651 * Call to apply the selected configs. 652 * 653 * @param configs Configs to apply against. 654 * @return StatusCode of the set command 655 */ 656 public StatusCode apply(ClosedLoopRampsConfigs configs) 657 { 658 return apply(configs, DefaultTimeoutSeconds); 659 } 660 661 /** 662 * Applies the contents of the specified config to the device. 663 * <p> 664 * Call to apply the selected configs. 665 * 666 * @param configs Configs to apply against. 667 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 668 * @return StatusCode of the set command 669 */ 670 public StatusCode apply(ClosedLoopRampsConfigs configs, double timeoutSeconds) 671 { 672 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 673 } 674 675 676 /** 677 * Refreshes the values of the specified config group. 678 * <p> 679 * This will wait up to {@link #DefaultTimeoutSeconds}. 680 * <p> 681 * Call to refresh the selected configs from the device. 682 * 683 * @param configs The configs to refresh 684 * @return StatusCode of refreshing the configs 685 */ 686 public StatusCode refresh(HardwareLimitSwitchConfigs configs) 687 { 688 return refresh(configs, DefaultTimeoutSeconds); 689 } 690 691 /** 692 * Refreshes the values of the specified config group. 693 * <p> 694 * Call to refresh the selected configs from the device. 695 * 696 * @param configs The configs to refresh 697 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 698 * @return StatusCode of refreshing the configs 699 */ 700 public StatusCode refresh(HardwareLimitSwitchConfigs configs, double timeoutSeconds) 701 { 702 StringBuilder serializedString = new StringBuilder(); 703 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 704 if (err == StatusCode.OK) { 705 /* Only deserialize if we successfully got configs */ 706 configs.deserialize(serializedString.toString()); 707 } 708 return err; 709 } 710 711 /** 712 * Applies the contents of the specified config to the device. 713 * <p> 714 * This will wait up to {@link #DefaultTimeoutSeconds}. 715 * <p> 716 * Call to apply the selected configs. 717 * 718 * @param configs Configs to apply against. 719 * @return StatusCode of the set command 720 */ 721 public StatusCode apply(HardwareLimitSwitchConfigs configs) 722 { 723 return apply(configs, DefaultTimeoutSeconds); 724 } 725 726 /** 727 * Applies the contents of the specified config to the device. 728 * <p> 729 * Call to apply the selected configs. 730 * 731 * @param configs Configs to apply against. 732 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 733 * @return StatusCode of the set command 734 */ 735 public StatusCode apply(HardwareLimitSwitchConfigs configs, double timeoutSeconds) 736 { 737 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 738 } 739 740 741 /** 742 * Refreshes the values of the specified config group. 743 * <p> 744 * This will wait up to {@link #DefaultTimeoutSeconds}. 745 * <p> 746 * Call to refresh the selected configs from the device. 747 * 748 * @param configs The configs to refresh 749 * @return StatusCode of refreshing the configs 750 */ 751 public StatusCode refresh(AudioConfigs configs) 752 { 753 return refresh(configs, DefaultTimeoutSeconds); 754 } 755 756 /** 757 * Refreshes the values of the specified config group. 758 * <p> 759 * Call to refresh the selected configs from the device. 760 * 761 * @param configs The configs to refresh 762 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 763 * @return StatusCode of refreshing the configs 764 */ 765 public StatusCode refresh(AudioConfigs configs, double timeoutSeconds) 766 { 767 StringBuilder serializedString = new StringBuilder(); 768 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 769 if (err == StatusCode.OK) { 770 /* Only deserialize if we successfully got configs */ 771 configs.deserialize(serializedString.toString()); 772 } 773 return err; 774 } 775 776 /** 777 * Applies the contents of the specified config to the device. 778 * <p> 779 * This will wait up to {@link #DefaultTimeoutSeconds}. 780 * <p> 781 * Call to apply the selected configs. 782 * 783 * @param configs Configs to apply against. 784 * @return StatusCode of the set command 785 */ 786 public StatusCode apply(AudioConfigs configs) 787 { 788 return apply(configs, DefaultTimeoutSeconds); 789 } 790 791 /** 792 * Applies the contents of the specified config to the device. 793 * <p> 794 * Call to apply the selected configs. 795 * 796 * @param configs Configs to apply against. 797 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 798 * @return StatusCode of the set command 799 */ 800 public StatusCode apply(AudioConfigs configs, double timeoutSeconds) 801 { 802 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 803 } 804 805 806 /** 807 * Refreshes the values of the specified config group. 808 * <p> 809 * This will wait up to {@link #DefaultTimeoutSeconds}. 810 * <p> 811 * Call to refresh the selected configs from the device. 812 * 813 * @param configs The configs to refresh 814 * @return StatusCode of refreshing the configs 815 */ 816 public StatusCode refresh(SoftwareLimitSwitchConfigs configs) 817 { 818 return refresh(configs, DefaultTimeoutSeconds); 819 } 820 821 /** 822 * Refreshes the values of the specified config group. 823 * <p> 824 * Call to refresh the selected configs from the device. 825 * 826 * @param configs The configs to refresh 827 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 828 * @return StatusCode of refreshing the configs 829 */ 830 public StatusCode refresh(SoftwareLimitSwitchConfigs configs, double timeoutSeconds) 831 { 832 StringBuilder serializedString = new StringBuilder(); 833 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 834 if (err == StatusCode.OK) { 835 /* Only deserialize if we successfully got configs */ 836 configs.deserialize(serializedString.toString()); 837 } 838 return err; 839 } 840 841 /** 842 * Applies the contents of the specified config to the device. 843 * <p> 844 * This will wait up to {@link #DefaultTimeoutSeconds}. 845 * <p> 846 * Call to apply the selected configs. 847 * 848 * @param configs Configs to apply against. 849 * @return StatusCode of the set command 850 */ 851 public StatusCode apply(SoftwareLimitSwitchConfigs configs) 852 { 853 return apply(configs, DefaultTimeoutSeconds); 854 } 855 856 /** 857 * Applies the contents of the specified config to the device. 858 * <p> 859 * Call to apply the selected configs. 860 * 861 * @param configs Configs to apply against. 862 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 863 * @return StatusCode of the set command 864 */ 865 public StatusCode apply(SoftwareLimitSwitchConfigs configs, double timeoutSeconds) 866 { 867 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 868 } 869 870 871 /** 872 * Refreshes the values of the specified config group. 873 * <p> 874 * This will wait up to {@link #DefaultTimeoutSeconds}. 875 * <p> 876 * Call to refresh the selected configs from the device. 877 * 878 * @param configs The configs to refresh 879 * @return StatusCode of refreshing the configs 880 */ 881 public StatusCode refresh(MotionMagicConfigs configs) 882 { 883 return refresh(configs, DefaultTimeoutSeconds); 884 } 885 886 /** 887 * Refreshes the values of the specified config group. 888 * <p> 889 * Call to refresh the selected configs from the device. 890 * 891 * @param configs The configs to refresh 892 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 893 * @return StatusCode of refreshing the configs 894 */ 895 public StatusCode refresh(MotionMagicConfigs configs, double timeoutSeconds) 896 { 897 StringBuilder serializedString = new StringBuilder(); 898 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 899 if (err == StatusCode.OK) { 900 /* Only deserialize if we successfully got configs */ 901 configs.deserialize(serializedString.toString()); 902 } 903 return err; 904 } 905 906 /** 907 * Applies the contents of the specified config to the device. 908 * <p> 909 * This will wait up to {@link #DefaultTimeoutSeconds}. 910 * <p> 911 * Call to apply the selected configs. 912 * 913 * @param configs Configs to apply against. 914 * @return StatusCode of the set command 915 */ 916 public StatusCode apply(MotionMagicConfigs configs) 917 { 918 return apply(configs, DefaultTimeoutSeconds); 919 } 920 921 /** 922 * Applies the contents of the specified config to the device. 923 * <p> 924 * Call to apply the selected configs. 925 * 926 * @param configs Configs to apply against. 927 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 928 * @return StatusCode of the set command 929 */ 930 public StatusCode apply(MotionMagicConfigs configs, double timeoutSeconds) 931 { 932 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 933 } 934 935 936 /** 937 * Refreshes the values of the specified config group. 938 * <p> 939 * This will wait up to {@link #DefaultTimeoutSeconds}. 940 * <p> 941 * Call to refresh the selected configs from the device. 942 * 943 * @param configs The configs to refresh 944 * @return StatusCode of refreshing the configs 945 */ 946 public StatusCode refresh(CustomParamsConfigs configs) 947 { 948 return refresh(configs, DefaultTimeoutSeconds); 949 } 950 951 /** 952 * Refreshes the values of the specified config group. 953 * <p> 954 * Call to refresh the selected configs from the device. 955 * 956 * @param configs The configs to refresh 957 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 958 * @return StatusCode of refreshing the configs 959 */ 960 public StatusCode refresh(CustomParamsConfigs configs, double timeoutSeconds) 961 { 962 StringBuilder serializedString = new StringBuilder(); 963 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 964 if (err == StatusCode.OK) { 965 /* Only deserialize if we successfully got configs */ 966 configs.deserialize(serializedString.toString()); 967 } 968 return err; 969 } 970 971 /** 972 * Applies the contents of the specified config to the device. 973 * <p> 974 * This will wait up to {@link #DefaultTimeoutSeconds}. 975 * <p> 976 * Call to apply the selected configs. 977 * 978 * @param configs Configs to apply against. 979 * @return StatusCode of the set command 980 */ 981 public StatusCode apply(CustomParamsConfigs configs) 982 { 983 return apply(configs, DefaultTimeoutSeconds); 984 } 985 986 /** 987 * Applies the contents of the specified config to the device. 988 * <p> 989 * Call to apply the selected configs. 990 * 991 * @param configs Configs to apply against. 992 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 993 * @return StatusCode of the set command 994 */ 995 public StatusCode apply(CustomParamsConfigs configs, double timeoutSeconds) 996 { 997 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 998 } 999 1000 1001 /** 1002 * Refreshes the values of the specified config group. 1003 * <p> 1004 * This will wait up to {@link #DefaultTimeoutSeconds}. 1005 * <p> 1006 * Call to refresh the selected configs from the device. 1007 * 1008 * @param configs The configs to refresh 1009 * @return StatusCode of refreshing the configs 1010 */ 1011 public StatusCode refresh(ClosedLoopGeneralConfigs configs) 1012 { 1013 return refresh(configs, DefaultTimeoutSeconds); 1014 } 1015 1016 /** 1017 * Refreshes the values of the specified config group. 1018 * <p> 1019 * Call to refresh the selected configs from the device. 1020 * 1021 * @param configs The configs to refresh 1022 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1023 * @return StatusCode of refreshing the configs 1024 */ 1025 public StatusCode refresh(ClosedLoopGeneralConfigs configs, double timeoutSeconds) 1026 { 1027 StringBuilder serializedString = new StringBuilder(); 1028 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 1029 if (err == StatusCode.OK) { 1030 /* Only deserialize if we successfully got configs */ 1031 configs.deserialize(serializedString.toString()); 1032 } 1033 return err; 1034 } 1035 1036 /** 1037 * Applies the contents of the specified config to the device. 1038 * <p> 1039 * This will wait up to {@link #DefaultTimeoutSeconds}. 1040 * <p> 1041 * Call to apply the selected configs. 1042 * 1043 * @param configs Configs to apply against. 1044 * @return StatusCode of the set command 1045 */ 1046 public StatusCode apply(ClosedLoopGeneralConfigs configs) 1047 { 1048 return apply(configs, DefaultTimeoutSeconds); 1049 } 1050 1051 /** 1052 * Applies the contents of the specified config to the device. 1053 * <p> 1054 * Call to apply the selected configs. 1055 * 1056 * @param configs Configs to apply against. 1057 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1058 * @return StatusCode of the set command 1059 */ 1060 public StatusCode apply(ClosedLoopGeneralConfigs configs, double timeoutSeconds) 1061 { 1062 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 1063 } 1064 1065 1066 /** 1067 * Refreshes the values of the specified config group. 1068 * <p> 1069 * This will wait up to {@link #DefaultTimeoutSeconds}. 1070 * <p> 1071 * Call to refresh the selected configs from the device. 1072 * 1073 * @param configs The configs to refresh 1074 * @return StatusCode of refreshing the configs 1075 */ 1076 public StatusCode refresh(Slot0Configs configs) 1077 { 1078 return refresh(configs, DefaultTimeoutSeconds); 1079 } 1080 1081 /** 1082 * Refreshes the values of the specified config group. 1083 * <p> 1084 * Call to refresh the selected configs from the device. 1085 * 1086 * @param configs The configs to refresh 1087 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1088 * @return StatusCode of refreshing the configs 1089 */ 1090 public StatusCode refresh(Slot0Configs configs, double timeoutSeconds) 1091 { 1092 StringBuilder serializedString = new StringBuilder(); 1093 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 1094 if (err == StatusCode.OK) { 1095 /* Only deserialize if we successfully got configs */ 1096 configs.deserialize(serializedString.toString()); 1097 } 1098 return err; 1099 } 1100 1101 /** 1102 * Applies the contents of the specified config to the device. 1103 * <p> 1104 * This will wait up to {@link #DefaultTimeoutSeconds}. 1105 * <p> 1106 * Call to apply the selected configs. 1107 * 1108 * @param configs Configs to apply against. 1109 * @return StatusCode of the set command 1110 */ 1111 public StatusCode apply(Slot0Configs configs) 1112 { 1113 return apply(configs, DefaultTimeoutSeconds); 1114 } 1115 1116 /** 1117 * Applies the contents of the specified config to the device. 1118 * <p> 1119 * Call to apply the selected configs. 1120 * 1121 * @param configs Configs to apply against. 1122 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1123 * @return StatusCode of the set command 1124 */ 1125 public StatusCode apply(Slot0Configs configs, double timeoutSeconds) 1126 { 1127 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 1128 } 1129 1130 1131 /** 1132 * Refreshes the values of the specified config group. 1133 * <p> 1134 * This will wait up to {@link #DefaultTimeoutSeconds}. 1135 * <p> 1136 * Call to refresh the selected configs from the device. 1137 * 1138 * @param configs The configs to refresh 1139 * @return StatusCode of refreshing the configs 1140 */ 1141 public StatusCode refresh(Slot1Configs configs) 1142 { 1143 return refresh(configs, DefaultTimeoutSeconds); 1144 } 1145 1146 /** 1147 * Refreshes the values of the specified config group. 1148 * <p> 1149 * Call to refresh the selected configs from the device. 1150 * 1151 * @param configs The configs to refresh 1152 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1153 * @return StatusCode of refreshing the configs 1154 */ 1155 public StatusCode refresh(Slot1Configs configs, double timeoutSeconds) 1156 { 1157 StringBuilder serializedString = new StringBuilder(); 1158 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 1159 if (err == StatusCode.OK) { 1160 /* Only deserialize if we successfully got configs */ 1161 configs.deserialize(serializedString.toString()); 1162 } 1163 return err; 1164 } 1165 1166 /** 1167 * Applies the contents of the specified config to the device. 1168 * <p> 1169 * This will wait up to {@link #DefaultTimeoutSeconds}. 1170 * <p> 1171 * Call to apply the selected configs. 1172 * 1173 * @param configs Configs to apply against. 1174 * @return StatusCode of the set command 1175 */ 1176 public StatusCode apply(Slot1Configs configs) 1177 { 1178 return apply(configs, DefaultTimeoutSeconds); 1179 } 1180 1181 /** 1182 * Applies the contents of the specified config to the device. 1183 * <p> 1184 * Call to apply the selected configs. 1185 * 1186 * @param configs Configs to apply against. 1187 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1188 * @return StatusCode of the set command 1189 */ 1190 public StatusCode apply(Slot1Configs configs, double timeoutSeconds) 1191 { 1192 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 1193 } 1194 1195 1196 /** 1197 * Refreshes the values of the specified config group. 1198 * <p> 1199 * This will wait up to {@link #DefaultTimeoutSeconds}. 1200 * <p> 1201 * Call to refresh the selected configs from the device. 1202 * 1203 * @param configs The configs to refresh 1204 * @return StatusCode of refreshing the configs 1205 */ 1206 public StatusCode refresh(Slot2Configs configs) 1207 { 1208 return refresh(configs, DefaultTimeoutSeconds); 1209 } 1210 1211 /** 1212 * Refreshes the values of the specified config group. 1213 * <p> 1214 * Call to refresh the selected configs from the device. 1215 * 1216 * @param configs The configs to refresh 1217 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1218 * @return StatusCode of refreshing the configs 1219 */ 1220 public StatusCode refresh(Slot2Configs configs, double timeoutSeconds) 1221 { 1222 StringBuilder serializedString = new StringBuilder(); 1223 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 1224 if (err == StatusCode.OK) { 1225 /* Only deserialize if we successfully got configs */ 1226 configs.deserialize(serializedString.toString()); 1227 } 1228 return err; 1229 } 1230 1231 /** 1232 * Applies the contents of the specified config to the device. 1233 * <p> 1234 * This will wait up to {@link #DefaultTimeoutSeconds}. 1235 * <p> 1236 * Call to apply the selected configs. 1237 * 1238 * @param configs Configs to apply against. 1239 * @return StatusCode of the set command 1240 */ 1241 public StatusCode apply(Slot2Configs configs) 1242 { 1243 return apply(configs, DefaultTimeoutSeconds); 1244 } 1245 1246 /** 1247 * Applies the contents of the specified config to the device. 1248 * <p> 1249 * Call to apply the selected configs. 1250 * 1251 * @param configs Configs to apply against. 1252 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1253 * @return StatusCode of the set command 1254 */ 1255 public StatusCode apply(Slot2Configs configs, double timeoutSeconds) 1256 { 1257 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 1258 } 1259 1260 1261 /** 1262 * Refreshes the values of the specified config group. 1263 * <p> 1264 * This will wait up to {@link #DefaultTimeoutSeconds}. 1265 * <p> 1266 * Call to refresh the selected configs from the device. 1267 * 1268 * @param configs The configs to refresh 1269 * @return StatusCode of refreshing the configs 1270 */ 1271 public StatusCode refresh(SlotConfigs configs) 1272 { 1273 return refresh(configs, DefaultTimeoutSeconds); 1274 } 1275 1276 /** 1277 * Refreshes the values of the specified config group. 1278 * <p> 1279 * Call to refresh the selected configs from the device. 1280 * 1281 * @param configs The configs to refresh 1282 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1283 * @return StatusCode of refreshing the configs 1284 */ 1285 public StatusCode refresh(SlotConfigs configs, double timeoutSeconds) 1286 { 1287 StringBuilder serializedString = new StringBuilder(); 1288 StatusCode err = getConfigsPrivate(serializedString, timeoutSeconds); 1289 if (err == StatusCode.OK) { 1290 /* Only deserialize if we successfully got configs */ 1291 configs.deserialize(serializedString.toString()); 1292 } 1293 return err; 1294 } 1295 1296 /** 1297 * Applies the contents of the specified config to the device. 1298 * <p> 1299 * This will wait up to {@link #DefaultTimeoutSeconds}. 1300 * <p> 1301 * Call to apply the selected configs. 1302 * 1303 * @param configs Configs to apply against. 1304 * @return StatusCode of the set command 1305 */ 1306 public StatusCode apply(SlotConfigs configs) 1307 { 1308 return apply(configs, DefaultTimeoutSeconds); 1309 } 1310 1311 /** 1312 * Applies the contents of the specified config to the device. 1313 * <p> 1314 * Call to apply the selected configs. 1315 * 1316 * @param configs Configs to apply against. 1317 * @param timeoutSeconds Maximum amount of time to wait when performing configuration 1318 * @return StatusCode of the set command 1319 */ 1320 public StatusCode apply(SlotConfigs configs, double timeoutSeconds) 1321 { 1322 return setConfigsPrivate(configs.serialize(), timeoutSeconds, false, false); 1323 } 1324 1325 1326 /** 1327 * Sets the mechanism position of the device in mechanism rotations. 1328 * <p> 1329 * This will wait up to {@link #DefaultTimeoutSeconds}. 1330 * <p> 1331 * This is available in the configurator in case the user wants 1332 * to initialize their device entirely without passing a device 1333 * reference down to the code that performs the initialization. 1334 * In this case, the user passes down the configurator object 1335 * and performs all the initialization code on the object. 1336 * 1337 * @param newValue Value to set to. Units are in rotations. 1338 * @return StatusCode of the set command 1339 */ 1340 public StatusCode setPosition(double newValue) { 1341 return setPosition(newValue, DefaultTimeoutSeconds); 1342 } 1343 /** 1344 * Sets the mechanism position of the device in mechanism rotations. 1345 * <p> 1346 * This is available in the configurator in case the user wants 1347 * to initialize their device entirely without passing a device 1348 * reference down to the code that performs the initialization. 1349 * In this case, the user passes down the configurator object 1350 * and performs all the initialization code on the object. 1351 * 1352 * @param newValue Value to set to. Units are in rotations. 1353 * @param timeoutSeconds Maximum time to wait up to in seconds. 1354 * @return StatusCode of the set command 1355 */ 1356 public StatusCode setPosition(double newValue, double timeoutSeconds) { 1357 String serialized = ConfigJNI.Serializedouble(SpnValue.TalonFX_SetSensorPosition.value, newValue); 1358 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1359 } 1360 1361 /** 1362 * Clear the sticky faults in the device. 1363 * <p> 1364 * This typically has no impact on the device functionality. Instead, 1365 * it just clears telemetry faults that are accessible via API and 1366 * Tuner Self-Test. 1367 * <p> 1368 * This will wait up to {@link #DefaultTimeoutSeconds}. 1369 * <p> 1370 * This is available in the configurator in case the user wants 1371 * to initialize their device entirely without passing a device 1372 * reference down to the code that performs the initialization. 1373 * In this case, the user passes down the configurator object 1374 * and performs all the initialization code on the object. 1375 * 1376 * @return StatusCode of the set command 1377 */ 1378 public StatusCode clearStickyFaults() { 1379 return clearStickyFaults(DefaultTimeoutSeconds); 1380 } 1381 /** 1382 * Clear the sticky faults in the device. 1383 * <p> 1384 * This typically has no impact on the device functionality. Instead, 1385 * it just clears telemetry faults that are accessible via API and 1386 * Tuner Self-Test. 1387 * <p> 1388 * This is available in the configurator in case the user wants 1389 * to initialize their device entirely without passing a device 1390 * reference down to the code that performs the initialization. 1391 * In this case, the user passes down the configurator object 1392 * and performs all the initialization code on the object. 1393 * 1394 * @param timeoutSeconds Maximum time to wait up to in seconds. 1395 * @return StatusCode of the set command 1396 */ 1397 public StatusCode clearStickyFaults(double timeoutSeconds) { 1398 String serialized = ConfigJNI.Serializedouble(SpnValue.SPN_ClearStickyFaults.value, 0); 1399 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1400 } 1401 1402 /** 1403 * Clear sticky fault: Hardware fault occurred 1404 * <p> 1405 * This will wait up to {@link #DefaultTimeoutSeconds}. 1406 * <p> 1407 * This is available in the configurator in case the user wants 1408 * to initialize their device entirely without passing a device 1409 * reference down to the code that performs the initialization. 1410 * In this case, the user passes down the configurator object 1411 * and performs all the initialization code on the object. 1412 * 1413 * @return StatusCode of the set command 1414 */ 1415 public StatusCode clearStickyFault_Hardware() { 1416 return clearStickyFault_Hardware(DefaultTimeoutSeconds); 1417 } 1418 /** 1419 * Clear sticky fault: Hardware fault occurred 1420 * <p> 1421 * This is available in the configurator in case the user wants 1422 * to initialize their device entirely without passing a device 1423 * reference down to the code that performs the initialization. 1424 * In this case, the user passes down the configurator object 1425 * and performs all the initialization code on the object. 1426 * 1427 * @param timeoutSeconds Maximum time to wait up to in seconds. 1428 * @return StatusCode of the set command 1429 */ 1430 public StatusCode clearStickyFault_Hardware(double timeoutSeconds) { 1431 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_Hardware.value, 0); 1432 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1433 } 1434 1435 /** 1436 * Clear sticky fault: Processor temperature exceeded limit 1437 * <p> 1438 * This will wait up to {@link #DefaultTimeoutSeconds}. 1439 * <p> 1440 * This is available in the configurator in case the user wants 1441 * to initialize their device entirely without passing a device 1442 * reference down to the code that performs the initialization. 1443 * In this case, the user passes down the configurator object 1444 * and performs all the initialization code on the object. 1445 * 1446 * @return StatusCode of the set command 1447 */ 1448 public StatusCode clearStickyFault_ProcTemp() { 1449 return clearStickyFault_ProcTemp(DefaultTimeoutSeconds); 1450 } 1451 /** 1452 * Clear sticky fault: Processor temperature exceeded limit 1453 * <p> 1454 * This is available in the configurator in case the user wants 1455 * to initialize their device entirely without passing a device 1456 * reference down to the code that performs the initialization. 1457 * In this case, the user passes down the configurator object 1458 * and performs all the initialization code on the object. 1459 * 1460 * @param timeoutSeconds Maximum time to wait up to in seconds. 1461 * @return StatusCode of the set command 1462 */ 1463 public StatusCode clearStickyFault_ProcTemp(double timeoutSeconds) { 1464 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_ProcTemp.value, 0); 1465 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1466 } 1467 1468 /** 1469 * Clear sticky fault: Device temperature exceeded limit 1470 * <p> 1471 * This will wait up to {@link #DefaultTimeoutSeconds}. 1472 * <p> 1473 * This is available in the configurator in case the user wants 1474 * to initialize their device entirely without passing a device 1475 * reference down to the code that performs the initialization. 1476 * In this case, the user passes down the configurator object 1477 * and performs all the initialization code on the object. 1478 * 1479 * @return StatusCode of the set command 1480 */ 1481 public StatusCode clearStickyFault_DeviceTemp() { 1482 return clearStickyFault_DeviceTemp(DefaultTimeoutSeconds); 1483 } 1484 /** 1485 * Clear sticky fault: Device temperature exceeded limit 1486 * <p> 1487 * This is available in the configurator in case the user wants 1488 * to initialize their device entirely without passing a device 1489 * reference down to the code that performs the initialization. 1490 * In this case, the user passes down the configurator object 1491 * and performs all the initialization code on the object. 1492 * 1493 * @param timeoutSeconds Maximum time to wait up to in seconds. 1494 * @return StatusCode of the set command 1495 */ 1496 public StatusCode clearStickyFault_DeviceTemp(double timeoutSeconds) { 1497 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_DeviceTemp.value, 0); 1498 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1499 } 1500 1501 /** 1502 * Clear sticky fault: Device supply voltage dropped to near brownout 1503 * levels 1504 * <p> 1505 * This will wait up to {@link #DefaultTimeoutSeconds}. 1506 * <p> 1507 * This is available in the configurator in case the user wants 1508 * to initialize their device entirely without passing a device 1509 * reference down to the code that performs the initialization. 1510 * In this case, the user passes down the configurator object 1511 * and performs all the initialization code on the object. 1512 * 1513 * @return StatusCode of the set command 1514 */ 1515 public StatusCode clearStickyFault_Undervoltage() { 1516 return clearStickyFault_Undervoltage(DefaultTimeoutSeconds); 1517 } 1518 /** 1519 * Clear sticky fault: Device supply voltage dropped to near brownout 1520 * levels 1521 * <p> 1522 * This is available in the configurator in case the user wants 1523 * to initialize their device entirely without passing a device 1524 * reference down to the code that performs the initialization. 1525 * In this case, the user passes down the configurator object 1526 * and performs all the initialization code on the object. 1527 * 1528 * @param timeoutSeconds Maximum time to wait up to in seconds. 1529 * @return StatusCode of the set command 1530 */ 1531 public StatusCode clearStickyFault_Undervoltage(double timeoutSeconds) { 1532 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_Undervoltage.value, 0); 1533 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1534 } 1535 1536 /** 1537 * Clear sticky fault: Device boot while detecting the enable signal 1538 * <p> 1539 * This will wait up to {@link #DefaultTimeoutSeconds}. 1540 * <p> 1541 * This is available in the configurator in case the user wants 1542 * to initialize their device entirely without passing a device 1543 * reference down to the code that performs the initialization. 1544 * In this case, the user passes down the configurator object 1545 * and performs all the initialization code on the object. 1546 * 1547 * @return StatusCode of the set command 1548 */ 1549 public StatusCode clearStickyFault_BootDuringEnable() { 1550 return clearStickyFault_BootDuringEnable(DefaultTimeoutSeconds); 1551 } 1552 /** 1553 * Clear sticky fault: Device boot while detecting the enable signal 1554 * <p> 1555 * This is available in the configurator in case the user wants 1556 * to initialize their device entirely without passing a device 1557 * reference down to the code that performs the initialization. 1558 * In this case, the user passes down the configurator object 1559 * and performs all the initialization code on the object. 1560 * 1561 * @param timeoutSeconds Maximum time to wait up to in seconds. 1562 * @return StatusCode of the set command 1563 */ 1564 public StatusCode clearStickyFault_BootDuringEnable(double timeoutSeconds) { 1565 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_BootDuringEnable.value, 0); 1566 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1567 } 1568 1569 /** 1570 * Clear sticky fault: Bridge was disabled most likely due to supply 1571 * voltage dropping too low. 1572 * <p> 1573 * This will wait up to {@link #DefaultTimeoutSeconds}. 1574 * <p> 1575 * This is available in the configurator in case the user wants 1576 * to initialize their device entirely without passing a device 1577 * reference down to the code that performs the initialization. 1578 * In this case, the user passes down the configurator object 1579 * and performs all the initialization code on the object. 1580 * 1581 * @return StatusCode of the set command 1582 */ 1583 public StatusCode clearStickyFault_BridgeBrownout() { 1584 return clearStickyFault_BridgeBrownout(DefaultTimeoutSeconds); 1585 } 1586 /** 1587 * Clear sticky fault: Bridge was disabled most likely due to supply 1588 * voltage dropping too low. 1589 * <p> 1590 * This is available in the configurator in case the user wants 1591 * to initialize their device entirely without passing a device 1592 * reference down to the code that performs the initialization. 1593 * In this case, the user passes down the configurator object 1594 * and performs all the initialization code on the object. 1595 * 1596 * @param timeoutSeconds Maximum time to wait up to in seconds. 1597 * @return StatusCode of the set command 1598 */ 1599 public StatusCode clearStickyFault_BridgeBrownout(double timeoutSeconds) { 1600 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_BridgeBrownout.value, 0); 1601 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1602 } 1603 1604 /** 1605 * Clear sticky fault: The remote sensor has reset. 1606 * <p> 1607 * This will wait up to {@link #DefaultTimeoutSeconds}. 1608 * <p> 1609 * This is available in the configurator in case the user wants 1610 * to initialize their device entirely without passing a device 1611 * reference down to the code that performs the initialization. 1612 * In this case, the user passes down the configurator object 1613 * and performs all the initialization code on the object. 1614 * 1615 * @return StatusCode of the set command 1616 */ 1617 public StatusCode clearStickyFault_RemoteSensorReset() { 1618 return clearStickyFault_RemoteSensorReset(DefaultTimeoutSeconds); 1619 } 1620 /** 1621 * Clear sticky fault: The remote sensor has reset. 1622 * <p> 1623 * This is available in the configurator in case the user wants 1624 * to initialize their device entirely without passing a device 1625 * reference down to the code that performs the initialization. 1626 * In this case, the user passes down the configurator object 1627 * and performs all the initialization code on the object. 1628 * 1629 * @param timeoutSeconds Maximum time to wait up to in seconds. 1630 * @return StatusCode of the set command 1631 */ 1632 public StatusCode clearStickyFault_RemoteSensorReset(double timeoutSeconds) { 1633 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_RemoteSensorReset.value, 0); 1634 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1635 } 1636 1637 /** 1638 * Clear sticky fault: The remote Talon FX used for differential 1639 * control is not present on CAN Bus. 1640 * <p> 1641 * This will wait up to {@link #DefaultTimeoutSeconds}. 1642 * <p> 1643 * This is available in the configurator in case the user wants 1644 * to initialize their device entirely without passing a device 1645 * reference down to the code that performs the initialization. 1646 * In this case, the user passes down the configurator object 1647 * and performs all the initialization code on the object. 1648 * 1649 * @return StatusCode of the set command 1650 */ 1651 public StatusCode clearStickyFault_MissingDifferentialFX() { 1652 return clearStickyFault_MissingDifferentialFX(DefaultTimeoutSeconds); 1653 } 1654 /** 1655 * Clear sticky fault: The remote Talon FX used for differential 1656 * control is not present on CAN Bus. 1657 * <p> 1658 * This is available in the configurator in case the user wants 1659 * to initialize their device entirely without passing a device 1660 * reference down to the code that performs the initialization. 1661 * In this case, the user passes down the configurator object 1662 * and performs all the initialization code on the object. 1663 * 1664 * @param timeoutSeconds Maximum time to wait up to in seconds. 1665 * @return StatusCode of the set command 1666 */ 1667 public StatusCode clearStickyFault_MissingDifferentialFX(double timeoutSeconds) { 1668 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_MissingDifferentialFX.value, 0); 1669 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1670 } 1671 1672 /** 1673 * Clear sticky fault: The remote sensor position has overflowed. 1674 * Because of the nature of remote sensors, it is possible for the 1675 * remote sensor position to overflow beyond what is supported by the 1676 * status signal frame. However, this is rare and cannot occur over 1677 * the course of an FRC match under normal use. 1678 * <p> 1679 * This will wait up to {@link #DefaultTimeoutSeconds}. 1680 * <p> 1681 * This is available in the configurator in case the user wants 1682 * to initialize their device entirely without passing a device 1683 * reference down to the code that performs the initialization. 1684 * In this case, the user passes down the configurator object 1685 * and performs all the initialization code on the object. 1686 * 1687 * @return StatusCode of the set command 1688 */ 1689 public StatusCode clearStickyFault_RemoteSensorPosOverflow() { 1690 return clearStickyFault_RemoteSensorPosOverflow(DefaultTimeoutSeconds); 1691 } 1692 /** 1693 * Clear sticky fault: The remote sensor position has overflowed. 1694 * Because of the nature of remote sensors, it is possible for the 1695 * remote sensor position to overflow beyond what is supported by the 1696 * status signal frame. However, this is rare and cannot occur over 1697 * the course of an FRC match under normal use. 1698 * <p> 1699 * This is available in the configurator in case the user wants 1700 * to initialize their device entirely without passing a device 1701 * reference down to the code that performs the initialization. 1702 * In this case, the user passes down the configurator object 1703 * and performs all the initialization code on the object. 1704 * 1705 * @param timeoutSeconds Maximum time to wait up to in seconds. 1706 * @return StatusCode of the set command 1707 */ 1708 public StatusCode clearStickyFault_RemoteSensorPosOverflow(double timeoutSeconds) { 1709 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_RemoteSensorPosOverflow.value, 0); 1710 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1711 } 1712 1713 /** 1714 * Clear sticky fault: Supply Voltage has exceeded the maximum voltage 1715 * rating of device. 1716 * <p> 1717 * This will wait up to {@link #DefaultTimeoutSeconds}. 1718 * <p> 1719 * This is available in the configurator in case the user wants 1720 * to initialize their device entirely without passing a device 1721 * reference down to the code that performs the initialization. 1722 * In this case, the user passes down the configurator object 1723 * and performs all the initialization code on the object. 1724 * 1725 * @return StatusCode of the set command 1726 */ 1727 public StatusCode clearStickyFault_OverSupplyV() { 1728 return clearStickyFault_OverSupplyV(DefaultTimeoutSeconds); 1729 } 1730 /** 1731 * Clear sticky fault: Supply Voltage has exceeded the maximum voltage 1732 * rating of device. 1733 * <p> 1734 * This is available in the configurator in case the user wants 1735 * to initialize their device entirely without passing a device 1736 * reference down to the code that performs the initialization. 1737 * In this case, the user passes down the configurator object 1738 * and performs all the initialization code on the object. 1739 * 1740 * @param timeoutSeconds Maximum time to wait up to in seconds. 1741 * @return StatusCode of the set command 1742 */ 1743 public StatusCode clearStickyFault_OverSupplyV(double timeoutSeconds) { 1744 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_OverSupplyV.value, 0); 1745 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1746 } 1747 1748 /** 1749 * Clear sticky fault: Supply Voltage is unstable. Ensure you are 1750 * using a battery and current limited power supply. 1751 * <p> 1752 * This will wait up to {@link #DefaultTimeoutSeconds}. 1753 * <p> 1754 * This is available in the configurator in case the user wants 1755 * to initialize their device entirely without passing a device 1756 * reference down to the code that performs the initialization. 1757 * In this case, the user passes down the configurator object 1758 * and performs all the initialization code on the object. 1759 * 1760 * @return StatusCode of the set command 1761 */ 1762 public StatusCode clearStickyFault_UnstableSupplyV() { 1763 return clearStickyFault_UnstableSupplyV(DefaultTimeoutSeconds); 1764 } 1765 /** 1766 * Clear sticky fault: Supply Voltage is unstable. Ensure you are 1767 * using a battery and current limited power supply. 1768 * <p> 1769 * This is available in the configurator in case the user wants 1770 * to initialize their device entirely without passing a device 1771 * reference down to the code that performs the initialization. 1772 * In this case, the user passes down the configurator object 1773 * and performs all the initialization code on the object. 1774 * 1775 * @param timeoutSeconds Maximum time to wait up to in seconds. 1776 * @return StatusCode of the set command 1777 */ 1778 public StatusCode clearStickyFault_UnstableSupplyV(double timeoutSeconds) { 1779 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_UnstableSupplyV.value, 0); 1780 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1781 } 1782 1783 /** 1784 * Clear sticky fault: Reverse limit switch has been asserted. Output 1785 * is set to neutral. 1786 * <p> 1787 * This will wait up to {@link #DefaultTimeoutSeconds}. 1788 * <p> 1789 * This is available in the configurator in case the user wants 1790 * to initialize their device entirely without passing a device 1791 * reference down to the code that performs the initialization. 1792 * In this case, the user passes down the configurator object 1793 * and performs all the initialization code on the object. 1794 * 1795 * @return StatusCode of the set command 1796 */ 1797 public StatusCode clearStickyFault_ReverseHardLimit() { 1798 return clearStickyFault_ReverseHardLimit(DefaultTimeoutSeconds); 1799 } 1800 /** 1801 * Clear sticky fault: Reverse limit switch has been asserted. Output 1802 * is set to neutral. 1803 * <p> 1804 * This is available in the configurator in case the user wants 1805 * to initialize their device entirely without passing a device 1806 * reference down to the code that performs the initialization. 1807 * In this case, the user passes down the configurator object 1808 * and performs all the initialization code on the object. 1809 * 1810 * @param timeoutSeconds Maximum time to wait up to in seconds. 1811 * @return StatusCode of the set command 1812 */ 1813 public StatusCode clearStickyFault_ReverseHardLimit(double timeoutSeconds) { 1814 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_ReverseHardLimit.value, 0); 1815 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1816 } 1817 1818 /** 1819 * Clear sticky fault: Forward limit switch has been asserted. Output 1820 * is set to neutral. 1821 * <p> 1822 * This will wait up to {@link #DefaultTimeoutSeconds}. 1823 * <p> 1824 * This is available in the configurator in case the user wants 1825 * to initialize their device entirely without passing a device 1826 * reference down to the code that performs the initialization. 1827 * In this case, the user passes down the configurator object 1828 * and performs all the initialization code on the object. 1829 * 1830 * @return StatusCode of the set command 1831 */ 1832 public StatusCode clearStickyFault_ForwardHardLimit() { 1833 return clearStickyFault_ForwardHardLimit(DefaultTimeoutSeconds); 1834 } 1835 /** 1836 * Clear sticky fault: Forward limit switch has been asserted. Output 1837 * is set to neutral. 1838 * <p> 1839 * This is available in the configurator in case the user wants 1840 * to initialize their device entirely without passing a device 1841 * reference down to the code that performs the initialization. 1842 * In this case, the user passes down the configurator object 1843 * and performs all the initialization code on the object. 1844 * 1845 * @param timeoutSeconds Maximum time to wait up to in seconds. 1846 * @return StatusCode of the set command 1847 */ 1848 public StatusCode clearStickyFault_ForwardHardLimit(double timeoutSeconds) { 1849 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_ForwardHardLimit.value, 0); 1850 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1851 } 1852 1853 /** 1854 * Clear sticky fault: Reverse soft limit has been asserted. Output 1855 * is set to neutral. 1856 * <p> 1857 * This will wait up to {@link #DefaultTimeoutSeconds}. 1858 * <p> 1859 * This is available in the configurator in case the user wants 1860 * to initialize their device entirely without passing a device 1861 * reference down to the code that performs the initialization. 1862 * In this case, the user passes down the configurator object 1863 * and performs all the initialization code on the object. 1864 * 1865 * @return StatusCode of the set command 1866 */ 1867 public StatusCode clearStickyFault_ReverseSoftLimit() { 1868 return clearStickyFault_ReverseSoftLimit(DefaultTimeoutSeconds); 1869 } 1870 /** 1871 * Clear sticky fault: Reverse soft limit has been asserted. Output 1872 * is set to neutral. 1873 * <p> 1874 * This is available in the configurator in case the user wants 1875 * to initialize their device entirely without passing a device 1876 * reference down to the code that performs the initialization. 1877 * In this case, the user passes down the configurator object 1878 * and performs all the initialization code on the object. 1879 * 1880 * @param timeoutSeconds Maximum time to wait up to in seconds. 1881 * @return StatusCode of the set command 1882 */ 1883 public StatusCode clearStickyFault_ReverseSoftLimit(double timeoutSeconds) { 1884 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_ReverseSoftLimit.value, 0); 1885 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1886 } 1887 1888 /** 1889 * Clear sticky fault: Forward soft limit has been asserted. Output 1890 * is set to neutral. 1891 * <p> 1892 * This will wait up to {@link #DefaultTimeoutSeconds}. 1893 * <p> 1894 * This is available in the configurator in case the user wants 1895 * to initialize their device entirely without passing a device 1896 * reference down to the code that performs the initialization. 1897 * In this case, the user passes down the configurator object 1898 * and performs all the initialization code on the object. 1899 * 1900 * @return StatusCode of the set command 1901 */ 1902 public StatusCode clearStickyFault_ForwardSoftLimit() { 1903 return clearStickyFault_ForwardSoftLimit(DefaultTimeoutSeconds); 1904 } 1905 /** 1906 * Clear sticky fault: Forward soft limit has been asserted. Output 1907 * is set to neutral. 1908 * <p> 1909 * This is available in the configurator in case the user wants 1910 * to initialize their device entirely without passing a device 1911 * reference down to the code that performs the initialization. 1912 * In this case, the user passes down the configurator object 1913 * and performs all the initialization code on the object. 1914 * 1915 * @param timeoutSeconds Maximum time to wait up to in seconds. 1916 * @return StatusCode of the set command 1917 */ 1918 public StatusCode clearStickyFault_ForwardSoftLimit(double timeoutSeconds) { 1919 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_ForwardSoftLimit.value, 0); 1920 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1921 } 1922 1923 /** 1924 * Clear sticky fault: The remote sensor's data is no longer trusted. 1925 * This can happen if the remote sensor disappears from the CAN bus or 1926 * if the remote sensor indicates its data is no longer valid, such as 1927 * when a CANcoder's magnet strength falls into the "red" range. 1928 * <p> 1929 * This will wait up to {@link #DefaultTimeoutSeconds}. 1930 * <p> 1931 * This is available in the configurator in case the user wants 1932 * to initialize their device entirely without passing a device 1933 * reference down to the code that performs the initialization. 1934 * In this case, the user passes down the configurator object 1935 * and performs all the initialization code on the object. 1936 * 1937 * @return StatusCode of the set command 1938 */ 1939 public StatusCode clearStickyFault_RemoteSensorDataInvalid() { 1940 return clearStickyFault_RemoteSensorDataInvalid(DefaultTimeoutSeconds); 1941 } 1942 /** 1943 * Clear sticky fault: The remote sensor's data is no longer trusted. 1944 * This can happen if the remote sensor disappears from the CAN bus or 1945 * if the remote sensor indicates its data is no longer valid, such as 1946 * when a CANcoder's magnet strength falls into the "red" range. 1947 * <p> 1948 * This is available in the configurator in case the user wants 1949 * to initialize their device entirely without passing a device 1950 * reference down to the code that performs the initialization. 1951 * In this case, the user passes down the configurator object 1952 * and performs all the initialization code on the object. 1953 * 1954 * @param timeoutSeconds Maximum time to wait up to in seconds. 1955 * @return StatusCode of the set command 1956 */ 1957 public StatusCode clearStickyFault_RemoteSensorDataInvalid(double timeoutSeconds) { 1958 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_MissingRemoteSensor.value, 0); 1959 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 1960 } 1961 1962 /** 1963 * Clear sticky fault: The remote sensor used for fusion has fallen 1964 * out of sync to the local sensor. A re-synchronization has occurred, 1965 * which may cause a discontinuity. This typically happens if there is 1966 * significant slop in the mechanism, or if the RotorToSensorRatio 1967 * configuration parameter is incorrect. 1968 * <p> 1969 * This will wait up to {@link #DefaultTimeoutSeconds}. 1970 * <p> 1971 * This is available in the configurator in case the user wants 1972 * to initialize their device entirely without passing a device 1973 * reference down to the code that performs the initialization. 1974 * In this case, the user passes down the configurator object 1975 * and performs all the initialization code on the object. 1976 * 1977 * @return StatusCode of the set command 1978 */ 1979 public StatusCode clearStickyFault_FusedSensorOutOfSync() { 1980 return clearStickyFault_FusedSensorOutOfSync(DefaultTimeoutSeconds); 1981 } 1982 /** 1983 * Clear sticky fault: The remote sensor used for fusion has fallen 1984 * out of sync to the local sensor. A re-synchronization has occurred, 1985 * which may cause a discontinuity. This typically happens if there is 1986 * significant slop in the mechanism, or if the RotorToSensorRatio 1987 * configuration parameter is incorrect. 1988 * <p> 1989 * This is available in the configurator in case the user wants 1990 * to initialize their device entirely without passing a device 1991 * reference down to the code that performs the initialization. 1992 * In this case, the user passes down the configurator object 1993 * and performs all the initialization code on the object. 1994 * 1995 * @param timeoutSeconds Maximum time to wait up to in seconds. 1996 * @return StatusCode of the set command 1997 */ 1998 public StatusCode clearStickyFault_FusedSensorOutOfSync(double timeoutSeconds) { 1999 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_FusedSensorOutOfSync.value, 0); 2000 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 2001 } 2002 2003 /** 2004 * Clear sticky fault: Stator current limit occured. 2005 * <p> 2006 * This will wait up to {@link #DefaultTimeoutSeconds}. 2007 * <p> 2008 * This is available in the configurator in case the user wants 2009 * to initialize their device entirely without passing a device 2010 * reference down to the code that performs the initialization. 2011 * In this case, the user passes down the configurator object 2012 * and performs all the initialization code on the object. 2013 * 2014 * @return StatusCode of the set command 2015 */ 2016 public StatusCode clearStickyFault_StatorCurrLimit() { 2017 return clearStickyFault_StatorCurrLimit(DefaultTimeoutSeconds); 2018 } 2019 /** 2020 * Clear sticky fault: Stator current limit occured. 2021 * <p> 2022 * This is available in the configurator in case the user wants 2023 * to initialize their device entirely without passing a device 2024 * reference down to the code that performs the initialization. 2025 * In this case, the user passes down the configurator object 2026 * and performs all the initialization code on the object. 2027 * 2028 * @param timeoutSeconds Maximum time to wait up to in seconds. 2029 * @return StatusCode of the set command 2030 */ 2031 public StatusCode clearStickyFault_StatorCurrLimit(double timeoutSeconds) { 2032 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_StatorCurrLimit.value, 0); 2033 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 2034 } 2035 2036 /** 2037 * Clear sticky fault: Supply current limit occured. 2038 * <p> 2039 * This will wait up to {@link #DefaultTimeoutSeconds}. 2040 * <p> 2041 * This is available in the configurator in case the user wants 2042 * to initialize their device entirely without passing a device 2043 * reference down to the code that performs the initialization. 2044 * In this case, the user passes down the configurator object 2045 * and performs all the initialization code on the object. 2046 * 2047 * @return StatusCode of the set command 2048 */ 2049 public StatusCode clearStickyFault_SupplyCurrLimit() { 2050 return clearStickyFault_SupplyCurrLimit(DefaultTimeoutSeconds); 2051 } 2052 /** 2053 * Clear sticky fault: Supply current limit occured. 2054 * <p> 2055 * This is available in the configurator in case the user wants 2056 * to initialize their device entirely without passing a device 2057 * reference down to the code that performs the initialization. 2058 * In this case, the user passes down the configurator object 2059 * and performs all the initialization code on the object. 2060 * 2061 * @param timeoutSeconds Maximum time to wait up to in seconds. 2062 * @return StatusCode of the set command 2063 */ 2064 public StatusCode clearStickyFault_SupplyCurrLimit(double timeoutSeconds) { 2065 String serialized = ConfigJNI.Serializedouble(SpnValue.ClearStickyFault_TALONFX_SupplyCurrLimit.value, 0); 2066 return setConfigsPrivate(serialized, timeoutSeconds, false, true); 2067 } 2068}