Browse Source

Convert mmu_last_request and mmu_last_response to ShortTimer

Saves 180 bytes of flash and 2 byte of SRAM
Guðni Már Gilbert 3 years ago
parent
commit
1cd9ecb2c7
1 changed files with 11 additions and 11 deletions
  1. 11 11
      Firmware/mmu.cpp

+ 11 - 11
Firmware/mmu.cpp

@@ -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;
 		}