/** * \brief Start an exposure on the M26C camera * * \param exposure exposure structure for the exposure to perform */ void SxCcdM26C::startExposure0(const Exposure& exposure) { debug(LOG_DEBUG, DEBUG_LOG, 0, "exposure %s requested", exposure.toString().c_str()); // remember the exposre, we need it for the second field for the // case where we do two fields one after the other this->exposure = symmetrize(exposure); m26c = m26cExposure(); // compute a better request for the M26C camera exposeField(0); timer.start(); // we are now in exposing state state = Exposure::exposing; }
/** * \brief Start an exposure on the M26C camera * * \param exposure exposure structure for the exposure to perform */ void SxCcdM26C::startExposure0(const Exposure& exposure) { debug(LOG_DEBUG, DEBUG_LOG, 0, "exposure %s requested", exposure.toString().c_str()); // remember the exposure, we need it for the second field for the // case where we do two fields one after the other this->exposure = symmetrize(exposure); // compute a better request for the M26C camera m26c = m26cExposure(); // start the exposure if (!camera.reserve("exposure M26C", 1000)) { std::string msg("cannot reserve camera"); debug(LOG_ERR, DEBUG_LOG, 0, "%s", msg.c_str()); throw std::runtime_error(msg); } exposeField(0); timer.start(); // we are now in exposing state state(CcdState::exposing); }