This commit is contained in:
2025-07-19 19:52:30 +03:00
parent 464c262e08
commit 9cd52267d6
11 changed files with 628 additions and 58 deletions

View File

@@ -186,6 +186,7 @@ concept mcc_mount_hardware_c = !std::copyable<T> && std::movable<T> && requires(
{ t.setPos(std::declval<typename T::axes_pos_t>()) } -> std::same_as<typename T::error_t>;
{ t.getPos(std::declval<typename T::axes_pos_t&>()) } -> std::same_as<typename T::error_t>;
{ t.stop() } -> std::same_as<typename T::error_t>;
{ t.init() } -> std::same_as<typename T::error_t>;
};
@@ -215,7 +216,7 @@ concept mcc_mount_pec_c = requires(T t, const T t_const) {
{
t.compute(std::declval<const typename T::coord_t&>(), std::declval<const typename T::coord_t&>(),
std::declval<typename T::pec_result_t>())
std::declval<typename T::pec_result_t&>())
} -> std::same_as<typename T::error_t>;
};
@@ -226,6 +227,7 @@ concept mcc_mount_pec_c = requires(T t, const T t_const) {
template <typename T>
concept mcc_mount_telemetry_data_c = requires(T telemetry) {
typename T::coord_t;
typename T::time_point_t;
// // target current coordinates
// requires std::same_as<decltype(telemetry.tagRA), typename T::coord_t>; // apparent RA
@@ -297,7 +299,7 @@ concept mcc_slew_params_c = std::movable<T> && requires(T t) {
template <typename T, typename TelemetryT>
concept mcc_slew_model_c = mcc_mount_telemetry_c<TelemetryT> && requires(T t) {
typename T::error_t;
requires mcc_error_c<typename T::error_t>;
requires mcc_slew_params_c<typename T::slew_params_t>;
{