mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-22 00:35:39 +00:00
Add IP Address Frame (#6615)
* Update Screen.cpp add ip on screen if has ethernet pcb like w5500 spi * Run Trunk Format and Translate Comments FR->EN --------- Co-authored-by: Tom Fifield <tom@tomfifield.net>
This commit is contained in:
parent
2b57ffafd7
commit
5d48d2c0a7
@ -56,6 +56,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "mesh/wifi/WiFiAPClient.h"
|
||||
#endif
|
||||
|
||||
#if HAS_ETHERNET
|
||||
#include "mesh/eth/ethClient.h"
|
||||
#endif
|
||||
|
||||
#ifdef ARCH_ESP32
|
||||
#include "esp_task_wdt.h"
|
||||
#include "modules/StoreForwardModule.h"
|
||||
@ -232,6 +236,42 @@ static void drawOEMBootScreen(OLEDDisplay *display, OLEDDisplayUiState *state, i
|
||||
|
||||
#endif
|
||||
|
||||
#if HAS_ETHERNET
|
||||
static void drawEthernetFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y)
|
||||
{
|
||||
display->setFont(FONT_SMALL);
|
||||
display->setTextAlignment(TEXT_ALIGN_LEFT);
|
||||
|
||||
if (config.display.displaymode == meshtastic_Config_DisplayConfig_DisplayMode_INVERTED) {
|
||||
display->fillRect(0 + x, 0 + y, x + display->getWidth(), y + FONT_HEIGHT_SMALL);
|
||||
display->setColor(BLACK);
|
||||
}
|
||||
|
||||
display->setColor(WHITE);
|
||||
|
||||
// Adjust vertical position verticale ajustée - starts higher
|
||||
int16_t y_offset = y + 2; // Reduces space at top
|
||||
|
||||
// Left Alignement (x + small offset)
|
||||
int16_t x_offset = x + 2;
|
||||
|
||||
// Display is not centered, align left
|
||||
display->drawString(x_offset, y_offset, "Ethernet Config:");
|
||||
y_offset += FONT_HEIGHT_SMALL + 2; // Slightly reduced spacing
|
||||
|
||||
display->drawString(x_offset, y_offset, "IP: " + Ethernet.localIP().toString());
|
||||
y_offset += FONT_HEIGHT_SMALL;
|
||||
|
||||
display->drawString(x_offset, y_offset, "Mask: " + Ethernet.subnetMask().toString());
|
||||
y_offset += FONT_HEIGHT_SMALL;
|
||||
|
||||
display->drawString(x_offset, y_offset, "GW: " + Ethernet.gatewayIP().toString());
|
||||
// y_offset += FONT_HEIGHT_SMALL;
|
||||
|
||||
// display->drawString(x_offset, y_offset, "DNS: " + Ethernet.dnsServerIP().toString());
|
||||
}
|
||||
#endif
|
||||
|
||||
void Screen::drawFrameText(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y, const char *message)
|
||||
{
|
||||
uint16_t x_offset = display->width() / 2;
|
||||
@ -2182,6 +2222,12 @@ void Screen::setFrames(FrameFocus focus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_ETHERNET
|
||||
if (Ethernet.hardwareStatus() != EthernetNoHardware) {
|
||||
normalFrames[numframes++] = drawEthernetFrame;
|
||||
}
|
||||
#endif
|
||||
|
||||
fsi.frameCount = numframes; // Total framecount is used to apply FOCUS_PRESERVE
|
||||
LOG_DEBUG("Finished build frames. numframes: %d", numframes);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user