...
This commit is contained in:
@@ -147,9 +147,9 @@ public:
|
|||||||
std::tuple<MoveCntrCtorTs...> move_cntrl_ctor_ars,
|
std::tuple<MoveCntrCtorTs...> move_cntrl_ctor_ars,
|
||||||
std::tuple<LoggerCtorTs...> logger_ctor_args)
|
std::tuple<LoggerCtorTs...> logger_ctor_args)
|
||||||
: TELEMETRY_T(std::make_from_tuple<TELEMETRY_T>(std::move(telemetry_ctor_args))),
|
: TELEMETRY_T(std::make_from_tuple<TELEMETRY_T>(std::move(telemetry_ctor_args))),
|
||||||
PZONE_CONT_T(std::make_from_tuple<PZONE_CONT_T>(pzone_cont_ctor_ars)),
|
PZONE_CONT_T(std::make_from_tuple<PZONE_CONT_T>(std::move(pzone_cont_ctor_ars))),
|
||||||
MOVE_CNTRL_T(std::make_from_tuple<MOVE_CNTRL_T>(move_cntrl_ctor_ars)),
|
MOVE_CNTRL_T(std::make_from_tuple<MOVE_CNTRL_T>(std::move(move_cntrl_ctor_ars))),
|
||||||
LOGGER_T(std::make_from_tuple<LOGGER_T>(logger_ctor_args))
|
LOGGER_T(std::make_from_tuple<LOGGER_T>(std::move(logger_ctor_args)))
|
||||||
{
|
{
|
||||||
// logDebug(std::format("Create MccGenericMount class instance (thread: {})", std::this_thread::get_id()));
|
// logDebug(std::format("Create MccGenericMount class instance (thread: {})", std::this_thread::get_id()));
|
||||||
logDebug("Create MccGenericMount class instance (thread: {})", std::this_thread::get_id());
|
logDebug("Create MccGenericMount class instance (thread: {})", std::this_thread::get_id());
|
||||||
@@ -194,7 +194,7 @@ public:
|
|||||||
|
|
||||||
error_t initMount()
|
error_t initMount()
|
||||||
{
|
{
|
||||||
logInfo(std::format("Start MccGenericMount class initialization (thread: {}) ...", std::this_thread::get_id()));
|
logInfo("Start MccGenericMount class initialization (thread: {}) ...", std::this_thread::get_id());
|
||||||
|
|
||||||
*_mountStatus = mount_status_t::MOUNT_STATUS_IDLE;
|
*_mountStatus = mount_status_t::MOUNT_STATUS_IDLE;
|
||||||
|
|
||||||
|
|||||||
@@ -21,10 +21,15 @@
|
|||||||
|
|
||||||
namespace mcc::impl
|
namespace mcc::impl
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// mount movement-related generic errors
|
||||||
enum class MccGenericMovementControlsErrorCode : int {
|
enum class MccGenericMovementControlsErrorCode : int {
|
||||||
ERROR_OK,
|
ERROR_OK,
|
||||||
ERROR_IN_PZONE,
|
ERROR_IN_PZONE,
|
||||||
ERRROR_NEAR_PZONE,
|
ERROR_NEAR_PZONE,
|
||||||
|
ERROR_SLEW_TIMEOUT,
|
||||||
|
ERROR_STOP_TIMEOUT,
|
||||||
|
ERROR_HARDWARE,
|
||||||
ERROR_TELEMETRY_TIMEOUT
|
ERROR_TELEMETRY_TIMEOUT
|
||||||
};
|
};
|
||||||
} // namespace mcc::impl
|
} // namespace mcc::impl
|
||||||
@@ -56,8 +61,14 @@ struct MccGenericMovementControlsErrorCategory : std::error_category {
|
|||||||
return "OK";
|
return "OK";
|
||||||
case MccGenericMovementControlsErrorCode::ERROR_IN_PZONE:
|
case MccGenericMovementControlsErrorCode::ERROR_IN_PZONE:
|
||||||
return "target is in zone";
|
return "target is in zone";
|
||||||
case MccGenericMovementControlsErrorCode::ERRROR_NEAR_PZONE:
|
case MccGenericMovementControlsErrorCode::ERROR_NEAR_PZONE:
|
||||||
return "mount is near zone";
|
return "mount is near zone";
|
||||||
|
case MccGenericMovementControlsErrorCode::ERROR_SLEW_TIMEOUT:
|
||||||
|
return "a timeout occured while slewing";
|
||||||
|
case MccGenericMovementControlsErrorCode::ERROR_STOP_TIMEOUT:
|
||||||
|
return "a timeout occured while mount stopping";
|
||||||
|
case MccGenericMovementControlsErrorCode::ERROR_HARDWARE:
|
||||||
|
return "a hardware error occured";
|
||||||
case MccGenericMovementControlsErrorCode::ERROR_TELEMETRY_TIMEOUT:
|
case MccGenericMovementControlsErrorCode::ERROR_TELEMETRY_TIMEOUT:
|
||||||
return "telemetry data timeout";
|
return "telemetry data timeout";
|
||||||
default:
|
default:
|
||||||
@@ -139,6 +150,15 @@ struct MccMovementPathFile {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// comment corresponded to addToPath(mcc_telemetry_data_c auto const& tdata)
|
||||||
|
void addDefaultComment()
|
||||||
|
{
|
||||||
|
addComment("Format (time is in milliseconds, coordinates are in degrees):");
|
||||||
|
addComment(
|
||||||
|
" <UNIXTIME> <mount X> <mount Y> <target X> <target Y> <dX_{mount-target}> "
|
||||||
|
"<dY_{mount-target}> <mount-to-target-distance> <moving state>");
|
||||||
|
}
|
||||||
|
|
||||||
// general purpose method
|
// general purpose method
|
||||||
// template <std::formattable<char>... ArgTs>
|
// template <std::formattable<char>... ArgTs>
|
||||||
// void addToPath(std::format_string<ArgTs...> fmt, ArgTs&&... args)
|
// void addToPath(std::format_string<ArgTs...> fmt, ArgTs&&... args)
|
||||||
@@ -187,6 +207,10 @@ struct MccMovementPathFile {
|
|||||||
|
|
||||||
bool saveToFile(std::string const& filename, std::ios_base::openmode mode = std::ios_base::trunc)
|
bool saveToFile(std::string const& filename, std::ios_base::openmode mode = std::ios_base::trunc)
|
||||||
{
|
{
|
||||||
|
if (filename.empty()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
std::ofstream fst(filename, mode);
|
std::ofstream fst(filename, mode);
|
||||||
|
|
||||||
if (fst.is_open()) {
|
if (fst.is_open()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user