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