From a6dd95eb9eacef2a9526e328d95175819afc499d Mon Sep 17 00:00:00 2001 From: Isaac Turner Date: Tue, 7 May 2024 12:54:39 +0800 Subject: [PATCH] [wpilib] Remove deprecated Gyro interface (#6567) --- .../main/native/include/frc/interfaces/Gyro.h | 87 ------------------- .../include/subsystems/DriveSubsystem.h | 1 - .../include/subsystems/DriveSubsystem.h | 1 - .../wpi/first/wpilibj/interfaces/Gyro.java | 74 ---------------- 4 files changed, 163 deletions(-) delete mode 100644 wpilibc/src/main/native/include/frc/interfaces/Gyro.h delete mode 100644 wpilibj/src/main/java/edu/wpi/first/wpilibj/interfaces/Gyro.java diff --git a/wpilibc/src/main/native/include/frc/interfaces/Gyro.h b/wpilibc/src/main/native/include/frc/interfaces/Gyro.h deleted file mode 100644 index 51fea7dffc..0000000000 --- a/wpilibc/src/main/native/include/frc/interfaces/Gyro.h +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (c) FIRST and other WPILib contributors. -// Open Source Software; you can modify and/or share it under the terms of -// the WPILib BSD license file in the root directory of this project. - -#pragma once - -#include - -#include "frc/geometry/Rotation2d.h" - -namespace frc { - -/** - * Interface for yaw rate gyros. - * - * @deprecated This interface is being removed with no replacement. - */ -class [[deprecated( - "This interface is being removed with no replacement.")]] Gyro { - public: - Gyro() = default; - virtual ~Gyro() = default; - - Gyro(Gyro&&) = default; - Gyro& operator=(Gyro&&) = default; - - /** - * Calibrate the gyro. It's important to make sure that the robot is not - * moving while the calibration is in progress, this is typically - * done when the robot is first turned on while it's sitting at rest before - * the match starts. - */ - virtual void Calibrate() = 0; - - /** - * Reset the gyro. Resets the gyro to a heading of zero. This can be used if - * there is significant drift in the gyro and it needs to be recalibrated - * after it has been running. - */ - virtual void Reset() = 0; - - /** - * Return the heading of the robot in degrees. - * - * The angle is continuous, that is it will continue from 360 to 361 degrees. - * This allows algorithms that wouldn't want to see a discontinuity in the - * gyro output as it sweeps past from 360 to 0 on the second time around. - * - * The angle is expected to increase as the gyro turns clockwise when looked - * at from the top. It needs to follow the NED axis convention. - * - * @return the current heading of the robot in degrees. This heading is based - * on integration of the returned rate from the gyro. - */ - virtual double GetAngle() const = 0; - - /** - * Return the rate of rotation of the gyro. - * - * The rate is based on the most recent reading of the gyro analog value. - * - * The rate is expected to be positive as the gyro turns clockwise when looked - * at from the top. It needs to follow the NED axis convention. - * - * @return the current rate in degrees per second - */ - virtual double GetRate() const = 0; - - /** - * Return the heading of the robot as a Rotation2d. - * - * The angle is continuous, that is it will continue from 360 to 361 degrees. - * This allows algorithms that wouldn't want to see a discontinuity in the - * gyro output as it sweeps past from 360 to 0 on the second time around. - * - * The angle is expected to increase as the gyro turns counterclockwise when - * looked at from the top. It needs to follow the NWU axis convention. - * - * @return the current heading of the robot as a Rotation2d. This heading is - * based on integration of the returned rate from the gyro. - */ - virtual Rotation2d GetRotation2d() const { - return units::degree_t{-GetAngle()}; - } -}; - -} // namespace frc diff --git a/wpilibcExamples/src/main/cpp/examples/MecanumControllerCommand/include/subsystems/DriveSubsystem.h b/wpilibcExamples/src/main/cpp/examples/MecanumControllerCommand/include/subsystems/DriveSubsystem.h index 7efb225087..df50dcda09 100644 --- a/wpilibcExamples/src/main/cpp/examples/MecanumControllerCommand/include/subsystems/DriveSubsystem.h +++ b/wpilibcExamples/src/main/cpp/examples/MecanumControllerCommand/include/subsystems/DriveSubsystem.h @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include diff --git a/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/include/subsystems/DriveSubsystem.h b/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/include/subsystems/DriveSubsystem.h index b7b47fc128..c428fd7f34 100644 --- a/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/include/subsystems/DriveSubsystem.h +++ b/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/include/subsystems/DriveSubsystem.h @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/interfaces/Gyro.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/interfaces/Gyro.java deleted file mode 100644 index dad85ca342..0000000000 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/interfaces/Gyro.java +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) FIRST and other WPILib contributors. -// Open Source Software; you can modify and/or share it under the terms of -// the WPILib BSD license file in the root directory of this project. - -package edu.wpi.first.wpilibj.interfaces; - -import edu.wpi.first.math.geometry.Rotation2d; - -/** - * Interface for yaw rate gyros. - * - * @deprecated This interface is being removed with no replacement. - */ -@Deprecated(since = "2024", forRemoval = true) -public interface Gyro extends AutoCloseable { - /** - * Calibrate the gyro. It's important to make sure that the robot is not moving while the - * calibration is in progress, this is typically done when the robot is first turned on while it's - * sitting at rest before the match starts. - */ - void calibrate(); - - /** - * Reset the gyro. Resets the gyro to a heading of zero. This can be used if there is significant - * drift in the gyro, and it needs to be recalibrated after it has been running. - */ - void reset(); - - /** - * Return the heading of the robot in degrees. - * - *

The angle is continuous, that is it will continue from 360 to 361 degrees. This allows - * algorithms that wouldn't want to see a discontinuity in the gyro output as it sweeps past from - * 360 to 0 on the second time around. - * - *

The angle is expected to increase as the gyro turns clockwise when looked at from the top. - * It needs to follow the NED axis convention. - * - *

This heading is based on integration of the returned rate from the gyro. - * - * @return the current heading of the robot in degrees. - */ - double getAngle(); - - /** - * Return the rate of rotation of the gyro. - * - *

The rate is based on the most recent reading of the gyro analog value - * - *

The rate is expected to be positive as the gyro turns clockwise when looked at from the top. - * It needs to follow the NED axis convention. - * - * @return the current rate in degrees per second - */ - double getRate(); - - /** - * Return the heading of the robot as a {@link edu.wpi.first.math.geometry.Rotation2d}. - * - *

The angle is continuous, that is it will continue from 360 to 361 degrees. This allows - * algorithms that wouldn't want to see a discontinuity in the gyro output as it sweeps past from - * 360 to 0 on the second time around. - * - *

The angle is expected to increase as the gyro turns counterclockwise when looked at from the - * top. It needs to follow the NWU axis convention. - * - *

This heading is based on integration of the returned rate from the gyro. - * - * @return the current heading of the robot as a {@link edu.wpi.first.math.geometry.Rotation2d}. - */ - default Rotation2d getRotation2d() { - return Rotation2d.fromDegrees(-getAngle()); - } -}