fix cyclic time sync when no timesource seen yet
This commit is contained in:
		
							parent
							
								
									01011013fc
								
							
						
					
					
						commit
						817f7793c4
					
				@ -22,6 +22,10 @@ void doHousekeeping() {
 | 
			
		||||
  if ((RTC_runmode == RUNMODE_UPDATE) || (RTC_runmode == RUNMODE_MAINTENANCE))
 | 
			
		||||
    do_reset(true); // warmstart
 | 
			
		||||
 | 
			
		||||
  // try to get time if we don't yet have a recent timesource
 | 
			
		||||
  if (timeSource == _unsynced || timeSource == _set)
 | 
			
		||||
    calibrateTime();
 | 
			
		||||
 | 
			
		||||
  // print heap and task storage information
 | 
			
		||||
  ESP_LOGD(TAG, "Heap: Free:%d, Min:%d, Size:%d, Alloc:%d, StackHWM:%d",
 | 
			
		||||
           ESP.getFreeHeap(), ESP.getMinFreeHeap(), ESP.getHeapSize(),
 | 
			
		||||
@ -49,11 +53,6 @@ void doHousekeeping() {
 | 
			
		||||
  if (GpsTask != NULL)
 | 
			
		||||
    ESP_LOGD(TAG, "Gpsloop %d bytes left | Taskstate = %d",
 | 
			
		||||
             uxTaskGetStackHighWaterMark(GpsTask), eTaskGetState(GpsTask));
 | 
			
		||||
  // (only) while device time is not set or unsynched, and we have a valid
 | 
			
		||||
  // GPS time, we call calibrateTime to poll time immeditately from GPS
 | 
			
		||||
  if ((timeSource == _unsynced || timeSource == _set) &&
 | 
			
		||||
      (gpstime.isUpdated() && gpstime.isValid() && gpstime.age() < 1000))
 | 
			
		||||
    calibrateTime();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef HAS_SPI
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user