mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
Keep track of FPGA time rollovers with 64-bit time.
This allows both greater than 72 minute (2^32 * 1 us) timeouts and also gracefully handles notifiers across the FPGA time counter rollover. Change-Id: Ibde0b903155f60b618b0ca4d5f8f6dd49f90b020
This commit is contained in:
committed by
Brad Miller (WPI)
parent
063925e737
commit
e2ec34090a
@@ -43,7 +43,7 @@ Notifier::~Notifier() {
|
||||
*/
|
||||
void Notifier::UpdateAlarm() {
|
||||
int32_t status = 0;
|
||||
updateNotifierAlarm(m_notifier, (uint32_t)(m_expirationTime * 1e6), &status);
|
||||
updateNotifierAlarm(m_notifier, (uint64_t)(m_expirationTime * 1e6), &status);
|
||||
wpi_setErrorWithContext(status, getHALErrorMessage(status));
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ void Notifier::UpdateAlarm() {
|
||||
* Notify is called by the HAL layer. We simply need to pass it through to
|
||||
* the user handler.
|
||||
*/
|
||||
void Notifier::Notify(uint32_t currentTimeInt, void *param) {
|
||||
void Notifier::Notify(uint64_t currentTimeInt, void *param) {
|
||||
Notifier* notifier = static_cast<Notifier*>(param);
|
||||
|
||||
notifier->m_processMutex.lock();
|
||||
|
||||
Reference in New Issue
Block a user