Commit Graph
10 Commits
Author SHA1 Message Date
Jared Dohrman d3dbc0a063 Merge remote-tracking branch 'upstream/dev' into integrate-upstream-dev-2026-08-15
# Conflicts:
#	src/helpers/ui/SH1106Display.cpp
2026-08-15 08:41:31 +10:00
Wessel Nieboer 32bd6d48d6 Fix T-beam Supreme S3 display 2026-08-10 13:39:16 +02:00
Jared DohrmanandClaude Fable 5 e5ba4885de fix(display): stop SH1106 boot crash when the boot-time probe fails
The upstream merge switched SH1106Display::begin() to probe-then-init.
On the T-Beam S3 Supreme the OLED bus can NAK a cold address probe, so
begin() bailed before display.begin() ever ran, and UITask::begin()'s
unconditional turnOn() then drove Adafruit_GrayOLED with a null bus
device: bogus gpio_set_level(227) followed by a LoadProhibited boot loop.

Restore the proven S3 Supreme bring-up order (Adafruit init with reset
sequence first, then settle the bus and verify), and track begin()
success so turnOn/turnOff/clear are safe no-ops when the display never
initialised - a failed or absent display now boots headless instead of
crash-looping.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 17:36:20 +10:00
Jared DohrmanandClaude Fable 5 9551272abe Merge remote-tracking branch 'upstream/dev' into integrate-upstream-dev-2026-08-09
Integrates upstream v1.17.0. Key adaptations:
- companion + repeater NodePrefs moved to upstream's new ConfigSerializer
  (prefs.json) format; EastMesh fields (companion wifi, repeater fan and
  MQTT bridge peer) appended as serializer groups/keys
- legacy binary prefs loaders retain EastMesh tail fields, so existing
  devices migrate their settings to the new format
- companion main.cpp adopts upstream InterfaceManager while keeping
  runtime WiFi credentials from prefs
- kept EastMesh release-tag versioning in setup-build-environment action

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 16:30:22 +10:00
Scott Powell 3857f45826 * monochrome displays now do _not_ invert titlebar 2026-07-24 15:14:56 +10:00
Scott Powell b8504e55c6 * refactor of Color mapping in UITasks / DisplayDrivers
* color displays now with a new light theme
2026-07-22 16:03:33 +10:00
=UltimateCodeWarrior 0de2b4fc5f Move Supreme OLED address to variant config
Keep SH1106Display generic by relying on DISPLAY_ADDRESS while the T-Beam Supreme variant declares its 0x3D OLED address.
2026-07-20 19:24:38 -07:00
UltimateCodeWarrior b8b6598dd3 Fix blank OLED on T-Beam Supreme V3 (I2C bus + 0x3D address)
The SH1106 OLED on the LilyGo T-Beam Supreme V3 never lights up because:

1. The primary I2C bus (Wire) that the OLED, BME280 and magnetometer share
   is never initialized. The PMU/RTC use Wire1 (via XPowersLib); nothing
   brings up Wire on PIN_BOARD_SDA/PIN_BOARD_SCL, so the display driver
   talks on the wrong default pins.
2. The OLED is at I2C address 0x3D on this board (0x3C is taken by the
   QMC6310 magnetometer), but SH1106Display::begin() only tried 0x3C.

Initialize Wire for TBEAM_SUPREME_SX1262, and have SH1106Display::begin()
prefer 0x3D (only ever used by the OLED) before falling back to 0x3C.
Backwards-compatible for boards with the OLED at 0x3C.

Closes #2609
2026-06-22 23:39:34 -07:00
Jared Dohrman ec88d300c1 fix: stabilise observer wifi ota and s3 telemetry 2026-06-07 13:54:09 +10:00
Rob Loranger 25b534a29d add support for SH1106 OLED display 2025-05-16 08:45:55 -07:00