From 66b4e31c0fd1530b353b43f152ede1d31ce6e20e Mon Sep 17 00:00:00 2001 From: Wessel Nieboer Date: Fri, 17 Jul 2026 09:52:01 +0200 Subject: [PATCH] Fix build: restore global File alias hidden by TFT_eSPI's FS_NO_GLOBALS TFT_eSPI's default User_Setup.h enables SMOOTH_FONT, which makes it define FS_NO_GLOBALS before including FS.h. Any TU that includes ST7735Display.h before SPIFFS.h/FS.h (e.g. simple_repeater MyMesh.h via target.h) then loses the global File/FS aliases and fails to compile. Re-export the fs:: aliases right after including TFT_eSPI.h. --- src/helpers/ui/ST7735Display.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/helpers/ui/ST7735Display.h b/src/helpers/ui/ST7735Display.h index 68c83db255..b6fdef61be 100644 --- a/src/helpers/ui/ST7735Display.h +++ b/src/helpers/ui/ST7735Display.h @@ -6,6 +6,18 @@ #include "TFT_eSPI.h" #include +#if defined(ESP32) && defined(FS_NO_GLOBALS) +// TFT_eSPI with SMOOTH_FONT defines FS_NO_GLOBALS before including FS.h, +// which suppresses the global aliases the rest of the codebase relies on. +#include +using fs::FS; +using fs::File; +using fs::SeekMode; +using fs::SeekSet; +using fs::SeekCur; +using fs::SeekEnd; +#endif + class ST7735Display : public DisplayDriver { bool _isOn; RefCountedDigitalPin* _peripher_power;