From 1ad6656e2d7a628facdde7eda717eb85ce9aefb0 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Tue, 10 Feb 2026 20:09:27 +0100 Subject: [PATCH] Camera: make it webcam-agnostic --- .../lib/mpos/ui/camera_activity.py | 30 +------------------ .../lib/mpos/ui/camera_settings.py | 18 +++++------ 2 files changed, 8 insertions(+), 40 deletions(-) diff --git a/internal_filesystem/lib/mpos/ui/camera_activity.py b/internal_filesystem/lib/mpos/ui/camera_activity.py index 70e6d301..47ab3834 100644 --- a/internal_filesystem/lib/mpos/ui/camera_activity.py +++ b/internal_filesystem/lib/mpos/ui/camera_activity.py @@ -1,11 +1,6 @@ import lvgl as lv import time -try: - import webcam -except Exception as e: - print(f"Info: could not import webcam module: {e}") - from ..time import epoch_seconds from .camera_settings import CameraSettingsActivity from ..camera_manager import CameraManager @@ -34,7 +29,6 @@ class CameraActivity(Activity): image_dsc = None scanqr_mode = False scanqr_intent = False - use_webcam = False capture_timer = None prefs = None # regular prefs @@ -321,7 +315,7 @@ class CameraActivity(Activity): def open_settings(self): from ..content.intent import Intent - intent = Intent(activity_class=CameraSettingsActivity, extras={"prefs": self.prefs if not self.scanqr_mode else self.scanqr_prefs, "use_webcam": self.use_webcam, "scanqr_mode": self.scanqr_mode}) + intent = Intent(activity_class=CameraSettingsActivity, extras={"prefs": self.prefs if not self.scanqr_mode else self.scanqr_prefs, "scanqr_mode": self.scanqr_mode}) self.startActivity(intent) def try_capture(self, event): @@ -363,25 +357,3 @@ class CameraActivity(Activity): return buffer[3:] return buffer -""" - def zoom_button_click_unused(self, e): - print("zooming...") - if self.use_webcam: - print("zoom_button_click is not supported for webcam") - return - if self.cam: - startX = self.prefs.get_int("startX", CameraSettingsActivity.startX_default) - startY = self.prefs.get_int("startX", CameraSettingsActivity.startY_default) - endX = self.prefs.get_int("startX", CameraSettingsActivity.endX_default) - endY = self.prefs.get_int("startX", CameraSettingsActivity.endY_default) - offsetX = self.prefs.get_int("startX", CameraSettingsActivity.offsetX_default) - offsetY = self.prefs.get_int("startX", CameraSettingsActivity.offsetY_default) - totalX = self.prefs.get_int("startX", CameraSettingsActivity.totalX_default) - totalY = self.prefs.get_int("startX", CameraSettingsActivity.totalY_default) - outputX = self.prefs.get_int("startX", CameraSettingsActivity.outputX_default) - outputY = self.prefs.get_int("startX", CameraSettingsActivity.outputY_default) - scale = self.prefs.get_bool("scale", CameraSettingsActivity.scale_default) - binning = self.prefs.get_bool("binning", CameraSettingsActivity.binning_default) - result = self.cam.set_res_raw(startX,startY,endX,endY,offsetX,offsetY,totalX,totalY,outputX,outputY,scale,binning) - print(f"self.cam.set_res_raw returned {result}") -""" diff --git a/internal_filesystem/lib/mpos/ui/camera_settings.py b/internal_filesystem/lib/mpos/ui/camera_settings.py index 72ac5806..7e9c713c 100644 --- a/internal_filesystem/lib/mpos/ui/camera_settings.py +++ b/internal_filesystem/lib/mpos/ui/camera_settings.py @@ -74,8 +74,7 @@ class CameraSettingsActivity(Activity): "raw_gma": False, # Disable raw gamma for better contrast } - # Resolution options for both ESP32 and webcam - # Webcam supports all ESP32 resolutions via automatic cropping/padding + # Resolution options are the same for all cameras for now (can be split later) RESOLUTIONS = [ ("96x96", "96x96"), ("160x120", "160x120"), @@ -114,7 +113,6 @@ class CameraSettingsActivity(Activity): self.dependent_controls = {} def onCreate(self): - self.use_webcam = self.getIntent().extras.get("use_webcam") self.prefs = self.getIntent().extras.get("prefs") self.scanqr_mode = self.getIntent().extras.get("scanqr_mode") @@ -132,16 +130,14 @@ class CameraSettingsActivity(Activity): basic_tab = tabview.add_tab("Basic") self.create_basic_tab(basic_tab, self.prefs) - # Create Advanced and Expert tabs only for ESP32 camera - if not self.use_webcam or True: # for now, show all tabs - advanced_tab = tabview.add_tab("Advanced") - self.create_advanced_tab(advanced_tab, self.prefs) + advanced_tab = tabview.add_tab("Advanced") + self.create_advanced_tab(advanced_tab, self.prefs) - expert_tab = tabview.add_tab("Expert") - self.create_expert_tab(expert_tab, self.prefs) + expert_tab = tabview.add_tab("Expert") + self.create_expert_tab(expert_tab, self.prefs) - #raw_tab = tabview.add_tab("Raw") - #self.create_raw_tab(raw_tab, self.prefs) + #raw_tab = tabview.add_tab("Raw") + #self.create_raw_tab(raw_tab, self.prefs) self.setContentView(screen)