...
This commit is contained in:
@@ -15,6 +15,81 @@
|
||||
namespace asibfm700
|
||||
{
|
||||
|
||||
namespace details
|
||||
{
|
||||
|
||||
struct movement_pars_t {
|
||||
// ******* common for all modes *******
|
||||
|
||||
// mean celestial rate
|
||||
static constexpr double sideralRate = 15.0410686_arcsecs; // in radians per second
|
||||
|
||||
// timeout to telemetry updating
|
||||
std::chrono::milliseconds telemetryTimeout{3000};
|
||||
|
||||
// minimal time to prohibited zone (at current speed in slewing mode). if it is lesser then exit with error
|
||||
std::chrono::seconds minTimeToPZone{10};
|
||||
|
||||
// time interval to update prohibited zones related quantities (e.g. intersection points)
|
||||
std::chrono::milliseconds updatingPZoneInterval{5000};
|
||||
|
||||
|
||||
// ******* slewing mode *******
|
||||
|
||||
bool slewAndStop{false}; // slew to target and stop mount
|
||||
|
||||
// coordinates difference to stop slewing (in radians)
|
||||
double slewToleranceRadius{5.0_arcsecs};
|
||||
|
||||
// telemetry request interval
|
||||
std::chrono::milliseconds slewingTelemetryInterval{100};
|
||||
|
||||
// target-mount coordinate difference to start adjusting of slewing (in radians)
|
||||
double adjustCoordDiff{slewToleranceRadius * 10.0};
|
||||
|
||||
// slew process timeout
|
||||
std::chrono::seconds slewTimeout{3600};
|
||||
|
||||
double slewRateX{0.0}; // maximal slewing rate (0 means move with maximal allowed rate????!!!!!)
|
||||
double slewRateY{0.0}; // maximal slewing rate (0 means move with maximal allowed rate????!!!!!)
|
||||
|
||||
std::chrono::milliseconds adjustCycleInterval{500}; // minimum time between two successive adjustments
|
||||
|
||||
double adjustRateX{5.0_arcmins}; // maximal adjusting rate (a rate at the final slewing stage)
|
||||
double adjustRateY{5.0_arcmins}; // maximal adjusting rate (a rate at the final slewing stage)
|
||||
|
||||
// braking acceleration after execution of mount stopping command (in rads/s^2)
|
||||
// it must be given as non-negative value!!!
|
||||
double brakingAccelX{0.0};
|
||||
double brakingAccelY{0.0};
|
||||
|
||||
// slewing trajectory file. if empty - just skip saving
|
||||
std::string slewingPathFilename{};
|
||||
|
||||
|
||||
// ******* tracking mode *******
|
||||
|
||||
// telemetry request interval
|
||||
std::chrono::milliseconds trackingTelemetryInterval{100};
|
||||
|
||||
double trackSpeedX{};
|
||||
double trackSpeedY{};
|
||||
std::chrono::milliseconds trackingCycleInterval{500}; // minimum time between two successive tracking corrections
|
||||
bool dualAxisTracking{true}; // mount must be of an equatorial type: false means guiding along only HA-axis
|
||||
|
||||
// time shift into future to compute target position in future (UT1-scale time duration)
|
||||
std::chrono::milliseconds timeShiftToTargetPoint{10000};
|
||||
// maximal target-to-mount difference for tracking process (in arcsecs)
|
||||
// it it is greater then the current mount coordinates are used as target one
|
||||
double trackingMaxCoordDiff{20.0};
|
||||
|
||||
// tracking trajectory file. if empty - just skip saving
|
||||
std::string trackingPathFilename{};
|
||||
};
|
||||
|
||||
} // namespace details
|
||||
|
||||
|
||||
static constexpr mcc::MccMountType asibfm700MountType = mcc::MccMountType::FORK_TYPE;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user