|
Valkyrie 2026
|
Public Member Functions | |
| PhoenixController (valor::PhoenixControllerType controllerType, int canID, valor::NeutralMode neutralMode, bool inverted, std::string canbus="") | |
| PhoenixController (PhoenixControllerType controllerType=KRAKEN_X60_FOC) | |
| void | EnableFOC (bool enable) |
| void | SetNeutralMode (valor::NeutralMode mode, bool saveImmediately=false) override |
| Set the neutral mode of the motor. | |
| void | PositionSetter (units::turn_t position, Output feedforward, int slot) override |
| Send the motor to a specific position. | |
| void | SetPosition (units::turn_t position, units::turns_per_second_t maxVelocity, units::turns_per_second_squared_t maxAcceleration, units::turns_per_second_cubed_t maxJerk, Output feedforward=0, int slot=0) |
| void | SpeedSetter (units::turns_per_second_t velocity, Output feedforward, int slot) override |
| Send the motor to a specific speed. | |
| void | UseTimesync (units::hertz_t controlFreq, bool saveImmediately=false) |
| void | SetPIDF (valor::PIDF<> pidf, int slot=0, bool saveImmediately=false) override |
| Change the PIDF values for the motor. | |
| void | SetPosition (units::turn_t position, Output feedforward=0, int slot=0) |
| Public Member Functions inherited from valor::CorePhoenixController | |
| CorePhoenixController (valor::PhoenixControllerType controllerType, int canID, valor::NeutralMode neutralMode, bool inverted, std::string canbus="") | |
| CorePhoenixController (valor::PhoenixControllerType controllerType) | |
| void | ApplyConfig () override |
| void | Reset () override |
| Resets the motor and any state. | |
| void | SetCurrentLimits (units::ampere_t statorCurrentLimit, units::ampere_t supplyCurrentLimit, units::ampere_t supplyCurrentThreshold, units::second_t supplyTimeThreshold, bool saveImmediately=false) |
| void | SetVoltageLimits (units::volt_t reverseLimit, units::volt_t forwardLimit, bool saveImmediately=false) |
| units::turn_t | GetPosition () const override |
| Get the motors position. | |
| ctre::phoenix6::StatusSignal< units::turn_t > & | GetPositionSignal (bool refresh=true) |
| units::turns_per_second_t | GetSpeed () const override |
| Get the motors speed. | |
| units::ampere_t | GetCurrent () const override |
| Get the motors output current. | |
| void | SetEncoderPosition (units::turn_t position) override |
| void | SetContinuousWrap (bool continuousWrap, bool saveImmediately=false) |
| void | PowerSetter (Output out) override |
| void | SetupFollower (int canID, bool followerInverted=false) override |
| If a motor is paired with another motor, setup that other motor as a follower. | |
| void | SetupReverseHardwareLimit (int canID, ctre::phoenix6::signals::ReverseLimitTypeValue type, units::turn_t autosetPosition=0_tr, bool saveImmediately=false) |
| void | SetupForwardHardwareLimit (int canID, ctre::phoenix6::signals::ForwardLimitTypeValue type, units::turn_t autosetPosition=0_tr, bool saveImmediately=false) |
| 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. | |
| ctre::phoenix6::signals::MagnetHealthValue | GetMagnetHealth () |
| units::turn_t | GetAbsoluteEncoderPosition () const override |
| void | SetupCANcoder (int deviceId, units::turn_t offset, bool clockwise, std::string canbus="", units::turn_t absoluteRange=1_tr, bool saveImmediately=false) |
| ctre::phoenix6::hardware::CANcoder * | GetCANcoder () |
| void | SetOpenLoopRamp (units::second_t time, bool saveImmediately=false) override |
| units::volt_t | CalculateAppliedVoltage () override |
| void | SetSimState (units::turn_t pos, units::turns_per_second_t vel, units::turns_per_second_squared_t accel) |
| void | LoggablePeriodic () override |
| Periodic callback for logging updates. | |
| virtual void | SetSimState (frc::sim::DCMotorSim &sim) |
| virtual void | SetSimState (frc::sim::FlywheelSim &sim) |
| 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 () |
| 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) |
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> |
| Static Public Member Functions inherited from valor::Loggable | |
| static units::millisecond_t | GetLoggingTime () |
| static constexpr Loggable & | GetRoot () |
| Public Attributes inherited from valor::BaseController | |
| frc::DCMotor | motorSpec |
| double | rotorToSensor |
| double | sensorToMech |
| Protected Attributes inherited from valor::CorePhoenixController | |
| std::unique_ptr< CorePhoenixController > | followerMotor |
| std::unique_ptr< ctre::phoenix6::hardware::CANcoder > | cancoder |
| std::unique_ptr< ctre::phoenix6::configs::MagnetSensorConfigs > | cancoderConfig |
| ctre::phoenix6::configs::TalonFXConfiguration | config |
| ctre::phoenix6::controls::VoltageOut | voltageRequest {0_V} |
| ctre::phoenix6::controls::DutyCycleOut | dutyCycleRequest {0} |
| ctre::phoenix6::controls::TorqueCurrentFOC | currentRequest {0_A} |
| Protected Attributes inherited from valor::BaseController | |
| units::volt_t | voltageCompensation |
| Static Protected Attributes inherited from valor::CorePhoenixController | |
| static constexpr units::ampere_t | STATOR_CURRENT_LIMIT = 40_A |
| static constexpr units::ampere_t | SUPPLY_CURRENT_LIMIT = 30_A |
| static constexpr units::ampere_t | SUPPLY_CURRENT_THRESHOLD = 30_A |
| static constexpr units::millisecond_t | SUPPLY_TIME_THRESHOLD = 1_s |
| static constexpr units::ampere_t | PEAK_TORQUE_CURRENT = 100_A |
| static constexpr units::turn_t | DEADBAND = 0.01_tr |
|
inlineoverridevirtual |
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.
|
inlineoverridevirtual |
Set the neutral mode of the motor.
| mode | The neutral mode of the motor |
| saveImmediately | Send the config change immediately to the motor controller |
Reimplemented from valor::CorePhoenixController.
|
inlineoverridevirtual |
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.
|
inlineoverridevirtual |
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.