Commit Graph

105 Commits

Author SHA1 Message Date
taco
5058415fa3 u8g2 wrapper: allow larger font when size >= 2 2026-05-21 19:58:10 +10:00
pelgraine
2462cf6c97 add wrapper for u8g2 display driver 2026-05-21 19:58:10 +10:00
Quency-D
6d3b71eed9 add heltec-mesh-node-t1 2026-05-11 15:11:07 +08:00
Josiah VanderZee
e56c1b3d58 Do not perform redundant reset on ST7789 displays
The `::init` method in the Adafruit ST7789 library is responsible to
initialize the device. This includes performing a reset, which can be
found in the Adafruit source for `Adafruit_SPITFT`.

Before this change, MeshCore performed its own ST7789 display reset
sequence, which consisted of three steps.

* Pull reset low
* Wait 10ms
* Pull reset high

Importantly, there was no fixed delay after pulling reset high. The
ST7789 driver requires a delay (T<sub>RT</sub>) of 5ms in Sleep In Mode
and 120ms in Sleep Out Mode before it will properly receive commands.
When `Adafruit_SPITFT` resets the device after MeshCore has already
reset it, the mandatory time may not have elapsed, leading to strange
behavior. In the author's case, this issue caused the initial
`fillScreen` to fail, such that the display showed an uninitialized
framebuffer.

This removes the MeshCore delay, leaving the responsibility of reset to
`Adafruit_SPITFT`, where they have the correct delays in place with
extra safety margin. The change was briefly tested by Josiah VanderZee
and Ben Zignego on a custom hardware build using an nRF52840 Dongle and
an Adafruit 4311 TFT display. The user button seemed to behave
strangely, but the display looked correct.
2026-05-04 17:01:39 -05:00
liamcottle
5a509752a7 don't play startup tune if buzzer pref disabled 2026-05-02 01:47:35 +12:00
Quency-D
f6cfed66b3 add heltec_mesh_node_t096 board. 2026-03-20 15:56:09 +08:00
Wessel Nieboer
0e62240119 Set AUTO_OFF_MILLIS to 0 for E213, E290 2026-03-15 15:51:31 +01:00
Wessel Nieboer
696323c11b Fix Heltec E213 and E290 e-ink board builds 2026-03-15 15:51:25 +01:00
Wessel Nieboer
0b1fd580f1 Fix double claim, eliminate dead code at compile time 2026-02-06 11:35:05 +01:00
Quency-D
e15503d50d Fix low power consumption issues 2026-02-02 14:19:42 +08:00
Max Litruv Boonzaayer
dd2a9044f3 Refactor display scaling definitions for HELTEC_VISION_MASTER_T190 2026-01-29 08:05:26 +11:00
Quency-D
c7ac16f0e3 Add v4-tft code. 2026-01-26 13:48:15 +08:00
Christophe Vanlancker
01eb8716af fix(core): optimize GPS loop and add display GPIO safeguards 2025-12-05 20:45:10 +01:00
ripplebiz
fe874032d5 Merge pull request #1153 from fdlamotte/thinknode_m5
Thinknode m5 support
2025-11-29 12:13:30 +11:00
Florent
ee4e87c3ee thinknode_m5: manage baclight 2025-11-28 10:33:19 +01:00
Florent
d0f6def4f9 thinknode_m5: initial port 2025-11-27 21:49:04 +01:00
Scott Powell
3ddfdd477b Revert "add heltec_v4 tft expansion box"
This reverts commit 310618e689.
2025-11-27 21:34:52 +11:00
Quency-D
310618e689 add heltec_v4 tft expansion box 2025-11-19 11:43:52 +08:00
ripplebiz
5b4544b9fe Merge pull request #889 from fdlamotte/sensecap_indicator
Sensecap indicator
2025-11-03 11:09:17 +11:00
Florent
ce70792309 lgfx_display: better handle display class construction 2025-10-18 14:03:27 +02:00
Scott Powell
cd920693ec * UITask: new UI_HAS_JOYSTICK
* MomentaryButton: new constructor 'multiclick' param
* WIoTrackerL1: now just use joystick, joystick press for KEY_ENTER, no multi-click for snappier UI
2025-10-16 17:33:22 +11:00
Quency-D
70ac820594 add heltec tracker v2 board. 2025-10-11 18:01:26 +08:00
Florent
45ab0e8cf7 sensecap_indicator: initial espnow support 2025-10-05 13:58:25 +02:00
WattleFoxxo
69e6d69798 Fix font and icon scaling issues for TDeck 2025-10-03 22:55:32 +10:00
ripplebiz
3912bbdf7d Merge pull request #821 from fdlamotte/ui_gps_page
ui_task: initial gps page
2025-10-02 18:54:23 +10:00
Florent de Lamotte
18bfc2d81a DisplayDriver: introduce drawTextRightAlign and drawTextLeftAlign 2025-10-01 18:07:59 +02:00
Jan Ryklikas
088b8fd98c fix: revert to orignal default scaling and fix it in variant config 2025-09-24 15:10:51 +02:00
Jan Ryklikas
128119fe40 refactor: remove redundant import statement 2025-09-24 14:45:40 +02:00
Jan Ryklikas
e2fa70d6f3 chore: refactor to use GxEPD2 fork 2025-09-23 21:57:35 +02:00
Jan Ryklikas
db40a9cea6 import missing eInk display 2025-09-23 19:38:45 +02:00
WattleFoxxo
f100894882 LillyGo TDeck support 2025-09-22 23:48:46 +10:00
Florent
59ea6cdb89 wio-l1-eink initial support 2025-09-20 21:45:13 +02:00
Scott Powell
384b02bec4 * GenericVibration: code style refactor 2025-09-18 13:19:54 +10:00
ripplebiz
b3e9fd76ce Merge pull request #708 from csrutil/feature/vibration-feedback
 feat: add vibration feedback system
