@@ -1132,7 +1132,7 @@ def __str__(self):
11321132
11331133from threading import Lock
11341134from microscope import devices
1135- from microscope .devices import keep_acquiring , Setting , Binning , ROI
1135+ from microscope .devices import keep_acquiring , Binning , ROI
11361136import time
11371137
11381138# A lock on the DLL used to ensure DLL calls act on the correct device.
@@ -1253,21 +1253,21 @@ def initialize(self):
12531253 # Mode
12541254 name = 'readout mode'
12551255 if self ._readout_modes :
1256- self .settings [ name ] = Setting (name , 'enum' ,
1257- None ,
1258- self ._set_readout_mode ,
1259- lambda : [str (mode ) for mode in self ._readout_modes ])
1260- self .settings [ name ]. set ( 0 )
1256+ self .add_setting (name , 'enum' ,
1257+ None ,
1258+ self ._set_readout_mode ,
1259+ lambda : [str (mode ) for mode in self ._readout_modes ])
1260+ self .set_setting ( name , 0 )
12611261 # TriggerMode
12621262 name = 'TriggerMode'
1263- self .settings [ name ] = Setting (name , 'enum' ,
1264- None ,
1265- self ._bind (SetTriggerMode ),
1266- TriggerMode )
1263+ self .add_setting (name , 'enum' ,
1264+ None ,
1265+ self ._bind (SetTriggerMode ),
1266+ TriggerMode )
12671267 if self ._caps .ulTriggerModes & AC_TRIGGERMODE_EXTERNAL :
1268- self .settings [ name ]. set ( TriggerMode .EXTERNAL )
1268+ self .set_setting ( name , TriggerMode .EXTERNAL )
12691269 elif self ._caps .ulTriggerModes & AC_TRIGGERMODE_CONTINUOUS :
1270- self .settings [ name ]. set ( TriggerMode .SOFTWARE )
1270+ self .set_setting ( name , TriggerMode .SOFTWARE )
12711271 # Gain - device will use either EMGain or MCPGain
12721272 name = 'gain'
12731273 getter , setter , vrange = None , None , None
@@ -1282,9 +1282,7 @@ def initialize(self):
12821282 setter = self ._bind (SetMCPGain )
12831283 vrange = self ._bind (GetMCPGainRange )
12841284 if getter or setter :
1285- self .settings [name ] = Setting (name , 'int' ,
1286- getter , setter , vrange ,
1287- setter is None )
1285+ self .add_setting (name , 'int' , getter , setter , vrange , setter is None )
12881286 # Temperature
12891287 name = 'TemperatureSetPoint'
12901288 getter , setter , vrange = None , None , None
@@ -1293,77 +1291,73 @@ def initialize(self):
12931291 if self ._caps .ulGetFunctions & AC_GETFUNCTION_TEMPERATURERANGE :
12941292 vrange = self ._bind (GetTemperatureRange )
12951293 if setter :
1296- self .settings [name ] = Setting (name , 'int' ,
1297- None , setter , vrange ,
1298- setter is None )
1294+ self .add_setting (name , 'int' , None , setter , vrange , setter is None )
12991295 # Set a conservative default temperature set-point.
1300- self .settings [ name ]. set ( - 20 )
1296+ self .set_setting ( name , - 20 )
13011297 # Fan control
13021298 name = 'Temperature'
1303- self .settings [name ] = Setting (name , 'int' ,
1304- self .get_sensor_temperature ,
1305- None , (None , None ), True )
1299+ self .add_setting (name , 'int' , self .get_sensor_temperature , None , (None , None ), True )
13061300 name = 'Fan mode'
1307- self .settings [ name ] = Setting (name , 'enum' ,
1308- None , # Can't query fan mode
1309- self ._bind (SetFanMode ),
1310- {0 :'full' , 1 :'low' , 2 :'off' }
1311- )
1301+ self .add_setting (name , 'enum' ,
1302+ None , # Can't query fan mode
1303+ self ._bind (SetFanMode ),
1304+ {0 :'full' , 1 :'low' , 2 :'off' }
1305+ )
13121306 # Cooler control
13131307 name = 'Cooler Enabled'
1314- self .settings [ name ] = Setting (name , 'bool' ,
1315- None ,
1316- self ._set_cooler_state ,
1317- None )
1318- self .settings [ name ]. set ( True )
1308+ self .add_setting (name , 'bool' ,
1309+ None ,
1310+ self ._set_cooler_state ,
1311+ None )
1312+ self .set_setting ( name , True )
13191313 # Binning
13201314 name = 'Binning'
1321- self .settings [ name ] = Setting (name , 'tuple' ,
1322- self .get_binning ,
1323- self .set_binning ,
1324- None )
1315+ self .add_setting (name , 'tuple' ,
1316+ self .get_binning ,
1317+ self .set_binning ,
1318+ None )
13251319 # Roi
13261320 name = 'Roi'
1327- self .settings [ name ] = Setting (name , 'tuple' ,
1328- self .get_roi ,
1329- lambda roi : self .set_roi (* roi ),
1330- None )
1321+ self .add_setting (name , 'tuple' ,
1322+ self .get_roi ,
1323+ lambda roi : self .set_roi (* roi ),
1324+ None )
13311325 # BaselineClamp
13321326 name = 'BaselineClamp'
13331327 if self ._caps .ulSetFunctions & AC_SETFUNCTION_BASELINECLAMP :
1334- self .settings [ name ] = Setting (name , 'bool' ,
1335- None ,
1336- self ._bind (SetBaselineClamp ))
1337- self .settings [ name ]. set ( False )
1328+ self .add_setting (name , 'bool' ,
1329+ None ,
1330+ self ._bind (SetBaselineClamp ))
1331+ self .set_setting ( name , False )
13381332 # BaselineOffset
13391333 name = 'BaselineOffset'
13401334 if self ._caps .ulSetFunctions & AC_SETFUNCTION_BASELINEOFFSET :
1341- self .settings [ name ] = Setting (name , 'int' ,
1342- None ,
1343- self ._bind (SetBaselineOffset ),
1344- (- 1000 , 1000 ))
1345- self .settings [ name ]. set ( 0 )
1335+ self .add_setting (name , 'int' ,
1336+ None ,
1337+ self ._bind (SetBaselineOffset ),
1338+ (- 1000 , 1000 ))
1339+ self .set_setting ( name , 0 )
13461340 # EMAdvanced
13471341 name = 'EMAdvanced'
13481342 if self ._caps .ulSetFunctions & AC_SETFUNCTION_EMADVANCED :
1349- self .settings [ name ] = Setting (name , 'bool' ,
1350- None ,
1351- self ._bind (SetEMAdvanced ))
1352- self .settings [ name ]. set ( False )
1343+ self .add_setting (name , 'bool' ,
1344+ None ,
1345+ self ._bind (SetEMAdvanced ))
1346+ self .set_setting ( name , False )
13531347 # GateMode
13541348 name = 'GateMode'
13551349 if self ._caps .ulSetFunctions & AC_SETFUNCTION_GATEMODE :
13561350 vrange = range (0 , [5 ,6 ][self ._caps .ulCameraType & AC_CAMERATYPE_ISTAR ])
1357- self .setings [ name ] = Setting (name , 'int' ,
1358- None ,
1359- self ._bind (SetGateMode ),
1360- vrange )
1351+ self .add_setting (name , 'int' ,
1352+ None ,
1353+ self ._bind (SetGateMode ),
1354+ vrange )
13611355 # HighCapacity
13621356 name = 'HighCapacity'
13631357 if self ._caps .ulSetFunctions & AC_SETFUNCTION_HIGHCAPACITY :
1364- self .settings [ name ] = Setting (name , 'bool' ,
1365- None ,
1366- self ._bind (SetHighCapacity ))
1358+ self .add_setting (name , 'bool' ,
1359+ None ,
1360+ self ._bind (SetHighCapacity ))
13671361
13681362 def _fetch_data (self ):
13691363 """Poll for data and return it, with minimal processing.
@@ -1429,7 +1423,7 @@ def _on_enable(self):
14291423 SetReadMode (ReadMode .IMAGE )
14301424 x , y = GetDetector ()
14311425 self ._set_image ()
1432- if not IsTriggerModeAvailable (self .settings [ 'TriggerMode' ]. get ( )):
1426+ if not IsTriggerModeAvailable (self .get_setting ( 'TriggerMode' )):
14331427 raise AtmcdException ("Trigger mode is not valid." )
14341428 StartAcquisition ()
14351429 return True
@@ -1506,7 +1500,7 @@ def get_sensor_temperature(self):
15061500
15071501 def get_trigger_type (self ):
15081502 """Return the microscope.devices trigger type."""
1509- trig = self .settings [ 'TriggerMode' ]. get ( )
1503+ trig = self .get_setting ( 'TriggerMode' )
15101504 if trig == TriggerMode .BULB :
15111505 return devices .TRIGGER_DURATION
15121506 elif trig == TriggerMode .SOFTWARE :
0 commit comments