...
This commit is contained in:
@@ -33,6 +33,10 @@ Asibfm700Mount::Asibfm700Mount(Asibfm700MountConfig const& config, std::shared_p
|
||||
|
||||
Asibfm700Mount::~Asibfm700Mount()
|
||||
{
|
||||
stoppingImpl();
|
||||
|
||||
Mount.quit();
|
||||
|
||||
logDebug("Delete Asibfm700Mount class instance ({})", this->getThreadId());
|
||||
}
|
||||
|
||||
@@ -476,6 +480,16 @@ Asibfm700Mount::error_t Asibfm700Mount::checkPZone(typename telemetry_t::telemet
|
||||
|
||||
Asibfm700Mount::error_t Asibfm700Mount::slewingImpl(bool slew_and_stop)
|
||||
{
|
||||
// if mount is already slewing then stop and re-slew
|
||||
if (_mountStatus->load() == mount_status_t::MOUNT_STATUS_SLEWING ||
|
||||
_mountStatus->load() == mount_status_t::MOUNT_STATUS_ADJUSTING) {
|
||||
*_lastMountError = stoppingImpl();
|
||||
|
||||
if (_lastMountError->load()) {
|
||||
return _lastMountError->load();
|
||||
}
|
||||
}
|
||||
|
||||
_pathFile.clearPath();
|
||||
|
||||
_enteredBackupCoordinates = telemetry_t::getPointingTarget();
|
||||
@@ -729,6 +743,10 @@ Asibfm700Mount::error_t Asibfm700Mount::slewingImpl(bool slew_and_stop)
|
||||
|
||||
Asibfm700Mount::error_t Asibfm700Mount::trackingImpl()
|
||||
{
|
||||
if (_mountStatus->load() == mount_status_t::MOUNT_STATUS_TRACKING) { // just ignore
|
||||
return mcc::impl::MccGenericMovementControlsErrorCode::ERROR_OK;
|
||||
}
|
||||
|
||||
*_mountStatus = mount_status_t::MOUNT_STATUS_TRACKING;
|
||||
_pathFile.clearPath();
|
||||
|
||||
@@ -859,9 +877,11 @@ Asibfm700Mount::error_t Asibfm700Mount::trackingImpl()
|
||||
|
||||
Asibfm700Mount::error_t Asibfm700Mount::stoppingImpl()
|
||||
{
|
||||
*_stopMovementRequest = true;
|
||||
|
||||
typename AsibFM700ServoController::hardware_state_t hw_state;
|
||||
|
||||
hw_state.movementState == AsibFM700ServoController::hardware_movement_state_t::HW_MOVE_STOPPING;
|
||||
hw_state.movementState = AsibFM700ServoController::hardware_movement_state_t::HW_MOVE_STOPPING;
|
||||
|
||||
*_lastMountError = sendToHardware(hw_state);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user