/**
 * \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);
}