diff --git a/src/graphics/draw/MenuHandler.cpp b/src/graphics/draw/MenuHandler.cpp index 8334c70c9..be1b84bac 100644 --- a/src/graphics/draw/MenuHandler.cpp +++ b/src/graphics/draw/MenuHandler.cpp @@ -249,11 +249,11 @@ void menuHandler::homeBaseMenu() static const char **optionsArrayPtr; if (kb_found) { - static const char *optionsArray[] = {"Back", "Sleep Screen", "New Preset Msg", "New Freetext Msg"}; + static const char *optionsArray[] = {"Back", "Sleep Screen", "Send Adhoc Ping", "New Preset Msg", "New Freetext Msg"}; optionsArrayPtr = optionsArray; options = 4; } else { - static const char *optionsArray[] = {"Back", "Sleep Screen", "New Preset Msg"}; + static const char *optionsArray[] = {"Back", "Sleep Screen", "Send Adhoc Ping", "New Preset Msg"}; optionsArrayPtr = optionsArray; options = 3; } @@ -261,8 +261,15 @@ void menuHandler::homeBaseMenu() if (selected == 1) { screen->setOn(false); } else if (selected == 2) { - cannedMessageModule->LaunchWithDestination(NODENUM_BROADCAST); + service->refreshLocalMeshNode(); + if (service->trySendPosition(NODENUM_BROADCAST, true)) { + LOG_INFO("Position Update Sent"); + } else { + LOG_INFO("Node Info Update Sent"); + } } else if (selected == 3) { + cannedMessageModule->LaunchWithDestination(NODENUM_BROADCAST); + } else if (selected == 4) { cannedMessageModule->LaunchFreetextWithDestination(NODENUM_BROADCAST); } }); diff --git a/src/graphics/draw/UIRenderer.cpp b/src/graphics/draw/UIRenderer.cpp index fe4251e1d..e41e640e0 100644 --- a/src/graphics/draw/UIRenderer.cpp +++ b/src/graphics/draw/UIRenderer.cpp @@ -702,6 +702,8 @@ void UIRenderer::drawDeviceFocused(OLEDDisplay *display, OLEDDisplayUiState *sta int nameX = 0; int yOffset = (isHighResolution) ? 0 : 5; const char *longName = nullptr; + std::string sanitized; + meshtastic_NodeInfoLite *ourNode = nodeDB->getMeshNode(nodeDB->getNodeNum()); if (ourNode && ourNode->has_user && strlen(ourNode->user.long_name) > 0) { std::string sanitized = sanitizeString(ourNode->user.long_name); @@ -1199,11 +1201,11 @@ void UIRenderer::drawNavigationBar(OLEDDisplay *display, OLEDDisplayUiState *sta if (!navBarVisible && navBarPrevVisible) { EINK_ADD_FRAMEFLAG(display, DEMAND_FAST); // Fast refresh when hiding nav bar - navBarLastShown = millis(); // Mark when it disappeared + navBarLastShown = millis(); // Mark when it disappeared } if (!navBarVisible && navBarLastShown != 0 && !cosmeticRefreshDone) { - if (millis() - navBarLastShown > 10000) { // 10s after hidden + if (millis() - navBarLastShown > 10000) { // 10s after hidden EINK_ADD_FRAMEFLAG(display, COSMETIC); // One-time ghost cleanup cosmeticRefreshDone = true; }