diff --git a/networktables/cpp/include/networktables2/TableKeyExistsWithDifferentTypeException.h b/networktables/cpp/include/networktables2/TableKeyExistsWithDifferentTypeException.h index 334ed16092..2a859a6f05 100644 --- a/networktables/cpp/include/networktables2/TableKeyExistsWithDifferentTypeException.h +++ b/networktables/cpp/include/networktables2/TableKeyExistsWithDifferentTypeException.h @@ -36,7 +36,7 @@ public: TableKeyExistsWithDifferentTypeException(const std::string existingKey, NetworkTableEntryType* existingType, const char* message); - const char* what(){return "TableKeyExistsWithDifferentTypeException";}; + const char* what() const noexcept {return "TableKeyExistsWithDifferentTypeException";}; virtual ~TableKeyExistsWithDifferentTypeException() throw (); }; diff --git a/networktables/cpp/include/networktables2/connection/BadMessageException.h b/networktables/cpp/include/networktables2/connection/BadMessageException.h index 5c5585a4ff..bea48bfcbc 100644 --- a/networktables/cpp/include/networktables2/connection/BadMessageException.h +++ b/networktables/cpp/include/networktables2/connection/BadMessageException.h @@ -16,7 +16,7 @@ class BadMessageException : public std::exception public: BadMessageException(const char* message); ~BadMessageException() throw (); - const char* what(); + const char* what() const noexcept; private: std::string message; }; diff --git a/networktables/cpp/include/networktables2/util/IOException.h b/networktables/cpp/include/networktables2/util/IOException.h index 001f329a8e..e4a3670697 100644 --- a/networktables/cpp/include/networktables2/util/IOException.h +++ b/networktables/cpp/include/networktables2/util/IOException.h @@ -36,7 +36,7 @@ public: * * @return The message associated with this exception. */ - const char* what(); + const char* what() const noexcept; /** * Determines whether this exception indicates that an EOF diff --git a/networktables/cpp/include/networktables2/util/IllegalStateException.h b/networktables/cpp/include/networktables2/util/IllegalStateException.h index 44136e6b8d..a4e423e323 100644 --- a/networktables/cpp/include/networktables2/util/IllegalStateException.h +++ b/networktables/cpp/include/networktables2/util/IllegalStateException.h @@ -14,7 +14,7 @@ class IllegalStateException : public std::exception{ public: IllegalStateException(const char* message); - const char* what(){return message.c_str();}; + const char* what() const noexcept {return message.c_str();}; ~IllegalStateException() throw (); private: std::string message; diff --git a/networktables/cpp/lib/share/networktables2/connection/BadMessageException.cpp b/networktables/cpp/lib/share/networktables2/connection/BadMessageException.cpp index bba6e09625..9859d812ad 100644 --- a/networktables/cpp/lib/share/networktables2/connection/BadMessageException.cpp +++ b/networktables/cpp/lib/share/networktables2/connection/BadMessageException.cpp @@ -17,7 +17,7 @@ BadMessageException::~BadMessageException() throw () { } -const char* BadMessageException::what() +const char* BadMessageException::what() const noexcept { return message.c_str(); } diff --git a/networktables/cpp/lib/share/networktables2/util/IOException.cpp b/networktables/cpp/lib/share/networktables2/util/IOException.cpp index e44b58124a..053e619722 100644 --- a/networktables/cpp/lib/share/networktables2/util/IOException.cpp +++ b/networktables/cpp/lib/share/networktables2/util/IOException.cpp @@ -13,7 +13,7 @@ IOException::IOException(const char* msg) : message(strdup(msg)), errorValue(0){} IOException::IOException(const char* msg, int _errorValue) : message(strdup(msg)), errorValue(_errorValue){} -const char* IOException::what(){ +const char* IOException::what() const noexcept { return message; } diff --git a/wpilibc/wpilibC++/include/Buttons/Trigger.h b/wpilibc/wpilibC++/include/Buttons/Trigger.h index 509fc826d8..d6ca1707a9 100644 --- a/wpilibc/wpilibC++/include/Buttons/Trigger.h +++ b/wpilibc/wpilibC++/include/Buttons/Trigger.h @@ -40,8 +40,8 @@ public: void ToggleWhenActive(Command *command); virtual void InitTable(ITable* table); - virtual ITable* GetTable(); - virtual std::string GetSmartDashboardType(); + virtual ITable* GetTable() const; + virtual std::string GetSmartDashboardType() const; protected: ITable* m_table; }; diff --git a/wpilibc/wpilibC++/include/Commands/Command.h b/wpilibc/wpilibC++/include/Commands/Command.h index 5a9a77f788..42edef7e1e 100644 --- a/wpilibc/wpilibC++/include/Commands/Command.h +++ b/wpilibc/wpilibC++/include/Commands/Command.h @@ -50,27 +50,27 @@ public: Command(double timeout); Command(const char *name, double timeout); virtual ~Command(); - double TimeSinceInitialized(); + double TimeSinceInitialized() const; void Requires(Subsystem *s); - bool IsCanceled(); + bool IsCanceled() const; void Start(); bool Run(); void Cancel(); - bool IsRunning(); - bool IsInterruptible(); + bool IsRunning() const; + bool IsInterruptible() const; void SetInterruptible(bool interruptible); - bool DoesRequire(Subsystem *subsystem); + bool DoesRequire(Subsystem *subsystem) const; typedef std::set SubsystemSet; - SubsystemSet GetRequirements(); - CommandGroup *GetGroup(); + SubsystemSet GetRequirements() const; + CommandGroup *GetGroup() const; void SetRunWhenDisabled(bool run); - bool WillRunWhenDisabled(); - int GetID(); + bool WillRunWhenDisabled() const; + int GetID() const; protected: void SetTimeout(double timeout); - bool IsTimedOut(); + bool IsTimedOut() const; bool AssertUnlocked(const char *message); void SetParent(CommandGroup *parent); /** @@ -154,8 +154,8 @@ private: public: virtual std::string GetName(); virtual void InitTable(ITable* table); - virtual ITable* GetTable(); - virtual std::string GetSmartDashboardType(); + virtual ITable* GetTable() const; + virtual std::string GetSmartDashboardType() const; virtual void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); protected: ITable* m_table; diff --git a/wpilibc/wpilibC++/include/Commands/CommandGroup.h b/wpilibc/wpilibC++/include/Commands/CommandGroup.h index 87c299f7cb..9a7005bd62 100644 --- a/wpilibc/wpilibC++/include/Commands/CommandGroup.h +++ b/wpilibc/wpilibC++/include/Commands/CommandGroup.h @@ -41,8 +41,8 @@ public: void AddSequential(Command *command, double timeout); void AddParallel(Command *command); void AddParallel(Command *command, double timeout); - bool IsInterruptible(); - int GetSize(); + bool IsInterruptible() const; + int GetSize() const; protected: virtual void Initialize(); diff --git a/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h b/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h index d2be6a8ad4..1b652b857d 100644 --- a/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h +++ b/wpilibc/wpilibC++/include/Commands/CommandGroupEntry.h @@ -17,7 +17,7 @@ public: CommandGroupEntry(); CommandGroupEntry(Command *command, Sequence state); CommandGroupEntry(Command *command, Sequence state, double timeout); - bool IsTimedOut(); + bool IsTimedOut() const; double m_timeout; Command *m_command; diff --git a/wpilibc/wpilibC++/include/Commands/PIDCommand.h b/wpilibc/wpilibC++/include/Commands/PIDCommand.h index be44f0656d..6430eaf0df 100644 --- a/wpilibc/wpilibC++/include/Commands/PIDCommand.h +++ b/wpilibc/wpilibC++/include/Commands/PIDCommand.h @@ -30,17 +30,17 @@ public: virtual void PIDWrite(float output); // PIDSource interface - virtual double PIDGet(); + virtual double PIDGet() const; protected: - PIDController *GetPIDController(); + PIDController *GetPIDController() const; virtual void _Initialize(); virtual void _Interrupted(); virtual void _End(); void SetSetpoint(double setpoint); - double GetSetpoint(); - double GetPosition(); + double GetSetpoint() const; + double GetPosition() const; - virtual double ReturnPIDInput() = 0; + virtual double ReturnPIDInput() const = 0; virtual void UsePIDOutput(double output) = 0; private: @@ -49,7 +49,7 @@ private: public: virtual void InitTable(ITable* table); - virtual std::string GetSmartDashboardType(); + virtual std::string GetSmartDashboardType() const; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/PIDSubsystem.h b/wpilibc/wpilibC++/include/Commands/PIDSubsystem.h index 9def86a80e..e2ea9d6778 100644 --- a/wpilibc/wpilibC++/include/Commands/PIDSubsystem.h +++ b/wpilibc/wpilibC++/include/Commands/PIDSubsystem.h @@ -40,7 +40,7 @@ public: virtual void PIDWrite(float output); // PIDSource interface - virtual double PIDGet(); + virtual double PIDGet() const; void SetSetpoint(double setpoint); void SetSetpointRelative(double deltaSetpoint); void SetInputRange(float minimumInput, float maximumInput); @@ -50,12 +50,12 @@ public: virtual void SetAbsoluteTolerance(float absValue); virtual void SetPercentTolerance(float percent); - virtual bool OnTarget(); + virtual bool OnTarget() const; protected: PIDController *GetPIDController(); - virtual double ReturnPIDInput() = 0; + virtual double ReturnPIDInput() const = 0; virtual void UsePIDOutput(double output) = 0; private: @@ -64,7 +64,7 @@ private: public: virtual void InitTable(ITable* table); - virtual std::string GetSmartDashboardType(); + virtual std::string GetSmartDashboardType() const; }; #endif diff --git a/wpilibc/wpilibC++/include/Commands/Scheduler.h b/wpilibc/wpilibC++/include/Commands/Scheduler.h index 851eccf55e..668a1c74a1 100644 --- a/wpilibc/wpilibC++/include/Commands/Scheduler.h +++ b/wpilibc/wpilibC++/include/Commands/Scheduler.h @@ -38,11 +38,11 @@ public: void SetEnabled(bool enabled); void UpdateTable(); - std::string GetSmartDashboardType(); + std::string GetSmartDashboardType() const; void InitTable(ITable *subTable); - ITable * GetTable(); + ITable * GetTable() const; std::string GetName(); - std::string GetType(); + std::string GetType() const; private: Scheduler(); diff --git a/wpilibc/wpilibC++/include/Commands/Subsystem.h b/wpilibc/wpilibC++/include/Commands/Subsystem.h index 1bc1fd2859..30fccea83e 100644 --- a/wpilibc/wpilibC++/include/Commands/Subsystem.h +++ b/wpilibc/wpilibC++/include/Commands/Subsystem.h @@ -24,7 +24,7 @@ public: void SetDefaultCommand(Command *command); Command *GetDefaultCommand(); void SetCurrentCommand(Command *command); - Command *GetCurrentCommand(); + Command *GetCurrentCommand() const; virtual void InitDefaultCommand(); private: @@ -39,8 +39,8 @@ private: public: virtual std::string GetName(); virtual void InitTable(ITable* table); - virtual ITable* GetTable(); - virtual std::string GetSmartDashboardType(); + virtual ITable* GetTable() const; + virtual std::string GetSmartDashboardType() const; protected: ITable* m_table; }; diff --git a/wpilibc/wpilibC++/include/GenericHID.h b/wpilibc/wpilibC++/include/GenericHID.h index cb8dfde411..88a6e78a1b 100644 --- a/wpilibc/wpilibC++/include/GenericHID.h +++ b/wpilibc/wpilibC++/include/GenericHID.h @@ -22,17 +22,17 @@ public: { } - virtual float GetX(JoystickHand hand = kRightHand) = 0; - virtual float GetY(JoystickHand hand = kRightHand) = 0; - virtual float GetZ() = 0; - virtual float GetTwist() = 0; - virtual float GetThrottle() = 0; - virtual float GetRawAxis(uint32_t axis) = 0; + virtual float GetX(JoystickHand hand = kRightHand) const = 0; + virtual float GetY(JoystickHand hand = kRightHand) const = 0; + virtual float GetZ() const = 0; + virtual float GetTwist() const = 0; + virtual float GetThrottle() const = 0; + virtual float GetRawAxis(uint32_t axis) const = 0; - virtual bool GetTrigger(JoystickHand hand = kRightHand) = 0; - virtual bool GetTop(JoystickHand hand = kRightHand) = 0; - virtual bool GetBumper(JoystickHand hand = kRightHand) = 0; - virtual bool GetRawButton(uint32_t button) = 0; + virtual bool GetTrigger(JoystickHand hand = kRightHand) const = 0; + virtual bool GetTop(JoystickHand hand = kRightHand) const = 0; + virtual bool GetBumper(JoystickHand hand = kRightHand) const = 0; + virtual bool GetRawButton(uint32_t button) const = 0; - virtual int GetPOV(uint32_t pov = 0) = 0; + virtual int GetPOV(uint32_t pov = 0) const = 0; }; diff --git a/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h b/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h index ab78d3c452..3e9e26ebff 100644 --- a/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h +++ b/wpilibc/wpilibC++/include/LiveWindow/LiveWindow.h @@ -39,7 +39,7 @@ public: void AddActuator(std::string type, int channel, LiveWindowSendable *component); void AddActuator(std::string type, int module, int channel, LiveWindowSendable *component); - bool IsEnabled() { return m_enabled; } + bool IsEnabled() const { return m_enabled; } void SetEnabled(bool enabled); protected: diff --git a/wpilibc/wpilibC++/include/PIDController.h b/wpilibc/wpilibC++/include/PIDController.h index ceb1026db4..8bc6c24039 100644 --- a/wpilibc/wpilibC++/include/PIDController.h +++ b/wpilibc/wpilibC++/include/PIDController.h @@ -29,30 +29,30 @@ public: PIDController(float p, float i, float d, float f, PIDSource *source, PIDOutput *output, float period = 0.05); virtual ~PIDController(); - virtual float Get(); + virtual float Get() const; virtual void SetContinuous(bool continuous = true); virtual void SetInputRange(float minimumInput, float maximumInput); virtual void SetOutputRange(float minimumOutput, float maximumOutput); virtual void SetPID(float p, float i, float d); virtual void SetPID(float p, float i, float d, float f); - virtual float GetP(); - virtual float GetI(); - virtual float GetD(); - virtual float GetF(); + virtual float GetP() const; + virtual float GetI() const; + virtual float GetD() const; + virtual float GetF() const; virtual void SetSetpoint(float setpoint); - virtual float GetSetpoint(); + virtual float GetSetpoint() const; - virtual float GetError(); + virtual float GetError() const; virtual void SetTolerance(float percent); virtual void SetAbsoluteTolerance(float absValue); virtual void SetPercentTolerance(float percentValue); - virtual bool OnTarget(); + virtual bool OnTarget() const; - virtual void Enable(); - virtual void Disable(); - virtual bool IsEnabled(); + virtual void Enable() override; + virtual void Disable() override; + virtual bool IsEnabled() const; virtual void Reset(); @@ -95,8 +95,8 @@ private: float period = 0.05); static void CallCalculate(void *controller); - virtual ITable* GetTable(); - virtual std::string GetSmartDashboardType(); + virtual ITable* GetTable() const; + virtual std::string GetSmartDashboardType() const; virtual void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); virtual void UpdateTable(); virtual void StartLiveWindowMode(); diff --git a/wpilibc/wpilibC++/include/PIDSource.h b/wpilibc/wpilibC++/include/PIDSource.h index e81bd286df..8880f1bd35 100644 --- a/wpilibc/wpilibC++/include/PIDSource.h +++ b/wpilibc/wpilibC++/include/PIDSource.h @@ -14,5 +14,5 @@ class PIDSource { public: enum PIDSourceParameter {kDistance, kRate, kAngle}; - virtual double PIDGet() = 0; + virtual double PIDGet() const = 0; }; diff --git a/wpilibc/wpilibC++/include/RobotState.h b/wpilibc/wpilibC++/include/RobotState.h index ee25493a79..1a2f834acf 100644 --- a/wpilibc/wpilibC++/include/RobotState.h +++ b/wpilibc/wpilibC++/include/RobotState.h @@ -9,11 +9,11 @@ class RobotStateInterface { public: virtual ~RobotStateInterface() {}; - virtual bool IsDisabled() = 0; - virtual bool IsEnabled() = 0; - virtual bool IsOperatorControl() = 0; - virtual bool IsAutonomous() = 0; - virtual bool IsTest() = 0; + virtual bool IsDisabled() const = 0; + virtual bool IsEnabled() const = 0; + virtual bool IsOperatorControl() const = 0; + virtual bool IsAutonomous() const = 0; + virtual bool IsTest() const = 0; }; class RobotState diff --git a/wpilibc/wpilibC++/include/SmartDashboard/Sendable.h b/wpilibc/wpilibC++/include/SmartDashboard/Sendable.h index e5c86985fb..f350f26855 100644 --- a/wpilibc/wpilibC++/include/SmartDashboard/Sendable.h +++ b/wpilibc/wpilibC++/include/SmartDashboard/Sendable.h @@ -22,12 +22,12 @@ public: /** * @return the table that is currently associated with the sendable */ - virtual ITable* GetTable() = 0; + virtual ITable* GetTable() const = 0; /** * @return the string representation of the named data type that will be used by the smart dashboard for this sendable */ - virtual std::string GetSmartDashboardType() = 0; + virtual std::string GetSmartDashboardType() const = 0; }; #endif diff --git a/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h b/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h index 7a119b4fb6..f8570ccc61 100644 --- a/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h +++ b/wpilibc/wpilibC++/include/SmartDashboard/SendableChooser.h @@ -35,8 +35,8 @@ public: void *GetSelected(); virtual void InitTable(ITable* subtable); - virtual ITable* GetTable(); - virtual std::string GetSmartDashboardType(); + virtual ITable* GetTable() const; + virtual std::string GetSmartDashboardType() const; private: std::string m_defaultChoice; diff --git a/wpilibc/wpilibC++/include/Task.h b/wpilibc/wpilibC++/include/Task.h index ca1754a50d..76aba6cf28 100644 --- a/wpilibc/wpilibC++/include/Task.h +++ b/wpilibc/wpilibC++/include/Task.h @@ -27,18 +27,18 @@ public: bool Restart(); bool Stop(); - bool IsReady(); - bool IsSuspended(); + bool IsReady() const; + bool IsSuspended() const; bool Suspend(); bool Resume(); - bool Verify(); + bool Verify() const; int32_t GetPriority(); bool SetPriority(int32_t priority); - const char* GetName(); - TASK GetID(); + const char* GetName() const; + TASK GetID() const; private: FUNCPTR m_function; diff --git a/wpilibc/wpilibC++/include/Timer.h b/wpilibc/wpilibC++/include/Timer.h index 82db67a51a..6f0eb26f9a 100644 --- a/wpilibc/wpilibC++/include/Timer.h +++ b/wpilibc/wpilibC++/include/Timer.h @@ -26,7 +26,7 @@ class Timer public: Timer(); virtual ~Timer(); - double Get(); + double Get() const; void Reset(); void Start(); void Stop(); diff --git a/wpilibc/wpilibC++/include/interfaces/Potentiometer.h b/wpilibc/wpilibC++/include/interfaces/Potentiometer.h index f5f45674cb..e8562c19d0 100644 --- a/wpilibc/wpilibC++/include/interfaces/Potentiometer.h +++ b/wpilibc/wpilibC++/include/interfaces/Potentiometer.h @@ -21,7 +21,7 @@ public: * * @return The current set speed. Value is between -1.0 and 1.0. */ - virtual double Get() = 0; + virtual double Get() const = 0; }; #endif diff --git a/wpilibc/wpilibC++/src/Buttons/Trigger.cpp b/wpilibc/wpilibC++/src/Buttons/Trigger.cpp index 55b865b8f2..e633df4573 100644 --- a/wpilibc/wpilibC++/src/Buttons/Trigger.cpp +++ b/wpilibc/wpilibC++/src/Buttons/Trigger.cpp @@ -59,7 +59,7 @@ void Trigger::ToggleWhenActive(Command *command) { tbs->Start(); } -std::string Trigger::GetSmartDashboardType(){ +std::string Trigger::GetSmartDashboardType() const { return "Button"; } @@ -70,6 +70,6 @@ void Trigger::InitTable(ITable* table){ } } -ITable* Trigger::GetTable(){ +ITable* Trigger::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++/src/Commands/Command.cpp b/wpilibc/wpilibC++/src/Commands/Command.cpp index 9bb53c9201..23c9a20116 100644 --- a/wpilibc/wpilibC++/src/Commands/Command.cpp +++ b/wpilibc/wpilibC++/src/Commands/Command.cpp @@ -93,7 +93,7 @@ Command::~Command() * The ID is a unique sequence number that is incremented for each command. * @return the ID of this command */ -int Command::GetID() { +int Command::GetID() const { return m_commandID; } @@ -115,7 +115,7 @@ void Command::SetTimeout(double timeout) * This function will work even if there is no specified timeout. * @return the time since this command was initialized (in seconds). */ -double Command::TimeSinceInitialized() +double Command::TimeSinceInitialized() const { if (m_startTime < 0.0) return 0.0; @@ -239,7 +239,7 @@ void Command::StartTiming() * If there is no timeout, this will always return false. * @return whether the time has expired */ -bool Command::IsTimedOut() +bool Command::IsTimedOut() const { return m_timeout != -1 && TimeSinceInitialized() >= m_timeout; } @@ -248,7 +248,7 @@ bool Command::IsTimedOut() * Returns the requirements (as an std::set of {@link Subsystem Subsystems} pointers) of this command * @return the requirements (as an std::set of {@link Subsystem Subsystems} pointers) of this command */ -Command::SubsystemSet Command::GetRequirements() +Command::SubsystemSet Command::GetRequirements() const { return m_requirements; } @@ -328,7 +328,7 @@ void Command::StartRunning() * not have yet called {@link Command#interrupted()}. * @return whether or not the command is running */ -bool Command::IsRunning() +bool Command::IsRunning() const { return m_running; } @@ -363,7 +363,7 @@ void Command::_Cancel() * Returns whether or not this has been canceled. * @return whether or not this has been canceled */ -bool Command::IsCanceled() +bool Command::IsCanceled() const { return m_canceled; } @@ -372,7 +372,7 @@ bool Command::IsCanceled() * Returns whether or not this command can be interrupted. * @return whether or not this command can be interrupted */ -bool Command::IsInterruptible() +bool Command::IsInterruptible() const { return m_interruptible; } @@ -391,7 +391,7 @@ void Command::SetInterruptible(bool interruptible) * @param system the system * @return whether or not the subsystem is required (false if given NULL) */ -bool Command::DoesRequire(Subsystem *system) +bool Command::DoesRequire(Subsystem *system) const { return m_requirements.count(system) > 0; } @@ -401,7 +401,7 @@ bool Command::DoesRequire(Subsystem *system) * Will return null if this {@link Command} is not in a group. * @return the {@link CommandGroup} that this command is a part of (or null if not in group) */ -CommandGroup *Command::GetGroup() +CommandGroup *Command::GetGroup() const { return m_parent; } @@ -421,7 +421,7 @@ void Command::SetRunWhenDisabled(bool run) * Returns whether or not this {@link Command} will run when the robot is disabled, or if it will cancel itself. * @return whether or not this {@link Command} will run when the robot is disabled, or if it will cancel itself */ -bool Command::WillRunWhenDisabled() +bool Command::WillRunWhenDisabled() const { return m_runWhenDisabled; } @@ -435,7 +435,7 @@ std::string Command::GetName() return m_name; } -std::string Command::GetSmartDashboardType() +std::string Command::GetSmartDashboardType() const { return "Command"; } @@ -453,7 +453,7 @@ void Command::InitTable(ITable* table) } } -ITable* Command::GetTable(){ +ITable* Command::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp b/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp index b1decd37ac..14763fc008 100644 --- a/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp +++ b/wpilibc/wpilibC++/src/Commands/CommandGroup.cpp @@ -329,7 +329,7 @@ bool CommandGroup::IsFinished() return (unsigned)m_currentCommandIndex >= m_commands.size() && m_children.empty(); } -bool CommandGroup::IsInterruptible() +bool CommandGroup::IsInterruptible() const { if (!Command::IsInterruptible()) return false; @@ -341,8 +341,8 @@ bool CommandGroup::IsInterruptible() return false; } - CommandList::iterator iter = m_children.begin(); - for (; iter != m_children.end(); iter++) + CommandList::const_iterator iter = m_children.cbegin(); + for (; iter != m_children.cend(); iter++) { if (!iter->m_command->IsInterruptible()) return false; @@ -377,7 +377,7 @@ void CommandGroup::CancelConflicts(Command *command) } } -int CommandGroup::GetSize() +int CommandGroup::GetSize() const { return m_children.size(); } diff --git a/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp b/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp index 144825787e..b3ca63f3da 100644 --- a/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp +++ b/wpilibc/wpilibC++/src/Commands/CommandGroupEntry.cpp @@ -29,7 +29,7 @@ CommandGroupEntry::CommandGroupEntry(Command *command, Sequence state, double ti { } -bool CommandGroupEntry::IsTimedOut() +bool CommandGroupEntry::IsTimedOut() const { if (m_timeout < 0.0) return false; diff --git a/wpilibc/wpilibC++/src/Commands/PIDCommand.cpp b/wpilibc/wpilibC++/src/Commands/PIDCommand.cpp index 19da02d22a..33b3d368b2 100644 --- a/wpilibc/wpilibC++/src/Commands/PIDCommand.cpp +++ b/wpilibc/wpilibC++/src/Commands/PIDCommand.cpp @@ -72,12 +72,12 @@ void PIDCommand::PIDWrite(float output) UsePIDOutput(output); } -double PIDCommand::PIDGet() +double PIDCommand::PIDGet() const { return ReturnPIDInput(); } -PIDController *PIDCommand::GetPIDController() +PIDController *PIDCommand::GetPIDController() const { return m_controller; } @@ -87,17 +87,17 @@ void PIDCommand::SetSetpoint(double setpoint) m_controller->SetSetpoint(setpoint); } -double PIDCommand::GetSetpoint() +double PIDCommand::GetSetpoint() const { return m_controller->GetSetpoint(); } -double PIDCommand::GetPosition() +double PIDCommand::GetPosition() const { return ReturnPIDInput(); } -std::string PIDCommand::GetSmartDashboardType(){ +std::string PIDCommand::GetSmartDashboardType() const { return "PIDCommand"; } void PIDCommand::InitTable(ITable* table){ diff --git a/wpilibc/wpilibC++/src/Commands/PIDSubsystem.cpp b/wpilibc/wpilibC++/src/Commands/PIDSubsystem.cpp index 3a957efeee..312e8c2159 100644 --- a/wpilibc/wpilibC++/src/Commands/PIDSubsystem.cpp +++ b/wpilibc/wpilibC++/src/Commands/PIDSubsystem.cpp @@ -212,7 +212,7 @@ void PIDSubsystem::SetPercentTolerance(float percent) { * * @return true if the error is within the percentage tolerance of the input range */ -bool PIDSubsystem::OnTarget() +bool PIDSubsystem::OnTarget() const { return m_controller->OnTarget(); } @@ -231,13 +231,13 @@ void PIDSubsystem::PIDWrite(float output) UsePIDOutput(output); } -double PIDSubsystem::PIDGet() +double PIDSubsystem::PIDGet() const { return ReturnPIDInput(); } -std::string PIDSubsystem::GetSmartDashboardType(){ +std::string PIDSubsystem::GetSmartDashboardType() const { return "PIDCommand"; } void PIDSubsystem::InitTable(ITable* table){ diff --git a/wpilibc/wpilibC++/src/Commands/Scheduler.cpp b/wpilibc/wpilibC++/src/Commands/Scheduler.cpp index a064976ff0..1af895f624 100644 --- a/wpilibc/wpilibC++/src/Commands/Scheduler.cpp +++ b/wpilibc/wpilibC++/src/Commands/Scheduler.cpp @@ -277,11 +277,11 @@ std::string Scheduler::GetName() { return "Scheduler"; } -std::string Scheduler::GetType() { +std::string Scheduler::GetType() const { return "Scheduler"; } -std::string Scheduler::GetSmartDashboardType() { +std::string Scheduler::GetSmartDashboardType() const { return "Scheduler"; } @@ -296,6 +296,6 @@ void Scheduler::InitTable(ITable *subTable) { m_table->PutValue("Cancel", *toCancel); } -ITable * Scheduler::GetTable() { +ITable * Scheduler::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++/src/Commands/Subsystem.cpp b/wpilibc/wpilibC++/src/Commands/Subsystem.cpp index bdc0da836d..d1f5299702 100644 --- a/wpilibc/wpilibC++/src/Commands/Subsystem.cpp +++ b/wpilibc/wpilibC++/src/Commands/Subsystem.cpp @@ -114,7 +114,7 @@ void Subsystem::SetCurrentCommand(Command *command) * Returns the command which currently claims this subsystem. * @return the command which currently claims this subsystem */ -Command *Subsystem::GetCurrentCommand() +Command *Subsystem::GetCurrentCommand() const { return m_currentCommand; } @@ -150,7 +150,7 @@ std::string Subsystem::GetName() return m_name; } -std::string Subsystem::GetSmartDashboardType() +std::string Subsystem::GetSmartDashboardType() const { return "Subsystem"; } @@ -174,6 +174,6 @@ void Subsystem::InitTable(ITable* table) } } -ITable* Subsystem::GetTable(){ +ITable* Subsystem::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp b/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp index 7c226dc576..05fd8ca699 100644 --- a/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp +++ b/wpilibc/wpilibC++/src/SmartDashboard/SendableChooser.cpp @@ -69,10 +69,10 @@ void SendableChooser::InitTable(ITable* subtable) { } } -ITable* SendableChooser::GetTable() { +ITable* SendableChooser::GetTable() const { return m_table; } -std::string SendableChooser::GetSmartDashboardType() { +std::string SendableChooser::GetSmartDashboardType() const { return "String Chooser"; } diff --git a/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h b/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h index 1ccb888ac5..723c1017a1 100644 --- a/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h +++ b/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h @@ -41,20 +41,20 @@ public: virtual ~ADXL345_I2C(); // Accelerometer interface - virtual void SetRange(Range range); - virtual double GetX(); - virtual double GetY(); - virtual double GetZ(); + virtual void SetRange(Range range) override; + virtual double GetX() override; + virtual double GetY() override; + virtual double GetZ() override; virtual double GetAcceleration(Axes axis); virtual AllAxes GetAccelerations(); - virtual std::string GetSmartDashboardType(); - virtual void InitTable(ITable *subtable); - virtual void UpdateTable(); - virtual ITable* GetTable(); - virtual void StartLiveWindowMode() {} - virtual void StopLiveWindowMode() {} + virtual std::string GetSmartDashboardType() const override; + virtual void InitTable(ITable *subtable) override; + virtual void UpdateTable() override; + virtual ITable* GetTable() const override; + virtual void StartLiveWindowMode() override {} + virtual void StopLiveWindowMode() override {} protected: //I2C* m_i2c; diff --git a/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h b/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h index 226e12f72c..fb50699916 100644 --- a/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h +++ b/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h @@ -45,20 +45,20 @@ public: virtual ~ADXL345_SPI(); // Accelerometer interface - virtual void SetRange(Range range); - virtual double GetX(); - virtual double GetY(); - virtual double GetZ(); + virtual void SetRange(Range range) override; + virtual double GetX() override; + virtual double GetY() override; + virtual double GetZ() override; virtual double GetAcceleration(Axes axis); virtual AllAxes GetAccelerations(); - virtual std::string GetSmartDashboardType(); - virtual void InitTable(ITable *subtable); - virtual void UpdateTable(); - virtual ITable* GetTable(); - virtual void StartLiveWindowMode() {} - virtual void StopLiveWindowMode() {} + virtual std::string GetSmartDashboardType() const override; + virtual void InitTable(ITable *subtable) override; + virtual void UpdateTable() override; + virtual ITable* GetTable() const override; + virtual void StartLiveWindowMode() override {} + virtual void StopLiveWindowMode() override {} protected: void Init(Range range); diff --git a/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h b/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h index 61718dcb62..3e011e9758 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h +++ b/wpilibc/wpilibC++Devices/include/AnalogAccelerometer.h @@ -22,17 +22,17 @@ public: explicit AnalogAccelerometer(AnalogInput *channel); virtual ~AnalogAccelerometer(); - float GetAcceleration(); + float GetAcceleration() const; void SetSensitivity(float sensitivity); void SetZero(float zero); - double PIDGet(); + double PIDGet() const override; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void InitAccelerometer(); diff --git a/wpilibc/wpilibC++Devices/include/AnalogInput.h b/wpilibc/wpilibC++Devices/include/AnalogInput.h index 0e4635b44d..6e857f2a46 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogInput.h +++ b/wpilibc/wpilibC++Devices/include/AnalogInput.h @@ -30,43 +30,43 @@ public: explicit AnalogInput(uint32_t channel); virtual ~AnalogInput(); - int16_t GetValue(); - int32_t GetAverageValue(); + int16_t GetValue() const; + int32_t GetAverageValue() const; - float GetVoltage(); - float GetAverageVoltage(); + float GetVoltage() const; + float GetAverageVoltage() const; - uint32_t GetChannel(); + uint32_t GetChannel() const; void SetAverageBits(uint32_t bits); - uint32_t GetAverageBits(); + uint32_t GetAverageBits() const; void SetOversampleBits(uint32_t bits); - uint32_t GetOversampleBits(); + uint32_t GetOversampleBits() const; - uint32_t GetLSBWeight(); - int32_t GetOffset(); + uint32_t GetLSBWeight() const; + int32_t GetOffset() const; - bool IsAccumulatorChannel(); + bool IsAccumulatorChannel() const; void InitAccumulator(); void SetAccumulatorInitialValue(int64_t value); void ResetAccumulator(); void SetAccumulatorCenter(int32_t center); void SetAccumulatorDeadband(int32_t deadband); - int64_t GetAccumulatorValue(); - uint32_t GetAccumulatorCount(); - void GetAccumulatorOutput(int64_t *value, uint32_t *count); + int64_t GetAccumulatorValue() const; + uint32_t GetAccumulatorCount() const; + void GetAccumulatorOutput(int64_t *value, uint32_t *count) const; static void SetSampleRate(float samplesPerSecond); static float GetSampleRate(); - double PIDGet(); + double PIDGet() const override; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void InitAnalogInput(uint32_t channel); diff --git a/wpilibc/wpilibC++Devices/include/AnalogOutput.h b/wpilibc/wpilibC++Devices/include/AnalogOutput.h index 563502dc05..7ff4e56073 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogOutput.h +++ b/wpilibc/wpilibC++Devices/include/AnalogOutput.h @@ -21,14 +21,14 @@ public: virtual ~AnalogOutput(); void SetVoltage(float voltage); - float GetVoltage(); + float GetVoltage() const; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable *GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable *GetTable() const override; protected: void InitAnalogOutput(uint32_t channel); diff --git a/wpilibc/wpilibC++Devices/include/AnalogPotentiometer.h b/wpilibc/wpilibC++Devices/include/AnalogPotentiometer.h index 4ea3741d78..42a7b69687 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogPotentiometer.h +++ b/wpilibc/wpilibC++Devices/include/AnalogPotentiometer.h @@ -43,7 +43,7 @@ public: * * @return The current position of the potentiometer. */ - virtual double Get(); + virtual double Get() const override; /** @@ -51,26 +51,26 @@ public: * * @return The current reading. */ - virtual double PIDGet(); + virtual double PIDGet() const override; /* * Live Window code, only does anything if live window is activated. */ - virtual std::string GetSmartDashboardType(); - virtual void InitTable(ITable *subtable); - virtual void UpdateTable(); - virtual ITable* GetTable(); + virtual std::string GetSmartDashboardType() const override; + virtual void InitTable(ITable *subtable) override; + virtual void UpdateTable() override; + virtual ITable* GetTable() const override; /** * AnalogPotentiometers don't have to do anything special when entering the LiveWindow. */ - virtual void StartLiveWindowMode() {} + virtual void StartLiveWindowMode() override {} /** * AnalogPotentiometers don't have to do anything special when exiting the LiveWindow. */ - virtual void StopLiveWindowMode() {} + virtual void StopLiveWindowMode() override {} private: double m_fullRange, m_offset; diff --git a/wpilibc/wpilibC++Devices/include/AnalogTriggerOutput.h b/wpilibc/wpilibC++Devices/include/AnalogTriggerOutput.h index e4d8cd5cda..1f7214fcf9 100644 --- a/wpilibc/wpilibC++Devices/include/AnalogTriggerOutput.h +++ b/wpilibc/wpilibC++Devices/include/AnalogTriggerOutput.h @@ -42,12 +42,12 @@ class AnalogTriggerOutput : public DigitalSource public: virtual ~AnalogTriggerOutput(); - bool Get(); + bool Get() const; // DigitalSource interface - virtual uint32_t GetChannelForRouting(); - virtual uint32_t GetModuleForRouting(); - virtual bool GetAnalogTriggerForRouting(); + virtual uint32_t GetChannelForRouting() const override; + virtual uint32_t GetModuleForRouting() const override; + virtual bool GetAnalogTriggerForRouting() const override; protected: AnalogTriggerOutput(AnalogTrigger *trigger, AnalogTriggerType outputType); diff --git a/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h b/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h index 288e76e040..7f2ce58a6a 100644 --- a/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h +++ b/wpilibc/wpilibC++Devices/include/BuiltInAccelerometer.h @@ -21,17 +21,17 @@ public: virtual ~BuiltInAccelerometer(); // Accelerometer interface - virtual void SetRange(Range range); - virtual double GetX(); - virtual double GetY(); - virtual double GetZ(); + virtual void SetRange(Range range) override; + virtual double GetX() override; + virtual double GetY() override; + virtual double GetZ() override; - virtual std::string GetSmartDashboardType(); - virtual void InitTable(ITable *subtable); - virtual void UpdateTable(); - virtual ITable* GetTable(); - virtual void StartLiveWindowMode() {} - virtual void StopLiveWindowMode() {} + virtual std::string GetSmartDashboardType() const override; + virtual void InitTable(ITable *subtable) override; + virtual void UpdateTable() override; + virtual ITable* GetTable() const override; + virtual void StartLiveWindowMode() override {} + virtual void StopLiveWindowMode() override {} private: ITable *m_table; diff --git a/wpilibc/wpilibC++Devices/include/CANJaguar.h b/wpilibc/wpilibC++Devices/include/CANJaguar.h index 186d3b408d..1b741f4849 100644 --- a/wpilibc/wpilibC++Devices/include/CANJaguar.h +++ b/wpilibc/wpilibC++Devices/include/CANJaguar.h @@ -17,6 +17,8 @@ #include "tables/ITable.h" #include "NetworkCommunication/CANSessionMux.h" +#include +#include #include /** @@ -45,10 +47,10 @@ public: virtual ~CANJaguar(); uint8_t getDeviceNumber() const; - uint8_t GetHardwareVersion(); + uint8_t GetHardwareVersion() const; // PIDOutput interface - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; // Control mode methods void EnableControl(double encoderInitialPosition = 0.0); @@ -76,27 +78,27 @@ public: void SetVoltageMode(PotentiometerStruct); // CANSpeedController interface - virtual float Get() override; + virtual float Get() const override; virtual void Set(float value, uint8_t syncGroup=0) override; virtual void Disable() override; virtual void SetP(double p) override; virtual void SetI(double i) override; virtual void SetD(double d) override; virtual void SetPID(double p, double i, double d) override; - virtual double GetP() override; - virtual double GetI() override; - virtual double GetD() override; - virtual float GetBusVoltage() override; - virtual float GetOutputVoltage() override; - virtual float GetOutputCurrent() override; - virtual float GetTemperature() override; - virtual double GetPosition() override; - virtual double GetSpeed() override; - virtual bool GetForwardLimitOK() override; - virtual bool GetReverseLimitOK() override; - virtual uint16_t GetFaults() override; + virtual double GetP() const override; + virtual double GetI() const override; + virtual double GetD() const override; + virtual float GetBusVoltage() const override; + virtual float GetOutputVoltage() const override; + virtual float GetOutputCurrent() const override; + virtual float GetTemperature() const override; + virtual double GetPosition() const override; + virtual double GetSpeed() const override; + virtual bool GetForwardLimitOK() const override; + virtual bool GetReverseLimitOK() const override; + virtual uint16_t GetFaults() const override; virtual void SetVoltageRampRate(double rampRate) override; - virtual uint32_t GetFirmwareVersion() override; + virtual uint32_t GetFirmwareVersion() const override; virtual void ConfigNeutralMode(NeutralMode mode) override; virtual void ConfigEncoderCodesPerRev(uint16_t codesPerRev) override; virtual void ConfigPotentiometerTurns(uint16_t turns) override; @@ -108,44 +110,46 @@ public: virtual void ConfigMaxOutputVoltage(double voltage) override; virtual void ConfigFaultTime(float faultTime) override; virtual void SetControlMode(ControlMode mode); - virtual ControlMode GetControlMode(); + virtual ControlMode GetControlMode() const; static void UpdateSyncGroup(uint8_t syncGroup); - void SetExpiration(float timeout); - float GetExpiration(); - bool IsAlive(); - void StopMotor(); - bool IsSafetyEnabled(); - void SetSafetyEnabled(bool enabled); - void GetDescription(char *desc); - uint8_t GetDeviceID(); + void SetExpiration(float timeout) override; + float GetExpiration() const override; + bool IsAlive() const override; + void StopMotor() override; + bool IsSafetyEnabled() const override; + void SetSafetyEnabled(bool enabled) override; + void GetDescription(char *desc) const override; + uint8_t GetDeviceID() const; protected: // Control mode helpers void SetSpeedReference(uint8_t reference); - uint8_t GetSpeedReference(); + uint8_t GetSpeedReference() const; void SetPositionReference(uint8_t reference); - uint8_t GetPositionReference(); + uint8_t GetPositionReference() const; uint8_t packPercentage(uint8_t *buffer, double value); uint8_t packFXP8_8(uint8_t *buffer, double value); uint8_t packFXP16_16(uint8_t *buffer, double value); uint8_t packint16_t(uint8_t *buffer, int16_t value); uint8_t packint32_t(uint8_t *buffer, int32_t value); - double unpackPercentage(uint8_t *buffer); - double unpackFXP8_8(uint8_t *buffer); - double unpackFXP16_16(uint8_t *buffer); - int16_t unpackint16_t(uint8_t *buffer); - int32_t unpackint32_t(uint8_t *buffer); + double unpackPercentage(uint8_t *buffer) const; + double unpackFXP8_8(uint8_t *buffer) const; + double unpackFXP16_16(uint8_t *buffer) const; + int16_t unpackint16_t(uint8_t *buffer) const; + int32_t unpackint32_t(uint8_t *buffer) const; void sendMessage(uint32_t messageID, const uint8_t *data, uint8_t dataSize, int32_t period = CAN_SEND_PERIOD_NO_REPEAT); void requestMessage(uint32_t messageID, int32_t period = CAN_SEND_PERIOD_NO_REPEAT); - bool getMessage(uint32_t messageID, uint32_t mask, uint8_t *data, uint8_t *dataSize); + bool getMessage(uint32_t messageID, uint32_t mask, uint8_t *data, uint8_t *dataSize) const; void setupPeriodicStatus(); - void updatePeriodicStatus(); + void updatePeriodicStatus() const; + + mutable std::recursive_mutex m_mutex; uint8_t m_deviceNumber; float m_value; @@ -185,21 +189,21 @@ protected: bool m_faultTimeVerified; // Status data - float m_busVoltage; - float m_outputVoltage; - float m_outputCurrent; - float m_temperature; - double m_position; - double m_speed; - uint8_t m_limits; - uint16_t m_faults; + 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; // Which periodic status messages have we received at least once? - bool m_receivedStatusMessage0; - bool m_receivedStatusMessage1; - bool m_receivedStatusMessage2; + mutable std::atomic m_receivedStatusMessage0; + mutable std::atomic m_receivedStatusMessage1; + mutable std::atomic m_receivedStatusMessage2; bool m_controlEnabled; @@ -207,13 +211,13 @@ protected: MotorSafetyHelper *m_safetyHelper; - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; ITable *m_table; diff --git a/wpilibc/wpilibC++Devices/include/CANSpeedController.h b/wpilibc/wpilibC++Devices/include/CANSpeedController.h index 16d3088d10..5de86bd915 100644 --- a/wpilibc/wpilibC++Devices/include/CANSpeedController.h +++ b/wpilibc/wpilibC++Devices/include/CANSpeedController.h @@ -60,27 +60,27 @@ public: kLimitMode_SrxDisableSwitchInputs = 2, }; - virtual float Get() = 0; + virtual float Get() const = 0; virtual void Set(float value, uint8_t syncGroup=0) = 0; virtual void Disable() = 0; virtual void SetP(double p) = 0; virtual void SetI(double i) = 0; virtual void SetD(double d) = 0; virtual void SetPID(double p, double i, double d) = 0; - virtual double GetP() = 0; - virtual double GetI() = 0; - virtual double GetD() = 0; - virtual float GetBusVoltage() = 0; - virtual float GetOutputVoltage() = 0; - virtual float GetOutputCurrent() = 0; - virtual float GetTemperature() = 0; - virtual double GetPosition() = 0; - virtual double GetSpeed() = 0; - virtual bool GetForwardLimitOK() = 0; - virtual bool GetReverseLimitOK() = 0; - virtual uint16_t GetFaults() = 0; + virtual double GetP() const = 0; + virtual double GetI() const = 0; + virtual double GetD() const = 0; + virtual float GetBusVoltage() const = 0; + virtual float GetOutputVoltage() const = 0; + virtual float GetOutputCurrent() const = 0; + virtual float GetTemperature() const = 0; + virtual double GetPosition() const = 0; + virtual double GetSpeed() const = 0; + virtual bool GetForwardLimitOK() const = 0; + virtual bool GetReverseLimitOK() const = 0; + virtual uint16_t GetFaults() const = 0; virtual void SetVoltageRampRate(double rampRate) = 0; - virtual uint32_t GetFirmwareVersion() = 0; + virtual uint32_t GetFirmwareVersion() const = 0; virtual void ConfigNeutralMode(NeutralMode mode) = 0; virtual void ConfigEncoderCodesPerRev(uint16_t codesPerRev) = 0; virtual void ConfigPotentiometerTurns(uint16_t turns) = 0; @@ -93,5 +93,5 @@ public: virtual void ConfigFaultTime(float faultTime) = 0; // Hold off on interface until we figure out ControlMode enums. // virtual void SetControlMode(ControlMode mode) = 0; -// virtual ControlMode GetControlMode() = 0; +// virtual ControlMode GetControlMode() const = 0; }; diff --git a/wpilibc/wpilibC++Devices/include/CANTalon.h b/wpilibc/wpilibC++Devices/include/CANTalon.h index a9c710828a..38590711f7 100644 --- a/wpilibc/wpilibC++Devices/include/CANTalon.h +++ b/wpilibc/wpilibC++Devices/include/CANTalon.h @@ -46,15 +46,15 @@ public: // MotorSafety interface virtual void SetExpiration(float timeout) override; - virtual float GetExpiration() override; - virtual bool IsAlive() override; + virtual float GetExpiration() const override; + virtual bool IsAlive() const override; virtual void StopMotor() override; virtual void SetSafetyEnabled(bool enabled) override; - virtual bool IsSafetyEnabled() override; - virtual void GetDescription(char *desc) override; + virtual bool IsSafetyEnabled() const override; + virtual void GetDescription(char *desc) const override; // CANSpeedController interface - virtual float Get() override; + virtual float Get() const override; virtual void Set(float value, uint8_t syncGroup=0) override; virtual void Disable() override; virtual void EnableControl(); @@ -65,37 +65,37 @@ public: void SetIzone(unsigned iz); virtual void SetPID(double p, double i, double d) override; void SetPID(double p, double i, double d, double f); - virtual double GetP() override; - virtual double GetI() override; - virtual double GetD() override; - double GetF(); - virtual float GetBusVoltage() override; - virtual float GetOutputVoltage() override; - virtual float GetOutputCurrent() override; - virtual float GetTemperature() override; + virtual double GetP() const override; + virtual double GetI() const override; + virtual double GetD() const override; + double GetF() const; + virtual float GetBusVoltage() const override; + virtual float GetOutputVoltage() const override; + virtual float GetOutputCurrent() const override; + virtual float GetTemperature() const override; void SetPosition(double pos); - virtual double GetPosition() override; - virtual double GetSpeed() override; - virtual int GetClosedLoopError(); - virtual int GetAnalogIn(); - virtual int GetAnalogInRaw(); - virtual int GetAnalogInVel(); - virtual int GetEncPosition(); - virtual int GetEncVel(); - int GetPinStateQuadA(); - int GetPinStateQuadB(); - int GetPinStateQuadIdx(); - int IsFwdLimitSwitchClosed(); - int IsRevLimitSwitchClosed(); - int GetNumberOfQuadIdxRises(); + virtual double GetPosition() const override; + virtual double GetSpeed() const override; + virtual int GetClosedLoopError() const; + virtual int GetAnalogIn() const; + virtual int GetAnalogInRaw() const; + virtual int GetAnalogInVel() const; + virtual int GetEncPosition() const; + virtual int GetEncVel() const; + int GetPinStateQuadA() const; + int GetPinStateQuadB() const; + int GetPinStateQuadIdx() const; + int IsFwdLimitSwitchClosed() const; + int IsRevLimitSwitchClosed() const; + int GetNumberOfQuadIdxRises() const; void SetNumberOfQuadIdxRises(int rises); - virtual bool GetForwardLimitOK() override; - virtual bool GetReverseLimitOK() override; - virtual uint16_t GetFaults() override; - uint16_t GetStickyFaults(); + virtual bool GetForwardLimitOK() const override; + virtual bool GetReverseLimitOK() const override; + virtual uint16_t GetFaults() const override; + uint16_t GetStickyFaults() const; void ClearStickyFaults(); virtual void SetVoltageRampRate(double rampRate) override; - virtual uint32_t GetFirmwareVersion() override; + virtual uint32_t GetFirmwareVersion() const override; virtual void ConfigNeutralMode(NeutralMode mode) override; virtual void ConfigEncoderCodesPerRev(uint16_t codesPerRev) override; virtual void ConfigPotentiometerTurns(uint16_t turns) override; @@ -131,26 +131,26 @@ public: virtual void SetControlMode(ControlMode mode); void SetFeedbackDevice(FeedbackDevice device); void SetStatusFrameRateMs(StatusFrameRate stateFrame, int periodMs); - virtual ControlMode GetControlMode(); + virtual ControlMode GetControlMode() const; void SetSensorDirection(bool reverseSensor); void SetCloseLoopRampRate(double rampRate); void SelectProfileSlot(int slotIdx); - int GetIzone(); - int GetIaccum(); + int GetIzone() const; + int GetIaccum() const; void ClearIaccum(); - int GetBrakeEnableDuringNeutral(); + int GetBrakeEnableDuringNeutral() const; - bool IsControlEnabled(); - double GetSetpoint(); + bool IsControlEnabled() const; + double GetSetpoint() const; // LiveWindow stuff. - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: // Values for various modes as is sent in the CAN packets for the Talon. enum TalonControlMode { diff --git a/wpilibc/wpilibC++Devices/include/Compressor.h b/wpilibc/wpilibC++Devices/include/Compressor.h index 73478b1c9f..a8a38393d4 100644 --- a/wpilibc/wpilibC++Devices/include/Compressor.h +++ b/wpilibc/wpilibC++Devices/include/Compressor.h @@ -23,29 +23,29 @@ public: void Start(); void Stop(); - bool Enabled(); + bool Enabled() const; - bool GetPressureSwitchValue(); + bool GetPressureSwitchValue() const; - float GetCompressorCurrent(); + float GetCompressorCurrent() const; void SetClosedLoopControl(bool on); - bool GetClosedLoopControl(); + bool GetClosedLoopControl() const; - bool GetCompressorCurrentTooHighFault(); - bool GetCompressorCurrentTooHighStickyFault(); - bool GetCompressorShortedStickyFault(); - bool GetCompressorShortedFault(); - bool GetCompressorNotConnectedStickyFault(); - bool GetCompressorNotConnectedFault(); + bool GetCompressorCurrentTooHighFault() const; + bool GetCompressorCurrentTooHighStickyFault() const; + bool GetCompressorShortedStickyFault() const; + bool GetCompressorShortedFault() const; + bool GetCompressorNotConnectedStickyFault() const; + bool GetCompressorNotConnectedFault() const; void ClearAllPCMStickyFaults(); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable *GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable *GetTable() const override; void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); protected: diff --git a/wpilibc/wpilibC++Devices/include/Counter.h b/wpilibc/wpilibC++Devices/include/Counter.h index 1148c54e10..11e8451100 100644 --- a/wpilibc/wpilibC++Devices/include/Counter.h +++ b/wpilibc/wpilibC++Devices/include/Counter.h @@ -58,26 +58,27 @@ public: void SetReverseDirection(bool reverseDirection); // CounterBase interface - int32_t Get(); - void Reset(); - double GetPeriod(); - void SetMaxPeriod(double maxPeriod); + int32_t Get() const override; + void Reset() override; + double GetPeriod() const override; + void SetMaxPeriod(double maxPeriod) override; void SetUpdateWhenEmpty(bool enabled); - bool GetStopped(); - bool GetDirection(); + bool GetStopped() const override; + bool GetDirection() const override; + void SetSamplesToAverage(int samplesToAverage); - int GetSamplesToAverage(); - uint32_t GetFPGAIndex() + int GetSamplesToAverage() const; + uint32_t GetFPGAIndex() const { return m_index; } - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - virtual std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + virtual std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; protected: DigitalSource *m_upSource; ///< What makes the counter count up. DigitalSource *m_downSource; ///< What makes the counter count down. diff --git a/wpilibc/wpilibC++Devices/include/CounterBase.h b/wpilibc/wpilibC++Devices/include/CounterBase.h index f475ddfefb..a9a38ae339 100644 --- a/wpilibc/wpilibC++Devices/include/CounterBase.h +++ b/wpilibc/wpilibC++Devices/include/CounterBase.h @@ -26,10 +26,10 @@ public: }; virtual ~CounterBase() {} - virtual int32_t Get() = 0; + virtual int32_t Get() const = 0; virtual void Reset() = 0; - virtual double GetPeriod() = 0; + virtual double GetPeriod() const = 0; virtual void SetMaxPeriod(double maxPeriod) = 0; - virtual bool GetStopped() = 0; - virtual bool GetDirection() = 0; + virtual bool GetStopped() const = 0; + virtual bool GetDirection() const = 0; }; diff --git a/wpilibc/wpilibC++Devices/include/DigitalInput.h b/wpilibc/wpilibC++Devices/include/DigitalInput.h index f7dcba3b69..39cb4f8374 100644 --- a/wpilibc/wpilibC++Devices/include/DigitalInput.h +++ b/wpilibc/wpilibC++Devices/include/DigitalInput.h @@ -20,20 +20,20 @@ class DigitalInput : public DigitalSource, public LiveWindowSendable public: explicit DigitalInput(uint32_t channel); virtual ~DigitalInput(); - bool Get(); - uint32_t GetChannel(); + bool Get() const; + uint32_t GetChannel() const; // Digital Source Interface - virtual uint32_t GetChannelForRouting(); - virtual uint32_t GetModuleForRouting(); - virtual bool GetAnalogTriggerForRouting(); + virtual uint32_t GetChannelForRouting() const; + virtual uint32_t GetModuleForRouting() const; + virtual bool GetAnalogTriggerForRouting() const; void UpdateTable(); void StartLiveWindowMode(); void StopLiveWindowMode(); - std::string GetSmartDashboardType(); + std::string GetSmartDashboardType() const; void InitTable(ITable *subTable); - ITable * GetTable(); + ITable * GetTable() const; private: void InitDigitalInput(uint32_t channel); diff --git a/wpilibc/wpilibC++Devices/include/DigitalOutput.h b/wpilibc/wpilibC++Devices/include/DigitalOutput.h index 431f4f8e2e..d398caac38 100644 --- a/wpilibc/wpilibC++Devices/include/DigitalOutput.h +++ b/wpilibc/wpilibC++Devices/include/DigitalOutput.h @@ -20,26 +20,26 @@ public: explicit DigitalOutput(uint32_t channel); virtual ~DigitalOutput(); void Set(uint32_t value); - uint32_t GetChannel(); + uint32_t GetChannel() const; void Pulse(float length); - bool IsPulsing(); + bool IsPulsing() const; void SetPWMRate(float rate); void EnablePWM(float initialDutyCycle); void DisablePWM(); void UpdateDutyCycle(float dutyCycle); // Digital Source Interface - virtual uint32_t GetChannelForRouting(); - virtual uint32_t GetModuleForRouting(); - virtual bool GetAnalogTriggerForRouting(); + virtual uint32_t GetChannelForRouting() const; + virtual uint32_t GetModuleForRouting() const; + virtual bool GetAnalogTriggerForRouting() const; virtual void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); void UpdateTable(); void StartLiveWindowMode(); void StopLiveWindowMode(); - std::string GetSmartDashboardType(); + std::string GetSmartDashboardType() const; void InitTable(ITable *subTable); - ITable * GetTable(); + ITable * GetTable() const; private: void InitDigitalOutput(uint32_t channel); diff --git a/wpilibc/wpilibC++Devices/include/DigitalSource.h b/wpilibc/wpilibC++Devices/include/DigitalSource.h index 491fa7c39a..39497dcbe1 100644 --- a/wpilibc/wpilibC++Devices/include/DigitalSource.h +++ b/wpilibc/wpilibC++Devices/include/DigitalSource.h @@ -18,7 +18,7 @@ class DigitalSource : public InterruptableSensorBase { public: virtual ~DigitalSource(); - virtual uint32_t GetChannelForRouting() = 0; - virtual uint32_t GetModuleForRouting() = 0; - virtual bool GetAnalogTriggerForRouting() = 0; + 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 b8749911a6..e966baeae6 100644 --- a/wpilibc/wpilibC++Devices/include/DoubleSolenoid.h +++ b/wpilibc/wpilibC++Devices/include/DoubleSolenoid.h @@ -30,17 +30,17 @@ public: DoubleSolenoid(uint8_t moduleNumber, uint32_t forwardChannel, uint32_t reverseChannel); virtual ~DoubleSolenoid(); virtual void Set(Value value); - virtual Value Get(); - bool IsFwdSolenoidBlackListed(); - bool IsRevSolenoidBlackListed(); + virtual Value Get() const; + bool IsFwdSolenoidBlackListed() const; + bool IsRevSolenoidBlackListed() const; void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); void UpdateTable(); void StartLiveWindowMode(); void StopLiveWindowMode(); - std::string GetSmartDashboardType(); + std::string GetSmartDashboardType() const; void InitTable(ITable *subTable); - ITable * GetTable(); + ITable * GetTable() const; private: virtual void InitSolenoid(); diff --git a/wpilibc/wpilibC++Devices/include/DriverStation.h b/wpilibc/wpilibC++Devices/include/DriverStation.h index 297aa2a826..40e0df3cd9 100644 --- a/wpilibc/wpilibC++Devices/include/DriverStation.h +++ b/wpilibc/wpilibC++Devices/include/DriverStation.h @@ -34,34 +34,34 @@ public: float GetStickAxis(uint32_t stick, uint32_t axis); int GetStickPOV(uint32_t stick, uint32_t pov); - uint32_t GetStickButtons(uint32_t stick); + uint32_t GetStickButtons(uint32_t stick) const; bool GetStickButton(uint32_t stick, uint8_t button); - int GetStickAxisCount(uint32_t stick); - int GetStickPOVCount(uint32_t stick); - int GetStickButtonCount(uint32_t stick); - - bool GetJoystickIsXbox(uint32_t stick); - int GetJoystickType(uint32_t stick); - std::string GetJoystickName(uint32_t stick); - int GetJoystickAxisType(uint32_t stick, uint8_t axis); - - bool IsEnabled(); - bool IsDisabled(); - bool IsAutonomous(); - bool IsOperatorControl(); - bool IsTest(); - bool IsDSAttached(); - bool IsNewControlData(); - bool IsFMSAttached(); - bool IsSysActive(); - bool IsSysBrownedOut(); + int GetStickAxisCount(uint32_t stick) const; + int GetStickPOVCount(uint32_t stick) const; + int GetStickButtonCount(uint32_t stick) const; - Alliance GetAlliance(); - uint32_t GetLocation(); + bool GetJoystickIsXbox(uint32_t stick) const; + int GetJoystickType(uint32_t stick) const; + std::string GetJoystickName(uint32_t stick) const; + int GetJoystickAxisType(uint32_t stick, uint8_t axis) const; + + bool IsEnabled() const override; + bool IsDisabled() const override; + bool IsAutonomous() const override; + bool IsOperatorControl() const override; + bool IsTest() const override; + bool IsDSAttached() const; + bool IsNewControlData() const; + bool IsFMSAttached() const; + bool IsSysActive() const; + bool IsSysBrownedOut() const; + + Alliance GetAlliance() const; + uint32_t GetLocation() const; void WaitForData(); - double GetMatchTime(); - float GetBatteryVoltage(); + double GetMatchTime() const; + float GetBatteryVoltage() const; /** Only to be used to tell the Driver Station what code you claim to be executing * for diagnostic purposes only diff --git a/wpilibc/wpilibC++Devices/include/Encoder.h b/wpilibc/wpilibC++Devices/include/Encoder.h index b4c4ac207e..0a06b5ee2f 100644 --- a/wpilibc/wpilibC++Devices/include/Encoder.h +++ b/wpilibc/wpilibC++Devices/include/Encoder.h @@ -40,43 +40,44 @@ public: virtual ~Encoder(); // CounterBase interface - int32_t Get(); - int32_t GetRaw(); - int32_t GetEncodingScale(); - void Reset(); - double GetPeriod(); - void SetMaxPeriod(double maxPeriod); - bool GetStopped(); - bool GetDirection(); - double GetDistance(); - double GetRate(); + int32_t Get() const override; + int32_t GetRaw() const; + int32_t GetEncodingScale() const; + void Reset() override; + double GetPeriod() const override; + void SetMaxPeriod(double maxPeriod) override; + bool GetStopped() const override; + bool GetDirection() const override; + + double GetDistance() const; + double GetRate() const; void SetMinRate(double minRate); void SetDistancePerPulse(double distancePerPulse); void SetReverseDirection(bool reverseDirection); void SetSamplesToAverage(int samplesToAverage); - int GetSamplesToAverage(); + int GetSamplesToAverage() const; void SetPIDSourceParameter(PIDSourceParameter pidSource); - double PIDGet(); + double PIDGet() const override; void SetIndexSource(uint32_t channel, IndexingType type = kResetOnRisingEdge); void SetIndexSource(DigitalSource *source, IndexingType type = kResetOnRisingEdge); void SetIndexSource(DigitalSource &source, IndexingType type = kResetOnRisingEdge); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; - int32_t GetFPGAIndex() + int32_t GetFPGAIndex() const { return m_index; } private: void InitEncoder(bool _reverseDirection, EncodingType encodingType); - double DecodingScaleFactor(); + double DecodingScaleFactor() const; DigitalSource *m_aSource; // the A phase of the quad encoder DigitalSource *m_bSource; // the B phase of the quad encoder diff --git a/wpilibc/wpilibC++Devices/include/GearTooth.h b/wpilibc/wpilibC++Devices/include/GearTooth.h index 2df3c765ca..17a4b0c06a 100644 --- a/wpilibc/wpilibC++Devices/include/GearTooth.h +++ b/wpilibc/wpilibC++Devices/include/GearTooth.h @@ -24,5 +24,5 @@ public: virtual ~GearTooth(); void EnableDirectionSensing(bool directionSensitive); - virtual std::string GetSmartDashboardType(); + virtual std::string GetSmartDashboardType() const override; }; diff --git a/wpilibc/wpilibC++Devices/include/Gyro.h b/wpilibc/wpilibC++Devices/include/Gyro.h index e16225d0d8..ddb0a09a0b 100644 --- a/wpilibc/wpilibC++Devices/include/Gyro.h +++ b/wpilibc/wpilibC++Devices/include/Gyro.h @@ -34,8 +34,8 @@ public: explicit Gyro(AnalogInput *channel); explicit Gyro(AnalogInput &channel); virtual ~Gyro(); - virtual float GetAngle(); - virtual double GetRate(); + virtual float GetAngle() const; + virtual double GetRate() const; void SetSensitivity(float voltsPerDegreePerSecond); void SetDeadband(float volts); void SetPIDSourceParameter(PIDSourceParameter pidSource); @@ -43,14 +43,14 @@ public: void InitGyro(); // PIDSource interface - double PIDGet(); + double PIDGet() const override; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; protected: AnalogInput *m_analog; diff --git a/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h b/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h index fb0db4f902..358e082c35 100644 --- a/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h +++ b/wpilibc/wpilibC++Devices/include/InterruptableSensorBase.h @@ -21,9 +21,9 @@ public: InterruptableSensorBase(); virtual ~InterruptableSensorBase(); - virtual uint32_t GetChannelForRouting() = 0; - virtual uint32_t GetModuleForRouting() = 0; - virtual bool GetAnalogTriggerForRouting() = 0; + virtual uint32_t GetChannelForRouting() const = 0; + virtual uint32_t GetModuleForRouting() const = 0; + virtual bool GetAnalogTriggerForRouting() const = 0; virtual void RequestInterrupts(InterruptHandlerFunction handler, void *param); ///< Asynchronus handler version. virtual void RequestInterrupts(); ///< Synchronus Wait version. virtual void CancelInterrupts(); ///< Free up the underlying chipobject functions. diff --git a/wpilibc/wpilibC++Devices/include/Jaguar.h b/wpilibc/wpilibC++Devices/include/Jaguar.h index 1cb7b69aa5..4cc5cbc6f7 100644 --- a/wpilibc/wpilibC++Devices/include/Jaguar.h +++ b/wpilibc/wpilibC++Devices/include/Jaguar.h @@ -18,10 +18,10 @@ public: explicit Jaguar(uint32_t channel); virtual ~Jaguar(); virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); + virtual float Get() const; virtual void Disable(); - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitJaguar(); diff --git a/wpilibc/wpilibC++Devices/include/Joystick.h b/wpilibc/wpilibC++Devices/include/Joystick.h index c648be5789..c63618319b 100644 --- a/wpilibc/wpilibC++Devices/include/Joystick.h +++ b/wpilibc/wpilibC++Devices/include/Joystick.h @@ -50,37 +50,37 @@ public: Joystick(uint32_t port, uint32_t numAxisTypes, uint32_t numButtonTypes); virtual ~Joystick(); - uint32_t GetAxisChannel(AxisType axis); + uint32_t GetAxisChannel(AxisType axis) const; void SetAxisChannel(AxisType axis, uint32_t channel); - virtual float GetX(JoystickHand hand = kRightHand); - virtual float GetY(JoystickHand hand = kRightHand); - virtual float GetZ(); - virtual float GetTwist(); - virtual float GetThrottle(); - virtual float GetAxis(AxisType axis); - float GetRawAxis(uint32_t axis); + virtual float GetX(JoystickHand hand = kRightHand) const override; + virtual float GetY(JoystickHand hand = kRightHand) const override; + virtual float GetZ() const override; + virtual float GetTwist() const override; + virtual float GetThrottle() const override; + virtual float GetAxis(AxisType axis) const; + float GetRawAxis(uint32_t axis) const override; - virtual bool GetTrigger(JoystickHand hand = kRightHand); - virtual bool GetTop(JoystickHand hand = kRightHand); - virtual bool GetBumper(JoystickHand hand = kRightHand); - virtual bool GetRawButton(uint32_t button); - virtual int GetPOV(uint32_t pov = 0); - bool GetButton(ButtonType button); + virtual bool GetTrigger(JoystickHand hand = kRightHand) const override; + virtual bool GetTop(JoystickHand hand = kRightHand) const override; + virtual bool GetBumper(JoystickHand hand = kRightHand) const override; + virtual bool GetRawButton(uint32_t button) const override; + virtual int GetPOV(uint32_t pov = 0) const override; + bool GetButton(ButtonType button) const; static Joystick* GetStickForPort(uint32_t port); - virtual float GetMagnitude(); - virtual float GetDirectionRadians(); - virtual float GetDirectionDegrees(); + virtual float GetMagnitude() const; + virtual float GetDirectionRadians() const; + virtual float GetDirectionDegrees() const; - bool GetIsXbox(); - Joystick::HIDType GetType(); - std::string GetName(); - int GetAxisType(uint8_t axis); + bool GetIsXbox() const; + Joystick::HIDType GetType() const; + std::string GetName() const; + int GetAxisType(uint8_t axis) const; - int GetAxisCount(); - int GetButtonCount(); - int GetPOVCount(); + int GetAxisCount() const; + int GetButtonCount() const; + int GetPOVCount() const; void SetRumble(RumbleType type, float value); void SetOutput(uint8_t outputNumber, bool value); diff --git a/wpilibc/wpilibC++Devices/include/MotorSafety.h b/wpilibc/wpilibC++Devices/include/MotorSafety.h index ea7dfc4fb3..00820be541 100644 --- a/wpilibc/wpilibC++Devices/include/MotorSafety.h +++ b/wpilibc/wpilibC++Devices/include/MotorSafety.h @@ -11,10 +11,10 @@ class MotorSafety { public: virtual void SetExpiration(float timeout) = 0; - virtual float GetExpiration() = 0; - virtual bool IsAlive() = 0; + virtual float GetExpiration() const = 0; + virtual bool IsAlive() const = 0; virtual void StopMotor() = 0; virtual void SetSafetyEnabled(bool enabled) = 0; - virtual bool IsSafetyEnabled() = 0; - virtual void GetDescription(char *desc) = 0; + virtual bool IsSafetyEnabled() const = 0; + virtual void GetDescription(char *desc) const = 0; }; diff --git a/wpilibc/wpilibC++Devices/include/MotorSafetyHelper.h b/wpilibc/wpilibC++Devices/include/MotorSafetyHelper.h index 944a197273..bea8e02d8e 100644 --- a/wpilibc/wpilibC++Devices/include/MotorSafetyHelper.h +++ b/wpilibc/wpilibC++Devices/include/MotorSafetyHelper.h @@ -17,17 +17,17 @@ public: ~MotorSafetyHelper(); void Feed(); void SetExpiration(float expirationTime); - float GetExpiration(); - bool IsAlive(); + float GetExpiration() const; + bool IsAlive() const; void Check(); void SetSafetyEnabled(bool enabled); - bool IsSafetyEnabled(); + bool IsSafetyEnabled() const; static void CheckMotors(); private: double m_expiration; // the expiration time for this object bool m_enabled; // true if motor safety is enabled for this motor double m_stopTime; // the FPGA clock value when this motor has expired - ReentrantSemaphore m_syncMutex; // protect accesses to the state for this object + mutable ReentrantSemaphore m_syncMutex; // protect accesses to the state for this object MotorSafety *m_safeObject; // the object that is using the helper MotorSafetyHelper *m_nextHelper; // next object in the list of MotorSafetyHelpers static MotorSafetyHelper *m_headHelper; // the head of the list of MotorSafetyHelper objects diff --git a/wpilibc/wpilibC++Devices/include/PWM.h b/wpilibc/wpilibC++Devices/include/PWM.h index 1b76a2a588..8c25d958fa 100644 --- a/wpilibc/wpilibC++Devices/include/PWM.h +++ b/wpilibc/wpilibC++Devices/include/PWM.h @@ -38,14 +38,14 @@ public: explicit PWM(uint32_t channel); virtual ~PWM(); virtual void SetRaw(unsigned short value); - virtual unsigned short GetRaw(); + virtual unsigned short GetRaw() const; void SetPeriodMultiplier(PeriodMultiplier mult); void SetZeroLatch(); void EnableDeadbandElimination(bool eliminateDeadband); void SetBounds(int32_t max, int32_t deadbandMax, int32_t center, int32_t deadbandMin, int32_t min); void SetBounds(double max, double deadbandMax, double center, double deadbandMin, double min); - uint32_t GetChannel() + uint32_t GetChannel() const { return m_channel; } @@ -79,9 +79,9 @@ protected: static const int32_t kPwmDisabled = 0; virtual void SetPosition(float pos); - virtual float GetPosition(); + virtual float GetPosition() const; virtual void SetSpeed(float speed); - virtual float GetSpeed(); + virtual float GetSpeed() const; bool m_eliminateDeadband; int32_t m_maxPwm; @@ -90,48 +90,48 @@ protected: int32_t m_deadbandMinPwm; int32_t m_minPwm; - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; ITable *m_table; private: void InitPWM(uint32_t channel); uint32_t m_channel; - int32_t GetMaxPositivePwm() + int32_t GetMaxPositivePwm() const { return m_maxPwm; } - int32_t GetMinPositivePwm() + int32_t GetMinPositivePwm() const { return m_eliminateDeadband ? m_deadbandMaxPwm : m_centerPwm + 1; } - int32_t GetCenterPwm() + int32_t GetCenterPwm() const { return m_centerPwm; } - int32_t GetMaxNegativePwm() + int32_t GetMaxNegativePwm() const { return m_eliminateDeadband ? m_deadbandMinPwm : m_centerPwm - 1; } - int32_t GetMinNegativePwm() + int32_t GetMinNegativePwm() const { return m_minPwm; } - int32_t GetPositiveScaleFactor() + int32_t GetPositiveScaleFactor() const { return GetMaxPositivePwm() - GetMinPositivePwm(); } ///< The scale for positive speeds. - int32_t GetNegativeScaleFactor() + int32_t GetNegativeScaleFactor() const { return GetMaxNegativePwm() - GetMinNegativePwm(); } ///< The scale for negative speeds. - int32_t GetFullRangeScaleFactor() + int32_t GetFullRangeScaleFactor() const { return GetMaxPositivePwm() - GetMinNegativePwm(); } ///< The scale for positions. diff --git a/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h b/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h index 8ab8fb9b55..0737ca1edd 100644 --- a/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h +++ b/wpilibc/wpilibC++Devices/include/PowerDistributionPanel.h @@ -21,21 +21,21 @@ class PowerDistributionPanel : public SensorBase, public LiveWindowSendable { PowerDistributionPanel(); PowerDistributionPanel(uint8_t module); - double GetVoltage(); - double GetTemperature(); - double GetCurrent(uint8_t channel); - double GetTotalCurrent(); - double GetTotalPower(); - double GetTotalEnergy(); + double GetVoltage() const; + double GetTemperature() const; + double GetCurrent(uint8_t channel) const; + double GetTotalCurrent() const; + double GetTotalPower() const; + double GetTotalEnergy() const; void ResetTotalEnergy(); void ClearStickyFaults(); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: ITable *m_table; diff --git a/wpilibc/wpilibC++Devices/include/Preferences.h b/wpilibc/wpilibC++Devices/include/Preferences.h index 5a8ea1861d..d32e49c6e0 100644 --- a/wpilibc/wpilibC++Devices/include/Preferences.h +++ b/wpilibc/wpilibC++Devices/include/Preferences.h @@ -52,7 +52,7 @@ public: bool ContainsKey(const char *key); void Remove(const char *key); - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; protected: Preferences(); diff --git a/wpilibc/wpilibC++Devices/include/Relay.h b/wpilibc/wpilibC++Devices/include/Relay.h index 320111b947..8d9c398353 100644 --- a/wpilibc/wpilibC++Devices/include/Relay.h +++ b/wpilibc/wpilibC++Devices/include/Relay.h @@ -40,15 +40,15 @@ public: virtual ~Relay(); void Set(Value value); - Value Get(); + Value Get() const; - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; ITable *m_table; diff --git a/wpilibc/wpilibC++Devices/include/RobotBase.h b/wpilibc/wpilibC++Devices/include/RobotBase.h index 90530be61b..98b2ba6b61 100644 --- a/wpilibc/wpilibC++Devices/include/RobotBase.h +++ b/wpilibc/wpilibC++Devices/include/RobotBase.h @@ -35,12 +35,12 @@ public: static RobotBase &getInstance(); static void setInstance(RobotBase* robot); - bool IsEnabled(); - bool IsDisabled(); - bool IsAutonomous(); - bool IsOperatorControl(); - bool IsTest(); - bool IsNewDataAvailable(); + bool IsEnabled() const; + bool IsDisabled() const; + bool IsAutonomous() const; + bool IsOperatorControl() const; + bool IsTest() const; + bool IsNewDataAvailable() const; static void startRobotTask(FUNCPTR factory); static void robotTask(FUNCPTR factory, Task *task); virtual void StartCompetition() = 0; diff --git a/wpilibc/wpilibC++Devices/include/RobotDrive.h b/wpilibc/wpilibC++Devices/include/RobotDrive.h index 7286331754..e0c3393a1f 100644 --- a/wpilibc/wpilibC++Devices/include/RobotDrive.h +++ b/wpilibc/wpilibC++Devices/include/RobotDrive.h @@ -69,13 +69,13 @@ public: void SetMaxOutput(double maxOutput); void SetCANJaguarSyncGroup(uint8_t syncGroup); - void SetExpiration(float timeout); - float GetExpiration(); - bool IsAlive(); - void StopMotor(); - bool IsSafetyEnabled(); - void SetSafetyEnabled(bool enabled); - void GetDescription(char *desc); + void SetExpiration(float timeout) override; + float GetExpiration() const override; + bool IsAlive() const override; + void StopMotor() override; + bool IsSafetyEnabled() const override; + void SetSafetyEnabled(bool enabled) override; + void GetDescription(char *desc) const override; protected: void InitRobotDrive(); diff --git a/wpilibc/wpilibC++Devices/include/SafePWM.h b/wpilibc/wpilibC++Devices/include/SafePWM.h index bed5c214f5..569665e9cd 100644 --- a/wpilibc/wpilibC++Devices/include/SafePWM.h +++ b/wpilibc/wpilibC++Devices/include/SafePWM.h @@ -24,12 +24,12 @@ public: ~SafePWM(); void SetExpiration(float timeout); - float GetExpiration(); - bool IsAlive(); + float GetExpiration() const; + bool IsAlive() const; void StopMotor(); - bool IsSafetyEnabled(); + bool IsSafetyEnabled() const; void SetSafetyEnabled(bool enabled); - void GetDescription(char *desc); + void GetDescription(char *desc) const; virtual void SetSpeed(float speed); private: diff --git a/wpilibc/wpilibC++Devices/include/Servo.h b/wpilibc/wpilibC++Devices/include/Servo.h index 01cba943da..e71718af56 100644 --- a/wpilibc/wpilibC++Devices/include/Servo.h +++ b/wpilibc/wpilibC++Devices/include/Servo.h @@ -21,9 +21,9 @@ public: virtual ~Servo(); void Set(float value); void SetOffline(); - float Get(); + float Get() const; void SetAngle(float angle); - float GetAngle(); + float GetAngle() const; static float GetMaxAngle() { return kMaxServoAngle; @@ -33,19 +33,19 @@ public: return kMinServoAngle; } - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; ITable *m_table; private: void InitServo(); - float GetServoAngleRange() + float GetServoAngleRange() const { return kMaxServoAngle - kMinServoAngle; } diff --git a/wpilibc/wpilibC++Devices/include/Solenoid.h b/wpilibc/wpilibC++Devices/include/Solenoid.h index 374fc459b5..3c522393f4 100644 --- a/wpilibc/wpilibC++Devices/include/Solenoid.h +++ b/wpilibc/wpilibC++Devices/include/Solenoid.h @@ -22,16 +22,16 @@ public: Solenoid(uint8_t moduleNumber, uint32_t channel); virtual ~Solenoid(); virtual void Set(bool on); - virtual bool Get(); - bool IsBlackListed(); + virtual bool Get() const; + bool IsBlackListed() const; void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); void UpdateTable(); void StartLiveWindowMode(); void StopLiveWindowMode(); - std::string GetSmartDashboardType(); + std::string GetSmartDashboardType() const; void InitTable(ITable *subTable); - ITable * GetTable(); + ITable * GetTable() const; private: void InitSolenoid(); diff --git a/wpilibc/wpilibC++Devices/include/SolenoidBase.h b/wpilibc/wpilibC++Devices/include/SolenoidBase.h index cf3ee91e3a..841a2d3bad 100644 --- a/wpilibc/wpilibC++Devices/include/SolenoidBase.h +++ b/wpilibc/wpilibC++Devices/include/SolenoidBase.h @@ -19,11 +19,11 @@ class SolenoidBase : public SensorBase { public: virtual ~SolenoidBase(); - uint8_t GetAll(int module = 0); - - uint8_t GetPCMSolenoidBlackList(int module); - bool GetPCMSolenoidVoltageStickyFault(int module); - bool GetPCMSolenoidVoltageFault(int module); + uint8_t GetAll(int module = 0) const; + + uint8_t GetPCMSolenoidBlackList(int module) const; + bool GetPCMSolenoidVoltageStickyFault(int module) const; + bool GetPCMSolenoidVoltageFault(int module) const; void ClearAllPCMStickyFaults(int module); protected: explicit SolenoidBase(uint8_t pcmID); diff --git a/wpilibc/wpilibC++Devices/include/SpeedController.h b/wpilibc/wpilibC++Devices/include/SpeedController.h index 96d9266b3f..8b59ab722b 100644 --- a/wpilibc/wpilibC++Devices/include/SpeedController.h +++ b/wpilibc/wpilibC++Devices/include/SpeedController.h @@ -27,7 +27,7 @@ public: * * @return The current set speed. Value is between -1.0 and 1.0. */ - virtual float Get() = 0; + virtual float Get() const = 0; /** * Common interface for disabling a motor. */ diff --git a/wpilibc/wpilibC++Devices/include/Talon.h b/wpilibc/wpilibC++Devices/include/Talon.h index 6e11ccd46e..41857afa43 100644 --- a/wpilibc/wpilibC++Devices/include/Talon.h +++ b/wpilibc/wpilibC++Devices/include/Talon.h @@ -18,10 +18,10 @@ public: explicit Talon(uint32_t channel); virtual ~Talon(); virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); + virtual float Get() const; virtual void Disable(); - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitTalon(); diff --git a/wpilibc/wpilibC++Devices/include/TalonSRX.h b/wpilibc/wpilibC++Devices/include/TalonSRX.h index fe36b45a1f..94c1d3f0a8 100644 --- a/wpilibc/wpilibC++Devices/include/TalonSRX.h +++ b/wpilibc/wpilibC++Devices/include/TalonSRX.h @@ -18,11 +18,11 @@ class TalonSRX : public SafePWM, public SpeedController public: explicit TalonSRX(uint32_t channel); virtual ~TalonSRX(); - virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); - virtual void Disable(); + virtual void Set(float value, uint8_t syncGroup = 0) override; + virtual float Get() const override; + virtual void Disable() override; - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitTalonSRX(); diff --git a/wpilibc/wpilibC++Devices/include/Ultrasonic.h b/wpilibc/wpilibC++Devices/include/Ultrasonic.h index c595b1e69d..3a39dd03bb 100644 --- a/wpilibc/wpilibC++Devices/include/Ultrasonic.h +++ b/wpilibc/wpilibC++Devices/include/Ultrasonic.h @@ -39,11 +39,11 @@ public: virtual ~Ultrasonic(); void Ping(); - bool IsRangeValid(); + bool IsRangeValid() const; static void SetAutomaticMode(bool enabling); - double GetRangeInches(); - double GetRangeMM(); - bool IsEnabled() + double GetRangeInches() const; + double GetRangeMM() const; + bool IsEnabled() const { return m_enabled; } @@ -52,16 +52,16 @@ public: m_enabled = enable; } - double PIDGet(); + double PIDGet() const override; void SetDistanceUnits(DistanceUnit units); - DistanceUnit GetDistanceUnits(); + DistanceUnit GetDistanceUnits() const; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void Initialize(); diff --git a/wpilibc/wpilibC++Devices/include/Victor.h b/wpilibc/wpilibC++Devices/include/Victor.h index 9a83519820..082ef2d1ce 100644 --- a/wpilibc/wpilibC++Devices/include/Victor.h +++ b/wpilibc/wpilibC++Devices/include/Victor.h @@ -21,10 +21,10 @@ public: explicit Victor(uint32_t channel); virtual ~Victor(); virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); + virtual float Get() const; virtual void Disable(); - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitVictor(); diff --git a/wpilibc/wpilibC++Devices/include/VictorSP.h b/wpilibc/wpilibC++Devices/include/VictorSP.h index e2ba4dc3f7..cae1d7e22c 100644 --- a/wpilibc/wpilibC++Devices/include/VictorSP.h +++ b/wpilibc/wpilibC++Devices/include/VictorSP.h @@ -18,10 +18,10 @@ public: explicit VictorSP(uint32_t channel); virtual ~VictorSP(); virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); + virtual float Get() const; virtual void Disable(); - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitVictorSP(); diff --git a/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp b/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp index 941b480d8f..785da79511 100644 --- a/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp +++ b/wpilibc/wpilibC++Devices/src/ADXL345_I2C.cpp @@ -104,7 +104,7 @@ ADXL345_I2C::AllAxes ADXL345_I2C::GetAccelerations() return data; } -std::string ADXL345_I2C::GetSmartDashboardType() { +std::string ADXL345_I2C::GetSmartDashboardType() const { return "3AxisAccelerometer"; } @@ -121,6 +121,6 @@ void ADXL345_I2C::UpdateTable() { } } -ITable* ADXL345_I2C::GetTable() { +ITable* ADXL345_I2C::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/ADXL345_SPI.cpp b/wpilibc/wpilibC++Devices/src/ADXL345_SPI.cpp index 9a73db4d68..86e4ec9ee1 100644 --- a/wpilibc/wpilibC++Devices/src/ADXL345_SPI.cpp +++ b/wpilibc/wpilibC++Devices/src/ADXL345_SPI.cpp @@ -141,7 +141,7 @@ ADXL345_SPI::AllAxes ADXL345_SPI::GetAccelerations() return data; } -std::string ADXL345_SPI::GetSmartDashboardType() { +std::string ADXL345_SPI::GetSmartDashboardType() const { return "3AxisAccelerometer"; } @@ -158,6 +158,6 @@ void ADXL345_SPI::UpdateTable() { } } -ITable* ADXL345_SPI::GetTable() { +ITable* ADXL345_SPI::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp b/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp index ac3ad186f7..e2c17184df 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogAccelerometer.cpp @@ -72,7 +72,7 @@ AnalogAccelerometer::~AnalogAccelerometer() * * @return The current acceleration of the sensor in Gs. */ -float AnalogAccelerometer::GetAcceleration() +float AnalogAccelerometer::GetAcceleration() const { return (m_AnalogInput->GetAverageVoltage() - m_zeroGVoltage) / m_voltsPerG; } @@ -107,7 +107,7 @@ void AnalogAccelerometer::SetZero(float zero) * * @return The current acceleration in Gs. */ -double AnalogAccelerometer::PIDGet() +double AnalogAccelerometer::PIDGet() const { return GetAcceleration(); } @@ -124,7 +124,7 @@ void AnalogAccelerometer::StartLiveWindowMode() { void AnalogAccelerometer::StopLiveWindowMode() { } -std::string AnalogAccelerometer::GetSmartDashboardType() { +std::string AnalogAccelerometer::GetSmartDashboardType() const { return "Accelerometer"; } @@ -133,6 +133,6 @@ void AnalogAccelerometer::InitTable(ITable *subTable) { UpdateTable(); } -ITable * AnalogAccelerometer::GetTable() { +ITable * AnalogAccelerometer::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/AnalogInput.cpp b/wpilibc/wpilibC++Devices/src/AnalogInput.cpp index 75a912447c..99855899a9 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogInput.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogInput.cpp @@ -75,7 +75,7 @@ AnalogInput::~AnalogInput() * The units are in A/D converter codes. Use GetVoltage() to get the analog value in calibrated units. * @return A sample straight from this channel. */ -int16_t AnalogInput::GetValue() +int16_t AnalogInput::GetValue() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -93,7 +93,7 @@ int16_t AnalogInput::GetValue() * Use GetAverageVoltage() to get the analog value in calibrated units. * @return A sample from the oversample and average engine for this channel. */ -int32_t AnalogInput::GetAverageValue() +int32_t AnalogInput::GetAverageValue() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -107,7 +107,7 @@ int32_t AnalogInput::GetAverageValue() * The value is scaled to units of Volts using the calibrated scaling data from GetLSBWeight() and GetOffset(). * @return A scaled sample straight from this channel. */ -float AnalogInput::GetVoltage() +float AnalogInput::GetVoltage() const { if (StatusIsFatal()) return 0.0f; int32_t status = 0; @@ -123,7 +123,7 @@ float AnalogInput::GetVoltage() * Using averaging will cause this value to be more stable, but it will update more slowly. * @return A scaled sample from the output of the oversample and average engine for this channel. */ -float AnalogInput::GetAverageVoltage() +float AnalogInput::GetAverageVoltage() const { if (StatusIsFatal()) return 0.0f; int32_t status = 0; @@ -139,7 +139,7 @@ float AnalogInput::GetAverageVoltage() * * @return Least significant bit weight. */ -uint32_t AnalogInput::GetLSBWeight() +uint32_t AnalogInput::GetLSBWeight() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -155,7 +155,7 @@ uint32_t AnalogInput::GetLSBWeight() * * @return Offset constant. */ -int32_t AnalogInput::GetOffset() +int32_t AnalogInput::GetOffset() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -168,7 +168,7 @@ int32_t AnalogInput::GetOffset() * Get the channel number. * @return The channel number. */ -uint32_t AnalogInput::GetChannel() +uint32_t AnalogInput::GetChannel() const { if (StatusIsFatal()) return 0; return m_channel; @@ -197,7 +197,7 @@ void AnalogInput::SetAverageBits(uint32_t bits) * * @return Number of bits of averaging previously configured. */ -uint32_t AnalogInput::GetAverageBits() +uint32_t AnalogInput::GetAverageBits() const { int32_t status = 0; int32_t averageBits = getAnalogAverageBits(m_port, &status); @@ -228,7 +228,7 @@ void AnalogInput::SetOversampleBits(uint32_t bits) * * @return Number of bits of oversampling previously configured. */ -uint32_t AnalogInput::GetOversampleBits() +uint32_t AnalogInput::GetOversampleBits() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -242,7 +242,7 @@ uint32_t AnalogInput::GetOversampleBits() * * @return The analog input is attached to an accumulator. */ -bool AnalogInput::IsAccumulatorChannel() +bool AnalogInput::IsAccumulatorChannel() const { if (StatusIsFatal()) return false; int32_t status = 0; @@ -335,7 +335,7 @@ void AnalogInput::SetAccumulatorDeadband(int32_t deadband) * * @return The 64-bit value accumulated since the last Reset(). */ -int64_t AnalogInput::GetAccumulatorValue() +int64_t AnalogInput::GetAccumulatorValue() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -351,7 +351,7 @@ int64_t AnalogInput::GetAccumulatorValue() * * @return The number of times samples from the channel were accumulated. */ -uint32_t AnalogInput::GetAccumulatorCount() +uint32_t AnalogInput::GetAccumulatorCount() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -370,7 +370,7 @@ uint32_t AnalogInput::GetAccumulatorCount() * @param value Pointer to the 64-bit accumulated output. * @param count Pointer to the number of accumulation cycles. */ -void AnalogInput::GetAccumulatorOutput(int64_t *value, uint32_t *count) +void AnalogInput::GetAccumulatorOutput(int64_t *value, uint32_t *count) const { if (StatusIsFatal()) return; int32_t status = 0; @@ -410,7 +410,7 @@ float AnalogInput::GetSampleRate() * * @return The average voltage. */ -double AnalogInput::PIDGet() +double AnalogInput::PIDGet() const { if (StatusIsFatal()) return 0.0; return GetAverageVoltage(); @@ -430,7 +430,7 @@ void AnalogInput::StopLiveWindowMode() { } -std::string AnalogInput::GetSmartDashboardType() { +std::string AnalogInput::GetSmartDashboardType() const { return "Analog Input"; } @@ -439,6 +439,6 @@ void AnalogInput::InitTable(ITable *subTable) { UpdateTable(); } -ITable * AnalogInput::GetTable() { +ITable * AnalogInput::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp b/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp index 858edf5079..b769fc0558 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogOutput.cpp @@ -76,7 +76,7 @@ void AnalogOutput::SetVoltage(float voltage) { * * @return The value in Volts, from 0.0 to +5.0 */ -float AnalogOutput::GetVoltage() { +float AnalogOutput::GetVoltage() const { int32_t status = 0; float voltage = getAnalogOutput(m_port, &status); @@ -97,7 +97,7 @@ void AnalogOutput::StartLiveWindowMode() { void AnalogOutput::StopLiveWindowMode() { } -std::string AnalogOutput::GetSmartDashboardType() { +std::string AnalogOutput::GetSmartDashboardType() const { return "Analog Output"; } @@ -106,6 +106,6 @@ void AnalogOutput::InitTable(ITable *subTable) { UpdateTable(); } -ITable *AnalogOutput::GetTable() { +ITable *AnalogOutput::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/AnalogPotentiometer.cpp b/wpilibc/wpilibC++Devices/src/AnalogPotentiometer.cpp index 49723fc71c..5aa7a14e80 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogPotentiometer.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogPotentiometer.cpp @@ -59,7 +59,7 @@ AnalogPotentiometer::~AnalogPotentiometer() { * * @return The current position of the potentiometer (in the units used for fullRaneg and offset). */ -double AnalogPotentiometer::Get() { +double AnalogPotentiometer::Get() const { return (m_analog_input->GetVoltage() / ControllerPower::GetVoltage5V()) * m_fullRange + m_offset; } @@ -68,7 +68,7 @@ double AnalogPotentiometer::Get() { * * @return The current reading. */ -double AnalogPotentiometer::PIDGet() { +double AnalogPotentiometer::PIDGet() const { return Get(); } @@ -76,7 +76,7 @@ double AnalogPotentiometer::PIDGet() { /** * @return the Smart Dashboard Type */ -std::string AnalogPotentiometer::GetSmartDashboardType() { +std::string AnalogPotentiometer::GetSmartDashboardType() const { return "Analog Input"; } @@ -94,6 +94,6 @@ void AnalogPotentiometer::UpdateTable() { } } -ITable* AnalogPotentiometer::GetTable() { +ITable* AnalogPotentiometer::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/AnalogTriggerOutput.cpp b/wpilibc/wpilibC++Devices/src/AnalogTriggerOutput.cpp index 65febfa917..07e92c6037 100644 --- a/wpilibc/wpilibC++Devices/src/AnalogTriggerOutput.cpp +++ b/wpilibc/wpilibC++Devices/src/AnalogTriggerOutput.cpp @@ -41,7 +41,7 @@ AnalogTriggerOutput::~AnalogTriggerOutput() * Get the state of the analog trigger output. * @return The state of the analog trigger output. */ -bool AnalogTriggerOutput::Get() +bool AnalogTriggerOutput::Get() const { int32_t status = 0; bool result = getAnalogTriggerOutput(m_trigger->m_trigger, m_outputType, &status); @@ -52,7 +52,7 @@ bool AnalogTriggerOutput::Get() /** * @return The value to be written to the channel field of a routing mux. */ -uint32_t AnalogTriggerOutput::GetChannelForRouting() +uint32_t AnalogTriggerOutput::GetChannelForRouting() const { return (m_trigger->m_index << 2) + m_outputType; } @@ -60,7 +60,7 @@ uint32_t AnalogTriggerOutput::GetChannelForRouting() /** * @return The value to be written to the module field of a routing mux. */ -uint32_t AnalogTriggerOutput::GetModuleForRouting() +uint32_t AnalogTriggerOutput::GetModuleForRouting() const { return 0; } @@ -68,7 +68,7 @@ uint32_t AnalogTriggerOutput::GetModuleForRouting() /** * @return The value to be written to the module field of a routing mux. */ -bool AnalogTriggerOutput::GetAnalogTriggerForRouting() +bool AnalogTriggerOutput::GetAnalogTriggerForRouting() const { return true; } diff --git a/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp b/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp index 30cc57fce0..c36c17f6f0 100644 --- a/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp +++ b/wpilibc/wpilibC++Devices/src/BuiltInAccelerometer.cpp @@ -63,7 +63,7 @@ double BuiltInAccelerometer::GetZ() return getAccelerometerZ(); } -std::string BuiltInAccelerometer::GetSmartDashboardType() { +std::string BuiltInAccelerometer::GetSmartDashboardType() const { return "3AxisAccelerometer"; } @@ -80,6 +80,6 @@ void BuiltInAccelerometer::UpdateTable() { } } -ITable* BuiltInAccelerometer::GetTable() { +ITable* BuiltInAccelerometer::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/CANJaguar.cpp b/wpilibc/wpilibC++Devices/src/CANJaguar.cpp index 4017fd7d5b..48fa9b2c08 100644 --- a/wpilibc/wpilibC++Devices/src/CANJaguar.cpp +++ b/wpilibc/wpilibC++Devices/src/CANJaguar.cpp @@ -374,7 +374,7 @@ void CANJaguar::Set(float outputValue, uint8_t syncGroup) * * @return The most recently set outputValue setpoint. */ -float CANJaguar::Get() +float CANJaguar::Get() const { return m_value; } @@ -441,34 +441,34 @@ uint8_t CANJaguar::packint32_t(uint8_t *buffer, int32_t value) return sizeof(int32_t); } -double CANJaguar::unpackPercentage(uint8_t *buffer) +double CANJaguar::unpackPercentage(uint8_t *buffer) const { int16_t value = *((int16_t*)buffer); value = swap16(value); return value / 32767.0; } -double CANJaguar::unpackFXP8_8(uint8_t *buffer) +double CANJaguar::unpackFXP8_8(uint8_t *buffer) const { int16_t value = *((int16_t*)buffer); value = swap16(value); return value / 256.0; } -double CANJaguar::unpackFXP16_16(uint8_t *buffer) +double CANJaguar::unpackFXP16_16(uint8_t *buffer) const { int32_t value = *((int32_t*)buffer); value = swap32(value); return value / 65536.0; } -int16_t CANJaguar::unpackint16_t(uint8_t *buffer) +int16_t CANJaguar::unpackint16_t(uint8_t *buffer) const { int16_t value = *((int16_t*)buffer); return swap16(value); } -int32_t CANJaguar::unpackint32_t(uint8_t *buffer) +int32_t CANJaguar::unpackint32_t(uint8_t *buffer) const { int32_t value = *((int32_t*)buffer); return swap32(value); @@ -516,7 +516,7 @@ void CANJaguar::requestMessage(uint32_t messageID, int32_t period) * * @return true if the message was found. Otherwise, no new message is available. */ -bool CANJaguar::getMessage(uint32_t messageID, uint32_t messageMask, uint8_t *data, uint8_t *dataSize) +bool CANJaguar::getMessage(uint32_t messageID, uint32_t messageMask, uint8_t *data, uint8_t *dataSize) const { uint32_t targetedMessageID = messageID | m_deviceNumber; int32_t status = 0; @@ -580,33 +580,39 @@ void CANJaguar::setupPeriodicStatus() { /** * Check for new periodic status updates and unpack them into local variables */ -void CANJaguar::updatePeriodicStatus() { +void CANJaguar::updatePeriodicStatus() const { uint8_t data[8]; uint8_t dataSize; // Check if a new bus voltage/output voltage/current/temperature message // has arrived and unpack the values into the cached member variables if(getMessage(LM_API_PSTAT_DATA_S0, CAN_MSGID_FULL_M, data, &dataSize)) { + m_mutex.lock(); m_busVoltage = unpackFXP8_8(data); m_outputVoltage = unpackPercentage(data + 2) * m_busVoltage; m_outputCurrent = unpackFXP8_8(data + 4); m_temperature = unpackFXP8_8(data + 6); + m_mutex.unlock(); m_receivedStatusMessage0 = true; } // Check if a new position/speed message has arrived and do the same if(getMessage(LM_API_PSTAT_DATA_S1, CAN_MSGID_FULL_M, data, &dataSize)) { + m_mutex.lock(); m_position = unpackFXP16_16(data); m_speed = unpackFXP16_16(data + 4); + m_mutex.unlock(); m_receivedStatusMessage1 = true; } // Check if a new limits/faults message has arrived and do the same if(getMessage(LM_API_PSTAT_DATA_S2, CAN_MSGID_FULL_M, data, &dataSize)) { + m_mutex.lock(); m_limits = data[0]; m_faults = data[1]; + m_mutex.unlock(); m_receivedStatusMessage2 = true; } @@ -1094,7 +1100,7 @@ void CANJaguar::SetSpeedReference(uint8_t reference) * @return A speed reference indicating the currently selected reference device * for speed controller mode. */ -uint8_t CANJaguar::GetSpeedReference() +uint8_t CANJaguar::GetSpeedReference() const { return m_speedReference; } @@ -1124,7 +1130,7 @@ void CANJaguar::SetPositionReference(uint8_t reference) * * @return A PositionReference indicating the currently selected reference device for position controller mode. */ -uint8_t CANJaguar::GetPositionReference() +uint8_t CANJaguar::GetPositionReference() const { return m_positionReference; } @@ -1253,7 +1259,7 @@ void CANJaguar::SetD(double d) * * @return The proportional gain. */ -double CANJaguar::GetP() +double CANJaguar::GetP() const { if(m_controlMode == kPercentVbus || m_controlMode == kVoltage) { @@ -1269,7 +1275,7 @@ double CANJaguar::GetP() * * @return The integral gain. */ -double CANJaguar::GetI() +double CANJaguar::GetI() const { if(m_controlMode == kPercentVbus || m_controlMode == kVoltage) { @@ -1285,7 +1291,7 @@ double CANJaguar::GetI() * * @return The differential gain. */ -double CANJaguar::GetD() +double CANJaguar::GetD() const { if(m_controlMode == kPercentVbus || m_controlMode == kVoltage) { @@ -1659,7 +1665,7 @@ void CANJaguar::SetControlMode(ControlMode controlMode) * * @return ControlMode that the Jag is in. */ -CANJaguar::ControlMode CANJaguar::GetControlMode() +CANJaguar::ControlMode CANJaguar::GetControlMode() const { return m_controlMode; } @@ -1669,9 +1675,10 @@ CANJaguar::ControlMode CANJaguar::GetControlMode() * * @return The bus voltage in volts. */ -float CANJaguar::GetBusVoltage() +float CANJaguar::GetBusVoltage() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_busVoltage; } @@ -1681,9 +1688,10 @@ float CANJaguar::GetBusVoltage() * * @return The output voltage in volts. */ -float CANJaguar::GetOutputVoltage() +float CANJaguar::GetOutputVoltage() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_outputVoltage; } @@ -1693,9 +1701,10 @@ float CANJaguar::GetOutputVoltage() * * @return The output current in amps. */ -float CANJaguar::GetOutputCurrent() +float CANJaguar::GetOutputCurrent() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_outputCurrent; } @@ -1705,9 +1714,10 @@ float CANJaguar::GetOutputCurrent() * * @return The temperature of the Jaguar in degrees Celsius. */ -float CANJaguar::GetTemperature() +float CANJaguar::GetTemperature() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_temperature; } @@ -1719,9 +1729,10 @@ float CANJaguar::GetTemperature() * @see CANJaguar#ConfigPotentiometerTurns(int) * @see CANJaguar#ConfigEncoderCodesPerRev(int) */ -double CANJaguar::GetPosition() +double CANJaguar::GetPosition() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_position; } @@ -1731,9 +1742,10 @@ double CANJaguar::GetPosition() * * @return The speed of the motor in RPM based on the configured feedback. */ -double CANJaguar::GetSpeed() +double CANJaguar::GetSpeed() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_speed; } @@ -1743,9 +1755,10 @@ double CANJaguar::GetSpeed() * * @return The motor is allowed to turn in the forward direction when true. */ -bool CANJaguar::GetForwardLimitOK() +bool CANJaguar::GetForwardLimitOK() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_limits & kForwardLimit; } @@ -1755,9 +1768,10 @@ bool CANJaguar::GetForwardLimitOK() * * @return The motor is allowed to turn in the reverse direction when true. */ -bool CANJaguar::GetReverseLimitOK() +bool CANJaguar::GetReverseLimitOK() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_limits & kReverseLimit; } @@ -1771,9 +1785,10 @@ bool CANJaguar::GetReverseLimitOK() * @see #kTemperatureFault * @see #kGateDriverFault */ -uint16_t CANJaguar::GetFaults() +uint16_t CANJaguar::GetFaults() const { updatePeriodicStatus(); + std::lock_guard lock(m_mutex); return m_faults; } @@ -1818,7 +1833,7 @@ void CANJaguar::SetVoltageRampRate(double rampRate) * * @return The firmware version. 0 if the device did not respond. */ -uint32_t CANJaguar::GetFirmwareVersion() +uint32_t CANJaguar::GetFirmwareVersion() const { return m_firmwareVersion; } @@ -1828,7 +1843,7 @@ uint32_t CANJaguar::GetFirmwareVersion() * * @return The hardware version. 1: Jaguar, 2: Black Jaguar */ -uint8_t CANJaguar::GetHardwareVersion() +uint8_t CANJaguar::GetHardwareVersion() const { return m_hardwareVersion; } @@ -2030,19 +2045,19 @@ void CANJaguar::SetExpiration(float timeout) if (m_safetyHelper) m_safetyHelper->SetExpiration(timeout); } -float CANJaguar::GetExpiration() +float CANJaguar::GetExpiration() const { if (!m_safetyHelper) return 0.0; return m_safetyHelper->GetExpiration(); } -bool CANJaguar::IsAlive() +bool CANJaguar::IsAlive() const { if (!m_safetyHelper) return false; return m_safetyHelper->IsAlive(); } -bool CANJaguar::IsSafetyEnabled() +bool CANJaguar::IsSafetyEnabled() const { if (!m_safetyHelper) return false; return m_safetyHelper->IsSafetyEnabled(); @@ -2053,12 +2068,12 @@ void CANJaguar::SetSafetyEnabled(bool enabled) if (m_safetyHelper) m_safetyHelper->SetSafetyEnabled(enabled); } -void CANJaguar::GetDescription(char *desc) +void CANJaguar::GetDescription(char *desc) const { sprintf(desc, "CANJaguar ID %d", m_deviceNumber); } -uint8_t CANJaguar::GetDeviceID() +uint8_t CANJaguar::GetDeviceID() const { return m_deviceNumber; } @@ -2103,7 +2118,7 @@ void CANJaguar::StopLiveWindowMode() } } -std::string CANJaguar::GetSmartDashboardType() +std::string CANJaguar::GetSmartDashboardType() const { return "Speed Controller"; } @@ -2114,7 +2129,7 @@ void CANJaguar::InitTable(ITable *subTable) UpdateTable(); } -ITable * CANJaguar::GetTable() +ITable * CANJaguar::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/CANTalon.cpp b/wpilibc/wpilibC++Devices/src/CANTalon.cpp index 423a2927e6..f703441748 100644 --- a/wpilibc/wpilibC++Devices/src/CANTalon.cpp +++ b/wpilibc/wpilibC++Devices/src/CANTalon.cpp @@ -76,7 +76,7 @@ void CANTalon::PIDWrite(float output) * * @return The current sensor value of the Talon. */ -float CANTalon::Get() +float CANTalon::Get() const { int value; switch(m_controlMode) { @@ -184,7 +184,7 @@ void CANTalon::EnableControl() { /** * @return Whether the Talon is currently enabled. */ -bool CANTalon::IsControlEnabled() { +bool CANTalon::IsControlEnabled() const { return m_controlEnabled; } @@ -322,7 +322,7 @@ void CANTalon::SetStatusFrameRateMs(StatusFrameRate stateFrame, int periodMs) * @return double proportional constant for current profile. * @see SelectProfileSlot to choose between the two sets of gains. */ -double CANTalon::GetP() +double CANTalon::GetP() const { CanTalonSRX::param_t param = m_profile ? CanTalonSRX::eProfileParamSlot1_P : CanTalonSRX::eProfileParamSlot0_P; // Update the info in m_impl. @@ -343,7 +343,7 @@ double CANTalon::GetP() * TODO documentation (see CANJaguar.cpp) * @see SelectProfileSlot to choose between the two sets of gains. */ -double CANTalon::GetI() +double CANTalon::GetI() const { CanTalonSRX::param_t param = m_profile ? CanTalonSRX::eProfileParamSlot1_I : CanTalonSRX::eProfileParamSlot0_I; // Update the info in m_impl. @@ -365,7 +365,7 @@ double CANTalon::GetI() * TODO documentation (see CANJaguar.cpp) * @see SelectProfileSlot to choose between the two sets of gains. */ -double CANTalon::GetD() +double CANTalon::GetD() const { CanTalonSRX::param_t param = m_profile ? CanTalonSRX::eProfileParamSlot1_D : CanTalonSRX::eProfileParamSlot0_D; // Update the info in m_impl. @@ -386,7 +386,7 @@ double CANTalon::GetD() * * @see SelectProfileSlot to choose between the two sets of gains. */ -double CANTalon::GetF() +double CANTalon::GetF() const { CanTalonSRX::param_t param = m_profile ? CanTalonSRX::eProfileParamSlot1_F : CanTalonSRX::eProfileParamSlot0_F; // Update the info in m_impl. @@ -406,7 +406,7 @@ double CANTalon::GetF() /** * @see SelectProfileSlot to choose between the two sets of gains. */ -int CANTalon::GetIzone() +int CANTalon::GetIzone() const { CanTalonSRX::param_t param = m_profile ? CanTalonSRX::eProfileParamSlot1_IZone: CanTalonSRX::eProfileParamSlot0_IZone; // Update the info in m_impl. @@ -427,7 +427,7 @@ int CANTalon::GetIzone() /** * @return the current setpoint; ie, whatever was last passed to Set(). */ -double CANTalon::GetSetpoint() { +double CANTalon::GetSetpoint() const { return m_setPoint; } @@ -436,7 +436,7 @@ double CANTalon::GetSetpoint() { * * @return The input voltage in volts. */ -float CANTalon::GetBusVoltage() +float CANTalon::GetBusVoltage() const { double voltage; CTR_Code status = m_impl->GetBatteryV(voltage); @@ -449,7 +449,7 @@ float CANTalon::GetBusVoltage() /** * @return The voltage being output by the Talon, in Volts. */ -float CANTalon::GetOutputVoltage() +float CANTalon::GetOutputVoltage() const { int throttle11; CTR_Code status = m_impl->GetAppliedThrottle(throttle11); @@ -464,7 +464,7 @@ float CANTalon::GetOutputVoltage() /** * Returns the current going through the Talon, in Amperes. */ -float CANTalon::GetOutputCurrent() +float CANTalon::GetOutputCurrent() const { double current; @@ -479,7 +479,7 @@ float CANTalon::GetOutputCurrent() /** * Returns temperature of Talon, in degrees Celsius. */ -float CANTalon::GetTemperature() +float CANTalon::GetTemperature() const { double temp; @@ -505,7 +505,7 @@ void CANTalon::SetPosition(double pos) * When using an analog encoder (wrapping around 1023 => 0 is possible) the units are still 3.3V per 1023 units. * When using quadrature, each unit is a quadrature edge (4X) mode. */ -double CANTalon::GetPosition() +double CANTalon::GetPosition() const { int postition; @@ -533,7 +533,7 @@ void CANTalon::SetSensorDirection(bool reverseSensor) * * @return the difference between the setpoint and the sensor value. */ -int CANTalon::GetClosedLoopError() { +int CANTalon::GetClosedLoopError() const { int error; CTR_Code status = m_impl->GetCloseLoopErr(error); if(status != CTR_OKAY) { @@ -557,7 +557,7 @@ int CANTalon::GetClosedLoopError() { * An example speed of 200 would then equate to 20% of a rotation per 100ms, * or 10 rotations per second. */ -double CANTalon::GetSpeed() +double CANTalon::GetSpeed() const { int speed; // TODO convert from int to appropriate units (or at least document it). @@ -577,7 +577,7 @@ double CANTalon::GetSpeed() * the analog pin of the Talon. The upper 14 bits * tracks the overflows and underflows (continuous sensor). */ -int CANTalon::GetAnalogIn() +int CANTalon::GetAnalogIn() const { int position; CTR_Code status = m_impl->GetAnalogInWithOv(position); @@ -592,7 +592,7 @@ int CANTalon::GetAnalogIn() * * @returns The ADC (0 - 1023) on analog pin of the Talon. */ -int CANTalon::GetAnalogInRaw() +int CANTalon::GetAnalogInRaw() const { return GetAnalogIn() & 0x3FF; } @@ -602,7 +602,7 @@ int CANTalon::GetAnalogInRaw() * * @returns The value (0 - 1023) on the analog pin of the Talon. */ -int CANTalon::GetAnalogInVel() +int CANTalon::GetAnalogInVel() const { int vel; CTR_Code status = m_impl->GetAnalogInVel(vel); @@ -618,7 +618,7 @@ int CANTalon::GetAnalogInVel() * * @returns The value (0 - 1023) on the analog pin of the Talon. */ -int CANTalon::GetEncPosition() +int CANTalon::GetEncPosition() const { int position; CTR_Code status = m_impl->GetEncPosition(position); @@ -634,7 +634,7 @@ int CANTalon::GetEncPosition() * * @returns The value (0 - 1023) on the analog pin of the Talon. */ -int CANTalon::GetEncVel() +int CANTalon::GetEncVel() const { int vel; CTR_Code status = m_impl->GetEncVel(vel); @@ -646,7 +646,7 @@ int CANTalon::GetEncVel() /** * @return IO level of QUADA pin. */ -int CANTalon::GetPinStateQuadA() +int CANTalon::GetPinStateQuadA() const { int retval; CTR_Code status = m_impl->GetQuadApin(retval); @@ -658,7 +658,7 @@ int CANTalon::GetPinStateQuadA() /** * @return IO level of QUADB pin. */ -int CANTalon::GetPinStateQuadB() +int CANTalon::GetPinStateQuadB() const { int retval; CTR_Code status = m_impl->GetQuadBpin(retval); @@ -670,7 +670,7 @@ int CANTalon::GetPinStateQuadB() /** * @return IO level of QUAD Index pin. */ -int CANTalon::GetPinStateQuadIdx() +int CANTalon::GetPinStateQuadIdx() const { int retval; CTR_Code status = m_impl->GetQuadIdxpin(retval); @@ -683,7 +683,7 @@ int CANTalon::GetPinStateQuadIdx() * @return '1' iff forward limit switch is closed, 0 iff switch is open. * This function works regardless if limit switch feature is enabled. */ -int CANTalon::IsFwdLimitSwitchClosed() +int CANTalon::IsFwdLimitSwitchClosed() const { int retval; CTR_Code status = m_impl->GetLimitSwitchClosedFor(retval); /* rename this func, '1' => open, '0' => closed */ @@ -696,7 +696,7 @@ int CANTalon::IsFwdLimitSwitchClosed() * @return '1' iff reverse limit switch is closed, 0 iff switch is open. * This function works regardless if limit switch feature is enabled. */ -int CANTalon::IsRevLimitSwitchClosed() +int CANTalon::IsRevLimitSwitchClosed() const { int retval; CTR_Code status = m_impl->GetLimitSwitchClosedRev(retval); /* rename this func, '1' => open, '0' => closed */ @@ -709,7 +709,7 @@ int CANTalon::IsRevLimitSwitchClosed() * Simple accessor for tracked rise eventso index pin. * @return number of rising edges on idx pin. */ -int CANTalon::GetNumberOfQuadIdxRises() +int CANTalon::GetNumberOfQuadIdxRises() const { int rises; CTR_Code status = m_impl->GetEncIndexRiseEvents(rises); /* rename this func, '1' => open, '0' => closed */ @@ -731,7 +731,7 @@ void CANTalon::SetNumberOfQuadIdxRises(int rises) /** * TODO documentation (see CANJaguar.cpp) */ -bool CANTalon::GetForwardLimitOK() +bool CANTalon::GetForwardLimitOK() const { int limSwit=0; int softLim=0; @@ -751,7 +751,7 @@ bool CANTalon::GetForwardLimitOK() /** * TODO documentation (see CANJaguar.cpp) */ -bool CANTalon::GetReverseLimitOK() +bool CANTalon::GetReverseLimitOK() const { int limSwit=0; int softLim=0; @@ -771,7 +771,7 @@ bool CANTalon::GetReverseLimitOK() /** * TODO documentation (see CANJaguar.cpp) */ -uint16_t CANTalon::GetFaults() +uint16_t CANTalon::GetFaults() const { uint16_t retval = 0; int val; @@ -821,7 +821,7 @@ uint16_t CANTalon::GetFaults() return retval; } -uint16_t CANTalon::GetStickyFaults() +uint16_t CANTalon::GetStickyFaults() const { uint16_t retval = 0; int val; @@ -913,7 +913,7 @@ void CANTalon::SetCloseLoopRampRate(double rampRate) /** * @return The version of the firmware running on the Talon */ -uint32_t CANTalon::GetFirmwareVersion() +uint32_t CANTalon::GetFirmwareVersion() const { int firmwareVersion; CTR_Code status = m_impl->RequestParam(CanTalonSRX::eFirmVers); @@ -937,7 +937,7 @@ uint32_t CANTalon::GetFirmwareVersion() /** * @return The accumulator for I gain. */ -int CANTalon::GetIaccum() +int CANTalon::GetIaccum() const { CTR_Code status = m_impl->RequestParam(CanTalonSRX::ePidIaccum); if(status != CTR_OKAY) { @@ -987,7 +987,7 @@ void CANTalon::ConfigNeutralMode(NeutralMode mode) /** * @return nonzero if brake is enabled during neutral. Zero if coast is enabled during neutral. */ -int CANTalon::GetBrakeEnableDuringNeutral() +int CANTalon::GetBrakeEnableDuringNeutral() const { int brakeEn = 0; CTR_Code status = m_impl->GetBrakeIsEnabled(brakeEn); @@ -1217,7 +1217,7 @@ void CANTalon::SetControlMode(CANSpeedController::ControlMode mode) /** * TODO documentation (see CANJaguar.cpp) */ -CANSpeedController::ControlMode CANTalon::GetControlMode() +CANSpeedController::ControlMode CANTalon::GetControlMode() const { return m_controlMode; } @@ -1227,17 +1227,17 @@ void CANTalon::SetExpiration(float timeout) m_safetyHelper->SetExpiration(timeout); } -float CANTalon::GetExpiration() +float CANTalon::GetExpiration() const { return m_safetyHelper->GetExpiration(); } -bool CANTalon::IsAlive() +bool CANTalon::IsAlive() const { return m_safetyHelper->IsAlive(); } -bool CANTalon::IsSafetyEnabled() +bool CANTalon::IsSafetyEnabled() const { return m_safetyHelper->IsSafetyEnabled(); } @@ -1247,7 +1247,7 @@ void CANTalon::SetSafetyEnabled(bool enabled) m_safetyHelper->SetSafetyEnabled(enabled); } -void CANTalon::GetDescription(char *desc) +void CANTalon::GetDescription(char *desc) const { sprintf(desc, "CANTalon ID %d", m_deviceNumber); } @@ -1292,7 +1292,7 @@ void CANTalon::StopLiveWindowMode() } } -std::string CANTalon::GetSmartDashboardType() +std::string CANTalon::GetSmartDashboardType() const { return "Speed Controller"; } @@ -1303,7 +1303,7 @@ void CANTalon::InitTable(ITable *subTable) UpdateTable(); } -ITable * CANTalon::GetTable() +ITable * CANTalon::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/Compressor.cpp b/wpilibc/wpilibC++Devices/src/Compressor.cpp index b1e72b82b3..884cf94d40 100644 --- a/wpilibc/wpilibC++Devices/src/Compressor.cpp +++ b/wpilibc/wpilibC++Devices/src/Compressor.cpp @@ -52,7 +52,7 @@ void Compressor::Stop() { * Check if compressor output is active * @return true if the compressor is on */ -bool Compressor::Enabled() { +bool Compressor::Enabled() const { int32_t status = 0; bool value; @@ -69,7 +69,7 @@ bool Compressor::Enabled() { * Check if the pressure switch is triggered * @return true if pressure is low */ -bool Compressor::GetPressureSwitchValue() { +bool Compressor::GetPressureSwitchValue() const { int32_t status = 0; bool value; @@ -87,7 +87,7 @@ bool Compressor::GetPressureSwitchValue() { * Query how much current the compressor is drawing * @return The current through the compressor, in amps */ -float Compressor::GetCompressorCurrent() { +float Compressor::GetCompressorCurrent() const { int32_t status = 0; float value; @@ -121,7 +121,7 @@ void Compressor::SetClosedLoopControl(bool on) { * pressure is low. * @return True if closed loop control of the compressor is enabled. False if disabled. */ -bool Compressor::GetClosedLoopControl() { +bool Compressor::GetClosedLoopControl() const { int32_t status = 0; bool value; @@ -139,7 +139,7 @@ bool Compressor::GetClosedLoopControl() { * @return true if PCM is in fault state : Compressor Drive is * disabled due to compressor current being too high. */ -bool Compressor::GetCompressorCurrentTooHighFault() { +bool Compressor::GetCompressorCurrentTooHighFault() const { int32_t status = 0; bool value; @@ -157,7 +157,7 @@ bool Compressor::GetCompressorCurrentTooHighFault() { * @return true if PCM sticky fault is set : Compressor Drive is * disabled due to compressor current being too high. */ -bool Compressor::GetCompressorCurrentTooHighStickyFault() { +bool Compressor::GetCompressorCurrentTooHighStickyFault() const { int32_t status = 0; bool value; @@ -175,7 +175,7 @@ bool Compressor::GetCompressorCurrentTooHighStickyFault() { * @return true if PCM sticky fault is set : Compressor output * appears to be shorted. */ -bool Compressor::GetCompressorShortedStickyFault() { +bool Compressor::GetCompressorShortedStickyFault() const { int32_t status = 0; bool value; @@ -192,7 +192,7 @@ bool Compressor::GetCompressorShortedStickyFault() { * @return true if PCM is in fault state : Compressor output * appears to be shorted. */ -bool Compressor::GetCompressorShortedFault() { +bool Compressor::GetCompressorShortedFault() const { int32_t status = 0; bool value; @@ -211,7 +211,7 @@ bool Compressor::GetCompressorShortedFault() { * appear to be wired, i.e. compressor is * not drawing enough current. */ -bool Compressor::GetCompressorNotConnectedStickyFault() { +bool Compressor::GetCompressorNotConnectedStickyFault() const { int32_t status = 0; bool value; @@ -229,7 +229,7 @@ bool Compressor::GetCompressorNotConnectedStickyFault() { * appear to be wired, i.e. compressor is * not drawing enough current. */ -bool Compressor::GetCompressorNotConnectedFault() { +bool Compressor::GetCompressorNotConnectedFault() const { int32_t status = 0; bool value; @@ -273,7 +273,7 @@ void Compressor::StartLiveWindowMode() { void Compressor::StopLiveWindowMode() { } -std::string Compressor::GetSmartDashboardType() { +std::string Compressor::GetSmartDashboardType() const { return "Compressor"; } @@ -282,7 +282,7 @@ void Compressor::InitTable(ITable *subTable) { UpdateTable(); } -ITable *Compressor::GetTable() { +ITable *Compressor::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/Counter.cpp b/wpilibc/wpilibC++Devices/src/Counter.cpp index dbe7ab2670..c477473f6c 100644 --- a/wpilibc/wpilibC++Devices/src/Counter.cpp +++ b/wpilibc/wpilibC++Devices/src/Counter.cpp @@ -474,7 +474,7 @@ void Counter::SetPulseLengthMode(float threshold) * mechanical imperfections or as oversampling to increase resolution. * @return SamplesToAverage The number of samples being averaged (from 1 to 127) */ -int Counter::GetSamplesToAverage() +int Counter::GetSamplesToAverage() const { int32_t status = 0; int32_t samples = getCounterSamplesToAverage(m_counter, &status); @@ -503,7 +503,7 @@ void Counter::SetSamplesToAverage (int samplesToAverage) { * Read the value at this instant. It may still be running, so it reflects the current value. Next * time it is read, it might have a different value. */ -int32_t Counter::Get() +int32_t Counter::Get() const { if (StatusIsFatal()) return 0; int32_t status = 0; @@ -531,7 +531,7 @@ void Counter::Reset() * to determine shaft speed. * @returns The period between the last two pulses in units of seconds. */ -double Counter::GetPeriod() +double Counter::GetPeriod() const { if (StatusIsFatal()) return 0.0; int32_t status = 0; @@ -584,7 +584,7 @@ void Counter::SetUpdateWhenEmpty(bool enabled) * @return Returns true if the most recent counter period exceeds the MaxPeriod value set by * SetMaxPeriod. */ -bool Counter::GetStopped() +bool Counter::GetStopped() const { if (StatusIsFatal()) return false; int32_t status = 0; @@ -597,7 +597,7 @@ bool Counter::GetStopped() * The last direction the counter value changed. * @return The last direction the counter value changed. */ -bool Counter::GetDirection() +bool Counter::GetDirection() const { if (StatusIsFatal()) return false; int32_t status = 0; @@ -635,7 +635,7 @@ void Counter::StopLiveWindowMode() { } -std::string Counter::GetSmartDashboardType() { +std::string Counter::GetSmartDashboardType() const { return "Counter"; } @@ -644,6 +644,6 @@ void Counter::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Counter::GetTable() { +ITable * Counter::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/DigitalInput.cpp b/wpilibc/wpilibC++Devices/src/DigitalInput.cpp index 71c327efdd..c60e3efbe2 100644 --- a/wpilibc/wpilibC++Devices/src/DigitalInput.cpp +++ b/wpilibc/wpilibC++Devices/src/DigitalInput.cpp @@ -71,7 +71,7 @@ DigitalInput::~DigitalInput() * Get the value from a digital input channel. * Retrieve the value of a single digital input channel from the FPGA. */ -bool DigitalInput::Get() +bool DigitalInput::Get() const { int32_t status = 0; bool value = getDIO(m_digital_ports[m_channel], &status); @@ -82,7 +82,7 @@ bool DigitalInput::Get() /** * @return The GPIO channel number that this object represents. */ -uint32_t DigitalInput::GetChannel() +uint32_t DigitalInput::GetChannel() const { return m_channel; } @@ -90,7 +90,7 @@ uint32_t DigitalInput::GetChannel() /** * @return The value to be written to the channel field of a routing mux. */ -uint32_t DigitalInput::GetChannelForRouting() +uint32_t DigitalInput::GetChannelForRouting() const { return GetChannel(); } @@ -98,7 +98,7 @@ uint32_t DigitalInput::GetChannelForRouting() /** * @return The value to be written to the module field of a routing mux. */ -uint32_t DigitalInput::GetModuleForRouting() +uint32_t DigitalInput::GetModuleForRouting() const { return 0; } @@ -106,7 +106,7 @@ uint32_t DigitalInput::GetModuleForRouting() /** * @return The value to be written to the analog trigger field of a routing mux. */ -bool DigitalInput::GetAnalogTriggerForRouting() +bool DigitalInput::GetAnalogTriggerForRouting() const { return false; } @@ -125,7 +125,7 @@ void DigitalInput::StopLiveWindowMode() { } -std::string DigitalInput::GetSmartDashboardType() { +std::string DigitalInput::GetSmartDashboardType() const { return "DigitalInput"; } @@ -134,6 +134,6 @@ void DigitalInput::InitTable(ITable *subTable) { UpdateTable(); } -ITable * DigitalInput::GetTable() { +ITable * DigitalInput::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp b/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp index 11768f38ac..cb7481bcf2 100644 --- a/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp +++ b/wpilibc/wpilibC++Devices/src/DigitalOutput.cpp @@ -77,7 +77,7 @@ void DigitalOutput::Set(uint32_t value) /** * @return The GPIO channel number that this object represents. */ -uint32_t DigitalOutput::GetChannel() +uint32_t DigitalOutput::GetChannel() const { return m_channel; } @@ -101,7 +101,7 @@ void DigitalOutput::Pulse(float length) * Determine if the pulse is still going. * Determine if a previously started pulse is still going. */ -bool DigitalOutput::IsPulsing() +bool DigitalOutput::IsPulsing() const { if (StatusIsFatal()) return false; @@ -202,7 +202,7 @@ void DigitalOutput::UpdateDutyCycle(float dutyCycle) /** * @return The value to be written to the channel field of a routing mux. */ -uint32_t DigitalOutput::GetChannelForRouting() +uint32_t DigitalOutput::GetChannelForRouting() const { return GetChannel(); } @@ -210,7 +210,7 @@ uint32_t DigitalOutput::GetChannelForRouting() /** * @return The value to be written to the module field of a routing mux. */ -uint32_t DigitalOutput::GetModuleForRouting() +uint32_t DigitalOutput::GetModuleForRouting() const { return 0; } @@ -218,7 +218,7 @@ uint32_t DigitalOutput::GetModuleForRouting() /** * @return The value to be written to the analog trigger field of a routing mux. */ -bool DigitalOutput::GetAnalogTriggerForRouting() +bool DigitalOutput::GetAnalogTriggerForRouting() const { return false; } @@ -242,7 +242,7 @@ void DigitalOutput::StopLiveWindowMode() { } } -std::string DigitalOutput::GetSmartDashboardType() { +std::string DigitalOutput::GetSmartDashboardType() const { return "Digital Output"; } @@ -251,6 +251,6 @@ void DigitalOutput::InitTable(ITable *subTable) { UpdateTable(); } -ITable * DigitalOutput::GetTable() { +ITable * DigitalOutput::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp b/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp index 2b89b1ea14..1d33c4c8e7 100644 --- a/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp +++ b/wpilibc/wpilibC++Devices/src/DoubleSolenoid.cpp @@ -129,7 +129,7 @@ void DoubleSolenoid::Set(Value value) * * @return The current value of the solenoid. */ -DoubleSolenoid::Value DoubleSolenoid::Get() +DoubleSolenoid::Value DoubleSolenoid::Get() const { if (StatusIsFatal()) return kOff; uint8_t value = GetAll(m_moduleNumber); @@ -146,7 +146,7 @@ DoubleSolenoid::Value DoubleSolenoid::Get() * * @return If solenoid is disabled due to short. */ -bool DoubleSolenoid::IsFwdSolenoidBlackListed() +bool DoubleSolenoid::IsFwdSolenoidBlackListed() const { int blackList = GetPCMSolenoidBlackList(m_moduleNumber); return (blackList & m_forwardMask) ? 1 : 0; @@ -159,7 +159,7 @@ bool DoubleSolenoid::IsFwdSolenoidBlackListed() * * @return If solenoid is disabled due to short. */ -bool DoubleSolenoid::IsRevSolenoidBlackListed() +bool DoubleSolenoid::IsRevSolenoidBlackListed() const { int blackList = GetPCMSolenoidBlackList(m_moduleNumber); return (blackList & m_reverseMask) ? 1 : 0; @@ -195,7 +195,7 @@ void DoubleSolenoid::StopLiveWindowMode() { } } -std::string DoubleSolenoid::GetSmartDashboardType() { +std::string DoubleSolenoid::GetSmartDashboardType() const { return "Double Solenoid"; } @@ -204,6 +204,6 @@ void DoubleSolenoid::InitTable(ITable *subTable) { UpdateTable(); } -ITable * DoubleSolenoid::GetTable() { +ITable * DoubleSolenoid::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/DriverStation.cpp b/wpilibc/wpilibC++Devices/src/DriverStation.cpp index b159a8d56c..e70cc3e32d 100644 --- a/wpilibc/wpilibC++Devices/src/DriverStation.cpp +++ b/wpilibc/wpilibC++Devices/src/DriverStation.cpp @@ -159,7 +159,7 @@ void DriverStation::GetData() * * @return The battery voltage in Volts. */ -float DriverStation::GetBatteryVoltage() +float DriverStation::GetBatteryVoltage() const { int32_t status = 0; float voltage = getVinVoltage(&status); @@ -186,7 +186,7 @@ void DriverStation::ReportJoystickUnpluggedError(std::string message) { * @param stick The joystick port number * @return The number of axes on the indicated joystick */ -int DriverStation::GetStickAxisCount(uint32_t stick) +int DriverStation::GetStickAxisCount(uint32_t stick) const { if (stick >= kJoystickPorts) { @@ -204,7 +204,7 @@ int DriverStation::GetStickAxisCount(uint32_t stick) *@param stick The joystick port number *@return The name of the joystick at the given port */ -std::string DriverStation::GetJoystickName(uint32_t stick) +std::string DriverStation::GetJoystickName(uint32_t stick) const { if (stick >= kJoystickPorts) { @@ -220,7 +220,7 @@ std::string DriverStation::GetJoystickName(uint32_t stick) *@param stick The joystick port number *@return The HID type of joystick at the given port */ -int DriverStation::GetJoystickType(uint32_t stick) +int DriverStation::GetJoystickType(uint32_t stick) const { if (stick >= kJoystickPorts) { @@ -236,7 +236,7 @@ int DriverStation::GetJoystickType(uint32_t stick) *@param stick The joystick port number *@return A boolean that is true if the controller is an xbox controller. */ -bool DriverStation::GetJoystickIsXbox(uint32_t stick) +bool DriverStation::GetJoystickIsXbox(uint32_t stick) const { if (stick >= kJoystickPorts) { @@ -252,7 +252,7 @@ bool DriverStation::GetJoystickIsXbox(uint32_t stick) *@param stick The joystick port number and the target axis *@return What type of axis the axis is reporting to be */ -int DriverStation::GetJoystickAxisType(uint32_t stick, uint8_t axis) +int DriverStation::GetJoystickAxisType(uint32_t stick, uint8_t axis) const { if (stick >= kJoystickPorts) { @@ -268,7 +268,7 @@ int DriverStation::GetJoystickAxisType(uint32_t stick, uint8_t axis) * @param stick The joystick port number * @return The number of POVs on the indicated joystick */ -int DriverStation::GetStickPOVCount(uint32_t stick) +int DriverStation::GetStickPOVCount(uint32_t stick) const { if (stick >= kJoystickPorts) { @@ -286,7 +286,7 @@ int DriverStation::GetStickPOVCount(uint32_t stick) * @param stick The joystick port number * @return The number of buttons on the indicated joystick */ -int DriverStation::GetStickButtonCount(uint32_t stick) +int DriverStation::GetStickButtonCount(uint32_t stick) const { if (stick >= kJoystickPorts) { @@ -365,7 +365,7 @@ int DriverStation::GetStickPOV(uint32_t stick, uint32_t pov) { * @param stick The joystick to read. * @return The state of the buttons on the joystick. */ -uint32_t DriverStation::GetStickButtons(uint32_t stick) +uint32_t DriverStation::GetStickButtons(uint32_t stick) const { if (stick >= kJoystickPorts) { @@ -408,7 +408,7 @@ bool DriverStation::GetStickButton(uint32_t stick, uint8_t button) * Check if the DS has enabled the robot * @return True if the robot is enabled and the DS is connected */ -bool DriverStation::IsEnabled() +bool DriverStation::IsEnabled() const { HALControlWord controlWord; memset(&controlWord, 0, sizeof(controlWord)); @@ -420,7 +420,7 @@ bool DriverStation::IsEnabled() * Check if the robot is disabled * @return True if the robot is explicitly disabled or the DS is not connected */ -bool DriverStation::IsDisabled() +bool DriverStation::IsDisabled() const { HALControlWord controlWord; memset(&controlWord, 0, sizeof(controlWord)); @@ -432,7 +432,7 @@ bool DriverStation::IsDisabled() * Check if the DS is commanding autonomous mode * @return True if the robot is being commanded to be in autonomous mode */ -bool DriverStation::IsAutonomous() +bool DriverStation::IsAutonomous() const { HALControlWord controlWord; memset(&controlWord, 0, sizeof(controlWord)); @@ -444,7 +444,7 @@ bool DriverStation::IsAutonomous() * Check if the DS is commanding teleop mode * @return True if the robot is being commanded to be in teleop mode */ -bool DriverStation::IsOperatorControl() +bool DriverStation::IsOperatorControl() const { HALControlWord controlWord; memset(&controlWord, 0, sizeof(controlWord)); @@ -456,7 +456,7 @@ bool DriverStation::IsOperatorControl() * Check if the DS is commanding test mode * @return True if the robot is being commanded to be in test mode */ -bool DriverStation::IsTest() +bool DriverStation::IsTest() const { HALControlWord controlWord; HALGetControlWord(&controlWord); @@ -467,7 +467,7 @@ bool DriverStation::IsTest() * Check if the DS is attached * @return True if the DS is connected to the robot */ -bool DriverStation::IsDSAttached() +bool DriverStation::IsDSAttached() const { HALControlWord controlWord; memset(&controlWord, 0, sizeof(controlWord)); @@ -480,7 +480,7 @@ bool DriverStation::IsDSAttached() * or e-stopped, the watchdog has expired, or if the roboRIO browns out. * @return True if the FPGA outputs are enabled. */ -bool DriverStation::IsSysActive() +bool DriverStation::IsSysActive() const { int32_t status = 0; bool retVal = HALGetSystemActive(&status); @@ -492,7 +492,7 @@ bool DriverStation::IsSysActive() * Check if the system is browned out. * @return True if the system is browned out */ -bool DriverStation::IsSysBrownedOut() +bool DriverStation::IsSysBrownedOut() const { int32_t status = 0; bool retVal = HALGetBrownedOut(&status); @@ -506,7 +506,7 @@ bool DriverStation::IsSysBrownedOut() * you will not get the get the intended behaviour. * @return True if the control data has been updated since the last call. */ -bool DriverStation::IsNewControlData() +bool DriverStation::IsNewControlData() const { return tryTakeSemaphore(m_newControlData) == 0; } @@ -515,7 +515,7 @@ bool DriverStation::IsNewControlData() * Is the driver station attached to a Field Management System? * @return True if the robot is competing on a field being controlled by a Field Management System */ -bool DriverStation::IsFMSAttached() +bool DriverStation::IsFMSAttached() const { HALControlWord controlWord; HALGetControlWord(&controlWord); @@ -527,7 +527,7 @@ bool DriverStation::IsFMSAttached() * This could return kRed or kBlue * @return The Alliance enum (kRed, kBlue or kInvalid) */ -DriverStation::Alliance DriverStation::GetAlliance() +DriverStation::Alliance DriverStation::GetAlliance() const { HALAllianceStationID allianceStationID; HALGetAllianceStation(&allianceStationID); @@ -551,7 +551,7 @@ DriverStation::Alliance DriverStation::GetAlliance() * This could return 1, 2, or 3 * @return The location of the driver station (1-3, 0 for invalid) */ -uint32_t DriverStation::GetLocation() +uint32_t DriverStation::GetLocation() const { HALAllianceStationID allianceStationID; HALGetAllianceStation(&allianceStationID); @@ -590,7 +590,7 @@ void DriverStation::WaitForData() * The Practice Match function of the DS approximates the behaviour seen on the field. * @return Time remaining in current match period (auto or teleop) */ -double DriverStation::GetMatchTime() +double DriverStation::GetMatchTime() const { float matchTime; HALGetMatchTime(&matchTime); diff --git a/wpilibc/wpilibC++Devices/src/Encoder.cpp b/wpilibc/wpilibC++Devices/src/Encoder.cpp index 0ff2296b28..3bdd3d57be 100644 --- a/wpilibc/wpilibC++Devices/src/Encoder.cpp +++ b/wpilibc/wpilibC++Devices/src/Encoder.cpp @@ -186,7 +186,7 @@ Encoder::~Encoder() * The encoding scale factor 1x, 2x, or 4x, per the requested encodingType. * Used to divide raw edge counts down to spec'd counts. */ -int32_t Encoder::GetEncodingScale() { return m_encodingScale; } +int32_t Encoder::GetEncodingScale() const { return m_encodingScale; } /** * Gets the raw value from the encoder. @@ -194,7 +194,7 @@ int32_t Encoder::GetEncodingScale() { return m_encodingScale; } * factor. * @return Current raw count from the encoder */ -int32_t Encoder::GetRaw() +int32_t Encoder::GetRaw() const { if (StatusIsFatal()) return 0; int32_t value; @@ -216,7 +216,7 @@ int32_t Encoder::GetRaw() * * @return Current count from the Encoder adjusted for the 1x, 2x, or 4x scale factor. */ -int32_t Encoder::Get() +int32_t Encoder::Get() const { if (StatusIsFatal()) return 0; return (int32_t) (GetRaw() * DecodingScaleFactor()); @@ -248,7 +248,7 @@ void Encoder::Reset() * * @return Period in seconds of the most recent pulse. */ -double Encoder::GetPeriod() +double Encoder::GetPeriod() const { if (StatusIsFatal()) return 0.0; if (m_counter) @@ -299,7 +299,7 @@ void Encoder::SetMaxPeriod(double maxPeriod) * width exceeds the MaxPeriod. * @return True if the encoder is considered stopped. */ -bool Encoder::GetStopped() +bool Encoder::GetStopped() const { if (StatusIsFatal()) return true; if (m_counter) @@ -319,7 +319,7 @@ bool Encoder::GetStopped() * The last direction the encoder value changed. * @return The last direction the encoder value changed. */ -bool Encoder::GetDirection() +bool Encoder::GetDirection() const { if (StatusIsFatal()) return false; if (m_counter) @@ -338,7 +338,7 @@ bool Encoder::GetDirection() /** * The scale needed to convert a raw counter value into a number of encoder pulses. */ -double Encoder::DecodingScaleFactor() +double Encoder::DecodingScaleFactor() const { if (StatusIsFatal()) return 0.0; switch (m_encodingType) @@ -359,7 +359,7 @@ double Encoder::DecodingScaleFactor() * * @return The distance driven since the last reset as scaled by the value from SetDistancePerPulse(). */ -double Encoder::GetDistance() +double Encoder::GetDistance() const { if (StatusIsFatal()) return 0.0; return GetRaw() * DecodingScaleFactor() * m_distancePerPulse; @@ -371,7 +371,7 @@ double Encoder::GetDistance() * * @return The current rate of the encoder. */ -double Encoder::GetRate() +double Encoder::GetRate() const { if (StatusIsFatal()) return 0.0; return (m_distancePerPulse / GetPeriod()); @@ -458,7 +458,7 @@ void Encoder::SetSamplesToAverage(int samplesToAverage) * mechanical imperfections or as oversampling to increase resolution. * @return SamplesToAverage The number of samples being averaged (from 1 to 127) */ -int Encoder::GetSamplesToAverage() +int Encoder::GetSamplesToAverage() const { int result = 1; int32_t status = 0; @@ -493,7 +493,7 @@ void Encoder::SetPIDSourceParameter(PIDSourceParameter pidSource) * * @return The current value of the selected source parameter. */ -double Encoder::PIDGet() +double Encoder::PIDGet() const { if (StatusIsFatal()) return 0.0; switch (m_pidSource) @@ -564,7 +564,7 @@ void Encoder::StopLiveWindowMode() { } -std::string Encoder::GetSmartDashboardType() { +std::string Encoder::GetSmartDashboardType() const { if (m_encodingType == k4X) return "Quadrature Encoder"; else @@ -576,6 +576,6 @@ void Encoder::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Encoder::GetTable() { +ITable * Encoder::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/GearTooth.cpp b/wpilibc/wpilibC++Devices/src/GearTooth.cpp index 2b204a617d..6a1fd829b1 100644 --- a/wpilibc/wpilibC++Devices/src/GearTooth.cpp +++ b/wpilibc/wpilibC++Devices/src/GearTooth.cpp @@ -66,6 +66,6 @@ GearTooth::~GearTooth() } -std::string GearTooth::GetSmartDashboardType() { +std::string GearTooth::GetSmartDashboardType() const { return "GearTooth"; } diff --git a/wpilibc/wpilibC++Devices/src/Gyro.cpp b/wpilibc/wpilibC++Devices/src/Gyro.cpp index ecdf376719..a023bef2dd 100644 --- a/wpilibc/wpilibC++Devices/src/Gyro.cpp +++ b/wpilibc/wpilibC++Devices/src/Gyro.cpp @@ -147,7 +147,7 @@ Gyro::~Gyro() * @return the current heading of the robot in degrees. This heading is based on integration * of the returned rate from the gyro. */ -float Gyro::GetAngle( void ) +float Gyro::GetAngle() const { int64_t rawValue; uint32_t count; @@ -169,7 +169,7 @@ float Gyro::GetAngle( void ) * * @return the current rate in degrees per second */ -double Gyro::GetRate( void ) +double Gyro::GetRate() const { return (m_analog->GetAverageValue() - ((double)m_center + m_offset)) * 1e-9 * m_analog->GetLSBWeight() / ((1 << m_analog->GetOversampleBits()) * m_voltsPerDegreePerSecond); @@ -220,7 +220,7 @@ void Gyro::SetPIDSourceParameter(PIDSourceParameter pidSource) * * @return The PIDOutput (angle or rate, defaults to angle) */ -double Gyro::PIDGet() +double Gyro::PIDGet() const { switch(m_pidSource){ case kRate: @@ -246,7 +246,7 @@ void Gyro::StopLiveWindowMode() { } -std::string Gyro::GetSmartDashboardType() { +std::string Gyro::GetSmartDashboardType() const { return "Gyro"; } @@ -255,6 +255,6 @@ void Gyro::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Gyro::GetTable() { +ITable * Gyro::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/Jaguar.cpp b/wpilibc/wpilibC++Devices/src/Jaguar.cpp index 73e5743a90..2699e2d875 100644 --- a/wpilibc/wpilibC++Devices/src/Jaguar.cpp +++ b/wpilibc/wpilibC++Devices/src/Jaguar.cpp @@ -64,7 +64,7 @@ void Jaguar::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float Jaguar::Get() +float Jaguar::Get() const { return GetSpeed(); } diff --git a/wpilibc/wpilibC++Devices/src/Joystick.cpp b/wpilibc/wpilibC++Devices/src/Joystick.cpp index 8d2a8c13c9..9c099d6d9d 100644 --- a/wpilibc/wpilibC++Devices/src/Joystick.cpp +++ b/wpilibc/wpilibC++Devices/src/Joystick.cpp @@ -110,7 +110,7 @@ Joystick::~Joystick() * This depends on the mapping of the joystick connected to the current port. * @param hand This parameter is ignored for the Joystick class and is only here to complete the GenericHID interface. */ -float Joystick::GetX(JoystickHand hand) +float Joystick::GetX(JoystickHand hand) const { return GetRawAxis(m_axes[kXAxis]); } @@ -120,7 +120,7 @@ float Joystick::GetX(JoystickHand hand) * This depends on the mapping of the joystick connected to the current port. * @param hand This parameter is ignored for the Joystick class and is only here to complete the GenericHID interface. */ -float Joystick::GetY(JoystickHand hand) +float Joystick::GetY(JoystickHand hand) const { return GetRawAxis(m_axes[kYAxis]); } @@ -129,7 +129,7 @@ float Joystick::GetY(JoystickHand hand) * Get the Z value of the current joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetZ() +float Joystick::GetZ() const { return GetRawAxis(m_axes[kZAxis]); } @@ -138,7 +138,7 @@ float Joystick::GetZ() * Get the twist value of the current joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetTwist() +float Joystick::GetTwist() const { return GetRawAxis(m_axes[kTwistAxis]); } @@ -147,7 +147,7 @@ float Joystick::GetTwist() * Get the throttle value of the current joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetThrottle() +float Joystick::GetThrottle() const { return GetRawAxis(m_axes[kThrottleAxis]); } @@ -158,7 +158,7 @@ float Joystick::GetThrottle() * @param axis The axis to read, starting at 0. * @return The value of the axis. */ -float Joystick::GetRawAxis(uint32_t axis) +float Joystick::GetRawAxis(uint32_t axis) const { return m_ds->GetStickAxis(m_port, axis); } @@ -172,7 +172,7 @@ float Joystick::GetRawAxis(uint32_t axis) * @param axis The axis to read. * @return The value of the axis. */ -float Joystick::GetAxis(AxisType axis) +float Joystick::GetAxis(AxisType axis) const { switch(axis) { @@ -195,7 +195,7 @@ float Joystick::GetAxis(AxisType axis) * @param hand This parameter is ignored for the Joystick class and is only here to complete the GenericHID interface. * @return The state of the trigger. */ -bool Joystick::GetTrigger(JoystickHand hand) +bool Joystick::GetTrigger(JoystickHand hand) const { return GetRawButton(m_buttons[kTriggerButton]); } @@ -208,7 +208,7 @@ bool Joystick::GetTrigger(JoystickHand hand) * @param hand This parameter is ignored for the Joystick class and is only here to complete the GenericHID interface. * @return The state of the top button. */ -bool Joystick::GetTop(JoystickHand hand) +bool Joystick::GetTop(JoystickHand hand) const { return GetRawButton(m_buttons[kTopButton]); } @@ -217,7 +217,7 @@ bool Joystick::GetTop(JoystickHand hand) * This is not supported for the Joystick. * This method is only here to complete the GenericHID interface. */ -bool Joystick::GetBumper(JoystickHand hand) +bool Joystick::GetBumper(JoystickHand hand) const { // Joysticks don't have bumpers. return false; @@ -232,7 +232,7 @@ bool Joystick::GetBumper(JoystickHand hand) * @param button The button number to be read (starting at 1) * @return The state of the button. **/ -bool Joystick::GetRawButton(uint32_t button) +bool Joystick::GetRawButton(uint32_t button) const { return m_ds->GetStickButton(m_port, button); } @@ -243,7 +243,7 @@ bool Joystick::GetRawButton(uint32_t button) * @param pov The index of the POV to read (starting at 0) * @return the angle of the POV in degrees, or -1 if the POV is not pressed. */ -int Joystick::GetPOV(uint32_t pov) { +int Joystick::GetPOV(uint32_t pov) const { return m_ds->GetStickPOV(m_port, pov); } @@ -255,7 +255,7 @@ int Joystick::GetPOV(uint32_t pov) { * @param button The type of button to read. * @return The state of the button. */ -bool Joystick::GetButton(ButtonType button) +bool Joystick::GetButton(ButtonType button) const { switch (button) { @@ -271,7 +271,7 @@ bool Joystick::GetButton(ButtonType button) * * @return the number of axis for the current joystick */ -int Joystick::GetAxisCount() +int Joystick::GetAxisCount() const { return m_ds->GetStickAxisCount(m_port); } @@ -281,7 +281,7 @@ int Joystick::GetAxisCount() * * @return A boolean that is true if the joystick is an xbox controller. */ -bool Joystick::GetIsXbox() +bool Joystick::GetIsXbox() const { return m_ds->GetJoystickIsXbox(m_port); } @@ -291,7 +291,7 @@ bool Joystick::GetIsXbox() * * @return the HID type of the controller. */ -Joystick::HIDType Joystick::GetType() +Joystick::HIDType Joystick::GetType() const { return static_cast(m_ds->GetJoystickType(m_port)); } @@ -301,12 +301,12 @@ Joystick::HIDType Joystick::GetType() * * @return the name of the controller. */ -std::string Joystick::GetName() +std::string Joystick::GetName() const { return m_ds->GetJoystickName(m_port); } -//int Joystick::GetAxisType(uint8_t axis) +//int Joystick::GetAxisType(uint8_t axis) const //{ // return m_ds->GetJoystickAxisType(m_port, axis); //} @@ -317,7 +317,7 @@ std::string Joystick::GetName() * * @return the number of buttons on the current joystick */ -int Joystick::GetButtonCount() +int Joystick::GetButtonCount() const { return m_ds->GetStickButtonCount(m_port); } @@ -327,7 +327,7 @@ int Joystick::GetButtonCount() * * @return then umber of POVs for the current joystick */ -int Joystick::GetPOVCount() +int Joystick::GetPOVCount() const { return m_ds->GetStickPOVCount(m_port); } @@ -339,7 +339,7 @@ int Joystick::GetPOVCount() * @param axis The axis to look up the channel for. * @return The channel fr the axis. */ -uint32_t Joystick::GetAxisChannel(AxisType axis) +uint32_t Joystick::GetAxisChannel(AxisType axis) const { return m_axes[axis]; } @@ -361,7 +361,7 @@ void Joystick::SetAxisChannel(AxisType axis, uint32_t channel) * * @return The magnitude of the direction vector */ -float Joystick::GetMagnitude(){ +float Joystick::GetMagnitude() const { return sqrt(pow(GetX(),2) + pow(GetY(),2) ); } @@ -371,7 +371,7 @@ float Joystick::GetMagnitude(){ * * @return The direction of the vector in radians */ -float Joystick::GetDirectionRadians(){ +float Joystick::GetDirectionRadians() const { return atan2(GetX(), -GetY()); } @@ -384,7 +384,7 @@ float Joystick::GetDirectionRadians(){ * * @return The direction of the vector in degrees */ -float Joystick::GetDirectionDegrees(){ +float Joystick::GetDirectionDegrees() const { return (180/acos(-1))*GetDirectionRadians(); } diff --git a/wpilibc/wpilibC++Devices/src/MotorSafetyHelper.cpp b/wpilibc/wpilibC++Devices/src/MotorSafetyHelper.cpp index 183fca5f1a..85a20224b8 100644 --- a/wpilibc/wpilibC++Devices/src/MotorSafetyHelper.cpp +++ b/wpilibc/wpilibC++Devices/src/MotorSafetyHelper.cpp @@ -80,7 +80,7 @@ void MotorSafetyHelper::SetExpiration(float expirationTime) * Retrieve the timeout value for the corresponding motor safety object. * @return the timeout value in seconds. */ -float MotorSafetyHelper::GetExpiration() +float MotorSafetyHelper::GetExpiration() const { Synchronized sync(m_syncMutex); return m_expiration; @@ -90,7 +90,7 @@ float MotorSafetyHelper::GetExpiration() * Determine if the motor is still operating or has timed out. * @return a true value if the motor is still operating normally and hasn't timed out. */ -bool MotorSafetyHelper::IsAlive() +bool MotorSafetyHelper::IsAlive() const { Synchronized sync(m_syncMutex); return !m_enabled || m_stopTime > Timer::GetFPGATimestamp(); @@ -135,7 +135,7 @@ void MotorSafetyHelper::SetSafetyEnabled(bool enabled) * Return if the motor safety is currently enabled for this devicce. * @return True if motor safety is enforced for this device */ -bool MotorSafetyHelper::IsSafetyEnabled() +bool MotorSafetyHelper::IsSafetyEnabled() const { Synchronized sync(m_syncMutex); return m_enabled; diff --git a/wpilibc/wpilibC++Devices/src/PIDController.cpp b/wpilibc/wpilibC++Devices/src/PIDController.cpp index 5933cdedd7..cd1e0cdff6 100644 --- a/wpilibc/wpilibC++Devices/src/PIDController.cpp +++ b/wpilibc/wpilibC++Devices/src/PIDController.cpp @@ -257,7 +257,7 @@ void PIDController::SetPID(float p, float i, float d, float f) * Get the Proportional coefficient * @return proportional coefficient */ -float PIDController::GetP() +float PIDController::GetP() const { CRITICAL_REGION(m_semaphore) { @@ -270,7 +270,7 @@ float PIDController::GetP() * Get the Integral coefficient * @return integral coefficient */ -float PIDController::GetI() +float PIDController::GetI() const { CRITICAL_REGION(m_semaphore) { @@ -283,7 +283,7 @@ float PIDController::GetI() * Get the Differential coefficient * @return differential coefficient */ -float PIDController::GetD() +float PIDController::GetD() const { CRITICAL_REGION(m_semaphore) { @@ -296,7 +296,7 @@ float PIDController::GetD() * Get the Feed forward coefficient * @return Feed forward coefficient */ -float PIDController::GetF() +float PIDController::GetF() const { CRITICAL_REGION(m_semaphore) { @@ -310,7 +310,7 @@ float PIDController::GetF() * This is always centered on zero and constrained the the max and min outs * @return the latest calculated output */ -float PIDController::Get() +float PIDController::Get() const { float result; CRITICAL_REGION(m_semaphore) @@ -404,7 +404,7 @@ void PIDController::SetSetpoint(float setpoint) * Returns the current setpoint of the PIDController * @return the current setpoint */ -float PIDController::GetSetpoint() +float PIDController::GetSetpoint() const { float setpoint; CRITICAL_REGION(m_semaphore) @@ -419,7 +419,7 @@ float PIDController::GetSetpoint() * Retruns the current difference of the input from the setpoint * @return the current error */ -float PIDController::GetError() +float PIDController::GetError() const { float error; double pidInput; @@ -484,7 +484,7 @@ void PIDController::SetAbsoluteTolerance(float absTolerance) * Currently this just reports on target as the actual value passes through the setpoint. * Ideally it should be based on being within the tolerance for some period of time. */ -bool PIDController::OnTarget() +bool PIDController::OnTarget() const { bool temp; double error = GetError(); @@ -542,7 +542,7 @@ void PIDController::Disable() /** * Return true if PIDController is enabled. */ -bool PIDController::IsEnabled() +bool PIDController::IsEnabled() const { bool enabled; CRITICAL_REGION(m_semaphore) @@ -569,7 +569,7 @@ void PIDController::Reset() END_REGION; } -std::string PIDController::GetSmartDashboardType(){ +std::string PIDController::GetSmartDashboardType() const { return "PIDController"; } @@ -588,7 +588,7 @@ void PIDController::InitTable(ITable* table){ } } -ITable* PIDController::GetTable(){ +ITable* PIDController::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/PWM.cpp b/wpilibc/wpilibC++Devices/src/PWM.cpp index d3633dccbd..54db77d5c8 100644 --- a/wpilibc/wpilibC++Devices/src/PWM.cpp +++ b/wpilibc/wpilibC++Devices/src/PWM.cpp @@ -179,7 +179,7 @@ void PWM::SetPosition(float pos) * * @return The position the servo is set to between 0.0 and 1.0. */ -float PWM::GetPosition() +float PWM::GetPosition() const { if (StatusIsFatal()) return 0.0; int32_t value = GetRaw(); @@ -260,7 +260,7 @@ void PWM::SetSpeed(float speed) * * @return The most recently set speed between -1.0 and 1.0. */ -float PWM::GetSpeed() +float PWM::GetSpeed() const { if (StatusIsFatal()) return 0.0; int32_t value = GetRaw(); @@ -313,7 +313,7 @@ void PWM::SetRaw(unsigned short value) * * @return Raw PWM control value. */ -unsigned short PWM::GetRaw() +unsigned short PWM::GetRaw() const { if (StatusIsFatal()) return 0; @@ -388,7 +388,7 @@ void PWM::StopLiveWindowMode() { } } -std::string PWM::GetSmartDashboardType() { +std::string PWM::GetSmartDashboardType() const { return "Speed Controller"; } @@ -397,6 +397,6 @@ void PWM::InitTable(ITable *subTable) { UpdateTable(); } -ITable * PWM::GetTable() { +ITable * PWM::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp b/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp index 4337c79799..bbbae8782b 100644 --- a/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp +++ b/wpilibc/wpilibC++Devices/src/PowerDistributionPanel.cpp @@ -27,7 +27,7 @@ PowerDistributionPanel::PowerDistributionPanel(uint8_t module) { * @return The voltage of the PDP in volts */ double -PowerDistributionPanel::GetVoltage() { +PowerDistributionPanel::GetVoltage() const { int32_t status = 0; double voltage = getPDPVoltage(&status, m_module); @@ -44,7 +44,7 @@ PowerDistributionPanel::GetVoltage() { * @return The temperature of the PDP in degrees Celsius */ double -PowerDistributionPanel::GetTemperature() { +PowerDistributionPanel::GetTemperature() const { int32_t status = 0; double temperature = getPDPTemperature(&status, m_module); @@ -61,7 +61,7 @@ PowerDistributionPanel::GetTemperature() { * @return The current of one of the PDP channels (channels 0-15) in Amperes */ double -PowerDistributionPanel::GetCurrent(uint8_t channel) { +PowerDistributionPanel::GetCurrent(uint8_t channel) const { int32_t status = 0; if(!CheckPDPChannel(channel)) @@ -85,7 +85,7 @@ PowerDistributionPanel::GetCurrent(uint8_t channel) { * @return The the total current drawn from the PDP channels in Amperes */ double -PowerDistributionPanel::GetTotalCurrent() { +PowerDistributionPanel::GetTotalCurrent() const { int32_t status = 0; double current = getPDPTotalCurrent(&status, m_module); @@ -102,7 +102,7 @@ PowerDistributionPanel::GetTotalCurrent() { * @return The the total power drawn from the PDP channels in Watts */ double -PowerDistributionPanel::GetTotalPower() { +PowerDistributionPanel::GetTotalPower() const { int32_t status = 0; double power = getPDPTotalPower(&status, m_module); @@ -119,7 +119,7 @@ PowerDistributionPanel::GetTotalPower() { * @return The the total energy drawn from the PDP channels in Joules */ double -PowerDistributionPanel::GetTotalEnergy() { +PowerDistributionPanel::GetTotalEnergy() const { int32_t status = 0; double energy = getPDPTotalEnergy(&status, m_module); @@ -189,7 +189,7 @@ void PowerDistributionPanel::StartLiveWindowMode() { void PowerDistributionPanel::StopLiveWindowMode() { } -std::string PowerDistributionPanel::GetSmartDashboardType() { +std::string PowerDistributionPanel::GetSmartDashboardType() const { return "PowerDistributionPanel"; } @@ -198,6 +198,6 @@ void PowerDistributionPanel::InitTable(ITable *subTable) { UpdateTable(); } -ITable * PowerDistributionPanel::GetTable() { +ITable * PowerDistributionPanel::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/Relay.cpp b/wpilibc/wpilibC++Devices/src/Relay.cpp index 6ec6571fb0..3c4278b998 100644 --- a/wpilibc/wpilibC++Devices/src/Relay.cpp +++ b/wpilibc/wpilibC++Devices/src/Relay.cpp @@ -184,7 +184,7 @@ void Relay::Set(Relay::Value value) * * @return The current state of the relay as a Relay::Value */ -Relay::Value Relay::Get() { +Relay::Value Relay::Get() const { int32_t status; if(getRelayForward(m_relay_ports[m_channel], &status)) { @@ -249,7 +249,7 @@ void Relay::StopLiveWindowMode() { } } -std::string Relay::GetSmartDashboardType() { +std::string Relay::GetSmartDashboardType() const { return "Relay"; } @@ -258,6 +258,6 @@ void Relay::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Relay::GetTable() { +ITable * Relay::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/RobotBase.cpp b/wpilibc/wpilibC++Devices/src/RobotBase.cpp index ac9ca0be97..3371720b8e 100644 --- a/wpilibc/wpilibC++Devices/src/RobotBase.cpp +++ b/wpilibc/wpilibC++Devices/src/RobotBase.cpp @@ -87,7 +87,7 @@ RobotBase::~RobotBase() * Determine if the Robot is currently enabled. * @return True if the Robot is currently enabled by the field controls. */ -bool RobotBase::IsEnabled() +bool RobotBase::IsEnabled() const { return m_ds->IsEnabled(); } @@ -96,7 +96,7 @@ bool RobotBase::IsEnabled() * Determine if the Robot is currently disabled. * @return True if the Robot is currently disabled by the field controls. */ -bool RobotBase::IsDisabled() +bool RobotBase::IsDisabled() const { return m_ds->IsDisabled(); } @@ -105,7 +105,7 @@ bool RobotBase::IsDisabled() * Determine if the robot is currently in Autonomous mode. * @return True if the robot is currently operating Autonomously as determined by the field controls. */ -bool RobotBase::IsAutonomous() +bool RobotBase::IsAutonomous() const { return m_ds->IsAutonomous(); } @@ -114,7 +114,7 @@ bool RobotBase::IsAutonomous() * Determine if the robot is currently in Operator Control mode. * @return True if the robot is currently operating in Tele-Op mode as determined by the field controls. */ -bool RobotBase::IsOperatorControl() +bool RobotBase::IsOperatorControl() const { return m_ds->IsOperatorControl(); } @@ -123,7 +123,7 @@ bool RobotBase::IsOperatorControl() * Determine if the robot is currently in Test mode. * @return True if the robot is currently running tests as determined by the field controls. */ -bool RobotBase::IsTest() +bool RobotBase::IsTest() const { return m_ds->IsTest(); } @@ -143,7 +143,7 @@ void RobotBase::Prestart() * Indicates if new data is available from the driver station. * @return Has new data arrived over the network since the last time this function was called? */ -bool RobotBase::IsNewDataAvailable() +bool RobotBase::IsNewDataAvailable() const { return m_ds->IsNewControlData(); } diff --git a/wpilibc/wpilibC++Devices/src/RobotDrive.cpp b/wpilibc/wpilibC++Devices/src/RobotDrive.cpp index 3eb90ff942..f4edf5cd64 100644 --- a/wpilibc/wpilibC++Devices/src/RobotDrive.cpp +++ b/wpilibc/wpilibC++Devices/src/RobotDrive.cpp @@ -717,17 +717,17 @@ void RobotDrive::SetExpiration(float timeout) m_safetyHelper->SetExpiration(timeout); } -float RobotDrive::GetExpiration() +float RobotDrive::GetExpiration() const { return m_safetyHelper->GetExpiration(); } -bool RobotDrive::IsAlive() +bool RobotDrive::IsAlive() const { return m_safetyHelper->IsAlive(); } -bool RobotDrive::IsSafetyEnabled() +bool RobotDrive::IsSafetyEnabled() const { return m_safetyHelper->IsSafetyEnabled(); } @@ -737,7 +737,7 @@ void RobotDrive::SetSafetyEnabled(bool enabled) m_safetyHelper->SetSafetyEnabled(enabled); } -void RobotDrive::GetDescription(char *desc) +void RobotDrive::GetDescription(char *desc) const { sprintf(desc, "RobotDrive"); } diff --git a/wpilibc/wpilibC++Devices/src/SafePWM.cpp b/wpilibc/wpilibC++Devices/src/SafePWM.cpp index 289d5fedd9..f61cf877d8 100644 --- a/wpilibc/wpilibC++Devices/src/SafePWM.cpp +++ b/wpilibc/wpilibC++Devices/src/SafePWM.cpp @@ -44,7 +44,7 @@ void SafePWM::SetExpiration(float timeout) * Return the expiration time for the PWM object. * @returns The expiration time value. */ -float SafePWM::GetExpiration() +float SafePWM::GetExpiration() const { return m_safetyHelper->GetExpiration(); } @@ -54,7 +54,7 @@ float SafePWM::GetExpiration() * @returns a bool value that is true if the motor has NOT timed out and should still * be running. */ -bool SafePWM::IsAlive() +bool SafePWM::IsAlive() const { return m_safetyHelper->IsAlive(); } @@ -83,12 +83,12 @@ void SafePWM::SetSafetyEnabled(bool enabled) * Check if motor safety is enabled for this object * @returns True if motor safety is enforced for this object */ -bool SafePWM::IsSafetyEnabled() +bool SafePWM::IsSafetyEnabled() const { return m_safetyHelper->IsSafetyEnabled(); } -void SafePWM::GetDescription(char *desc) +void SafePWM::GetDescription(char *desc) const { sprintf(desc, "PWM %d", GetChannel()); } diff --git a/wpilibc/wpilibC++Devices/src/Servo.cpp b/wpilibc/wpilibC++Devices/src/Servo.cpp index 1c1f95fb3a..9a78f50c1e 100644 --- a/wpilibc/wpilibC++Devices/src/Servo.cpp +++ b/wpilibc/wpilibC++Devices/src/Servo.cpp @@ -72,7 +72,7 @@ void Servo::SetOffline() { * * @return Position from 0.0 to 1.0. */ -float Servo::Get() +float Servo::Get() const { return GetPosition(); } @@ -108,7 +108,7 @@ void Servo::SetAngle(float degrees) * Assume that the servo angle is linear with respect to the PWM value (big assumption, need to test). * @return The angle in degrees to which the servo is set. */ -float Servo::GetAngle() +float Servo::GetAngle() const { return (float)GetPosition() * GetServoAngleRange() + kMinServoAngle; } @@ -135,7 +135,7 @@ void Servo::StopLiveWindowMode() { } } -std::string Servo::GetSmartDashboardType() { +std::string Servo::GetSmartDashboardType() const { return "Servo"; } @@ -144,6 +144,6 @@ void Servo::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Servo::GetTable() { +ITable * Servo::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/Solenoid.cpp b/wpilibc/wpilibC++Devices/src/Solenoid.cpp index 59e87e6c9b..14f8edaf72 100644 --- a/wpilibc/wpilibC++Devices/src/Solenoid.cpp +++ b/wpilibc/wpilibC++Devices/src/Solenoid.cpp @@ -96,7 +96,7 @@ void Solenoid::Set(bool on) * * @return The current value of the solenoid. */ -bool Solenoid::Get() +bool Solenoid::Get() const { if (StatusIsFatal()) return false; uint8_t value = GetAll(m_moduleNumber) & ( 1 << m_channel); @@ -110,7 +110,7 @@ bool Solenoid::Get() * * @return If solenoid is disabled due to short. */ -bool Solenoid::IsBlackListed() +bool Solenoid::IsBlackListed() const { int value = GetPCMSolenoidBlackList(m_moduleNumber) & ( 1 << m_channel); return (value != 0); @@ -140,7 +140,7 @@ void Solenoid::StopLiveWindowMode() { } } -std::string Solenoid::GetSmartDashboardType() { +std::string Solenoid::GetSmartDashboardType() const { return "Solenoid"; } @@ -149,6 +149,6 @@ void Solenoid::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Solenoid::GetTable() { +ITable * Solenoid::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp b/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp index 2e857dea79..bd21b752c3 100644 --- a/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp +++ b/wpilibc/wpilibC++Devices/src/SolenoidBase.cpp @@ -56,7 +56,7 @@ void SolenoidBase::Set(uint8_t value, uint8_t mask, int module) * * @return The current value of all 8 solenoids on the module. */ -uint8_t SolenoidBase::GetAll(int module) +uint8_t SolenoidBase::GetAll(int module) const { uint8_t value = 0; int32_t status = 0; @@ -74,7 +74,7 @@ uint8_t SolenoidBase::GetAll(int module) * * @return The solenoid blacklist of all 8 solenoids on the module. */ -uint8_t SolenoidBase::GetPCMSolenoidBlackList(int module) +uint8_t SolenoidBase::GetPCMSolenoidBlackList(int module) const { int32_t status = 0; return getPCMSolenoidBlackList(m_ports[module][0], &status); @@ -84,7 +84,7 @@ uint8_t SolenoidBase::GetPCMSolenoidBlackList(int module) * highside solenoid voltage rail is too low, * most likely a solenoid channel is shorted. */ -bool SolenoidBase::GetPCMSolenoidVoltageStickyFault(int module) +bool SolenoidBase::GetPCMSolenoidVoltageStickyFault(int module) const { int32_t status = 0; return getPCMSolenoidVoltageStickyFault(m_ports[module][0], &status); @@ -94,7 +94,7 @@ bool SolenoidBase::GetPCMSolenoidVoltageStickyFault(int module) * highside solenoid voltage rail is too low, * most likely a solenoid channel is shorted. */ -bool SolenoidBase::GetPCMSolenoidVoltageFault(int module) +bool SolenoidBase::GetPCMSolenoidVoltageFault(int module) const { int32_t status = 0; return getPCMSolenoidVoltageFault(m_ports[module][0], &status); diff --git a/wpilibc/wpilibC++Devices/src/Talon.cpp b/wpilibc/wpilibC++Devices/src/Talon.cpp index acd5f26cb3..84d7a60110 100644 --- a/wpilibc/wpilibC++Devices/src/Talon.cpp +++ b/wpilibc/wpilibC++Devices/src/Talon.cpp @@ -65,7 +65,7 @@ void Talon::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float Talon::Get() +float Talon::Get() const { return GetSpeed(); } diff --git a/wpilibc/wpilibC++Devices/src/TalonSRX.cpp b/wpilibc/wpilibC++Devices/src/TalonSRX.cpp index c473c0dc65..712215174c 100644 --- a/wpilibc/wpilibC++Devices/src/TalonSRX.cpp +++ b/wpilibc/wpilibC++Devices/src/TalonSRX.cpp @@ -64,7 +64,7 @@ void TalonSRX::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float TalonSRX::Get() +float TalonSRX::Get() const { return GetSpeed(); } diff --git a/wpilibc/wpilibC++Devices/src/Task.cpp b/wpilibc/wpilibC++Devices/src/Task.cpp index 8665664449..6f7050effe 100644 --- a/wpilibc/wpilibC++Devices/src/Task.cpp +++ b/wpilibc/wpilibC++Devices/src/Task.cpp @@ -94,7 +94,7 @@ bool Task::Stop() * Returns true if the task is ready to execute (i.e. not suspended, delayed, or blocked). * @return true if ready, false if not ready. */ -bool Task::IsReady() +bool Task::IsReady() const { return isTaskReady(m_taskID); } @@ -103,7 +103,7 @@ bool Task::IsReady() * Returns true if the task was explicitly suspended by calling Suspend() * @return true if suspended, false if not suspended. */ -bool Task::IsSuspended() +bool Task::IsSuspended() const { return isTaskSuspended(m_taskID); } @@ -130,7 +130,7 @@ bool Task::Resume() * Verifies a task still exists. * @returns true on success. */ -bool Task::Verify() +bool Task::Verify() const { return verifyTaskID(m_taskID) == OK; } @@ -164,7 +164,7 @@ bool Task::SetPriority(int32_t priority) * Returns the name of the task. * @returns Pointer to the name of the task or NULL if not allocated */ -const char* Task::GetName() +const char* Task::GetName() const { return m_taskName; } @@ -173,7 +173,7 @@ const char* Task::GetName() * Get the ID of a task * @returns Task ID of this task. Task::kInvalidTaskID (-1) if the task has not been started or has already exited. */ -TASK Task::GetID() +TASK Task::GetID() const { if (Verify()) return m_taskID; diff --git a/wpilibc/wpilibC++Devices/src/Timer.cpp b/wpilibc/wpilibC++Devices/src/Timer.cpp index 85b2653a45..6b5c6bfaa5 100644 --- a/wpilibc/wpilibC++Devices/src/Timer.cpp +++ b/wpilibc/wpilibC++Devices/src/Timer.cpp @@ -82,7 +82,7 @@ Timer::~Timer() * * @return Current time value for this timer in seconds */ -double Timer::Get() +double Timer::Get() const { double result; double currentTime = GetFPGATimestamp(); diff --git a/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp b/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp index a984d6cfda..a49fd115f4 100644 --- a/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp +++ b/wpilibc/wpilibC++Devices/src/Ultrasonic.cpp @@ -240,7 +240,7 @@ void Ultrasonic::Ping() * The ranges are accumulated in a counter that will increment on each edge of the echo (return) * signal. If the count is not at least 2, then the range has not yet been measured, and is invalid. */ -bool Ultrasonic::IsRangeValid() +bool Ultrasonic::IsRangeValid() const { return m_counter->Get() > 1; } @@ -250,7 +250,7 @@ bool Ultrasonic::IsRangeValid() * @return double Range in inches of the target returned from the ultrasonic sensor. If there is * no valid value yet, i.e. at least one measurement hasn't completed, then return 0. */ -double Ultrasonic::GetRangeInches() +double Ultrasonic::GetRangeInches() const { if (IsRangeValid()) return m_counter->GetPeriod() * kSpeedOfSoundInchesPerSec / 2.0; @@ -263,7 +263,7 @@ double Ultrasonic::GetRangeInches() * @return double Range in millimeters of the target returned by the ultrasonic sensor. * If there is no valid value yet, i.e. at least one measurement hasn't complted, then return 0. */ -double Ultrasonic::GetRangeMM() +double Ultrasonic::GetRangeMM() const { return GetRangeInches() * 25.4; } @@ -273,7 +273,7 @@ double Ultrasonic::GetRangeMM() * * @return The range in DistanceUnit */ -double Ultrasonic::PIDGet() +double Ultrasonic::PIDGet() const { switch(m_units) { @@ -301,7 +301,7 @@ void Ultrasonic::SetDistanceUnits(DistanceUnit units) * * @return The type of DistanceUnit that is being used. */ -Ultrasonic::DistanceUnit Ultrasonic::GetDistanceUnits() +Ultrasonic::DistanceUnit Ultrasonic::GetDistanceUnits() const { return m_units; } @@ -320,7 +320,7 @@ void Ultrasonic::StopLiveWindowMode() { } -std::string Ultrasonic::GetSmartDashboardType() { +std::string Ultrasonic::GetSmartDashboardType() const { return "Ultrasonic"; } @@ -329,6 +329,6 @@ void Ultrasonic::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Ultrasonic::GetTable() { +ITable * Ultrasonic::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Devices/src/Victor.cpp b/wpilibc/wpilibC++Devices/src/Victor.cpp index ee26c4d338..cd435571e6 100644 --- a/wpilibc/wpilibC++Devices/src/Victor.cpp +++ b/wpilibc/wpilibC++Devices/src/Victor.cpp @@ -67,7 +67,7 @@ void Victor::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float Victor::Get() +float Victor::Get() const { return GetSpeed(); } diff --git a/wpilibc/wpilibC++Devices/src/VictorSP.cpp b/wpilibc/wpilibC++Devices/src/VictorSP.cpp index 7d6f7c205d..701b3d487f 100644 --- a/wpilibc/wpilibC++Devices/src/VictorSP.cpp +++ b/wpilibc/wpilibC++Devices/src/VictorSP.cpp @@ -65,7 +65,7 @@ void VictorSP::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float VictorSP::Get() +float VictorSP::Get() const { return GetSpeed(); } diff --git a/wpilibc/wpilibC++IntegrationTests/src/AnalogLoopTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/AnalogLoopTest.cpp index e692632199..505488cc2e 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/AnalogLoopTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/AnalogLoopTest.cpp @@ -19,12 +19,12 @@ protected: AnalogInput *m_input; AnalogOutput *m_output; - virtual void SetUp() { + virtual void SetUp() override { m_input = new AnalogInput(TestBench::kFakeAnalogOutputChannel); m_output = new AnalogOutput(TestBench::kAnalogOutputChannel); } - virtual void TearDown() { + virtual void TearDown() override { delete m_input; delete m_output; } diff --git a/wpilibc/wpilibC++IntegrationTests/src/AnalogPotentiometerTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/AnalogPotentiometerTest.cpp index 15c7898b17..d9cae8a6a3 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/AnalogPotentiometerTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/AnalogPotentiometerTest.cpp @@ -19,12 +19,12 @@ protected: AnalogOutput *m_fakePot; AnalogPotentiometer *m_pot; - virtual void SetUp() { + virtual void SetUp() override { m_fakePot = new AnalogOutput(TestBench::kAnalogOutputChannel); m_pot = new AnalogPotentiometer(TestBench::kFakeAnalogOutputChannel,kScale); } - virtual void TearDown() { + virtual void TearDown() override { delete m_fakePot; delete m_pot; } diff --git a/wpilibc/wpilibC++IntegrationTests/src/CANJaguarTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/CANJaguarTest.cpp index be118576c5..a39b0b9d54 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/CANJaguarTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/CANJaguarTest.cpp @@ -34,7 +34,7 @@ protected: AnalogOutput *m_fakePotentiometer; Relay *m_spike; - virtual void SetUp() { + virtual void SetUp() override { m_spike = new Relay(TestBench::kCANJaguarRelayChannel, Relay::kForwardOnly); m_spike->Set(Relay::kOn); Wait(kSpikeTime); @@ -54,7 +54,7 @@ protected: Wait(kEncoderSettlingTime); } - virtual void TearDown() { + virtual void TearDown() override { delete m_jaguar; delete m_fakeForwardLimit; delete m_fakeReverseLimit; diff --git a/wpilibc/wpilibC++IntegrationTests/src/CounterTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/CounterTest.cpp index 467aefa821..0b19a92f96 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/CounterTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/CounterTest.cpp @@ -22,7 +22,7 @@ protected: Victor *m_victor; Jaguar *m_jaguar; - virtual void SetUp() { + virtual void SetUp() override { m_talonCounter = new Counter(TestBench::kTalonEncoderChannelA); m_victorCounter = new Counter(TestBench::kVictorEncoderChannelA); m_jaguarCounter = new Counter(TestBench::kJaguarEncoderChannelA); @@ -31,7 +31,7 @@ protected: m_jaguar = new Jaguar(TestBench::kJaguarChannel); } - virtual void TearDown() { + virtual void TearDown() override { delete m_talonCounter; delete m_victorCounter; delete m_jaguarCounter; diff --git a/wpilibc/wpilibC++IntegrationTests/src/DIOLoopTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/DIOLoopTest.cpp index 17f9d8e9b2..c05f005029 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/DIOLoopTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/DIOLoopTest.cpp @@ -25,12 +25,12 @@ protected: DigitalInput *m_input; DigitalOutput *m_output; - virtual void SetUp() { + virtual void SetUp() override { m_input = new DigitalInput(TestBench::kLoop1InputChannel); m_output = new DigitalOutput(TestBench::kLoop1OutputChannel); } - virtual void TearDown() { + virtual void TearDown() override { delete m_input; delete m_output; } diff --git a/wpilibc/wpilibC++IntegrationTests/src/FakeEncoderTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/FakeEncoderTest.cpp index 737f1214e4..4b27b4e054 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/FakeEncoderTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/FakeEncoderTest.cpp @@ -21,7 +21,7 @@ protected: AnalogTrigger *m_indexAnalogTrigger; AnalogTriggerOutput *m_indexAnalogTriggerOutput; - virtual void SetUp() { + virtual void SetUp() override { m_outputA = new DigitalOutput(TestBench::kLoop2OutputChannel); m_outputB = new DigitalOutput(TestBench::kLoop1OutputChannel); m_indexOutput = new AnalogOutput(TestBench::kAnalogOutputChannel); @@ -33,7 +33,7 @@ protected: m_indexAnalogTriggerOutput = m_indexAnalogTrigger->CreateOutput(AnalogTriggerType::kState); } - virtual void TearDown() { + virtual void TearDown() override { delete m_outputA; delete m_outputB; delete m_indexOutput; diff --git a/wpilibc/wpilibC++IntegrationTests/src/MotorEncoderTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/MotorEncoderTest.cpp index 4aac813eb8..c6e7833a99 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/MotorEncoderTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/MotorEncoderTest.cpp @@ -33,7 +33,7 @@ protected: SpeedController *m_speedController; Encoder *m_encoder; - virtual void SetUp() { + virtual void SetUp() override { switch(GetParam()) { case TEST_VICTOR: m_speedController = new Victor(TestBench::kVictorChannel); @@ -56,7 +56,7 @@ protected: } - virtual void TearDown() { + virtual void TearDown() override { delete m_speedController; delete m_encoder; } diff --git a/wpilibc/wpilibC++IntegrationTests/src/PCMTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/PCMTest.cpp index 6d77e6f890..2cc25deb72 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/PCMTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/PCMTest.cpp @@ -30,7 +30,7 @@ protected: DoubleSolenoid *m_doubleSolenoid; DigitalInput *m_fakeSolenoid1, *m_fakeSolenoid2; - virtual void SetUp() { + virtual void SetUp() override { m_compressor = new Compressor(); m_fakePressureSwitch = new DigitalOutput(TestBench::kFakePressureSwitchChannel); @@ -39,7 +39,7 @@ protected: m_fakeSolenoid2 = new DigitalInput(TestBench::kFakeSolenoid2Channel); } - virtual void TearDown() { + virtual void TearDown() override { delete m_compressor; delete m_fakePressureSwitch; delete m_fakeCompressor; diff --git a/wpilibc/wpilibC++IntegrationTests/src/PowerDistributionPanelTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/PowerDistributionPanelTest.cpp index ca7dac0366..b71e1da615 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/PowerDistributionPanelTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/PowerDistributionPanelTest.cpp @@ -18,14 +18,14 @@ protected: Victor *m_victor; Jaguar *m_jaguar; - virtual void SetUp() { + virtual void SetUp() override { m_pdp = new PowerDistributionPanel(); m_talon = new Talon(TestBench::kTalonChannel); m_victor = new Victor(TestBench::kVictorChannel); m_jaguar = new Jaguar(TestBench::kJaguarChannel); } - virtual void TearDown() { + virtual void TearDown() override { delete m_pdp; delete m_talon; delete m_victor; diff --git a/wpilibc/wpilibC++IntegrationTests/src/RelayTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/RelayTest.cpp index 8f52603971..7f6c0ba9aa 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/RelayTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/RelayTest.cpp @@ -19,13 +19,13 @@ protected: DigitalInput *m_reverse; - virtual void SetUp() { + virtual void SetUp() override { m_relay = new Relay(TestBench::kRelayChannel); m_forward = new DigitalInput(TestBench::kFakeRelayForward); m_reverse = new DigitalInput(TestBench::kFakeRelayReverse); } - virtual void TearDown() { + virtual void TearDown() override { delete m_relay; delete m_forward; delete m_reverse; diff --git a/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp b/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp index fde45f97f9..c9ae1518db 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/TestEnvironment.cpp @@ -14,7 +14,7 @@ class TestEnvironment : public testing::Environment { public: TestEnvironment(): m_alreadySetUp(false) {} - virtual void SetUp() { + virtual void SetUp() override { /* Only set up once. This allows gtest_repeat to be used to automatically repeat tests. */ if(m_alreadySetUp) return; @@ -39,7 +39,7 @@ public: } } - virtual void TearDown() { + virtual void TearDown() override { } }; diff --git a/wpilibc/wpilibC++IntegrationTests/src/TiltPanCameraTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/TiltPanCameraTest.cpp index 90ee00697b..c9021e9781 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/TiltPanCameraTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/TiltPanCameraTest.cpp @@ -40,7 +40,7 @@ protected: delete m_gyro; } - virtual void SetUp() { + virtual void SetUp() override { m_tilt = new Servo(TestBench::kCameraTiltChannel); m_pan = new Servo(TestBench::kCameraPanChannel); m_spiAccel = new ADXL345_SPI(SPI::kOnboardCS0); @@ -53,7 +53,7 @@ protected: m_gyro->Reset(); } - virtual void TearDown() { + virtual void TearDown() override { delete m_tilt; delete m_pan; delete m_spiAccel; diff --git a/wpilibc/wpilibC++IntegrationTests/src/TimerTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/TimerTest.cpp index 636fc4fee0..298dabe740 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/TimerTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/TimerTest.cpp @@ -15,11 +15,11 @@ class TimerTest : public testing::Test { protected: Timer *m_timer; - virtual void SetUp() { + virtual void SetUp() override { m_timer = new Timer; } - virtual void TearDown() { + virtual void TearDown() override { delete m_timer; } diff --git a/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp b/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp index 4789ddedc4..2a0b59eaef 100644 --- a/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp +++ b/wpilibc/wpilibC++IntegrationTests/src/command/CommandTest.cpp @@ -13,7 +13,7 @@ class CommandTest : public testing::Test { protected: - virtual void SetUp() { + virtual void SetUp() override { RobotState::SetImplementation(DriverStation::GetInstance()); Scheduler::GetInstance()->SetEnabled(true); } @@ -49,7 +49,7 @@ public: m_command = NULL; } - virtual void InitDefaultCommand(){ + virtual void InitDefaultCommand() override { if(m_command != NULL){ SetDefaultCommand(m_command); } @@ -334,7 +334,7 @@ public: { SetTimeout(2.0); } - bool IsFinished(){ + bool IsFinished() override { return MockCommand::IsFinished() || IsTimedOut(); } }; diff --git a/wpilibc/wpilibC++Sim/include/AnalogInput.h b/wpilibc/wpilibC++Sim/include/AnalogInput.h index fd711797cc..90c11c043c 100644 --- a/wpilibc/wpilibC++Sim/include/AnalogInput.h +++ b/wpilibc/wpilibC++Sim/include/AnalogInput.h @@ -30,19 +30,19 @@ public: explicit AnalogInput(uint32_t channel); virtual ~AnalogInput(); - float GetVoltage(); - float GetAverageVoltage(); + float GetVoltage() const; + float GetAverageVoltage() const; - uint32_t GetChannel(); + uint32_t GetChannel() const; - double PIDGet(); + double PIDGet() const override; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void InitAnalogInput(uint32_t channel); diff --git a/wpilibc/wpilibC++Sim/include/AnalogPotentiometer.h b/wpilibc/wpilibC++Sim/include/AnalogPotentiometer.h index 274bcf38af..2abd55387f 100644 --- a/wpilibc/wpilibC++Sim/include/AnalogPotentiometer.h +++ b/wpilibc/wpilibC++Sim/include/AnalogPotentiometer.h @@ -40,7 +40,7 @@ public: * * @return The current position of the potentiometer. */ - virtual double Get(); + virtual double Get() const; /** @@ -48,26 +48,26 @@ public: * * @return The current reading. */ - virtual double PIDGet(); + virtual double PIDGet() const override; /* * Live Window code, only does anything if live window is activated. */ - virtual std::string GetSmartDashboardType(); - virtual void InitTable(ITable *subtable); - virtual void UpdateTable(); - virtual ITable* GetTable(); + virtual std::string GetSmartDashboardType() const override; + virtual void InitTable(ITable *subtable) override; + virtual void UpdateTable() override; + virtual ITable* GetTable() const override; /** * AnalogPotentiometers don't have to do anything special when entering the LiveWindow. */ - virtual void StartLiveWindowMode() {} + virtual void StartLiveWindowMode() override {} /** * AnalogPotentiometers don't have to do anything special when exiting the LiveWindow. */ - virtual void StopLiveWindowMode() {} + virtual void StopLiveWindowMode() override {} private: double m_scale, m_offset; diff --git a/wpilibc/wpilibC++Sim/include/Counter.h b/wpilibc/wpilibC++Sim/include/Counter.h index 724232a821..4ccee43b72 100644 --- a/wpilibc/wpilibC++Sim/include/Counter.h +++ b/wpilibc/wpilibC++Sim/include/Counter.h @@ -55,26 +55,27 @@ public: void SetReverseDirection(bool reverseDirection); // CounterBase interface - int32_t Get(); - void Reset(); - double GetPeriod(); - void SetMaxPeriod(double maxPeriod); + int32_t Get() const override; + void Reset() override; + double GetPeriod() const override; + void SetMaxPeriod(double maxPeriod) override; void SetUpdateWhenEmpty(bool enabled); - bool GetStopped(); - bool GetDirection(); + bool GetStopped() const override; + bool GetDirection() const override; + void SetSamplesToAverage(int samplesToAverage); - int GetSamplesToAverage(); - uint32_t GetIndex() + int GetSamplesToAverage() const; + uint32_t GetFPGAIndex() const { return m_index; } - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - virtual std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + virtual std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; protected: // TODO: [Not Supported] DigitalSource *m_upSource; ///< What makes the counter count up. // TODO: [Not Supported] DigitalSource *m_downSource; ///< What makes the counter count down. diff --git a/wpilibc/wpilibC++Sim/include/CounterBase.h b/wpilibc/wpilibC++Sim/include/CounterBase.h index 4a6a7285c6..5cb5ee5413 100644 --- a/wpilibc/wpilibC++Sim/include/CounterBase.h +++ b/wpilibc/wpilibC++Sim/include/CounterBase.h @@ -24,10 +24,10 @@ public: }; virtual ~CounterBase() {} - virtual int32_t Get() = 0; + virtual int32_t Get() const = 0; virtual void Reset() = 0; - virtual double GetPeriod() = 0; + virtual double GetPeriod() const = 0; virtual void SetMaxPeriod(double maxPeriod) = 0; - virtual bool GetStopped() = 0; - virtual bool GetDirection() = 0; + virtual bool GetStopped() const = 0; + virtual bool GetDirection() const = 0; }; diff --git a/wpilibc/wpilibC++Sim/include/DigitalInput.h b/wpilibc/wpilibC++Sim/include/DigitalInput.h index 0c4ec0d2b8..f139c1892a 100644 --- a/wpilibc/wpilibC++Sim/include/DigitalInput.h +++ b/wpilibc/wpilibC++Sim/include/DigitalInput.h @@ -19,15 +19,15 @@ class DigitalInput : public LiveWindowSendable { public: explicit DigitalInput(uint32_t channel); virtual ~DigitalInput(); - uint32_t Get(); - uint32_t GetChannel(); + uint32_t Get() const; + uint32_t GetChannel() const; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void InitDigitalInput(uint32_t channel); diff --git a/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h b/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h index 603a6f5537..007df72ad6 100644 --- a/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h +++ b/wpilibc/wpilibC++Sim/include/DoubleSolenoid.h @@ -30,15 +30,15 @@ public: DoubleSolenoid(uint8_t moduleNumber, uint32_t forwardChannel, uint32_t reverseChannel); virtual ~DoubleSolenoid(); virtual void Set(Value value); - virtual Value Get(); + virtual Value Get() const; - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void InitSolenoid(int slot, int channel1, int channel2); diff --git a/wpilibc/wpilibC++Sim/include/DriverStation.h b/wpilibc/wpilibC++Sim/include/DriverStation.h index a337cad1e4..c85fac8758 100644 --- a/wpilibc/wpilibC++Sim/include/DriverStation.h +++ b/wpilibc/wpilibC++Sim/include/DriverStation.h @@ -46,20 +46,20 @@ public: void SetDigitalOut(uint32_t channel, bool value); bool GetDigitalOut(uint32_t channel); - bool IsEnabled(); - bool IsDisabled(); - bool IsAutonomous(); - bool IsOperatorControl(); - bool IsTest(); - bool IsFMSAttached(); + bool IsEnabled() const; + bool IsDisabled() const; + bool IsAutonomous() const; + bool IsOperatorControl() const; + bool IsTest() const; + bool IsFMSAttached() const; - uint32_t GetPacketNumber(); - Alliance GetAlliance(); - uint32_t GetLocation(); + uint32_t GetPacketNumber() const; + Alliance GetAlliance() const; + uint32_t GetLocation() const; void WaitForData(); - double GetMatchTime(); - float GetBatteryVoltage(); - uint16_t GetTeamNumber(); + double GetMatchTime() const; + float GetBatteryVoltage() const; + uint16_t GetTeamNumber() const; diff --git a/wpilibc/wpilibC++Sim/include/Encoder.h b/wpilibc/wpilibC++Sim/include/Encoder.h index 1076cb1169..c8d2964b7c 100644 --- a/wpilibc/wpilibC++Sim/include/Encoder.h +++ b/wpilibc/wpilibC++Sim/include/Encoder.h @@ -35,39 +35,40 @@ public: virtual ~Encoder(); // CounterBase interface - int32_t Get(); - int32_t GetRaw(); - int32_t GetEncodingScale(); - void Reset(); - double GetPeriod(); - void SetMaxPeriod(double maxPeriod); - bool GetStopped(); - bool GetDirection(); - double GetDistance(); - double GetRate(); + int32_t Get() const override; + int32_t GetRaw() const; + int32_t GetEncodingScale() const; + void Reset() override; + double GetPeriod() const override; + void SetMaxPeriod(double maxPeriod) override; + bool GetStopped() const override; + bool GetDirection() const override; + + double GetDistance() const; + double GetRate() const; void SetMinRate(double minRate); void SetDistancePerPulse(double distancePerPulse); void SetReverseDirection(bool reverseDirection); void SetSamplesToAverage(int samplesToAverage); - int GetSamplesToAverage(); + int GetSamplesToAverage() const; void SetPIDSourceParameter(PIDSourceParameter pidSource); - double PIDGet(); + double PIDGet() const override; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; - int32_t FPGAEncoderIndex() + int32_t FPGAEncoderIndex() const { return 0; } private: void InitEncoder(int channelA, int channelB, bool _reverseDirection, EncodingType encodingType); - double DecodingScaleFactor(); + double DecodingScaleFactor() const; // TODO: [Not Supported] DigitalSource *m_aSource; // the A phase of the quad encoder // TODO: [Not Supported] DigitalSource *m_bSource; // the B phase of the quad encoder diff --git a/wpilibc/wpilibC++Sim/include/Gyro.h b/wpilibc/wpilibC++Sim/include/Gyro.h index dda0c19028..3cae68bf07 100644 --- a/wpilibc/wpilibC++Sim/include/Gyro.h +++ b/wpilibc/wpilibC++Sim/include/Gyro.h @@ -34,20 +34,20 @@ public: explicit Gyro(uint32_t channel); virtual ~Gyro(); - virtual float GetAngle(); - virtual double GetRate(); + virtual float GetAngle() const; + virtual double GetRate() const; void SetPIDSourceParameter(PIDSourceParameter pidSource); virtual void Reset(); // PIDSource interface - double PIDGet(); + double PIDGet() const override; - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void InitGyro(int channel); diff --git a/wpilibc/wpilibC++Sim/include/Jaguar.h b/wpilibc/wpilibC++Sim/include/Jaguar.h index 51ac4fe8c8..91c7e3fd53 100644 --- a/wpilibc/wpilibC++Sim/include/Jaguar.h +++ b/wpilibc/wpilibC++Sim/include/Jaguar.h @@ -18,10 +18,10 @@ public: explicit Jaguar(uint32_t channel); virtual ~Jaguar(); virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); + virtual float Get() const; virtual void Disable(); - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitJaguar(); diff --git a/wpilibc/wpilibC++Sim/include/Joystick.h b/wpilibc/wpilibC++Sim/include/Joystick.h index 429b499eae..672d898f42 100644 --- a/wpilibc/wpilibC++Sim/include/Joystick.h +++ b/wpilibc/wpilibC++Sim/include/Joystick.h @@ -44,25 +44,25 @@ public: uint32_t GetAxisChannel(AxisType axis); void SetAxisChannel(AxisType axis, uint32_t channel); - virtual float GetX(JoystickHand hand = kRightHand); - virtual float GetY(JoystickHand hand = kRightHand); - virtual float GetZ(); - virtual float GetTwist(); - virtual float GetThrottle(); - virtual float GetAxis(AxisType axis); - float GetRawAxis(uint32_t axis); + virtual float GetX(JoystickHand hand = kRightHand) const override; + virtual float GetY(JoystickHand hand = kRightHand) const override; + virtual float GetZ() const override; + virtual float GetTwist() const override; + virtual float GetThrottle() const override; + virtual float GetAxis(AxisType axis) const; + float GetRawAxis(uint32_t axis) const override; - virtual bool GetTrigger(JoystickHand hand = kRightHand); - virtual bool GetTop(JoystickHand hand = kRightHand); - virtual bool GetBumper(JoystickHand hand = kRightHand); - virtual bool GetRawButton(uint32_t button); - virtual int GetPOV(uint32_t pov = 1); - bool GetButton(ButtonType button); + virtual bool GetTrigger(JoystickHand hand = kRightHand) const override; + virtual bool GetTop(JoystickHand hand = kRightHand) const override; + virtual bool GetBumper(JoystickHand hand = kRightHand) const override; + virtual bool GetRawButton(uint32_t button) const override; + virtual int GetPOV(uint32_t pov = 1) const override; + bool GetButton(ButtonType button) const; static Joystick* GetStickForPort(uint32_t port); - virtual float GetMagnitude(); - virtual float GetDirectionRadians(); - virtual float GetDirectionDegrees(); + virtual float GetMagnitude() const; + virtual float GetDirectionRadians() const; + virtual float GetDirectionDegrees() const; private: DISALLOW_COPY_AND_ASSIGN(Joystick); diff --git a/wpilibc/wpilibC++Sim/include/MotorSafety.h b/wpilibc/wpilibC++Sim/include/MotorSafety.h index ea7dfc4fb3..00820be541 100644 --- a/wpilibc/wpilibC++Sim/include/MotorSafety.h +++ b/wpilibc/wpilibC++Sim/include/MotorSafety.h @@ -11,10 +11,10 @@ class MotorSafety { public: virtual void SetExpiration(float timeout) = 0; - virtual float GetExpiration() = 0; - virtual bool IsAlive() = 0; + virtual float GetExpiration() const = 0; + virtual bool IsAlive() const = 0; virtual void StopMotor() = 0; virtual void SetSafetyEnabled(bool enabled) = 0; - virtual bool IsSafetyEnabled() = 0; - virtual void GetDescription(char *desc) = 0; + virtual bool IsSafetyEnabled() const = 0; + virtual void GetDescription(char *desc) const = 0; }; diff --git a/wpilibc/wpilibC++Sim/include/MotorSafetyHelper.h b/wpilibc/wpilibC++Sim/include/MotorSafetyHelper.h index 944a197273..bea8e02d8e 100644 --- a/wpilibc/wpilibC++Sim/include/MotorSafetyHelper.h +++ b/wpilibc/wpilibC++Sim/include/MotorSafetyHelper.h @@ -17,17 +17,17 @@ public: ~MotorSafetyHelper(); void Feed(); void SetExpiration(float expirationTime); - float GetExpiration(); - bool IsAlive(); + float GetExpiration() const; + bool IsAlive() const; void Check(); void SetSafetyEnabled(bool enabled); - bool IsSafetyEnabled(); + bool IsSafetyEnabled() const; static void CheckMotors(); private: double m_expiration; // the expiration time for this object bool m_enabled; // true if motor safety is enabled for this motor double m_stopTime; // the FPGA clock value when this motor has expired - ReentrantSemaphore m_syncMutex; // protect accesses to the state for this object + mutable ReentrantSemaphore m_syncMutex; // protect accesses to the state for this object MotorSafety *m_safeObject; // the object that is using the helper MotorSafetyHelper *m_nextHelper; // next object in the list of MotorSafetyHelpers static MotorSafetyHelper *m_headHelper; // the head of the list of MotorSafetyHelper objects diff --git a/wpilibc/wpilibC++Sim/include/PWM.h b/wpilibc/wpilibC++Sim/include/PWM.h index 998a78fe0f..aa09a89405 100644 --- a/wpilibc/wpilibC++Sim/include/PWM.h +++ b/wpilibc/wpilibC++Sim/include/PWM.h @@ -44,7 +44,7 @@ public: void SetBounds(int32_t max, int32_t deadbandMax, int32_t center, int32_t deadbandMin, int32_t min); void SetBounds(double max, double deadbandMax, double center, double deadbandMin, double min); - uint32_t GetChannel() + uint32_t GetChannel() const { return m_channel; } @@ -78,20 +78,20 @@ protected: static const int32_t kPwmDisabled = 0; virtual void SetPosition(float pos); - virtual float GetPosition(); + virtual float GetPosition() const; virtual void SetSpeed(float speed); - virtual float GetSpeed(); + virtual float GetSpeed() const; bool m_eliminateDeadband; int32_t m_centerPwm; - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; ITable *m_table; diff --git a/wpilibc/wpilibC++Sim/include/Relay.h b/wpilibc/wpilibC++Sim/include/Relay.h index 35433d5357..6311e4e925 100644 --- a/wpilibc/wpilibC++Sim/include/Relay.h +++ b/wpilibc/wpilibC++Sim/include/Relay.h @@ -43,15 +43,15 @@ public: virtual ~Relay(); void Set(Value value); - Value Get(); + Value Get() const; - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; ITable *m_table; diff --git a/wpilibc/wpilibC++Sim/include/RobotBase.h b/wpilibc/wpilibC++Sim/include/RobotBase.h index 5a545f6c87..c90c3f58d4 100644 --- a/wpilibc/wpilibC++Sim/include/RobotBase.h +++ b/wpilibc/wpilibC++Sim/include/RobotBase.h @@ -30,11 +30,11 @@ public: static RobotBase &getInstance(); static void setInstance(RobotBase* robot); - bool IsEnabled(); - bool IsDisabled(); - bool IsAutonomous(); - bool IsOperatorControl(); - bool IsTest(); + bool IsEnabled() const; + bool IsDisabled() const; + bool IsAutonomous() const; + bool IsOperatorControl() const; + bool IsTest() const; virtual void StartCompetition() = 0; protected: diff --git a/wpilibc/wpilibC++Sim/include/RobotDrive.h b/wpilibc/wpilibC++Sim/include/RobotDrive.h index 79fff7f15d..4391316f6f 100644 --- a/wpilibc/wpilibC++Sim/include/RobotDrive.h +++ b/wpilibc/wpilibC++Sim/include/RobotDrive.h @@ -7,6 +7,8 @@ #include "ErrorBase.h" #include +#include "MotorSafety.h" +#include "MotorSafetyHelper.h" class SpeedController; class GenericHID; @@ -19,7 +21,7 @@ class GenericHID; * used for either the Drive function (intended for hand created drive code, such as autonomous) * or with the Tank/Arcade functions intended to be used for Operator Control driving. */ -class RobotDrive : public ErrorBase +class RobotDrive : public MotorSafety, public ErrorBase { public: enum MotorType @@ -64,13 +66,13 @@ public: void SetSensitivity(float sensitivity); void SetMaxOutput(double maxOutput); - void SetExpiration(float timeout); - float GetExpiration(); - bool IsAlive(); - void StopMotor(); - bool IsSafetyEnabled(); - void SetSafetyEnabled(bool enabled); - void GetDescription(char *desc); + void SetExpiration(float timeout) override; + float GetExpiration() const override; + bool IsAlive() const override; + void StopMotor() override; + bool IsSafetyEnabled() const override; + void SetSafetyEnabled(bool enabled) override; + void GetDescription(char *desc) const override; protected: void InitRobotDrive(); diff --git a/wpilibc/wpilibC++Sim/include/SafePWM.h b/wpilibc/wpilibC++Sim/include/SafePWM.h index bed5c214f5..569665e9cd 100644 --- a/wpilibc/wpilibC++Sim/include/SafePWM.h +++ b/wpilibc/wpilibC++Sim/include/SafePWM.h @@ -24,12 +24,12 @@ public: ~SafePWM(); void SetExpiration(float timeout); - float GetExpiration(); - bool IsAlive(); + float GetExpiration() const; + bool IsAlive() const; void StopMotor(); - bool IsSafetyEnabled(); + bool IsSafetyEnabled() const; void SetSafetyEnabled(bool enabled); - void GetDescription(char *desc); + void GetDescription(char *desc) const; virtual void SetSpeed(float speed); private: diff --git a/wpilibc/wpilibC++Sim/include/Solenoid.h b/wpilibc/wpilibC++Sim/include/Solenoid.h index 9157f60ae2..434351ec28 100644 --- a/wpilibc/wpilibC++Sim/include/Solenoid.h +++ b/wpilibc/wpilibC++Sim/include/Solenoid.h @@ -22,15 +22,15 @@ public: Solenoid(uint8_t moduleNumber, uint32_t channel); virtual ~Solenoid(); virtual void Set(bool on); - virtual bool Get(); + virtual bool Get() const; - void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew); - void UpdateTable(); - void StartLiveWindowMode(); - void StopLiveWindowMode(); - std::string GetSmartDashboardType(); - void InitTable(ITable *subTable); - ITable * GetTable(); + void ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) override; + void UpdateTable() override; + void StartLiveWindowMode() override; + void StopLiveWindowMode() override; + std::string GetSmartDashboardType() const override; + void InitTable(ITable *subTable) override; + ITable * GetTable() const override; private: void InitSolenoid(int slot, int channel); diff --git a/wpilibc/wpilibC++Sim/include/SpeedController.h b/wpilibc/wpilibC++Sim/include/SpeedController.h index c571aa7eac..32356cc77b 100644 --- a/wpilibc/wpilibC++Sim/include/SpeedController.h +++ b/wpilibc/wpilibC++Sim/include/SpeedController.h @@ -26,7 +26,7 @@ public: * * @return The current set speed. Value is between -1.0 and 1.0. */ - virtual float Get() = 0; + virtual float Get() const = 0; /** * Common interface for disabling a motor. */ diff --git a/wpilibc/wpilibC++Sim/include/Talon.h b/wpilibc/wpilibC++Sim/include/Talon.h index d9fb0ef12d..a86821409c 100644 --- a/wpilibc/wpilibC++Sim/include/Talon.h +++ b/wpilibc/wpilibC++Sim/include/Talon.h @@ -18,10 +18,10 @@ public: explicit Talon(uint32_t channel); virtual ~Talon(); virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); + virtual float Get() const; virtual void Disable(); - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitTalon(); diff --git a/wpilibc/wpilibC++Sim/include/Victor.h b/wpilibc/wpilibC++Sim/include/Victor.h index fce4139f05..acf0532247 100644 --- a/wpilibc/wpilibC++Sim/include/Victor.h +++ b/wpilibc/wpilibC++Sim/include/Victor.h @@ -18,10 +18,10 @@ public: explicit Victor(uint32_t channel); virtual ~Victor(); virtual void Set(float value, uint8_t syncGroup = 0); - virtual float Get(); + virtual float Get() const; virtual void Disable(); - virtual void PIDWrite(float output); + virtual void PIDWrite(float output) override; private: void InitVictor(); diff --git a/wpilibc/wpilibC++Sim/src/AnalogInput.cpp b/wpilibc/wpilibC++Sim/src/AnalogInput.cpp index a947f6b5d4..479f586f4c 100644 --- a/wpilibc/wpilibC++Sim/src/AnalogInput.cpp +++ b/wpilibc/wpilibC++Sim/src/AnalogInput.cpp @@ -45,7 +45,7 @@ AnalogInput::~AnalogInput() * The value is scaled to units of Volts using the calibrated scaling data from GetLSBWeight() and GetOffset(). * @return A scaled sample straight from this channel. */ -float AnalogInput::GetVoltage() +float AnalogInput::GetVoltage() const { return m_impl->Get(); } @@ -57,7 +57,7 @@ float AnalogInput::GetVoltage() * Using averaging will cause this value to be more stable, but it will update more slowly. * @return A scaled sample from the output of the oversample and average engine for this channel. */ -float AnalogInput::GetAverageVoltage() +float AnalogInput::GetAverageVoltage() const { return m_impl->Get(); } @@ -66,7 +66,7 @@ float AnalogInput::GetAverageVoltage() * Get the channel number. * @return The channel number. */ -uint32_t AnalogInput::GetChannel() +uint32_t AnalogInput::GetChannel() const { return m_channel; } @@ -76,7 +76,7 @@ uint32_t AnalogInput::GetChannel() * * @return The average voltage. */ -double AnalogInput::PIDGet() +double AnalogInput::PIDGet() const { return GetAverageVoltage(); } @@ -95,7 +95,7 @@ void AnalogInput::StopLiveWindowMode() { } -std::string AnalogInput::GetSmartDashboardType() { +std::string AnalogInput::GetSmartDashboardType() const { return "Analog Input"; } @@ -104,6 +104,6 @@ void AnalogInput::InitTable(ITable *subTable) { UpdateTable(); } -ITable * AnalogInput::GetTable() { +ITable * AnalogInput::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/AnalogPotentiometer.cpp b/wpilibc/wpilibC++Sim/src/AnalogPotentiometer.cpp index 47e0361bd4..97dac4374f 100644 --- a/wpilibc/wpilibC++Sim/src/AnalogPotentiometer.cpp +++ b/wpilibc/wpilibC++Sim/src/AnalogPotentiometer.cpp @@ -37,7 +37,7 @@ AnalogPotentiometer::~AnalogPotentiometer() { * * @return The current position of the potentiometer. */ -double AnalogPotentiometer::Get() { +double AnalogPotentiometer::Get() const { return m_analog_input->GetVoltage() * m_scale + m_offset; } @@ -46,7 +46,7 @@ double AnalogPotentiometer::Get() { * * @return The current reading. */ -double AnalogPotentiometer::PIDGet() { +double AnalogPotentiometer::PIDGet() const { return Get(); } @@ -54,7 +54,7 @@ double AnalogPotentiometer::PIDGet() { /** * @return the Smart Dashboard Type */ -std::string AnalogPotentiometer::GetSmartDashboardType() { +std::string AnalogPotentiometer::GetSmartDashboardType() const { return "Analog Input"; } @@ -72,6 +72,6 @@ void AnalogPotentiometer::UpdateTable() { } } -ITable* AnalogPotentiometer::GetTable() { +ITable* AnalogPotentiometer::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/DigitalInput.cpp b/wpilibc/wpilibC++Sim/src/DigitalInput.cpp index 6c98ed56b1..cebbf80979 100644 --- a/wpilibc/wpilibC++Sim/src/DigitalInput.cpp +++ b/wpilibc/wpilibC++Sim/src/DigitalInput.cpp @@ -43,7 +43,7 @@ DigitalInput::~DigitalInput() * Get the value from a digital input channel. * Retrieve the value of a single digital input channel from the FPGA. */ -uint32_t DigitalInput::Get() +uint32_t DigitalInput::Get() const { return m_impl->Get(); } @@ -51,7 +51,7 @@ uint32_t DigitalInput::Get() /** * @return The GPIO channel number that this object represents. */ -uint32_t DigitalInput::GetChannel() +uint32_t DigitalInput::GetChannel() const { return m_channel; } @@ -70,7 +70,7 @@ void DigitalInput::StopLiveWindowMode() { } -std::string DigitalInput::GetSmartDashboardType() { +std::string DigitalInput::GetSmartDashboardType() const { return "DigitalInput"; } @@ -79,6 +79,6 @@ void DigitalInput::InitTable(ITable *subTable) { UpdateTable(); } -ITable * DigitalInput::GetTable() { +ITable * DigitalInput::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp b/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp index 322b4575e6..0d418fc0dc 100644 --- a/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp +++ b/wpilibc/wpilibC++Sim/src/DoubleSolenoid.cpp @@ -86,7 +86,7 @@ void DoubleSolenoid::Set(Value value) * * @return The current value of the solenoid. */ -DoubleSolenoid::Value DoubleSolenoid::Get() +DoubleSolenoid::Value DoubleSolenoid::Get() const { return m_value; } @@ -121,7 +121,7 @@ void DoubleSolenoid::StopLiveWindowMode() { } } -std::string DoubleSolenoid::GetSmartDashboardType() { +std::string DoubleSolenoid::GetSmartDashboardType() const { return "Double Solenoid"; } @@ -130,6 +130,6 @@ void DoubleSolenoid::InitTable(ITable *subTable) { UpdateTable(); } -ITable * DoubleSolenoid::GetTable() { +ITable * DoubleSolenoid::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/DriverStation.cpp b/wpilibc/wpilibC++Sim/src/DriverStation.cpp index 192c0ebfa4..da75f4249e 100644 --- a/wpilibc/wpilibC++Sim/src/DriverStation.cpp +++ b/wpilibc/wpilibC++Sim/src/DriverStation.cpp @@ -100,7 +100,7 @@ DriverStation* DriverStation::GetInstance() * * @return The battery voltage. */ -float DriverStation::GetBatteryVoltage() +float DriverStation::GetBatteryVoltage() const { return 12.0; // 12 volts all the time! } @@ -240,19 +240,19 @@ bool DriverStation::GetDigitalOut(uint32_t channel) wpi_setWPIErrorWithContext(UnsupportedInSimulation, "GetDigitalOut"); } -bool DriverStation::IsEnabled() +bool DriverStation::IsEnabled() const { CRITICAL_REGION(m_stateSemaphore) return state != NULL ? state->enabled() : false; END_REGION } -bool DriverStation::IsDisabled() +bool DriverStation::IsDisabled() const { return !IsEnabled(); } -bool DriverStation::IsAutonomous() +bool DriverStation::IsAutonomous() const { CRITICAL_REGION(m_stateSemaphore) return state != NULL ? @@ -260,12 +260,12 @@ bool DriverStation::IsAutonomous() END_REGION; } -bool DriverStation::IsOperatorControl() +bool DriverStation::IsOperatorControl() const { return !(IsAutonomous() || IsTest()); } -bool DriverStation::IsTest() +bool DriverStation::IsTest() const { CRITICAL_REGION(m_stateSemaphore) return state != NULL ? @@ -278,7 +278,7 @@ bool DriverStation::IsTest() * Note: This does not work with the Blue DS. * @return True if the robot is competing on a field being controlled by a Field Management System */ -bool DriverStation::IsFMSAttached() +bool DriverStation::IsFMSAttached() const { return false; // No FMS in simulation } @@ -288,7 +288,7 @@ bool DriverStation::IsFMSAttached() * This could return kRed or kBlue * @return The Alliance enum */ -DriverStation::Alliance DriverStation::GetAlliance() +DriverStation::Alliance DriverStation::GetAlliance() const { // if (m_controlData->dsID_Alliance == 'R') return kRed; // if (m_controlData->dsID_Alliance == 'B') return kBlue; @@ -301,7 +301,7 @@ DriverStation::Alliance DriverStation::GetAlliance() * This could return 1, 2, or 3 * @return The location of the driver station */ -uint32_t DriverStation::GetLocation() +uint32_t DriverStation::GetLocation() const { return -1; // TODO: Support locations } @@ -326,7 +326,7 @@ void DriverStation::WaitForData() * Warning: This is not an official time (so it cannot be used to argue with referees) * @return Match time in seconds since the beginning of autonomous */ -double DriverStation::GetMatchTime() +double DriverStation::GetMatchTime() const { if (m_approxMatchTimeOffset < 0.0) return 0.0; @@ -346,7 +346,7 @@ void DriverStation::ReportError(std::string error) * Return the team number that the Driver Station is configured for * @return The team number */ -uint16_t DriverStation::GetTeamNumber() +uint16_t DriverStation::GetTeamNumber() const { return 348; } diff --git a/wpilibc/wpilibC++Sim/src/Encoder.cpp b/wpilibc/wpilibC++Sim/src/Encoder.cpp index fd64cf84b6..fc40ead0e4 100644 --- a/wpilibc/wpilibC++Sim/src/Encoder.cpp +++ b/wpilibc/wpilibC++Sim/src/Encoder.cpp @@ -159,7 +159,7 @@ void Encoder::Reset() * width exceeds the MaxPeriod. * @return True if the encoder is considered stopped. */ -bool Encoder::GetStopped() +bool Encoder::GetStopped() const { throw "Simulation doesn't currently support this method."; } @@ -168,7 +168,7 @@ bool Encoder::GetStopped() * The last direction the encoder value changed. * @return The last direction the encoder value changed. */ -bool Encoder::GetDirection() +bool Encoder::GetDirection() const { throw "Simulation doesn't currently support this method."; } @@ -176,7 +176,7 @@ bool Encoder::GetDirection() /** * The scale needed to convert a raw counter value into a number of encoder pulses. */ -double Encoder::DecodingScaleFactor() +double Encoder::DecodingScaleFactor() const { switch (m_encodingType) { @@ -195,7 +195,7 @@ double Encoder::DecodingScaleFactor() * The encoding scale factor 1x, 2x, or 4x, per the requested encodingType. * Used to divide raw edge counts down to spec'd counts. */ -int32_t Encoder::GetEncodingScale() { return m_encodingScale; } +int32_t Encoder::GetEncodingScale() const { return m_encodingScale; } /** * Gets the raw value from the encoder. @@ -203,7 +203,7 @@ int32_t Encoder::GetEncodingScale() { return m_encodingScale; } * factor. * @return Current raw count from the encoder */ -int32_t Encoder::GetRaw() +int32_t Encoder::GetRaw() const { throw "Simulation doesn't currently support this method."; } @@ -215,7 +215,7 @@ int32_t Encoder::GetRaw() * * @return Current count from the Encoder adjusted for the 1x, 2x, or 4x scale factor. */ -int32_t Encoder::Get() +int32_t Encoder::Get() const { throw "Simulation doesn't currently support this method."; } @@ -229,7 +229,7 @@ int32_t Encoder::Get() * * @return Period in seconds of the most recent pulse. */ -double Encoder::GetPeriod() +double Encoder::GetPeriod() const { throw "Simulation doesn't currently support this method."; } @@ -256,7 +256,7 @@ void Encoder::SetMaxPeriod(double maxPeriod) * * @return The distance driven since the last reset as scaled by the value from SetDistancePerPulse(). */ -double Encoder::GetDistance() +double Encoder::GetDistance() const { return m_distancePerPulse * impl->GetPosition(); } @@ -267,7 +267,7 @@ double Encoder::GetDistance() * * @return The current rate of the encoder. */ -double Encoder::GetRate() +double Encoder::GetRate() const { return m_distancePerPulse * impl->GetVelocity(); } @@ -328,7 +328,7 @@ void Encoder::SetPIDSourceParameter(PIDSourceParameter pidSource) * * @return The current value of the selected source parameter. */ -double Encoder::PIDGet() +double Encoder::PIDGet() const { switch (m_pidSource) { @@ -357,7 +357,7 @@ void Encoder::StopLiveWindowMode() { } -std::string Encoder::GetSmartDashboardType() { +std::string Encoder::GetSmartDashboardType() const { if (m_encodingType == k4X) return "Quadrature Encoder"; else @@ -369,6 +369,6 @@ void Encoder::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Encoder::GetTable() { +ITable * Encoder::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/Gyro.cpp b/wpilibc/wpilibC++Sim/src/Gyro.cpp index 3b63ff9e09..63c6427376 100644 --- a/wpilibc/wpilibC++Sim/src/Gyro.cpp +++ b/wpilibc/wpilibC++Sim/src/Gyro.cpp @@ -73,7 +73,7 @@ Gyro::~Gyro() * @return the current heading of the robot in degrees. This heading is based on integration * of the returned rate from the gyro. */ -float Gyro::GetAngle( void ) +float Gyro::GetAngle() const { return impl->GetAngle(); } @@ -86,7 +86,7 @@ float Gyro::GetAngle( void ) * * @return the current rate in degrees per second */ -double Gyro::GetRate( void ) +double Gyro::GetRate() const { return impl->GetVelocity(); } @@ -103,7 +103,7 @@ void Gyro::SetPIDSourceParameter(PIDSourceParameter pidSource) * * @return The angle in degrees. */ -double Gyro::PIDGet() +double Gyro::PIDGet() const { switch(m_pidSource){ case kRate: @@ -129,7 +129,7 @@ void Gyro::StopLiveWindowMode() { } -std::string Gyro::GetSmartDashboardType() { +std::string Gyro::GetSmartDashboardType() const { return "Gyro"; } @@ -138,6 +138,6 @@ void Gyro::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Gyro::GetTable() { +ITable * Gyro::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/Jaguar.cpp b/wpilibc/wpilibC++Sim/src/Jaguar.cpp index 3b04efdfcb..f3bbee6491 100644 --- a/wpilibc/wpilibC++Sim/src/Jaguar.cpp +++ b/wpilibc/wpilibC++Sim/src/Jaguar.cpp @@ -61,7 +61,7 @@ void Jaguar::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float Jaguar::Get() +float Jaguar::Get() const { return GetSpeed(); } diff --git a/wpilibc/wpilibC++Sim/src/Joystick.cpp b/wpilibc/wpilibC++Sim/src/Joystick.cpp index 5cb60be4e4..372f7cc9b1 100644 --- a/wpilibc/wpilibC++Sim/src/Joystick.cpp +++ b/wpilibc/wpilibC++Sim/src/Joystick.cpp @@ -98,7 +98,7 @@ Joystick::~Joystick() * Get the X value of the joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetX(JoystickHand hand) +float Joystick::GetX(JoystickHand hand) const { return GetRawAxis(m_axes[kXAxis]); } @@ -107,7 +107,7 @@ float Joystick::GetX(JoystickHand hand) * Get the Y value of the joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetY(JoystickHand hand) +float Joystick::GetY(JoystickHand hand) const { return GetRawAxis(m_axes[kYAxis]); } @@ -116,7 +116,7 @@ float Joystick::GetY(JoystickHand hand) * Get the Z value of the current joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetZ() +float Joystick::GetZ() const { return GetRawAxis(m_axes[kZAxis]); } @@ -125,7 +125,7 @@ float Joystick::GetZ() * Get the twist value of the current joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetTwist() +float Joystick::GetTwist() const { return GetRawAxis(m_axes[kTwistAxis]); } @@ -134,7 +134,7 @@ float Joystick::GetTwist() * Get the throttle value of the current joystick. * This depends on the mapping of the joystick connected to the current port. */ -float Joystick::GetThrottle() +float Joystick::GetThrottle() const { return GetRawAxis(m_axes[kThrottleAxis]); } @@ -145,7 +145,7 @@ float Joystick::GetThrottle() * @param axis The axis to read [1-6]. * @return The value of the axis. */ -float Joystick::GetRawAxis(uint32_t axis) +float Joystick::GetRawAxis(uint32_t axis) const { return m_ds->GetStickAxis(m_port, axis); } @@ -159,7 +159,7 @@ float Joystick::GetRawAxis(uint32_t axis) * @param axis The axis to read. * @return The value of the axis. */ -float Joystick::GetAxis(AxisType axis) +float Joystick::GetAxis(AxisType axis) const { switch(axis) { @@ -182,7 +182,7 @@ float Joystick::GetAxis(AxisType axis) * @param hand This parameter is ignored for the Joystick class and is only here to complete the GenericHID interface. * @return The state of the trigger. */ -bool Joystick::GetTrigger(JoystickHand hand) +bool Joystick::GetTrigger(JoystickHand hand) const { return GetRawButton(m_buttons[kTriggerButton]); } @@ -195,7 +195,7 @@ bool Joystick::GetTrigger(JoystickHand hand) * @param hand This parameter is ignored for the Joystick class and is only here to complete the GenericHID interface. * @return The state of the top button. */ -bool Joystick::GetTop(JoystickHand hand) +bool Joystick::GetTop(JoystickHand hand) const { return GetRawButton(m_buttons[kTopButton]); } @@ -204,7 +204,7 @@ bool Joystick::GetTop(JoystickHand hand) * This is not supported for the Joystick. * This method is only here to complete the GenericHID interface. */ -bool Joystick::GetBumper(JoystickHand hand) +bool Joystick::GetBumper(JoystickHand hand) const { // Joysticks don't have bumpers. return false; @@ -219,7 +219,7 @@ bool Joystick::GetBumper(JoystickHand hand) * @param button The button number to be read. * @return The state of the button. **/ -bool Joystick::GetRawButton(uint32_t button) +bool Joystick::GetRawButton(uint32_t button) const { return m_ds->GetStickButton(m_port, button); } @@ -229,7 +229,7 @@ bool Joystick::GetRawButton(uint32_t button) * * @return the angle of the POV in degrees, or -1 if the POV is not pressed. */ -int Joystick::GetPOV(uint32_t pov) { +int Joystick::GetPOV(uint32_t pov) const { return 0; // TODO } @@ -241,7 +241,7 @@ int Joystick::GetPOV(uint32_t pov) { * @param button The type of button to read. * @return The state of the button. */ -bool Joystick::GetButton(ButtonType button) +bool Joystick::GetButton(ButtonType button) const { switch (button) { @@ -280,7 +280,7 @@ void Joystick::SetAxisChannel(AxisType axis, uint32_t channel) * * @return The magnitude of the direction vector */ -float Joystick::GetMagnitude(){ +float Joystick::GetMagnitude() const { return sqrt(pow(GetX(),2) + pow(GetY(),2) ); } @@ -290,7 +290,7 @@ float Joystick::GetMagnitude(){ * * @return The direction of the vector in radians */ -float Joystick::GetDirectionRadians(){ +float Joystick::GetDirectionRadians() const { return atan2(GetX(), -GetY()); } @@ -303,6 +303,6 @@ float Joystick::GetDirectionRadians(){ * * @return The direction of the vector in degrees */ -float Joystick::GetDirectionDegrees(){ +float Joystick::GetDirectionDegrees() const { return (180/acos(-1))*GetDirectionRadians(); } diff --git a/wpilibc/wpilibC++Sim/src/MotorSafetyHelper.cpp b/wpilibc/wpilibC++Sim/src/MotorSafetyHelper.cpp index 23e49d5669..040ff10edc 100644 --- a/wpilibc/wpilibC++Sim/src/MotorSafetyHelper.cpp +++ b/wpilibc/wpilibC++Sim/src/MotorSafetyHelper.cpp @@ -80,7 +80,7 @@ void MotorSafetyHelper::SetExpiration(float expirationTime) * Retrieve the timeout value for the corresponding motor safety object. * @returns the timeout value in seconds. */ -float MotorSafetyHelper::GetExpiration() +float MotorSafetyHelper::GetExpiration() const { Synchronized sync(m_syncMutex); return m_expiration; @@ -90,7 +90,7 @@ float MotorSafetyHelper::GetExpiration() * Determine if the motor is still operating or has timed out. * @returns a true value if the motor is still operating normally and hasn't timed out. */ -bool MotorSafetyHelper::IsAlive() +bool MotorSafetyHelper::IsAlive() const { Synchronized sync(m_syncMutex); return !m_enabled || m_stopTime > Timer::GetFPGATimestamp(); @@ -135,7 +135,7 @@ void MotorSafetyHelper::SetSafetyEnabled(bool enabled) * Return if the motor safety is currently enabled for this devicce. * @returns True if motor safety is enforced for this device */ -bool MotorSafetyHelper::IsSafetyEnabled() +bool MotorSafetyHelper::IsSafetyEnabled() const { Synchronized sync(m_syncMutex); return m_enabled; diff --git a/wpilibc/wpilibC++Sim/src/PIDController.cpp b/wpilibc/wpilibC++Sim/src/PIDController.cpp index d55cfdbf0d..d3e3ade778 100644 --- a/wpilibc/wpilibC++Sim/src/PIDController.cpp +++ b/wpilibc/wpilibC++Sim/src/PIDController.cpp @@ -249,7 +249,7 @@ void PIDController::SetPID(float p, float i, float d, float f) * Get the Proportional coefficient * @return proportional coefficient */ -float PIDController::GetP() +float PIDController::GetP() const { CRITICAL_REGION(m_semaphore) { @@ -262,7 +262,7 @@ float PIDController::GetP() * Get the Integral coefficient * @return integral coefficient */ -float PIDController::GetI() +float PIDController::GetI() const { CRITICAL_REGION(m_semaphore) { @@ -275,7 +275,7 @@ float PIDController::GetI() * Get the Differential coefficient * @return differential coefficient */ -float PIDController::GetD() +float PIDController::GetD() const { CRITICAL_REGION(m_semaphore) { @@ -288,7 +288,7 @@ float PIDController::GetD() * Get the Feed forward coefficient * @return Feed forward coefficient */ -float PIDController::GetF() +float PIDController::GetF() const { CRITICAL_REGION(m_semaphore) { @@ -302,7 +302,7 @@ float PIDController::GetF() * This is always centered on zero and constrained the the max and min outs * @return the latest calculated output */ -float PIDController::Get() +float PIDController::Get() const { float result; CRITICAL_REGION(m_semaphore) @@ -397,7 +397,7 @@ void PIDController::SetSetpoint(float setpoint) * Returns the current setpoint of the PIDController * @return the current setpoint */ -float PIDController::GetSetpoint() +float PIDController::GetSetpoint() const { float setpoint; CRITICAL_REGION(m_semaphore) @@ -412,7 +412,7 @@ float PIDController::GetSetpoint() * Retruns the current difference of the input from the setpoint * @return the current error */ -float PIDController::GetError() +float PIDController::GetError() const { float error; CRITICAL_REGION(m_semaphore) @@ -475,7 +475,7 @@ void PIDController::SetAbsoluteTolerance(float absTolerance) * Currently this just reports on target as the actual value passes through the setpoint. * Ideally it should be based on being within the tolerance for some period of time. */ -bool PIDController::OnTarget() +bool PIDController::OnTarget() const { bool temp; CRITICAL_REGION(m_semaphore) @@ -531,7 +531,7 @@ void PIDController::Disable() /** * Return true if PIDController is enabled. */ -bool PIDController::IsEnabled() +bool PIDController::IsEnabled() const { bool enabled; CRITICAL_REGION(m_semaphore) @@ -558,7 +558,7 @@ void PIDController::Reset() END_REGION; } -std::string PIDController::GetSmartDashboardType(){ +std::string PIDController::GetSmartDashboardType() const { return "PIDController"; } @@ -577,7 +577,7 @@ void PIDController::InitTable(ITable* table){ } } -ITable* PIDController::GetTable(){ +ITable* PIDController::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/PWM.cpp b/wpilibc/wpilibC++Sim/src/PWM.cpp index c581501965..2f63f93abf 100644 --- a/wpilibc/wpilibC++Sim/src/PWM.cpp +++ b/wpilibc/wpilibC++Sim/src/PWM.cpp @@ -137,7 +137,7 @@ void PWM::SetPosition(float pos) * * @return The position the servo is set to between 0.0 and 1.0. */ -float PWM::GetPosition() +float PWM::GetPosition() const { float value = impl->Get(); if (value < 0.0) @@ -194,7 +194,7 @@ void PWM::SetSpeed(float speed) * * @return The most recently set speed between -1.0 and 1.0. */ -float PWM::GetSpeed() +float PWM::GetSpeed() const { float value = impl->Get(); if (value > 1.0) @@ -259,7 +259,7 @@ void PWM::StopLiveWindowMode() { } } -std::string PWM::GetSmartDashboardType() { +std::string PWM::GetSmartDashboardType() const { return "Speed Controller"; } @@ -268,6 +268,6 @@ void PWM::InitTable(ITable *subTable) { UpdateTable(); } -ITable * PWM::GetTable() { +ITable * PWM::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/Relay.cpp b/wpilibc/wpilibC++Sim/src/Relay.cpp index a65d7a2b5c..bbcd4425ba 100644 --- a/wpilibc/wpilibC++Sim/src/Relay.cpp +++ b/wpilibc/wpilibC++Sim/src/Relay.cpp @@ -135,7 +135,7 @@ void Relay::Set(Relay::Value value) * * @return The current state of the relay as a Relay::Value */ -Relay::Value Relay::Get() { +Relay::Value Relay::Get() const { // TODO: Don't assume that the go_pos and go_neg fields are correct? if ((go_pos || m_direction == kReverseOnly) && (go_neg || m_direction == kForwardOnly)) { return kOn; @@ -184,7 +184,7 @@ void Relay::StopLiveWindowMode() { } } -std::string Relay::GetSmartDashboardType() { +std::string Relay::GetSmartDashboardType() const { return "Relay"; } @@ -193,6 +193,6 @@ void Relay::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Relay::GetTable() { +ITable * Relay::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/RobotBase.cpp b/wpilibc/wpilibC++Sim/src/RobotBase.cpp index 9a9f5f1e79..1fb710a42e 100644 --- a/wpilibc/wpilibC++Sim/src/RobotBase.cpp +++ b/wpilibc/wpilibC++Sim/src/RobotBase.cpp @@ -50,7 +50,7 @@ RobotBase::~RobotBase() * Determine if the Robot is currently enabled. * @return True if the Robot is currently enabled by the field controls. */ -bool RobotBase::IsEnabled() +bool RobotBase::IsEnabled() const { return m_ds->IsEnabled(); } @@ -59,7 +59,7 @@ bool RobotBase::IsEnabled() * Determine if the Robot is currently disabled. * @return True if the Robot is currently disabled by the field controls. */ -bool RobotBase::IsDisabled() +bool RobotBase::IsDisabled() const { return m_ds->IsDisabled(); } @@ -68,7 +68,7 @@ bool RobotBase::IsDisabled() * Determine if the robot is currently in Autnomous mode. * @return True if the robot is currently operating Autonomously as determined by the field controls. */ -bool RobotBase::IsAutonomous() +bool RobotBase::IsAutonomous() const { return m_ds->IsAutonomous(); } @@ -77,7 +77,7 @@ bool RobotBase::IsAutonomous() * Determine if the robot is currently in Operator Control mode. * @return True if the robot is currently operating in Tele-Op mode as determined by the field controls. */ -bool RobotBase::IsOperatorControl() +bool RobotBase::IsOperatorControl() const { return m_ds->IsOperatorControl(); } @@ -86,7 +86,7 @@ bool RobotBase::IsOperatorControl() * Determine if the robot is currently in Test mode. * @return True if the robot is currently running tests as determined by the field controls. */ -bool RobotBase::IsTest() +bool RobotBase::IsTest() const { return m_ds->IsTest(); } diff --git a/wpilibc/wpilibC++Sim/src/RobotDrive.cpp b/wpilibc/wpilibC++Sim/src/RobotDrive.cpp index 2261236c98..58468b73a5 100644 --- a/wpilibc/wpilibC++Sim/src/RobotDrive.cpp +++ b/wpilibc/wpilibC++Sim/src/RobotDrive.cpp @@ -698,17 +698,17 @@ void RobotDrive::SetExpiration(float timeout) // FIXME: m_safetyHelper->SetExpiration(timeout); } -float RobotDrive::GetExpiration() +float RobotDrive::GetExpiration() const { return -1; // FIXME: return m_safetyHelper->GetExpiration(); } -bool RobotDrive::IsAlive() +bool RobotDrive::IsAlive() const { return true; // FIXME: m_safetyHelper->IsAlive(); } -bool RobotDrive::IsSafetyEnabled() +bool RobotDrive::IsSafetyEnabled() const { return false; // FIXME: return m_safetyHelper->IsSafetyEnabled(); } @@ -718,7 +718,7 @@ void RobotDrive::SetSafetyEnabled(bool enabled) // FIXME: m_safetyHelper->SetSafetyEnabled(enabled); } -void RobotDrive::GetDescription(char *desc) +void RobotDrive::GetDescription(char *desc) const { sprintf(desc, "RobotDrive"); } diff --git a/wpilibc/wpilibC++Sim/src/SafePWM.cpp b/wpilibc/wpilibC++Sim/src/SafePWM.cpp index fb51f32fc4..b5c4c42022 100644 --- a/wpilibc/wpilibC++Sim/src/SafePWM.cpp +++ b/wpilibc/wpilibC++Sim/src/SafePWM.cpp @@ -44,7 +44,7 @@ void SafePWM::SetExpiration(float timeout) * Return the expiration time for the PWM object. * @returns The expiration time value. */ -float SafePWM::GetExpiration() +float SafePWM::GetExpiration() const { return m_safetyHelper->GetExpiration(); } @@ -54,7 +54,7 @@ float SafePWM::GetExpiration() * @returns a bool value that is true if the motor has NOT timed out and should still * be running. */ -bool SafePWM::IsAlive() +bool SafePWM::IsAlive() const { return m_safetyHelper->IsAlive(); } @@ -83,12 +83,12 @@ void SafePWM::SetSafetyEnabled(bool enabled) * Check if motor safety is enabled for this object * @returns True if motor safety is enforced for this object */ -bool SafePWM::IsSafetyEnabled() +bool SafePWM::IsSafetyEnabled() const { return m_safetyHelper->IsSafetyEnabled(); } -void SafePWM::GetDescription(char *desc) +void SafePWM::GetDescription(char *desc) const { sprintf(desc, "PWM %d", GetChannel()); } diff --git a/wpilibc/wpilibC++Sim/src/Solenoid.cpp b/wpilibc/wpilibC++Sim/src/Solenoid.cpp index bf29282192..c3622992ab 100644 --- a/wpilibc/wpilibC++Sim/src/Solenoid.cpp +++ b/wpilibc/wpilibC++Sim/src/Solenoid.cpp @@ -65,7 +65,7 @@ void Solenoid::Set(bool on) * * @return The current value of the solenoid. */ -bool Solenoid::Get() +bool Solenoid::Get() const { return m_on; } @@ -95,7 +95,7 @@ void Solenoid::StopLiveWindowMode() { } } -std::string Solenoid::GetSmartDashboardType() { +std::string Solenoid::GetSmartDashboardType() const { return "Solenoid"; } @@ -104,6 +104,6 @@ void Solenoid::InitTable(ITable *subTable) { UpdateTable(); } -ITable * Solenoid::GetTable() { +ITable * Solenoid::GetTable() const { return m_table; } diff --git a/wpilibc/wpilibC++Sim/src/Talon.cpp b/wpilibc/wpilibC++Sim/src/Talon.cpp index 7732b8f1ee..dcd0fa2f1d 100644 --- a/wpilibc/wpilibC++Sim/src/Talon.cpp +++ b/wpilibc/wpilibC++Sim/src/Talon.cpp @@ -62,7 +62,7 @@ void Talon::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float Talon::Get() +float Talon::Get() const { return GetSpeed(); } diff --git a/wpilibc/wpilibC++Sim/src/Task.cpp b/wpilibc/wpilibC++Sim/src/Task.cpp index a38fa94f7c..7b603c470e 100644 --- a/wpilibc/wpilibC++Sim/src/Task.cpp +++ b/wpilibc/wpilibC++Sim/src/Task.cpp @@ -91,7 +91,7 @@ bool Task::Stop() * Returns true if the task is ready to execute (i.e. not suspended, delayed, or blocked). * @return true if ready, false if not ready. */ -bool Task::IsReady() +bool Task::IsReady() const { return isTaskReady(m_taskID); } @@ -100,7 +100,7 @@ bool Task::IsReady() * Returns true if the task was explicitly suspended by calling Suspend() * @return true if suspended, false if not suspended. */ -bool Task::IsSuspended() +bool Task::IsSuspended() const { return isTaskSuspended(m_taskID); } @@ -127,7 +127,7 @@ bool Task::Resume() * Verifies a task still exists. * @returns true on success. */ -bool Task::Verify() +bool Task::Verify() const { return verifyTaskID(m_taskID) == OK; } @@ -161,7 +161,7 @@ bool Task::SetPriority(int32_t priority) * Returns the name of the task. * @returns Pointer to the name of the task or NULL if not allocated */ -const char* Task::GetName() +const char* Task::GetName() const { return m_taskName; } @@ -170,7 +170,7 @@ const char* Task::GetName() * Get the ID of a task * @returns Task ID of this task. Task::kInvalidTaskID (-1) if the task has not been started or has already exited. */ -TASK Task::GetID() +TASK Task::GetID() const { if (Verify()) return m_taskID; diff --git a/wpilibc/wpilibC++Sim/src/Timer.cpp b/wpilibc/wpilibC++Sim/src/Timer.cpp index cbf25cdfc8..4d6bba49f8 100644 --- a/wpilibc/wpilibC++Sim/src/Timer.cpp +++ b/wpilibc/wpilibC++Sim/src/Timer.cpp @@ -82,7 +82,7 @@ Timer::~Timer() * * @return unsigned Current time value for this timer in seconds */ -double Timer::Get() +double Timer::Get() const { double result; double currentTime = GetFPGATimestamp(); diff --git a/wpilibc/wpilibC++Sim/src/Victor.cpp b/wpilibc/wpilibC++Sim/src/Victor.cpp index 333e2d25f8..f4ab50cb0e 100644 --- a/wpilibc/wpilibC++Sim/src/Victor.cpp +++ b/wpilibc/wpilibC++Sim/src/Victor.cpp @@ -64,7 +64,7 @@ void Victor::Set(float speed, uint8_t syncGroup) * * @return The most recently set value for the PWM between -1.0 and 1.0. */ -float Victor::Get() +float Victor::Get() const { return GetSpeed(); }