|
Valkyrie 2026
|
Public Member Functions | |
| NeoController (valor::NeoControllerType, int canID, valor::NeutralMode mode, bool inverted) | |
| void | ApplyConfig () override |
| units::turn_t | GetPosition () const override |
| Get the motors position. | |
| units::ampere_t | GetCurrent () const override |
| Get the motors output current. | |
| units::turns_per_second_t | GetSpeed () const override |
| Get the motors speed. | |
| void | SetEncoderPosition (units::turn_t position) override |
| units::turn_t | GetAbsoluteEncoderPosition () const override |
| void | SetContinuousWrap (bool wrap, bool saveImmediately=false) |
| void | PositionSetter (units::turn_t positon, Output feedforward, int slot=0) override |
| Send the motor to a specific position. | |
| void | SpeedSetter (units::turns_per_second_t speed, Output feedforward, int slot=0) override |
| Send the motor to a specific speed. | |
| void | SetupFollower (int canID, bool followerInverted=false) override |
| If a motor is paired with another motor, setup that other motor as a follower. | |
| void | SetPIDF (valor::PIDF<> pidf, int slot=0, bool saveImmediately=false) override |
| Change the PIDF values for the motor. | |
| void | SetForwardLimit (units::turn_t forward, bool saveImmediately=false) override |
| Set the forward soft limit for the motor. | |
| void | SetReverseLimit (units::turn_t reverse, bool saveImmediately=false) override |
| Set the reverse soft limit for the motor. | |
| void | SetGearRatios (double rotorToSensor, double sensorToMech, bool saveImmediately=false) override |
| Set the gear ratios for the motor. | |
| void | SetCurrentLimits (units::ampere_t statorCurrentLimit, bool saveImmediately=false) |
| void | SetNeutralMode (valor::NeutralMode mode, bool saveImmediately=false) override |
| Set the neutral mode of the motor. | |
| void | SetOpenLoopRamp (units::second_t time, bool saveImmediately=false) override |
| void | PowerSetter (Output out) override |
| void | LoggablePeriodic () override |
| Periodic callback for logging updates. | |
| units::volt_t | CalculateAppliedVoltage () override |
| void | SetSimState (units::turn_t pos, units::turns_per_second_t vel, units::turns_per_second_squared_t accel) override |
| void | SetSimState (frc::sim::DCMotorSim &) override |
| void | SetSimState (frc::sim::FlywheelSim &) override |
| virtual void | SetSimState (frc::sim::SingleJointedArmSim &sim) |
| Public Member Functions inherited from valor::BaseController | |
| BaseController (frc::DCMotor _motorSpec) | |
| Construct a new Valor Controller object. | |
| void | OnLoggingStart () override |
| Hook invoked when logging is started for this object. | |
| OperationalMode | GetOperationalMode () const |
| TuningMode | GetTuningMode () const |
| constexpr units::turns_per_second_t | GetMaxMechanismSpeed () |
| Get the mechanisms's maximum speed. | |
| constexpr void | SetVoltageCompensation (units::volt_t _voltageCompensation) |
| Setup the voltage compensation for the motor. | |
| constexpr units::volt_t | GetVoltageCompensation () |
| virtual constexpr void | Reset () |
| Resets the motor and any state. | |
| void | SetPosition (units::turn_t position, Output feedforward=0, int slot=0) |
| void | SetSpeed (units::turns_per_second_t speed, Output feedforward=0, int slot=0) |
| void | SetPower (Output power) |
| void | SetLimits (units::turn_t reverse, units::turn_t forward, bool saveImmediately=false) |
| Set both soft limits for the motor. | |
| constexpr void | SetDefaultTuningMode (TuningMode mode) |
| Public Member Functions inherited from valor::Loggable | |
| Loggable (std::string_view name) | |
| Construct a Loggable that registers a top-level table name. | |
| Loggable (std::shared_ptr< nt::NetworkTable > table) | |
| Construct a Loggable that uses an existing NetworkTable. | |
| Loggable () | |
| Default construct an uninitialized Loggable. | |
| void | LogChild (std::string_view name, Loggable *child) |
| Register a child Loggable under a named subtree. | |
| void | LogChild (std::string_view name, wpi::Sendable *child) |
| Register a child Sendable under a named subtree. | |
| void | SetPeriodicLevel (LogLevel level) |
| Set the logging level for LoggablePeriodic. | |
| template<typename T> | |
| T | WriteLog (std::string_view field, const T &data, LogLevel level=LogLevel::Normal) |
| Publish a value to NetworkTables under the given field. | |
| template<typename T> | |
| T | ReadLog (std::string_view field, const T &defaultValue={}) |
| Read a value from NetworkTables for the given field. | |
| template<> | |
| decltype(Loggable::subscribers) ::iterator | addSubscriber (std::string_view field, const std::vector< bool > &defaultValue) |
| template<> | |
| void | WriteLogImpl (nt::Publisher *pub, const std::vector< bool > &data) |
| template<> | |
| std::vector< bool > | ReadLogImpl (nt::Subscriber *sub) |
Static Public Member Functions | |
| static constexpr frc::DCMotor | getMotorSpec (NeoControllerType controllerType) |
| Static Public Member Functions inherited from valor::Loggable | |
| static units::millisecond_t | GetLoggingTime () |
| static constexpr Loggable & | GetRoot () |
Additional Inherited Members | |
| Public Types inherited from valor::BaseController | |
| enum class | OperationalMode { NonOperational , Tuning , Operational } |
| enum class | TuningMode { Voltage , Current , DutyCycle , Speed , Position } |
| using | Output = std::variant<units::volt_t, units::ampere_t, units::scalar_t> |
| Public Attributes inherited from valor::BaseController | |
| frc::DCMotor | motorSpec |
| double | rotorToSensor |
| double | sensorToMech |
| Protected Attributes inherited from valor::BaseController | |
| units::volt_t | voltageCompensation |
|
overridevirtual |
Implements valor::BaseController.
|
overridevirtual |
Implements valor::BaseController.
|
overridevirtual |
Implements valor::BaseController.
|
overridevirtual |
Get the motors output current.
Get the instantaneous current of the motor that the controller owns
Implements valor::BaseController.
|
overridevirtual |
Get the motors position.
To be defined by the implemented BaseController class
Implements valor::BaseController.
|
overridevirtual |
Get the motors speed.
To be defined by the implemented BaseController class
Implements valor::BaseController.
|
overridevirtual |
Periodic callback for logging updates.
If a derived class needs to perform periodic updates to published values, override this method. It is intended to be called by the logging framework; this base class provides an empty implementation.
Reimplemented from valor::Loggable.
|
overridevirtual |
Send the motor to a specific position.
Will use the motor's native trapezoidal motion profile to get the motor to that position. Can be tuned using the velocity and acceleration components of valor::PIDF via setPIDF
To be defined by the implemented BaseController class
| position | The position to send the motor to |
| slot | The slot to use for PID gains |
Implements valor::BaseController.
|
overridevirtual |
Implements valor::BaseController.
|
overridevirtual |
Implements valor::BaseController.
|
overridevirtual |
Set the forward soft limit for the motor.
Soft limits restrict the reverse and forward direction to a certain range.
| forward | The forward soft limit |
| saveImmediately | Send the config change immediately to the motor controller |
Implements valor::BaseController.
|
overridevirtual |
Set the gear ratios for the motor.
Used to convert between the motor's rotor and the output shaft of the mechanism
To be defined by the implemented BaseController class
| rotorToSensor | The gear ratio from rotor to where the sensor is. Should be 1 if no external sensor |
| sensorToMech | The gear ratio from the sensor to the mechanism's output shaft. Should be the gear ratio if no external sensor |
| saveImmediately | Tell the underlying controller to apply the changes immediately, or to wait until a manual apply has been called |
Implements valor::BaseController.
|
overridevirtual |
Set the neutral mode of the motor.
| mode | The neutral mode of the motor |
| saveImmediately | Send the config change immediately to the motor controller |
Implements valor::BaseController.
|
overridevirtual |
Implements valor::BaseController.
|
overridevirtual |
Change the PIDF values for the motor.
valor::PIDF has some default values already set and tested, but if the system requires some changes, use this method to change those defaults.
| pidf | The new PIDF values to use for the system |
| slot | Set which slot of the motor to apply the PIDF. 0 if slots aren't compatible |
| saveImmediately | Send the config change immediately to the motor controller |
Implements valor::BaseController.
|
overridevirtual |
Set the reverse soft limit for the motor.
Soft limits restrict the reverse and reverse direction to a certain range.
| reverse | The reverse soft limit |
| saveImmediately | Send the config change immediately to the motor controller |
Implements valor::BaseController.
|
overridevirtual |
Reimplemented from valor::BaseController.
|
overridevirtual |
Reimplemented from valor::BaseController.
|
inlinevirtual |
Reimplemented from valor::BaseController.
|
overridevirtual |
Implements valor::BaseController.
|
overridevirtual |
If a motor is paired with another motor, setup that other motor as a follower.
The follower motor will need a CAN ID, and then it will mimic and assume all other parameters of the lead motor
To be defined by the implemented BaseController class
| canID | The CAN ID of the follower motor |
| followerInverted | Whether the follower is inverted or not. This is an absolute inversion, NOT relative to the master. |
Implements valor::BaseController.
|
overridevirtual |
Send the motor to a specific speed.
Will use the motor's native trapezoidal motion profile to get the motor to that position. Can be tuned using the PIDF components of valor::PIDF via setPIDF
To be defined by the implemented BaseController class
| speed | The speed to set the motor to |
| slot | The slot to use for PID gains |
Implements valor::BaseController.