...
This commit is contained in:
@@ -33,6 +33,10 @@ Asibfm700Mount::Asibfm700Mount(Asibfm700MountConfig const& config, std::shared_p
|
|||||||
|
|
||||||
Asibfm700Mount::~Asibfm700Mount()
|
Asibfm700Mount::~Asibfm700Mount()
|
||||||
{
|
{
|
||||||
|
stoppingImpl();
|
||||||
|
|
||||||
|
Mount.quit();
|
||||||
|
|
||||||
logDebug("Delete Asibfm700Mount class instance ({})", this->getThreadId());
|
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)
|
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();
|
_pathFile.clearPath();
|
||||||
|
|
||||||
_enteredBackupCoordinates = telemetry_t::getPointingTarget();
|
_enteredBackupCoordinates = telemetry_t::getPointingTarget();
|
||||||
@@ -729,6 +743,10 @@ Asibfm700Mount::error_t Asibfm700Mount::slewingImpl(bool slew_and_stop)
|
|||||||
|
|
||||||
Asibfm700Mount::error_t Asibfm700Mount::trackingImpl()
|
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;
|
*_mountStatus = mount_status_t::MOUNT_STATUS_TRACKING;
|
||||||
_pathFile.clearPath();
|
_pathFile.clearPath();
|
||||||
|
|
||||||
@@ -859,9 +877,11 @@ Asibfm700Mount::error_t Asibfm700Mount::trackingImpl()
|
|||||||
|
|
||||||
Asibfm700Mount::error_t Asibfm700Mount::stoppingImpl()
|
Asibfm700Mount::error_t Asibfm700Mount::stoppingImpl()
|
||||||
{
|
{
|
||||||
|
*_stopMovementRequest = true;
|
||||||
|
|
||||||
typename AsibFM700ServoController::hardware_state_t hw_state;
|
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);
|
*_lastMountError = sendToHardware(hw_state);
|
||||||
|
|
||||||
|
|||||||
@@ -19,12 +19,14 @@ class Asibfm700Mount
|
|||||||
: public mcc::impl::MccGenericMount<mcc::impl::MccTelemetry<AsibFM700ServoController>,
|
: public mcc::impl::MccGenericMount<mcc::impl::MccTelemetry<AsibFM700ServoController>,
|
||||||
Asibfm700PZoneContainer,
|
Asibfm700PZoneContainer,
|
||||||
// mcc::impl::MccSimpleMovementControls,
|
// mcc::impl::MccSimpleMovementControls,
|
||||||
|
// mcc::impl::MccGenericBlockingMovementControls<details::movement_pars_t>,
|
||||||
mcc::impl::MccGenericAsyncMovementControls<details::movement_pars_t>,
|
mcc::impl::MccGenericAsyncMovementControls<details::movement_pars_t>,
|
||||||
Asibfm700Logger>
|
Asibfm700Logger>
|
||||||
{
|
{
|
||||||
typedef mcc::impl::MccGenericMount<mcc::impl::MccTelemetry<AsibFM700ServoController>,
|
typedef mcc::impl::MccGenericMount<mcc::impl::MccTelemetry<AsibFM700ServoController>,
|
||||||
Asibfm700PZoneContainer,
|
Asibfm700PZoneContainer,
|
||||||
// mcc::impl::MccSimpleMovementControls,
|
// mcc::impl::MccSimpleMovementControls,
|
||||||
|
// mcc::impl::MccGenericBlockingMovementControls<details::movement_pars_t>,
|
||||||
mcc::impl::MccGenericAsyncMovementControls<details::movement_pars_t>,
|
mcc::impl::MccGenericAsyncMovementControls<details::movement_pars_t>,
|
||||||
Asibfm700Logger>
|
Asibfm700Logger>
|
||||||
gm_class_t;
|
gm_class_t;
|
||||||
@@ -34,6 +36,7 @@ public:
|
|||||||
typedef mcc::impl::MccTelemetry<AsibFM700ServoController> telemetry_t;
|
typedef mcc::impl::MccTelemetry<AsibFM700ServoController> telemetry_t;
|
||||||
|
|
||||||
typedef mcc::impl::MccGenericAsyncMovementControls<details::movement_pars_t> movement_controls_t;
|
typedef mcc::impl::MccGenericAsyncMovementControls<details::movement_pars_t> movement_controls_t;
|
||||||
|
// typedef mcc::impl::MccGenericBlockingMovementControls<details::movement_pars_t> movement_controls_t;
|
||||||
|
|
||||||
using typename gm_class_t::error_t;
|
using typename gm_class_t::error_t;
|
||||||
using typename movement_controls_t::movement_params_t;
|
using typename movement_controls_t::movement_params_t;
|
||||||
|
|||||||
Reference in New Issue
Block a user