From d42a8cde7bc69bf09fd3abe88145716e3ec534ba Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Wed, 14 Jan 2026 19:50:18 +0100 Subject: [PATCH] Linux: try camera before doing CameraManager.add_camera() --- internal_filesystem/lib/mpos/board/linux.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/internal_filesystem/lib/mpos/board/linux.py b/internal_filesystem/lib/mpos/board/linux.py index 4a7cb5db..9d665444 100644 --- a/internal_filesystem/lib/mpos/board/linux.py +++ b/internal_filesystem/lib/mpos/board/linux.py @@ -123,14 +123,21 @@ import mpos.sensor_manager as SensorManager SensorManager.init(None) # === CAMERA HARDWARE === -import mpos.camera_manager as CameraManager -# Desktop builds can simulate a camera for testing -CameraManager.add_camera(CameraManager.Camera( - lens_facing=CameraManager.CameraCharacteristics.LENS_FACING_BACK, - name="Desktop Simulated Camera", - vendor="MicroPythonOS" -)) +try: + # Try to initialize webcam to verify it's available + import webcam + test_cam = webcam.init("/dev/video0", width=320, height=240) + if test_cam: + webcam.deinit(test_cam) + import mpos.camera_manager as CameraManager + CameraManager.add_camera(CameraManager.Camera( + lens_facing=CameraManager.CameraCharacteristics.LENS_FACING_FRONT, + name="Video4Linux2 Camera", + vendor="ACME" + )) +except Exception as e: + print(f"Info: webcam initialization failed, camera will not be available: {e}") print("linux.py finished")