This commit is contained in:
Timur A. Fatkhullin 2025-11-12 18:50:23 +03:00
parent 08ad1e665b
commit b3a257fab6
5 changed files with 13 additions and 5 deletions

View File

@ -513,6 +513,9 @@ public:
getValue<decltype(pars.slewToleranceRadius)>("slewToleranceRadius").value_or(pars.slewToleranceRadius) *
arcsecs2rad;
pars.slewRateX = getValue<decltype(pars.slewRateX)>("hwMaxRateHA").value_or(pars.slewRateX);
pars.slewRateY = getValue<decltype(pars.slewRateY)>("hwMaxRateDEC").value_or(pars.slewRateY);
pars.adjustCoordDiff =
getValue<decltype(pars.adjustCoordDiff)>("adjustCoordDiff").value_or(pars.adjustCoordDiff) * arcsecs2rad;

View File

@ -106,6 +106,9 @@ Asibfm700Mount::error_t Asibfm700Mount::initMount()
auto st_err = setSlewingParams(mpars);
if (st_err) {
errorLogging(" An error occured while setting slewing parameters: ", st_err);
} else {
logInfo(" Max HA-axis speed: {} degs/s", mcc::MccAngle(mpars.slewRateX).degrees());
logInfo(" Max DEC-axis speed: {} degs/s", mcc::MccAngle(mpars.slewRateY).degrees());
}
st_err = setTrackingParams(_mountConfig.movingModelParams());
if (st_err) {

View File

@ -277,7 +277,7 @@ public:
*_mountStatus = mount_status_t::SLEWING;
auto s_err =
error_t s_err =
mcc_deduce_error_code(SlewModelT::slewToTarget(slew_and_stop), MccGenericMountErrorCode::ERROR_MOUNT_SLEW);
if (s_err) {
@ -640,7 +640,7 @@ protected:
return;
}
// call base-class stopMount method!
// call base-class slewToTarget method!
auto err = static_cast<MOUNT_T*>(mount_ptr)->slewToTarget();
if (err) {
mount_ptr->dispatchEvent(MccGenericFsmMountErrorEvent{mount_ptr, err});
@ -713,7 +713,7 @@ protected:
return;
}
// after stop trackin switch to IDLE state
// after stop tracking switch to IDLE state
mount_ptr->dispatchEvent(MccGenericFsmMountIdleEvent{mount_ptr});
}

View File

@ -915,6 +915,8 @@ concept mcc_slewing_model_c = requires(T t) {
{ t.setSlewingParams(std::declval<typename T::slewing_params_t>()) } -> mcc_error_c;
// { t.setSlewingParams(std::declval<typename T::slewing_params_t>()) } -> std::same_as<typename T::error_t>;
{ t.getSlewingParams() } -> std::same_as<typename T::slewing_params_t>;
{ t.slewingCurrentError() } -> mcc_error_c;
};

View File

@ -43,8 +43,8 @@ struct MccSimpleMovingModelParams {
// slew process timeout
std::chrono::seconds slewTimeout{3600};
double slewRateX{0.0}; // maximal slewing rate (0 means move with maximal allowed rate)
double slewRateY{0.0}; // maximal slewing rate (0 means move with maximal allowed rate)
double slewRateX{0.0}; // maximal slewing rate (0 means move with maximal allowed rate????!!!!!)
double slewRateY{0.0}; // maximal slewing rate (0 means move with maximal allowed rate????!!!!!)
std::chrono::milliseconds adjustCycleInterval{500}; // minimum time between two successive adjustments