From 2435842ff6776964546f437946924f5ec14c6e03 Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Thu, 25 Jun 2020 16:48:17 +0100 Subject: [PATCH] Changed locks to 1s default --- openflexure_microscope/camera/base.py | 4 ++-- openflexure_microscope/camera/pi.py | 6 +++--- openflexure_microscope/stage/base.py | 2 +- openflexure_microscope/stage/sanga.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/openflexure_microscope/camera/base.py b/openflexure_microscope/camera/base.py index 4f5bbbaf..84b060e9 100644 --- a/openflexure_microscope/camera/base.py +++ b/openflexure_microscope/camera/base.py @@ -23,7 +23,7 @@ class BaseCamera(metaclass=ABCMeta): self.thread = None self.camera = None - self.lock = StrictLock(name="Camera", timeout=None) + self.lock = StrictLock(name="Camera", timeout=1) self.frame = None self.last_access = 0 @@ -55,7 +55,7 @@ class BaseCamera(metaclass=ABCMeta): @abstractmethod def update_settings(self, config: dict): """Update settings from a config dictionary""" - with self.lock: + with self.lock(timeout=None): # Apply valid config params to camera object for key, value in config.items(): # For each provided setting if hasattr(self, key): # If the instance has a matching property diff --git a/openflexure_microscope/camera/pi.py b/openflexure_microscope/camera/pi.py index 1ed7f5e2..d24ac186 100644 --- a/openflexure_microscope/camera/pi.py +++ b/openflexure_microscope/camera/pi.py @@ -195,7 +195,7 @@ class PiCameraStreamer(BaseCamera): logging.debug("PiCameraStreamer: Applying config:") logging.debug(config) - with self.lock: + with self.lock(timeout=None): # Apply valid config params to Picamera object if not self.record_active: # If not recording a video @@ -301,7 +301,7 @@ class PiCameraStreamer(BaseCamera): """ Change the camera zoom, handling re-centering and scaling. """ - with self.lock: + with self.lock(timeout=None): self.zoom_value = float(zoom_value) if self.zoom_value < 1: self.zoom_value = 1 @@ -448,7 +448,7 @@ class PiCameraStreamer(BaseCamera): resolution ((int, int)): Resolution to set the camera to, before starting recording. Defaults to `self.stream_resolution`. """ - with self.lock: + with self.lock(timeout=None): # If stream object was destroyed if not hasattr(self, "stream"): self.stream = io.BytesIO() # Create a stream object diff --git a/openflexure_microscope/stage/base.py b/openflexure_microscope/stage/base.py index d7510a6a..3121c1bc 100644 --- a/openflexure_microscope/stage/base.py +++ b/openflexure_microscope/stage/base.py @@ -11,7 +11,7 @@ class BaseStage(metaclass=ABCMeta): """ def __init__(self): - self.lock = StrictLock(name="Stage", timeout=5) + self.lock = StrictLock(name="Stage", timeout=1) @abstractmethod def update_settings(self, config: dict): diff --git a/openflexure_microscope/stage/sanga.py b/openflexure_microscope/stage/sanga.py index c3fdf35d..7e88db21 100644 --- a/openflexure_microscope/stage/sanga.py +++ b/openflexure_microscope/stage/sanga.py @@ -51,7 +51,7 @@ class SangaStage(BaseStage): @property def position(self): - with self.lock: + with self.lock(timeout=None): return self.board.position @property