Update xdrv_01_webserver.ino

Optimizations
This commit is contained in:
Theo Arends 2019-02-24 15:32:54 +01:00
parent 9b6e5bd122
commit 1d0348e636

View File

@ -996,11 +996,11 @@ void HandleTemplateConfiguration(void)
void TemplateSaveSettings(void) void TemplateSaveSettings(void)
{ {
char tmp[15]; // WebGetArg NAME and GPIO/BASE/FLAG byte value char tmp[sizeof(Settings.user_template.name)]; // WebGetArg NAME and GPIO/BASE/FLAG byte value
char webindex[5]; // WebGetArg name char webindex[5]; // WebGetArg name
char svalue[128]; // Template command string char svalue[128]; // Template command string
WebGetArg("s1", tmp, sizeof(tmp)); // NAME WebGetArg("s1", tmp, sizeof(tmp)); // NAME
snprintf_P(svalue, sizeof(svalue), PSTR(D_CMND_TEMPLATE " {\"" D_JSON_NAME "\":\"%s\",\"" D_JSON_GPIO "\":["), tmp); snprintf_P(svalue, sizeof(svalue), PSTR(D_CMND_TEMPLATE " {\"" D_JSON_NAME "\":\"%s\",\"" D_JSON_GPIO "\":["), tmp);
uint8_t j = 0; uint8_t j = 0;
@ -1008,7 +1008,7 @@ void TemplateSaveSettings(void)
if (6 == i) { j = 9; } if (6 == i) { j = 9; }
if (8 == i) { j = 12; } if (8 == i) { j = 12; }
snprintf_P(webindex, sizeof(webindex), PSTR("g%d"), j); snprintf_P(webindex, sizeof(webindex), PSTR("g%d"), j);
WebGetArg(webindex, tmp, sizeof(tmp)); // GPIO WebGetArg(webindex, tmp, sizeof(tmp)); // GPIO
uint8_t gpio = atoi(tmp); uint8_t gpio = atoi(tmp);
snprintf_P(svalue, sizeof(svalue), PSTR("%s%s%d"), svalue, (i>0)?",":"", gpio); snprintf_P(svalue, sizeof(svalue), PSTR("%s%s%d"), svalue, (i>0)?",":"", gpio);
j++; j++;
@ -1017,14 +1017,13 @@ void TemplateSaveSettings(void)
uint8_t flag = 0; uint8_t flag = 0;
for (uint8_t i = 0; i < GPIO_FLAG_USED; i++) { for (uint8_t i = 0; i < GPIO_FLAG_USED; i++) {
snprintf_P(webindex, sizeof(webindex), PSTR("c%d"), i); snprintf_P(webindex, sizeof(webindex), PSTR("c%d"), i);
uint8_t state = WebServer->hasArg(webindex) << i; // FLAG uint8_t state = WebServer->hasArg(webindex) << i; // FLAG
flag += state; flag += state;
} }
WebGetArg("g99", tmp, sizeof(tmp)); // BASE WebGetArg("g99", tmp, sizeof(tmp)); // BASE
uint8_t base = atoi(tmp) +1; uint8_t base = atoi(tmp) +1;
snprintf_P(svalue, sizeof(svalue), PSTR("%s],\"" D_JSON_FLAG "\":%d,\"" D_JSON_BASE "\":%d}"), snprintf_P(svalue, sizeof(svalue), PSTR("%s],\"" D_JSON_FLAG "\":%d,\"" D_JSON_BASE "\":%d}"), svalue, flag, base);
svalue, flag, base);
ExecuteWebCommand(svalue, SRC_WEBGUI); ExecuteWebCommand(svalue, SRC_WEBGUI);
} }