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()