#pragma once #include #include #include #include #include #include #include #include #include "asibfm700_common.h" namespace asibfm700 { class Asibfm700Mount : protected mcc::ccte::erfa::MccCCTE_ERFA, protected mcc::MccDefaultPCM, protected AsibFM700ServoController, public mcc::MccGenericMountFSM, mcc::MccSimpleSlewingModel, mcc::MccSimpleTrackingModel, mcc::utils::MccSpdlogLogger> { typedef mcc::MccGenericMountFSM, mcc::MccSimpleSlewingModel, mcc::MccSimpleTrackingModel, mcc::utils::MccSpdlogLogger> base_gm_class_t; public: using mcc::ccte::erfa::MccCCTE_ERFA::setStateERFA; using mcc::ccte::erfa::MccCCTE_ERFA::updateBulletinA; using mcc::ccte::erfa::MccCCTE_ERFA::updateLeapSeconds; using mcc::ccte::erfa::MccCCTE_ERFA::updateMeteoERFA; Asibfm700Mount(Asibfm700MountConfig const& config, std::shared_ptr logger, const auto& pattern_range = LOGGER_DEFAULT_FORMAT); ~Asibfm700Mount(); }; } // namespace asibfm700