14#include <units/angle.h>
15#include <units/angular_acceleration.h>
16#include <units/angular_velocity.h>
17#include <units/current.h>
18#include <units/dimensionless.h>
19#include <units/temperature.h>
20#include <units/voltage.h>
Represents a status signal with data of type T, and operations available to retrieve information abou...
Definition StatusSignal.hpp:656
Contains all status signals available for devices that support Talon signals.
Definition HasTalonSignals.hpp:31
virtual StatusSignal< int > & GetVersionBuild(bool refresh=true)=0
App Build Version number.
virtual StatusSignal< units::temperature::celsius_t > & GetAncillaryDeviceTemp(bool refresh=true)=0
Temperature of device from second sensor.
virtual ctre::phoenix::StatusCode ClearStickyFault_UsingFusedCANcoderWhileUnlicensed()=0
Clear sticky fault: Using Fused CANcoder feature while unlicensed.
virtual ctre::phoenix::StatusCode SetPosition(units::angle::turn_t newValue)=0
Sets the mechanism position of the device in mechanism rotations.
virtual ctre::phoenix::StatusCode ClearStickyFaults(units::time::second_t timeoutSeconds)=0
Clear the sticky faults in the device.
virtual StatusSignal< int > & GetVersionMajor(bool refresh=true)=0
App Major Version number.
virtual ctre::phoenix::StatusCode ClearStickyFault_DeviceTemp()=0
Clear sticky fault: Device temperature exceeded limit.
virtual StatusSignal< units::current::ampere_t > & GetTorqueCurrent(bool refresh=true)=0
Current corresponding to the torque output by the motor.
virtual StatusSignal< double > & GetClosedLoopIntegratedOutput(bool refresh=true)=0
Closed loop integrated component.
virtual ctre::phoenix::StatusCode ClearStickyFault_ForwardHardLimit()=0
Clear sticky fault: Forward limit switch has been asserted.
virtual ctre::phoenix::StatusCode ClearStickyFault_ForwardSoftLimit(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Forward soft limit has been asserted.
virtual StatusSignal< double > & GetDifferentialClosedLoopOutput(bool refresh=true)=0
Differential closed loop total output.
virtual ctre::phoenix::StatusCode ClearStickyFault_ForwardHardLimit(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Forward limit switch has been asserted.
virtual StatusSignal< bool > & GetStickyFault_StatorCurrLimit(bool refresh=true)=0
Stator current limit occured.
virtual StatusSignal< double > & GetDifferentialClosedLoopDerivativeOutput(bool refresh=true)=0
Differential closed loop derivative component.
virtual StatusSignal< bool > & GetFault_UnlicensedFeatureInUse(bool refresh=true)=0
An unlicensed feature is in use, device may not behave as expected.
virtual StatusSignal< bool > & GetFault_StaticBrakeDisabled(bool refresh=true)=0
Static brake was momentarily disabled due to excessive braking current while disabled.
virtual StatusSignal< double > & GetDifferentialClosedLoopReference(bool refresh=true)=0
Value that the differential closed loop is targeting.
virtual StatusSignal< bool > & GetFault_RemoteSensorPosOverflow(bool refresh=true)=0
The remote sensor position has overflowed.
virtual StatusSignal< bool > & GetStickyFault_Hardware(bool refresh=true)=0
Hardware fault occurred.
virtual ctre::phoenix::StatusCode ClearStickyFault_SupplyCurrLimit()=0
Clear sticky fault: Supply current limit occured.
virtual StatusSignal< ctre::unit::rpm_per_volt_t > & GetMotorKV(bool refresh=true)=0
The velocity constant (K_V) of the motor.
virtual StatusSignal< double > & GetDifferentialClosedLoopReferenceSlope(bool refresh=true)=0
Derivative of the target that the differential closed loop is targeting.
virtual StatusSignal< signals::ForwardLimitValue > & GetForwardLimit(bool refresh=true)=0
Forward Limit Pin.
virtual ctre::phoenix::StatusCode SetPosition(units::angle::turn_t newValue, units::time::second_t timeoutSeconds)=0
Sets the mechanism position of the device in mechanism rotations.
virtual StatusSignal< units::angular_velocity::turns_per_second_t > & GetDifferentialAverageVelocity(bool refresh=true)=0
Average component of the differential velocity of device.
virtual StatusSignal< double > & GetClosedLoopDerivativeOutput(bool refresh=true)=0
Closed loop derivative component.
virtual StatusSignal< bool > & GetStickyFault_BootDuringEnable(bool refresh=true)=0
Device boot while detecting the enable signal.
virtual ctre::phoenix::StatusCode ClearStickyFault_Hardware()=0
Clear sticky fault: Hardware fault occurred.
virtual StatusSignal< units::angle::turn_t > & GetPosition(bool refresh=true)=0
Position of the device in mechanism rotations.
virtual ctre::phoenix::StatusCode ClearStickyFault_UsingFusedCANcoderWhileUnlicensed(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Using Fused CANcoder feature while unlicensed.
virtual StatusSignal< double > & GetClosedLoopProportionalOutput(bool refresh=true)=0
Closed loop proportional component.
virtual StatusSignal< units::angular_velocity::turns_per_second_t > & GetDifferentialDifferenceVelocity(bool refresh=true)=0
Difference component of the differential velocity of device.
virtual StatusSignal< units::current::ampere_t > & GetStatorCurrent(bool refresh=true)=0
Current corresponding to the stator windings.
virtual StatusSignal< units::voltage::volt_t > & GetMotorVoltage(bool refresh=true)=0
The applied (output) motor voltage.
virtual ctre::phoenix::StatusCode ClearStickyFaults()=0
Clear the sticky faults in the device.
virtual StatusSignal< units::angle::turn_t > & GetDifferentialAveragePosition(bool refresh=true)=0
Average component of the differential position of device.
virtual ctre::phoenix::StatusCode ClearStickyFault_FusedSensorOutOfSync()=0
Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor.
virtual StatusSignal< bool > & GetFault_SupplyCurrLimit(bool refresh=true)=0
Supply current limit occured.
virtual StatusSignal< bool > & GetStickyFault_RemoteSensorReset(bool refresh=true)=0
The remote sensor has reset.
virtual StatusSignal< signals::BridgeOutputValue > & GetBridgeOutput(bool refresh=true)=0
The applied output of the bridge.
virtual ctre::phoenix::StatusCode ClearStickyFault_ReverseSoftLimit(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Reverse soft limit has been asserted.
virtual StatusSignal< int > & GetClosedLoopSlot(bool refresh=true)=0
The slot that the closed-loop PID is using.
virtual StatusSignal< signals::DeviceEnableValue > & GetDeviceEnable(bool refresh=true)=0
Indicates if device is actuator enabled.
virtual ctre::phoenix::StatusCode ClearStickyFault_MissingDifferentialFX()=0
Clear sticky fault: The remote Talon used for differential control is not present on CAN Bus.
virtual ctre::phoenix::StatusCode ClearStickyFault_UnlicensedFeatureInUse()=0
Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.
virtual StatusSignal< signals::MotorOutputStatusValue > & GetMotorOutputStatus(bool refresh=true)=0
Assess the status of the motor output with respect to load and supply.
virtual StatusSignal< units::temperature::celsius_t > & GetDeviceTemp(bool refresh=true)=0
Temperature of device.
virtual StatusSignal< signals::MotionMagicIsRunningValue > & GetMotionMagicIsRunning(bool refresh=true)=0
Check if Motion Magic® is running.
virtual StatusSignal< bool > & GetStickyFault_RemoteSensorPosOverflow(bool refresh=true)=0
The remote sensor position has overflowed.
virtual ctre::phoenix::StatusCode ClearStickyFault_StaticBrakeDisabled()=0
Clear sticky fault: Static brake was momentarily disabled due to excessive braking current while disa...
virtual StatusSignal< bool > & GetStickyFault_UnstableSupplyV(bool refresh=true)=0
Supply Voltage is unstable.
virtual ctre::phoenix::StatusCode ClearStickyFault_BridgeBrownout(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.
virtual StatusSignal< units::angular_velocity::turns_per_second_t > & GetVelocity(bool refresh=true)=0
Velocity of the device in mechanism rotations per second.
virtual StatusSignal< bool > & GetFault_UsingFusedCANcoderWhileUnlicensed(bool refresh=true)=0
Using Fused CANcoder feature while unlicensed.
virtual StatusSignal< signals::DifferentialControlModeValue > & GetDifferentialControlMode(bool refresh=true)=0
The active control mode of the differential controller.
virtual StatusSignal< bool > & GetFault_OverSupplyV(bool refresh=true)=0
Supply Voltage has exceeded the maximum voltage rating of device.
virtual ctre::phoenix::StatusCode ClearStickyFault_FusedSensorOutOfSync(units::time::second_t timeoutSeconds)=0
Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor.
virtual StatusSignal< double > & GetDifferentialClosedLoopProportionalOutput(bool refresh=true)=0
Differential closed loop proportional component.
virtual ctre::phoenix::StatusCode ClearStickyFault_RemoteSensorReset()=0
Clear sticky fault: The remote sensor has reset.
virtual StatusSignal< units::angle::turn_t > & GetRotorPosition(bool refresh=true)=0
Position of the motor rotor.
virtual StatusSignal< bool > & GetStickyFault_Undervoltage(bool refresh=true)=0
Device supply voltage dropped to near brownout levels.
virtual ctre::phoenix::StatusCode ClearStickyFault_ReverseSoftLimit()=0
Clear sticky fault: Reverse soft limit has been asserted.
virtual StatusSignal< int > & GetVersionMinor(bool refresh=true)=0
App Minor Version number.
virtual StatusSignal< signals::ReverseLimitValue > & GetReverseLimit(bool refresh=true)=0
Reverse Limit Pin.
virtual StatusSignal< ctre::unit::newton_meters_per_ampere_t > & GetMotorKT(bool refresh=true)=0
The torque constant (K_T) of the motor.
virtual StatusSignal< units::temperature::celsius_t > & GetProcessorTemp(bool refresh=true)=0
Temperature of the processor.
virtual StatusSignal< signals::ConnectedMotorValue > & GetConnectedMotor(bool refresh=true)=0
The type of motor attached to the Talon.
virtual StatusSignal< bool > & GetStickyFault_BridgeBrownout(bool refresh=true)=0
Bridge was disabled most likely due to supply voltage dropping too low.
virtual StatusSignal< bool > & GetStickyFault_UsingFusedCANcoderWhileUnlicensed(bool refresh=true)=0
Using Fused CANcoder feature while unlicensed.
virtual StatusSignal< bool > & GetStickyFault_ForwardHardLimit(bool refresh=true)=0
Forward limit switch has been asserted.
virtual ctre::phoenix::StatusCode ClearStickyFault_BootDuringEnable()=0
Clear sticky fault: Device boot while detecting the enable signal.
virtual ctre::phoenix::StatusCode ClearStickyFault_RemoteSensorDataInvalid(units::time::second_t timeoutSeconds)=0
Clear sticky fault: The remote sensor's data is no longer trusted.
virtual StatusSignal< bool > & GetFault_Hardware(bool refresh=true)=0
Hardware fault occurred.
virtual StatusSignal< bool > & GetStickyFault_ReverseSoftLimit(bool refresh=true)=0
Reverse soft limit has been asserted.
virtual StatusSignal< bool > & GetFault_StatorCurrLimit(bool refresh=true)=0
Stator current limit occured.
virtual ctre::phoenix::StatusCode ClearStickyFault_MissingSoftLimitRemote(units::time::second_t timeoutSeconds)=0
Clear sticky fault: The remote soft limit device is not present on CAN Bus.
virtual StatusSignal< bool > & GetStickyFault_ReverseHardLimit(bool refresh=true)=0
Reverse limit switch has been asserted.
virtual StatusSignal< units::angular_velocity::turns_per_second_t > & GetRotorVelocity(bool refresh=true)=0
Velocity of the motor rotor.
virtual ctre::phoenix::StatusCode ClearStickyFault_RemoteSensorPosOverflow()=0
Clear sticky fault: The remote sensor position has overflowed.
virtual ~HasTalonSignals()=default
virtual StatusSignal< bool > & GetStickyFault_MissingDifferentialFX(bool refresh=true)=0
The remote Talon used for differential control is not present on CAN Bus.
virtual ctre::phoenix::StatusCode ClearStickyFault_Hardware(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Hardware fault occurred.
virtual ctre::phoenix::StatusCode ClearStickyFault_MissingDifferentialFX(units::time::second_t timeoutSeconds)=0
Clear sticky fault: The remote Talon used for differential control is not present on CAN Bus.
virtual StatusSignal< bool > & GetFault_ForwardHardLimit(bool refresh=true)=0
Forward limit switch has been asserted.
virtual ctre::phoenix::StatusCode ClearStickyFault_Undervoltage(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Device supply voltage dropped to near brownout levels.
virtual ctre::phoenix::StatusCode ClearStickyFault_UnlicensedFeatureInUse(units::time::second_t timeoutSeconds)=0
Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.
virtual ctre::phoenix::StatusCode ClearStickyFault_StatorCurrLimit(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Stator current limit occured.
virtual StatusSignal< bool > & GetStickyFault_ProcTemp(bool refresh=true)=0
Processor temperature exceeded limit.
virtual StatusSignal< bool > & GetFault_BootDuringEnable(bool refresh=true)=0
Device boot while detecting the enable signal.
virtual StatusSignal< bool > & GetStickyFault_FusedSensorOutOfSync(bool refresh=true)=0
The remote sensor used for fusion has fallen out of sync to the local sensor.
virtual ctre::phoenix::StatusCode ClearStickyFault_ReverseHardLimit(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Reverse limit switch has been asserted.
virtual StatusSignal< int > & GetVersion(bool refresh=true)=0
Full Version of firmware in device.
virtual StatusSignal< bool > & GetFault_BridgeBrownout(bool refresh=true)=0
Bridge was disabled most likely due to supply voltage dropping too low.
virtual StatusSignal< double > & GetClosedLoopReferenceSlope(bool refresh=true)=0
Derivative of the target that the closed loop is targeting.
virtual ctre::phoenix::StatusCode ClearStickyFault_BootDuringEnable(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Device boot while detecting the enable signal.
virtual StatusSignal< bool > & GetFault_Undervoltage(bool refresh=true)=0
Device supply voltage dropped to near brownout levels.
virtual StatusSignal< bool > & GetFault_UnstableSupplyV(bool refresh=true)=0
Supply Voltage is unstable.
virtual StatusSignal< units::current::ampere_t > & GetMotorStallCurrent(bool refresh=true)=0
The stall current of the motor at 12 V output.
virtual ctre::phoenix::StatusCode ClearStickyFault_BridgeBrownout()=0
Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.
virtual ctre::phoenix::StatusCode ClearStickyFault_ProcTemp(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Processor temperature exceeded limit.
virtual ctre::phoenix::StatusCode ClearStickyFault_RemoteSensorPosOverflow(units::time::second_t timeoutSeconds)=0
Clear sticky fault: The remote sensor position has overflowed.
virtual ctre::phoenix::StatusCode ClearStickyFault_MissingSoftLimitRemote()=0
Clear sticky fault: The remote soft limit device is not present on CAN Bus.
virtual ctre::phoenix::StatusCode ClearStickyFault_RemoteSensorDataInvalid()=0
Clear sticky fault: The remote sensor's data is no longer trusted.
virtual StatusSignal< bool > & GetStickyFault_RemoteSensorDataInvalid(bool refresh=true)=0
The remote sensor's data is no longer trusted.
virtual StatusSignal< units::current::ampere_t > & GetSupplyCurrent(bool refresh=true)=0
Measured supply side current.
virtual StatusSignal< int > & GetFaultField(bool refresh=true)=0
Integer representing all fault flags reported by the device.
virtual StatusSignal< signals::ControlModeValue > & GetControlMode(bool refresh=true)=0
The active control mode of the motor controller.
virtual StatusSignal< int > & GetDifferentialClosedLoopSlot(bool refresh=true)=0
The slot that the closed-loop differential PID is using.
virtual StatusSignal< units::voltage::volt_t > & GetSupplyVoltage(bool refresh=true)=0
Measured supply voltage to the device.
virtual StatusSignal< bool > & GetStickyFault_MissingHardLimitRemote(bool refresh=true)=0
The remote limit switch device is not present on CAN Bus.
virtual StatusSignal< bool > & GetStickyFault_UnlicensedFeatureInUse(bool refresh=true)=0
An unlicensed feature is in use, device may not behave as expected.
virtual ctre::phoenix::StatusCode ClearStickyFault_SupplyCurrLimit(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Supply current limit occured.
virtual ctre::phoenix::StatusCode ClearStickyFault_UnstableSupplyV()=0
Clear sticky fault: Supply Voltage is unstable.
virtual StatusSignal< bool > & GetFault_MissingHardLimitRemote(bool refresh=true)=0
The remote limit switch device is not present on CAN Bus.
virtual ctre::phoenix::StatusCode ClearStickyFault_Undervoltage()=0
Clear sticky fault: Device supply voltage dropped to near brownout levels.
virtual ctre::phoenix::StatusCode ClearStickyFault_ProcTemp()=0
Clear sticky fault: Processor temperature exceeded limit.
virtual StatusSignal< bool > & GetStickyFault_OverSupplyV(bool refresh=true)=0
Supply Voltage has exceeded the maximum voltage rating of device.
virtual StatusSignal< signals::AppliedRotorPolarityValue > & GetAppliedRotorPolarity(bool refresh=true)=0
The applied rotor polarity as seen from the front of the motor.
virtual ctre::phoenix::StatusCode ClearStickyFault_UnstableSupplyV(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Supply Voltage is unstable.
virtual StatusSignal< bool > & GetStickyFault_StaticBrakeDisabled(bool refresh=true)=0
Static brake was momentarily disabled due to excessive braking current while disabled.
virtual StatusSignal< bool > & GetFault_ProcTemp(bool refresh=true)=0
Processor temperature exceeded limit.
virtual ctre::phoenix::StatusCode ClearStickyFault_StatorCurrLimit()=0
Clear sticky fault: Stator current limit occured.
virtual StatusSignal< units::angle::turn_t > & GetDifferentialDifferencePosition(bool refresh=true)=0
Difference component of the differential position of device.
virtual ctre::phoenix::StatusCode ClearStickyFault_MissingHardLimitRemote(units::time::second_t timeoutSeconds)=0
Clear sticky fault: The remote limit switch device is not present on CAN Bus.
virtual StatusSignal< bool > & GetFault_ForwardSoftLimit(bool refresh=true)=0
Forward soft limit has been asserted.
virtual ctre::phoenix::StatusCode ClearStickyFault_ForwardSoftLimit()=0
Clear sticky fault: Forward soft limit has been asserted.
virtual StatusSignal< bool > & GetFault_RemoteSensorDataInvalid(bool refresh=true)=0
The remote sensor's data is no longer trusted.
virtual StatusSignal< int > & GetStickyFaultField(bool refresh=true)=0
Integer representing all (persistent) sticky fault flags reported by the device.
virtual StatusSignal< double > & GetDifferentialClosedLoopError(bool refresh=true)=0
The difference between target differential reference and current measurement.
virtual StatusSignal< bool > & GetStickyFault_DeviceTemp(bool refresh=true)=0
Device temperature exceeded limit.
virtual ctre::phoenix::StatusCode ClearStickyFault_OverSupplyV(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.
virtual ctre::phoenix::StatusCode ClearStickyFault_DeviceTemp(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Device temperature exceeded limit.
virtual StatusSignal< double > & GetClosedLoopOutput(bool refresh=true)=0
Closed loop total output.
virtual StatusSignal< bool > & GetIsProLicensed(bool refresh=true)=0
Whether the device is Phoenix Pro licensed.
virtual StatusSignal< bool > & GetStickyFault_MissingSoftLimitRemote(bool refresh=true)=0
The remote soft limit device is not present on CAN Bus.
virtual StatusSignal< bool > & GetFault_FusedSensorOutOfSync(bool refresh=true)=0
The remote sensor used for fusion has fallen out of sync to the local sensor.
virtual StatusSignal< bool > & GetFault_DeviceTemp(bool refresh=true)=0
Device temperature exceeded limit.
virtual StatusSignal< units::dimensionless::scalar_t > & GetDutyCycle(bool refresh=true)=0
The applied motor duty cycle.
virtual ctre::phoenix::StatusCode ClearStickyFault_OverSupplyV()=0
Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.
virtual StatusSignal< bool > & GetFault_RemoteSensorReset(bool refresh=true)=0
The remote sensor has reset.
virtual StatusSignal< double > & GetClosedLoopReference(bool refresh=true)=0
Value that the closed loop is targeting.
virtual ctre::phoenix::StatusCode ClearStickyFault_ReverseHardLimit()=0
Clear sticky fault: Reverse limit switch has been asserted.
virtual ctre::phoenix::StatusCode ClearStickyFault_StaticBrakeDisabled(units::time::second_t timeoutSeconds)=0
Clear sticky fault: Static brake was momentarily disabled due to excessive braking current while disa...
virtual StatusSignal< units::angular_acceleration::turns_per_second_squared_t > & GetAcceleration(bool refresh=true)=0
Acceleration of the device in mechanism rotations per second².
virtual StatusSignal< bool > & GetFault_ReverseHardLimit(bool refresh=true)=0
Reverse limit switch has been asserted.
virtual StatusSignal< double > & GetDifferentialClosedLoopFeedForward(bool refresh=true)=0
Differential Feedforward passed by the user.
virtual StatusSignal< double > & GetClosedLoopError(bool refresh=true)=0
The difference between target reference and current measurement.
virtual StatusSignal< bool > & GetFault_MissingDifferentialFX(bool refresh=true)=0
The remote Talon used for differential control is not present on CAN Bus.
virtual StatusSignal< int > & GetVersionBugfix(bool refresh=true)=0
App Bugfix Version number.
virtual StatusSignal< double > & GetDifferentialClosedLoopIntegratedOutput(bool refresh=true)=0
Differential closed loop integrated component.
virtual ctre::phoenix::StatusCode ClearStickyFault_MissingHardLimitRemote()=0
Clear sticky fault: The remote limit switch device is not present on CAN Bus.
virtual StatusSignal< bool > & GetFault_MissingSoftLimitRemote(bool refresh=true)=0
The remote soft limit device is not present on CAN Bus.
virtual StatusSignal< double > & GetClosedLoopFeedForward(bool refresh=true)=0
Feedforward passed by the user.
virtual ctre::phoenix::StatusCode ClearStickyFault_RemoteSensorReset(units::time::second_t timeoutSeconds)=0
Clear sticky fault: The remote sensor has reset.
virtual StatusSignal< bool > & GetFault_ReverseSoftLimit(bool refresh=true)=0
Reverse soft limit has been asserted.
virtual StatusSignal< bool > & GetStickyFault_SupplyCurrLimit(bool refresh=true)=0
Supply current limit occured.
virtual StatusSignal< double > & GetDifferentialOutput(bool refresh=true)=0
The calculated motor output for differential followers.
virtual StatusSignal< bool > & GetStickyFault_ForwardSoftLimit(bool refresh=true)=0
Forward soft limit has been asserted.
Status codes reported by APIs, including OK, warnings, and errors.
Definition StatusCodes.h:27
Definition MotionMagicExpoTorqueCurrentFOC.hpp:18