Represents a status signal with data of type T, and operations available to retrieve information about the signal.
More...
|
template<typename... Signals, typename = std::enable_if_t<is_all_status_signal_v<Signals...>>> |
static ctre::phoenix::StatusCode | WaitForAll (units::time::second_t timeoutSeconds, Signals &... signals) |
| Waits for new data on all provided signals up to timeout. More...
|
|
static ctre::phoenix::StatusCode | WaitForAll (units::time::second_t timeoutSeconds, const std::vector< BaseStatusSignal * > &signals) |
| Waits for new data on all provided signals up to timeout. More...
|
|
template<size_t N> |
static ctre::phoenix::StatusCode | WaitForAll (units::time::second_t timeoutSeconds, const std::array< BaseStatusSignal *, N > &signals) |
| Waits for new data on all provided signals up to timeout. More...
|
|
template<typename... Signals, typename = std::enable_if_t<is_all_status_signal_v<Signals...>>> |
static ctre::phoenix::StatusCode | RefreshAll (Signals &... signals) |
| Performs a non-blocking refresh on all provided signals. More...
|
|
static ctre::phoenix::StatusCode | RefreshAll (const std::vector< BaseStatusSignal * > &signals) |
| Performs a non-blocking refresh on all provided signals. More...
|
|
template<size_t N> |
static ctre::phoenix::StatusCode | RefreshAll (const std::array< BaseStatusSignal *, N > &signals) |
| Performs a non-blocking refresh on all provided signals. More...
|
|
template<typename U , typename U_PER_SEC > |
static U | GetLatencyCompensatedValue (StatusSignal< U > &signal, StatusSignal< U_PER_SEC > &signalSlope, units::time::second_t maxLatencySeconds=0.300_s) |
| Performs latency compensation on signal using the signalSlope and signal's latency to determine the magnitude of compensation. More...
|
|
template<typename... Signals, typename = std::enable_if_t<is_all_status_signal_v<Signals...>>> |
static bool | IsAllGood (Signals &... signals) |
| Checks if all signals have an OK error code. More...
|
|
static bool | IsAllGood (const std::vector< BaseStatusSignal * > &signals) |
| Checks if all signals have an OK error code. More...
|
|
template<size_t N> |
static bool | IsAllGood (const std::array< BaseStatusSignal *, N > &signals) |
| Checks if all signals have an OK error code. More...
|
|
template<typename... Signals, typename = std::enable_if_t<is_all_status_signal_v<Signals...>>> |
static ctre::phoenix::StatusCode | SetUpdateFrequencyForAll (units::frequency::hertz_t frequencyHz, Signals &... signals) |
| Sets the update frequency of all specified status signals to the provided common frequency. More...
|
|
static ctre::phoenix::StatusCode | SetUpdateFrequencyForAll (units::frequency::hertz_t frequencyHz, const std::vector< BaseStatusSignal * > &signals) |
| Sets the update frequency of all specified status signals to the provided common frequency. More...
|
|
template<size_t N> |
static ctre::phoenix::StatusCode | SetUpdateFrequencyForAll (units::frequency::hertz_t frequencyHz, const std::array< BaseStatusSignal *, N > &signals) |
| Sets the update frequency of all specified status signals to the provided common frequency. More...
|
|
void | CopyFrom (const BaseStatusSignal &other) |
|
| BaseStatusSignal (hardware::DeviceIdentifier deviceIdentifier, uint16_t spn, std::string signalName, std::function< void()> checkFirmVersFunction) |
|
| BaseStatusSignal (ctre::phoenix::StatusCode error) |
|
static ctre::phoenix::StatusCode | Status_WaitForAll (BaseStatusSignal *const *signals, size_t count, const char *network, double timeoutSeconds) |
| Wait for multiple signals to arrive. More...
|
|
static ctre::phoenix::StatusCode | Status_SetUpdateFrequency (const char *canbus, uint32_t deviceHash, uint16_t spn, double frequencyHz, double timeoutSeconds) |
|
static ctre::phoenix::StatusCode | Status_SetUpdateFrequencyForAll (BaseStatusSignal *const *signals, size_t count, double frequencyHz, double timeoutSeconds) |
|
static double | Status_GetAppliedUpdateFrequency (const char *canbus, uint32_t deviceHash, uint16_t spn) |
|
static std::string | Status_GetUnits (uint32_t signal) |
| Gets signal units. More...
|
|
static ctre::phoenix::StatusCode | Status_Get (const char *network, int deviceHash, uint32_t signal, bool bWaitForUpdate, double timeoutSeconds, double *outValue, double *hwtimestamp, double *swtimestamp, double *ecutimestamp) |
| Get signal update. More...
|
|
template<typename Arr > |
static ctre::phoenix::StatusCode | WaitForAllImpl (const char *location, units::time::second_t timeoutSeconds, const Arr &signals) |
| Implementation of the WaitForAll API. More...
|
|
hardware::DeviceIdentifier | deviceIdentifier |
|
uint16_t | spn |
|
std::string | units |
|
AllTimestamps | timestamps {} |
|
double | baseValue = 0 |
|
ctre::phoenix::StatusCode | error = ctre::phoenix::StatusCode::SigNotUpdated |
|
std::string | signalName |
|
std::function< void()> | _checkFirmVersFunction |
|
units::time::second_t | _lastTimestamp {0_s} |
|
template<typename... Signals> |
static constexpr bool | is_all_status_signal_v = is_all_status_signal<Signals...>::value |
| Whether all types passed in are subclasses of BaseStatusSignal. More...
|
|
template<typename T>
class ctre::phoenix6::StatusSignal< T >
Represents a status signal with data of type T, and operations available to retrieve information about the signal.