[wpimath] Move RobotDriveBase::ApplyDeadband() to MathUtil (#3529)

It's a useful function outside of the drive classes.

For backwards compatibility, deprecate (rather than remove) RobotDriveBase.applyDeadband()
This commit is contained in:
Tyler Veness
2021-08-28 20:52:05 -07:00
committed by GitHub
parent 3b5d0d141a
commit aa3848b2c8
16 changed files with 162 additions and 65 deletions

View File

@@ -11,6 +11,7 @@
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
#include "frc/MathUtil.h"
#include "frc/SpeedController.h"
using namespace frc;

View File

@@ -12,6 +12,7 @@
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
#include "frc/MathUtil.h"
#include "frc/SpeedController.h"
using namespace frc;

View File

@@ -12,6 +12,7 @@
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
#include "frc/MathUtil.h"
#include "frc/SpeedController.h"
#include "frc/drive/Vector2d.h"

View File

@@ -10,6 +10,7 @@
#include <hal/FRCUsageReporting.h>
#include "frc/MathUtil.h"
#include "frc/motorcontrol/MotorController.h"
using namespace frc;
@@ -31,15 +32,7 @@ void RobotDriveBase::FeedWatchdog() {
}
double RobotDriveBase::ApplyDeadband(double value, double deadband) {
if (std::abs(value) > deadband) {
if (value > 0.0) {
return (value - deadband) / (1.0 - deadband);
} else {
return (value + deadband) / (1.0 - deadband);
}
} else {
return 0.0;
}
return frc::ApplyDeadband(value, deadband);
}
void RobotDriveBase::Normalize(wpi::span<double> wheelSpeeds) {

View File

@@ -7,6 +7,7 @@
#include <memory>
#include <string>
#include <wpi/deprecated.h>
#include <wpi/span.h>
#include "frc/MotorSafety.h"
@@ -42,7 +43,7 @@ class RobotDriveBase : public MotorSafety {
*
* The default value is 0.02. Inputs smaller than the deadband are set to 0.0
* while inputs larger than the deadband are scaled from 0.0 to 1.0. See
* ApplyDeadband().
* frc::ApplyDeadband().
*
* @param deadband The deadband to set.
*/
@@ -75,7 +76,9 @@ class RobotDriveBase : public MotorSafety {
*
* @param value value to clip
* @param deadband range around zero
* @deprecated Use ApplyDeadband() in frc/MathUtil.h.
*/
WPI_DEPRECATED("Use ApplyDeadband() in frc/MathUtil.h")
static double ApplyDeadband(double number, double deadband);
/**