Merge remote-tracking branch 'upstream/master' into xiao_esp32c6_with_ble

This commit is contained in:
Alexander Begoon 2025-04-20 14:56:09 +02:00
commit 41db0aff3d
No known key found for this signature in database
GPG Key ID: 9F7D401F3E061FF5
4 changed files with 52 additions and 6 deletions

View File

@ -7,7 +7,7 @@ lib_deps =
${nrf52_base.lib_deps} ${nrf52_base.lib_deps}
${environmental_base.lib_deps} ${environmental_base.lib_deps}
# renovate: datasource=git-refs depName=Kongduino-Adafruit_nRFCrypto packageName=https://github.com/Kongduino/Adafruit_nRFCrypto gitBranch=master # renovate: datasource=git-refs depName=Kongduino-Adafruit_nRFCrypto packageName=https://github.com/Kongduino/Adafruit_nRFCrypto gitBranch=master
https://github.com/Kongduino/Adafruit_nRFCrypto/archive/e31a8825ea3300b163a0a3c1ddd5de34e10e1371.zip https://github.com/Kongduino/Adafruit_nRFCrypto/archive/5f838d2709461a2c981f642917aa50254a25c14c.zip
; Common NRF52 debugging settings follow. See the Meshtastic developer docs for how to connect SWD debugging probes to your board. ; Common NRF52 debugging settings follow. See the Meshtastic developer docs for how to connect SWD debugging probes to your board.

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version='1.0' encoding='UTF-8'?>
<component type="desktop-application"> <component type="desktop-application">
<id>org.meshtastic.meshtasticd</id> <id>org.meshtastic.meshtasticd</id>
@ -87,13 +87,13 @@
</screenshots> </screenshots>
<releases> <releases>
<release version="2.6.6"> <release version="2.6.6" date="2025-04-15">
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.6.6</url> <url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.6.6</url>
</release> </release>
<release version="2.6.5" date="2025-04-09"> <release version="2.6.5" date="2025-03-30">
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.6.5</url> <url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.6.5</url>
</release> </release>
<release version="2.6.4" date="2025-03-29"> <release version="2.6.4" date="2025-03-28">
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.6.4</url> <url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.6.4</url>
</release> </release>
</releases> </releases>

View File

@ -56,6 +56,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "mesh/wifi/WiFiAPClient.h" #include "mesh/wifi/WiFiAPClient.h"
#endif #endif
#if HAS_ETHERNET
#include "mesh/eth/ethClient.h"
#endif
#ifdef ARCH_ESP32 #ifdef ARCH_ESP32
#include "esp_task_wdt.h" #include "esp_task_wdt.h"
#include "modules/StoreForwardModule.h" #include "modules/StoreForwardModule.h"
@ -232,6 +236,42 @@ static void drawOEMBootScreen(OLEDDisplay *display, OLEDDisplayUiState *state, i
#endif #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) void Screen::drawFrameText(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y, const char *message)
{ {
uint16_t x_offset = display->width() / 2; uint16_t x_offset = display->width() / 2;
@ -2182,6 +2222,12 @@ void Screen::setFrames(FrameFocus focus)
} }
#endif #endif
#if HAS_ETHERNET
if (Ethernet.hardwareStatus() != EthernetNoHardware) {
normalFrames[numframes++] = drawEthernetFrame;
}
#endif
fsi.frameCount = numframes; // Total framecount is used to apply FOCUS_PRESERVE fsi.frameCount = numframes; // Total framecount is used to apply FOCUS_PRESERVE
LOG_DEBUG("Finished build frames. numframes: %d", numframes); LOG_DEBUG("Finished build frames. numframes: %d", numframes);

View File

@ -43,7 +43,7 @@ template <class T, class U> class APIServerPort : public U, private concurrency:
* delegate to the worker. Once coroutines are implemented we can relax this restriction. * delegate to the worker. Once coroutines are implemented we can relax this restriction.
*/ */
T *openAPI = NULL; T *openAPI = NULL;
#if RAK_4631 #if defined(RAK_4631) || defined(RAK11310)
// Track wait time for RAK13800 Ethernet requests // Track wait time for RAK13800 Ethernet requests
int32_t waitTime = 100; int32_t waitTime = 100;
#endif #endif