fix axis switch limit pzone calculations

This commit is contained in:
Timur A. Fatkhullin 2025-11-10 16:06:44 +03:00
parent 15cf04f164
commit 90acf1ee8c
2 changed files with 10 additions and 6 deletions

View File

@ -83,13 +83,15 @@ Asibfm700Mount::error_t Asibfm700Mount::initMount()
clearPZones(); clearPZones();
logInfo("Add prohibited zones ..."); logInfo("Add prohibited zones ...");
logInfo(" Add MccAltLimitPZ zone: min alt = {}, lat = {}", _mountConfig.pzMinAltitude().degrees(), logInfo(" Add MccAltLimitPZ zone: min alt = {}, lat = {} (pzone type: '{}')",
_mountConfig.siteLatitude().degrees()); _mountConfig.pzMinAltitude().degrees(), _mountConfig.siteLatitude().degrees(),
"Minimal altitude prohibited zone");
addPZone(mcc::MccAltLimitPZ<mcc::MccAltLimitKind::MIN_ALT_LIMIT>{_mountConfig.pzMinAltitude(), addPZone(mcc::MccAltLimitPZ<mcc::MccAltLimitKind::MIN_ALT_LIMIT>{_mountConfig.pzMinAltitude(),
_mountConfig.siteLatitude(), this}); _mountConfig.siteLatitude(), this});
logInfo(" Add MccAxisLimitSwitchPZ zone: min value = {}, max value = {}", logInfo(" Add MccAxisLimitSwitchPZ zone: min value = {}, max value = {} (pzone type: '{}')",
_mountConfig.pzLimitSwitchHAMin().degrees(), _mountConfig.pzLimitSwitchHAMax().degrees()); _mountConfig.pzLimitSwitchHAMin().degrees(), _mountConfig.pzLimitSwitchHAMax().degrees(),
"HA-axis limit switch");
size_t pz_num = addPZone(mcc::MccAxisLimitSwitchPZ<mcc::MccCoordKind::COORDS_KIND_HA>{ size_t pz_num = addPZone(mcc::MccAxisLimitSwitchPZ<mcc::MccCoordKind::COORDS_KIND_HA>{
_mountConfig.pzLimitSwitchHAMin(), _mountConfig.pzLimitSwitchHAMax(), this}); _mountConfig.pzLimitSwitchHAMin(), _mountConfig.pzLimitSwitchHAMax(), this});

View File

@ -639,7 +639,8 @@ public:
if constexpr (mcc_eqt_hrz_coord_c<InputT>) { if constexpr (mcc_eqt_hrz_coord_c<InputT>) {
// assume here .X and are hardware encoder coordinate of corresponding axis // assume here .X and are hardware encoder coordinate of corresponding axis
*result = (coords.X < _maxLimit) && (coords.X > _minLimit); *result = (coords.X > _maxLimit) || (coords.X < _minLimit);
// *result = (coords.X < _maxLimit) && (coords.X > _minLimit);
} else { // mcc_celestial_point_c } else { // mcc_celestial_point_c
if (coords.pair_kind == MccCoordPairKind::COORDS_KIND_XY) { // hardware if (coords.pair_kind == MccCoordPairKind::COORDS_KIND_XY) { // hardware
*result = (coords.X < _maxLimit) && (coords.X > _minLimit); *result = (coords.X < _maxLimit) && (coords.X > _minLimit);
@ -651,7 +652,8 @@ public:
return ret; return ret;
} }
*result = (pt.X < _maxLimit) && (pt.X > _minLimit); *result = (pt.X > _maxLimit) || (pt.X < _minLimit);
// *result = (pt.X < _maxLimit) && (pt.X > _minLimit);
} }
} }