|
Valkyrie 2026
|
Public Member Functions | |
| NeoController (valor::NeoControllerType, int canID, valor::NeutralMode mode, bool inverted) | |
| void | ApplyConfig () override |
| Signal< units::turn_t > | GetPosition () const override |
| Get the motors position. | |
| Signal< units::ampere_t > | GetCurrent () const override |
| Get the motors output current. | |
| Signal< units::volt_t > | GetVoltage () const override |
| Signal< units::turns_per_second_t > | GetSpeed () const override |
| Get the motors speed. | |
| Signal< units::turns_per_second_squared_t > | GetAcceleration () const override |
| 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. | |
| constexpr units::turns_per_second_t | GetMaxMechanismSpeed () |
| Get the mechanisms's maximum speed. | |
| constexpr double | GetGearRatio () const |
| constexpr void | SetVoltageCompensation (units::volt_t _voltageCompensation) |
| Setup the voltage compensation for the motor. | |
| constexpr units::volt_t | GetVoltageCompensation () const |
| 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. | |
| 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 | |
| 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. | |
| bool | WriteLog (std::string_view field, bool data) |
| double | WriteLog (std::string_view field, double data) |
| void | WriteLog (std::string_view field, const std::vector< double > &data) |
|
template<typename U> requires units::traits::is_unit_t_v<U> | |
| U | WriteLog (std::string_view field, U data) |
| void | WriteLog (std::string_view field, std::string_view data) |
|
template<typename E> requires std::is_enum_v<E> | |
| void | WriteLog (std::string_view field, E data) |
|
template<typename T> requires wpi::StructSerializable<T> && (!std::is_arithmetic_v<T>) | |
| void | WriteLog (std::string_view field, const T &data) |
|
template<typename T> requires wpi::StructSerializable<T> && (!std::is_arithmetic_v<T>) | |
| void | WriteLog (std::string_view field, const std::vector< T > &data) |
| bool | ReadLog (std::string_view field, bool defaultValue) |
| double | ReadLog (std::string_view field, double defaultValue) |
|
template<typename U> requires units::traits::is_unit_t_v<U> | |
| U | ReadLog (std::string_view field, U defaultValue) |
Static Public Member Functions | |
| static constexpr frc::DCMotor | getMotorSpec (NeoControllerType controllerType) |
| Static Public Member Functions inherited from valor::Loggable | |
| static constexpr Loggable & | GetRoot () |
Additional Inherited Members | |
| Public Types inherited from valor::BaseController | |
| enum class | OperationalMode { NON_OPERATIONAL , TUNING , OPERATIONAL } |
| enum class | ControlMode { VOLTAGE , CURRENT , DUTY_CYCLE , SPEED , POSITION } |
| using | Output = std::variant<units::volt_t, units::ampere_t, units::scalar_t> |
| Public Attributes inherited from valor::BaseController | |
| frc::DCMotor | motorSpec |
| Protected Attributes inherited from valor::BaseController | |
| double | rotorToSensor |
| double | sensorToMech |
| units::volt_t | voltageCompensation |
|
overridevirtual |
Implements valor::BaseController.
|
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 |
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::BaseController.
|
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.