BaseStatusSignalWaitForAll Method
Waits for new data on all provided signals up to timeout.
This API is typically used with CANivore Bus signals as they will be synced using the
CANivore Timesync feature and arrive simultaneously.Signals on a roboRIO bus cannot
be synced and may require a significantly longer blocking call to receive all signals.
Note that CANivore Timesync requires Phoenix Pro.
This can also be used with a timeout of zero to refresh many signals at once, which
is faster than calling
Refresh(Boolean)on every signal.
This is equivalent to calling
RefreshAll(BaseStatusSignal).
Namespace: CTRE.Phoenix6Assembly: Phoenix6 (in Phoenix6.dll) Version: 1.0.0
public static StatusCode WaitForAll(
double timeoutSeconds,
params BaseStatusSignal[] signals
)
static member WaitForAll :
timeoutSeconds : float *
signals : BaseStatusSignal[] -> StatusCode
- timeoutSeconds Double
- Maximum time to wait for new data in seconds.
Pass Zero to refresh all signals without blocking.
- signals BaseStatusSignal
- Signals to wait for new data against.
StatusCodeAn
InvalidParamValue if signals array is empty,
InvalidNetwork if signals are on different CAN bus networks,
RxTimeout if it took longer than timeoutSeconds to receive all signals,
MultiSignalNotSupported if using a network that does not support more than one signal,
OK if all signals arrived within timeoutSeconds and they are all OK,
Any other signal represents the
StatusCode of the first failed signal.
Call
Status on each signal to determine which ones failed.