From 9d647ff2aae9407a500f485103080914f493e165 Mon Sep 17 00:00:00 2001 From: "Timur A. Fatkhullin" Date: Mon, 8 Jun 2026 17:38:00 +0300 Subject: [PATCH] ... --- asibfm700_mount.cpp | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/asibfm700_mount.cpp b/asibfm700_mount.cpp index ebca9c5..cf0158d 100644 --- a/asibfm700_mount.cpp +++ b/asibfm700_mount.cpp @@ -649,6 +649,11 @@ Asibfm700Mount::error_t Asibfm700Mount::slewingImpl(bool slew_and_stop) hw_state.movementState = hardware_t::hardware_movement_state_t::HW_MOVE_ADJUSTING; mcc::impl::MccSkyPoint::dist_result_t dist; + double fine_point_ang; + + if (!slew_and_stop) { + fine_point_ang = _mountConfig.getValue("MaxFinePointingErr").value(); + } while (!_stopMovementRequest->load()) { // check for slewing timeout @@ -729,16 +734,27 @@ Asibfm700Mount::error_t Asibfm700Mount::slewingImpl(bool slew_and_stop) break; } - if (dist.dist <= getMovementParams().adjustCoordDiff) { // start adjusting (precise pointing) - *_mountStatus = mount_status_t::MOUNT_STATUS_ADJUSTING; - - // LibSidServo.correctTo - *_lastMountError = sendToHardware(hw_state); - - if (_lastMountError->load()) { - break; - } + // LibSidServo.correctTo + // 08.06.2026: start polling the hardware level immediately + *_lastMountError = sendToHardware(hw_state); + if (_lastMountError->load()) { + break; } + + if (dist.dist <= fine_point_ang) { // switch state + *_mountStatus = mount_status_t::MOUNT_STATUS_ADJUSTING; + } + + // if (dist.dist <= getMovementParams().adjustCoordDiff) { // start adjusting (precise pointing) + // *_mountStatus = mount_status_t::MOUNT_STATUS_ADJUSTING; + + // // LibSidServo.correctTo + // *_lastMountError = sendToHardware(hw_state); + + // if (_lastMountError->load()) { + // break; + // } + // } } // if (tdata.hwState.movementState == hardware_t::hardware_movement_state_t::HW_MOVE_STOPPED &&