diff --git a/wpilibcExamples/src/main/cpp/examples/Frisbeebot/include/Constants.h b/wpilibcExamples/src/main/cpp/examples/Frisbeebot/include/Constants.h index 9fbcb272a6..e74cfc0830 100644 --- a/wpilibcExamples/src/main/cpp/examples/Frisbeebot/include/Constants.h +++ b/wpilibcExamples/src/main/cpp/examples/Frisbeebot/include/Constants.h @@ -19,50 +19,50 @@ */ namespace DriveConstants { -const int kLeftMotor1Port = 0; -const int kLeftMotor2Port = 1; -const int kRightMotor1Port = 2; -const int kRightMotor2Port = 3; +constexpr int kLeftMotor1Port = 0; +constexpr int kLeftMotor2Port = 1; +constexpr int kRightMotor1Port = 2; +constexpr int kRightMotor2Port = 3; -const int kLeftEncoderPorts[]{0, 1}; -const int kRightEncoderPorts[]{2, 3}; -const bool kLeftEncoderReversed = false; -const bool kRightEncoderReversed = true; +constexpr int kLeftEncoderPorts[]{0, 1}; +constexpr int kRightEncoderPorts[]{2, 3}; +constexpr bool kLeftEncoderReversed = false; +constexpr bool kRightEncoderReversed = true; -const int kEncoderCPR = 1024; -const double kWheelDiameterInches = 6; -const double kEncoderDistancePerPulse = +constexpr int kEncoderCPR = 1024; +constexpr double kWheelDiameterInches = 6; +constexpr double kEncoderDistancePerPulse = // Assumes the encoders are directly mounted on the wheel shafts (kWheelDiameterInches * 3.142) / static_cast(kEncoderCPR); } // namespace DriveConstants namespace ShooterConstants { -const int kEncoderPorts[]{4, 5}; -const bool kEncoderReversed = false; -const int kEncoderCPR = 1024; -const double kEncoderDistancePerPulse = +constexpr int kEncoderPorts[]{4, 5}; +constexpr bool kEncoderReversed = false; +constexpr int kEncoderCPR = 1024; +constexpr double kEncoderDistancePerPulse = // Distance units will be rotations 1. / static_cast(kEncoderCPR); -const int kShooterMotorPort = 4; -const int kFeederMotorPort = 5; +constexpr int kShooterMotorPort = 4; +constexpr int kFeederMotorPort = 5; -const double kShooterFreeRPS = 5300; -const double kShooterTargetRPS = 4000; -const double kShooterToleranceRPS = 50; +constexpr double kShooterFreeRPS = 5300; +constexpr double kShooterTargetRPS = 4000; +constexpr double kShooterToleranceRPS = 50; -const double kP = 1; -const double kI = 0; -const double kD = 0; +constexpr double kP = 1; +constexpr double kI = 0; +constexpr double kD = 0; // On a real robot the feedforward constants should be empirically determined; // these are reasonable guesses. -const double kSFractional = .05; -const double kVFractional = +constexpr double kSFractional = .05; +constexpr double kVFractional = // Should have value 1 at free speed... 1. / kShooterFreeRPS; -const double kFeederSpeed = .5; +constexpr double kFeederSpeed = .5; } // namespace ShooterConstants namespace AutoConstants { @@ -71,5 +71,5 @@ constexpr auto kAutoShootTimeSeconds = 7_s; } // namespace AutoConstants namespace OIConstants { -const int kDriverControllerPort = 1; +constexpr int kDriverControllerPort = 1; } // namespace OIConstants diff --git a/wpilibcExamples/src/main/cpp/examples/GyroDriveCommands/include/Constants.h b/wpilibcExamples/src/main/cpp/examples/GyroDriveCommands/include/Constants.h index 0349c718a4..59daf0ee69 100644 --- a/wpilibcExamples/src/main/cpp/examples/GyroDriveCommands/include/Constants.h +++ b/wpilibcExamples/src/main/cpp/examples/GyroDriveCommands/include/Constants.h @@ -17,42 +17,42 @@ */ namespace DriveConstants { -const int kLeftMotor1Port = 0; -const int kLeftMotor2Port = 1; -const int kRightMotor1Port = 2; -const int kRightMotor2Port = 3; +constexpr int kLeftMotor1Port = 0; +constexpr int kLeftMotor2Port = 1; +constexpr int kRightMotor1Port = 2; +constexpr int kRightMotor2Port = 3; -const int kLeftEncoderPorts[]{0, 1}; -const int kRightEncoderPorts[]{2, 3}; -const bool kLeftEncoderReversed = false; -const bool kRightEncoderReversed = true; +constexpr int kLeftEncoderPorts[]{0, 1}; +constexpr int kRightEncoderPorts[]{2, 3}; +constexpr bool kLeftEncoderReversed = false; +constexpr bool kRightEncoderReversed = true; -const int kEncoderCPR = 1024; -const double kWheelDiameterInches = 6; -const double kEncoderDistancePerPulse = +constexpr int kEncoderCPR = 1024; +constexpr double kWheelDiameterInches = 6; +constexpr double kEncoderDistancePerPulse = // Assumes the encoders are directly mounted on the wheel shafts (kWheelDiameterInches * 3.142) / static_cast(kEncoderCPR); -const bool kGyroReversed = true; +constexpr bool kGyroReversed = true; -const double kStabilizationP = 1; -const double kStabilizationI = .5; -const double kStabilizationD = 0; +constexpr double kStabilizationP = 1; +constexpr double kStabilizationI = .5; +constexpr double kStabilizationD = 0; -const double kTurnP = 1; -const double kTurnI = 0; -const double kTurnD = 0; +constexpr double kTurnP = 1; +constexpr double kTurnI = 0; +constexpr double kTurnD = 0; -const double kTurnToleranceDeg = 5; -const double kTurnRateToleranceDegPerS = 10; // degrees per second +constexpr double kTurnToleranceDeg = 5; +constexpr double kTurnRateToleranceDegPerS = 10; // degrees per second } // namespace DriveConstants namespace AutoConstants { -const double kAutoDriveDistanceInches = 60; -const double kAutoBackupDistanceInches = 20; -const double kAutoDriveSpeed = .5; +constexpr double kAutoDriveDistanceInches = 60; +constexpr double kAutoBackupDistanceInches = 20; +constexpr double kAutoDriveSpeed = .5; } // namespace AutoConstants namespace OIConstants { -const int kDriverControllerPort = 1; +constexpr int kDriverControllerPort = 1; } // namespace OIConstants diff --git a/wpilibcExamples/src/main/cpp/examples/HatchbotInlined/include/Constants.h b/wpilibcExamples/src/main/cpp/examples/HatchbotInlined/include/Constants.h index b09572ed0d..a8ec7f3024 100644 --- a/wpilibcExamples/src/main/cpp/examples/HatchbotInlined/include/Constants.h +++ b/wpilibcExamples/src/main/cpp/examples/HatchbotInlined/include/Constants.h @@ -17,34 +17,34 @@ */ namespace DriveConstants { -const int kLeftMotor1Port = 0; -const int kLeftMotor2Port = 1; -const int kRightMotor1Port = 2; -const int kRightMotor2Port = 3; +constexpr int kLeftMotor1Port = 0; +constexpr int kLeftMotor2Port = 1; +constexpr int kRightMotor1Port = 2; +constexpr int kRightMotor2Port = 3; -const int kLeftEncoderPorts[]{0, 1}; -const int kRightEncoderPorts[]{2, 3}; -const bool kLeftEncoderReversed = false; -const bool kRightEncoderReversed = true; +constexpr int kLeftEncoderPorts[]{0, 1}; +constexpr int kRightEncoderPorts[]{2, 3}; +constexpr bool kLeftEncoderReversed = false; +constexpr bool kRightEncoderReversed = true; -const int kEncoderCPR = 1024; -const double kWheelDiameterInches = 6; -const double kEncoderDistancePerPulse = +constexpr int kEncoderCPR = 1024; +constexpr double kWheelDiameterInches = 6; +constexpr double kEncoderDistancePerPulse = // Assumes the encoders are directly mounted on the wheel shafts (kWheelDiameterInches * 3.142) / static_cast(kEncoderCPR); } // namespace DriveConstants namespace HatchConstants { -const int kHatchSolenoidModule = 0; -const int kHatchSolenoidPorts[]{0, 1}; +constexpr int kHatchSolenoidModule = 0; +constexpr int kHatchSolenoidPorts[]{0, 1}; } // namespace HatchConstants namespace AutoConstants { -const double kAutoDriveDistanceInches = 60; -const double kAutoBackupDistanceInches = 20; -const double kAutoDriveSpeed = .5; +constexpr double kAutoDriveDistanceInches = 60; +constexpr double kAutoBackupDistanceInches = 20; +constexpr double kAutoDriveSpeed = .5; } // namespace AutoConstants namespace OIConstants { -const int kDriverControllerPort = 1; +constexpr int kDriverControllerPort = 1; } // namespace OIConstants diff --git a/wpilibcExamples/src/main/cpp/examples/HatchbotTraditional/include/Constants.h b/wpilibcExamples/src/main/cpp/examples/HatchbotTraditional/include/Constants.h index b09572ed0d..a8ec7f3024 100644 --- a/wpilibcExamples/src/main/cpp/examples/HatchbotTraditional/include/Constants.h +++ b/wpilibcExamples/src/main/cpp/examples/HatchbotTraditional/include/Constants.h @@ -17,34 +17,34 @@ */ namespace DriveConstants { -const int kLeftMotor1Port = 0; -const int kLeftMotor2Port = 1; -const int kRightMotor1Port = 2; -const int kRightMotor2Port = 3; +constexpr int kLeftMotor1Port = 0; +constexpr int kLeftMotor2Port = 1; +constexpr int kRightMotor1Port = 2; +constexpr int kRightMotor2Port = 3; -const int kLeftEncoderPorts[]{0, 1}; -const int kRightEncoderPorts[]{2, 3}; -const bool kLeftEncoderReversed = false; -const bool kRightEncoderReversed = true; +constexpr int kLeftEncoderPorts[]{0, 1}; +constexpr int kRightEncoderPorts[]{2, 3}; +constexpr bool kLeftEncoderReversed = false; +constexpr bool kRightEncoderReversed = true; -const int kEncoderCPR = 1024; -const double kWheelDiameterInches = 6; -const double kEncoderDistancePerPulse = +constexpr int kEncoderCPR = 1024; +constexpr double kWheelDiameterInches = 6; +constexpr double kEncoderDistancePerPulse = // Assumes the encoders are directly mounted on the wheel shafts (kWheelDiameterInches * 3.142) / static_cast(kEncoderCPR); } // namespace DriveConstants namespace HatchConstants { -const int kHatchSolenoidModule = 0; -const int kHatchSolenoidPorts[]{0, 1}; +constexpr int kHatchSolenoidModule = 0; +constexpr int kHatchSolenoidPorts[]{0, 1}; } // namespace HatchConstants namespace AutoConstants { -const double kAutoDriveDistanceInches = 60; -const double kAutoBackupDistanceInches = 20; -const double kAutoDriveSpeed = .5; +constexpr double kAutoDriveDistanceInches = 60; +constexpr double kAutoBackupDistanceInches = 20; +constexpr double kAutoDriveSpeed = .5; } // namespace AutoConstants namespace OIConstants { -const int kDriverControllerPort = 1; +constexpr int kDriverControllerPort = 1; } // namespace OIConstants diff --git a/wpilibcExamples/src/main/cpp/examples/RamseteCommand/include/Constants.h b/wpilibcExamples/src/main/cpp/examples/RamseteCommand/include/Constants.h index 801e47930d..f88aea0781 100644 --- a/wpilibcExamples/src/main/cpp/examples/RamseteCommand/include/Constants.h +++ b/wpilibcExamples/src/main/cpp/examples/RamseteCommand/include/Constants.h @@ -22,50 +22,50 @@ */ namespace DriveConstants { -const int kLeftMotor1Port = 0; -const int kLeftMotor2Port = 1; -const int kRightMotor1Port = 2; -const int kRightMotor2Port = 3; +constexpr int kLeftMotor1Port = 0; +constexpr int kLeftMotor2Port = 1; +constexpr int kRightMotor1Port = 2; +constexpr int kRightMotor2Port = 3; -const int kLeftEncoderPorts[]{0, 1}; -const int kRightEncoderPorts[]{2, 3}; -const bool kLeftEncoderReversed = false; -const bool kRightEncoderReversed = true; +constexpr int kLeftEncoderPorts[]{0, 1}; +constexpr int kRightEncoderPorts[]{2, 3}; +constexpr bool kLeftEncoderReversed = false; +constexpr bool kRightEncoderReversed = true; -const auto kTrackwidth = .6_m; -const frc::DifferentialDriveKinematics kDriveKinematics(kTrackwidth); +constexpr auto kTrackwidth = .6_m; +constexpr frc::DifferentialDriveKinematics kDriveKinematics(kTrackwidth); -const int kEncoderCPR = 1024; -const double kWheelDiameterInches = 6; -const double kEncoderDistancePerPulse = +constexpr int kEncoderCPR = 1024; +constexpr double kWheelDiameterInches = 6; +constexpr double kEncoderDistancePerPulse = // Assumes the encoders are directly mounted on the wheel shafts (kWheelDiameterInches * 3.142) / static_cast(kEncoderCPR); -const bool kGyroReversed = true; +constexpr bool kGyroReversed = true; // These are example values only - DO NOT USE THESE FOR YOUR OWN ROBOT! // These characterization values MUST be determined either experimentally or // theoretically for *your* robot's drive. The RobotPy Characterization // Toolsuite provides a convenient tool for obtaining these values for your // robot. -const auto ks = 1_V; -const auto kv = .8 * 1_V * 1_s / 1_m; -const auto ka = .15 * 1_V * 1_s * 1_s / 1_m; +constexpr auto ks = 1_V; +constexpr auto kv = .8 * 1_V * 1_s / 1_m; +constexpr auto ka = .15 * 1_V * 1_s * 1_s / 1_m; // Example value only - as above, this must be tuned for your drive! -const double kPDriveVel = .5; +constexpr double kPDriveVel = .5; } // namespace DriveConstants namespace AutoConstants { -const auto kMaxSpeed = 3_mps; -const auto kMaxAcceleration = 3_mps_sq; +constexpr auto kMaxSpeed = 3_mps; +constexpr auto kMaxAcceleration = 3_mps_sq; // Reasonable baseline values for a RAMSETE follower in units of meters and // seconds -const double kRamseteB = 2; -const double kRamseteZeta = .7; +constexpr double kRamseteB = 2; +constexpr double kRamseteZeta = .7; } // namespace AutoConstants namespace OIConstants { -const int kDriverControllerPort = 1; +constexpr int kDriverControllerPort = 1; } // namespace OIConstants diff --git a/wpilibcExamples/src/main/cpp/examples/SchedulerEventLogging/include/Constants.h b/wpilibcExamples/src/main/cpp/examples/SchedulerEventLogging/include/Constants.h index 0a5f832d33..9fb2281677 100644 --- a/wpilibcExamples/src/main/cpp/examples/SchedulerEventLogging/include/Constants.h +++ b/wpilibcExamples/src/main/cpp/examples/SchedulerEventLogging/include/Constants.h @@ -18,5 +18,5 @@ */ namespace OIConstants { -const int kDriverControllerPort = 1; +constexpr int kDriverControllerPort = 1; } // namespace OIConstants diff --git a/wpilibcExamples/src/main/cpp/examples/SelectCommand/include/Constants.h b/wpilibcExamples/src/main/cpp/examples/SelectCommand/include/Constants.h index 0a5f832d33..9fb2281677 100644 --- a/wpilibcExamples/src/main/cpp/examples/SelectCommand/include/Constants.h +++ b/wpilibcExamples/src/main/cpp/examples/SelectCommand/include/Constants.h @@ -18,5 +18,5 @@ */ namespace OIConstants { -const int kDriverControllerPort = 1; +constexpr int kDriverControllerPort = 1; } // namespace OIConstants