This commit is contained in:
2025-08-02 14:40:05 +03:00
parent 9bfe1c3ad5
commit 25438960e6
9 changed files with 87 additions and 71 deletions

View File

@@ -6,9 +6,11 @@
#include "asibfm700_hardware.h"
#include "mcc_fsm_mount.h"
#include "mcc_guiding_model.h"
#include "mcc_mount_astro_erfa.h"
#include "mcc_mount_pec.h"
#include "mcc_mount_pz.h"
#include "mcc_mount_telemetry.h"
#include "mcc_slew_model.h"
@@ -19,7 +21,7 @@ typedef mcc::astrom::erfa::MccMountAstromEngineERFA<mcc::MccAngle> AsibFM700Astr
typedef mcc::MccMountDefaultPEC<mcc::MccMountType::FORK_TYPE> AsibFM700PointingErrorCorrection;
typedef mcc::MccMountTelemetryData<AsibFM700AstromEngine, AsibFM700PointingErrorCorrection> AsibFM700TelemetryData;
typedef mcc::MccMountTelemetryData<AsibFM700AstromEngine> AsibFM700TelemetryData;
typedef mcc::MccMountTelemetry<AsibFM700AstromEngine,
AsibFM700PointingErrorCorrection,
@@ -28,19 +30,30 @@ typedef mcc::MccMountTelemetry<AsibFM700AstromEngine,
AsibFM700Telemetry;
typedef mcc::MccSimpleSlewModel<> AsibFM700SlewModel;
typedef mcc::MccSimpleGuidingModel<> AsibFM700GuidingModel;
// typedef mcc::MccSimpleSlewModel<> AsibFM700SlewModel;
// typedef mcc::MccSimpleGuidingModel<> AsibFM700GuidingModel;
struct AsibMountControls {
AsibMountControls() : telemetry(astrometryEngine, PEC, hardware) {}
template <mcc::traits::mcc_logger_c LoggerT>
using AsibFM700SlewModel = mcc::MccSimpleSlewModel<LoggerT>;
template <mcc::traits::mcc_logger_c LoggerT>
using AsibFM700GuidingModel = mcc::MccSimpleGuidingModel<LoggerT>;
template <mcc::traits::mcc_logger_c LoggerT>
struct AsibFM700MountControls {
AsibFM700MountControls(AsibFM700MountControls&&) = default;
AsibFM700MountControls& operator=(AsibFM700MountControls&&) = default;
AsibFM700AstromEngine astrometryEngine;
AsibFM700PointingErrorCorrection PEC;
AsibFM700Hardware hardware;
AsibFM700Telemetry telemetry;
AsibFM700SlewModel slewModel;
AsibFM700GuidingModel guidingModel;
AsibFM700Telemetry telemetry{astrometryEngine, PEC, hardware};
AsibFM700SlewModel<LoggerT> slewModel;
AsibFM700GuidingModel<LoggerT> guidingModel;
std::tuple<mcc::MccAltLimitPZ<mcc::MccAltLimitKind::MIN_ALT_LIMIT>> prohibitedZones;
};
// global mount configuration
@@ -52,4 +65,10 @@ struct AsibFM700Config {
AsibFM700Hardware::hardware_config_t hardwareConfig;
};
class AsibFM700Mount : public mcc::MccMount<AsibFM700MountControls<mcc::utils::MccSpdlogLogger>>
{
public:
};
} // namespace asibfm700