improve timeout menus
This commit is contained in:
parent
8ca558ef30
commit
ddb100570d
|
@ -352,12 +352,14 @@ void cdc_task(void)
|
||||||
case 'g': // set global timeout
|
case 'g': // set global timeout
|
||||||
i = 0; // reset index
|
i = 0; // reset index
|
||||||
menu = MENU_TIMEOUT_GLOBAL;
|
menu = MENU_TIMEOUT_GLOBAL;
|
||||||
str = "\r\nenter global timeout in minutes: ";
|
snprintf(tmp, sizeof(tmp), "\r\nenter global timeout in minutes [%u]: ", config.timeout_global);
|
||||||
|
str = tmp;
|
||||||
break;
|
break;
|
||||||
case 'r': // set repeat timeout
|
case 'r': // set repeat timeout
|
||||||
i = 0; // reset index
|
i = 0; // reset index
|
||||||
menu = MENU_TIMEOUT_REPEAT;
|
menu = MENU_TIMEOUT_REPEAT;
|
||||||
str = "\r\nenter repeat timeout in minutes: ";
|
snprintf(tmp, sizeof(tmp), "\r\nenter repeat timeout in minutes [%u]: ", config.timeout_repeat);
|
||||||
|
str = tmp;
|
||||||
break;
|
break;
|
||||||
case 'k': // set user key
|
case 'k': // set user key
|
||||||
i = 0; // reset index
|
i = 0; // reset index
|
||||||
|
@ -566,21 +568,46 @@ void cdc_task(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MENU_LAYOUT:
|
||||||
|
for (uint16_t j = 0; j < count; j++) {
|
||||||
|
if ('\r' == buf[j] || '\n' == buf[j]) { // end received
|
||||||
|
tmp[i] = 0; // end time input
|
||||||
|
const uint16_t layout = atoi(tmp);
|
||||||
|
if (0 == strlen(tmp)) {
|
||||||
|
str = "\r\n"; // leave previous
|
||||||
|
} else if (layout > LENGTH(map_asciimap)) {
|
||||||
|
str = "\r\ninvalid entry\r\n";
|
||||||
|
} else {
|
||||||
|
config.layout = layout;
|
||||||
|
save_config();
|
||||||
|
str = "\r\nlayout set\r\n";
|
||||||
|
}
|
||||||
|
i = 0; // reset index
|
||||||
|
menu = MENU_HOME; // go to next menu
|
||||||
|
} else if (i >= sizeof(tmp) - 2) {
|
||||||
|
memset(tmp, 0, sizeof(tmp)); // clear password
|
||||||
|
str = "\r\nlimit reached\r\n";
|
||||||
|
} else {
|
||||||
|
tmp[i++] = buf[j]; // save user entry
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case MENU_TIMEOUT_GLOBAL:
|
case MENU_TIMEOUT_GLOBAL:
|
||||||
for (uint16_t j = 0; j < count; j++) {
|
for (uint16_t j = 0; j < count; j++) {
|
||||||
if ('\r' == buf[j] || '\n' == buf[j]) { // end received
|
if ('\r' == buf[j] || '\n' == buf[j]) { // end received
|
||||||
tmp[i] = 0; // end time input
|
tmp[i] = 0; // end time input
|
||||||
const uint16_t time = atoi(tmp);
|
const uint16_t time = atoi(tmp);
|
||||||
if (strlen(tmp) > 0 && time > 0) {
|
if (0 == strlen(tmp)) {
|
||||||
config.timeout_global = time;
|
str = "\r\n"; // leave previous
|
||||||
}
|
} else {
|
||||||
if (config.timeout_global > TIMEOUT_GLOBAL) {
|
if (0 == time || config.timeout_global > TIMEOUT_GLOBAL) {
|
||||||
config.timeout_global = TIMEOUT_GLOBAL;
|
config.timeout_global = TIMEOUT_GLOBAL;
|
||||||
}
|
}
|
||||||
|
save_config();
|
||||||
|
}
|
||||||
snprintf(tmp, sizeof(tmp), "\r\nglobal timeout set to %u minutes\r\n", config.timeout_global);
|
snprintf(tmp, sizeof(tmp), "\r\nglobal timeout set to %u minutes\r\n", config.timeout_global);
|
||||||
str = tmp;
|
str = tmp;
|
||||||
i = 0; // reset index
|
i = 0; // reset index
|
||||||
save_config();
|
|
||||||
menu = MENU_HOME; // go to next menu
|
menu = MENU_HOME; // go to next menu
|
||||||
} else if (i >= sizeof(tmp) - 2) {
|
} else if (i >= sizeof(tmp) - 2) {
|
||||||
memset(tmp, 0, sizeof(tmp)); // clear password
|
memset(tmp, 0, sizeof(tmp)); // clear password
|
||||||
|
@ -595,16 +622,17 @@ void cdc_task(void)
|
||||||
if ('\r' == buf[j] || '\n' == buf[j]) { // end received
|
if ('\r' == buf[j] || '\n' == buf[j]) { // end received
|
||||||
tmp[i] = 0; // end time input
|
tmp[i] = 0; // end time input
|
||||||
const uint16_t time = atoi(tmp);
|
const uint16_t time = atoi(tmp);
|
||||||
if (strlen(tmp) > 0 && time > 0) {
|
if (0 == strlen(tmp)) {
|
||||||
config.timeout_repeat = time;
|
str = "\r\n"; // leave previous
|
||||||
}
|
} else {
|
||||||
if (config.timeout_repeat > TIMEOUT_REPEAT) {
|
if (0 == time || config.timeout_repeat > TIMEOUT_REPEAT) {
|
||||||
config.timeout_repeat = TIMEOUT_REPEAT;
|
config.timeout_repeat = TIMEOUT_REPEAT;
|
||||||
}
|
}
|
||||||
|
save_config();
|
||||||
|
}
|
||||||
snprintf(tmp, sizeof(tmp), "\r\nrepeat timeout set to %u minutes\r\n", config.timeout_repeat);
|
snprintf(tmp, sizeof(tmp), "\r\nrepeat timeout set to %u minutes\r\n", config.timeout_repeat);
|
||||||
str = tmp;
|
str = tmp;
|
||||||
i = 0; // reset index
|
i = 0; // reset index
|
||||||
save_config();
|
|
||||||
menu = MENU_HOME; // go to next menu
|
menu = MENU_HOME; // go to next menu
|
||||||
} else if (i >= sizeof(tmp) - 2) {
|
} else if (i >= sizeof(tmp) - 2) {
|
||||||
memset(tmp, 0, sizeof(tmp)); // clear password
|
memset(tmp, 0, sizeof(tmp)); // clear password
|
||||||
|
|
Loading…
Reference in New Issue