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
@@ -0,0 +1,5 @@
description: ESP32 GPIO Controller
compatible: "espressif,esp32-gpio"
include: ["gpio-controller.yaml"]
@@ -0,0 +1,23 @@
description: ESP32 I2C Controller
include: ["i2c-controller.yaml"]
compatible: "espressif,esp32-i2c"
properties:
port:
type: int
required: true
description: |
The port number, defined by i2c_port_t.
Depending on the hardware, these values are available: I2C_NUM_0, I2C_NUM_1, LP_I2C_NUM_0
clock-frequency:
type: int
required: true
description: Initial clock frequency in Hz
pin-sda:
type: phandle-array
required: true
pin-scl:
type: phandle-array
required: true
@@ -0,0 +1,33 @@
description: ESP32 I2S Controller
include: ["i2s-controller.yaml"]
compatible: "espressif,esp32-i2s"
properties:
port:
type: int
required: true
description: |
The port number, defined by i2s_port_t.
Depending on the hardware, these values are available: I2S_NUM_0, I2S_NUM_1
pin-bclk:
type: phandle-array
required: true
description: Bit clock pin
pin-ws:
type: phandle-array
required: true
description: Word (slot) select pin
pin-data-out:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: Data output pin
pin-data-in:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: Data input pin
pin-mclk:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: Master clock pin
@@ -0,0 +1,38 @@
description: ESP32 SPI Controller
include: ["spi-controller.yaml"]
compatible: "espressif,esp32-spi"
properties:
host:
type: int
required: true
description: |
The SPI host (controller) to use.
Defined by spi_host_device_t (e.g. SPI2_HOST, SPI3_HOST).
pin-sclk:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
pin-mosi:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: MOSI (Data 0) pin
pin-miso:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: MISO (Data 1) pin
pin-wp:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: WP (Data 2) pin
pin-hd:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: HD (Data 3) pin
max-transfer-size:
type: int
default: 0
description: |
Data transfer size limit in bytes.
0 means the platform decides the limit.
@@ -0,0 +1,29 @@
description: ESP32 UART Controller
include: ["uart-controller.yaml"]
compatible: "espressif,esp32-uart"
properties:
port:
type: int
required: true
description: |
The port number, defined by uart_port_t.
Depending on the hardware, these values are available: UART_NUM_0, UART_NUM_1, UART_NUM_2
pin-tx:
type: phandle-array
required: true
description: TX pin
pin-rx:
type: phandle-array
required: true
description: RX pin
pin-cts:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: CTS pin
pin-rts:
type: phandle-array
default: GPIO_PIN_SPEC_NONE
description: RTS pin