//--------------------------- //- @brief constructor //--------------------------- lima::Andor3::Interface::Interface(lima::Andor3::Camera& cam) : m_cam(cam), m_cap_list() { DEB_CONSTRUCTOR(); m_det_info = new DetInfoCtrlObj(m_cam, this); m_sync = new SyncCtrlObj(m_cam); m_roi = new RoiCtrlObj(m_cam, this); m_bin = new BinCtrlObj(m_cam, this); m_reconstruction = new ReconstructionCtrlObj(m_cam); // Taking care of the content of the CapList, once for all : m_cap_list.push_back(HwCap(m_det_info)); m_cap_list.push_back(m_cam.getBufferCtrlObj()); m_cap_list.push_back(m_sync); m_cap_list.push_back(HwCap(m_roi)); m_cap_list.push_back(HwCap(m_bin)); m_cap_list.push_back(HwCap(m_reconstruction)); }
//----------------------------------------------------- // @brief //----------------------------------------------------- lima::Andor3::BinCtrlObj::BinCtrlObj(Camera &cam, Interface *interface) : m_cam(cam), m_interface(interface) { DEB_CONSTRUCTOR(); }
Camera::Camera(const char *params) : m_cam_connected(false), m_acq_frame_nb(1), m_sync(NULL), m_buffer(NULL), m_handle(NULL), m_Roi_lastFixed_time(0), m_pco_buffer_nrevents(PCO_BUFFER_NREVENTS), bRecorderForcedFifo(false) { DEF_FNID; DEB_CONSTRUCTOR(); int error=0; m_config = TRUE; DebParams::checkInit(); m_msgLog = new ringLog(300) ; m_tmpLog = new ringLog(300) ; if(m_msgLog == NULL) throw LIMA_HW_EXC(Error, "m_msgLog > creation error"); if(m_tmpLog == NULL) throw LIMA_HW_EXC(Error, "m_tmpLog > creation error"); m_pcoData =new stcPcoData(); if(m_pcoData == NULL) throw LIMA_HW_EXC(Error, "m_pcoData > creation error"); m_checkImgNr = new CheckImgNr(this); // properties: params paramsInit(params); char *value; const char *key; bool ret; int iValue; /*** key = "test"; key = "withConfig"; key = "testMode"; key = "debugPco"; ***/ key = "testMode"; ret = paramsGet(key, value); if(ret) {m_pcoData->testCmdMode = _atoi64(value);} key = "acqTimeoutRetry"; ret = paramsGet(key, value); iValue = ret ? atoi(value) : 3; m_pcoData->acqTimeoutRetry = (iValue < 0 ) ? 0 : iValue; // patch in xMinSize meanwhile firmware for CLHS 1.19 is fixed key = "xMinSize"; m_pcoData->params_xMinSize = !!paramsGet(key, value); // ignore the nbMaxImages calculated for dimax HS key = "ignoreMaxImages"; m_pcoData->params_ignoreMaxImages = !!paramsGet(key, value); DEB_ALWAYS() << ALWAYS_NL << DEB_VAR1(m_pcoData->version) << ALWAYS_NL << _checkLogFiles(true); //m_bin.changed = Invalid; _init(); m_config = FALSE; _setActionTimestamp(tsConstructor); }