mirror of https://github.com/arendst/Tasmota.git
Optimize ESP32 webserver
This commit is contained in:
parent
89e1475b36
commit
139d32a86d
|
@ -246,13 +246,15 @@ const char HTTP_SCRIPT_MODULE_TEMPLATE[] PROGMEM =
|
||||||
"q.appendChild(o);"
|
"q.appendChild(o);"
|
||||||
"}"
|
"}"
|
||||||
"function ot(g,s){" // g = id and name, s = value
|
"function ot(g,s){" // g = id and name, s = value
|
||||||
"var p,l,t=qs('#h'+g),u=s&0x001f;"
|
"var a=s&0xffe0,b=0,c,p,l,t=qs('#h'+g),u=s&0x001f;"
|
||||||
"l=t.options.length;" // Remove current options
|
"l=t.options.length;" // Remove current options
|
||||||
"for(i=l;i;i--){p=t.options[i-1].parentNode;p.removeChild(t.options[i-1]);}"
|
"for(i=l;i;i--){p=t.options[i-1].parentNode;p.removeChild(t.options[i-1]);}"
|
||||||
|
"l=hs.length;" // Find max indexes for s
|
||||||
|
"for(i=0;i<l;i++){c=hs[i]&0xffe0;if(a==c){b=hs[i]&0x001f;break;}}"
|
||||||
"s>>=5;" // Add options
|
"s>>=5;" // Add options
|
||||||
"for(i=1;i<=hs[s];i++){ce((i<10)?(' '+i):i,t);}"
|
"for(i=1;i<=b;i++){ce((i<10)?(' '+i):i,t);}"
|
||||||
"eb('h'+g).value=u+1;" // Set selected value
|
"eb('h'+g).value=u+1;" // Set selected value
|
||||||
"t.style.visibility=(hs[s]>0)?'':'hidden';"
|
"t.style.visibility=(b>0)?'':'hidden';"
|
||||||
"}"
|
"}"
|
||||||
"function sk(s,g){" // s = value, g = id and name
|
"function sk(s,g){" // s = value, g = id and name
|
||||||
"var o=os.replace(/}2/g,\"<option value='\").replace(/}3/g,\")</option>\");"
|
"var o=os.replace(/}2/g,\"<option value='\").replace(/}3/g,\")</option>\");"
|
||||||
|
@ -1469,28 +1471,14 @@ void HandleTemplateConfiguration(void)
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
WSContentSend_P(PSTR("hs=["));
|
WSContentSend_P(PSTR("hs=["));
|
||||||
bool first_done = false;
|
bool first_done = false;
|
||||||
/*
|
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) { // hs=[36,68,100,132,168,200,232,264,292,324,356,388,421,453];
|
||||||
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) {
|
uint32_t midx = pgm_read_word(kGpioNiceList + i);
|
||||||
uint32_t midx = pgm_read_word(kGpioNiceList + i) & 0x001F;
|
if (midx & 0x001F) {
|
||||||
if (first_done) { WSContentSend_P(PSTR(",")); }
|
if (first_done) { WSContentSend_P(PSTR(",")); }
|
||||||
WSContentSend_P(PSTR("%d"), midx);
|
WSContentSend_P(PSTR("%d"), midx);
|
||||||
first_done = true;
|
first_done = true;
|
||||||
}
|
|
||||||
*/
|
|
||||||
uint32_t j = 0;
|
|
||||||
for (uint32_t i = 0; i < GPIO_SENSOR_END; i++) {
|
|
||||||
uint32_t midx = pgm_read_word(kGpioNiceList + j);
|
|
||||||
if ((midx >> 5) != i) {
|
|
||||||
midx = 0;
|
|
||||||
} else {
|
|
||||||
midx &= 0x001F;
|
|
||||||
j++;
|
|
||||||
}
|
}
|
||||||
if (first_done) { WSContentSend_P(PSTR(",")); }
|
|
||||||
WSContentSend_P(PSTR("%d"), midx);
|
|
||||||
first_done = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WSContentSend_P(PSTR("];"));
|
WSContentSend_P(PSTR("];"));
|
||||||
#endif // ESP32
|
#endif // ESP32
|
||||||
|
|
||||||
|
@ -1651,28 +1639,14 @@ void HandleModuleConfiguration(void)
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
WSContentSend_P(PSTR("hs=["));
|
WSContentSend_P(PSTR("hs=["));
|
||||||
bool first_done = false;
|
bool first_done = false;
|
||||||
/*
|
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) { // hs=[36,68,100,132,168,200,232,264,292,324,356,388,421,453];
|
||||||
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) {
|
midx = pgm_read_word(kGpioNiceList + i);
|
||||||
midx = pgm_read_word(kGpioNiceList + i) & 0x001F;
|
if (midx & 0x001F) {
|
||||||
if (first_done) { WSContentSend_P(PSTR(",")); }
|
if (first_done) { WSContentSend_P(PSTR(",")); }
|
||||||
WSContentSend_P(PSTR("%d"), midx);
|
WSContentSend_P(PSTR("%d"), midx);
|
||||||
first_done = true;
|
first_done = true;
|
||||||
}
|
|
||||||
*/
|
|
||||||
uint32_t j = 0;
|
|
||||||
for (uint32_t i = 0; i < GPIO_SENSOR_END; i++) {
|
|
||||||
midx = pgm_read_word(kGpioNiceList + j);
|
|
||||||
if ((midx >> 5) != i) {
|
|
||||||
midx = 0;
|
|
||||||
} else {
|
|
||||||
midx &= 0x001F;
|
|
||||||
j++;
|
|
||||||
}
|
}
|
||||||
if (first_done) { WSContentSend_P(PSTR(",")); }
|
|
||||||
WSContentSend_P(PSTR("%d"), midx);
|
|
||||||
first_done = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WSContentSend_P(PSTR("];"));
|
WSContentSend_P(PSTR("];"));
|
||||||
#endif // ESP32
|
#endif // ESP32
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue