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_FIRMWARE_UPGRADE "Firmware-opgradering"
#define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "Konsole"
#define D_CONFIRM_RESTART "Bevestig weer te begin"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -275,6 +275,7 @@
#define D_INFORMATION "資訊"
#define D_FIRMWARE_UPGRADE "韌體升級"
#define D_MANAGEMENT "Consoles"
#define D_GPIO_VIEWER "GPIO Viewer"
#define D_CONSOLE "控制台"
#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 source=new EventSource('http://%s:" STR(GV_PORT) "/events');" // WiFi.localIP().toString().c_str()
"var sampling_interval='" STR(GV_SAMPLING_INTERVAL) "';"
"var freeSketchSpace='%s';" // GVFormatBytes(ESP_getFreeSketchSpace()).c_str()
"var freeSketchSpace='%d KB';" // ESP_getFreeSketchSpace() / 1024
"</script>"
"</head>"
"<body>"
@ -63,6 +63,9 @@ const char HTTP_GV_EVENT[] PROGMEM =
"Cache-Control: no-cache\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 {
digitalPin = 0,
PWMPin = 1,
@ -80,18 +83,6 @@ struct {
bool active;
} 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) {
uint32_t pin_type = GetPin(gpioNum) / 32;
/*
@ -184,7 +175,6 @@ void GVMonitorTask(void) {
hasChanges = true;
}
}
jsonMessage += "}";
if (hasChanges) {
@ -194,7 +184,9 @@ void GVMonitorTask(void) {
uint32_t heap = ESP_getFreeHeap();
if (heap != GV.freeHeap) {
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
@ -202,8 +194,12 @@ void GVMonitorTask(void) {
uint32_t psram = ESP.getFreePsram();
if (psram != GV.freePSRAM) {
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
}
@ -237,7 +233,7 @@ void GVHandleRoot(void) {
char* content = ext_snprintf_malloc_P(HTTP_GV_PAGE,
WiFi.localIP().toString().c_str(),
WiFi.localIP().toString().c_str(),
GVFormatBytes(ESP_getFreeSketchSpace()).c_str());
ESP_getFreeSketchSpace() / 1024);
if (content == nullptr) { return; } // Avoid crash
GV.WebServer->send_P(200, "text/html", content);
@ -267,6 +263,15 @@ bool Xdrv121(uint32_t function) {
case FUNC_EVERY_100_MSECOND:
if (GV.sse_ready) { GVMonitorTask(); }
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:
result = true;
break;