diff --git a/cxx/mcc_slew_model.h b/cxx/mcc_slew_model.h index 22ea350..ee50fec 100644 --- a/cxx/mcc_slew_model.h +++ b/cxx/mcc_slew_model.h @@ -357,91 +357,6 @@ protected: while (true) { - // check prohibited zones - - t_err = mccCheckInZonePZTuple(*telemetry, p_mount_controls->prohibitedZones, in_zone_flag); - - // it is assumed here that telemetry data is in actual state! - // t_err = telemetry.data(t_data); - if (t_err) { - if constexpr (std::same_as) { - logError( - std::format("An telemetry error occured: code = {} ({})", t_err.value(), t_err.message())); - return t_err; - } else { - if constexpr (traits::mcc_formattable) { - logError(std::format("An telemetry error occured: code = {}", t_err)); - } - return MccSimpleSlewModelErrorCode::ERROR_TELEMETRY_DATA; - } - } - - err = hardware->getPos(ax_pos); - - if (err) { - if constexpr (std::same_as) { - logError(std::format("An hardware error occured: code = {} ({})", err.value(), err.message())); - return err; - } else { - if constexpr (traits::mcc_formattable) { - logError(std::format("An hardware error occured: code = {}", err)); - } - return MccSimpleSlewModelErrorCode::ERROR_HARDWARE_GETPOS; - } - } - - if constexpr (mccIsEquatorialMount(pec_t::mountType)) { - xr = slew_point.x - t_data.mntHA; - yr = slew_point.y - t_data.mntDEC; - } else if constexpr (mccIsAltAzMount(pec_t::mountType)) { - xr = slew_point.x - t_data.mntAZ; - yr = slew_point.y - t_data.mntALT; - } else { - static_assert(false, "UNSUPPORTED MOUNT TYPE!"); - } - - coord_diff2 = xr * xr + yr * yr; - - if (coord_diff2 < adj_rad2) { // switch to adjusting mode - } - - // if (prev_time_point == t_data.time_point) { - if (prev_time_point == ax_pos.time_point) { - continue; - } - - if (slew_point.stopAfterSlew) { // slew and stop, so mount moving rate must be 0 at the end - if (ax_pos.state == hardware_t::hw_state_t::HW_STATE_STOP) { - break; - } - // mount_rate2 = t_data.mntRateX * t_data.mntRateX + t_data.mntRateY * t_data.mntRateY; - - // if (utils::isEqual((double)mount_rate2, 0.0)) { - // ++i_iter; - // } else { - // i_iter = 0; - // } - } else { // slew and guiding, so mount rate must be near tracking rate at the end - if (ax_pos.state == hardware_t::hw_state_t::HW_STATE_TRACK) { - break; - } - // xrate = t_data.mntRateX - context.guidingRateX; - // yrate = t_data.mntRateY - context.guidingRateY; - // mount_rate2 = xrate * xrate + yrate * yrate; - - // if (mount_rate2 <= context.guidingRateEps) { - // ++i_iter; - // } else { - // i_iter = 0; - // } - } - - // if (i_iter >= context.maxRateCycles) { - // break; - // } - - prev_time_point = t_data.time_point; - if ((std::chrono::steady_clock::now() - start_poll_tm) > slew_point.slewTimeout) { logError("Waiting time for completion of slewing expired!"); return MccSimpleSlewModelErrorCode::ERROR_SLEW_TIMEOUT;