#ill try that and get back to you

1 messages · Page 1 of 1 (latest)

grim spade
#

a quick summary is:

import board, displayio
import adafruit_imageload
display = board.DISPLAY  # or any `display` object
maingroup = displayio.Group() # everything goes in maingroup
display.root_group = maingroup # set the root group to display
# load PNG, or BMP w/ "my_image.bmp", must be palettized image
bitmap, palette = adafruit_imageload.load("my_image.png") 
image = displayio.TileGrid(img, pixel_shader=palette) # oops had an extra ')'
maingroup.append(image) # shows the image

from https://github.com/todbot/circuitpython-tricks?tab=readme-ov-file#display-an-image

earnest mural
#

thanks, ill take a look

#

using that with what i presume is to define my display, i put it after all that, and got this

earnest mural
#

the method on the github i couldnt get to work, but i can get it to display with OnDiskBitmap

grim spade
grim spade
earnest mural
#

getting this after pluggin in the code

#

the image slideshow portion specifically

#

ahh

#

display was already put in there above. now its working, switching between the two, but very jittery

grim spade
#

doing full screen updates is generally very slow. you may also be getting partial updates? so you may want to turn off auto_refresh on the display and do an explicit display.refresh() once the image has loaded

earnest mural
earnest mural
grim spade
# earnest mural this?

Yes. I've not used FramebufferDisplay before but it looks like it has the same API as other displayio displays

earnest mural
#

ok, so how do i tell it to refresh with display.refresh() between images?

earnest mural
#

i think i figured it out, though its still jittery

#

im not sure to be honest 😅

grim spade
grim spade
earnest mural
#

maybe reducing the file size would help?

#

theyre 200-400kb between the two images

grim spade
#

wow and that's working on a Pico with adafruit_imageload?

earnest mural
#

its a qualia ESP32-S3

grim spade
#

ah okay so you have some RAM to spare

#

You are correct: usually reducing file size is one of the best routes to getting images to load better. Without seeing a video of what you mean by "jittery" I'm not sure what the issue could be

earnest mural
#

i can share one if it would be helpful

grim spade
#

Yeah. I'd like to see what you're using, it sounds like a cool setup

earnest mural
#

the display is really nice, but i didnt know how over my head iw as when i got them lol. i appreciate your help so far

#

you can hopefully see that there is some tearing or something near the bottom of the image. pictures arent related to the project

grim spade
#

Wow that looks awesome. The top-down redraw is standard CircuitPython full-screen redraw. The left-right glitchy tearing looks like a flaky connection, maybe a power problem, a small protocol problem in the lower levels of displayio, or maybe because of WiFI interrupting display output. Do you have WiFi turned on? (or have the CIRCUITPY_WIFI_* variables set in your settings.toml?)

earnest mural
#

no wifi stuff configured, nothing in the toml at the moment

grim spade
#

But my best bet would be that the TFT timing values you have set are just a little off from what they need to be

earnest mural
#

ahh i see. any advice on how to adjust that? besides trial and error i guess

grim spade
#

My small amount of playing with the Qualia board showed that to be the case (so I guess I have played with the framebuffer)

#

no clue, unfortunately. display setup is kinda black magic and I've mostly relied on existing configs

#

in your TFT_TIMINGS, what do you have for "frequency" ?

earnest mural
#

16000000

grim spade
#

Try changing that. I'd try 8_000_000 and 12_000_000

earnest mural
#

8000000 shows no jittering but flickering instead. 12000000 looks perfect actually

grim spade
#

yay some success then!

earnest mural
#

theoretically, you could make a series of images into like a simple animation i imagine, though im not sure how to make it switch between them fast

#

but yes, finally progress......

#

thanks a lot, ill be back in a bit

earnest mural
#

I dont have anything further that i cant figure out for what i've been presented with for now. I have another screen for the board i will tackle in the future but i think this works for now