-
Notifications
You must be signed in to change notification settings - Fork 57
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
ST7789 - maximum height and width? #142
Comments
Interesting... I appear to have made some progress with this: I changed two lines of code in https://github.com/rm-hull/luma.lcd/blob/master/luma/lcd/device.py#L301-L303
to become:
And it allows my 240x320 ST7789 display to show full screen. It doesn't appear, from looking at various demos in The examples also output the correct dimensions as specified by the .conf file with those above changes:
However further down at https://github.com/rm-hull/luma.lcd/blob/master/luma/lcd/device.py#L336-L341 there are some hardcoded references to
If I change those, such as making the second value ( I've not yet tried the modified code with a |
Checked with an Open-Smart 240x240 ST7789 and that is still working correctly with the above code changes. I've seen there are also I don't currently have any |
@matemaciek are you able to help here .. could we change the implementation to not have hard coded width and height please? |
I'm definitely for this change, I was polishing already existing pull request and those hard coded dimensions were itching me, but I didn't have different displays to test other sizes. The more generic code is, the better (-: @SimUKdev your changes make total sense. As for changes in |
I've ordered 135x240 |
Just tried both Interestingly, if I put 120 for both values, the screen still outputs at what appears to be the same 240x320 (or 320x240) resolution. And just out of curiosity I tried |
so, is this a bug? |
I had the same issue with my display (from waveshare). After looking through the code and ST7789 datasheet, it turns out that the arguments to commands should be sent as data bytes, but the library sends it as command bytes. This causes the display to receive a SWRESET command (software reset), because a resolution of 320px is encoded as 0x01 0x3F. I solved this in pull request #155 by splitting the command and arguments, and forwarding the argument bytes to |
I am also having issues with a device that seems to follow the setup of this product from adafruit https://www.adafruit.com/product/5206 |
Type of Raspberry Pi
Raspberry Pi 3 A+
Linux Kernel version
Linux pi3aplus-5 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l GNU/Linux
Expected behaviour
Expecting the display to show full screen across all 240x320 pixels on the ST7789 2.0 inch display
Actual behaviour
(Note: In the photo only, colours are slightly over-bright and washed out as I've brightened it up to show the hardware and silkscreen more clearly to clarify exactly what sort of device I'm using. The output that is showing correctly, looks correct as per other ST77xx displays)
Only getting the pixels correctly displaying on the top two thirds of the display, with "scrambled data/corruption" showing in the lower third. I have two of these displays, from the same supplier, and both are doing the same, so I think I can rule out the individual display being at "fault".
I've tried adjusting the height and width (swapping 320 and 240 between height and width), also tried rotate which only rotated within the working two-thirds of the screen.
When I run any demo from
luma.examples
, I note that it shows "240 x 240" for the Dimensions line, despite having an expected output of 240x320 (or 320x240)My
st7789_240x320.conf
file contains:As noted, I've tried
--width=320
and--height=240
but that hasn't made any difference to my issue. Also may be worth noting that the content is centring in the middle of the 240x240 size rather than fitting to a 320 sized width or height.The demos appear to output a
Dimensions: 240 x 240
line with the ST7789 no matter what sizes I specify, even far smaller than the actual display's correct sizes.I've made two other custom .conf files for ST7735 (Open-Smart 160x80) and ST7789 (Open-Smart 240x240) screens this past week (which I plan to submit as PRs once I've worked through my other various ST77xx based displays to confirm they are working with luma.lcd), so feel I am correctly using the conf file and settings.
Is there a maximum height and width for ST7789 displays?
Because the luma.example demo files output a
240 x 240
from the demo_opts even though I'm setting a higher resolution, it makes me wonder if there is a hard-cap being set on the maximum resolution of the display by the repo, possibly even a fixed resolution for the ST7789, so I think my overall question is if there is a maximum height and width for the ST7789 display?The text was updated successfully, but these errors were encountered: