This commit is contained in:
Thomas Farstrike
2025-05-14 11:51:53 +02:00
parent 0e9df18b3b
commit 3cf4ff8236
@@ -96,27 +96,34 @@ def try_capture():
global current_cam_buffer, image_dsc, image
use_webcam = True # Set to True for webcam module
if use_webcam:
new_cam_buffer = None
new_cam_buffer = webcam.capture_frame(cam) # Returns bytes
else:
new_cam_buffer = cam.capture() # Returns memoryview for other camera
if new_cam_buffer and len(new_cam_buffer) == 240 * 240:
# Update image descriptor with new buffer
image_dsc.data = new_cam_buffer
#image.set_src(None)
#image_dsc.data = None
# Set image source to update LVGL
image.set_src(image_dsc)
image_dsc.data = new_cam_buffer
#image.set_src(image_dsc)
# Free the previous buffer (if any)
if current_cam_buffer is not None:
if use_webcam:
webcam.free_buffer(cam) # Explicitly free webcam buffer
pass
#webcam.free_buffer(cam) # Explicitly free webcam buffer
else:
cam.free_buffer() # Free other camera buffer
else:
print("current_cam_buffer is None, not freeing...")
current_cam_buffer = new_cam_buffer # Store new buffer reference
pass
#print("current_cam_buffer is None, not freeing...")
#current_cam_buffer = None
#current_cam_buffer = new_cam_buffer # Store new buffer reference
else:
print("Invalid buffer size:", len(new_cam_buffer))
if use_webcam:
webcam.free_buffer(cam)
pass
#webcam.free_buffer(cam)
else:
cam.free_buffer()