Closed juliomateoslangerak closed 3 years ago
Sorry I correct, the error is when setting to 'External Start'
It looks like the client is trying to import the SDK3 module, presumably to deserialise an object defined in that module. If the CDLL/WinDLL reference is created at the root of the module (i.e. not in a class or function) and the DLL is not available on that machine, then python will throw a module not found exception on import. The SDK3 stuff probably needs wrapping in the same way as those modules in the _wrappers submodule to prevent this. In the mean time, just put the DLL somewhere python can find it on the client.
On Wed, 8 May 2019 at 08:16, juliomateoslangerak notifications@github.com wrote:
Sorry I correct, the error is when setting to 'External Start'
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/MicronOxford/microscope/issues/81#issuecomment-490376525, or mute the thread https://github.com/notifications/unsubscribe-auth/ABHGTL4FQ6PSLIXHNRBHV2TPUJ43DANCNFSM4HLPASUA .
--
Mick Phillips
If I set the trigger mode to 'software' I get an external trigger. Either external or external exposure. It is not external start (I get a single image) and it is not software (disconnecting the trigger results in no images). Interestingly, in andorSDK initialize method there is a default configuration setting the exposure_mode to 'software'
self._trigger_mode.set_string('Software')
It seems to me that the trigger modes and indexes are a bit messed up and defined in a few different places...
I did some tests and here is what I get:
import Pyro4
cam = Pyro4.Proxy('PYRO:AndorSDK3@10.6.19.31:8001')
cam.enable()
Out[4]: True
cam.disable() # I disable here but if I keep the camera enabled I get similar results
cam.get_setting('trigger_mode')
Out[6]: 4
cam.describe_setting('trigger_mode')
Out[7]:
{'cached': False,
'readonly': False,
'type': 'enum',
'values': [(0, 'Internal'),
(1, 'External Start'),
(2, 'External Exposure'),
(3, 'Software'),
(4, 'External')]}
cam.set_setting('trigger_mode', 3) # Let's set the trigger mode to software
cam.get_setting('trigger_mode')
Out[9]: 3
cam.get_setting('exposure_time')
Out[10]: 0.0098304
cam.describe_setting('exposure_time') # In software trigger mode we should be able to change the exposure time...
Out[11]:
{'cached': False,
'readonly': True,
'type': 'float',
'values': (0.0009984, 30.0)}
cam.set_setting('exposure_time', 0.2)
cam.get_setting('exposure_time') # But we cannot. It's really read-only
Out[13]: 0.0098304
cam.set_setting('trigger_mode', 2) # So now to external exposure
cam.describe_setting('exposure_time')
Out[15]:
{'cached': False,
'readonly': False,
'type': 'float',
'values': (9.6e-06, 30.0)}
cam.set_setting('exposure_time', 0.2) # I guess this is might be ok as we need to change exposure time to get the total readout time
cam.get_setting('exposure_time')
Out[17]: 0.19999679999999997
The SDK seems to give me the wrong indexes
This is working now.
With the Zyla, if I set the trigger_mode to 'External Exposure' I get this error when applying. Sorry for the frenchified windows error message (the specified module was not found). All the other trigger_modes do not throw errors.