#pragma once /* AstroSIB-FM700 FORK MOUNT CONTROL LIBRARY */ /* COMMON DEFINITIONS */ #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" // #include "mcc_spdlog.h" namespace asibfm700 { typedef mcc::astrom::erfa::MccMountAstromEngineERFA AsibFM700AstromEngine; typedef mcc::MccMountDefaultPEC AsibFM700PointingErrorCorrection; typedef mcc::MccMountTelemetryData AsibFM700TelemetryData; typedef mcc::MccMountTelemetry AsibFM700Telemetry; static_assert(std::movable); static_assert(std::movable); static_assert(std::movable>); // typedef mcc::MccSimpleSlewModel AsibFM700SlewModel; // typedef mcc::MccSimpleGuidingModel AsibFM700GuidingModel; template using AsibFM700SlewModel = mcc::MccSimpleSlewModel; template using AsibFM700GuidingModel = mcc::MccSimpleGuidingModel; /* template struct AsibFM700MountControls { AsibFM700MountControls(AsibFM700MountControls&&) = default; AsibFM700MountControls& operator=(AsibFM700MountControls&&) = default; AsibFM700AstromEngine astrometryEngine; AsibFM700PointingErrorCorrection PEC; AsibFM700Hardware hardware; AsibFM700Telemetry telemetry{astrometryEngine, PEC, hardware}; std::tuple> prohibitedZones; AsibFM700SlewModel slewModel{PEC, hardware, prohibitedZones}; AsibFM700GuidingModel guidingModel{PEC, hardware, prohibitedZones}; }; static_assert(mcc::traits::mcc_mount_controls_c>); // global mount configuration class AsibFM700Mount : public mcc::MccMount> { class InitState : public AsibFM700Mount::MccMountEventBase { }; public: }; */ } // namespace asibfm700