-
Notifications
You must be signed in to change notification settings - Fork 43
Add New Display Component Type #277
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
Conversation
|
@tyeth Could you review this before I pass it to Loren? Thanks! |
|
It felt like either YAGNI or use it, and then later let the firmware add
support for colour/greyscale to displays at which point it will "just
work", and for now the firmware treats grayscale as mono in the driver code.
I had not appreciated at the time of writing the comment the incredible
slowness of grayscale refreshing. Maybe we'll have to have two definitions
for the magtag display to select between mono + grayscale.
…On Fri, 22 Aug 2025 at 18:11, Brent Rubell ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In components/display/magtag/definition.json
<#277 (comment)>
:
> @@ -0,0 +1,17 @@
+{
+ "displayName": "MagTag E-Ink Display",
+ "vendor": "Adafruit",
+ "productURL": "https://www.adafruit.com/product/4800",
+ "documentationURL": "https://learn.adafruit.com/adafruit-magtag",
+ "published": false,
+ "description": "A 2.9\" black and white e-ink display onboard the Adafruit MagTag",
+ "displayType": {
+ "type": "epd",
+ "spiEpd": {
+ "bus": 0
+ },
+ "epdConfig": {
+ "mode": "mono"
It's capable of it but the code doesn't support greyscale colors - it's
faster to render text in mono and default to that (15s vs 1-2s with mono).
—
Reply to this email directly, view it on GitHub
<#277 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTBZ45YDHKCFN3K5D2W5DT3O5FNPAVCNFSM6AAAAACEPMBTMKVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTCNBVGIZDANRQGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
I think instead of 2 definitions, we'll expose |
|
Nice, like it!
…On Fri, 22 Aug 2025, 18:21 Brent Rubell, ***@***.***> wrote:
*brentru* left a comment (adafruit/Wippersnapper_Components#277)
<#277 (comment)>
I think instead of 2 definitions, we'll expose mode in the Configure
Component selector. The user can decide and that field is dynamic.
—
Reply to this email directly, view it on GitHub
<#277 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTBZ43GNNNYNNMNU3Q3DPT3O5GRXAVCNFSM6AAAAACEPMBTMKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTEMJVGA3TIOJSGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
I have extended the Display component JSON Schema for compatibility with TFT displays and added the following definitions:
|
|
I'm confused, is it actually a panel thats portrait? The class docs
<https://adafruit.github.io/Adafruit-ST7735-Library/html/class_adafruit___s_t7789.html#a2dbb8298fe4309ffc41873a49fca3a3f>
show the init call takes width then height. In a similar situation for the
SH1107 i2c featherwing I've kept width and height correct as the user
perspective / board spec (so the UI boxes work correctly too) and then had
to switch based on the component to passing the w/h args in reverse order
solely for that board.
…On Wed, 27 Aug 2025 at 15:21, Brent Rubell ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In components/display/tft-esp32-s2-feather/definition.json
<#277 (comment)>
:
> + "width": 135,
+ "height": 240,
Yes it feels backwards but the initialization call for the display takes (width,
height) which is 240x135.
—
Reply to this email directly, view it on GitHub
<#277 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTBZ445IE22VXCT4LBYBT33PW5IBAVCNFSM6AAAAACEPMBTMKVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTCNRQGAYTQMJWGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
|
|
@lorennorman do you still need me to sync it to this PR? |
|
no i handled what i needed. this might come up again though |
This pull request adds support for a new
displaycomponentSchema:
components/display/schema.json).EPD
components/display/magtag/definition.json).TFT
Adds the following definitions:
components/display/rev-tft-esp32-s2-feather/definition.json)components/display/rev-tft-esp32-s3-feather/definition.json)components/display/tft-esp32-s2-feather/definition.json)components/display/tft-esp32-s3-feather/definition.json)Actions have been updated to reflect this change.