diff --git a/src/aare/devices/area_detector.py b/src/aare/devices/area_detector.py index 07d70a5e..56c75201 100644 --- a/src/aare/devices/area_detector.py +++ b/src/aare/devices/area_detector.py @@ -46,14 +46,14 @@ class epicsAD(object): self.data = epics.PV(prefix + image + "ArrayData") self.counter = epics.PV(prefix + cam + "ArrayCounter_RBV") self.busy = epics.PV(prefix + cam + "AcquireBusy", auto_monitor=True) - - self.aoi_start_x = epics.PV(prefix + image + "GC_AutFunAOIOffsetX") - self.aoi_start_y = epics.PV(prefix + image + "GC_AutFunAOIOffsetY") - self.aoi_size_x = epics.PV(prefix + image + "GC_AutFunAOIWidth") - self.aoi_size_y = epics.PV(prefix + image + "GC_AutFunAOIHeight") + self.aoi_start_x = epics.PV(prefix + cam + "GC_AutFunAOIOffsetX") + self.aoi_start_y = epics.PV(prefix + cam + "GC_AutFunAOIOffsetY") + self.aoi_size_x = epics.PV(prefix + cam + "GC_AutFunAOIWidth") + self.aoi_size_y = epics.PV(prefix + cam + "GC_AutFunAOIHeight") self.gain_max = epics.PV(prefix + cam + "GC_AutGainUpperLimit") self.exp_max = epics.PV(prefix + cam + "GC_AutExpTimUppLimit") + self.auto_white_balance = epics.PV(prefix + cam + "GC_BalanceWhiteAuto") self.__init_auto_exp() try: @@ -68,6 +68,8 @@ class epicsAD(object): self.aoi_size_y.put(settings.aoi_size_y) self.gain_max.put(settings.gain_max) self.exp_max.put(settings.exp_max) + self.set_auto_once() + self.auto_white_balance.put(1) def monitorCB(self, epicsArgs, userArgs): self.img = epicsArgs["pv_value"] @@ -173,13 +175,13 @@ class epicsAD(object): self.acquire.put(1) def set_auto_once(self): - self.expo_mode.put(1) - self.gain_mode.put(1) + self.expo_mode.put(AutoEnum.ONCE) + self.gain_mode.put(AutoEnum.ONCE) def set_manual(self): self.acquire.put(0, wait=True) - self.gain_mode.put(0) # automatic gain control - self.expo_mode.put(0) # automatic exposure control + self.gain_mode.put(AutoEnum.MANUAL) # automatic gain control + self.expo_mode.put(AutoEnum.MANUAL) # automatic exposure control self.acquire.put(1) def restore(self, gain: float = 5, expo: float = 0.025):