Commit Graph
107 Commits
Author SHA1 Message Date
Theo Arends 7e51b9e87d Add SSD1306 SPI support 2026-09-07 16:05:14 +02:00
52b2d232e1 Fix build error: use #ifdef for USE_UNIVERSAL_TOUCH in UDSP_DEBUG block (#24957)
Building with UDSP_DEBUG enabled fails:

  lib/lib_display/UDisplay/src/uDisplay.cpp:908:24: error: #if with no expression
    908 | #if USE_UNIVERSAL_TOUCH
        |                        ^

USE_UNIVERSAL_TOUCH is defined without a value (my_user_config.h and the
user_config_override.h convention both use a bare `#define`), so `#if` expands
to an empty expression and the preprocessor errors out.

Every other test of this macro already uses #ifdef:

  uDisplay.cpp:47        #ifdef USE_UNIVERSAL_TOUCH
  uDisplay.cpp:792       #ifdef USE_UNIVERSAL_TOUCH
  uDisplay_touch.cpp:4   #ifdef USE_UNIVERSAL_TOUCH

so this looks like a typo rather than a deliberate value test.

Introduced in a1639507d ("Udisp SPI fix for mono color display", #24899). It
goes unnoticed in normal builds because the block sits inside #ifdef
UDSP_DEBUG, which ships commented out at uDisplay.cpp:27 — it only surfaces
for anyone who turns that debug logging on. Found on an ESP32-P4 build with
UDSP_DEBUG enabled for DSI init diagnostics.

Co-authored-by: Ari Friedman <afriedman@millsupplyco.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 13:30:40 +02:00
Christian Baars a1639507d1 Udisp SPI fix for mono color display (#24899)
* fix union offset for SPI mono display

* fix debug log to correcty use USE_UNIVERSAL_TOUCH
2026-07-14 19:03:57 +02:00
Christian BaarsandChristian Baars a027be81f6 Fix I80 pushColors swap logic for parallel displays (#24770)
Co-authored-by: Christian Baars <christianbaars@MacStudio-von-Christian.local>
2026-05-20 13:52:46 +02:00
Frederick Blais e6d471f25f Add descriptor-driven ST7305 uDisplay packing (#24738) 2026-05-19 12:24:18 +02:00
s-hadinger 87107b7950 USE_UNIVERSAL_TOUCH no more forced when USE_UNIVERSAL_DISPLAY is enabled (#24743) 2026-05-13 23:28:39 +02:00
s-hadinger 7a21f72f70 rename GPIO_DISPLAY_RESET and update GPIOs (#24742) 2026-05-13 22:42:25 +02:00
s-hadinger 47b80b961d uDisplay logs polished (#24734) 2026-05-11 22:04:55 +02:00
lz64andAri Friedman 378e1547c2 Fix uDisplay case 'T' parsing corruption for I80 parallel displays + WT32-SC01 Plus descriptor (#24506)
- Skip :TI (touch I2C) and :TS (touch SPI) lines in case 'T' of the uDisplay
  descriptor parser. These touch config lines are handled separately by
  xdsp_17_universal.ino via strstr(), but case 'T' was matching on the first
  character and unconditionally writing the subsequent values into
  panel_config->epd.lut_full_time/lut_partial_time/update_time. In the
  PanelConfigUnion, these EPD fields overlap with I80 panel bus pin config
  (cs_pin, dc_pin, wr_pin, rd_pin, data_pins), causing parallel displays to
  silently receive corrupted GPIO pin assignments and fail to render.

  The fix checks if the character after 'T' is 'I' or 'S' and skips EPD timing
  parsing for those lines. EPD descriptors using :T,<timing> continue to work
  as before.

- Remove dead reference to berry.lvgl_panel_loaded in xdrv_54_lvgl.ino.
  The member was removed from BerrySupport in commit e4c2cf591 (Berry Extension
  Manager) but the reference in start_lvgl() was left behind, causing a compile
  error when USE_BERRY_LVGL_PANEL is defined.

- Add verified display descriptor for WT32-SC01 Plus (ESP32-S3, ST7796U 480x320,
  8-bit parallel I80, FT5206 capacitive touch). Tested on Tasmota v15.3.0.1 with
  LVGL 9.5.0.

Co-authored-by: Ari Friedman <afriedman@millsupplyco.com>
2026-03-17 22:28:32 +01:00
Jason2866 7568d932f3 fix: Silent failure in pushPixels3DMA (#24520) 2026-03-03 16:23:52 +01:00
gemuandGerhard Mutz 7f7a2ceef1 fix monochrome pushpixels (#24388)
Co-authored-by: Gerhard Mutz <gerhardmutz1@imac.local>
2026-01-27 11:16:46 +01:00
Theo Arends f2ea225929 Fix Udisplay SPI driver display dimension parameters regression from v15.1.0.1 (#24376) 2026-01-26 14:55:12 +01:00
gemuandGerhard Mutz a70b32b53d some display fixes (#24368)
* update udisplay

* display select JPEG decoder, adapt to 32 bit pushpixels

* new_jpeg

* backpanel mode

* Update uDisplay.cpp

---------

Co-authored-by: Gerhard Mutz <gerhardmutz1@imac.local>
2026-01-19 11:00:47 +01:00
gemuandGerhard Mutz 9c3588256a fix udisplay bpanel with spi displays (#24278)
Co-authored-by: Gerhard Mutz <gerhardmutz1@imac.local>
2025-12-29 17:37:59 +01:00
Christian BaarsandChristian Baars b276479b29 fix displayrotate for i2c (#24214)
Co-authored-by: Christian Baars <christianbaars@MacStudio-von-Christian.local>
2025-12-11 16:13:56 +01:00
Jason2866 ce67a505ca fix possible redefine warning 2025-12-09 11:29:29 +01:00
Jason2866 449b9763d8 Adjust reset signal timing in uDisplay_touch.cpp (#24198)
Increase delay duration for reset signal in uDisplay.
2025-12-08 18:38:53 +01:00
Christian BaarsandChristian Baars e04d6ec9eb remove some debug code and old remnants (#24127)
Co-authored-by: Christian Baars <christianbaars@MacStudio-von-Christian.local>
2025-11-16 19:26:55 +01:00
Jason2866 309cdd6b1d Udisplay use library.json and folders in lib to ensure correct compile and linking (#24122) 2025-11-15 19:00:22 +01:00
Jason2866 160ec1376f Fix uDisplay DSI compile with IDF 5.4 / 5.5 based Arduino frameworks (#24110) 2025-11-12 21:01:24 +01:00
Christian Baars c0f1be5994 UDisplay Modular Refactoring, adding DSI for P4 (#24107) 2025-11-12 13:36:35 +01:00
Jason2866 00b8c62fbe move deprecated libs in lib folder lib_deprecated (#24073)
* move deprecated libs in lib folder lib_deprecated

* add wrong placed include file
2025-10-28 16:49:03 +01:00
Christian Baars 0eec031d49 split udisplay.cpp into multiple files (#24007) 2025-10-12 17:15:02 +02:00
Christian Baars abf2e22c10 remove remnants of pre 5.x IDF (#23995) 2025-10-10 17:25:24 +02:00
Jason2866 3eb6bf6c8e Add initial c5 support (#23804) 2025-08-20 21:51:23 +02:00
Jason2866 9e25fc0f30 basic P4 support (#23663) 2025-07-10 16:47:30 +02:00
sfromis cced48d824 Update uDisplay.h (#23273)
RGB565 value for pink was same as magenta. This is obviously wrong, hence correcting to the "pink" value from the docs.

While I'm far from certain about the "right" shading of color nuances, the correction does "reasonably pink" in my eyes (on a ST7789), and assuming that the value from the docs was sourced from something relevant to the small displays used with Tasmota, I consider the change to be at least a move in the right direction.

Still, the corrected value (FF80C0 in RGB888) does have the name "tea rose" when using HTML color codes as a reference, but "some people" may have more interest in long discussions like what pink "really" is.
2025-04-11 15:15:35 +02:00
Thomas Reitmayr b07bd68046 Utilize ESP-IDF's LCD driver for pushing pixels to RGB displays with ESP32-S3 (#22970)
This commit is an optimization of code and possibly performance for pushing
pixel data to an RGB display with an ESP32-S3. It uses ESP-IDF's LCD driver
for doing so and replaces multiple code paths in the previous implementation.
No code for other ESP32 variants has been changed.

Also see the discussion arendst/Tasmota#22553
2025-02-09 21:58:50 +01:00
s-hadinger dd99642cf7 Prevent crashing when display.ini is missing end # (#22471) 2024-11-14 08:24:20 +01:00
Theo Arends b53ac4a14e Fix next core I2C2 compilation 2024-10-11 14:11:00 +02:00
Jason2866 f2c61c4496 Fix uDisplay compile error (#22266)
* only esp32
2024-10-11 00:19:29 +02:00
s-hadinger d6a15aa5dc Temporarily disable SPI DMA for uDisplay (broken since esp-idf 5.3) (#22264) 2024-10-10 23:20:07 +02:00
s-hadinger 59c8d39724 uDisplay force cache writes to RGB display on ESP32S3 (#22222) 2024-09-29 23:04:24 +02:00
gemu c35c493809 i2s wav player (#22003)
* i2s wav player

* move framepointer
2024-08-26 08:48:35 +02:00
gemu d525200a11 BW invert (#21955)
* bw invert option

* invert bw
2024-08-14 13:08:17 +02:00
Theo Arends e02615827b Fix compilation without SPI 2024-07-26 13:50:15 +02:00
gemu ddcc7d9990 jpeg on bw displays (#21832) 2024-07-24 13:32:03 +02:00
gemu 58485dec2a fix resistive Touch xpt for 2 spi busses (#21814)
* fix xpt touch for 2 spi busses

* support for 2 utouch spi busses

* Update support.ino
2024-07-22 13:58:50 +02:00
gemu 00a00a3505 fix pushcolors for displaytext (#21805) 2024-07-20 08:20:19 +02:00
Theo Arends f68ac4377a Fix udisplay positional replacements (#21121) 2024-07-12 14:57:27 +02:00
Theo Arends 59de2fd979 Fix udisplay ESP8266 I2C no asterix in config (#21121) 2024-07-12 12:49:00 +02:00
timehlersandtimehlers a3048a0b25 add support for 4.2 inch epaper display from WeAct Studio (partial up… (#21717)
* add support for 4.2 inch epaper display from WeAct Studio (partial update)

* make ep_mode=3 decision more clear, reinserted an mistakenly removed comment

---------

Co-authored-by: timehlers <>
2024-07-08 17:25:06 +02:00
Theo Arends ff961df336 Change display timing splash screen with display modes 1 to 5 2024-06-08 15:33:44 +02:00
s-hadinger ec696509b9 uDisplay Parallel display on Core3 (#21529) 2024-05-30 12:44:09 +02:00
s-hadinger 9970b9d947 uDisplay fast drawing on RGB displays (#21257) 2024-04-23 21:17:22 +02:00
s-hadinger 595b7f750d LVGL fix memory allocation of flush buffers (#21256) 2024-04-23 20:11:01 +02:00
s-hadinger cb70ff7a77 uDisplay avoid crashing when no valid configuration (#21239) 2024-04-21 15:21:50 +02:00
gemu 72968b9ee8 fix color swap option for rgb displaytext (#21049) 2024-03-27 16:52:35 +01:00
gemu 417f8b0e9b reinit sd card (#21040) 2024-03-26 20:30:29 +01:00
gemu 28cce3f020 add cmd cpm (#21030) 2024-03-25 22:02:08 +01:00