[wpilib] Require non-zero positive value for PIDController.period (#3175)

This commit is contained in:
Starlight220
2021-02-17 04:07:29 +02:00
committed by GitHub
parent 9522f2e8c7
commit 959611420b
3 changed files with 12 additions and 2 deletions

View File

@@ -9,6 +9,7 @@
#include <hal/FRCUsageReporting.h>
#include "frc/DriverStation.h"
#include "frc/MathUtil.h"
#include "frc/smartdashboard/SendableBuilder.h"
#include "frc/smartdashboard/SendableRegistry.h"
@@ -18,6 +19,12 @@ using namespace frc2;
PIDController::PIDController(double Kp, double Ki, double Kd,
units::second_t period)
: m_Kp(Kp), m_Ki(Ki), m_Kd(Kd), m_period(period) {
if (period <= 0_s) {
frc::DriverStation::ReportError(
"Controller period must be a non-zero positive number!");
m_period = 20_ms;
frc::DriverStation::ReportWarning("Controller period defaulted to 20ms.");
}
static int instances = 0;
instances++;
HAL_Report(HALUsageReporting::kResourceType_PIDController2, instances);