46 lines
1.3 KiB
C++
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
|