If I wish to update the buffer, the updates are not displayed, for example.
for x in range(10):
buf = camera.capture()
canvas.set_buffer(buf, 240, 240, lv.img.CF.TRUE_COLOR)
canvas.invalidate()
time.sleep(1)
I tried using an img widget as opposed to a canvas widget but was unable to get the buffer to display in the img widget. Any assistance would be great! Thank you.
“camera” is not part of LVGL. You didn’t specify what camera.capture() returns. A memoryview? Something else?
Anyway, you are not supposed to call set_buffer repeatedly. You call it once to allocate a buffer for the canvas. You can call copy_buf later to copy some buffer into the canvas.
Ok, right, camera is another module I have loaded which is not part of lvgl. I didn’t include my camera or screen initialization since it’s specific to my build and I don’t want to confuse anyone with it. It correctly displays the picture initially and I’m assuming it’s a list of bytes returned from the camera which is RGB565 format, which should be 16bit. I’ll give the copy_buf a shot and report back. Thank you.