Skip to content

Commit 0e57b10

Browse files
memoryview works sortof but hangs
1 parent 0a7e4f4 commit 0e57b10

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

c_mpos/src/webcam.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,9 @@ static mp_obj_t capture_frame(webcam_obj_t *self) {
163163

164164
yuyv_to_grayscale_240x240(self->buffers[buf.index], self->gray_buffer, WIDTH, HEIGHT);
165165

166-
char filename[32];
167-
snprintf(filename, sizeof(filename), "frame_%03d.raw", self->frame_count++);
168-
save_raw(filename, self->gray_buffer, OUTPUT_WIDTH, OUTPUT_HEIGHT);
166+
//char filename[32];
167+
//snprintf(filename, sizeof(filename), "frame_%03d.raw", self->frame_count++);
168+
//save_raw(filename, self->gray_buffer, OUTPUT_WIDTH, OUTPUT_HEIGHT);
169169

170170
mp_obj_t result = mp_obj_new_memoryview(0x01, OUTPUT_WIDTH * OUTPUT_HEIGHT, self->gray_buffer);
171171

internal_filesystem/apps/com.example.camtest/assets/camtest.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ def try_capture():
9999
if new_cam_buffer and len(new_cam_buffer) == 240 * 240:
100100
image_dsc.data = new_cam_buffer # Update image descriptor
101101
image.set_src(image_dsc) # Update LVGL image
102-
current_cam_buffer = None # Clear reference to allow GC
102+
#if current_cam_buffer is not None:
103+
# webcam.free_buffer(cam) # Free the old buffer
104+
#current_cam_buffer = new_cam_buffer # Clear reference to allow GC
103105
else:
104106
print("Invalid buffer size:", len(new_cam_buffer))
105107

@@ -120,8 +122,8 @@ def try_capture_old():
120122
#current_cam_buffer = None # Clear reference to allow GC
121123
#image.invalidate() #does not work
122124
# Free the previous buffer (if any) after setting new data
123-
if current_cam_buffer is not None and not use_webcam:
124-
cam.free_buffer() # Free the old buffer
125+
#if current_cam_buffer is not None and not use_webcam:
126+
# cam.free_buffer() # Free the old buffer
125127
current_cam_buffer = new_cam_buffer # Store new buffer reference
126128

127129

0 commit comments

Comments
 (0)