|  | @ -39,7 +39,7 @@ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | #define WEB_SERIAL_BUF_SIZE 2048 |  |  | #define WEB_SERIAL_BUF_SIZE 2048 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  | const char* const pinArgNames[] = {"pinCs", "pinCe", "pinIrq", "pinSclk", "pinMosi", "pinMiso", "pinLed0", "pinLed1", "pinLedHighActive", "pinCmtSclk", "pinSdio", "pinCsb", "pinFcsb", "pinGpio3"}; |  |  | const char* const pinArgNames[] = {"pinCs", "pinCe", "pinIrq", "pinSclk", "pinMosi", "pinMiso", "pinLed0", "pinLed1", "pinLedHighActive", "pinLedLum", "pinCmtSclk", "pinSdio", "pinCsb", "pinFcsb", "pinGpio3"}; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | template <class HMSYSTEM> |  |  | template <class HMSYSTEM> | 
			
		
	
		
		
			
				
					|  |  | class Web { |  |  | class Web { | 
			
		
	
	
		
		
			
				
					|  | @ -284,12 +284,18 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |             bool reboot = (!Update.hasError()); |  |  |             bool reboot = (!Update.hasError()); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             String html = F("<!doctype html><html><head><title>Update</title><meta http-equiv=\"refresh\" content=\"20; URL=/\"></head><body>Update: "); |  |  |             String html = F("<!doctype html><html><head><title>Update</title><meta http-equiv=\"refresh\" content=\""); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |             #if defined(ETHERNET) && defined(CONFIG_IDF_TARGET_ESP32S3) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 html += F("5"); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             #else | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 html += F("20"); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             #endif | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             html += F("; URL=/\"></head><body>Update: "); | 
			
		
	
		
		
			
				
					|  |  |             if (reboot) |  |  |             if (reboot) | 
			
		
	
		
		
			
				
					|  |  |                 html += "success"; |  |  |                 html += "success"; | 
			
		
	
		
		
			
				
					|  |  |             else |  |  |             else | 
			
		
	
		
		
			
				
					|  |  |                 html += "failed"; |  |  |                 html += "failed"; | 
			
		
	
		
		
			
				
					
					|  |  |             html += F("<br/><br/>rebooting ... auto reload after 20s</body></html>"); |  |  |             html += F("<br/><br/>rebooting ...</body></html>"); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), html); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), html); | 
			
		
	
		
		
			
				
					|  |  |             response->addHeader("Connection", "close"); |  |  |             response->addHeader("Connection", "close"); | 
			
		
	
	
		
		
			
				
					|  | @ -521,7 +527,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |             // pinout
 |  |  |             // pinout
 | 
			
		
	
		
		
			
				
					|  |  |             uint8_t pin; |  |  |             uint8_t pin; | 
			
		
	
		
		
			
				
					
					|  |  |             for (uint8_t i = 0; i < 14; i++) { |  |  |             for (uint8_t i = 0; i < 15; i++) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |                 pin = request->arg(String(pinArgNames[i])).toInt(); |  |  |                 pin = request->arg(String(pinArgNames[i])).toInt(); | 
			
		
	
		
		
			
				
					|  |  |                 switch(i) { |  |  |                 switch(i) { | 
			
		
	
		
		
			
				
					|  |  |                     case 0:  mConfig->nrf.pinCs    = ((pin != 0xff) ? pin : DEF_NRF_CS_PIN);  break; |  |  |                     case 0:  mConfig->nrf.pinCs    = ((pin != 0xff) ? pin : DEF_NRF_CS_PIN);  break; | 
			
		
	
	
		
		
			
				
					|  | @ -532,12 +538,13 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |                     case 5:  mConfig->nrf.pinMiso  = ((pin != 0xff) ? pin : DEF_NRF_MISO_PIN); break; |  |  |                     case 5:  mConfig->nrf.pinMiso  = ((pin != 0xff) ? pin : DEF_NRF_MISO_PIN); break; | 
			
		
	
		
		
			
				
					|  |  |                     case 6:  mConfig->led.led0     = pin; break; |  |  |                     case 6:  mConfig->led.led0     = pin; break; | 
			
		
	
		
		
			
				
					|  |  |                     case 7:  mConfig->led.led1     = pin; break; |  |  |                     case 7:  mConfig->led.led1     = pin; break; | 
			
		
	
		
		
			
				
					
					|  |  |                     case 8:  mConfig->led.led_high_active = pin; break;  // this is not really a pin but a polarity, but handling it close to here makes sense
 |  |  |                     case 8:  mConfig->led.high_active = pin; break;  // this is not really a pin but a polarity, but handling it close to here makes sense
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |                     case 9:  mConfig->cmt.pinSclk  = pin; break; |  |  |                     case 9:  mConfig->led.luminance = pin; break;  // this is not really a pin but a polarity, but handling it close to here makes sense
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |                     case 10: mConfig->cmt.pinSdio  = pin; break; |  |  |                     case 10: mConfig->cmt.pinSclk  = pin; break; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |                     case 11: mConfig->cmt.pinCsb   = pin; break; |  |  |                     case 11: mConfig->cmt.pinSdio  = pin; break; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |                     case 12: mConfig->cmt.pinFcsb  = pin; break; |  |  |                     case 12: mConfig->cmt.pinCsb   = pin; break; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |                     case 13: mConfig->cmt.pinIrq   = pin; break; |  |  |                     case 13: mConfig->cmt.pinFcsb  = pin; break; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |                     case 14: mConfig->cmt.pinIrq   = pin; break; | 
			
		
	
		
		
			
				
					|  |  |                 } |  |  |                 } | 
			
		
	
		
		
			
				
					|  |  |             } |  |  |             } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | 
 |