Loading noctua/devices/stx2.py +133 −87 Original line number Diff line number Diff line Loading @@ -171,7 +171,9 @@ class Camera(STX): If None, the current UTC time is used. """ if self.state != 0: log.error(f"Cannot start exposure, camera is not idle. State: {self.state}") log.error( f"Cannot start exposure, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading Loading @@ -214,7 +216,9 @@ class Camera(STX): The height of the sub-frame in pixels. """ if self.state != 0: log.error(f"Cannot set window, camera is not idle. State: {self.state}") log.error( f"Cannot set window, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -232,7 +236,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] cam_x, cam_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] self.set_window(0, 0, int(cam_x), int(cam_y)) Loading @@ -241,7 +246,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] cam_x, cam_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] start_x = int(cam_x) // 4 start_y = int(cam_y) // 4 Loading @@ -255,7 +261,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] cam_x, cam_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] cam_x, cam_y = res start_x = int(cam_x) * 9 // 20 Loading @@ -271,7 +278,8 @@ class Camera(STX): params = ["BinX", "BinY"] binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] return [int(binx), int(biny)] Loading @@ -279,7 +287,9 @@ class Camera(STX): def binning(self, b): if self.state != 0: log.error(f"Cannot change binning, camera is not idle. State: {self.state}") log.error( f"Cannot change binning, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -292,7 +302,8 @@ class Camera(STX): params = ["CurrentFilter"] res = self.get("GetFilterSetting", params=params) if self.error: return None if self.error: return None return res Loading @@ -302,7 +313,8 @@ class Camera(STX): params = ["CoolerState"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return bool(res) Loading @@ -310,7 +322,9 @@ class Camera(STX): def cooler(self, b): if self.state != 0: log.error(f"Cannot change cooler state, camera is not idle. State: {self.state}") log.error( f"Cannot change cooler state, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -321,7 +335,9 @@ class Camera(STX): def filter(self, n): if self.is_moving != 0: log.error(f"Cannot change filter, filter wheel is moving. State: {self.is_moving}") log.error( f"Cannot change filter, filter wheel is moving. State: { self.is_moving}") self.error.append("Filter wheel busy") return Loading @@ -334,7 +350,8 @@ class Camera(STX): params = ["CCDTemperature"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return round(res, 1) Loading @@ -342,7 +359,9 @@ class Camera(STX): def temperature(self, t): if self.state != 0: log.error(f"Cannot change temperature, camera is not idle. State: {self.state}") log.error( f"Cannot change temperature, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -353,9 +372,20 @@ class Camera(STX): def all(self): """dict: A comprehensive dictionary of the current camera state.""" params = ["AmbientTemperature", "CCDTemperatureSetpoint", "CCDTemperature", "CoolerState", "CoolerPower", "BinX", "BinY", "CameraXSize", "CameraYSize", "StartX", "StartY", "NumX", "NumY"] params = [ "AmbientTemperature", "CCDTemperatureSetpoint", "CCDTemperature", "CoolerState", "CoolerPower", "BinX", "BinY", "CameraXSize", "CameraYSize", "StartX", "StartY", "NumX", "NumY"] res = self.get("ImagerGetSettings", params=params) if self.error or not res or len(res) != len(params): Loading Loading @@ -386,7 +416,8 @@ class Camera(STX): params = ["AmbientTemperature"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return round(res, 1) Loading @@ -396,7 +427,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize", "BinX", "BinY"] camx, camy, binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] return [int(camx) // int(binx) // 2, int(camy) // int(biny) // 2] Loading @@ -405,7 +437,8 @@ class Camera(STX): """str: The camera model description string.""" res = self.get("Description") if self.error: return None if self.error: return None return res Loading @@ -415,7 +448,8 @@ class Camera(STX): params = ["CoolerPower"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return round(res) Loading @@ -426,7 +460,8 @@ class Camera(STX): """ res = self.get("FilterState") if self.error: return None if self.error: return None return res Loading @@ -436,7 +471,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] b_x, b_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] b_x, b_y = self.binning return [int(res[0]) // b_x, int(res[1]) // b_y] Loading @@ -447,7 +483,8 @@ class Camera(STX): params = ["CCDTemperatureSetpoint"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return res Loading @@ -458,7 +495,8 @@ class Camera(STX): """ res = self.get("ImagerState") if self.error: return None if self.error: return None return res Loading @@ -469,7 +507,8 @@ class Camera(STX): """ res = self.get("ImagerImageReady") if self.error: return None if self.error: return None return res Loading @@ -478,7 +517,8 @@ class Camera(STX): """list of str: Camera firmware and API version numbers.""" res = self.get("VersionNumbers") if self.error: return None if self.error: return None return res Loading @@ -488,7 +528,8 @@ class Camera(STX): params = ["StartX", "NumX", "BinX"] startx, numx, binx = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] x_start = int(startx) // int(binx) x_end = (int(startx) + int(numx)) // int(binx) Loading @@ -500,7 +541,8 @@ class Camera(STX): params = ["StartY", "NumY", "BinY"] starty, numy, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] y_start = int(starty) // int(biny) y_end = (int(starty) + int(numy)) // int(biny) Loading @@ -511,8 +553,10 @@ class Camera(STX): """list of int: The current [X, Y] start coordinates for current binning.""" params = ["StartX", "StartY", "BinX", "BinY"] startx, starty, binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] startx, starty, binx, biny = self.get( "ImagerGetSettings", params=params) if self.error: return [None, None] return [int(startx) // int(binx), int(starty) // int(biny)] Loading @@ -521,8 +565,10 @@ class Camera(STX): """list of int: The current [X, Y] end coordinates for current binning.""" params = ["StartX", "StartY", "NumX", "NumY", "BinX", "BinY"] startx, starty, numx, numy, binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] startx, starty, numx, numy, binx, biny = self.get( "ImagerGetSettings", params=params) if self.error: return [None, None] x_end = (int(startx) + int(numx)) // int(binx) y_end = (int(starty) + int(numy)) // int(biny) Loading noctua/devices/stx.py +4 −4 File changed.Contains only whitespace changes. Show changes Loading
noctua/devices/stx2.py +133 −87 Original line number Diff line number Diff line Loading @@ -171,7 +171,9 @@ class Camera(STX): If None, the current UTC time is used. """ if self.state != 0: log.error(f"Cannot start exposure, camera is not idle. State: {self.state}") log.error( f"Cannot start exposure, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading Loading @@ -214,7 +216,9 @@ class Camera(STX): The height of the sub-frame in pixels. """ if self.state != 0: log.error(f"Cannot set window, camera is not idle. State: {self.state}") log.error( f"Cannot set window, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -232,7 +236,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] cam_x, cam_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] self.set_window(0, 0, int(cam_x), int(cam_y)) Loading @@ -241,7 +246,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] cam_x, cam_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] start_x = int(cam_x) // 4 start_y = int(cam_y) // 4 Loading @@ -255,7 +261,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] cam_x, cam_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] cam_x, cam_y = res start_x = int(cam_x) * 9 // 20 Loading @@ -271,7 +278,8 @@ class Camera(STX): params = ["BinX", "BinY"] binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] return [int(binx), int(biny)] Loading @@ -279,7 +287,9 @@ class Camera(STX): def binning(self, b): if self.state != 0: log.error(f"Cannot change binning, camera is not idle. State: {self.state}") log.error( f"Cannot change binning, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -292,7 +302,8 @@ class Camera(STX): params = ["CurrentFilter"] res = self.get("GetFilterSetting", params=params) if self.error: return None if self.error: return None return res Loading @@ -302,7 +313,8 @@ class Camera(STX): params = ["CoolerState"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return bool(res) Loading @@ -310,7 +322,9 @@ class Camera(STX): def cooler(self, b): if self.state != 0: log.error(f"Cannot change cooler state, camera is not idle. State: {self.state}") log.error( f"Cannot change cooler state, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -321,7 +335,9 @@ class Camera(STX): def filter(self, n): if self.is_moving != 0: log.error(f"Cannot change filter, filter wheel is moving. State: {self.is_moving}") log.error( f"Cannot change filter, filter wheel is moving. State: { self.is_moving}") self.error.append("Filter wheel busy") return Loading @@ -334,7 +350,8 @@ class Camera(STX): params = ["CCDTemperature"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return round(res, 1) Loading @@ -342,7 +359,9 @@ class Camera(STX): def temperature(self, t): if self.state != 0: log.error(f"Cannot change temperature, camera is not idle. State: {self.state}") log.error( f"Cannot change temperature, camera is not idle. State: { self.state}") self.error.append("Camera not idle") return Loading @@ -353,9 +372,20 @@ class Camera(STX): def all(self): """dict: A comprehensive dictionary of the current camera state.""" params = ["AmbientTemperature", "CCDTemperatureSetpoint", "CCDTemperature", "CoolerState", "CoolerPower", "BinX", "BinY", "CameraXSize", "CameraYSize", "StartX", "StartY", "NumX", "NumY"] params = [ "AmbientTemperature", "CCDTemperatureSetpoint", "CCDTemperature", "CoolerState", "CoolerPower", "BinX", "BinY", "CameraXSize", "CameraYSize", "StartX", "StartY", "NumX", "NumY"] res = self.get("ImagerGetSettings", params=params) if self.error or not res or len(res) != len(params): Loading Loading @@ -386,7 +416,8 @@ class Camera(STX): params = ["AmbientTemperature"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return round(res, 1) Loading @@ -396,7 +427,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize", "BinX", "BinY"] camx, camy, binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] return [int(camx) // int(binx) // 2, int(camy) // int(biny) // 2] Loading @@ -405,7 +437,8 @@ class Camera(STX): """str: The camera model description string.""" res = self.get("Description") if self.error: return None if self.error: return None return res Loading @@ -415,7 +448,8 @@ class Camera(STX): params = ["CoolerPower"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return round(res) Loading @@ -426,7 +460,8 @@ class Camera(STX): """ res = self.get("FilterState") if self.error: return None if self.error: return None return res Loading @@ -436,7 +471,8 @@ class Camera(STX): params = ["CameraXSize", "CameraYSize"] b_x, b_y = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] b_x, b_y = self.binning return [int(res[0]) // b_x, int(res[1]) // b_y] Loading @@ -447,7 +483,8 @@ class Camera(STX): params = ["CCDTemperatureSetpoint"] res = self.get("ImagerGetSettings", params=params) if self.error: return None if self.error: return None return res Loading @@ -458,7 +495,8 @@ class Camera(STX): """ res = self.get("ImagerState") if self.error: return None if self.error: return None return res Loading @@ -469,7 +507,8 @@ class Camera(STX): """ res = self.get("ImagerImageReady") if self.error: return None if self.error: return None return res Loading @@ -478,7 +517,8 @@ class Camera(STX): """list of str: Camera firmware and API version numbers.""" res = self.get("VersionNumbers") if self.error: return None if self.error: return None return res Loading @@ -488,7 +528,8 @@ class Camera(STX): params = ["StartX", "NumX", "BinX"] startx, numx, binx = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] x_start = int(startx) // int(binx) x_end = (int(startx) + int(numx)) // int(binx) Loading @@ -500,7 +541,8 @@ class Camera(STX): params = ["StartY", "NumY", "BinY"] starty, numy, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] if self.error: return [None, None] y_start = int(starty) // int(biny) y_end = (int(starty) + int(numy)) // int(biny) Loading @@ -511,8 +553,10 @@ class Camera(STX): """list of int: The current [X, Y] start coordinates for current binning.""" params = ["StartX", "StartY", "BinX", "BinY"] startx, starty, binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] startx, starty, binx, biny = self.get( "ImagerGetSettings", params=params) if self.error: return [None, None] return [int(startx) // int(binx), int(starty) // int(biny)] Loading @@ -521,8 +565,10 @@ class Camera(STX): """list of int: The current [X, Y] end coordinates for current binning.""" params = ["StartX", "StartY", "NumX", "NumY", "BinX", "BinY"] startx, starty, numx, numy, binx, biny = self.get("ImagerGetSettings", params=params) if self.error: return [None, None] startx, starty, numx, numy, binx, biny = self.get( "ImagerGetSettings", params=params) if self.error: return [None, None] x_end = (int(startx) + int(numx)) // int(binx) y_end = (int(starty) + int(numy)) // int(biny) Loading