From 368ad30d3775625c19b0eadafbd4579ceeb45563 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Wed, 24 Jun 2015 01:06:29 -0700 Subject: [PATCH] artf4107: Uniform initialization syntax introduced Change-Id: I452b4794d757a0817589ec62b75eda7fbdd74904 --- .../include/Buttons/ButtonScheduler.h | 2 +- .../include/Buttons/CancelButtonScheduler.h | 2 +- .../include/Buttons/HeldButtonScheduler.h | 2 +- .../include/Buttons/InternalButton.h | 8 +- .../include/Buttons/JoystickButton.h | 2 +- .../wpilibC++/include/Buttons/NetworkButton.h | 2 +- .../include/Buttons/PressedButtonScheduler.h | 2 +- .../include/Buttons/ReleasedButtonScheduler.h | 2 +- .../include/Buttons/ToggleButtonScheduler.h | 2 +- wpilibc/wpilibC++/include/Buttons/Trigger.h | 6 +- wpilibc/wpilibC++/include/Commands/Command.h | 31 +++++-- .../wpilibC++/include/Commands/CommandGroup.h | 14 +-- .../include/Commands/CommandGroupEntry.h | 9 +- .../wpilibC++/include/Commands/PrintCommand.h | 2 +- .../wpilibC++/include/Commands/Scheduler.h | 18 ++-- .../wpilibC++/include/Commands/StartCommand.h | 2 +- .../wpilibC++/include/Commands/Subsystem.h | 12 +-- .../wpilibC++/include/Commands/WaitCommand.h | 2 +- .../include/Commands/WaitForChildren.h | 2 +- .../include/Commands/WaitUntilCommand.h | 2 +- wpilibc/wpilibC++/include/Controller.h | 2 +- wpilibc/wpilibC++/include/Error.h | 9 +- wpilibc/wpilibC++/include/ErrorBase.h | 4 +- wpilibc/wpilibC++/include/GenericHID.h | 2 +- wpilibc/wpilibC++/include/HLUsageReporting.h | 2 +- .../wpilibC++/include/LiveWindow/LiveWindow.h | 8 +- wpilibc/wpilibC++/include/Notifier.h | 10 +- wpilibc/wpilibC++/include/PIDController.h | 32 ++++--- wpilibc/wpilibC++/include/RobotState.h | 2 +- wpilibc/wpilibC++/include/SensorBase.h | 2 +- .../include/SmartDashboard/SendableChooser.h | 3 +- .../include/SmartDashboard/SmartDashboard.h | 4 +- wpilibc/wpilibC++/include/Task.h | 2 +- wpilibc/wpilibC++/include/Timer.h | 8 +- .../include/interfaces/Accelerometer.h | 2 +- .../include/interfaces/Potentiometer.h | 2 +- .../wpilibC++/src/Buttons/InternalButton.cpp | 2 - wpilibc/wpilibC++/src/Buttons/Trigger.cpp | 2 - wpilibc/wpilibC++/src/Commands/Command.cpp | 10 -- .../wpilibC++/src/Commands/CommandGroup.cpp | 11 +-- .../src/Commands/CommandGroupEntry.cpp | 6 -- wpilibc/wpilibC++/src/Commands/Scheduler.cpp | 10 +- wpilibc/wpilibC++/src/Commands/Subsystem.cpp | 7 +- wpilibc/wpilibC++/src/Error.cpp | 5 +- wpilibc/wpilibC++/src/ErrorBase.cpp | 2 - .../wpilibC++/src/LiveWindow/LiveWindow.cpp | 3 - .../src/SmartDashboard/SendableChooser.cpp | 2 - .../wpilibC++Devices/include/ADXL345_I2C.h | 4 +- .../include/AnalogAccelerometer.h | 6 +- .../wpilibC++Devices/include/AnalogInput.h | 2 +- .../wpilibC++Devices/include/AnalogOutput.h | 2 +- .../include/BuiltInAccelerometer.h | 4 +- wpilibc/wpilibC++Devices/include/CANJaguar.h | 93 ++++++++++--------- wpilibc/wpilibC++Devices/include/CANTalon.h | 10 +- wpilibc/wpilibC++Devices/include/Compressor.h | 9 +- wpilibc/wpilibC++Devices/include/Counter.h | 14 +-- .../wpilibC++Devices/include/CounterBase.h | 2 +- .../wpilibC++Devices/include/DigitalInput.h | 2 +- .../wpilibC++Devices/include/DigitalOutput.h | 2 +- .../wpilibC++Devices/include/DigitalSource.h | 2 +- .../wpilibC++Devices/include/DoubleSolenoid.h | 2 +- .../wpilibC++Devices/include/DriverStation.h | 18 ++-- wpilibc/wpilibC++Devices/include/Encoder.h | 16 ++-- wpilibc/wpilibC++Devices/include/GearTooth.h | 2 +- wpilibc/wpilibC++Devices/include/Gyro.h | 2 +- .../include/InterruptableSensorBase.h | 4 +- .../wpilibC++Devices/include/IterativeRobot.h | 10 +- wpilibc/wpilibC++Devices/include/Jaguar.h | 4 +- wpilibc/wpilibC++Devices/include/Joystick.h | 12 +-- wpilibc/wpilibC++Devices/include/PWM.h | 2 +- .../include/PowerDistributionPanel.h | 2 +- .../wpilibC++Devices/include/Preferences.h | 6 +- wpilibc/wpilibC++Devices/include/Relay.h | 2 +- wpilibc/wpilibC++Devices/include/RobotBase.h | 4 +- wpilibc/wpilibC++Devices/include/RobotDrive.h | 16 ++-- .../wpilibC++Devices/include/SampleRobot.h | 2 +- wpilibc/wpilibC++Devices/include/SerialPort.h | 6 +- wpilibc/wpilibC++Devices/include/Servo.h | 2 +- wpilibc/wpilibC++Devices/include/Solenoid.h | 2 +- .../wpilibC++Devices/include/SolenoidBase.h | 2 +- .../include/SpeedController.h | 2 +- wpilibc/wpilibC++Devices/include/Talon.h | 4 +- wpilibc/wpilibC++Devices/include/TalonSRX.h | 4 +- wpilibc/wpilibC++Devices/include/USBCamera.h | 32 ++++--- wpilibc/wpilibC++Devices/include/Ultrasonic.h | 2 +- wpilibc/wpilibC++Devices/include/Victor.h | 4 +- wpilibc/wpilibC++Devices/include/VictorSP.h | 4 +- .../include/Vision/AxisCamera.h | 28 +++--- .../include/Vision/BinaryImage.h | 2 +- .../include/Vision/ColorImage.h | 2 +- .../include/Vision/HSLImage.h | 2 +- .../include/Vision/MonoImage.h | 2 +- .../include/Vision/RGBImage.h | 2 +- wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp | 8 -- .../src/AnalogAccelerometer.cpp | 3 - wpilibc/wpilibC++Devices/src/AnalogInput.cpp | 1 - wpilibc/wpilibC++Devices/src/AnalogOutput.cpp | 2 - .../src/BuiltInAccelerometer.cpp | 4 +- wpilibc/wpilibC++Devices/src/CANJaguar.cpp | 55 +---------- wpilibc/wpilibC++Devices/src/CANTalon.cpp | 6 +- wpilibc/wpilibC++Devices/src/Compressor.cpp | 21 +---- wpilibc/wpilibC++Devices/src/Counter.cpp | 28 ++---- wpilibc/wpilibC++Devices/src/DigitalInput.cpp | 1 - .../wpilibC++Devices/src/DigitalOutput.cpp | 1 - .../wpilibC++Devices/src/DigitalSource.cpp | 13 --- .../wpilibC++Devices/src/DoubleSolenoid.cpp | 1 - .../wpilibC++Devices/src/DriverStation.cpp | 11 +-- wpilibc/wpilibC++Devices/src/Encoder.cpp | 13 +-- wpilibc/wpilibC++Devices/src/GearTooth.cpp | 5 - wpilibc/wpilibC++Devices/src/Gyro.cpp | 1 - .../src/InterruptableSensorBase.cpp | 3 - .../wpilibC++Devices/src/IterativeRobot.cpp | 17 ---- wpilibc/wpilibC++Devices/src/Jaguar.cpp | 3 - wpilibc/wpilibC++Devices/src/Joystick.cpp | 10 +- wpilibc/wpilibC++Devices/src/Notifier.cpp | 5 - .../wpilibC++Devices/src/PIDController.cpp | 26 +----- wpilibc/wpilibC++Devices/src/PWM.cpp | 1 - .../src/PowerDistributionPanel.cpp | 2 +- wpilibc/wpilibC++Devices/src/Preferences.cpp | 5 +- wpilibc/wpilibC++Devices/src/Relay.cpp | 1 - wpilibc/wpilibC++Devices/src/RobotBase.cpp | 2 +- wpilibc/wpilibC++Devices/src/RobotDrive.cpp | 7 -- wpilibc/wpilibC++Devices/src/SensorBase.cpp | 5 - wpilibc/wpilibC++Devices/src/SerialPort.cpp | 2 +- wpilibc/wpilibC++Devices/src/Servo.cpp | 1 - wpilibc/wpilibC++Devices/src/Solenoid.cpp | 1 - wpilibc/wpilibC++Devices/src/SolenoidBase.cpp | 5 - wpilibc/wpilibC++Devices/src/Talon.cpp | 3 - wpilibc/wpilibC++Devices/src/TalonSRX.cpp | 3 - wpilibc/wpilibC++Devices/src/Task.cpp | 1 - wpilibc/wpilibC++Devices/src/Timer.cpp | 6 +- wpilibc/wpilibC++Devices/src/USBCamera.cpp | 31 ++----- wpilibc/wpilibC++Devices/src/Ultrasonic.cpp | 1 - wpilibc/wpilibC++Devices/src/Victor.cpp | 3 - wpilibc/wpilibC++Devices/src/VictorSP.cpp | 3 - .../src/Vision/AxisCamera.cpp | 16 +--- .../src/Vision/BinaryImage.cpp | 4 - .../src/Vision/ColorImage.cpp | 2 - .../wpilibC++Devices/src/Vision/HSLImage.cpp | 2 - .../wpilibC++Devices/src/Vision/MonoImage.cpp | 2 - .../wpilibC++Devices/src/Vision/RGBImage.cpp | 2 - .../src/TestEnvironment.cpp | 4 +- .../src/command/CommandTest.cpp | 4 +- wpilibc/wpilibC++Sim/include/AnalogInput.h | 4 +- wpilibc/wpilibC++Sim/include/CounterBase.h | 2 +- wpilibc/wpilibC++Sim/include/DigitalInput.h | 4 +- wpilibc/wpilibC++Sim/include/DoubleSolenoid.h | 2 +- wpilibc/wpilibC++Sim/include/DriverStation.h | 14 +-- wpilibc/wpilibC++Sim/include/Encoder.h | 2 +- wpilibc/wpilibC++Sim/include/Gyro.h | 4 +- wpilibc/wpilibC++Sim/include/IterativeRobot.h | 14 +-- wpilibc/wpilibC++Sim/include/Jaguar.h | 2 +- wpilibc/wpilibC++Sim/include/Joystick.h | 6 +- wpilibc/wpilibC++Sim/include/PWM.h | 4 +- wpilibc/wpilibC++Sim/include/Relay.h | 2 +- wpilibc/wpilibC++Sim/include/RobotBase.h | 2 +- wpilibc/wpilibC++Sim/include/RobotDrive.h | 12 +-- wpilibc/wpilibC++Sim/include/SampleRobot.h | 2 +- wpilibc/wpilibC++Sim/include/Solenoid.h | 2 +- .../wpilibC++Sim/include/SpeedController.h | 2 +- wpilibc/wpilibC++Sim/include/Talon.h | 2 +- wpilibc/wpilibC++Sim/include/Victor.h | 2 +- wpilibc/wpilibC++Sim/src/AnalogInput.cpp | 9 -- wpilibc/wpilibC++Sim/src/DigitalInput.cpp | 8 -- wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp | 7 -- wpilibc/wpilibC++Sim/src/DriverStation.cpp | 7 -- wpilibc/wpilibC++Sim/src/Encoder.cpp | 9 -- wpilibc/wpilibC++Sim/src/Gyro.cpp | 8 -- wpilibc/wpilibC++Sim/src/IterativeRobot.cpp | 22 ----- wpilibc/wpilibC++Sim/src/Jaguar.cpp | 4 - wpilibc/wpilibC++Sim/src/Joystick.cpp | 10 +- wpilibc/wpilibC++Sim/src/PWM.cpp | 10 -- wpilibc/wpilibC++Sim/src/Relay.cpp | 1 - wpilibc/wpilibC++Sim/src/RobotBase.cpp | 10 -- wpilibc/wpilibC++Sim/src/RobotDrive.cpp | 6 -- wpilibc/wpilibC++Sim/src/SensorBase.cpp | 7 -- wpilibc/wpilibC++Sim/src/Solenoid.cpp | 7 -- wpilibc/wpilibC++Sim/src/Talon.cpp | 4 - wpilibc/wpilibC++Sim/src/Victor.cpp | 4 - 179 files changed, 379 insertions(+), 831 deletions(-) delete mode 100644 wpilibc/wpilibC++Devices/src/DigitalSource.cpp diff --git a/wpilibc/wpilibC++/include/Buttons/ButtonScheduler.h b/wpilibc/wpilibC++/include/Buttons/ButtonScheduler.h index 7accbc9e36..6222da710c 100644 --- a/wpilibc/wpilibC++/include/Buttons/ButtonScheduler.h +++ b/wpilibc/wpilibC++/include/Buttons/ButtonScheduler.h @@ -14,7 +14,7 @@ class Command; class ButtonScheduler { public: ButtonScheduler(bool last, Trigger *button, Command *orders); - virtual ~ButtonScheduler() {} + virtual ~ButtonScheduler() = default; virtual void Execute() = 0; void Start(); diff --git a/wpilibc/wpilibC++/include/Buttons/CancelButtonScheduler.h b/wpilibc/wpilibC++/include/Buttons/CancelButtonScheduler.h index ea5f8ff2d0..ba3ba2475a 100644 --- a/wpilibc/wpilibC++/include/Buttons/CancelButtonScheduler.h +++ b/wpilibc/wpilibC++/include/Buttons/CancelButtonScheduler.h @@ -16,7 +16,7 @@ class Command; class CancelButtonScheduler : public ButtonScheduler { public: CancelButtonScheduler(bool last, Trigger *button, Command *orders); - virtual ~CancelButtonScheduler() {} + virtual ~CancelButtonScheduler() = default; virtual void Execute(); private: diff --git a/wpilibc/wpilibC++/include/Buttons/HeldButtonScheduler.h b/wpilibc/wpilibC++/include/Buttons/HeldButtonScheduler.h index f68bcd70e7..6dcd7a36f3 100644 --- a/wpilibc/wpilibC++/include/Buttons/HeldButtonScheduler.h +++ b/wpilibc/wpilibC++/include/Buttons/HeldButtonScheduler.h @@ -16,7 +16,7 @@ class Command; class HeldButtonScheduler : public ButtonScheduler { public: HeldButtonScheduler(bool last, Trigger *button, Command *orders); - virtual ~HeldButtonScheduler() {} + virtual ~HeldButtonScheduler() = default; virtual void Execute(); }; diff --git a/wpilibc/wpilibC++/include/Buttons/InternalButton.h b/wpilibc/wpilibC++/include/Buttons/InternalButton.h index 5f54d34818..fdad6f991a 100644 --- a/wpilibc/wpilibC++/include/Buttons/InternalButton.h +++ b/wpilibc/wpilibC++/include/Buttons/InternalButton.h @@ -12,9 +12,9 @@ class InternalButton : public Button { public: - InternalButton(); + InternalButton() = default; InternalButton(bool inverted); - virtual ~InternalButton() {} + virtual ~InternalButton() = default; void SetInverted(bool inverted); void SetPressed(bool pressed); @@ -22,8 +22,8 @@ class InternalButton : public Button { virtual bool Get(); private: - bool m_pressed; - bool m_inverted; + bool m_pressed = false; + bool m_inverted = false; }; #endif diff --git a/wpilibc/wpilibC++/include/Buttons/JoystickButton.h b/wpilibc/wpilibC++/include/Buttons/JoystickButton.h index f34f36561a..028efeaf7d 100644 --- a/wpilibc/wpilibC++/include/Buttons/JoystickButton.h +++ b/wpilibc/wpilibC++/include/Buttons/JoystickButton.h @@ -14,7 +14,7 @@ class JoystickButton : public Button { public: JoystickButton(GenericHID *joystick, int buttonNumber); - virtual ~JoystickButton() {} + virtual ~JoystickButton() = default; virtual bool Get(); diff --git a/wpilibc/wpilibC++/include/Buttons/NetworkButton.h b/wpilibc/wpilibC++/include/Buttons/NetworkButton.h index 6ec0c1ea79..19d2249213 100644 --- a/wpilibc/wpilibC++/include/Buttons/NetworkButton.h +++ b/wpilibc/wpilibC++/include/Buttons/NetworkButton.h @@ -15,7 +15,7 @@ class NetworkButton : public Button { public: NetworkButton(const char *tableName, const char *field); NetworkButton(ITable *table, const char *field); - virtual ~NetworkButton() {} + virtual ~NetworkButton() = default; virtual bool Get(); diff --git a/wpilibc/wpilibC++/include/Buttons/PressedButtonScheduler.h b/wpilibc/wpilibC++/include/Buttons/PressedButtonScheduler.h index 4acb1a1498..62ff7a8496 100644 --- a/wpilibc/wpilibC++/include/Buttons/PressedButtonScheduler.h +++ b/wpilibc/wpilibC++/include/Buttons/PressedButtonScheduler.h @@ -16,7 +16,7 @@ class Command; class PressedButtonScheduler : public ButtonScheduler { public: PressedButtonScheduler(bool last, Trigger *button, Command *orders); - virtual ~PressedButtonScheduler() {} + virtual ~PressedButtonScheduler() = default; virtual void Execute(); }; diff --git a/wpilibc/wpilibC++/include/Buttons/ReleasedButtonScheduler.h b/wpilibc/wpilibC++/include/Buttons/ReleasedButtonScheduler.h index e0fceeaf6c..2a29981ed9 100644 --- a/wpilibc/wpilibC++/include/Buttons/ReleasedButtonScheduler.h +++ b/wpilibc/wpilibC++/include/Buttons/ReleasedButtonScheduler.h @@ -16,7 +16,7 @@ class Command; class ReleasedButtonScheduler : public ButtonScheduler { public: ReleasedButtonScheduler(bool last, Trigger *button, Command *orders); - virtual ~ReleasedButtonScheduler() {} + virtual ~ReleasedButtonScheduler() = default; virtual void Execute(); }; diff --git a/wpilibc/wpilibC++/include/Buttons/ToggleButtonScheduler.h b/wpilibc/wpilibC++/include/Buttons/ToggleButtonScheduler.h index 42d52bd15a..d79b4561f8 100644 --- a/wpilibc/wpilibC++/include/Buttons/ToggleButtonScheduler.h +++ b/wpilibc/wpilibC++/include/Buttons/ToggleButtonScheduler.h @@ -16,7 +16,7 @@ class Command; class ToggleButtonScheduler : public ButtonScheduler { public: ToggleButtonScheduler(bool last, Trigger *button, Command *orders); - virtual ~ToggleButtonScheduler() {} + virtual ~ToggleButtonScheduler() = default; virtual void Execute(); private: diff --git a/wpilibc/wpilibC++/include/Buttons/Trigger.h b/wpilibc/wpilibC++/include/Buttons/Trigger.h index 056042f16d..c5e38a42c5 100644 --- a/wpilibc/wpilibC++/include/Buttons/Trigger.h +++ b/wpilibc/wpilibC++/include/Buttons/Trigger.h @@ -31,8 +31,8 @@ class Command; */ class Trigger : public Sendable { public: - Trigger(); - virtual ~Trigger() {} + Trigger() = default; + virtual ~Trigger() = default; bool Grab(); virtual bool Get() = 0; void WhenActive(Command *command); @@ -46,7 +46,7 @@ class Trigger : public Sendable { virtual std::string GetSmartDashboardType() const; protected: - ITable *m_table; + ITable *m_table = nullptr; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/Command.h b/wpilibc/wpilibC++/include/Commands/Command.h index 0eccd3c40d..9335bf4403 100644 --- a/wpilibc/wpilibC++/include/Commands/Command.h +++ b/wpilibc/wpilibC++/include/Commands/Command.h @@ -139,28 +139,39 @@ class Command : public ErrorBase, public NamedSendable, public ITableListener { /** The name of this command */ std::string m_name; + /** The time since this command was initialized */ - double m_startTime; + double m_startTime = -1; + /** The time (in seconds) before this command "times out" (or -1 if no * timeout) */ double m_timeout; + /** Whether or not this command has been initialized */ - bool m_initialized; + bool m_initialized = false; + /** The requirements (or null if no requirements) */ SubsystemSet m_requirements; + /** Whether or not it is running */ - bool m_running; + bool m_running = false; + /** Whether or not it is interruptible*/ - bool m_interruptible; + bool m_interruptible = true; + /** Whether or not it has been canceled */ - bool m_canceled; + bool m_canceled = false; + /** Whether or not it has been locked */ - bool m_locked; + bool m_locked = false; + /** Whether this command should run when the robot is disabled */ - bool m_runWhenDisabled; + bool m_runWhenDisabled = false; + /** The {@link CommandGroup} this is in */ - CommandGroup *m_parent; - int m_commandID; + CommandGroup *m_parent = nullptr; + + int m_commandID = m_commandCounter++; static int m_commandCounter; public: @@ -172,7 +183,7 @@ class Command : public ErrorBase, public NamedSendable, public ITableListener { EntryValue value, bool isNew); protected: - ITable *m_table; + ITable *m_table = nullptr; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/CommandGroup.h b/wpilibc/wpilibC++/include/Commands/CommandGroup.h index 302d9c6c1a..c7a87a060a 100644 --- a/wpilibc/wpilibC++/include/Commands/CommandGroup.h +++ b/wpilibc/wpilibC++/include/Commands/CommandGroup.h @@ -36,9 +36,9 @@ */ class CommandGroup : public Command { public: - CommandGroup(); + CommandGroup() = default; CommandGroup(const char *name); - virtual ~CommandGroup(); + virtual ~CommandGroup() = default; void AddSequential(Command *command); void AddSequential(Command *command, double timeout); @@ -61,14 +61,14 @@ class CommandGroup : public Command { private: void CancelConflicts(Command *command); - typedef std::vector CommandVector; /** The commands in this group (stored in entries) */ - CommandVector m_commands; - typedef std::list CommandList; + std::vector m_commands; + /** The active children in this group (stored in entries) */ - CommandList m_children; + std::list m_children; + /** The current command, -1 signifies that none have been run */ - int m_currentCommandIndex; + int m_currentCommandIndex = -1; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h b/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h index 4a0d96058c..41d1cbe201 100644 --- a/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h +++ b/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h @@ -18,14 +18,13 @@ class CommandGroupEntry { kSequence_BranchChild } Sequence; - CommandGroupEntry(); - CommandGroupEntry(Command *command, Sequence state); - CommandGroupEntry(Command *command, Sequence state, double timeout); + CommandGroupEntry() = default; + CommandGroupEntry(Command *command, Sequence state, double timeout = -1.0); bool IsTimedOut() const; double m_timeout; - Command *m_command; - Sequence m_state; + Command *m_command = nullptr; + Sequence m_state = kSequence_InSequence; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/PrintCommand.h b/wpilibc/wpilibC++/include/Commands/PrintCommand.h index f36d16d942..14ab971386 100644 --- a/wpilibc/wpilibC++/include/Commands/PrintCommand.h +++ b/wpilibc/wpilibC++/include/Commands/PrintCommand.h @@ -14,7 +14,7 @@ class PrintCommand : public Command { public: PrintCommand(const char *message); - virtual ~PrintCommand() {} + virtual ~PrintCommand() = default; protected: virtual void Initialize(); diff --git a/wpilibc/wpilibC++/include/Commands/Scheduler.h b/wpilibc/wpilibC++/include/Commands/Scheduler.h index c9e81a4f1c..985fce9475 100644 --- a/wpilibc/wpilibC++/include/Commands/Scheduler.h +++ b/wpilibc/wpilibC++/include/Commands/Scheduler.h @@ -52,20 +52,20 @@ class Scheduler : public ErrorBase, public NamedSendable { static Scheduler *_instance; Command::SubsystemSet m_subsystems; - MUTEX_ID m_buttonsLock; + MUTEX_ID m_buttonsLock = nullptr; typedef std::vector ButtonVector; ButtonVector m_buttons; typedef std::vector CommandVector; - MUTEX_ID m_additionsLock; + MUTEX_ID m_additionsLock = nullptr; CommandVector m_additions; typedef std::set CommandSet; CommandSet m_commands; - bool m_adding; - bool m_enabled; - StringArray *commands; - NumberArray *ids; - NumberArray *toCancel; - ITable *m_table; - bool m_runningCommandsChanged; + bool m_adding = false; + bool m_enabled = true; + StringArray *commands = nullptr; + NumberArray *ids = nullptr; + NumberArray *toCancel = nullptr; + ITable *m_table = nullptr; + bool m_runningCommandsChanged = false; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/StartCommand.h b/wpilibc/wpilibC++/include/Commands/StartCommand.h index 3e612d2b21..8f53d14837 100644 --- a/wpilibc/wpilibC++/include/Commands/StartCommand.h +++ b/wpilibc/wpilibC++/include/Commands/StartCommand.h @@ -13,7 +13,7 @@ class StartCommand : public Command { public: StartCommand(Command *commandToStart); - virtual ~StartCommand() {} + virtual ~StartCommand() = default; protected: virtual void Initialize(); diff --git a/wpilibc/wpilibC++/include/Commands/Subsystem.h b/wpilibc/wpilibC++/include/Commands/Subsystem.h index a6973d230c..df6d5d86eb 100644 --- a/wpilibc/wpilibC++/include/Commands/Subsystem.h +++ b/wpilibc/wpilibC++/include/Commands/Subsystem.h @@ -19,7 +19,7 @@ class Subsystem : public ErrorBase, public NamedSendable { public: Subsystem(const char *name); - virtual ~Subsystem() {} + virtual ~Subsystem() = default; void SetDefaultCommand(Command *command); Command *GetDefaultCommand(); @@ -30,11 +30,11 @@ class Subsystem : public ErrorBase, public NamedSendable { private: void ConfirmCommand(); - Command *m_currentCommand; - bool m_currentCommandChanged; - Command *m_defaultCommand; + Command *m_currentCommand = nullptr; + bool m_currentCommandChanged = true; + Command *m_defaultCommand = nullptr; std::string m_name; - bool m_initializedDefaultCommand; + bool m_initializedDefaultCommand = false; public: virtual std::string GetName(); @@ -43,7 +43,7 @@ class Subsystem : public ErrorBase, public NamedSendable { virtual std::string GetSmartDashboardType() const; protected: - ITable *m_table; + ITable *m_table = nullptr; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/WaitCommand.h b/wpilibc/wpilibC++/include/Commands/WaitCommand.h index 7a61968bd2..33e45e9183 100644 --- a/wpilibc/wpilibC++/include/Commands/WaitCommand.h +++ b/wpilibc/wpilibC++/include/Commands/WaitCommand.h @@ -14,7 +14,7 @@ class WaitCommand : public Command { public: WaitCommand(double timeout); WaitCommand(const char *name, double timeout); - virtual ~WaitCommand() {} + virtual ~WaitCommand() = default; protected: virtual void Initialize(); diff --git a/wpilibc/wpilibC++/include/Commands/WaitForChildren.h b/wpilibc/wpilibC++/include/Commands/WaitForChildren.h index 17435ce36c..60db4aff06 100644 --- a/wpilibc/wpilibC++/include/Commands/WaitForChildren.h +++ b/wpilibc/wpilibC++/include/Commands/WaitForChildren.h @@ -14,7 +14,7 @@ class WaitForChildren : public Command { public: WaitForChildren(double timeout); WaitForChildren(const char *name, double timeout); - virtual ~WaitForChildren() {} + virtual ~WaitForChildren() = default; protected: virtual void Initialize(); diff --git a/wpilibc/wpilibC++/include/Commands/WaitUntilCommand.h b/wpilibc/wpilibC++/include/Commands/WaitUntilCommand.h index dbd08a0873..d445bfae1b 100644 --- a/wpilibc/wpilibC++/include/Commands/WaitUntilCommand.h +++ b/wpilibc/wpilibC++/include/Commands/WaitUntilCommand.h @@ -14,7 +14,7 @@ class WaitUntilCommand : public Command { public: WaitUntilCommand(double time); WaitUntilCommand(const char *name, double time); - virtual ~WaitUntilCommand() {} + virtual ~WaitUntilCommand() = default; protected: virtual void Initialize(); diff --git a/wpilibc/wpilibC++/include/Controller.h b/wpilibc/wpilibC++/include/Controller.h index 1b25c2516a..7ececd1151 100644 --- a/wpilibc/wpilibC++/include/Controller.h +++ b/wpilibc/wpilibC++/include/Controller.h @@ -20,7 +20,7 @@ */ class Controller { public: - virtual ~Controller(){}; + virtual ~Controller() = default; /** * Allows the control loop to run diff --git a/wpilibc/wpilibC++/include/Error.h b/wpilibc/wpilibC++/include/Error.h index 9fde78ec28..9b804ff174 100644 --- a/wpilibc/wpilibC++/include/Error.h +++ b/wpilibc/wpilibC++/include/Error.h @@ -21,7 +21,6 @@ class Error { typedef int32_t Code; Error(); - ~Error(); void Clone(Error& error); Code GetCode() const; const char* GetMessage() const; @@ -41,13 +40,13 @@ class Error { private: void Report(); - Code m_code; + Code m_code = 0; std::string m_message; std::string m_filename; std::string m_function; - uint32_t m_lineNumber; - const ErrorBase* m_originatingObject; - double m_timestamp; + uint32_t m_lineNumber = 0; + const ErrorBase* m_originatingObject = nullptr; + double m_timestamp = 0.0; static bool m_suspendOnErrorEnabled; DISALLOW_COPY_AND_ASSIGN(Error); diff --git a/wpilibc/wpilibC++/include/ErrorBase.h b/wpilibc/wpilibC++/include/ErrorBase.h index 5b0dbce081..d56251e98f 100644 --- a/wpilibc/wpilibC++/include/ErrorBase.h +++ b/wpilibc/wpilibC++/include/ErrorBase.h @@ -51,7 +51,8 @@ class ErrorBase { // TODO: Consider initializing instance variables and cleanup in destructor public: - virtual ~ErrorBase(); + ErrorBase(); + virtual ~ErrorBase() = default; virtual Error& GetError(); virtual const Error& GetError() const; virtual void SetErrnoError(const char* contextMessage, const char* filename, @@ -82,7 +83,6 @@ class ErrorBase { // TODO: Replace globalError with a global list of all errors. static MUTEX_ID _globalErrorMutex; static Error _globalError; - ErrorBase(); private: DISALLOW_COPY_AND_ASSIGN(ErrorBase); diff --git a/wpilibc/wpilibC++/include/GenericHID.h b/wpilibc/wpilibC++/include/GenericHID.h index 84f0f76f74..bf1fe8eb9a 100644 --- a/wpilibc/wpilibC++/include/GenericHID.h +++ b/wpilibc/wpilibC++/include/GenericHID.h @@ -14,7 +14,7 @@ class GenericHID { public: enum JoystickHand { kLeftHand = 0, kRightHand = 1 }; - virtual ~GenericHID() {} + virtual ~GenericHID() = default; virtual float GetX(JoystickHand hand = kRightHand) const = 0; virtual float GetY(JoystickHand hand = kRightHand) const = 0; diff --git a/wpilibc/wpilibC++/include/HLUsageReporting.h b/wpilibc/wpilibC++/include/HLUsageReporting.h index 991125b3a2..5d8d34ffda 100644 --- a/wpilibc/wpilibC++/include/HLUsageReporting.h +++ b/wpilibc/wpilibC++/include/HLUsageReporting.h @@ -7,7 +7,7 @@ class HLUsageReportingInterface { public: - virtual ~HLUsageReportingInterface(){}; + virtual ~HLUsageReportingInterface() = default; virtual void ReportScheduler() = 0; virtual void ReportSmartDashboard() = 0; }; diff --git a/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h b/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h index a50c9f99f3..3b4b8f2260 100644 --- a/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h +++ b/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h @@ -12,7 +12,7 @@ struct LiveWindowComponent { std::string name; bool isSensor; - LiveWindowComponent() {} + LiveWindowComponent() = default; LiveWindowComponent(std::string subsystem, std::string name, bool isSensor) { this->subsystem = subsystem; this->name = name; @@ -46,7 +46,7 @@ class LiveWindow { protected: LiveWindow(); - virtual ~LiveWindow(); + virtual ~LiveWindow() = default; private: void UpdateValues(); @@ -61,8 +61,8 @@ class LiveWindow { Scheduler *m_scheduler; - bool m_enabled; - bool m_firstTime; + bool m_enabled = false; + bool m_firstTime = true; }; #endif diff --git a/wpilibc/wpilibC++/include/Notifier.h b/wpilibc/wpilibC++/include/Notifier.h index 9bb108b97d..b034b12a84 100644 --- a/wpilibc/wpilibC++/include/Notifier.h +++ b/wpilibc/wpilibC++/include/Notifier.h @@ -35,11 +35,11 @@ class Notifier : public ErrorBase { void DeleteFromQueue(); // delete this Notifier from the timer queue TimerEventHandler m_handler; // address of the handler void *m_param; // a parameter to pass to the handler - double m_period; // the relative time (either periodic or single) - double m_expirationTime; // absolute expiration time for the current event - Notifier *m_nextEvent; // next Nofifier event - bool m_periodic; // true if this is a periodic event - bool m_queued; // indicates if this entry is queued + double m_period = 0; // the relative time (either periodic or single) + double m_expirationTime = 0; // absolute expiration time for the current event + Notifier *m_nextEvent = nullptr; // next Nofifier event + bool m_periodic = false; // true if this is a periodic event + bool m_queued = false; // indicates if this entry is queued SEMAPHORE_ID m_handlerSemaphore; // held by interrupt manager task while // handler call is in progress diff --git a/wpilibc/wpilibC++/include/PIDController.h b/wpilibc/wpilibC++/include/PIDController.h index c60079a4c4..135055ac9f 100644 --- a/wpilibc/wpilibC++/include/PIDController.h +++ b/wpilibc/wpilibC++/include/PIDController.h @@ -66,24 +66,28 @@ class PIDController : public LiveWindowSendable, float m_I; // factor for "integral" control float m_D; // factor for "derivative" control float m_F; // factor for "feed forward" control - float m_maximumOutput; // |maximum output| - float m_minimumOutput; // |minimum output| - float m_maximumInput; // maximum input - limit setpoint to this - float m_minimumInput; // minimum input - limit setpoint to this - bool m_continuous; // do the endpoints wrap around? eg. Absolute encoder - bool m_enabled; // is the pid controller enabled + float m_maximumOutput = 1.0; // |maximum output| + float m_minimumOutput = -1.0; // |minimum output| + float m_maximumInput = 0; // maximum input - limit setpoint to this + float m_minimumInput = 0; // minimum input - limit setpoint to this + bool m_continuous = false; // do the endpoints wrap around? eg. Absolute encoder + bool m_enabled = false; // is the pid controller enabled bool m_destruct; // should the calculate thread stop running - float m_prevError; // the prior sensor input (used to compute velocity) - double m_totalError; // the sum of the errors for use in the integral calc - enum { kAbsoluteTolerance, kPercentTolerance, kNoTolerance } m_toleranceType; - float m_tolerance; // the percetage or absolute error that is considered on + float m_prevError = 0; // the prior sensor input (used to compute velocity) + double m_totalError = 0; // the sum of the errors for use in the integral calc + enum { + kAbsoluteTolerance, + kPercentTolerance, + kNoTolerance + } m_toleranceType = kNoTolerance; + float m_tolerance = 0.05; // the percetage or absolute error that is considered on // target - float m_setpoint; + float m_setpoint = 0; float m_error; - float m_result; + float m_result = 0; float m_period; - MUTEX_ID m_semaphore; + MUTEX_ID m_semaphore = 0; PIDSource *m_pidInput; PIDOutput *m_pidOutput; @@ -103,7 +107,7 @@ class PIDController : public LiveWindowSendable, virtual void StopLiveWindowMode() override; protected: - ITable *m_table; + ITable *m_table = nullptr; virtual void Calculate(); DISALLOW_COPY_AND_ASSIGN(PIDController); diff --git a/wpilibc/wpilibC++/include/RobotState.h b/wpilibc/wpilibC++/include/RobotState.h index 82dcd3242b..941afc38e3 100644 --- a/wpilibc/wpilibC++/include/RobotState.h +++ b/wpilibc/wpilibC++/include/RobotState.h @@ -7,7 +7,7 @@ class RobotStateInterface { public: - virtual ~RobotStateInterface(){}; + virtual ~RobotStateInterface() = default; virtual bool IsDisabled() const = 0; virtual bool IsEnabled() const = 0; virtual bool IsOperatorControl() const = 0; diff --git a/wpilibc/wpilibC++/include/SensorBase.h b/wpilibc/wpilibC++/include/SensorBase.h index 3f6f95873f..afff0baf88 100644 --- a/wpilibc/wpilibC++/include/SensorBase.h +++ b/wpilibc/wpilibC++/include/SensorBase.h @@ -19,7 +19,7 @@ class SensorBase : public ErrorBase { public: SensorBase(); - virtual ~SensorBase(); + virtual ~SensorBase() = default; static void DeleteSingletons(); static uint32_t GetDefaultSolenoidModule() { return 0; } diff --git a/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h b/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h index 46d6ccbe08..c3512506a4 100644 --- a/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h +++ b/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h @@ -32,8 +32,7 @@ */ class SendableChooser : public Sendable { public: - SendableChooser(); - virtual ~SendableChooser(){}; + virtual ~SendableChooser() = default; void AddObject(const char *name, void *object); void AddDefault(const char *name, void *object); diff --git a/wpilibc/wpilibC++/include/SmartDashboard/SmartDashboard.h b/wpilibc/wpilibC++/include/SmartDashboard/SmartDashboard.h index ce490a6388..ce32caae27 100644 --- a/wpilibc/wpilibC++/include/SmartDashboard/SmartDashboard.h +++ b/wpilibc/wpilibC++/include/SmartDashboard/SmartDashboard.h @@ -40,9 +40,7 @@ class SmartDashboard : public SensorBase { static void RetrieveValue(std::string keyName, ComplexData &value); private: - SmartDashboard(); - virtual ~SmartDashboard(); - DISALLOW_COPY_AND_ASSIGN(SmartDashboard); + virtual ~SmartDashboard() = default; /** The {@link NetworkTable} used by {@link SmartDashboard} */ static ITable *m_table; diff --git a/wpilibc/wpilibC++/include/Task.h b/wpilibc/wpilibC++/include/Task.h index 123e3224cb..a394d46d1d 100644 --- a/wpilibc/wpilibC++/include/Task.h +++ b/wpilibc/wpilibC++/include/Task.h @@ -44,7 +44,7 @@ class Task : public ErrorBase { private: FUNCPTR m_function; char* m_taskName; - TASK m_taskID; + TASK m_taskID = NULL_TASK; uint32_t m_stackSize; int m_priority; bool HandleError(STATUS results); diff --git a/wpilibc/wpilibC++/include/Timer.h b/wpilibc/wpilibC++/include/Timer.h index 0a8b69c68d..bd914806b5 100644 --- a/wpilibc/wpilibC++/include/Timer.h +++ b/wpilibc/wpilibC++/include/Timer.h @@ -43,9 +43,9 @@ class Timer { static constexpr double kRolloverTime = (1ll << 32) / 1e6; private: - double m_startTime; - double m_accumulatedTime; - bool m_running; - MUTEX_ID m_semaphore; + double m_startTime = 0.0; + double m_accumulatedTime = 0.0; + bool m_running = false; + MUTEX_ID m_semaphore = nullptr; DISALLOW_COPY_AND_ASSIGN(Timer); }; diff --git a/wpilibc/wpilibC++/include/interfaces/Accelerometer.h b/wpilibc/wpilibC++/include/interfaces/Accelerometer.h index 9c024f1dc6..528d1200a7 100644 --- a/wpilibc/wpilibC++/include/interfaces/Accelerometer.h +++ b/wpilibc/wpilibC++/include/interfaces/Accelerometer.h @@ -10,7 +10,7 @@ */ class Accelerometer { public: - virtual ~Accelerometer(){}; + virtual ~Accelerometer() = default; enum Range { kRange_2G = 0, kRange_4G = 1, kRange_8G = 2, kRange_16G = 3 }; diff --git a/wpilibc/wpilibC++/include/interfaces/Potentiometer.h b/wpilibc/wpilibC++/include/interfaces/Potentiometer.h index f89da062af..66c2eb887f 100644 --- a/wpilibc/wpilibC++/include/interfaces/Potentiometer.h +++ b/wpilibc/wpilibC++/include/interfaces/Potentiometer.h @@ -15,7 +15,7 @@ */ class Potentiometer : public PIDSource { public: - virtual ~Potentiometer(){}; + virtual ~Potentiometer() = default; /** * Common interface for getting the current value of a potentiometer. * diff --git a/wpilibc/wpilibC++/src/Buttons/InternalButton.cpp b/wpilibc/wpilibC++/src/Buttons/InternalButton.cpp index 932c943ce1..8c9b22afec 100644 --- a/wpilibc/wpilibC++/src/Buttons/InternalButton.cpp +++ b/wpilibc/wpilibC++/src/Buttons/InternalButton.cpp @@ -7,8 +7,6 @@ #include "Buttons/InternalButton.h" -InternalButton::InternalButton() : m_pressed(false), m_inverted(false) {} - InternalButton::InternalButton(bool inverted) : m_pressed(inverted), m_inverted(inverted) {} diff --git a/wpilibc/wpilibC++/src/Buttons/Trigger.cpp b/wpilibc/wpilibC++/src/Buttons/Trigger.cpp index 97cbcc1454..0715868e8d 100644 --- a/wpilibc/wpilibC++/src/Buttons/Trigger.cpp +++ b/wpilibc/wpilibC++/src/Buttons/Trigger.cpp @@ -13,8 +13,6 @@ #include "Buttons/ToggleButtonScheduler.h" #include "Buttons/CancelButtonScheduler.h" -Trigger::Trigger() { m_table = nullptr; } - bool Trigger::Grab() { if (Get()) return true; diff --git a/wpilibc/wpilibC++/src/Commands/Command.cpp b/wpilibc/wpilibC++/src/Commands/Command.cpp index d3ec758a72..1beb069306 100644 --- a/wpilibc/wpilibC++/src/Commands/Command.cpp +++ b/wpilibc/wpilibC++/src/Commands/Command.cpp @@ -20,18 +20,8 @@ static const char *kIsParented = "isParented"; int Command::m_commandCounter = 0; void Command::InitCommand(const char *name, double timeout) { - m_commandID = m_commandCounter++; m_timeout = timeout; - m_locked = false; - m_startTime = -1; - m_initialized = false; - m_running = false; - m_interruptible = true; - m_canceled = false; - m_runWhenDisabled = false; - m_parent = nullptr; m_name = name == nullptr ? std::string() : name; - m_table = nullptr; } /** diff --git a/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp b/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp index 562c9d7dd8..43be3b87ca 100644 --- a/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp +++ b/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp @@ -8,20 +8,11 @@ #include "Commands/CommandGroup.h" #include "WPIErrors.h" -/** - * Creates a new {@link CommandGroup CommandGroup}. - */ -CommandGroup::CommandGroup() { m_currentCommandIndex = -1; } - /** * Creates a new {@link CommandGroup CommandGroup} with the given name. * @param name the name for this command group */ -CommandGroup::CommandGroup(const char *name) : Command(name) { - m_currentCommandIndex = -1; -} - -CommandGroup::~CommandGroup() {} +CommandGroup::CommandGroup(const char *name) : Command(name) {} /** * Adds a new {@link Command Command} to the group. The {@link Command Command} diff --git a/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp b/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp index 7fcaf22d34..c9f3fa4a45 100644 --- a/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp +++ b/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp @@ -9,12 +9,6 @@ #include "Commands/Command.h" -CommandGroupEntry::CommandGroupEntry() - : m_timeout(-1.0), m_command(nullptr), m_state(kSequence_InSequence) {} - -CommandGroupEntry::CommandGroupEntry(Command *command, Sequence state) - : m_timeout(-1.0), m_command(command), m_state(state) {} - CommandGroupEntry::CommandGroupEntry(Command *command, Sequence state, double timeout) : m_timeout(timeout), m_command(command), m_state(state) {} diff --git a/wpilibc/wpilibC++/src/Commands/Scheduler.cpp b/wpilibc/wpilibC++/src/Commands/Scheduler.cpp index 1515606b3c..7208629cae 100644 --- a/wpilibc/wpilibC++/src/Commands/Scheduler.cpp +++ b/wpilibc/wpilibC++/src/Commands/Scheduler.cpp @@ -18,19 +18,11 @@ Scheduler *Scheduler::_instance = nullptr; -Scheduler::Scheduler() - : m_buttonsLock(nullptr), m_additionsLock(nullptr), m_adding(false) { +Scheduler::Scheduler() { m_buttonsLock = initializeMutexNormal(); m_additionsLock = initializeMutexNormal(); HLUsageReporting::ReportScheduler(); - - m_table = nullptr; - m_enabled = true; - m_runningCommandsChanged = false; - toCancel = nullptr; - commands = nullptr; - ids = nullptr; } Scheduler::~Scheduler() { diff --git a/wpilibc/wpilibC++/src/Commands/Subsystem.cpp b/wpilibc/wpilibC++/src/Commands/Subsystem.cpp index b039be0e21..53dbfcf74c 100644 --- a/wpilibc/wpilibC++/src/Commands/Subsystem.cpp +++ b/wpilibc/wpilibC++/src/Commands/Subsystem.cpp @@ -15,14 +15,9 @@ * Creates a subsystem with the given name * @param name the name of the subsystem */ -Subsystem::Subsystem(const char *name) - : m_currentCommand(nullptr), - m_defaultCommand(nullptr), - m_initializedDefaultCommand(false) { +Subsystem::Subsystem(const char *name) { m_name = name; Scheduler::GetInstance()->RegisterSubsystem(this); - m_table = nullptr; - m_currentCommandChanged = true; } /** * Initialize the default command for this subsystem diff --git a/wpilibc/wpilibC++/src/Error.cpp b/wpilibc/wpilibC++/src/Error.cpp index a24e5a5f72..7f6e700f20 100644 --- a/wpilibc/wpilibC++/src/Error.cpp +++ b/wpilibc/wpilibC++/src/Error.cpp @@ -19,10 +19,7 @@ #include "Utility.h" bool Error::m_suspendOnErrorEnabled = false; -Error::Error() - : m_code(0), m_lineNumber(0), m_originatingObject(nullptr), m_timestamp(0.0) {} - -Error::~Error() {} +Error::Error() {} void Error::Clone(Error& error) { m_code = error.m_code; diff --git a/wpilibc/wpilibC++/src/ErrorBase.cpp b/wpilibc/wpilibC++/src/ErrorBase.cpp index d0c06d4e69..b7eae3d48b 100644 --- a/wpilibc/wpilibC++/src/ErrorBase.cpp +++ b/wpilibc/wpilibC++/src/ErrorBase.cpp @@ -21,8 +21,6 @@ Error ErrorBase::_globalError; */ ErrorBase::ErrorBase() {} -ErrorBase::~ErrorBase() {} - /** * @brief Retrieve the current error. * Get the current error information associated with this sensor. diff --git a/wpilibc/wpilibC++/src/LiveWindow/LiveWindow.cpp b/wpilibc/wpilibC++/src/LiveWindow/LiveWindow.cpp index 61b3cee8f7..b315fb5d32 100644 --- a/wpilibc/wpilibC++/src/LiveWindow/LiveWindow.cpp +++ b/wpilibc/wpilibC++/src/LiveWindow/LiveWindow.cpp @@ -20,7 +20,6 @@ LiveWindow *LiveWindow::GetInstance() { * Allocate the necessary tables. */ LiveWindow::LiveWindow() { - m_enabled = false; m_liveWindowTable = NetworkTable::GetTable("LiveWindow"); m_statusTable = m_liveWindowTable->GetSubTable("~STATUS~"); m_scheduler = Scheduler::GetInstance(); @@ -52,8 +51,6 @@ void LiveWindow::SetEnabled(bool enabled) { m_statusTable->PutBoolean("LW Enabled", m_enabled); } -LiveWindow::~LiveWindow() {} - /** * Add a Sensor associated with the subsystem and with call it by the given * name. diff --git a/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp b/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp index 56daed6992..9e9434ef02 100644 --- a/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp +++ b/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp @@ -14,8 +14,6 @@ static const char *kDefault = "default"; static const char *kOptions = "options"; static const char *kSelected = "selected"; -SendableChooser::SendableChooser() { m_defaultChoice = ""; } - /** * Adds the given object to the list of options. On the {@link SmartDashboard} * on the desktop, diff --git a/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h b/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h index f3f537a4a7..8e07ccfbd9 100644 --- a/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h +++ b/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h @@ -51,7 +51,7 @@ class ADXL345_I2C : public Accelerometer, public: explicit ADXL345_I2C(Port port, Range range = kRange_2G); - virtual ~ADXL345_I2C(); + virtual ~ADXL345_I2C() = default; // Accelerometer interface virtual void SetRange(Range range) override; @@ -69,8 +69,6 @@ class ADXL345_I2C : public Accelerometer, virtual void StartLiveWindowMode() override {} virtual void StopLiveWindowMode() override {} - protected: - // I2C* m_i2c; private: ITable *m_table; }; diff --git a/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h b/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h index 56de0b165c..cd14381dd1 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h +++ b/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h @@ -43,9 +43,9 @@ class AnalogAccelerometer : public SensorBase, void InitAccelerometer(); AnalogInput *m_AnalogInput; - float m_voltsPerG; - float m_zeroGVoltage; + float m_voltsPerG = 1.0; + float m_zeroGVoltage = 2.5; bool m_allocatedChannel; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/AnalogInput.h b/wpilibc/wpilibC++Devices/include/AnalogInput.h index a1c8cae810..f37c95b88f 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogInput.h +++ b/wpilibc/wpilibC++Devices/include/AnalogInput.h @@ -80,5 +80,5 @@ class AnalogInput : public SensorBase, void *m_port; int64_t m_accumulatorOffset; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/AnalogOutput.h b/wpilibc/wpilibC++Devices/include/AnalogOutput.h index bccf8598bb..25c273a81f 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogOutput.h +++ b/wpilibc/wpilibC++Devices/include/AnalogOutput.h @@ -34,5 +34,5 @@ class AnalogOutput : public SensorBase, public LiveWindowSendable { uint32_t m_channel; void *m_port; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h b/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h index 5dc997af39..2fe26c6c26 100644 --- a/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h +++ b/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h @@ -19,7 +19,7 @@ class BuiltInAccelerometer : public Accelerometer, public LiveWindowSendable { public: BuiltInAccelerometer(Range range = kRange_8G); - virtual ~BuiltInAccelerometer(); + virtual ~BuiltInAccelerometer() = default; // Accelerometer interface virtual void SetRange(Range range) override; @@ -35,5 +35,5 @@ class BuiltInAccelerometer : public Accelerometer, virtual void StopLiveWindowMode() override {} private: - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/CANJaguar.h b/wpilibc/wpilibC++Devices/include/CANJaguar.h index 0ddae45d27..02c5208c66 100644 --- a/wpilibc/wpilibC++Devices/include/CANJaguar.h +++ b/wpilibc/wpilibC++Devices/include/CANJaguar.h @@ -16,6 +16,7 @@ #include "LiveWindow/LiveWindowSendable.h" #include "tables/ITable.h" #include "NetworkCommunication/CANSessionMux.h" +#include "CAN/can_proto.h" #include #include @@ -170,64 +171,64 @@ class CANJaguar : public MotorSafety, mutable std::recursive_mutex m_mutex; uint8_t m_deviceNumber; - float m_value; + float m_value = 0.0f; // Parameters/configuration ControlMode m_controlMode; - uint8_t m_speedReference; - uint8_t m_positionReference; - double m_p; - double m_i; - double m_d; - NeutralMode m_neutralMode; - uint16_t m_encoderCodesPerRev; - uint16_t m_potentiometerTurns; - LimitMode m_limitMode; - double m_forwardLimit; - double m_reverseLimit; - double m_maxOutputVoltage; - double m_voltageRampRate; - float m_faultTime; + uint8_t m_speedReference = LM_REF_NONE; + uint8_t m_positionReference = LM_REF_NONE; + double m_p = 0.0; + double m_i = 0.0; + double m_d = 0.0; + NeutralMode m_neutralMode = kNeutralMode_Jumper; + uint16_t m_encoderCodesPerRev = 0; + uint16_t m_potentiometerTurns = 0; + LimitMode m_limitMode = kLimitMode_SwitchInputsOnly; + double m_forwardLimit = 0.0; + double m_reverseLimit = 0.0; + double m_maxOutputVoltage = 30.0; + double m_voltageRampRate = 0.0; + float m_faultTime = 0.0f; // Which parameters have been verified since they were last set? - bool m_controlModeVerified; - bool m_speedRefVerified; - bool m_posRefVerified; - bool m_pVerified; - bool m_iVerified; - bool m_dVerified; - bool m_neutralModeVerified; - bool m_encoderCodesPerRevVerified; - bool m_potentiometerTurnsVerified; - bool m_forwardLimitVerified; - bool m_reverseLimitVerified; - bool m_limitModeVerified; - bool m_maxOutputVoltageVerified; - bool m_voltageRampRateVerified; - bool m_faultTimeVerified; + bool m_controlModeVerified = false; // Needs to be verified because it's set in the constructor + bool m_speedRefVerified = true; + bool m_posRefVerified = true; + bool m_pVerified = true; + bool m_iVerified = true; + bool m_dVerified = true; + bool m_neutralModeVerified = true; + bool m_encoderCodesPerRevVerified = true; + bool m_potentiometerTurnsVerified = true; + bool m_forwardLimitVerified = true; + bool m_reverseLimitVerified = true; + bool m_limitModeVerified = true; + bool m_maxOutputVoltageVerified = true; + bool m_voltageRampRateVerified = true; + bool m_faultTimeVerified = true; // Status data - mutable float m_busVoltage; - mutable float m_outputVoltage; - mutable float m_outputCurrent; - mutable float m_temperature; - mutable double m_position; - mutable double m_speed; - mutable uint8_t m_limits; - mutable uint16_t m_faults; - uint32_t m_firmwareVersion; - uint8_t m_hardwareVersion; + mutable float m_busVoltage = 0.0f; + mutable float m_outputVoltage = 0.0f; + mutable float m_outputCurrent = 0.0f; + mutable float m_temperature = 0.0f; + mutable double m_position = 0.0; + mutable double m_speed = 0.0; + mutable uint8_t m_limits = 0x00; + mutable uint16_t m_faults = 0x0000; + uint32_t m_firmwareVersion = 0; + uint8_t m_hardwareVersion = 0; // Which periodic status messages have we received at least once? - mutable std::atomic m_receivedStatusMessage0; - mutable std::atomic m_receivedStatusMessage1; - mutable std::atomic m_receivedStatusMessage2; + mutable std::atomic m_receivedStatusMessage0{false}; + mutable std::atomic m_receivedStatusMessage1{false}; + mutable std::atomic m_receivedStatusMessage2{false}; bool m_controlEnabled; void verify(); - MotorSafetyHelper *m_safetyHelper; + MotorSafetyHelper *m_safetyHelper = nullptr; void ValueChanged(ITable *source, const std::string &key, EntryValue value, bool isNew) override; @@ -238,9 +239,9 @@ class CANJaguar : public MotorSafety, void InitTable(ITable *subTable) override; ITable *GetTable() const override; - ITable *m_table; + ITable *m_table = nullptr; private: void InitCANJaguar(); - bool m_isInverted; + bool m_isInverted = false; }; diff --git a/wpilibc/wpilibC++Devices/include/CANTalon.h b/wpilibc/wpilibC++Devices/include/CANTalon.h index ab4f88fd6c..f6dfdec0a3 100644 --- a/wpilibc/wpilibC++Devices/include/CANTalon.h +++ b/wpilibc/wpilibC++Devices/include/CANTalon.h @@ -183,14 +183,14 @@ class CANTalon : public MotorSafety, int m_deviceNumber; CanTalonSRX *m_impl; MotorSafetyHelper *m_safetyHelper; - int m_profile; // Profile from CANTalon to use. Set to zero until we can - // actually test this. + int m_profile = 0; // Profile from CANTalon to use. Set to zero until we can + // actually test this. - bool m_controlEnabled; - ControlMode m_controlMode; + bool m_controlEnabled = true; + ControlMode m_controlMode = kPercentVbus; TalonControlMode m_sendMode; - double m_setPoint; + double m_setPoint = 0; static const unsigned int kDelayForSolicitedSignalsUs = 4000; /** * Fixup the sendMode so Set() serializes the correct demand value. diff --git a/wpilibc/wpilibC++Devices/include/Compressor.h b/wpilibc/wpilibC++Devices/include/Compressor.h index 35571d20c2..df82a05c0b 100644 --- a/wpilibc/wpilibC++Devices/include/Compressor.h +++ b/wpilibc/wpilibC++Devices/include/Compressor.h @@ -19,9 +19,9 @@ class Compressor : public SensorBase, public LiveWindowSendable, public ITableListener { public: - explicit Compressor(uint8_t pcmID); - Compressor(); - virtual ~Compressor(); + // Default PCM ID is 0 + explicit Compressor(uint8_t pcmID = GetDefaultSolenoidModule()); + virtual ~Compressor() = default; void Start(); void Stop(); @@ -55,10 +55,9 @@ class Compressor : public SensorBase, void *m_pcm_pointer; private: - void InitCompressor(uint8_t module); void SetCompressor(bool on); - ITable *m_table; + ITable *m_table = nullptr; }; #endif /* Compressor_H_ */ diff --git a/wpilibc/wpilibC++Devices/include/Counter.h b/wpilibc/wpilibC++Devices/include/Counter.h index ce8bcaec28..953bc3cd38 100644 --- a/wpilibc/wpilibC++Devices/include/Counter.h +++ b/wpilibc/wpilibC++Devices/include/Counter.h @@ -83,15 +83,15 @@ class Counter : public SensorBase, ITable *GetTable() const override; protected: - DigitalSource *m_upSource; ///< What makes the counter count up. - DigitalSource *m_downSource; ///< What makes the counter count down. - void *m_counter; ///< The FPGA counter object. + DigitalSource *m_upSource = nullptr; ///< What makes the counter count up. + DigitalSource *m_downSource = nullptr; ///< What makes the counter count down. + void *m_counter = nullptr; ///< The FPGA counter object. private: void InitCounter(Mode mode = kTwoPulse); - bool m_allocatedUpSource; ///< Was the upSource allocated locally? - bool m_allocatedDownSource; ///< Was the downSource allocated locally? - uint32_t m_index; ///< The index of this counter. + bool m_allocatedUpSource = false; ///< Was the upSource allocated locally? + bool m_allocatedDownSource = false; ///< Was the downSource allocated locally? + uint32_t m_index = 0; ///< The index of this counter. - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/CounterBase.h b/wpilibc/wpilibC++Devices/include/CounterBase.h index 921ea0c997..68896a8f33 100644 --- a/wpilibc/wpilibC++Devices/include/CounterBase.h +++ b/wpilibc/wpilibC++Devices/include/CounterBase.h @@ -20,7 +20,7 @@ class CounterBase { public: enum EncodingType { k1X, k2X, k4X }; - virtual ~CounterBase() {} + virtual ~CounterBase() = default; virtual int32_t Get() const = 0; virtual void Reset() = 0; virtual double GetPeriod() const = 0; diff --git a/wpilibc/wpilibC++Devices/include/DigitalInput.h b/wpilibc/wpilibC++Devices/include/DigitalInput.h index b43ad071f2..ea46d53ee9 100644 --- a/wpilibc/wpilibC++Devices/include/DigitalInput.h +++ b/wpilibc/wpilibC++Devices/include/DigitalInput.h @@ -43,5 +43,5 @@ class DigitalInput : public DigitalSource, public LiveWindowSendable { uint32_t m_channel; bool m_lastValue; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/DigitalOutput.h b/wpilibc/wpilibC++Devices/include/DigitalOutput.h index b1cf76d16d..55a6eadf07 100644 --- a/wpilibc/wpilibC++Devices/include/DigitalOutput.h +++ b/wpilibc/wpilibC++Devices/include/DigitalOutput.h @@ -51,5 +51,5 @@ class DigitalOutput : public DigitalSource, uint32_t m_channel; void *m_pwmGenerator; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/DigitalSource.h b/wpilibc/wpilibC++Devices/include/DigitalSource.h index 9e0985ab7f..c716715131 100644 --- a/wpilibc/wpilibC++Devices/include/DigitalSource.h +++ b/wpilibc/wpilibC++Devices/include/DigitalSource.h @@ -20,7 +20,7 @@ */ class DigitalSource : public InterruptableSensorBase { public: - virtual ~DigitalSource(); + virtual ~DigitalSource() = default; virtual uint32_t GetChannelForRouting() const = 0; virtual uint32_t GetModuleForRouting() const = 0; virtual bool GetAnalogTriggerForRouting() const = 0; diff --git a/wpilibc/wpilibC++Devices/include/DoubleSolenoid.h b/wpilibc/wpilibC++Devices/include/DoubleSolenoid.h index 4c310c11e9..40818a5fec 100644 --- a/wpilibc/wpilibC++Devices/include/DoubleSolenoid.h +++ b/wpilibc/wpilibC++Devices/include/DoubleSolenoid.h @@ -49,5 +49,5 @@ class DoubleSolenoid : public SolenoidBase, uint8_t m_forwardMask; ///< The mask for the forward channel. uint8_t m_reverseMask; ///< The mask for the reverse channel. - ITable* m_table; + ITable* m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/DriverStation.h b/wpilibc/wpilibC++Devices/include/DriverStation.h index 8d8c912d77..be3c368081 100644 --- a/wpilibc/wpilibC++Devices/include/DriverStation.h +++ b/wpilibc/wpilibC++Devices/include/DriverStation.h @@ -97,15 +97,15 @@ class DriverStation : public SensorBase, public RobotStateInterface { HALJoystickPOVs m_joystickPOVs[kJoystickPorts]; HALJoystickButtons m_joystickButtons[kJoystickPorts]; HALJoystickDescriptor m_joystickDescriptor[kJoystickPorts]; - Task m_task; - SEMAPHORE_ID m_newControlData; - MULTIWAIT_ID m_packetDataAvailableMultiWait; + Task m_task{"DriverStation", (FUNCPTR)DriverStation::InitTask}; + SEMAPHORE_ID m_newControlData = 0; + MULTIWAIT_ID m_packetDataAvailableMultiWait = 0; MUTEX_ID m_packetDataAvailableMutex; - MULTIWAIT_ID m_waitForDataSem; + MULTIWAIT_ID m_waitForDataSem = 0; MUTEX_ID m_waitForDataMutex; - bool m_userInDisabled; - bool m_userInAutonomous; - bool m_userInTeleop; - bool m_userInTest; - double m_nextMessageTime; + bool m_userInDisabled = false; + bool m_userInAutonomous = false; + bool m_userInTeleop = false; + bool m_userInTest = false; + double m_nextMessageTime = 0; }; diff --git a/wpilibc/wpilibC++Devices/include/Encoder.h b/wpilibc/wpilibC++Devices/include/Encoder.h index ce4b0e04c2..9b0f859bc6 100644 --- a/wpilibc/wpilibC++Devices/include/Encoder.h +++ b/wpilibc/wpilibC++Devices/include/Encoder.h @@ -96,14 +96,14 @@ class Encoder : public SensorBase, DigitalSource *m_bSource; // the B phase of the quad encoder bool m_allocatedASource; // was the A source allocated locally? bool m_allocatedBSource; // was the B source allocated locally? - void *m_encoder; - int32_t m_index; // The encoder's FPGA index. - double m_distancePerPulse; // distance of travel for each encoder tick - Counter *m_counter; // Counter object for 1x and 2x encoding - EncodingType m_encodingType; // Encoding type - int32_t m_encodingScale; // 1x, 2x, or 4x, per the encodingType + void *m_encoder = nullptr; + int32_t m_index = 0; // The encoder's FPGA index. + double m_distancePerPulse = 1.0; // distance of travel for each encoder tick + Counter *m_counter = nullptr; // Counter object for 1x and 2x encoding + EncodingType m_encodingType; // Encoding type + int32_t m_encodingScale; // 1x, 2x, or 4x, per the encodingType PIDSourceParameter - m_pidSource; // Encoder parameter that sources a PID controller + m_pidSource = kDistance; // Encoder parameter that sources a PID controller - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/GearTooth.h b/wpilibc/wpilibC++Devices/include/GearTooth.h index 7d531060f9..fd6a4bac32 100644 --- a/wpilibc/wpilibC++Devices/include/GearTooth.h +++ b/wpilibc/wpilibC++Devices/include/GearTooth.h @@ -23,7 +23,7 @@ class GearTooth : public Counter { GearTooth(uint32_t channel, bool directionSensitive = false); GearTooth(DigitalSource *source, bool directionSensitive = false); GearTooth(DigitalSource &source, bool directionSensitive = false); - virtual ~GearTooth(); + virtual ~GearTooth() = default; void EnableDirectionSensing(bool directionSensitive); virtual std::string GetSmartDashboardType() const override; diff --git a/wpilibc/wpilibC++Devices/include/Gyro.h b/wpilibc/wpilibC++Devices/include/Gyro.h index 6845a8f62b..598f9d95f1 100644 --- a/wpilibc/wpilibC++Devices/include/Gyro.h +++ b/wpilibc/wpilibC++Devices/include/Gyro.h @@ -68,5 +68,5 @@ class Gyro : public SensorBase, public PIDSource, public LiveWindowSendable { uint32_t m_center; PIDSourceParameter m_pidSource; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h b/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h index b2225fb8de..07e961cb04 100644 --- a/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h +++ b/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h @@ -20,7 +20,7 @@ class InterruptableSensorBase : public SensorBase { }; InterruptableSensorBase(); - virtual ~InterruptableSensorBase(); + virtual ~InterruptableSensorBase() = default; virtual uint32_t GetChannelForRouting() const = 0; virtual uint32_t GetModuleForRouting() const = 0; virtual bool GetAnalogTriggerForRouting() const = 0; @@ -42,7 +42,7 @@ class InterruptableSensorBase : public SensorBase { virtual void SetUpSourceEdge(bool risingEdge, bool fallingEdge); protected: - void *m_interrupt; + void *m_interrupt = nullptr; uint32_t m_interruptIndex; void AllocateInterrupts(bool watcher); diff --git a/wpilibc/wpilibC++Devices/include/IterativeRobot.h b/wpilibc/wpilibC++Devices/include/IterativeRobot.h index 79f4c8e544..51387e50fb 100644 --- a/wpilibc/wpilibC++Devices/include/IterativeRobot.h +++ b/wpilibc/wpilibC++Devices/include/IterativeRobot.h @@ -72,12 +72,12 @@ class IterativeRobot : public RobotBase { protected: virtual void Prestart(); - virtual ~IterativeRobot(); + virtual ~IterativeRobot() = default; IterativeRobot(); private: - bool m_disabledInitialized; - bool m_autonomousInitialized; - bool m_teleopInitialized; - bool m_testInitialized; + bool m_disabledInitialized = false; + bool m_autonomousInitialized = false; + bool m_teleopInitialized = false; + bool m_testInitialized = false; }; diff --git a/wpilibc/wpilibC++Devices/include/Jaguar.h b/wpilibc/wpilibC++Devices/include/Jaguar.h index 228a0c1b71..f343139890 100644 --- a/wpilibc/wpilibC++Devices/include/Jaguar.h +++ b/wpilibc/wpilibC++Devices/include/Jaguar.h @@ -16,7 +16,7 @@ class Jaguar : public SafePWM, public SpeedController { public: explicit Jaguar(uint32_t channel); - virtual ~Jaguar(); + virtual ~Jaguar() = default; virtual void Set(float value, uint8_t syncGroup = 0) override; virtual float Get() const override; virtual void Disable() override; @@ -27,5 +27,5 @@ class Jaguar : public SafePWM, public SpeedController { private: void InitJaguar(); - bool m_isInverted; + bool m_isInverted = false; }; diff --git a/wpilibc/wpilibC++Devices/include/Joystick.h b/wpilibc/wpilibC++Devices/include/Joystick.h index 66d8af142e..2776f198a1 100644 --- a/wpilibc/wpilibC++Devices/include/Joystick.h +++ b/wpilibc/wpilibC++Devices/include/Joystick.h @@ -104,13 +104,13 @@ class Joystick : public GenericHID, public ErrorBase { DISALLOW_COPY_AND_ASSIGN(Joystick); void InitJoystick(uint32_t numAxisTypes, uint32_t numButtonTypes); - DriverStation *m_ds; + DriverStation *m_ds = nullptr; uint32_t m_port; - uint32_t *m_axes; - uint32_t *m_buttons; - uint32_t m_outputs; - uint16_t m_leftRumble; - uint16_t m_rightRumble; + uint32_t *m_axes = nullptr; + uint32_t *m_buttons = nullptr; + uint32_t m_outputs = 0; + uint16_t m_leftRumble = 0; + uint16_t m_rightRumble = 0; }; #endif diff --git a/wpilibc/wpilibC++Devices/include/PWM.h b/wpilibc/wpilibC++Devices/include/PWM.h index 565f515e64..e2932e3747 100644 --- a/wpilibc/wpilibC++Devices/include/PWM.h +++ b/wpilibc/wpilibC++Devices/include/PWM.h @@ -106,7 +106,7 @@ class PWM : public SensorBase, void InitTable(ITable* subTable) override; ITable* GetTable() const override; - ITable* m_table; + ITable* m_table = nullptr; private: void InitPWM(uint32_t channel); diff --git a/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h b/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h index bfa9eae1f4..44a873d813 100644 --- a/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h +++ b/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h @@ -40,7 +40,7 @@ class PowerDistributionPanel : public SensorBase, public LiveWindowSendable { ITable *GetTable() const override; private: - ITable *m_table; + ITable *m_table = nullptr; uint8_t m_module; }; diff --git a/wpilibc/wpilibC++Devices/include/Preferences.h b/wpilibc/wpilibC++Devices/include/Preferences.h index b3fd11d30d..dceb6f1bee 100644 --- a/wpilibc/wpilibC++Devices/include/Preferences.h +++ b/wpilibc/wpilibC++Devices/include/Preferences.h @@ -85,11 +85,11 @@ class Preferences : public ErrorBase, public ITableListener { static Preferences *_instance; /** The semaphore for accessing the file */ - MUTEX_ID m_fileLock; + MUTEX_ID m_fileLock = nullptr; /** The semaphore for beginning reads and writes to the file */ - SEMAPHORE_ID m_fileOpStarted; + SEMAPHORE_ID m_fileOpStarted = nullptr; /** The semaphore for reading from the table */ - MUTEX_ID m_tableLock; + MUTEX_ID m_tableLock = nullptr; typedef std::map StringMap; /** The actual values (String->String) */ StringMap m_values; diff --git a/wpilibc/wpilibC++Devices/include/Relay.h b/wpilibc/wpilibC++Devices/include/Relay.h index 0b2aa88f48..6c8c6e3f4d 100644 --- a/wpilibc/wpilibC++Devices/include/Relay.h +++ b/wpilibc/wpilibC++Devices/include/Relay.h @@ -47,7 +47,7 @@ class Relay : public SensorBase, void InitTable(ITable* subTable) override; ITable* GetTable() const override; - ITable* m_table; + ITable* m_table = nullptr; private: void InitRelay(); diff --git a/wpilibc/wpilibC++Devices/include/RobotBase.h b/wpilibc/wpilibC++Devices/include/RobotBase.h index 79a5eecff0..25bb6d4181 100644 --- a/wpilibc/wpilibC++Devices/include/RobotBase.h +++ b/wpilibc/wpilibC++Devices/include/RobotBase.h @@ -61,8 +61,8 @@ class RobotBase { virtual void Prestart(); - Task *m_task; - DriverStation *m_ds; + Task *m_task = nullptr; + DriverStation *m_ds = nullptr; private: static RobotBase *m_instance; diff --git a/wpilibc/wpilibC++Devices/include/RobotDrive.h b/wpilibc/wpilibC++Devices/include/RobotDrive.h index a8cd866d69..04d46bf403 100644 --- a/wpilibc/wpilibC++Devices/include/RobotDrive.h +++ b/wpilibc/wpilibC++Devices/include/RobotDrive.h @@ -97,15 +97,15 @@ class RobotDrive : public MotorSafety, public ErrorBase { void RotateVector(double &x, double &y, double angle); static const int32_t kMaxNumberOfMotors = 4; - float m_sensitivity; - double m_maxOutput; + float m_sensitivity = 0.5; + double m_maxOutput = 1.0; bool m_deleteSpeedControllers; - SpeedController *m_frontLeftMotor; - SpeedController *m_frontRightMotor; - SpeedController *m_rearLeftMotor; - SpeedController *m_rearRightMotor; - MotorSafetyHelper *m_safetyHelper; - uint8_t m_syncGroup; + SpeedController *m_frontLeftMotor = nullptr; + SpeedController *m_frontRightMotor = nullptr; + SpeedController *m_rearLeftMotor = nullptr; + SpeedController *m_rearRightMotor = nullptr; + MotorSafetyHelper *m_safetyHelper = nullptr; + uint8_t m_syncGroup = 0; private: int32_t GetNumMotors() { diff --git a/wpilibc/wpilibC++Devices/include/SampleRobot.h b/wpilibc/wpilibC++Devices/include/SampleRobot.h index 924db71620..64ca32c717 100644 --- a/wpilibc/wpilibC++Devices/include/SampleRobot.h +++ b/wpilibc/wpilibC++Devices/include/SampleRobot.h @@ -11,7 +11,7 @@ class SampleRobot : public RobotBase { public: SampleRobot(); - virtual ~SampleRobot() {} + virtual ~SampleRobot() = default; virtual void RobotInit(); virtual void Disabled(); virtual void Autonomous(); diff --git a/wpilibc/wpilibC++Devices/include/SerialPort.h b/wpilibc/wpilibC++Devices/include/SerialPort.h index 22f8e3896c..04a61cc55d 100644 --- a/wpilibc/wpilibC++Devices/include/SerialPort.h +++ b/wpilibc/wpilibC++Devices/include/SerialPort.h @@ -62,9 +62,9 @@ class SerialPort : public ErrorBase { void Reset(); private: - uint32_t m_resourceManagerHandle; - uint32_t m_portHandle; - bool m_consoleModeEnabled; + uint32_t m_resourceManagerHandle = 0; + uint32_t m_portHandle = 0; + bool m_consoleModeEnabled = false; uint8_t m_port; DISALLOW_COPY_AND_ASSIGN(SerialPort); diff --git a/wpilibc/wpilibC++Devices/include/Servo.h b/wpilibc/wpilibC++Devices/include/Servo.h index aa183de963..298c29a63d 100644 --- a/wpilibc/wpilibC++Devices/include/Servo.h +++ b/wpilibc/wpilibC++Devices/include/Servo.h @@ -37,7 +37,7 @@ class Servo : public SafePWM { void InitTable(ITable* subTable) override; ITable* GetTable() const override; - ITable* m_table; + ITable* m_table = nullptr; private: void InitServo(); diff --git a/wpilibc/wpilibC++Devices/include/Solenoid.h b/wpilibc/wpilibC++Devices/include/Solenoid.h index 2642fc81b0..0344398e58 100644 --- a/wpilibc/wpilibC++Devices/include/Solenoid.h +++ b/wpilibc/wpilibC++Devices/include/Solenoid.h @@ -41,5 +41,5 @@ class Solenoid : public SolenoidBase, void InitSolenoid(); uint32_t m_channel; ///< The channel on the module to control. - ITable* m_table; + ITable* m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/SolenoidBase.h b/wpilibc/wpilibC++Devices/include/SolenoidBase.h index decf8589bb..a164d322da 100644 --- a/wpilibc/wpilibC++Devices/include/SolenoidBase.h +++ b/wpilibc/wpilibC++Devices/include/SolenoidBase.h @@ -18,7 +18,7 @@ */ class SolenoidBase : public SensorBase { public: - virtual ~SolenoidBase(); + virtual ~SolenoidBase() = default; uint8_t GetAll(int module = 0) const; uint8_t GetPCMSolenoidBlackList(int module) const; diff --git a/wpilibc/wpilibC++Devices/include/SpeedController.h b/wpilibc/wpilibC++Devices/include/SpeedController.h index 6d8e72c924..a87ed2bc7f 100644 --- a/wpilibc/wpilibC++Devices/include/SpeedController.h +++ b/wpilibc/wpilibC++Devices/include/SpeedController.h @@ -14,7 +14,7 @@ */ class SpeedController : public PIDOutput { public: - virtual ~SpeedController() {} + virtual ~SpeedController() = default; /** * Common interface for setting the speed of a speed controller. * diff --git a/wpilibc/wpilibC++Devices/include/Talon.h b/wpilibc/wpilibC++Devices/include/Talon.h index 65371f058f..d3a52dad12 100644 --- a/wpilibc/wpilibC++Devices/include/Talon.h +++ b/wpilibc/wpilibC++Devices/include/Talon.h @@ -16,7 +16,7 @@ class Talon : public SafePWM, public SpeedController { public: explicit Talon(uint32_t channel); - virtual ~Talon(); + virtual ~Talon() = default; virtual void Set(float value, uint8_t syncGroup = 0) override; virtual float Get() const override; virtual void Disable() override; @@ -27,5 +27,5 @@ class Talon : public SafePWM, public SpeedController { private: void InitTalon(); - bool m_isInverted; + bool m_isInverted = false; }; diff --git a/wpilibc/wpilibC++Devices/include/TalonSRX.h b/wpilibc/wpilibC++Devices/include/TalonSRX.h index 76de9b1b23..9747807739 100644 --- a/wpilibc/wpilibC++Devices/include/TalonSRX.h +++ b/wpilibc/wpilibC++Devices/include/TalonSRX.h @@ -17,7 +17,7 @@ class TalonSRX : public SafePWM, public SpeedController { public: explicit TalonSRX(uint32_t channel); - virtual ~TalonSRX(); + virtual ~TalonSRX() = default; virtual void Set(float value, uint8_t syncGroup = 0) override; virtual float Get() const override; virtual void Disable() override; @@ -28,5 +28,5 @@ class TalonSRX : public SafePWM, public SpeedController { private: void InitTalonSRX(); - bool m_isInverted; + bool m_isInverted = false; }; diff --git a/wpilibc/wpilibC++Devices/include/USBCamera.h b/wpilibc/wpilibC++Devices/include/USBCamera.h index 62fa2a942d..991c38bc90 100644 --- a/wpilibc/wpilibC++Devices/include/USBCamera.h +++ b/wpilibc/wpilibC++Devices/include/USBCamera.h @@ -36,26 +36,30 @@ class USBCamera : public ErrorBase { static constexpr char const *ATTR_BR_VALUE = "CameraAttributes::Brightness::Value"; + // Constants for the manual and auto types + static constexpr char const* AUTO = "Auto"; + static constexpr char const* MANUAL = "Manual"; + protected: - IMAQdxSession m_id; + IMAQdxSession m_id = 0; std::string m_name; bool m_useJpeg; - bool m_active; - bool m_open; + bool m_active = false; + bool m_open = false; std::recursive_mutex m_mutex; - unsigned int m_width; - unsigned int m_height; - double m_fps; - std::string m_whiteBalance; - unsigned int m_whiteBalanceValue; - bool m_whiteBalanceValuePresent; - std::string m_exposure; - unsigned int m_exposureValue; - bool m_exposureValuePresent; - unsigned int m_brightness; - bool m_needSettingsUpdate; + unsigned int m_width = 320; + unsigned int m_height = 240; + double m_fps = 30; + std::string m_whiteBalance = AUTO; + unsigned int m_whiteBalanceValue = 0; + bool m_whiteBalanceValuePresent = false; + std::string m_exposure = MANUAL; + unsigned int m_exposureValue = 50; + bool m_exposureValuePresent = false; + unsigned int m_brightness = 80; + bool m_needSettingsUpdate = true; unsigned int GetJpegSize(void *buffer, unsigned int buffSize); diff --git a/wpilibc/wpilibC++Devices/include/Ultrasonic.h b/wpilibc/wpilibC++Devices/include/Ultrasonic.h index 3a917b36ba..f956fb1edc 100644 --- a/wpilibc/wpilibC++Devices/include/Ultrasonic.h +++ b/wpilibc/wpilibC++Devices/include/Ultrasonic.h @@ -90,5 +90,5 @@ class Ultrasonic : public SensorBase, Ultrasonic *m_nextSensor; DistanceUnit m_units; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Devices/include/Victor.h b/wpilibc/wpilibC++Devices/include/Victor.h index b23023ab1d..5d7cc42bbe 100644 --- a/wpilibc/wpilibC++Devices/include/Victor.h +++ b/wpilibc/wpilibC++Devices/include/Victor.h @@ -19,7 +19,7 @@ class Victor : public SafePWM, public SpeedController { public: explicit Victor(uint32_t channel); - virtual ~Victor(); + virtual ~Victor() = default; virtual void Set(float value, uint8_t syncGroup = 0) override; virtual float Get() const override; virtual void Disable() override; @@ -31,5 +31,5 @@ class Victor : public SafePWM, public SpeedController { private: void InitVictor(); - bool m_isInverted; + bool m_isInverted = false; }; diff --git a/wpilibc/wpilibC++Devices/include/VictorSP.h b/wpilibc/wpilibC++Devices/include/VictorSP.h index 9c4f95b325..a6eb821e08 100644 --- a/wpilibc/wpilibC++Devices/include/VictorSP.h +++ b/wpilibc/wpilibC++Devices/include/VictorSP.h @@ -16,7 +16,7 @@ class VictorSP : public SafePWM, public SpeedController { public: explicit VictorSP(uint32_t channel); - virtual ~VictorSP(); + virtual ~VictorSP() = default; virtual void Set(float value, uint8_t syncGroup = 0) override; virtual float Get() const override; virtual void Disable() override; @@ -28,5 +28,5 @@ class VictorSP : public SafePWM, public SpeedController { private: void InitVictorSP(); - bool m_isInverted; + bool m_isInverted = false; }; diff --git a/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h b/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h index 23e14e9d2a..99e1baec5e 100644 --- a/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h +++ b/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h @@ -89,27 +89,27 @@ class AxisCamera : public ErrorBase { private: std::thread m_captureThread; std::string m_cameraHost; - int m_cameraSocket; + int m_cameraSocket = -1; std::mutex m_captureMutex; std::mutex m_imageDataMutex; std::vector m_imageData; - bool m_freshImage; + bool m_freshImage = false; - int m_brightness; - WhiteBalance m_whiteBalance; - int m_colorLevel; - ExposureControl m_exposureControl; - int m_exposurePriority; - int m_maxFPS; - Resolution m_resolution; - int m_compression; - Rotation m_rotation; - bool m_parametersDirty; - bool m_streamDirty; + int m_brightness = 50; + WhiteBalance m_whiteBalance = kWhiteBalance_Automatic; + int m_colorLevel = 50; + ExposureControl m_exposureControl = kExposureControl_Automatic; + int m_exposurePriority = 50; + int m_maxFPS = 0; + Resolution m_resolution = kResolution_640x480; + int m_compression = 50; + Rotation m_rotation = kRotation_0; + bool m_parametersDirty = true; + bool m_streamDirty = true; std::mutex m_parametersMutex; - bool m_done; + bool m_done = false; void Capture(); void ReadImagesFromCamera(); diff --git a/wpilibc/wpilibC++Devices/include/Vision/BinaryImage.h b/wpilibc/wpilibC++Devices/include/Vision/BinaryImage.h index 2eab08fb1f..eda072c84a 100644 --- a/wpilibc/wpilibC++Devices/include/Vision/BinaryImage.h +++ b/wpilibc/wpilibC++Devices/include/Vision/BinaryImage.h @@ -19,7 +19,7 @@ class BinaryImage : public MonoImage { public: BinaryImage(); - virtual ~BinaryImage(); + virtual ~BinaryImage() = default; int GetNumberParticles(); ParticleAnalysisReport GetParticleAnalysisReport(int particleNumber); void GetParticleAnalysisReport(int particleNumber, diff --git a/wpilibc/wpilibC++Devices/include/Vision/ColorImage.h b/wpilibc/wpilibC++Devices/include/Vision/ColorImage.h index cabf08058e..0304ad89bf 100644 --- a/wpilibc/wpilibC++Devices/include/Vision/ColorImage.h +++ b/wpilibc/wpilibC++Devices/include/Vision/ColorImage.h @@ -13,7 +13,7 @@ class ColorImage : public ImageBase { public: ColorImage(ImageType type); - virtual ~ColorImage(); + virtual ~ColorImage() = default; BinaryImage *ThresholdRGB(int redLow, int redHigh, int greenLow, int greenHigh, int blueLow, int blueHigh); BinaryImage *ThresholdHSL(int hueLow, int hueHigh, int saturationLow, diff --git a/wpilibc/wpilibC++Devices/include/Vision/HSLImage.h b/wpilibc/wpilibC++Devices/include/Vision/HSLImage.h index 54ee5f1b7b..0407748c62 100644 --- a/wpilibc/wpilibC++Devices/include/Vision/HSLImage.h +++ b/wpilibc/wpilibC++Devices/include/Vision/HSLImage.h @@ -15,5 +15,5 @@ class HSLImage : public ColorImage { public: HSLImage(); HSLImage(const char *fileName); - virtual ~HSLImage(); + virtual ~HSLImage() = default; }; diff --git a/wpilibc/wpilibC++Devices/include/Vision/MonoImage.h b/wpilibc/wpilibC++Devices/include/Vision/MonoImage.h index c45e53b0e2..189be052aa 100644 --- a/wpilibc/wpilibC++Devices/include/Vision/MonoImage.h +++ b/wpilibc/wpilibC++Devices/include/Vision/MonoImage.h @@ -13,7 +13,7 @@ class MonoImage : public ImageBase { public: MonoImage(); - virtual ~MonoImage(); + virtual ~MonoImage() = default; std::vector *DetectEllipses( EllipseDescriptor *ellipseDescriptor, CurveOptions *curveOptions, diff --git a/wpilibc/wpilibC++Devices/include/Vision/RGBImage.h b/wpilibc/wpilibC++Devices/include/Vision/RGBImage.h index efe3fda2ee..cb3b3e5dde 100644 --- a/wpilibc/wpilibC++Devices/include/Vision/RGBImage.h +++ b/wpilibc/wpilibC++Devices/include/Vision/RGBImage.h @@ -15,5 +15,5 @@ class RGBImage : public ColorImage { public: RGBImage(); RGBImage(const char *fileName); - virtual ~RGBImage(); + virtual ~RGBImage() = default; }; diff --git a/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp b/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp index 7d37fbfc1e..5ebdb08c02 100644 --- a/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp +++ b/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp @@ -35,14 +35,6 @@ ADXL345_I2C::ADXL345_I2C(Port port, Range range) : I2C(port, kAddress) { LiveWindow::GetInstance()->AddSensor("ADXL345_I2C", port, this); } -/** - * Destructor. - */ -ADXL345_I2C::~ADXL345_I2C() { - // delete m_i2c; - // m_i2c = nullptr; -} - /** {@inheritdoc} */ void ADXL345_I2C::SetRange(Range range) { Write(kDataFormatRegister, kDataFormat_FullRes | (uint8_t)range); diff --git a/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp b/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp index 62f7393561..45b5743b84 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp @@ -14,9 +14,6 @@ * Common function for initializing the accelerometer. */ void AnalogAccelerometer::InitAccelerometer() { - m_table = nullptr; - m_voltsPerG = 1.0; - m_zeroGVoltage = 2.5; HALReport(HALUsageReporting::kResourceType_Accelerometer, m_AnalogInput->GetChannel()); LiveWindow::GetInstance()->AddSensor("Accelerometer", diff --git a/wpilibc/wpilibC++Devices/src/AnalogInput.cpp b/wpilibc/wpilibC++Devices/src/AnalogInput.cpp index d2b80d87fa..c0b3bb276f 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogInput.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogInput.cpp @@ -21,7 +21,6 @@ const uint32_t AnalogInput::kAccumulatorChannels[] = {0, 1}; * Common initialization. */ void AnalogInput::InitAnalogInput(uint32_t channel) { - m_table = nullptr; char buf[64]; Resource::CreateResourceObject(&inputs, kAnalogInputs); diff --git a/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp b/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp index 9e5da29165..388ab51971 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp @@ -13,8 +13,6 @@ static Resource *outputs = nullptr; void AnalogOutput::InitAnalogOutput(uint32_t channel) { - m_table = nullptr; - Resource::CreateResourceObject(&outputs, kAnalogOutputs); char buf[64]; diff --git a/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp b/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp index 8a23749826..0de2820249 100644 --- a/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp +++ b/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp @@ -13,7 +13,7 @@ * Constructor. * @param range The range the accelerometer will measure */ -BuiltInAccelerometer::BuiltInAccelerometer(Range range) : m_table(0) { +BuiltInAccelerometer::BuiltInAccelerometer(Range range) { SetRange(range); HALReport(HALUsageReporting::kResourceType_Accelerometer, 0, 0, @@ -21,8 +21,6 @@ BuiltInAccelerometer::BuiltInAccelerometer(Range range) : m_table(0) { LiveWindow::GetInstance()->AddSensor((std::string) "BuiltInAccel", 0, this); } -BuiltInAccelerometer::~BuiltInAccelerometer() {} - /** {@inheritdoc} */ void BuiltInAccelerometer::SetRange(Range range) { if (range == kRange_16G) { diff --git a/wpilibc/wpilibC++Devices/src/CANJaguar.cpp b/wpilibc/wpilibC++Devices/src/CANJaguar.cpp index b5450eaee6..2bad4a0daf 100644 --- a/wpilibc/wpilibC++Devices/src/CANJaguar.cpp +++ b/wpilibc/wpilibC++Devices/src/CANJaguar.cpp @@ -8,7 +8,6 @@ #include "Timer.h" #define tNIRIO_i32 int #include "NetworkCommunication/CANSessionMux.h" -#include "CAN/can_proto.h" //#include "NetworkCommunication/UsageReporting.h" #include "WPIErrors.h" #include @@ -73,57 +72,8 @@ static int32_t sendMessageHelper(uint32_t messageID, const uint8_t *data, * Common initialization code called by all constructors. */ void CANJaguar::InitCANJaguar() { - m_table = nullptr; m_safetyHelper = new MotorSafetyHelper(this); - m_value = 0.0f; - m_speedReference = LM_REF_NONE; - m_positionReference = LM_REF_NONE; - m_p = 0.0; - m_i = 0.0; - m_d = 0.0; - m_busVoltage = 0.0f; - m_outputVoltage = 0.0f; - m_outputCurrent = 0.0f; - m_temperature = 0.0f; - m_position = 0.0; - m_speed = 0.0; - m_limits = 0x00; - m_faults = 0x0000; - m_firmwareVersion = 0; - m_hardwareVersion = 0; - m_neutralMode = kNeutralMode_Jumper; - m_encoderCodesPerRev = 0; - m_potentiometerTurns = 0; - m_limitMode = kLimitMode_SwitchInputsOnly; - m_forwardLimit = 0.0; - m_reverseLimit = 0.0; - m_maxOutputVoltage = 30.0; - m_voltageRampRate = 0.0; - m_faultTime = 0.0f; - - // Parameters only need to be verified if they are set - m_controlModeVerified = - false; // Needs to be verified because it's set in the constructor - m_speedRefVerified = true; - m_posRefVerified = true; - m_pVerified = true; - m_iVerified = true; - m_dVerified = true; - m_neutralModeVerified = true; - m_encoderCodesPerRevVerified = true; - m_potentiometerTurnsVerified = true; - m_limitModeVerified = true; - m_forwardLimitVerified = true; - m_reverseLimitVerified = true; - m_maxOutputVoltageVerified = true; - m_voltageRampRateVerified = true; - m_faultTimeVerified = true; - - m_receivedStatusMessage0 = false; - m_receivedStatusMessage1 = false; - m_receivedStatusMessage2 = false; - bool receivedFirmwareVersion = false; uint8_t dataBuffer[8]; uint8_t dataSize; @@ -197,7 +147,6 @@ void CANJaguar::InitCANJaguar() { default: break; } - m_isInverted = false; HALReport(HALUsageReporting::kResourceType_CANJaguar, m_deviceNumber, m_controlMode); LiveWindow::GetInstance()->AddActuator("CANJaguar", m_deviceNumber, this); @@ -228,9 +177,7 @@ void CANJaguar::InitCANJaguar() { * @see CANJaguar#SetVoltageMode(QuadEncoderTag, int) */ CANJaguar::CANJaguar(uint8_t deviceNumber) - : m_deviceNumber(deviceNumber), - m_maxOutputVoltage(kApproxBusVoltage), - m_safetyHelper(nullptr) { + : m_deviceNumber(deviceNumber) { char buf[64]; snprintf(buf, 64, "CANJaguar device number %d", m_deviceNumber); Resource::CreateResourceObject(&allocated, 63); diff --git a/wpilibc/wpilibC++Devices/src/CANTalon.cpp b/wpilibc/wpilibC++Devices/src/CANTalon.cpp index cf69a7f307..0d8f5407bb 100644 --- a/wpilibc/wpilibC++Devices/src/CANTalon.cpp +++ b/wpilibc/wpilibC++Devices/src/CANTalon.cpp @@ -15,11 +15,7 @@ CANTalon::CANTalon(int deviceNumber) : m_deviceNumber(deviceNumber), m_impl(new CanTalonSRX(deviceNumber)), - m_safetyHelper(new MotorSafetyHelper(this)), - m_profile(0), - m_controlEnabled(true), - m_controlMode(kPercentVbus), - m_setPoint(0) { + m_safetyHelper(new MotorSafetyHelper(this)) { ApplyControlMode(m_controlMode); m_impl->SetProfileSlotSelect(m_profile); m_isInverted = false; diff --git a/wpilibc/wpilibC++Devices/src/Compressor.cpp b/wpilibc/wpilibC++Devices/src/Compressor.cpp index cc965df569..1d31eb3f54 100644 --- a/wpilibc/wpilibC++Devices/src/Compressor.cpp +++ b/wpilibc/wpilibC++Devices/src/Compressor.cpp @@ -5,28 +5,15 @@ #include "Compressor.h" #include "WPIErrors.h" -void Compressor::InitCompressor(uint8_t pcmID) { - m_table = nullptr; - m_pcm_pointer = initializeCompressor(pcmID); - - SetClosedLoopControl(true); -} - -/** - * Constructor - * - * Uses the default PCM ID (0) - */ -Compressor::Compressor() { InitCompressor(GetDefaultSolenoidModule()); } - /** * Constructor * * @param module The PCM ID to use (0-62) */ -Compressor::Compressor(uint8_t pcmID) { InitCompressor(pcmID); } - -Compressor::~Compressor() {} +Compressor::Compressor(uint8_t pcmID) { + m_pcm_pointer = initializeCompressor(pcmID); + SetClosedLoopControl(true); +} /** * Starts closed-loop control. Note that closed loop control is enabled by diff --git a/wpilibc/wpilibC++Devices/src/Counter.cpp b/wpilibc/wpilibC++Devices/src/Counter.cpp index e92edcf39a..deccebe887 100644 --- a/wpilibc/wpilibC++Devices/src/Counter.cpp +++ b/wpilibc/wpilibC++Devices/src/Counter.cpp @@ -21,18 +21,10 @@ * @param mode The counter mode */ void Counter::InitCounter(Mode mode) { - m_table = nullptr; - int32_t status = 0; - m_index = 0; m_counter = initializeCounter(mode, &m_index, &status); wpi_setErrorWithContext(status, getHALErrorMessage(status)); - m_upSource = nullptr; - m_downSource = nullptr; - m_allocatedUpSource = false; - m_allocatedDownSource = false; - SetMaxPeriod(.5); HALReport(HALUsageReporting::kResourceType_Counter, m_index, mode); @@ -46,7 +38,7 @@ void Counter::InitCounter(Mode mode) { * * The counter will start counting immediately. */ -Counter::Counter() : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullptr) { +Counter::Counter() { InitCounter(); } @@ -62,8 +54,7 @@ Counter::Counter() : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullp * @param source A pointer to the existing DigitalSource object. It will be set * as the Up Source. */ -Counter::Counter(DigitalSource *source) - : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullptr) { +Counter::Counter(DigitalSource *source) { InitCounter(); SetUpSource(source); ClearDownSource(); @@ -81,8 +72,7 @@ Counter::Counter(DigitalSource *source) * @param source A reference to the existing DigitalSource object. It will be * set as the Up Source. */ -Counter::Counter(DigitalSource &source) - : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullptr) { +Counter::Counter(DigitalSource &source) { InitCounter(); SetUpSource(&source); ClearDownSource(); @@ -96,8 +86,7 @@ Counter::Counter(DigitalSource &source) * @param channel The DIO channel to use as the up source. 0-9 are on-board, * 10-25 are on the MXP */ -Counter::Counter(int32_t channel) - : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullptr) { +Counter::Counter(int32_t channel) { InitCounter(); SetUpSource(channel); ClearDownSource(); @@ -111,8 +100,7 @@ Counter::Counter(int32_t channel) * The counter will start counting immediately. * @param trigger The pointer to the existing AnalogTrigger object. */ -Counter::Counter(AnalogTrigger *trigger) - : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullptr) { +Counter::Counter(AnalogTrigger *trigger) { InitCounter(); SetUpSource(trigger->CreateOutput(kState)); ClearDownSource(); @@ -127,8 +115,7 @@ Counter::Counter(AnalogTrigger *trigger) * The counter will start counting immediately. * @param trigger The reference to the existing AnalogTrigger object. */ -Counter::Counter(AnalogTrigger &trigger) - : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullptr) { +Counter::Counter(AnalogTrigger &trigger) { InitCounter(); SetUpSource(trigger.CreateOutput(kState)); ClearDownSource(); @@ -145,8 +132,7 @@ Counter::Counter(AnalogTrigger &trigger) */ Counter::Counter(EncodingType encodingType, DigitalSource *upSource, - DigitalSource *downSource, bool inverted) - : m_upSource(nullptr), m_downSource(nullptr), m_counter(nullptr) { + DigitalSource *downSource, bool inverted) { if (encodingType != k1X && encodingType != k2X) { wpi_setWPIErrorWithContext( ParameterOutOfRange, diff --git a/wpilibc/wpilibC++Devices/src/DigitalInput.cpp b/wpilibc/wpilibC++Devices/src/DigitalInput.cpp index e4a2a61d8c..6c75747bf7 100644 --- a/wpilibc/wpilibC++Devices/src/DigitalInput.cpp +++ b/wpilibc/wpilibC++Devices/src/DigitalInput.cpp @@ -17,7 +17,6 @@ * constructors. */ void DigitalInput::InitDigitalInput(uint32_t channel) { - m_table = nullptr; char buf[64]; if (!CheckDigitalChannel(channel)) { diff --git a/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp b/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp index 7594e3305b..e97555faee 100644 --- a/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp +++ b/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp @@ -15,7 +15,6 @@ * constructors. */ void DigitalOutput::InitDigitalOutput(uint32_t channel) { - m_table = nullptr; char buf[64]; if (!CheckDigitalChannel(channel)) { diff --git a/wpilibc/wpilibC++Devices/src/DigitalSource.cpp b/wpilibc/wpilibC++Devices/src/DigitalSource.cpp deleted file mode 100644 index cc7f0b94cd..0000000000 --- a/wpilibc/wpilibC++Devices/src/DigitalSource.cpp +++ /dev/null @@ -1,13 +0,0 @@ -/*----------------------------------------------------------------------------*/ -/* Copyright (c) FIRST 2008. All Rights Reserved. - */ -/* Open Source Software - may be modified and shared by FRC teams. The code */ -/* must be accompanied by the FIRST BSD license file in $(WIND_BASE)/WPILib. */ -/*----------------------------------------------------------------------------*/ - -#include "DigitalSource.h" - -/** - * DigitalSource destructor. - */ -DigitalSource::~DigitalSource() {} diff --git a/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp b/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp index 376b7b1d80..2ed7fc689a 100644 --- a/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp +++ b/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp @@ -13,7 +13,6 @@ * Common function to implement constructor behaviour. */ void DoubleSolenoid::InitSolenoid() { - m_table = nullptr; char buf[64]; if (!CheckSolenoidModule(m_moduleNumber)) { snprintf(buf, 64, "Solenoid Module %d", m_moduleNumber); diff --git a/wpilibc/wpilibC++Devices/src/DriverStation.cpp b/wpilibc/wpilibC++Devices/src/DriverStation.cpp index 829155b579..96a78222a2 100644 --- a/wpilibc/wpilibC++Devices/src/DriverStation.cpp +++ b/wpilibc/wpilibC++Devices/src/DriverStation.cpp @@ -35,16 +35,7 @@ DriverStation* DriverStation::m_instance = nullptr; * * This is only called once the first time GetInstance() is called */ -DriverStation::DriverStation() - : m_task("DriverStation", (FUNCPTR)DriverStation::InitTask), - m_newControlData(0), - m_packetDataAvailableMultiWait(0), - m_waitForDataSem(0), - m_userInDisabled(false), - m_userInAutonomous(false), - m_userInTeleop(false), - m_userInTest(false), - m_nextMessageTime(0) { +DriverStation::DriverStation() { // All joysticks should default to having zero axes, povs and buttons, so // uninitialized memory doesn't get sent to speed controllers. for (unsigned int i = 0; i < kJoystickPorts; i++) { diff --git a/wpilibc/wpilibC++Devices/src/Encoder.cpp b/wpilibc/wpilibC++Devices/src/Encoder.cpp index 0ff68870c8..c254b5b34f 100644 --- a/wpilibc/wpilibC++Devices/src/Encoder.cpp +++ b/wpilibc/wpilibC++Devices/src/Encoder.cpp @@ -31,9 +31,7 @@ * or be double (2x) the spec'd count. */ void Encoder::InitEncoder(bool reverseDirection, EncodingType encodingType) { - m_table = nullptr; m_encodingType = encodingType; - m_index = 0; switch (encodingType) { case k4X: { m_encodingScale = 4; @@ -69,8 +67,6 @@ void Encoder::InitEncoder(bool reverseDirection, EncodingType encodingType) { wpi_setErrorWithContext(-1, "Invalid encodingType argument"); break; } - m_distancePerPulse = 1.0; - m_pidSource = kDistance; HALReport(HALUsageReporting::kResourceType_Encoder, m_index, encodingType); LiveWindow::GetInstance()->AddSensor("Encoder", @@ -101,8 +97,7 @@ void Encoder::InitEncoder(bool reverseDirection, EncodingType encodingType) { * or be double (2x) the spec'd count. */ Encoder::Encoder(uint32_t aChannel, uint32_t bChannel, bool reverseDirection, - EncodingType encodingType) - : m_encoder(nullptr), m_counter(nullptr) { + EncodingType encodingType) { m_aSource = new DigitalInput(aChannel); m_bSource = new DigitalInput(bChannel); InitEncoder(reverseDirection, encodingType); @@ -136,8 +131,7 @@ Encoder::Encoder(uint32_t aChannel, uint32_t bChannel, bool reverseDirection, * or be double (2x) the spec'd count. */ Encoder::Encoder(DigitalSource *aSource, DigitalSource *bSource, - bool reverseDirection, EncodingType encodingType) - : m_encoder(nullptr), m_counter(nullptr) { + bool reverseDirection, EncodingType encodingType) { m_aSource = aSource; m_bSource = bSource; m_allocatedASource = false; @@ -174,8 +168,7 @@ Encoder::Encoder(DigitalSource *aSource, DigitalSource *bSource, * or be double (2x) the spec'd count. */ Encoder::Encoder(DigitalSource &aSource, DigitalSource &bSource, - bool reverseDirection, EncodingType encodingType) - : m_encoder(nullptr), m_counter(nullptr) { + bool reverseDirection, EncodingType encodingType) { m_aSource = &aSource; m_bSource = &bSource; m_allocatedASource = false; diff --git a/wpilibc/wpilibC++Devices/src/GearTooth.cpp b/wpilibc/wpilibC++Devices/src/GearTooth.cpp index adc1fd8d83..5984e15bd1 100644 --- a/wpilibc/wpilibC++Devices/src/GearTooth.cpp +++ b/wpilibc/wpilibC++Devices/src/GearTooth.cpp @@ -61,9 +61,4 @@ GearTooth::GearTooth(DigitalSource &source, bool directionSensitive) EnableDirectionSensing(directionSensitive); } -/** - * Free the resources associated with a gear tooth sensor. - */ -GearTooth::~GearTooth() {} - std::string GearTooth::GetSmartDashboardType() const { return "GearTooth"; } diff --git a/wpilibc/wpilibC++Devices/src/Gyro.cpp b/wpilibc/wpilibC++Devices/src/Gyro.cpp index 618898457e..3652d35598 100644 --- a/wpilibc/wpilibC++Devices/src/Gyro.cpp +++ b/wpilibc/wpilibC++Devices/src/Gyro.cpp @@ -31,7 +31,6 @@ constexpr float Gyro::kDefaultVoltsPerDegreePerSecond; * rest before the competition starts. */ void Gyro::InitGyro() { - m_table = nullptr; if (!m_analog->IsAccumulatorChannel()) { wpi_setWPIErrorWithContext(ParameterOutOfRange, " channel (must be accumulator channel)"); diff --git a/wpilibc/wpilibC++Devices/src/InterruptableSensorBase.cpp b/wpilibc/wpilibC++Devices/src/InterruptableSensorBase.cpp index b5402bbd2a..d4551d3127 100644 --- a/wpilibc/wpilibC++Devices/src/InterruptableSensorBase.cpp +++ b/wpilibc/wpilibC++Devices/src/InterruptableSensorBase.cpp @@ -12,12 +12,9 @@ Resource *InterruptableSensorBase::m_interrupts = nullptr; InterruptableSensorBase::InterruptableSensorBase() { - m_interrupt = nullptr; Resource::CreateResourceObject(&m_interrupts, interrupt_kNumSystems); } -InterruptableSensorBase::~InterruptableSensorBase() {} - /** * Request one of the 8 interrupts asynchronously on this digital input. * Request interrupts in asynchronous mode where the user's interrupt handler diff --git a/wpilibc/wpilibC++Devices/src/IterativeRobot.cpp b/wpilibc/wpilibC++Devices/src/IterativeRobot.cpp index 3486e02784..a5a5c0f9ab 100644 --- a/wpilibc/wpilibC++Devices/src/IterativeRobot.cpp +++ b/wpilibc/wpilibC++Devices/src/IterativeRobot.cpp @@ -16,23 +16,6 @@ constexpr double IterativeRobot::kDefaultPeriod; -/** - * Constructor for RobotIterativeBase - * - * The constructor initializes the instance variables for the robot to indicate - * the status of initialization for disabled, autonomous, teleop, and test code. - */ -IterativeRobot::IterativeRobot() - : m_disabledInitialized(false), - m_autonomousInitialized(false), - m_teleopInitialized(false), - m_testInitialized(false) {} - -/** - * Free the resources for a RobotIterativeBase class. - */ -IterativeRobot::~IterativeRobot() {} - void IterativeRobot::Prestart() { // Don't immediately say that the robot's ready to be enabled. // See below. diff --git a/wpilibc/wpilibC++Devices/src/Jaguar.cpp b/wpilibc/wpilibC++Devices/src/Jaguar.cpp index e0d4520274..81afe86abd 100644 --- a/wpilibc/wpilibC++Devices/src/Jaguar.cpp +++ b/wpilibc/wpilibC++Devices/src/Jaguar.cpp @@ -29,7 +29,6 @@ void Jaguar::InitJaguar() { HALReport(HALUsageReporting::kResourceType_Jaguar, GetChannel()); LiveWindow::GetInstance()->AddActuator("Jaguar", GetChannel(), this); - m_isInverted = false; } /** @@ -39,8 +38,6 @@ void Jaguar::InitJaguar() { */ Jaguar::Jaguar(uint32_t channel) : SafePWM(channel) { InitJaguar(); } -Jaguar::~Jaguar() {} - /** * Set the PWM value. * diff --git a/wpilibc/wpilibC++Devices/src/Joystick.cpp b/wpilibc/wpilibC++Devices/src/Joystick.cpp index dd2cd89b4e..d5c36f1cad 100644 --- a/wpilibc/wpilibC++Devices/src/Joystick.cpp +++ b/wpilibc/wpilibC++Devices/src/Joystick.cpp @@ -30,13 +30,7 @@ static bool joySticksInitialized = false; * (0-5). */ Joystick::Joystick(uint32_t port) - : m_ds(nullptr), - m_port(port), - m_axes(nullptr), - m_buttons(nullptr), - m_outputs(0), - m_leftRumble(0), - m_rightRumble(0) { + : m_port(port) { InitJoystick(kNumAxisTypes, kNumButtonTypes); m_axes[kXAxis] = kDefaultXAxis; @@ -63,7 +57,7 @@ Joystick::Joystick(uint32_t port) */ Joystick::Joystick(uint32_t port, uint32_t numAxisTypes, uint32_t numButtonTypes) - : m_ds(nullptr), m_port(port), m_axes(nullptr), m_buttons(nullptr) { + : m_port(port) { InitJoystick(numAxisTypes, numButtonTypes); } diff --git a/wpilibc/wpilibC++Devices/src/Notifier.cpp b/wpilibc/wpilibC++Devices/src/Notifier.cpp index 91fb0be00f..edfa08f19c 100644 --- a/wpilibc/wpilibC++Devices/src/Notifier.cpp +++ b/wpilibc/wpilibC++Devices/src/Notifier.cpp @@ -26,11 +26,6 @@ Notifier::Notifier(TimerEventHandler handler, void *param) { wpi_setWPIErrorWithContext(NullParameter, "handler must not be nullptr"); m_handler = handler; m_param = param; - m_periodic = false; - m_expirationTime = 0; - m_period = 0; - m_nextEvent = nullptr; - m_queued = false; m_handlerSemaphore = initializeSemaphore(SEMAPHORE_FULL); { Synchronized sync(queueSemaphore); diff --git a/wpilibc/wpilibC++Devices/src/PIDController.cpp b/wpilibc/wpilibC++Devices/src/PIDController.cpp index 99800e4862..4555c3830c 100644 --- a/wpilibc/wpilibC++Devices/src/PIDController.cpp +++ b/wpilibc/wpilibC++Devices/src/PIDController.cpp @@ -33,8 +33,7 @@ static const char *kEnabled = "enabled"; * integral and differental terms. The default is 50ms. */ PIDController::PIDController(float Kp, float Ki, float Kd, PIDSource *source, - PIDOutput *output, float period) - : m_semaphore(0) { + PIDOutput *output, float period) { Initialize(Kp, Ki, Kd, 0.0f, source, output, period); } @@ -50,16 +49,13 @@ PIDController::PIDController(float Kp, float Ki, float Kd, PIDSource *source, * integral and differental terms. The default is 50ms. */ PIDController::PIDController(float Kp, float Ki, float Kd, float Kf, - PIDSource *source, PIDOutput *output, float period) - : m_semaphore(0) { + PIDSource *source, PIDOutput *output, float period) { Initialize(Kp, Ki, Kd, Kf, source, output, period); } void PIDController::Initialize(float Kp, float Ki, float Kd, float Kf, PIDSource *source, PIDOutput *output, float period) { - m_table = nullptr; - m_semaphore = initializeMutexNormal(); m_controlLoop = new Notifier(PIDController::CallCalculate, this); @@ -69,22 +65,6 @@ void PIDController::Initialize(float Kp, float Ki, float Kd, float Kf, m_D = Kd; m_F = Kf; - m_maximumOutput = 1.0; - m_minimumOutput = -1.0; - - m_maximumInput = 0; - m_minimumInput = 0; - - m_continuous = false; - m_enabled = false; - m_setpoint = 0; - - m_prevError = 0; - m_totalError = 0; - m_tolerance = .05; - - m_result = 0; - m_pidInput = source; m_pidOutput = output; m_period = period; @@ -94,8 +74,6 @@ void PIDController::Initialize(float Kp, float Ki, float Kd, float Kf, static int32_t instances = 0; instances++; HALReport(HALUsageReporting::kResourceType_PIDController, instances); - - m_toleranceType = kNoTolerance; } /** diff --git a/wpilibc/wpilibC++Devices/src/PWM.cpp b/wpilibc/wpilibC++Devices/src/PWM.cpp index e18324e0d7..2980ff7385 100644 --- a/wpilibc/wpilibC++Devices/src/PWM.cpp +++ b/wpilibc/wpilibC++Devices/src/PWM.cpp @@ -30,7 +30,6 @@ const int32_t PWM::kPwmDisabled; * port */ void PWM::InitPWM(uint32_t channel) { - m_table = nullptr; char buf[64]; if (!CheckPWMChannel(channel)) { diff --git a/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp b/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp index 86b1497721..d127cb9b0a 100644 --- a/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp +++ b/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp @@ -16,7 +16,7 @@ PowerDistributionPanel::PowerDistributionPanel() : PowerDistributionPanel(0) {} * Initialize the PDP. */ PowerDistributionPanel::PowerDistributionPanel(uint8_t module) - : m_table(nullptr), m_module(module) { + : m_module(module) { initializePDP(m_module); } diff --git a/wpilibc/wpilibC++Devices/src/Preferences.cpp b/wpilibc/wpilibC++Devices/src/Preferences.cpp index 2d419540fa..45ef755c07 100644 --- a/wpilibc/wpilibC++Devices/src/Preferences.cpp +++ b/wpilibc/wpilibC++Devices/src/Preferences.cpp @@ -28,10 +28,7 @@ static const char *kValueSuffix = "\"\n"; Preferences *Preferences::_instance = nullptr; Preferences::Preferences() - : m_fileLock(nullptr), - m_fileOpStarted(nullptr), - m_tableLock(nullptr), - m_readTask("PreferencesReadTask", (FUNCPTR)Preferences::InitReadTask), + : m_readTask("PreferencesReadTask", (FUNCPTR)Preferences::InitReadTask), m_writeTask("PreferencesWriteTask", (FUNCPTR)Preferences::InitWriteTask) { m_fileLock = initializeMutexRecursive(); m_fileOpStarted = initializeSemaphore(SEMAPHORE_EMPTY); diff --git a/wpilibc/wpilibC++Devices/src/Relay.cpp b/wpilibc/wpilibC++Devices/src/Relay.cpp index b91481366b..f60b63ef4f 100644 --- a/wpilibc/wpilibC++Devices/src/Relay.cpp +++ b/wpilibc/wpilibC++Devices/src/Relay.cpp @@ -25,7 +25,6 @@ static Resource *relayChannels = nullptr; * lines at 0v. */ void Relay::InitRelay() { - m_table = nullptr; char buf[64]; Resource::CreateResourceObject(&relayChannels, dio_kNumSystems * kRelayChannels * 2); diff --git a/wpilibc/wpilibC++Devices/src/RobotBase.cpp b/wpilibc/wpilibC++Devices/src/RobotBase.cpp index fdaa251abb..36488e4447 100644 --- a/wpilibc/wpilibC++Devices/src/RobotBase.cpp +++ b/wpilibc/wpilibC++Devices/src/RobotBase.cpp @@ -52,7 +52,7 @@ void RobotBase::robotSetup(RobotBase *robot) { * nice to put this code into it's own task that loads on boot so ensure that it * runs. */ -RobotBase::RobotBase() : m_task(nullptr), m_ds(nullptr) { +RobotBase::RobotBase() { m_ds = DriverStation::GetInstance(); RobotState::SetImplementation(DriverStation::GetInstance()); HLUsageReporting::SetImplementation(new HardwareHLReporting()); diff --git a/wpilibc/wpilibC++Devices/src/RobotDrive.cpp b/wpilibc/wpilibC++Devices/src/RobotDrive.cpp index 0f221ab85b..5d1f648515 100644 --- a/wpilibc/wpilibC++Devices/src/RobotDrive.cpp +++ b/wpilibc/wpilibC++Devices/src/RobotDrive.cpp @@ -37,15 +37,8 @@ const int32_t RobotDrive::kMaxNumberOfMotors; * robot drive. */ void RobotDrive::InitRobotDrive() { - m_frontLeftMotor = nullptr; - m_frontRightMotor = nullptr; - m_rearRightMotor = nullptr; - m_rearLeftMotor = nullptr; - m_sensitivity = 0.5; - m_maxOutput = 1.0; m_safetyHelper = new MotorSafetyHelper(this); m_safetyHelper->SetSafetyEnabled(true); - m_syncGroup = 0; } /** diff --git a/wpilibc/wpilibC++Devices/src/SensorBase.cpp b/wpilibc/wpilibC++Devices/src/SensorBase.cpp index 54a84bb788..26b06981de 100644 --- a/wpilibc/wpilibC++Devices/src/SensorBase.cpp +++ b/wpilibc/wpilibC++Devices/src/SensorBase.cpp @@ -54,11 +54,6 @@ SensorBase::SensorBase() { } } -/** - * Frees the resources for a SensorBase. - */ -SensorBase::~SensorBase() {} - /** * Add sensor to the singleton list. * Add this sensor to the list of singletons that need to be deleted when diff --git a/wpilibc/wpilibC++Devices/src/SerialPort.cpp b/wpilibc/wpilibC++Devices/src/SerialPort.cpp index b124a6a071..d1a6c28b5e 100644 --- a/wpilibc/wpilibC++Devices/src/SerialPort.cpp +++ b/wpilibc/wpilibC++Devices/src/SerialPort.cpp @@ -27,7 +27,7 @@ */ SerialPort::SerialPort(uint32_t baudRate, Port port, uint8_t dataBits, SerialPort::Parity parity, SerialPort::StopBits stopBits) - : m_resourceManagerHandle(0), m_portHandle(0), m_consoleModeEnabled(false) { +{ int32_t status = 0; m_port = port; diff --git a/wpilibc/wpilibC++Devices/src/Servo.cpp b/wpilibc/wpilibC++Devices/src/Servo.cpp index 63a034593c..bd495b3cc5 100644 --- a/wpilibc/wpilibC++Devices/src/Servo.cpp +++ b/wpilibc/wpilibC++Devices/src/Servo.cpp @@ -24,7 +24,6 @@ constexpr float Servo::kDefaultMinServoPWM; * well as the minimum and maximum PWM values supported by the servo. */ void Servo::InitServo() { - m_table = nullptr; SetBounds(kDefaultMaxServoPWM, 0.0, 0.0, 0.0, kDefaultMinServoPWM); SetPeriodMultiplier(kPeriodMultiplier_4X); diff --git a/wpilibc/wpilibC++Devices/src/Solenoid.cpp b/wpilibc/wpilibC++Devices/src/Solenoid.cpp index ec9d280518..ed89663b10 100644 --- a/wpilibc/wpilibC++Devices/src/Solenoid.cpp +++ b/wpilibc/wpilibC++Devices/src/Solenoid.cpp @@ -14,7 +14,6 @@ * Common function to implement constructor behavior. */ void Solenoid::InitSolenoid() { - m_table = nullptr; char buf[64]; if (!CheckSolenoidModule(m_moduleNumber)) { snprintf(buf, 64, "Solenoid Module %d", m_moduleNumber); diff --git a/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp b/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp index 4bbc7d4a5b..9ce51b5e60 100644 --- a/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp +++ b/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp @@ -27,11 +27,6 @@ SolenoidBase::SolenoidBase(uint8_t moduleNumber) } } -/** - * Destructor. - */ -SolenoidBase::~SolenoidBase() {} - /** * Set the value of a solenoid. * diff --git a/wpilibc/wpilibC++Devices/src/Talon.cpp b/wpilibc/wpilibC++Devices/src/Talon.cpp index 8e63b7fffe..6c07c28d05 100644 --- a/wpilibc/wpilibC++Devices/src/Talon.cpp +++ b/wpilibc/wpilibC++Devices/src/Talon.cpp @@ -36,7 +36,6 @@ void Talon::InitTalon() { HALReport(HALUsageReporting::kResourceType_Talon, GetChannel()); LiveWindow::GetInstance()->AddActuator("Talon", GetChannel(), this); - m_isInverted = false; } /** @@ -46,8 +45,6 @@ void Talon::InitTalon() { */ Talon::Talon(uint32_t channel) : SafePWM(channel) { InitTalon(); } -Talon::~Talon() {} - /** * Set the PWM value. * diff --git a/wpilibc/wpilibC++Devices/src/TalonSRX.cpp b/wpilibc/wpilibC++Devices/src/TalonSRX.cpp index 246b35f258..661b089b4d 100644 --- a/wpilibc/wpilibC++Devices/src/TalonSRX.cpp +++ b/wpilibc/wpilibC++Devices/src/TalonSRX.cpp @@ -35,7 +35,6 @@ void TalonSRX::InitTalonSRX() { HALReport(HALUsageReporting::kResourceType_TalonSRX, GetChannel()); LiveWindow::GetInstance()->AddActuator("TalonSRX", GetChannel(), this); - m_isInverted = false; } /** @@ -45,8 +44,6 @@ void TalonSRX::InitTalonSRX() { */ TalonSRX::TalonSRX(uint32_t channel) : SafePWM(channel) { InitTalonSRX(); } -TalonSRX::~TalonSRX() {} - /** * Set the PWM value. * diff --git a/wpilibc/wpilibC++Devices/src/Task.cpp b/wpilibc/wpilibC++Devices/src/Task.cpp index 892413c316..8c27151609 100644 --- a/wpilibc/wpilibC++Devices/src/Task.cpp +++ b/wpilibc/wpilibC++Devices/src/Task.cpp @@ -25,7 +25,6 @@ const uint32_t Task::kDefaultPriority; */ Task::Task(const char* name, FUNCPTR function, int32_t priority, uint32_t stackSize) { - m_taskID = NULL_TASK; m_function = function; m_priority = priority; m_stackSize = stackSize; diff --git a/wpilibc/wpilibC++Devices/src/Timer.cpp b/wpilibc/wpilibC++Devices/src/Timer.cpp index 1ca792c05e..acb794f4a4 100644 --- a/wpilibc/wpilibC++Devices/src/Timer.cpp +++ b/wpilibc/wpilibC++Devices/src/Timer.cpp @@ -59,11 +59,7 @@ double GetTime() { * not running and * must be started. */ -Timer::Timer() - : m_startTime(0.0), - m_accumulatedTime(0.0), - m_running(false), - m_semaphore(nullptr) { +Timer::Timer() { // Creates a semaphore to control access to critical regions. // Initially 'open' m_semaphore = initializeMutexNormal(); diff --git a/wpilibc/wpilibC++Devices/src/USBCamera.cpp b/wpilibc/wpilibC++Devices/src/USBCamera.cpp index edc88ff26c..b6f1bd7f25 100644 --- a/wpilibc/wpilibC++Devices/src/USBCamera.cpp +++ b/wpilibc/wpilibC++Devices/src/USBCamera.cpp @@ -19,10 +19,6 @@ wpi_setImaqErrorWithContext(error, #funName); \ } -// Constants for the manual and auto types -static const std::string AUTO = "Auto"; -static const std::string MANUAL = "Manual"; - /** * Helper function to determine the size of a jpeg. The general structure of * how to parse a jpeg for length can be found in this stackoverflow article: @@ -76,23 +72,8 @@ unsigned int USBCamera::GetJpegSize(void* buffer, unsigned int buffSize) { } USBCamera::USBCamera(std::string name, bool useJpeg) - : m_id(0), - m_name(name), - m_useJpeg(useJpeg), - m_active(false), - m_open(false), - m_mutex(), - m_width(320), - m_height(240), - m_fps(30), - m_whiteBalance(AUTO), - m_whiteBalanceValue(0), - m_whiteBalanceValuePresent(false), - m_exposure(MANUAL), - m_exposureValue(50), - m_exposureValuePresent(false), - m_brightness(80), - m_needSettingsUpdate(true) {} + : m_name(name), + m_useJpeg(useJpeg) {} void USBCamera::OpenCamera() { std::unique_lock lock(m_mutex); @@ -188,10 +169,10 @@ void USBCamera::UpdateSettings() { if (m_whiteBalance.compare(AUTO) == 0) { SAFE_IMAQ_CALL(IMAQdxSetAttribute, m_id, ATTR_WB_MODE, - IMAQdxValueTypeString, AUTO.c_str()); + IMAQdxValueTypeString, AUTO); } else { SAFE_IMAQ_CALL(IMAQdxSetAttribute, m_id, ATTR_WB_MODE, - IMAQdxValueTypeString, MANUAL.c_str()); + IMAQdxValueTypeString, MANUAL); if (m_whiteBalanceValuePresent) SAFE_IMAQ_CALL(IMAQdxSetAttribute, m_id, ATTR_WB_VALUE, IMAQdxValueTypeU32, m_whiteBalanceValue); @@ -203,7 +184,7 @@ void USBCamera::UpdateSettings() { std::string("AutoAperaturePriority").c_str()); } else { SAFE_IMAQ_CALL(IMAQdxSetAttribute, m_id, ATTR_EX_MODE, - IMAQdxValueTypeString, MANUAL.c_str()); + IMAQdxValueTypeString, MANUAL); if (m_exposureValuePresent) { double minv = 0.0; double maxv = 0.0; @@ -218,7 +199,7 @@ void USBCamera::UpdateSettings() { } SAFE_IMAQ_CALL(IMAQdxSetAttribute, m_id, ATTR_BR_MODE, IMAQdxValueTypeString, - MANUAL.c_str()); + MANUAL); double minv = 0.0; double maxv = 0.0; SAFE_IMAQ_CALL(IMAQdxGetAttributeMinimum, m_id, ATTR_BR_VALUE, diff --git a/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp b/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp index e82a656067..9f5fe77934 100644 --- a/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp +++ b/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp @@ -66,7 +66,6 @@ void Ultrasonic::UltrasonicChecker() { * restored. */ void Ultrasonic::Initialize() { - m_table = nullptr; bool originalMode = m_automaticEnabled; if (m_semaphore == nullptr) m_semaphore = initializeSemaphore(SEMAPHORE_FULL); SetAutomaticMode(false); // kill task when adding a new sensor diff --git a/wpilibc/wpilibC++Devices/src/Victor.cpp b/wpilibc/wpilibC++Devices/src/Victor.cpp index 63b6c8b30c..9b6f5ec93f 100644 --- a/wpilibc/wpilibC++Devices/src/Victor.cpp +++ b/wpilibc/wpilibC++Devices/src/Victor.cpp @@ -39,7 +39,6 @@ void Victor::InitVictor() { LiveWindow::GetInstance()->AddActuator("Victor", GetChannel(), this); HALReport(HALUsageReporting::kResourceType_Victor, GetChannel()); - m_isInverted = false; } /** @@ -49,8 +48,6 @@ void Victor::InitVictor() { */ Victor::Victor(uint32_t channel) : SafePWM(channel) { InitVictor(); } -Victor::~Victor() {} - /** * Set the PWM value. * diff --git a/wpilibc/wpilibC++Devices/src/VictorSP.cpp b/wpilibc/wpilibC++Devices/src/VictorSP.cpp index 0416061a2d..1167bc0c94 100644 --- a/wpilibc/wpilibC++Devices/src/VictorSP.cpp +++ b/wpilibc/wpilibC++Devices/src/VictorSP.cpp @@ -36,7 +36,6 @@ void VictorSP::InitVictorSP() { HALReport(HALUsageReporting::kResourceType_VictorSP, GetChannel()); LiveWindow::GetInstance()->AddActuator("VictorSP", GetChannel(), this); - m_isInverted = false; } /** @@ -46,8 +45,6 @@ void VictorSP::InitVictorSP() { */ VictorSP::VictorSP(uint32_t channel) : SafePWM(channel) { InitVictorSP(); } -VictorSP::~VictorSP() {} - /** * Set the PWM value. * diff --git a/wpilibc/wpilibC++Devices/src/Vision/AxisCamera.cpp b/wpilibc/wpilibC++Devices/src/Vision/AxisCamera.cpp index 18be836e96..67d39d7707 100644 --- a/wpilibc/wpilibC++Devices/src/Vision/AxisCamera.cpp +++ b/wpilibc/wpilibC++Devices/src/Vision/AxisCamera.cpp @@ -43,21 +43,7 @@ static const std::string kRotationStrings[] = { * @param cameraHost The host to find the camera at, typically an IP address */ AxisCamera::AxisCamera(std::string const &cameraHost) - : m_cameraHost(cameraHost), - m_cameraSocket(-1), - m_freshImage(false), - m_brightness(50), - m_whiteBalance(kWhiteBalance_Automatic), - m_colorLevel(50), - m_exposureControl(kExposureControl_Automatic), - m_exposurePriority(50), - m_maxFPS(0), - m_resolution(kResolution_640x480), - m_compression(50), - m_rotation(kRotation_0), - m_parametersDirty(true), - m_streamDirty(true), - m_done(false) { + : m_cameraHost(cameraHost) { m_captureThread = std::thread(&AxisCamera::Capture, this); } diff --git a/wpilibc/wpilibC++Devices/src/Vision/BinaryImage.cpp b/wpilibc/wpilibC++Devices/src/Vision/BinaryImage.cpp index 832cec65c4..ea14cbcfba 100644 --- a/wpilibc/wpilibC++Devices/src/Vision/BinaryImage.cpp +++ b/wpilibc/wpilibC++Devices/src/Vision/BinaryImage.cpp @@ -11,10 +11,6 @@ using namespace std; -BinaryImage::BinaryImage() : MonoImage() {} - -BinaryImage::~BinaryImage() {} - /** * Get then number of particles for the image. * @returns the number of particles found for the image. diff --git a/wpilibc/wpilibC++Devices/src/Vision/ColorImage.cpp b/wpilibc/wpilibC++Devices/src/Vision/ColorImage.cpp index f3e4ff617f..bbbc242919 100644 --- a/wpilibc/wpilibC++Devices/src/Vision/ColorImage.cpp +++ b/wpilibc/wpilibC++Devices/src/Vision/ColorImage.cpp @@ -10,8 +10,6 @@ ColorImage::ColorImage(ImageType type) : ImageBase(type) {} -ColorImage::~ColorImage() {} - /** * Perform a threshold operation on a ColorImage. * Perform a threshold operation on a ColorImage using the ColorMode supplied diff --git a/wpilibc/wpilibC++Devices/src/Vision/HSLImage.cpp b/wpilibc/wpilibC++Devices/src/Vision/HSLImage.cpp index 7347f01fde..5b114c488f 100644 --- a/wpilibc/wpilibC++Devices/src/Vision/HSLImage.cpp +++ b/wpilibc/wpilibC++Devices/src/Vision/HSLImage.cpp @@ -19,5 +19,3 @@ HSLImage::HSLImage(const char *fileName) : ColorImage(IMAQ_IMAGE_HSL) { int success = imaqReadFile(m_imaqImage, fileName, nullptr, nullptr); wpi_setImaqErrorWithContext(success, "Imaq ReadFile error"); } - -HSLImage::~HSLImage() {} diff --git a/wpilibc/wpilibC++Devices/src/Vision/MonoImage.cpp b/wpilibc/wpilibC++Devices/src/Vision/MonoImage.cpp index 2706360268..90703c0d30 100644 --- a/wpilibc/wpilibC++Devices/src/Vision/MonoImage.cpp +++ b/wpilibc/wpilibC++Devices/src/Vision/MonoImage.cpp @@ -11,8 +11,6 @@ using namespace std; MonoImage::MonoImage() : ImageBase(IMAQ_IMAGE_U8) {} -MonoImage::~MonoImage() {} - /** * Look for ellipses in an image. * Given some input parameters, look for any number of ellipses in an image. diff --git a/wpilibc/wpilibC++Devices/src/Vision/RGBImage.cpp b/wpilibc/wpilibC++Devices/src/Vision/RGBImage.cpp index fe24dfba0e..5469122923 100644 --- a/wpilibc/wpilibC++Devices/src/Vision/RGBImage.cpp +++ b/wpilibc/wpilibC++Devices/src/Vision/RGBImage.cpp @@ -19,5 +19,3 @@ RGBImage::RGBImage(const char *fileName) : ColorImage(IMAQ_IMAGE_RGB) { int success = imaqReadFile(m_imaqImage, fileName, nullptr, nullptr); wpi_setImaqErrorWithContext(success, "Imaq ReadFile error"); } - -RGBImage::~RGBImage() {} diff --git a/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp b/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp index 4dd71a93d8..2d21303c4a 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp @@ -9,11 +9,9 @@ #include "WPILib.h" class TestEnvironment : public testing::Environment { - bool m_alreadySetUp; + bool m_alreadySetUp = false; public: - TestEnvironment() : m_alreadySetUp(false) {} - virtual void SetUp() override { /* Only set up once. This allows gtest_repeat to be used to automatically repeat tests. */ diff --git a/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp index c71d15ab45..4b62fa35b4 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp @@ -41,10 +41,10 @@ class CommandTest : public testing::Test { class ASubsystem : public Subsystem { private: - Command *m_command; + Command *m_command = nullptr; public: - ASubsystem(const char *name) : Subsystem(name) { m_command = nullptr; } + ASubsystem(const char *name) : Subsystem(name) {} virtual void InitDefaultCommand() override { if (m_command != nullptr) { diff --git a/wpilibc/wpilibC++Sim/include/AnalogInput.h b/wpilibc/wpilibC++Sim/include/AnalogInput.h index 90c11c043c..eb5d355fa9 100644 --- a/wpilibc/wpilibC++Sim/include/AnalogInput.h +++ b/wpilibc/wpilibC++Sim/include/AnalogInput.h @@ -28,7 +28,7 @@ public: static const uint32_t kAccumulatorChannels[kAccumulatorNumChannels]; explicit AnalogInput(uint32_t channel); - virtual ~AnalogInput(); + virtual ~AnalogInput() = default; float GetVoltage() const; float GetAverageVoltage() const; @@ -50,5 +50,5 @@ private: SimFloatInput* m_impl; int64_t m_accumulatorOffset; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Sim/include/CounterBase.h b/wpilibc/wpilibC++Sim/include/CounterBase.h index 5cb5ee5413..3352c29d8f 100644 --- a/wpilibc/wpilibC++Sim/include/CounterBase.h +++ b/wpilibc/wpilibC++Sim/include/CounterBase.h @@ -23,7 +23,7 @@ public: k4X }; - virtual ~CounterBase() {} + virtual ~CounterBase() = default; virtual int32_t Get() const = 0; virtual void Reset() = 0; virtual double GetPeriod() const = 0; diff --git a/wpilibc/wpilibC++Sim/include/DigitalInput.h b/wpilibc/wpilibC++Sim/include/DigitalInput.h index f139c1892a..3b2e25e6e7 100644 --- a/wpilibc/wpilibC++Sim/include/DigitalInput.h +++ b/wpilibc/wpilibC++Sim/include/DigitalInput.h @@ -18,7 +18,7 @@ class DigitalInput : public LiveWindowSendable { public: explicit DigitalInput(uint32_t channel); - virtual ~DigitalInput(); + virtual ~DigitalInput() = default; uint32_t Get() const; uint32_t GetChannel() const; @@ -35,5 +35,5 @@ private: bool m_lastValue; SimDigitalInput *m_impl; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h b/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h index 007df72ad6..c03fc38f79 100644 --- a/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h +++ b/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h @@ -28,7 +28,7 @@ public: explicit DoubleSolenoid(uint32_t forwardChannel, uint32_t reverseChannel); DoubleSolenoid(uint8_t moduleNumber, uint32_t forwardChannel, uint32_t reverseChannel); - virtual ~DoubleSolenoid(); + virtual ~DoubleSolenoid() = default; virtual void Set(Value value); virtual Value Get() const; diff --git a/wpilibc/wpilibC++Sim/include/DriverStation.h b/wpilibc/wpilibC++Sim/include/DriverStation.h index c85fac8758..4fb92430f1 100644 --- a/wpilibc/wpilibC++Sim/include/DriverStation.h +++ b/wpilibc/wpilibC++Sim/include/DriverStation.h @@ -116,16 +116,16 @@ private: void joystickCallback4(const msgs::ConstJoystickPtr &msg); void joystickCallback5(const msgs::ConstJoystickPtr &msg); - uint8_t m_digitalOut; - MULTIWAIT_ID m_waitForDataSem; + uint8_t m_digitalOut = 0; + MULTIWAIT_ID m_waitForDataSem = 0; MUTEX_ID m_waitForDataMutex; MUTEX_ID m_stateSemaphore; MUTEX_ID m_joystickSemaphore; - double m_approxMatchTimeOffset; - bool m_userInDisabled; - bool m_userInAutonomous; - bool m_userInTeleop; - bool m_userInTest; + double m_approxMatchTimeOffset = -1.0; + bool m_userInDisabled = false; + bool m_userInAutonomous = false; + bool m_userInTeleop = false; + bool m_userInTest = false; transport::SubscriberPtr stateSub; transport::SubscriberPtr joysticksSub[6]; diff --git a/wpilibc/wpilibC++Sim/include/Encoder.h b/wpilibc/wpilibC++Sim/include/Encoder.h index c8d2964b7c..3c136fd039 100644 --- a/wpilibc/wpilibC++Sim/include/Encoder.h +++ b/wpilibc/wpilibC++Sim/include/Encoder.h @@ -32,7 +32,7 @@ public: EncodingType encodingType = k4X); // TODO: [Not Supported] Encoder(DigitalSource *aSource, DigitalSource *bSource, bool reverseDirection=false, EncodingType encodingType = k4X); // TODO: [Not Supported] Encoder(DigitalSource &aSource, DigitalSource &bSource, bool reverseDirection=false, EncodingType encodingType = k4X); - virtual ~Encoder(); + virtual ~Encoder() = default; // CounterBase interface int32_t Get() const override; diff --git a/wpilibc/wpilibC++Sim/include/Gyro.h b/wpilibc/wpilibC++Sim/include/Gyro.h index 3cae68bf07..a277bc7386 100644 --- a/wpilibc/wpilibC++Sim/include/Gyro.h +++ b/wpilibc/wpilibC++Sim/include/Gyro.h @@ -33,7 +33,7 @@ public: static constexpr float kDefaultVoltsPerDegreePerSecond = 0.007; explicit Gyro(uint32_t channel); - virtual ~Gyro(); + virtual ~Gyro() = default; virtual float GetAngle() const; virtual double GetRate() const; void SetPIDSourceParameter(PIDSourceParameter pidSource); @@ -55,5 +55,5 @@ private: SimGyro* impl; PIDSourceParameter m_pidSource; - ITable *m_table; + ITable *m_table = nullptr; }; diff --git a/wpilibc/wpilibC++Sim/include/IterativeRobot.h b/wpilibc/wpilibC++Sim/include/IterativeRobot.h index b99a0e44b1..f0acaef618 100644 --- a/wpilibc/wpilibC++Sim/include/IterativeRobot.h +++ b/wpilibc/wpilibC++Sim/include/IterativeRobot.h @@ -64,16 +64,16 @@ public: double GetLoopsPerSec(); protected: - virtual ~IterativeRobot(); - IterativeRobot(); + virtual ~IterativeRobot() = default; + IterativeRobot() = default; private: bool NextPeriodReady(); - bool m_disabledInitialized; - bool m_autonomousInitialized; - bool m_teleopInitialized; - bool m_testInitialized; - double m_period; + bool m_disabledInitialized = false; + bool m_autonomousInitialized = false; + bool m_teleopInitialized = false; + bool m_testInitialized = false; + double m_period = kDefaultPeriod; Timer m_mainLoopTimer; }; diff --git a/wpilibc/wpilibC++Sim/include/Jaguar.h b/wpilibc/wpilibC++Sim/include/Jaguar.h index 91c7e3fd53..88008aa58f 100644 --- a/wpilibc/wpilibC++Sim/include/Jaguar.h +++ b/wpilibc/wpilibC++Sim/include/Jaguar.h @@ -16,7 +16,7 @@ class Jaguar : public SafePWM, public SpeedController { public: explicit Jaguar(uint32_t channel); - virtual ~Jaguar(); + virtual ~Jaguar() = default; virtual void Set(float value, uint8_t syncGroup = 0); virtual float Get() const; virtual void Disable(); diff --git a/wpilibc/wpilibC++Sim/include/Joystick.h b/wpilibc/wpilibC++Sim/include/Joystick.h index 672d898f42..5974b8dcda 100644 --- a/wpilibc/wpilibC++Sim/include/Joystick.h +++ b/wpilibc/wpilibC++Sim/include/Joystick.h @@ -68,10 +68,10 @@ private: DISALLOW_COPY_AND_ASSIGN(Joystick); void InitJoystick(uint32_t numAxisTypes, uint32_t numButtonTypes); - DriverStation *m_ds; + DriverStation *m_ds = nullptr; uint32_t m_port; - uint32_t *m_axes; - uint32_t *m_buttons; + uint32_t *m_axes = nullptr; + uint32_t *m_buttons = nullptr; }; #endif diff --git a/wpilibc/wpilibC++Sim/include/PWM.h b/wpilibc/wpilibC++Sim/include/PWM.h index aa09a89405..69a7337806 100644 --- a/wpilibc/wpilibC++Sim/include/PWM.h +++ b/wpilibc/wpilibC++Sim/include/PWM.h @@ -37,7 +37,7 @@ public: }; explicit PWM(uint32_t channel); - virtual ~PWM(); + virtual ~PWM() = default; virtual void SetRaw(unsigned short value); void SetPeriodMultiplier(PeriodMultiplier mult); void EnableDeadbandElimination(bool eliminateDeadband); @@ -93,7 +93,7 @@ protected: void InitTable(ITable *subTable) override; ITable * GetTable() const override; - ITable *m_table; + ITable *m_table = nullptr; private: void InitPWM(uint32_t channel); diff --git a/wpilibc/wpilibC++Sim/include/Relay.h b/wpilibc/wpilibC++Sim/include/Relay.h index 6311e4e925..b1526f4e39 100644 --- a/wpilibc/wpilibC++Sim/include/Relay.h +++ b/wpilibc/wpilibC++Sim/include/Relay.h @@ -53,7 +53,7 @@ public: void InitTable(ITable *subTable) override; ITable * GetTable() const override; - ITable *m_table; + ITable *m_table = nullptr; private: void InitRelay(); diff --git a/wpilibc/wpilibC++Sim/include/RobotBase.h b/wpilibc/wpilibC++Sim/include/RobotBase.h index c90c3f58d4..eeda304fc3 100644 --- a/wpilibc/wpilibC++Sim/include/RobotBase.h +++ b/wpilibc/wpilibC++Sim/include/RobotBase.h @@ -38,7 +38,7 @@ public: virtual void StartCompetition() = 0; protected: - virtual ~RobotBase(); + virtual ~RobotBase() = default; RobotBase(); DriverStation *m_ds; diff --git a/wpilibc/wpilibC++Sim/include/RobotDrive.h b/wpilibc/wpilibC++Sim/include/RobotDrive.h index 4391316f6f..14de22181c 100644 --- a/wpilibc/wpilibC++Sim/include/RobotDrive.h +++ b/wpilibc/wpilibC++Sim/include/RobotDrive.h @@ -83,13 +83,13 @@ protected: static const int32_t kMaxNumberOfMotors = 4; int32_t m_invertedMotors[kMaxNumberOfMotors]; - float m_sensitivity; - double m_maxOutput; + float m_sensitivity = 0.5; + double m_maxOutput = 1.0; bool m_deleteSpeedControllers; - SpeedController *m_frontLeftMotor; - SpeedController *m_frontRightMotor; - SpeedController *m_rearLeftMotor; - SpeedController *m_rearRightMotor; + SpeedController *m_frontLeftMotor = nullptr; + SpeedController *m_frontRightMotor = nullptr; + SpeedController *m_rearLeftMotor = nullptr; + SpeedController *m_rearRightMotor = nullptr; // FIXME: MotorSafetyHelper *m_safetyHelper; private: diff --git a/wpilibc/wpilibC++Sim/include/SampleRobot.h b/wpilibc/wpilibC++Sim/include/SampleRobot.h index 66842b6cf1..38cb37dead 100644 --- a/wpilibc/wpilibC++Sim/include/SampleRobot.h +++ b/wpilibc/wpilibC++Sim/include/SampleRobot.h @@ -11,7 +11,7 @@ class SampleRobot : public RobotBase { public: SampleRobot(); - virtual ~SampleRobot() {} + virtual ~SampleRobot() = default; virtual void RobotInit(); virtual void Disabled(); virtual void Autonomous(); diff --git a/wpilibc/wpilibC++Sim/include/Solenoid.h b/wpilibc/wpilibC++Sim/include/Solenoid.h index 434351ec28..a3b346197c 100644 --- a/wpilibc/wpilibC++Sim/include/Solenoid.h +++ b/wpilibc/wpilibC++Sim/include/Solenoid.h @@ -20,7 +20,7 @@ class Solenoid : public LiveWindowSendable, public ITableListener public: explicit Solenoid(uint32_t channel); Solenoid(uint8_t moduleNumber, uint32_t channel); - virtual ~Solenoid(); + virtual ~Solenoid() = default; virtual void Set(bool on); virtual bool Get() const; diff --git a/wpilibc/wpilibC++Sim/include/SpeedController.h b/wpilibc/wpilibC++Sim/include/SpeedController.h index 32356cc77b..96b6b17830 100644 --- a/wpilibc/wpilibC++Sim/include/SpeedController.h +++ b/wpilibc/wpilibC++Sim/include/SpeedController.h @@ -13,7 +13,7 @@ class SpeedController : public PIDOutput { public: - virtual ~SpeedController() {} + virtual ~SpeedController() = default; /** * Common interface for setting the speed of a speed controller. * diff --git a/wpilibc/wpilibC++Sim/include/Talon.h b/wpilibc/wpilibC++Sim/include/Talon.h index a86821409c..4a4e0db639 100644 --- a/wpilibc/wpilibC++Sim/include/Talon.h +++ b/wpilibc/wpilibC++Sim/include/Talon.h @@ -16,7 +16,7 @@ class Talon : public SafePWM, public SpeedController { public: explicit Talon(uint32_t channel); - virtual ~Talon(); + virtual ~Talon() = default; virtual void Set(float value, uint8_t syncGroup = 0); virtual float Get() const; virtual void Disable(); diff --git a/wpilibc/wpilibC++Sim/include/Victor.h b/wpilibc/wpilibC++Sim/include/Victor.h index acf0532247..fb779ffde8 100644 --- a/wpilibc/wpilibC++Sim/include/Victor.h +++ b/wpilibc/wpilibC++Sim/include/Victor.h @@ -16,7 +16,7 @@ class Victor : public SafePWM, public SpeedController { public: explicit Victor(uint32_t channel); - virtual ~Victor(); + virtual ~Victor() = default; virtual void Set(float value, uint8_t syncGroup = 0); virtual float Get() const; virtual void Disable(); diff --git a/wpilibc/wpilibC++Sim/src/AnalogInput.cpp b/wpilibc/wpilibC++Sim/src/AnalogInput.cpp index 3be39bb133..aba1fb1813 100644 --- a/wpilibc/wpilibC++Sim/src/AnalogInput.cpp +++ b/wpilibc/wpilibC++Sim/src/AnalogInput.cpp @@ -13,8 +13,6 @@ */ void AnalogInput::InitAnalogInput(uint32_t channel) { - m_table = nullptr; - m_channel = channel; char buffer[50]; int n = sprintf(buffer, "analog/%d", channel); @@ -33,13 +31,6 @@ AnalogInput::AnalogInput(uint32_t channel) InitAnalogInput(channel); } -/** - * Channel destructor. - */ -AnalogInput::~AnalogInput() -{ -} - /** * Get a scaled sample straight from this channel. * The value is scaled to units of Volts using the calibrated scaling data from GetLSBWeight() and GetOffset(). diff --git a/wpilibc/wpilibC++Sim/src/DigitalInput.cpp b/wpilibc/wpilibC++Sim/src/DigitalInput.cpp index 40775660cd..f9bddaed2f 100644 --- a/wpilibc/wpilibC++Sim/src/DigitalInput.cpp +++ b/wpilibc/wpilibC++Sim/src/DigitalInput.cpp @@ -14,7 +14,6 @@ */ void DigitalInput::InitDigitalInput(uint32_t channel) { - m_table = nullptr; char buf[64]; m_channel = channel; int n = sprintf(buf, "dio/%d", channel); @@ -32,13 +31,6 @@ DigitalInput::DigitalInput(uint32_t channel) InitDigitalInput(channel); } -/** - * Free resources associated with the Digital Input class. - */ -DigitalInput::~DigitalInput() -{ -} - /* * Get the value from a digital input channel. * Retrieve the value of a single digital input channel from the FPGA. diff --git a/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp b/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp index 87e26aebba..3e67df07ba 100644 --- a/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp +++ b/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp @@ -52,13 +52,6 @@ DoubleSolenoid::DoubleSolenoid(uint8_t moduleNumber, uint32_t forwardChannel, ui InitSolenoid(moduleNumber, forwardChannel, reverseChannel); } -/** - * Destructor. - */ -DoubleSolenoid::~DoubleSolenoid() -{ -} - /** * Set the value of a solenoid. * diff --git a/wpilibc/wpilibC++Sim/src/DriverStation.cpp b/wpilibc/wpilibC++Sim/src/DriverStation.cpp index 63af0f2ebd..f21af70202 100644 --- a/wpilibc/wpilibC++Sim/src/DriverStation.cpp +++ b/wpilibc/wpilibC++Sim/src/DriverStation.cpp @@ -35,13 +35,6 @@ uint8_t DriverStation::m_updateNumber = 0; * This is only called once the first time GetInstance() is called */ DriverStation::DriverStation() - : m_digitalOut (0) - , m_waitForDataSem(0) - , m_approxMatchTimeOffset(-1.0) - , m_userInDisabled(false) - , m_userInAutonomous(false) - , m_userInTeleop(false) - , m_userInTest(false) { // Create a new semaphore m_waitForDataSem = initializeMultiWait(); diff --git a/wpilibc/wpilibC++Sim/src/Encoder.cpp b/wpilibc/wpilibC++Sim/src/Encoder.cpp index 8d3d2a5206..e3f8e961c6 100644 --- a/wpilibc/wpilibC++Sim/src/Encoder.cpp +++ b/wpilibc/wpilibC++Sim/src/Encoder.cpp @@ -134,15 +134,6 @@ Encoder::Encoder(uint32_t aChannel, uint32_t bChannel, bool reverseDirection, En InitEncoder(reverseDirection, encodingType); }*/ -/** - * Free the resources for an Encoder. - * Frees the FPGA resources associated with an Encoder. - */ -Encoder::~Encoder() -{ - -} - /** * Reset the Encoder distance to zero. * Resets the current count to zero on the encoder. diff --git a/wpilibc/wpilibC++Sim/src/Gyro.cpp b/wpilibc/wpilibC++Sim/src/Gyro.cpp index fe66793f83..717b42e7d1 100644 --- a/wpilibc/wpilibC++Sim/src/Gyro.cpp +++ b/wpilibc/wpilibC++Sim/src/Gyro.cpp @@ -25,7 +25,6 @@ constexpr float Gyro::kDefaultVoltsPerDegreePerSecond; */ void Gyro::InitGyro(int channel) { - m_table = nullptr; SetPIDSourceParameter(kAngle); char buffer[50]; @@ -55,13 +54,6 @@ void Gyro::Reset() impl->Reset(); } -/** - * Delete (free) the accumulator and the analog components used for the gyro. - */ -Gyro::~Gyro() -{ -} - /** * Return the actual angle in degrees that the robot is currently facing. * diff --git a/wpilibc/wpilibC++Sim/src/IterativeRobot.cpp b/wpilibc/wpilibC++Sim/src/IterativeRobot.cpp index caa1052433..c81e9d0b0b 100644 --- a/wpilibc/wpilibC++Sim/src/IterativeRobot.cpp +++ b/wpilibc/wpilibC++Sim/src/IterativeRobot.cpp @@ -14,28 +14,6 @@ constexpr double IterativeRobot::kDefaultPeriod; -/** - * Constructor for RobotIterativeBase - * - * The constructor initializes the instance variables for the robot to indicate - * the status of initialization for disabled, autonomous, teleop, and test code. - */ -IterativeRobot::IterativeRobot() - : m_disabledInitialized (false) - , m_autonomousInitialized (false) - , m_teleopInitialized (false) - , m_testInitialized (false) - , m_period (kDefaultPeriod) -{ -} - -/** - * Free the resources for a RobotIterativeBase class. - */ -IterativeRobot::~IterativeRobot() -{ -} - /** * Set the period for the periodic functions. * diff --git a/wpilibc/wpilibC++Sim/src/Jaguar.cpp b/wpilibc/wpilibC++Sim/src/Jaguar.cpp index f3bbee6491..bd5ca85351 100644 --- a/wpilibc/wpilibC++Sim/src/Jaguar.cpp +++ b/wpilibc/wpilibC++Sim/src/Jaguar.cpp @@ -38,10 +38,6 @@ Jaguar::Jaguar(uint32_t channel) : SafePWM(channel) InitJaguar(); } -Jaguar::~Jaguar() -{ -} - /** * Set the PWM value. * diff --git a/wpilibc/wpilibC++Sim/src/Joystick.cpp b/wpilibc/wpilibC++Sim/src/Joystick.cpp index a116f21248..06171a330f 100644 --- a/wpilibc/wpilibC++Sim/src/Joystick.cpp +++ b/wpilibc/wpilibC++Sim/src/Joystick.cpp @@ -26,10 +26,7 @@ static bool joySticksInitialized = false; * @param port The port on the driver station that the joystick is plugged into. */ Joystick::Joystick(uint32_t port) - : m_ds (nullptr) - , m_port (port) - , m_axes (nullptr) - , m_buttons (nullptr) + : m_port (port) { InitJoystick(kNumAxisTypes, kNumButtonTypes); @@ -54,10 +51,7 @@ Joystick::Joystick(uint32_t port) * @param numButtonTypes The number of button types in the enum. */ Joystick::Joystick(uint32_t port, uint32_t numAxisTypes, uint32_t numButtonTypes) - : m_ds (nullptr) - , m_port (port) - , m_axes (nullptr) - , m_buttons (nullptr) + : m_port (port) { InitJoystick(numAxisTypes, numButtonTypes); } diff --git a/wpilibc/wpilibC++Sim/src/PWM.cpp b/wpilibc/wpilibC++Sim/src/PWM.cpp index eeabbfe886..3557f57e68 100644 --- a/wpilibc/wpilibC++Sim/src/PWM.cpp +++ b/wpilibc/wpilibC++Sim/src/PWM.cpp @@ -24,7 +24,6 @@ const int32_t PWM::kPwmDisabled; */ void PWM::InitPWM(uint32_t channel) { - m_table = nullptr; char buf[64]; if (!CheckPWMChannel(channel)) @@ -52,15 +51,6 @@ PWM::PWM(uint32_t channel) InitPWM(channel); } -/** - * Free the PWM channel. - * - * Free the resource associated with the PWM channel and set the value to 0. - */ -PWM::~PWM() -{ -} - /** * Optionally eliminate the deadband from a speed controller. * @param eliminateDeadband If true, set the motor curve on the Jaguar to eliminate diff --git a/wpilibc/wpilibC++Sim/src/Relay.cpp b/wpilibc/wpilibC++Sim/src/Relay.cpp index ae6f3b8a32..d136526ebe 100644 --- a/wpilibc/wpilibC++Sim/src/Relay.cpp +++ b/wpilibc/wpilibC++Sim/src/Relay.cpp @@ -17,7 +17,6 @@ */ void Relay::InitRelay() { - m_table = nullptr; char buf[64]; if (!SensorBase::CheckRelayChannel(m_channel)) { diff --git a/wpilibc/wpilibC++Sim/src/RobotBase.cpp b/wpilibc/wpilibC++Sim/src/RobotBase.cpp index 08f8f589d7..e0858e92c9 100644 --- a/wpilibc/wpilibC++Sim/src/RobotBase.cpp +++ b/wpilibc/wpilibC++Sim/src/RobotBase.cpp @@ -37,15 +37,6 @@ RobotBase::RobotBase() RobotState::SetImplementation(DriverStation::GetInstance()); } -/** - * Free the resources for a RobotBase class. - * This includes deleting all classes that might have been allocated as Singletons to they - * would never be deleted except here. - */ -RobotBase::~RobotBase() -{ -} - /** * Determine if the Robot is currently enabled. * @return True if the Robot is currently enabled by the field controls. @@ -109,7 +100,6 @@ bool RobotBase::IsTest() const class RobotDeleter { public: - RobotDeleter() {} ~RobotDeleter() { delete &RobotBase::getInstance(); diff --git a/wpilibc/wpilibC++Sim/src/RobotDrive.cpp b/wpilibc/wpilibC++Sim/src/RobotDrive.cpp index 6493afc48a..5631134b61 100644 --- a/wpilibc/wpilibC++Sim/src/RobotDrive.cpp +++ b/wpilibc/wpilibC++Sim/src/RobotDrive.cpp @@ -32,12 +32,6 @@ const int32_t RobotDrive::kMaxNumberOfMotors; * initialize all the motor assignments. The default timeout is set for the robot drive. */ void RobotDrive::InitRobotDrive() { - m_frontLeftMotor = nullptr; - m_frontRightMotor = nullptr; - m_rearRightMotor = nullptr; - m_rearLeftMotor = nullptr; - m_sensitivity = 0.5; - m_maxOutput = 1.0; // FIXME: m_safetyHelper = new MotorSafetyHelper(this); // FIXME: m_safetyHelper->SetSafetyEnabled(true); } diff --git a/wpilibc/wpilibC++Sim/src/SensorBase.cpp b/wpilibc/wpilibC++Sim/src/SensorBase.cpp index cadf41be36..fa3086f423 100644 --- a/wpilibc/wpilibC++Sim/src/SensorBase.cpp +++ b/wpilibc/wpilibC++Sim/src/SensorBase.cpp @@ -25,13 +25,6 @@ SensorBase::SensorBase() { } -/** - * Frees the resources for a SensorBase. - */ -SensorBase::~SensorBase() -{ -} - /** * Add sensor to the singleton list. * Add this sensor to the list of singletons that need to be deleted when diff --git a/wpilibc/wpilibC++Sim/src/Solenoid.cpp b/wpilibc/wpilibC++Sim/src/Solenoid.cpp index 02d52b33a4..b113d6cafd 100644 --- a/wpilibc/wpilibC++Sim/src/Solenoid.cpp +++ b/wpilibc/wpilibC++Sim/src/Solenoid.cpp @@ -42,13 +42,6 @@ Solenoid::Solenoid(uint8_t moduleNumber, uint32_t channel) InitSolenoid(moduleNumber, channel); } -/** - * Destructor. - */ -Solenoid::~Solenoid() -{ -} - /** * Set the value of a solenoid. * diff --git a/wpilibc/wpilibC++Sim/src/Talon.cpp b/wpilibc/wpilibC++Sim/src/Talon.cpp index dcd0fa2f1d..a506c95ffe 100644 --- a/wpilibc/wpilibC++Sim/src/Talon.cpp +++ b/wpilibc/wpilibC++Sim/src/Talon.cpp @@ -39,10 +39,6 @@ Talon::Talon(uint32_t channel) : SafePWM(channel) InitTalon(); } -Talon::~Talon() -{ -} - /** * Set the PWM value. * diff --git a/wpilibc/wpilibC++Sim/src/Victor.cpp b/wpilibc/wpilibC++Sim/src/Victor.cpp index f4ab50cb0e..ed4bf73b43 100644 --- a/wpilibc/wpilibC++Sim/src/Victor.cpp +++ b/wpilibc/wpilibC++Sim/src/Victor.cpp @@ -41,10 +41,6 @@ Victor::Victor(uint32_t channel) : SafePWM(channel) InitVictor(); } -Victor::~Victor() -{ -} - /** * Set the PWM value. *