|  | @ -89,6 +89,7 @@ void app::loop(void) { | 
			
		
	
		
		
			
				
					|  |  |                 if(0 != len) { |  |  |                 if(0 != len) { | 
			
		
	
		
		
			
				
					|  |  |                     Inverter<> *iv = mSys->findInverter(&p->packet[1]); |  |  |                     Inverter<> *iv = mSys->findInverter(&p->packet[1]); | 
			
		
	
		
		
			
				
					|  |  |                     if(NULL != iv && p->packet[0] == (TX_REQ_INFO + 0x80)) { // response from get information command
 |  |  |                     if(NULL != iv && p->packet[0] == (TX_REQ_INFO + 0x80)) { // response from get information command
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                         mPayload[iv->id].txId = p->packet[0]; | 
			
		
	
		
		
			
				
					|  |  |                         DPRINTLN(DBG_DEBUG, F("Response from info request received")); |  |  |                         DPRINTLN(DBG_DEBUG, F("Response from info request received")); | 
			
		
	
		
		
			
				
					|  |  |                         uint8_t *pid = &p->packet[9]; |  |  |                         uint8_t *pid = &p->packet[9]; | 
			
		
	
		
		
			
				
					|  |  |                         if (*pid == 0x00) |  |  |                         if (*pid == 0x00) | 
			
		
	
	
		
		
			
				
					|  | @ -115,6 +116,7 @@ void app::loop(void) { | 
			
		
	
		
		
			
				
					|  |  |                         } |  |  |                         } | 
			
		
	
		
		
			
				
					|  |  |                     } |  |  |                     } | 
			
		
	
		
		
			
				
					|  |  |                     if(NULL != iv && p->packet[0] == (TX_REQ_DEVCONTROL + 0x80)) { // response from dev control command
 |  |  |                     if(NULL != iv && p->packet[0] == (TX_REQ_DEVCONTROL + 0x80)) { // response from dev control command
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                         mPayload[iv->id].txId = p->packet[0]; | 
			
		
	
		
		
			
				
					|  |  |                         DPRINTLN(DBG_DEBUG, F("Response from devcontrol request received")); |  |  |                         DPRINTLN(DBG_DEBUG, F("Response from devcontrol request received")); | 
			
		
	
		
		
			
				
					|  |  |                         iv->devControlRequest = false; |  |  |                         iv->devControlRequest = false; | 
			
		
	
		
		
			
				
					|  |  |                         switch (p->packet[12]) { |  |  |                         switch (p->packet[12]) { | 
			
		
	
	
		
		
			
				
					|  | @ -248,6 +250,7 @@ void app::loop(void) { | 
			
		
	
		
		
			
				
					|  |  |                         if(mConfig.serialDebug) |  |  |                         if(mConfig.serialDebug) | 
			
		
	
		
		
			
				
					|  |  |                             DPRINTLN(DBG_INFO, F("Devcontrol request ") + String(iv->devControlCmd) + F(" power limit ") + String(iv->powerLimit[0])); |  |  |                             DPRINTLN(DBG_INFO, F("Devcontrol request ") + String(iv->devControlCmd) + F(" power limit ") + String(iv->powerLimit[0])); | 
			
		
	
		
		
			
				
					|  |  |                         mSys->Radio.sendControlPacket(iv->radioId.u64, iv->devControlCmd ,iv->powerLimit); |  |  |                         mSys->Radio.sendControlPacket(iv->radioId.u64, iv->devControlCmd ,iv->powerLimit); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                         iv->clearCmdQueue(); | 
			
		
	
		
		
			
				
					|  |  |                         iv->enqueCommand<InfoCommand>(SystemConfigPara); |  |  |                         iv->enqueCommand<InfoCommand>(SystemConfigPara); | 
			
		
	
		
		
			
				
					|  |  |                     } else { |  |  |                     } else { | 
			
		
	
		
		
			
				
					|  |  |                         mSys->Radio.sendTimePacket(iv->radioId.u64,iv->getQueuedCmd(), mPayload[iv->id].ts,iv->alarmMesIndex); |  |  |                         mSys->Radio.sendTimePacket(iv->radioId.u64,iv->getQueuedCmd(), mPayload[iv->id].ts,iv->alarmMesIndex); | 
			
		
	
	
		
		
			
				
					|  | @ -306,6 +309,10 @@ void app::processPayload(bool retransmit) { | 
			
		
	
		
		
			
				
					|  |  |     for(uint8_t id = 0; id < mSys->getNumInverters(); id++) { |  |  |     for(uint8_t id = 0; id < mSys->getNumInverters(); id++) { | 
			
		
	
		
		
			
				
					|  |  |         Inverter<> *iv = mSys->getInverterByPos(id); |  |  |         Inverter<> *iv = mSys->getInverterByPos(id); | 
			
		
	
		
		
			
				
					|  |  |         if(NULL != iv) { |  |  |         if(NULL != iv) { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             if(mPayload[iv->id].txId != (TX_REQ_INFO + 0x80)) { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 // no processing needed if txId is not 0x95
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 mPayload[iv->id].complete = true; | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					|  |  |             if(!mPayload[iv->id].complete ) { |  |  |             if(!mPayload[iv->id].complete ) { | 
			
		
	
		
		
			
				
					|  |  |                 if(!buildPayload(iv->id)) { |  |  |                 if(!buildPayload(iv->id)) { | 
			
		
	
		
		
			
				
					|  |  |                     if(mPayload[iv->id].requested) { |  |  |                     if(mPayload[iv->id].requested) { | 
			
		
	
	
		
		
			
				
					|  | 
 |