From 33af3bf48cc4d4d65d37fc134a58c1bb8a0ed00f Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Thu, 19 Sep 2019 17:22:04 +0100 Subject: [PATCH] Add "board" to all device states --- openflexure_microscope/camera/base.py | 4 +++- openflexure_microscope/camera/mock.py | 6 +++++- openflexure_microscope/camera/pi.py | 13 ++++++++++--- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/openflexure_microscope/camera/base.py b/openflexure_microscope/camera/base.py index 0bfb5c2c..3cd12770 100644 --- a/openflexure_microscope/camera/base.py +++ b/openflexure_microscope/camera/base.py @@ -120,7 +120,9 @@ class BaseCamera(metaclass=ABCMeta): self.stream_timeout = 20 self.stream_timeout_enabled = False - self.state = {} + self.state = { + "board": None + } # TODO: Load/save these to config self.paths = { diff --git a/openflexure_microscope/camera/mock.py b/openflexure_microscope/camera/mock.py index 0b11e0b5..941499bb 100644 --- a/openflexure_microscope/camera/mock.py +++ b/openflexure_microscope/camera/mock.py @@ -25,7 +25,11 @@ class MockStreamer(BaseCamera): BaseCamera.__init__(self) # Store state of PiCameraStreamer - self.state.update({"stream_active": False, "record_active": False}) + self.state.update({ + "stream_active": False, + "record_active": False, + "board": None + }) # Update config properties self.image_resolution = (1312, 976) diff --git a/openflexure_microscope/camera/pi.py b/openflexure_microscope/camera/pi.py index 55cbec75..89b9cefe 100644 --- a/openflexure_microscope/camera/pi.py +++ b/openflexure_microscope/camera/pi.py @@ -66,9 +66,13 @@ class PiCameraStreamer(BaseCamera): ) #: :py:class:`picamera.PiCamera`: Picamera object # Store state of PiCameraStreamer - self.state.update( - {"stream_active": False, "record_active": False, "preview_active": False} - ) + self.state.update({ + "stream_active": False, + "record_active": False, + "preview_active": False, + "board": f"picamera_{self.camera.revision}", + }) + # Reset variable states self.set_zoom(1.0) @@ -78,6 +82,9 @@ class PiCameraStreamer(BaseCamera): self.numpy_resolution = (1312, 976) self.jpeg_quality = 75 + # Update board identifier + self.state.update({}) + # Create an empty stream self.stream = io.BytesIO()