|  | @ -59,7 +59,12 @@ template <uint8_t CE_PIN, uint8_t CS_PIN, class BUFFER, uint64_t DTU_ID=DTU_RADI | 
			
		
	
		
		
			
				
					|  |  | class HmRadio { |  |  | class HmRadio { | 
			
		
	
		
		
			
				
					|  |  |     public: |  |  |     public: | 
			
		
	
		
		
			
				
					|  |  |         HmRadio() : mNrf24(CE_PIN, CS_PIN, SPI_SPEED) { |  |  |         HmRadio() : mNrf24(CE_PIN, CS_PIN, SPI_SPEED) { | 
			
		
	
		
		
			
				
					
					|  |  |             DPRINTLN(DBG_VERBOSE, F("hmRadio.h : HmRadio():mNrf24(CE_PIN: ") + String(CE_PIN) + F(", CS_PIN: ") + String(CS_PIN) + F(", SPI_SPEED: ") + String(SPI_SPEED) + ")"); |  |  |             DPRINT(DBG_VERBOSE, F("hmRadio.h : HmRadio():mNrf24(CE_PIN: ")); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |             DPRINT(DBG_VERBOSE, String(CE_PIN)); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             DPRINT(DBG_VERBOSE, F(", CS_PIN: ")); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             DPRINT(DBG_VERBOSE, String(CS_PIN)); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             DPRINT(DBG_VERBOSE, F(", SPI_SPEED: ")); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             DPRINTLN(DBG_VERBOSE, String(SPI_SPEED) + ")"); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |             // Depending on the program, the module can work on 2403, 2423, 2440, 2461 or 2475MHz.
 |  |  |             // Depending on the program, the module can work on 2403, 2423, 2440, 2461 or 2475MHz.
 | 
			
		
	
		
		
			
				
					|  |  |             // Channel List      2403, 2423, 2440, 2461, 2475MHz
 |  |  |             // Channel List      2403, 2423, 2440, 2461, 2475MHz
 | 
			
		
	
	
		
		
			
				
					|  | @ -101,7 +106,8 @@ class HmRadio { | 
			
		
	
		
		
			
				
					|  |  |             // enable only receiving interrupts
 |  |  |             // enable only receiving interrupts
 | 
			
		
	
		
		
			
				
					|  |  |             mNrf24.maskIRQ(true, true, false); |  |  |             mNrf24.maskIRQ(true, true, false); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             DPRINTLN(DBG_INFO, F("RF24 Amp Pwr: RF24_PA_") + String(rf24AmpPowerNames[config->amplifierPower])); |  |  |             DPRINT(DBG_INFO, F("RF24 Amp Pwr: RF24_PA_")); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |             DPRINTLN(DBG_INFO, String(rf24AmpPowerNames[config->amplifierPower])); | 
			
		
	
		
		
			
				
					|  |  |             mNrf24.setPALevel(config->amplifierPower & 0x03); |  |  |             mNrf24.setPALevel(config->amplifierPower & 0x03); | 
			
		
	
		
		
			
				
					|  |  |             mNrf24.startListening(); |  |  |             mNrf24.startListening(); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -180,12 +186,12 @@ class HmRadio { | 
			
		
	
		
		
			
				
					|  |  |                 mTxBuf[10 + (++cnt)] = (powerLimitSetting     ) & 0xff; // setting for persistens handling
 |  |  |                 mTxBuf[10 + (++cnt)] = (powerLimitSetting     ) & 0xff; // setting for persistens handling
 | 
			
		
	
		
		
			
				
					|  |  |             } |  |  |             } | 
			
		
	
		
		
			
				
					|  |  |             // crc control data
 |  |  |             // crc control data
 | 
			
		
	
		
		
			
				
					
					|  |  |             uint16_t crc = crc16(&mTxBuf[10], cnt+1); |  |  |             uint16_t crc = Hoymiles::crc16(&mTxBuf[10], cnt+1); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             mTxBuf[10 + (++cnt)] = (crc >> 8) & 0xff; |  |  |             mTxBuf[10 + (++cnt)] = (crc >> 8) & 0xff; | 
			
		
	
		
		
			
				
					|  |  |             mTxBuf[10 + (++cnt)] = (crc     ) & 0xff; |  |  |             mTxBuf[10 + (++cnt)] = (crc     ) & 0xff; | 
			
		
	
		
		
			
				
					|  |  |             // crc over all
 |  |  |             // crc over all
 | 
			
		
	
		
		
			
				
					|  |  |             cnt +=1; |  |  |             cnt +=1; | 
			
		
	
		
		
			
				
					
					|  |  |             mTxBuf[10 + cnt] = crc8(mTxBuf, 10 + cnt); |  |  |             mTxBuf[10 + cnt] = Hoymiles::crc8(mTxBuf, 10 + cnt); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |             sendPacket(invId, mTxBuf, 10 + (++cnt), true); |  |  |             sendPacket(invId, mTxBuf, 10 + (++cnt), true); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
	
		
		
			
				
					|  | @ -204,7 +210,7 @@ class HmRadio { | 
			
		
	
		
		
			
				
					|  |  |                 mTxBuf[18] = 0x00; |  |  |                 mTxBuf[18] = 0x00; | 
			
		
	
		
		
			
				
					|  |  |                 mTxBuf[19] = 0x00; |  |  |                 mTxBuf[19] = 0x00; | 
			
		
	
		
		
			
				
					|  |  |             } |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |             uint16_t crc = crc16(&mTxBuf[10], 14); |  |  |             uint16_t crc = Hoymiles::crc16(&mTxBuf[10], 14); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             mTxBuf[24] = (crc >> 8) & 0xff; |  |  |             mTxBuf[24] = (crc >> 8) & 0xff; | 
			
		
	
		
		
			
				
					|  |  |             mTxBuf[25] = (crc     ) & 0xff; |  |  |             mTxBuf[25] = (crc     ) & 0xff; | 
			
		
	
		
		
			
				
					|  |  |             mTxBuf[26] = crc8(mTxBuf, 26); |  |  |             mTxBuf[26] = crc8(mTxBuf, 26); | 
			
		
	
	
		
		
			
				
					|  | 
 |