|  |  | @ -174,7 +174,6 @@ class MiPayload { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         void add(Inverter<> *iv, packet_t *p) { | 
			
		
	
		
			
				
					|  |  |  |             //DPRINTLN(DBG_INFO, F("MI got data [0]=") + String(p->packet[0], HEX));
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             if (p->packet[0] == (0x08 + ALL_FRAMES)) { // 0x88; MI status response to 0x09
 | 
			
		
	
		
			
				
					|  |  |  |                 miStsDecode(iv, p); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
	
		
			
				
					|  |  | @ -261,20 +260,26 @@ const byteAssign_t InfoAssignment[] = { | 
			
		
	
		
			
				
					|  |  |  |                     mStat->rxSuccess++; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             } else if (p->packet[0] == (TX_REQ_INFO + ALL_FRAMES)) {  // response from get information command
 | 
			
		
	
		
			
				
					|  |  |  |             } else if ( p->packet[0] == (TX_REQ_INFO + ALL_FRAMES) || p->packet[0] == 0xB6 ) {  // response from get information command
 | 
			
		
	
		
			
				
					|  |  |  |             // atm, we just do nothing else than print out what we got...
 | 
			
		
	
		
			
				
					|  |  |  |             // for decoding see xls- Data collection instructions - #147ff
 | 
			
		
	
		
			
				
					|  |  |  |                 mPayload[iv->id].txId = p->packet[0]; | 
			
		
	
		
			
				
					|  |  |  |                 DPRINTLN(DBG_DEBUG, F("Response from info request received")); | 
			
		
	
		
			
				
					|  |  |  |                 //mPayload[iv->id].txId = p->packet[0];
 | 
			
		
	
		
			
				
					|  |  |  |                 //DPRINTLN(DBG_DEBUG, F("Response from info request received"));
 | 
			
		
	
		
			
				
					|  |  |  |                 DBGPRINTLN_TXT(TXT_RXDIREQ); | 
			
		
	
		
			
				
					|  |  |  |                 uint8_t *pid = &p->packet[9]; | 
			
		
	
		
			
				
					|  |  |  |                 if (*pid == 0x00) { | 
			
		
	
		
			
				
					|  |  |  |                     DPRINT(DBG_DEBUG, F("fragment number zero received")); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                     //DPRINT(DBG_DEBUG, F("fragment number zero received"));
 | 
			
		
	
		
			
				
					|  |  |  |                     DBGPRINTLN_TXT(TXT_FRAGM0); | 
			
		
	
		
			
				
					|  |  |  |                     iv->setQueuedCmdFinished(); | 
			
		
	
		
			
				
					|  |  |  |                 } //else {
 | 
			
		
	
		
			
				
					|  |  |  |                     DPRINTLN(DBG_DEBUG, "PID: 0x" + String(*pid, HEX)); | 
			
		
	
		
			
				
					|  |  |  |                     /*
 | 
			
		
	
		
			
				
					|  |  |  |                     if ((*pid & 0x7F) < MAX_PAYLOAD_ENTRIES) { | 
			
		
	
		
			
				
					|  |  |  |                 } else if (p->packet[9] == 0x81) { | 
			
		
	
		
			
				
					|  |  |  |                     DPRINTHEAD(DBG_WARN, iv->id); | 
			
		
	
		
			
				
					|  |  |  |                     DBGPRINTLN_TXT(TXT_NO2NDG); | 
			
		
	
		
			
				
					|  |  |  |                     iv->ivGen = IV_HM; | 
			
		
	
		
			
				
					|  |  |  |                     iv->setQueuedCmdFinished(); | 
			
		
	
		
			
				
					|  |  |  |                     iv->clearCmdQueue(); | 
			
		
	
		
			
				
					|  |  |  |                     //DPRINTLN(DBG_DEBUG, "PID: 0x" + String(*pid, HEX));
 | 
			
		
	
		
			
				
					|  |  |  |                     /* (old else-tree)
 | 
			
		
	
		
			
				
					|  |  |  |                     if ((*pid & 0x7F) < MAX_PAYLOAD_ENTRIES) {^ | 
			
		
	
		
			
				
					|  |  |  |                         memcpy(mPayload[iv->id].data[(*pid & 0x7F) - 1], &p->packet[10], p->len - 11); | 
			
		
	
		
			
				
					|  |  |  |                         mPayload[iv->id].len[(*pid & 0x7F) - 1] = p->len - 11; | 
			
		
	
		
			
				
					|  |  |  |                         mPayload[iv->id].gotFragment = true; | 
			
		
	
	
		
			
				
					|  |  | @ -286,13 +291,14 @@ const byteAssign_t InfoAssignment[] = { | 
			
		
	
		
			
				
					|  |  |  |                             if (*pid > 0x81) | 
			
		
	
		
			
				
					|  |  |  |                                 mPayload[iv->id].lastFound = true; | 
			
		
	
		
			
				
					|  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |                     }*/ | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             //}
 | 
			
		
	
		
			
				
					|  |  |  |             } else if (p->packet[0] == (TX_REQ_DEVCONTROL + ALL_FRAMES )       // response from dev control command
 | 
			
		
	
		
			
				
					|  |  |  |                     || p->packet[0] == (TX_REQ_DEVCONTROL + ALL_FRAMES -1)) {  // response from DRED instruction
 | 
			
		
	
		
			
				
					|  |  |  |                 DPRINTHEAD(DBG_DEBUG, iv->id); | 
			
		
	
		
			
				
					|  |  |  |                 DBGPRINTLN(F("Response from devcontrol request received")); | 
			
		
	
		
			
				
					|  |  |  |                 DBGPRINTLN_TXT(TXT_RXCTRREQ); | 
			
		
	
		
			
				
					|  |  |  |                 //DBGPRINTLN(F("Response from devcontrol request received"));
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 mPayload[iv->id].txId = p->packet[0]; | 
			
		
	
		
			
				
					|  |  |  |                 iv->clearDevControlRequest(); | 
			
		
	
	
		
			
				
					|  |  | @ -313,7 +319,8 @@ const byteAssign_t InfoAssignment[] = { | 
			
		
	
		
			
				
					|  |  |  |                 //DPRINTLN(DBG_INFO, F("procPyld: cmd:  0x") + String(mPayload[iv->id].txCmd, HEX));
 | 
			
		
	
		
			
				
					|  |  |  |                 //DPRINTLN(DBG_INFO, F("procPyld: txid: 0x") + String(mPayload[iv->id].txId, HEX));
 | 
			
		
	
		
			
				
					|  |  |  |                 //DPRINTLN(DBG_DEBUG, F("procPyld: max:  ") + String(mPayload[iv->id].maxPackId));
 | 
			
		
	
		
			
				
					|  |  |  |                 DPRINT_INIT(DBG_INFO,TXT_PPYDCMD); | 
			
		
	
		
			
				
					|  |  |  |                 DPRINTHEAD(DBG_INFO, iv->id); | 
			
		
	
		
			
				
					|  |  |  |                 DBGPRINT_TXT(TXT_PPYDCMD); | 
			
		
	
		
			
				
					|  |  |  |                 DBGHEXLN(mPayload[iv->id].txCmd); | 
			
		
	
		
			
				
					|  |  |  |                 DBGPRINT_TXT(TXT_PPYDTXI); | 
			
		
	
		
			
				
					|  |  |  |                 DBGHEXLN(mPayload[iv->id].txId); | 
			
		
	
	
		
			
				
					|  |  | @ -718,7 +725,8 @@ const byteAssign_t InfoAssignment[] = { | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         bool build(uint8_t id, bool *complete) { | 
			
		
	
		
			
				
					|  |  |  |             DPRINTLN_TXT(DBG_VERBOSE, TXT_BUILD); | 
			
		
	
		
			
				
					|  |  |  |             DPRINTLN(DBG_VERBOSE, F("build")); | 
			
		
	
		
			
				
					|  |  |  |             //DPRINTLN_TXT(DBG_VERBOSE, TXT_BUILD);
 | 
			
		
	
		
			
				
					|  |  |  |             /*uint16_t crc = 0xffff, crcRcv = 0x0000;
 | 
			
		
	
		
			
				
					|  |  |  |             if (mPayload[id].maxPackId > MAX_PAYLOAD_ENTRIES) | 
			
		
	
		
			
				
					|  |  |  |                 mPayload[id].maxPackId = MAX_PAYLOAD_ENTRIES; | 
			
		
	
	
		
			
				
					|  |  | 
 |