mountcontrol/cxx/asibfm700_common.h
2025-07-19 19:52:30 +03:00

46 lines
1.3 KiB
C++

#pragma once
/* AstroSIB-FM700 FORK MOUNT CONTROL LIBRARY */
/* COMMON DEFINITIONS */
#include "mcc_mount_astro_erfa.h"
#include "mcc_mount_pec.h"
#include "mcc_mount_telemetry.h"
#include "asibfm700_hardware.h"
namespace asibfm700
{
typedef mcc::astrom::erfa::MccMountAstromEngineERFA<mcc::MccAngle> AsibFM700AstromEngine;
typedef mcc::MccMountDefaultPEC<mcc::MccMountType::FORK_TYPE> AsibFM700PointingErrorCorrection;
struct AsibFM700TelemetryData : mcc::MccMountTelemetryData<AsibFM700AstromEngine, AsibFM700PointingErrorCorrection> {
// apparent target (user-input) current coordinates
coord_t tagRA, tagDEC;
coord_t tagHA;
coord_t tagAZ, tagALT;
coord_t tagPA;
};
typedef mcc::MccMountTelemetry<AsibFM700AstromEngine,
AsibFM700PointingErrorCorrection,
AsibFM700Hardware,
AsibFM700TelemetryData>
AsibFM700Telemetry;
// global mount configuration
struct AsibFM700Config {
std::chrono::milliseconds hardwareAskingPeriod{100}; // main cycle period
// mount hardware config
AsibFM700Hardware::hardware_config_t hardwareConfig;
};
} // namespace asibfm700