|  |  | @ -35,16 +35,17 @@ class HmRadio : public Radio { | 
			
		
	
		
			
				
					|  |  |  |         HmRadio() { | 
			
		
	
		
			
				
					|  |  |  |             mDtuSn   = DTU_SN; | 
			
		
	
		
			
				
					|  |  |  |             mIrqRcvd = false; | 
			
		
	
		
			
				
					|  |  |  |             mNrf24.reset(new RF24(CE_PIN, CS_PIN, SPI_SPEED)); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         ~HmRadio() {} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         void setup(bool *serialDebug, bool *privacyMode, bool *printWholeTrace, uint8_t irq = IRQ_PIN, uint8_t ce = CE_PIN, uint8_t cs = CS_PIN, uint8_t sclk = SCLK_PIN, uint8_t mosi = MOSI_PIN, uint8_t miso = MISO_PIN) { | 
			
		
	
		
			
				
					|  |  |  |             DPRINTLN(DBG_VERBOSE, F("hmRadio.h:setup")); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             #if defined(CONFIG_IDF_TARGET_ESP32S3) && defined(ETHERNET) | 
			
		
	
		
			
				
					|  |  |  |             // replace object
 | 
			
		
	
		
			
				
					|  |  |  |             mNrfHal.init(mosi, miso, sclk, cs, ce); | 
			
		
	
		
			
				
					|  |  |  |             mNrf24 = new RF24(&mNrfHal); | 
			
		
	
		
			
				
					|  |  |  |             #else | 
			
		
	
		
			
				
					|  |  |  |             mNrf24 = new RF24(CE_PIN, CS_PIN, SPI_SPEED); | 
			
		
	
		
			
				
					|  |  |  |             mNrf24.reset(new RF24(&mNrfHal)); | 
			
		
	
		
			
				
					|  |  |  |             #endif | 
			
		
	
		
			
				
					|  |  |  |             pinMode(irq, INPUT_PULLUP); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -70,22 +71,22 @@ class HmRadio : public Radio { | 
			
		
	
		
			
				
					|  |  |  |                     //
 | 
			
		
	
		
			
				
					|  |  |  |                 #else | 
			
		
	
		
			
				
					|  |  |  |                     #if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 | 
			
		
	
		
			
				
					|  |  |  |                         mSpi = new SPIClass(HSPI); | 
			
		
	
		
			
				
					|  |  |  |                         mSpi.reset(new SPIClass(HSPI)); | 
			
		
	
		
			
				
					|  |  |  |                     #else | 
			
		
	
		
			
				
					|  |  |  |                         mSpi = new SPIClass(VSPI); | 
			
		
	
		
			
				
					|  |  |  |                         mSpi.reset(new SPIClass(VSPI)); | 
			
		
	
		
			
				
					|  |  |  |                     #endif | 
			
		
	
		
			
				
					|  |  |  |                     mSpi->begin(sclk, miso, mosi, cs); | 
			
		
	
		
			
				
					|  |  |  |                 #endif | 
			
		
	
		
			
				
					|  |  |  |             #else | 
			
		
	
		
			
				
					|  |  |  |                 //the old ESP82xx cannot freely place their SPI pins
 | 
			
		
	
		
			
				
					|  |  |  |                 mSpi = new SPIClass(); | 
			
		
	
		
			
				
					|  |  |  |                 mSpi.reset(new SPIClass()); | 
			
		
	
		
			
				
					|  |  |  |                 mSpi->begin(); | 
			
		
	
		
			
				
					|  |  |  |             #endif | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             #if defined(CONFIG_IDF_TARGET_ESP32S3) | 
			
		
	
		
			
				
					|  |  |  |                 mNrf24->begin(); | 
			
		
	
		
			
				
					|  |  |  |             #else | 
			
		
	
		
			
				
					|  |  |  |                 mNrf24->begin(mSpi, ce, cs); | 
			
		
	
		
			
				
					|  |  |  |                 mNrf24->begin(mSpi.get(), ce, cs); | 
			
		
	
		
			
				
					|  |  |  |             #endif | 
			
		
	
		
			
				
					|  |  |  |             mNrf24->setRetries(3, 15); // 3*250us + 250us and 15 loops -> 15ms
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -353,8 +354,8 @@ class HmRadio : public Radio { | 
			
		
	
		
			
				
					|  |  |  |         bool    mGotLastMsg = false; | 
			
		
	
		
			
				
					|  |  |  |         uint32_t mMillis; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         SPIClass* mSpi; | 
			
		
	
		
			
				
					|  |  |  |         RF24 *mNrf24; | 
			
		
	
		
			
				
					|  |  |  |         std::unique_ptr<SPIClass> mSpi; | 
			
		
	
		
			
				
					|  |  |  |         std::unique_ptr<RF24> mNrf24; | 
			
		
	
		
			
				
					|  |  |  |         #if defined(CONFIG_IDF_TARGET_ESP32S3) && defined(ETHERNET) | 
			
		
	
		
			
				
					|  |  |  |         nrfHal mNrfHal; | 
			
		
	
		
			
				
					|  |  |  |         #endif | 
			
		
	
	
		
			
				
					|  |  | 
 |