GitLab will be upgraded on June 23rd evening. During the upgrade the service will be unavailable, sorry for the inconvenience.

Commit ab625de5 authored by Emmanuel Papillon's avatar Emmanuel Papillon

add parsing of marana 4.2 model

add reading of pixel size from library
change trigger mode handling:
list of triggers read from sdk (no static enum)
internal trigger mode in lima unit (IntTrig, ...)
remove andor3 functions set/getTriggerMode : trigger mode
has to be set using lima standards set/getTrigMode
parent 00f52b4c
Pipeline #24296 failed with stages
in 1 minute and 35 seconds
......@@ -70,7 +70,8 @@ namespace lima
// In the same order/index as 'BitDepth'
enum A3_BitDepth { b11 = 0, b16= 1 };
// The camera trigger mode (in the enum order) :
enum A3_TriggerMode { Internal = 0, ExternalLevelTransition = 1, ExternalStart = 2, ExternalExposure = 3, Software = 4, Advanced = 5, External = 6 };
// enum A3_TriggerMode { Internal = 0, ExternalLevelTransition = 1, ExternalStart = 2, ExternalExposure = 3, Software = 4, Advanced = 5, External = 6 };
// The binning system of andor3 :
enum A3_Binning { B1x1=0, B2x2=1, B3x3=2, B4x4=3, B8x8=4};
// The fan speed
......@@ -167,8 +168,8 @@ namespace lima
void getBitDepthString(std::string &oDepthString) const;
void getPxEncoding(A3_PixelEncoding &oPxEncoding) const;
void getPxEncodingString(std::string &oPxEncoding) const;
void setTriggerMode(A3_TriggerMode iMode);
void getTriggerMode(A3_TriggerMode &oMode) const;
// void setTriggerMode(A3_TriggerMode iMode);
// void getTriggerMode(A3_TriggerMode &oMode) const;
void getTriggerModeString(std::string &oModeString) const;
void setTemperatureSP(double temp); // à exporter (avec le get)
void getTemperatureSP(double& temp) const;
......@@ -220,6 +221,8 @@ namespace lima
void _setStatus(Camera::Status iStatus, bool iForce);
private:
void initTrigMode();
// -- andor3 Lower level functions
int printInfoForProp(const AT_WC * iPropName, A3_TypeInfo iPropType) const;
bool propImplemented(const AT_WC * iPropName) const;
......@@ -294,12 +297,13 @@ namespace lima
A3_ReadOutRate m_adc_rate;
A3_ShutterMode m_electronic_shutter_mode;
A3_BitDepth m_bit_depth;
A3_TriggerMode m_trig_mode;
bool m_cooler;
double m_temperature_sp;
bool m_temperature_control_available;
// std::map<TrigMode, int> m_trig_mode_maps;
TrigMode m_trig_mode;
// A3_TriggerMode m_trig_mode;
std::map<TrigMode, int> m_trig_mode_map;
static int sAndorSDK3InittedCounter;
......
......@@ -36,7 +36,7 @@ namespace Andor3
enum A3_ShutterMode { Rolling = 0, Global = 1 };
enum A3_ReadOutRate { MHz10 = 0, MHz100 = 1, MHz200 = 2, MHz280 = 3 };
enum A3_BitDepth { b11 = 0, b16= 1 };
enum A3_TriggerMode { Internal = 0, ExternalLevelTransition = 1, ExternalStart = 2, ExternalExposure = 3, Software = 4, Advanced = 5, External = 6 };
// enum A3_TriggerMode { Internal = 0, ExternalLevelTransition = 1, ExternalStart = 2, ExternalExposure = 3, Software = 4, Advanced = 5, External = 6 };
enum A3_Binning { B1x1=0, B2x2=1, B3x3=2, B4x4=3, B8x8=4};
enum A3_FanSpeed { Off=0, Low=1, On=2};
enum A3_PixelEncoding {Mono12=0, Mono12Packed = 1, Mono16=2, Mono32=3};
......@@ -107,8 +107,8 @@ namespace Andor3
void getBitDepth(A3_BitDepth &oMode /Out/ ) const;
void getBitDepthString(std::string &oDepthString /Out/ ) const;
void getPxEncodingString(std::string &oPxEncoding /Out/ ) const;
void setTriggerMode(A3_TriggerMode iMode /In/ );
void getTriggerMode(A3_TriggerMode &oMode /Out/ ) const;
// void setTriggerMode(A3_TriggerMode iMode /In/ );
// void getTriggerMode(A3_TriggerMode &oMode /Out/ ) const;
void getTriggerModeString(std::string &oModeString /Out/ ) const;
void setTemperatureSP(double temp /In/ );
void getTemperatureSP(double& temp /Out/ ) const;
......
This diff is collapsed.
......@@ -105,6 +105,7 @@ class Andor3(PyTango.Device_4Impl):
'readout_time': 'ReadoutTime',
'overlap': 'Overlap',
'spurious_noise_filter': 'SpuriousNoiseFilter',
'serial_number': 'SerialNumber',
}
self.init_device()
......@@ -344,6 +345,16 @@ class Andor3Class(PyTango.DeviceClass):
'format': '',
'description': 'OFF or ON',
}],
'serial_number':
[[PyTango.DevString,
PyTango.SCALAR,
PyTango.READ],
{
'label':'Read camera serial number',
'unit': 'N/A',
'format': '',
'description': 'camera serial number',
}],
}
#------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment