...
This commit is contained in:
parent
08ad1e665b
commit
b3a257fab6
@ -513,6 +513,9 @@ public:
|
|||||||
getValue<decltype(pars.slewToleranceRadius)>("slewToleranceRadius").value_or(pars.slewToleranceRadius) *
|
getValue<decltype(pars.slewToleranceRadius)>("slewToleranceRadius").value_or(pars.slewToleranceRadius) *
|
||||||
arcsecs2rad;
|
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 =
|
pars.adjustCoordDiff =
|
||||||
getValue<decltype(pars.adjustCoordDiff)>("adjustCoordDiff").value_or(pars.adjustCoordDiff) * arcsecs2rad;
|
getValue<decltype(pars.adjustCoordDiff)>("adjustCoordDiff").value_or(pars.adjustCoordDiff) * arcsecs2rad;
|
||||||
|
|
||||||
|
|||||||
@ -106,6 +106,9 @@ Asibfm700Mount::error_t Asibfm700Mount::initMount()
|
|||||||
auto st_err = setSlewingParams(mpars);
|
auto st_err = setSlewingParams(mpars);
|
||||||
if (st_err) {
|
if (st_err) {
|
||||||
errorLogging(" An error occured while setting slewing parameters: ", 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());
|
st_err = setTrackingParams(_mountConfig.movingModelParams());
|
||||||
if (st_err) {
|
if (st_err) {
|
||||||
|
|||||||
@ -277,7 +277,7 @@ public:
|
|||||||
|
|
||||||
*_mountStatus = mount_status_t::SLEWING;
|
*_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);
|
mcc_deduce_error_code(SlewModelT::slewToTarget(slew_and_stop), MccGenericMountErrorCode::ERROR_MOUNT_SLEW);
|
||||||
|
|
||||||
if (s_err) {
|
if (s_err) {
|
||||||
@ -640,7 +640,7 @@ protected:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// call base-class stopMount method!
|
// call base-class slewToTarget method!
|
||||||
auto err = static_cast<MOUNT_T*>(mount_ptr)->slewToTarget();
|
auto err = static_cast<MOUNT_T*>(mount_ptr)->slewToTarget();
|
||||||
if (err) {
|
if (err) {
|
||||||
mount_ptr->dispatchEvent(MccGenericFsmMountErrorEvent{mount_ptr, err});
|
mount_ptr->dispatchEvent(MccGenericFsmMountErrorEvent{mount_ptr, err});
|
||||||
@ -713,7 +713,7 @@ protected:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// after stop trackin switch to IDLE state
|
// after stop tracking switch to IDLE state
|
||||||
|
|
||||||
mount_ptr->dispatchEvent(MccGenericFsmMountIdleEvent{mount_ptr});
|
mount_ptr->dispatchEvent(MccGenericFsmMountIdleEvent{mount_ptr});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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>()) } -> mcc_error_c;
|
||||||
// { t.setSlewingParams(std::declval<typename T::slewing_params_t>()) } -> std::same_as<typename T::error_t>;
|
// { 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.getSlewingParams() } -> std::same_as<typename T::slewing_params_t>;
|
||||||
|
|
||||||
|
{ t.slewingCurrentError() } -> mcc_error_c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -43,8 +43,8 @@ struct MccSimpleMovingModelParams {
|
|||||||
// slew process timeout
|
// slew process timeout
|
||||||
std::chrono::seconds slewTimeout{3600};
|
std::chrono::seconds slewTimeout{3600};
|
||||||
|
|
||||||
double slewRateX{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)
|
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
|
std::chrono::milliseconds adjustCycleInterval{500}; // minimum time between two successive adjustments
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user