You've already forked MicroPythonOS
mirror of
https://github.com/m5stack/MicroPythonOS.git
synced 2026-05-20 11:51:27 -07:00
memoryview works sortof but hangs
This commit is contained in:
+3
-3
@@ -163,9 +163,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_memoryview(0x01, OUTPUT_WIDTH * OUTPUT_HEIGHT, self->gray_buffer);
|
||||
|
||||
|
||||
@@ -99,7 +99,9 @@ def try_capture():
|
||||
if new_cam_buffer and len(new_cam_buffer) == 240 * 240:
|
||||
image_dsc.data = new_cam_buffer # Update image descriptor
|
||||
image.set_src(image_dsc) # Update LVGL image
|
||||
current_cam_buffer = None # Clear reference to allow GC
|
||||
#if current_cam_buffer is not None:
|
||||
# webcam.free_buffer(cam) # Free the old buffer
|
||||
#current_cam_buffer = new_cam_buffer # Clear reference to allow GC
|
||||
else:
|
||||
print("Invalid buffer size:", len(new_cam_buffer))
|
||||
|
||||
@@ -120,8 +122,8 @@ def try_capture_old():
|
||||
#current_cam_buffer = None # Clear reference to allow GC
|
||||
#image.invalidate() #does not work
|
||||
# Free the previous buffer (if any) after setting new data
|
||||
if current_cam_buffer is not None and not use_webcam:
|
||||
cam.free_buffer() # Free the old buffer
|
||||
#if current_cam_buffer is not None and not use_webcam:
|
||||
# cam.free_buffer() # Free the old buffer
|
||||
current_cam_buffer = new_cam_buffer # Store new buffer reference
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user