Add GPIO Viewer button

This commit is contained in:
Theo Arends 2024-01-07 16:06:31 +01:00
parent 298ee22ebf
commit 82313c65b7
28 changed files with 49 additions and 17 deletions

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Inligting" #define D_INFORMATION "Inligting"
#define D_FIRMWARE_UPGRADE "Firmware-opgradering" #define D_FIRMWARE_UPGRADE "Firmware-opgradering"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konsole" #define D_CONSOLE "Konsole"
#define D_CONFIRM_RESTART "Bevestig weer te begin" #define D_CONFIRM_RESTART "Bevestig weer te begin"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Информация" #define D_INFORMATION "Информация"
#define D_FIRMWARE_UPGRADE "Обновяване на софтуера" #define D_FIRMWARE_UPGRADE "Обновяване на софтуера"
#define D_MANAGEMENT "Терминали" #define D_MANAGEMENT "Терминали"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Терминал" #define D_CONSOLE "Терминал"
#define D_CONFIRM_RESTART "Потвърдете рестартиране" #define D_CONFIRM_RESTART "Потвърдете рестартиране"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informació" #define D_INFORMATION "Informació"
#define D_FIRMWARE_UPGRADE "Actualització de programari" #define D_FIRMWARE_UPGRADE "Actualització de programari"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Consola" #define D_CONSOLE "Consola"
#define D_CONFIRM_RESTART "Confirma el Reinici" #define D_CONFIRM_RESTART "Confirma el Reinici"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informace" #define D_INFORMATION "Informace"
#define D_FIRMWARE_UPGRADE "Aktualizace firmware" #define D_FIRMWARE_UPGRADE "Aktualizace firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konzole" #define D_CONSOLE "Konzole"
#define D_CONFIRM_RESTART "Potvrzení restartu" #define D_CONFIRM_RESTART "Potvrzení restartu"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informationen" #define D_INFORMATION "Informationen"
#define D_FIRMWARE_UPGRADE "Firmware Update" #define D_FIRMWARE_UPGRADE "Firmware Update"
#define D_MANAGEMENT "Konsolen" #define D_MANAGEMENT "Konsolen"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konsole" #define D_CONSOLE "Konsole"
#define D_CONFIRM_RESTART "Wirklich neustarten?" #define D_CONFIRM_RESTART "Wirklich neustarten?"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Πληροφορίες" #define D_INFORMATION "Πληροφορίες"
#define D_FIRMWARE_UPGRADE "Αναβάθμιση" #define D_FIRMWARE_UPGRADE "Αναβάθμιση"
#define D_MANAGEMENT "Διαχείριση" #define D_MANAGEMENT "Διαχείριση"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Κονσόλα" #define D_CONSOLE "Κονσόλα"
#define D_CONFIRM_RESTART "Επιβεβαίωση επανεκκίνησης" #define D_CONFIRM_RESTART "Επιβεβαίωση επανεκκίνησης"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Information" #define D_INFORMATION "Information"
#define D_FIRMWARE_UPGRADE "Firmware Upgrade" #define D_FIRMWARE_UPGRADE "Firmware Upgrade"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Console" #define D_CONSOLE "Console"
#define D_CONFIRM_RESTART "Confirm Restart" #define D_CONFIRM_RESTART "Confirm Restart"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Información" #define D_INFORMATION "Información"
#define D_FIRMWARE_UPGRADE "Actualizar Firmware" #define D_FIRMWARE_UPGRADE "Actualizar Firmware"
#define D_MANAGEMENT "Consolas" #define D_MANAGEMENT "Consolas"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Consola" #define D_CONSOLE "Consola"
#define D_CONFIRM_RESTART "Confirmar Reinicio" #define D_CONFIRM_RESTART "Confirmar Reinicio"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informations" #define D_INFORMATION "Informations"
#define D_FIRMWARE_UPGRADE "Mise à jour du Firmware" #define D_FIRMWARE_UPGRADE "Mise à jour du Firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Console" #define D_CONSOLE "Console"
#define D_CONFIRM_RESTART "Confirmer le redémarrage" #define D_CONFIRM_RESTART "Confirmer le redémarrage"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Ynformaasje" #define D_INFORMATION "Ynformaasje"
#define D_FIRMWARE_UPGRADE "Opwurdearje" #define D_FIRMWARE_UPGRADE "Opwurdearje"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konsole" #define D_CONSOLE "Konsole"
#define D_CONFIRM_RESTART "Befestigje opnij starte" #define D_CONFIRM_RESTART "Befestigje opnij starte"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "מידע" #define D_INFORMATION "מידע"
#define D_FIRMWARE_UPGRADE "שדרוג קושחה" #define D_FIRMWARE_UPGRADE "שדרוג קושחה"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "קונסול" #define D_CONSOLE "קונסול"
#define D_CONFIRM_RESTART "אישור הפעלה מחדש" #define D_CONFIRM_RESTART "אישור הפעלה מחדש"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Információ" #define D_INFORMATION "Információ"
#define D_FIRMWARE_UPGRADE "Firmware frissítés" #define D_FIRMWARE_UPGRADE "Firmware frissítés"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konzol" #define D_CONSOLE "Konzol"
#define D_CONFIRM_RESTART "Biztosan újraindítsam a modult?" #define D_CONFIRM_RESTART "Biztosan újraindítsam a modult?"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informazioni" #define D_INFORMATION "Informazioni"
#define D_FIRMWARE_UPGRADE "Aggiorna firmware" #define D_FIRMWARE_UPGRADE "Aggiorna firmware"
#define D_MANAGEMENT "Console" #define D_MANAGEMENT "Console"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Console" #define D_CONSOLE "Console"
#define D_CONFIRM_RESTART "Conferma riavvio" #define D_CONFIRM_RESTART "Conferma riavvio"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "정보" #define D_INFORMATION "정보"
#define D_FIRMWARE_UPGRADE "펌웨어 업그레이드" #define D_FIRMWARE_UPGRADE "펌웨어 업그레이드"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "콘솔" #define D_CONSOLE "콘솔"
#define D_CONFIRM_RESTART "재시작" #define D_CONFIRM_RESTART "재시작"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informatie" #define D_INFORMATION "Informatie"
#define D_FIRMWARE_UPGRADE "Opwaarderen" #define D_FIRMWARE_UPGRADE "Opwaarderen"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Console" #define D_CONSOLE "Console"
#define D_CONFIRM_RESTART "Bevestig herstart" #define D_CONFIRM_RESTART "Bevestig herstart"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informacje" #define D_INFORMATION "Informacje"
#define D_FIRMWARE_UPGRADE "Aktualizacja oprogramowania" #define D_FIRMWARE_UPGRADE "Aktualizacja oprogramowania"
#define D_MANAGEMENT "Konsole" #define D_MANAGEMENT "Konsole"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konsola" #define D_CONSOLE "Konsola"
#define D_CONFIRM_RESTART "Potwierdź restart" #define D_CONFIRM_RESTART "Potwierdź restart"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informação" #define D_INFORMATION "Informação"
#define D_FIRMWARE_UPGRADE "Atualização de firmware" #define D_FIRMWARE_UPGRADE "Atualização de firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Console" #define D_CONSOLE "Console"
#define D_CONFIRM_RESTART "Confirmar o reinicio" #define D_CONFIRM_RESTART "Confirmar o reinicio"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informação" #define D_INFORMATION "Informação"
#define D_FIRMWARE_UPGRADE "Atualização de Firmware" #define D_FIRMWARE_UPGRADE "Atualização de Firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Consola" #define D_CONSOLE "Consola"
#define D_CONFIRM_RESTART "Confirmar o reinício" #define D_CONFIRM_RESTART "Confirmar o reinício"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informație" #define D_INFORMATION "Informație"
#define D_FIRMWARE_UPGRADE "Actualizare Firmware" #define D_FIRMWARE_UPGRADE "Actualizare Firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Consolă" #define D_CONSOLE "Consolă"
#define D_CONFIRM_RESTART "Confirmare Restart" #define D_CONFIRM_RESTART "Confirmare Restart"

View File

@ -276,6 +276,7 @@
#define D_INFORMATION "Информация" #define D_INFORMATION "Информация"
#define D_FIRMWARE_UPGRADE "Обновление прошивки" #define D_FIRMWARE_UPGRADE "Обновление прошивки"
#define D_MANAGEMENT "Управление" #define D_MANAGEMENT "Управление"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Консоль" #define D_CONSOLE "Консоль"
#define D_CONFIRM_RESTART "Перезагрузить устройство?" #define D_CONFIRM_RESTART "Перезагрузить устройство?"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Informácie" #define D_INFORMATION "Informácie"
#define D_FIRMWARE_UPGRADE "Aktualizácia firmware" #define D_FIRMWARE_UPGRADE "Aktualizácia firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konzola" #define D_CONSOLE "Konzola"
#define D_CONFIRM_RESTART "Potvrdenie reštartu" #define D_CONFIRM_RESTART "Potvrdenie reštartu"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Information" #define D_INFORMATION "Information"
#define D_FIRMWARE_UPGRADE "Uppgradera firmware" #define D_FIRMWARE_UPGRADE "Uppgradera firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konsol" #define D_CONSOLE "Konsol"
#define D_CONFIRM_RESTART "Bekräfta omstart" #define D_CONFIRM_RESTART "Bekräfta omstart"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Bilgi" #define D_INFORMATION "Bilgi"
#define D_FIRMWARE_UPGRADE "Cihaz yazılımını Güncelle" #define D_FIRMWARE_UPGRADE "Cihaz yazılımını Güncelle"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konsol" #define D_CONSOLE "Konsol"
#define D_CONFIRM_RESTART "Yeniden Başlatmayı Onayla" #define D_CONFIRM_RESTART "Yeniden Başlatmayı Onayla"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Інформація" #define D_INFORMATION "Інформація"
#define D_FIRMWARE_UPGRADE "Оновлення прошивки" #define D_FIRMWARE_UPGRADE "Оновлення прошивки"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Консоль" #define D_CONSOLE "Консоль"
#define D_CONFIRM_RESTART "Підтвердити перезавантаження" #define D_CONFIRM_RESTART "Підтвердити перезавантаження"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "Thông tin" #define D_INFORMATION "Thông tin"
#define D_FIRMWARE_UPGRADE "Nâng cấp Firmware" #define D_FIRMWARE_UPGRADE "Nâng cấp Firmware"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Dòng Lệnh" #define D_CONSOLE "Dòng Lệnh"
#define D_CONFIRM_RESTART "Xác nhận khởi động lại" #define D_CONFIRM_RESTART "Xác nhận khởi động lại"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "信息" #define D_INFORMATION "信息"
#define D_FIRMWARE_UPGRADE "固件升级" #define D_FIRMWARE_UPGRADE "固件升级"
#define D_MANAGEMENT "控制台" #define D_MANAGEMENT "控制台"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "控制台" #define D_CONSOLE "控制台"
#define D_CONFIRM_RESTART "确认重启" #define D_CONFIRM_RESTART "确认重启"

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "資訊" #define D_INFORMATION "資訊"
#define D_FIRMWARE_UPGRADE "韌體升級" #define D_FIRMWARE_UPGRADE "韌體升級"
#define D_MANAGEMENT "Consoles" #define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "控制台" #define D_CONSOLE "控制台"
#define D_CONFIRM_RESTART "確認重新啟動" #define D_CONFIRM_RESTART "確認重新啟動"

View File

@ -38,7 +38,7 @@ const char HTTP_GV_PAGE[] PROGMEM =
"var ip='%s';" // WiFi.localIP().toString().c_str() "var ip='%s';" // WiFi.localIP().toString().c_str()
"var source=new EventSource('http://%s:" STR(GV_PORT) "/events');" // WiFi.localIP().toString().c_str() "var source=new EventSource('http://%s:" STR(GV_PORT) "/events');" // WiFi.localIP().toString().c_str()
"var sampling_interval='" STR(GV_SAMPLING_INTERVAL) "';" "var sampling_interval='" STR(GV_SAMPLING_INTERVAL) "';"
"var freeSketchSpace='%s';" // GVFormatBytes(ESP_getFreeSketchSpace()).c_str() "var freeSketchSpace='%d KB';" // ESP_getFreeSketchSpace() / 1024
"</script>" "</script>"
"</head>" "</head>"
"<body>" "<body>"
@ -63,6 +63,9 @@ const char HTTP_GV_EVENT[] PROGMEM =
"Cache-Control: no-cache\n" "Cache-Control: no-cache\n"
"Access-Control-Allow-Origin: *\n\n"; "Access-Control-Allow-Origin: *\n\n";
const char HTTP_BTN_MENU_GV[] PROGMEM =
"<p><form action='http://%s:" STR(GV_PORT) "/' method='post' target='_blank'><button>" D_GPIO_VIEWER "</button></form></p>";
enum GVPinTypes { enum GVPinTypes {
digitalPin = 0, digitalPin = 0,
PWMPin = 1, PWMPin = 1,
@ -80,18 +83,6 @@ struct {
bool active; bool active;
} GV; } GV;
String GVFormatBytes(size_t bytes) {
if (bytes < 1024) {
return String(bytes) + " B";
}
else if (bytes < (1024 * 1024)) {
return String(bytes / 1024.0, 2) + " KB";
}
else {
return String(bytes / 1024.0 / 1024.0, 2) + " MB";
}
}
int GVReadGPIO(int gpioNum, uint32_t *originalValue, uint32_t *pintype) { int GVReadGPIO(int gpioNum, uint32_t *originalValue, uint32_t *pintype) {
uint32_t pin_type = GetPin(gpioNum) / 32; uint32_t pin_type = GetPin(gpioNum) / 32;
/* /*
@ -184,7 +175,6 @@ void GVMonitorTask(void) {
hasChanges = true; hasChanges = true;
} }
} }
jsonMessage += "}"; jsonMessage += "}";
if (hasChanges) { if (hasChanges) {
@ -194,7 +184,9 @@ void GVMonitorTask(void) {
uint32_t heap = ESP_getFreeHeap(); uint32_t heap = ESP_getFreeHeap();
if (heap != GV.freeHeap) { if (heap != GV.freeHeap) {
GV.freeHeap = heap; GV.freeHeap = heap;
GVEventSend(GVFormatBytes(GV.freeHeap).c_str(), "free_heap", millis()); char temp[20];
snprintf_P(temp, sizeof(temp), PSTR("%d KB"), heap / 1024);
GVEventSend(temp, "free_heap", millis());
} }
#ifdef ESP32 #ifdef ESP32
@ -202,8 +194,12 @@ void GVMonitorTask(void) {
uint32_t psram = ESP.getFreePsram(); uint32_t psram = ESP.getFreePsram();
if (psram != GV.freePSRAM) { if (psram != GV.freePSRAM) {
GV.freePSRAM = psram; GV.freePSRAM = psram;
GVEventSend(GVFormatBytes(GV.freePSRAM).c_str(), "free_psram", millis()); char temp[20];
snprintf_P(temp, sizeof(temp), PSTR("%d KB"), psram / 1024);
GVEventSend(temp, "free_psram", millis());
} }
} else {
GVEventSend("No PSRAM", "free_psram", millis());
} }
#endif // ESP32 #endif // ESP32
} }
@ -237,7 +233,7 @@ void GVHandleRoot(void) {
char* content = ext_snprintf_malloc_P(HTTP_GV_PAGE, char* content = ext_snprintf_malloc_P(HTTP_GV_PAGE,
WiFi.localIP().toString().c_str(), WiFi.localIP().toString().c_str(),
WiFi.localIP().toString().c_str(), WiFi.localIP().toString().c_str(),
GVFormatBytes(ESP_getFreeSketchSpace()).c_str()); ESP_getFreeSketchSpace() / 1024);
if (content == nullptr) { return; } // Avoid crash if (content == nullptr) { return; } // Avoid crash
GV.WebServer->send_P(200, "text/html", content); GV.WebServer->send_P(200, "text/html", content);
@ -267,6 +263,15 @@ bool Xdrv121(uint32_t function) {
case FUNC_EVERY_100_MSECOND: case FUNC_EVERY_100_MSECOND:
if (GV.sse_ready) { GVMonitorTask(); } if (GV.sse_ready) { GVMonitorTask(); }
break; break;
#ifdef USE_WEBSERVER
case FUNC_WEB_ADD_MANAGEMENT_BUTTON:
if (XdrvMailbox.index) {
XdrvMailbox.index++;
} else {
WSContentSend_P(HTTP_BTN_MENU_GV, WiFi.localIP().toString().c_str());
}
break;
#endif // USE_WEBSERVER
case FUNC_ACTIVE: case FUNC_ACTIVE:
result = true; result = true;
break; break;