|  | @ -59,7 +59,7 @@ void app::setup() { | 
			
		
	
		
		
			
				
					|  |  |     #endif // ETHERNET
 |  |  |     #endif // ETHERNET
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     #if !defined(ETHERNET) |  |  |     #if !defined(ETHERNET) | 
			
		
	
		
		
			
				
					
					|  |  |         mWifi.setup(mConfig, &mTimestamp, std::bind(&app::onNetwork, this, std::placeholders::_1)); |  |  |         mWifi.setup(mConfig, &mTimestamp, [this](bool gotIp) { this->onNetwork(gotIp); }, [this](bool gotTime) { this->onNtpUpdate(gotTime); }); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |         #if !defined(AP_ONLY) |  |  |         #if !defined(AP_ONLY) | 
			
		
	
		
		
			
				
					|  |  |             everySec(std::bind(&ahoywifi::tickWifiLoop, &mWifi), "wifiL"); |  |  |             everySec(std::bind(&ahoywifi::tickWifiLoop, &mWifi), "wifiL"); | 
			
		
	
		
		
			
				
					|  |  |         #endif |  |  |         #endif | 
			
		
	
	
		
		
			
				
					|  | @ -135,7 +135,6 @@ void app::setup() { | 
			
		
	
		
		
			
				
					|  |  |     }); |  |  |     }); | 
			
		
	
		
		
			
				
					|  |  |     #endif /*ENABLE_SIMULATOR*/ |  |  |     #endif /*ENABLE_SIMULATOR*/ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |     esp_task_wdt_reset(); |  |  |     esp_task_wdt_reset(); | 
			
		
	
		
		
			
				
					|  |  |     regularTickers(); |  |  |     regularTickers(); | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
	
		
		
			
				
					|  | @ -164,7 +163,7 @@ void app::loop(void) { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | //-----------------------------------------------------------------------------
 |  |  | //-----------------------------------------------------------------------------
 | 
			
		
	
		
		
			
				
					|  |  | void app::onNetwork(bool gotIp) { |  |  | void app::onNetwork(bool gotIp) { | 
			
		
	
		
		
			
				
					
					|  |  |     DPRINTLN(DBG_DEBUG, F("onNetwork")); |  |  |     DPRINTLN(DBG_INFO, F("onNetwork")); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |     mNetworkConnected = gotIp; |  |  |     mNetworkConnected = gotIp; | 
			
		
	
		
		
			
				
					|  |  |     ah::Scheduler::resetTicker(); |  |  |     ah::Scheduler::resetTicker(); | 
			
		
	
		
		
			
				
					|  |  |     regularTickers(); //reinstall regular tickers
 |  |  |     regularTickers(); //reinstall regular tickers
 | 
			
		
	
	
		
		
			
				
					|  | @ -205,11 +204,9 @@ void app::regularTickers(void) { | 
			
		
	
		
		
			
				
					|  |  |     #endif /*ENABLE_SIMULATOR*/ |  |  |     #endif /*ENABLE_SIMULATOR*/ | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | #if defined(ETHERNET) |  |  |  | 
			
		
	
		
		
			
				
					|  |  | void app::onNtpUpdate(bool gotTime) { |  |  | void app::onNtpUpdate(bool gotTime) { | 
			
		
	
		
		
			
				
					|  |  |     mNtpReceived = true; |  |  |     mNtpReceived = true; | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
		
		
			
				
					|  |  | #endif /* defined(ETHERNET) */ |  |  |  | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | //-----------------------------------------------------------------------------
 |  |  | //-----------------------------------------------------------------------------
 | 
			
		
	
		
		
			
				
					|  |  | void app::updateNtp(void) { |  |  | void app::updateNtp(void) { | 
			
		
	
	
		
		
			
				
					|  | @ -250,20 +247,20 @@ void app::updateNtp(void) { | 
			
		
	
		
		
			
				
					|  |  | //-----------------------------------------------------------------------------
 |  |  | //-----------------------------------------------------------------------------
 | 
			
		
	
		
		
			
				
					|  |  | void app::tickNtpUpdate(void) { |  |  | void app::tickNtpUpdate(void) { | 
			
		
	
		
		
			
				
					|  |  |     uint32_t nxtTrig = 5;  // default: check again in 5 sec
 |  |  |     uint32_t nxtTrig = 5;  // default: check again in 5 sec
 | 
			
		
	
		
		
			
				
					|  |  |     bool isOK = false; |  |  |  | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     #if defined(ETHERNET) |  |  |     #if defined(ETHERNET) | 
			
		
	
		
		
			
				
					|  |  |         if (!mNtpReceived) |  |  |         if (!mNtpReceived) | 
			
		
	
		
		
			
				
					|  |  |             mEth.updateNtpTime(); |  |  |             mEth.updateNtpTime(); | 
			
		
	
		
		
			
				
					
					|  |  |     else { |  |  |         else | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             mNtpReceived = false; |  |  |             mNtpReceived = false; | 
			
		
	
		
		
			
				
					|  |  |         isOK = true; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |  | 
			
		
	
		
		
			
				
					|  |  |         #else |  |  |         #else | 
			
		
	
		
		
			
				
					
					|  |  |     isOK = mWifi.getNtpTime(); |  |  |         if (!mNtpReceived) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |             mWifi.updateNtpTime(); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         else | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             mNtpReceived = false; | 
			
		
	
		
		
			
				
					|  |  |     #endif |  |  |     #endif | 
			
		
	
		
		
			
				
					
					|  |  |     if (isOK) { |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |         this->updateNtp(); |  |  |     updateNtp(); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |     nxtTrig = mConfig->ntp.interval * 60;  // check again in 12h
 |  |  |     nxtTrig = mConfig->ntp.interval * 60;  // check again in 12h
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     // immediately start communicating
 |  |  |     // immediately start communicating
 | 
			
		
	
	
		
		
			
				
					|  | @ -273,7 +270,7 @@ void app::tickNtpUpdate(void) { | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     mMqttReconnect = false; |  |  |     mMqttReconnect = false; | 
			
		
	
		
		
			
				
					
					|  |  |     } |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |     once(std::bind(&app::tickNtpUpdate, this), nxtTrig, "ntp"); |  |  |     once(std::bind(&app::tickNtpUpdate, this), nxtTrig, "ntp"); | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -561,10 +558,7 @@ void app::resetSystem(void) { | 
			
		
	
		
		
			
				
					|  |  |     mSaveReboot = false; |  |  |     mSaveReboot = false; | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     mNetworkConnected = false; |  |  |     mNetworkConnected = false; | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  | #if defined(ETHERNET) |  |  |  | 
			
		
	
		
		
			
				
					|  |  |     mNtpReceived = false; |  |  |     mNtpReceived = false; | 
			
		
	
		
		
			
				
					|  |  | #endif |  |  |  | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | //-----------------------------------------------------------------------------
 |  |  | //-----------------------------------------------------------------------------
 | 
			
		
	
	
		
		
			
				
					|  | 
 |