2025-09-18 13:12:36 +10:00
csrutil
2da50882c0 feat: add vibration feedback support for UI events
- Add genericVibration class with 5-second cooldown and 1-second pulse
- Integrate vibration triggers for new messages and contact discoveries
- Add conditional compilation support with PIN_VIBRATION guard
- Implement abstract interface for vibration in UITask system
2025-09-17 08:56:18 +08:00
Michael Hart
bd6aa983a3 feat: add DisplayDriver methods for UTF-8 filtering and text ellipsis
- Add translateUTF8ToBlocks() method to convert UTF-8 characters to displayable blocks
- Add drawTextEllipsized() method for text truncation with ellipsis
- Apply UTF-8 filtering to node names, recent contacts, and message content
- Use ellipsized text rendering for recent contacts to prevent overflow
- Addresses PR feedback by moving text processing to DisplayDriver level
2025-09-16 17:17:15 -07:00
fdlamotte
ec332c442b Merge pull request #735 from recrof/t1000_refactor
t1000 cleanup + move NullDisplayDriver.h out of t1000e folder
2025-09-05 15:58:59 +02:00
recrof
816bbf925f t1000 cleanup + move NullDisplayDriver.h to helpers/ui for other variants to use 2025-09-04 23:12:57 +02:00
Quency-D
f4df94a20e Delete the sensor part and adapt to the latest crc display. 2025-09-04 14:04:00 +08:00
Quency-D
13d046892a Merge branch 'dev' into dev-meshpocket 2025-09-04 11:47:55 +08:00
ripplebiz
5782c2e799 Merge pull request #720 from oltaco/newui-multiclick-toggles
new-ui: add double/triple clicks, buzzer and gps toggle functions
2025-09-04 13:41:54 +10:00
Florent
9f97edcb21 gxepd: use a crc to track damage ! 2025-09-03 18:17:37 +02:00
Florent
cb3049e706 cleanups (remove statics and typos) 2025-09-03 17:41:05 +02:00
taco
afbfc6c6ed add new keycodes 2025-09-03 15:48:50 +10:00
taco
9f185303b4 long press cancels multi click 2025-09-03 12:29:20 +10:00
taco
5de0dc1fd6 sliding multiclick window 2025-09-03 12:03:31 +10:00
taco
ce31fd7c57 multi click support including buzzer toggle 2025-09-03 08:25:59 +10:00
Florent de Lamotte
3cdf2f9b4d techo: display backlight behavior 2025-09-02 11:43:48 +02:00
Quency-D
c9671d7d8d add heltec meshpocket board. 2025-09-02 13:56:24 +08:00
Scott Powell
74722c24b8 * MomentaryButton: added support for analog button (with threshold)
* RAK: support for PIN_USER_BTN_ANA
2025-09-01 17:11:55 +10:00