Bump to WPILib 2025 Beta 1 & remove C++ protobuf (#1484)

Remove C++ protobuf support until
https://github.com/wpilibsuite/allwpilib/issues/7250 is addressed.
Developers should upgrade to wpilib vscode 2025 beta 1.

---------

Co-authored-by: Matt <matthew.morley.ca@gmail.com>
This commit is contained in:
Cameron (3539)
2024-10-31 02:59:39 -04:00
committed by GitHub
parent 3d18ded3f6
commit 937bafa8e2
67 changed files with 185 additions and 824 deletions

View File

@@ -1,6 +1,6 @@
{
"enableCppIntellisense": true,
"currentLanguage": "cpp",
"projectYear": "2024",
"projectYear": "2025",
"teamNumber": 5
}

View File

@@ -1,9 +1,7 @@
plugins {
id "cpp"
id "google-test-test-suite"
id "edu.wpi.first.GradleRIO" version "2024.3.2"
id "com.dorongold.task-tree" version "2.1.0"
id "edu.wpi.first.GradleRIO" version "2025.1.1-beta-1"
}
repositories {
@@ -11,9 +9,10 @@ repositories {
jcenter()
}
wpi.maven.useDevelopment = true
wpi.versions.wpilibVersion = "2024.3.2"
wpi.versions.wpimathVersion = "2024.3.2"
wpi.maven.useLocal = false
wpi.maven.useDevelopment = false
wpi.versions.wpilibVersion = "2025.1.1-beta-1"
wpi.versions.wpimathVersion = "2025.1.1-beta-1"
apply from: "${rootDir}/../shared/examples_common.gradle"

View File

@@ -1,13 +1,13 @@
import org.gradle.internal.os.OperatingSystem
rootProject.name = 'aimattarget'
rootProject.name = 'poseest'
pluginManagement {
repositories {
mavenLocal()
jcenter()
gradlePluginPortal()
String frcYear = '2024'
String frcYear = '2025'
File frcHome
if (OperatingSystem.current().isWindows()) {
String publicFolder = System.getenv('PUBLIC')

View File

@@ -44,20 +44,22 @@ SwerveDriveSim::SwerveDriveSim(
: SwerveDriveSim(
frc::LinearSystem<2, 1, 2>{
(Eigen::MatrixXd(2, 2) << 0.0, 1.0, 0.0,
-driveFF.kV.to<double>() / driveFF.kA.to<double>())
-driveFF.GetKv().to<double>() / driveFF.GetKa().to<double>())
.finished(),
Eigen::Matrix<double, 2, 1>{0.0, 1.0 / driveFF.kA.to<double>()},
Eigen::Matrix<double, 2, 1>{0.0,
1.0 / driveFF.GetKa().to<double>()},
(Eigen::MatrixXd(2, 2) << 1.0, 0.0, 0.0, 1.0).finished(),
Eigen::Matrix<double, 2, 1>{0.0, 0.0}},
driveFF.kS, driveMotor, driveGearing, driveWheelRadius,
driveFF.GetKs(), driveMotor, driveGearing, driveWheelRadius,
frc::LinearSystem<2, 1, 2>{
(Eigen::MatrixXd(2, 2) << 0.0, 1.0, 0.0,
-steerFF.kV.to<double>() / steerFF.kA.to<double>())
-steerFF.GetKv().to<double>() / steerFF.GetKa().to<double>())
.finished(),
Eigen::Matrix<double, 2, 1>{0.0, 1.0 / steerFF.kA.to<double>()},
Eigen::Matrix<double, 2, 1>{0.0,
1.0 / steerFF.GetKa().to<double>()},
(Eigen::MatrixXd(2, 2) << 1.0, 0.0, 0.0, 1.0).finished(),
Eigen::Matrix<double, 2, 1>{0.0, 0.0}},
steerFF.kS, steerMotor, steerGearing, kinematics) {}
steerFF.GetKs(), steerMotor, steerGearing, kinematics) {}
SwerveDriveSim::SwerveDriveSim(
const frc::LinearSystem<2, 1, 2>& drivePlant, units::volt_t driveKs,

View File

@@ -64,12 +64,11 @@ void SwerveModule::Periodic() {
driveMotor.SetVoltage(driveFF + drivePID);
}
void SwerveModule::SetDesiredState(const frc::SwerveModuleState& newState,
void SwerveModule::SetDesiredState(frc::SwerveModuleState newState,
bool shouldBeOpenLoop, bool steerInPlace) {
frc::Rotation2d currentRotation = GetAbsoluteHeading();
frc::SwerveModuleState optimizedState =
frc::SwerveModuleState::Optimize(newState, currentRotation);
desiredState = optimizedState;
newState.Optimize(currentRotation);
desiredState = newState;
}
frc::Rotation2d SwerveModule::GetAbsoluteHeading() const {

View File

@@ -31,21 +31,26 @@
#include <frc/controller/SimpleMotorFeedforward.h>
#include <frc/geometry/Transform3d.h>
#include <frc/geometry/Translation2d.h>
#include <units/acceleration.h>
#include <units/angular_acceleration.h>
#include <units/angular_velocity.h>
#include <units/length.h>
#include <units/velocity.h>
namespace constants {
namespace Vision {
inline constexpr std::string_view kCameraName{"YOUR CAMERA NAME"};
inline const frc::Transform3d kRobotToCam{
frc::Translation3d{0.5_m, 0.0_m, 0.5_m},
frc::Rotation3d{0_rad, 0_rad, 0_rad}};
frc::Rotation3d{0_rad, -30_deg, 0_rad}};
inline const frc::AprilTagFieldLayout kTagLayout{
frc::LoadAprilTagLayoutField(frc::AprilTagField::k2024Crescendo)};
frc::AprilTagFieldLayout::LoadField(frc::AprilTagField::k2024Crescendo)};
inline const Eigen::Matrix<double, 3, 1> kSingleTagStdDevs{4, 4, 8};
inline const Eigen::Matrix<double, 3, 1> kMultiTagStdDevs{0.5, 0.5, 1};
} // namespace Vision
namespace Swerve {
using namespace units;
inline constexpr units::meter_t kTrackWidth{18.5_in};
inline constexpr units::meter_t kTrackLength{18.5_in};
@@ -73,6 +78,8 @@ inline constexpr double kSteerKP = 20.0;
inline constexpr double kSteerKI = 0.0;
inline constexpr double kSteerKD = 0.25;
using namespace units;
inline const frc::SimpleMotorFeedforward<units::meters> kDriveFF{
0.25_V, 2.5_V / 1_mps, 0.3_V / 1_mps_sq};

View File

@@ -58,7 +58,7 @@ class GamepieceLauncher {
frc::LinearSystem<1, 1, 1> m_plant{frc::LinearSystemId::FlywheelSystem(
m_gearbox, kFlywheelMomentOfInertia, 1.0)};
frc::sim::FlywheelSim launcherSim{m_plant, m_gearbox, 1.0};
frc::sim::FlywheelSim launcherSim{m_plant, m_gearbox};
void simulationInit(); // Method to initialize simulation components
};

View File

@@ -38,8 +38,8 @@ class SwerveModule {
public:
explicit SwerveModule(const constants::Swerve::ModuleConstants& consts);
void Periodic();
void SetDesiredState(const frc::SwerveModuleState& newState,
bool shouldBeOpenLoop, bool steerInPlace);
void SetDesiredState(frc::SwerveModuleState newState, bool shouldBeOpenLoop,
bool steerInPlace);
frc::Rotation2d GetAbsoluteHeading() const;
frc::SwerveModuleState GetState() const;
frc::SwerveModulePosition GetPosition() const;