-
Notifications
You must be signed in to change notification settings - Fork 54
Feature: Add TFT and E-Ink Displays #824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…nd switch to a default type to allow general api access rather than specific driver access. similar to v2
…t miss ping and dc
WS.feedWDT(); | ||
|
||
// Process display controller events, if initialized | ||
WS._displayController->update(getRSSI(), WS._mqtt->connected()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mqtt->connected didn't reliably return false when exploring previous issues, it might be worth rethinking or ANDing with wifi status connected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have a reliable way to check it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure that we do, and we call both runNetFSM and ping earlier in this method so we should be as correct in status as possible (mqtt-connected should be correct, IIRC it resets on failed ping / forced reconnect).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's my thinking, if it failed, NetFSM would have picked it up so by the time it gets to this call it would return false.
Looks good @brentru, just some minor things. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This pull request adds support for TFT and E-Ink Displays to the WipperSnapper firmware.
Major Changes:
display
component to WipperSnapperdisplay/controller
- Handles routing and management of Protobuf messages between App and Hardware instancesdisplay/hardware
- Handles multiple types of display driversdisplay/drivers/
display/drivers/dispDrvBase.h
- Abstract base class for display drivers, provides a common interface for all display drivers,display/drivers/dispDrvSt7789.h
- Driver for ST7789-based TFT displays, such as Adafruit FunHouse and Adafruit Feather ESP32x TFTdisplay/drivers/dispDrvThinkInkGrayscale4Eaamfgn.h
- Driver for ThinkInk 2.9" Grayscale 4-level EAAMFGN display (present on the 2025 version of the Adafruit MagTag)display/drivers/dispDrvThinkInkGrayscale4T5.h
- Driver for ThinkInk 2.9" Grayscale 4-level T5 display (present on the pre-2025 version of the Adafruit MagTag)Resolves:
#792