From 416316ad5a6a4f4f6b7d57733a01ee2f444d3987 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Wed, 14 May 2025 12:00:24 +0200 Subject: [PATCH] invalidate doesnt update it: --- c_mpos/src/webcam.c | 6 ++--- .../com.example.camtest/assets/camtest.py | 24 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/c_mpos/src/webcam.c b/c_mpos/src/webcam.c index cb290749..3aeca890 100644 --- a/c_mpos/src/webcam.c +++ b/c_mpos/src/webcam.c @@ -174,9 +174,9 @@ static mp_obj_t capture_frame(webcam_obj_t *self) { yuyv_to_grayscale_240x240(self->buffers[buf.index], self->gray_buffer, WIDTH, HEIGHT); - char filename[32]; - snprintf(filename, sizeof(filename), "frame_%03d.raw", self->frame_count++); - save_raw(filename, self->gray_buffer, OUTPUT_WIDTH, OUTPUT_HEIGHT); +// char filename[32]; +// snprintf(filename, sizeof(filename), "frame_%03d.raw", self->frame_count++); +// save_raw(filename, self->gray_buffer, OUTPUT_WIDTH, OUTPUT_HEIGHT); mp_obj_t result = mp_obj_new_bytes(self->gray_buffer, OUTPUT_WIDTH * OUTPUT_HEIGHT); diff --git a/internal_filesystem/apps/com.example.camtest/assets/camtest.py b/internal_filesystem/apps/com.example.camtest/assets/camtest.py index 8aea97f8..1cea6fac 100644 --- a/internal_filesystem/apps/com.example.camtest/assets/camtest.py +++ b/internal_filesystem/apps/com.example.camtest/assets/camtest.py @@ -101,24 +101,24 @@ def try_capture(): 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.set_src(None) - #image_dsc.data = None - # Set image source to update LVGL - 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: - pass - #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: pass - #print("current_cam_buffer is None, not freeing...") - #current_cam_buffer = None - #current_cam_buffer = new_cam_buffer # Store new buffer reference + print("current_cam_buffer is None, not freeing...") + current_cam_buffer = None + current_cam_buffer = new_cam_buffer # Store new buffer reference + # Update image descriptor with new buffer + # Set image source to update LVGL + image_dsc.data = None # this doesnt help + #image.set_src(None) this crashes it + image_dsc.data = current_cam_buffer + image.invalidate() + #image.set_src(image_dsc) else: print("Invalid buffer size:", len(new_cam_buffer)) if use_webcam: