|
@@ -76,8 +76,8 @@ int16_t mmu_version = -1;
|
|
|
|
|
|
int16_t mmu_buildnr = -1;
|
|
|
|
|
|
-uint32_t mmu_last_request = 0;
|
|
|
-uint32_t mmu_last_response = 0;
|
|
|
+ShortTimer mmu_last_request;
|
|
|
+ShortTimer mmu_last_response;
|
|
|
|
|
|
MmuCmd mmu_last_cmd = MmuCmd::None;
|
|
|
uint16_t mmu_power_failures = 0;
|
|
@@ -113,7 +113,7 @@ int mmu_puts_P(const char* str)
|
|
|
{
|
|
|
mmu_clr_rx_buf(); //clear rx buffer
|
|
|
int r = fputs_P(str, uart2io); //send command
|
|
|
- mmu_last_request = _millis();
|
|
|
+ mmu_last_request.start();
|
|
|
return r;
|
|
|
}
|
|
|
|
|
@@ -125,7 +125,7 @@ int mmu_printf_P(const char* format, ...)
|
|
|
mmu_clr_rx_buf(); //clear rx buffer
|
|
|
int r = vfprintf_P(uart2io, format, args); //send command
|
|
|
va_end(args);
|
|
|
- mmu_last_request = _millis();
|
|
|
+ mmu_last_request.start();
|
|
|
return r;
|
|
|
}
|
|
|
|
|
@@ -133,7 +133,7 @@ int mmu_printf_P(const char* format, ...)
|
|
|
int8_t mmu_rx_ok(void)
|
|
|
{
|
|
|
int8_t res = uart2_rx_str_P(PSTR("ok\n"));
|
|
|
- if (res == 1) mmu_last_response = _millis();
|
|
|
+ if (res == 1) mmu_last_response.start();
|
|
|
return res;
|
|
|
}
|
|
|
|
|
@@ -141,7 +141,7 @@ int8_t mmu_rx_ok(void)
|
|
|
int8_t mmu_rx_start(void)
|
|
|
{
|
|
|
int8_t res = uart2_rx_str_P(PSTR("start\n"));
|
|
|
- if (res == 1) mmu_last_response = _millis();
|
|
|
+ if (res == 1) mmu_last_response.start();
|
|
|
return res;
|
|
|
}
|
|
|
|
|
@@ -350,7 +350,7 @@ void mmu_loop(void)
|
|
|
mmu_printf_P(PSTR("M%d\n"), SilentModeMenu_MMU);
|
|
|
mmu_state = S::SwitchMode;
|
|
|
}
|
|
|
- else if ((mmu_last_response + 300) < _millis()) //request every 300ms
|
|
|
+ else if (mmu_last_response.expired(300)) //request every 300ms
|
|
|
{
|
|
|
#ifndef IR_SENSOR
|
|
|
if(check_for_ir_sensor()) ir_sensor_detected = true;
|
|
@@ -398,7 +398,7 @@ void mmu_loop(void)
|
|
|
if (mmu_cmd == MmuCmd::None)
|
|
|
mmu_ready = true;
|
|
|
}
|
|
|
- else if ((mmu_last_request + MMU_P0_TIMEOUT) < _millis())
|
|
|
+ else if (mmu_last_request.expired(MMU_P0_TIMEOUT))
|
|
|
{ //resend request after timeout (30s)
|
|
|
mmu_state = S::Idle;
|
|
|
}
|
|
@@ -424,7 +424,7 @@ void mmu_loop(void)
|
|
|
mmu_ready = true;
|
|
|
mmu_state = S::Idle;
|
|
|
}
|
|
|
- else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis())
|
|
|
+ else if (mmu_last_request.expired(MMU_CMD_TIMEOUT))
|
|
|
{ //resend request after timeout (5 min)
|
|
|
if (mmu_last_cmd != MmuCmd::None)
|
|
|
{
|
|
@@ -467,7 +467,7 @@ void mmu_loop(void)
|
|
|
mmu_ready = true;
|
|
|
mmu_state = S::Idle;
|
|
|
}
|
|
|
- else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis())
|
|
|
+ else if (mmu_last_request.expired(MMU_CMD_TIMEOUT))
|
|
|
{ //timeout 45 s
|
|
|
mmu_state = S::Idle;
|
|
|
}
|
|
@@ -479,7 +479,7 @@ void mmu_loop(void)
|
|
|
eeprom_update_byte((uint8_t*)EEPROM_MMU_STEALTH, SilentModeMenu_MMU);
|
|
|
mmu_state = S::Idle;
|
|
|
}
|
|
|
- else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis())
|
|
|
+ else if (mmu_last_request.expired(MMU_CMD_TIMEOUT))
|
|
|
{ //timeout 45 s
|
|
|
mmu_state = S::Idle;
|
|
|
}
|