Implement UI scaling and more (#501)

**New Features**
 * Runtime font accessors and new symbol fonts for text, launcher, statusbar, and shared icons.
 * Added font height base setting to device.properties
 * Text fonts now have 3 sizes: small, default, large

**Improvements**
 * Renamed `UiScale` to `UiDensity`
 * Statusbar, toolbar and many UI components now compute heights and spacing from fonts/density.
 * SSD1306 initialization sequence refined for more stable startup.
 * Multiple image assets replaced by symbol-font rendering.
 * Many layout improvements related to density, font scaling and icon scaling
 * Updated folder name capitalization for newer style
This commit is contained in:
Ken Van Hoeylandt
2026-02-15 01:41:47 +01:00
committed by GitHub
parent 72c9b2b113
commit 9a11e6f47b
264 changed files with 5923 additions and 494 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: bigtreetech,panda-touch.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,2432s024c.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,2432s028r.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,2432s028rv3.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,2432s032c.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,4848s040c.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,8048s043c.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,e32r28t.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: cyd,e32r32p.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: elecrow,crowpanel-advance-28.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: elecrow,crowpanel-advance-35.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: elecrow,crowpanel-advance-50.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: elecrow,crowpanel-basic-28.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: elecrow,crowpanel-basic-35.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: elecrow,crowpanel-basic-50.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: generic,esp32.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: generic,esp32c6.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: generic,esp32p4.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: generic,esp32s3.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: guition,jc1060p470ciwy.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: guition,jc2432w328c.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: guition,jc3248w535c.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: guition,jc8048w550c.dts
@@ -44,6 +44,6 @@ static std::vector<std::shared_ptr<tt::hal::Device>> createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
@@ -5,6 +5,7 @@ incubating=true
[apps]
launcherAppId=Launcher
autoStartAppId=ApWebServer
[hardware]
target=ESP32S3
@@ -24,3 +25,4 @@ infoMessage=Due to the small size of the screen, the icons don't render properly
[lvgl]
theme=Mono
colorDepth=16
uiScale=70
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: heltec,wifi-lora-32-v3.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: lilygo,tdeck.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: lilygo,tdisplay-s3.dts
@@ -19,6 +19,6 @@ static std::vector<std::shared_ptr<tt::hal::Device>> createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: lilygo,tdisplay.dts
@@ -16,6 +16,6 @@ static std::vector<std::shared_ptr<tt::hal::Device>> createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: lilygo,tdongle-s3.dts
+1 -1
View File
@@ -3,5 +3,5 @@ file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "Source"
REQUIRES Tactility esp_lcd ST7796 BQ25896 BQ27220 TCA8418 DRV2605 PwmBacklight driver esp_adc PlatformEsp32
REQUIRES Tactility esp_lcd ST7796 BQ25896 BQ27220 TCA8418 DRV2605 PwmBacklight driver esp_adc platform-esp32
)
@@ -22,3 +22,4 @@ dpi=227
[lvgl]
colorDepth=16
dpi=150
+1 -1
View File
@@ -1,4 +1,4 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
bindings: ./
dts: lilygo,tlora-pager.dts
@@ -28,6 +28,6 @@ static DeviceVector createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,cardputer-adv.dts
@@ -26,6 +26,6 @@ static DeviceVector createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,cardputer.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,core2.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,cores3.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,papers3.dts
@@ -25,6 +25,6 @@ static DeviceVector createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,stickc-plus.dts
@@ -28,6 +28,6 @@ static DeviceVector createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,stickc-plus2.dts
+2
View File
@@ -20,6 +20,8 @@ dpi=294
[lvgl]
colorDepth=16
fontSize=28
dpi=250
[cdn]
warningMessage=Only the original hardware variant with the ILI9881C display is supported for now
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: m5stack,tab5.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformPosix
- Platforms/platform-posix
dts: simulator.dts
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: unphone.dts
@@ -21,6 +21,6 @@ static bool initBoot() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: waveshare,esp32-s3-geek.dts
@@ -20,6 +20,6 @@ static bool initBoot() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
+1 -1
View File
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: waveshare,s3-lcd-13.dts
@@ -20,6 +20,6 @@ static bool initBoot() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: waveshare,s3-touch-lcd-128.dts
@@ -16,6 +16,6 @@ static std::vector<std::shared_ptr<tt::hal::Device>> createDevices() {
extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.uiDensity = UiDensity::Compact,
.createDevices = createDevices
};
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: waveshare,s3-touch-lcd-147.dts
@@ -21,3 +21,4 @@ dpi=217
[lvgl]
colorDepth=16
fontSize=18
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: waveshare,s3-touch-lcd-43.dts
@@ -1,3 +1,3 @@
dependencies:
- Platforms/PlatformEsp32
- Platforms/platform-esp32
dts: wireless-tag,wt32-sc01-plus.dts