758 lines
58 KiB
C++
758 lines
58 KiB
C++
#pragma once
|
|
|
|
/*
|
|
* Astrosib BM-700 mount client-to-server communication protocol
|
|
* (extended by 10Micron LX200 protocol)
|
|
*/
|
|
|
|
|
|
#include <array>
|
|
#include <cstddef>
|
|
#include <string_view>
|
|
|
|
namespace BM700
|
|
{
|
|
|
|
namespace details
|
|
{
|
|
|
|
// FVN-1a hash function
|
|
static constexpr size_t FNV1aHash(const std::string_view& r)
|
|
{
|
|
static_assert(sizeof(size_t) == 8 || sizeof(size_t) == 4, "ONLY FOR 32 or 64-bit size_t!!!");
|
|
|
|
size_t hash = 0, prime = 0;
|
|
if constexpr (sizeof(size_t) == 8) { // 64-bit
|
|
prime = 1099511628211UL;
|
|
hash = 14695981039346656037UL;
|
|
} else if constexpr (sizeof(size_t) == 4) { // 32-bit
|
|
prime = 16777619;
|
|
hash = 2166136261;
|
|
}
|
|
|
|
for (const char& ch : r) {
|
|
hash ^= ch;
|
|
hash *= prime;
|
|
}
|
|
|
|
return hash;
|
|
}
|
|
|
|
|
|
|
|
} // namespace details
|
|
|
|
// to match 10Micron extended LX200 command format
|
|
static constexpr char PROTO_COMMAND_START_SEQ[] = ":";
|
|
static constexpr char PROTO_COMMAND_STOP_SEQ[] = "#";
|
|
|
|
|
|
// to match 10Micron extended LX200 command mnemonic definitions
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ACK = "\x06"; // special command (without start and stop symbols)
|
|
static constexpr std::string_view PROTO_COMMAND_STR_TRACK_STOP = "AL";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_TRACK_START = "AP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_TEL_ALT = "GA";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_TAG_ALT = "Ga";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_CURR_DATE = "GC";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TEL_DEC = "GD";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TAG_DEC = "Gd";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_CURR_SITE_ELEV = "Gev";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_UTC_OFFSET = "GG";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_CURR_SITE_LONG = "Gg";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_HIGHEST_ALT = "Gh";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GINFO = "Ginfo";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GINQ = "GINQ";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_MOUNT_IP_ADDR = "GIP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_MOUNT_WIRELESS_IP_ADDR = "GIPW";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_MOUNT_MAC_ADDR = "GMAC";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_MOUNT_WIRELESS_MAC_ADDR = "GMACW";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_CURR_JULDATE = "GJD";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_CURR_JULDATE_EXTPREC = "GJD1";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_CURR_JULDATE_EXTPREC_LEAP_SEC = "GJD2";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_LOCAL_TIME = "GL";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_LOCAL_DATE_TIME = "GLDT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_UTC_DATE_TIME = "GUDT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_UTC_UT1_DIFF = "GDUT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_GPS_UTC_DIFF = "GDGPS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_NEXT_LEAP_SEC = "GULEAP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_MERIDIAN_BEHAV = "GMF";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_LOWEST_ALT = "Go";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_PA = "GPA";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_PA_SPEED = "GPAS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_PA_ZENITH = "GPAZ";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_PA_ZENITH_SPEED = "GPASZ";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_GUIDING_STATUS = "Gpgc";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TEL_RA = "GR";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TAG_RA = "Gr";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_ATM_PRES = "GRPRS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_ATM_TEMP = "GRTMP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_SIDERAL_TIME = "GS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_REFRACT_CORR_STATUS = "GREF";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_SPEED_CORR_STATUS = "GSC";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GSTAT = "Gstat";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_SETTLE_TIME = "Gstm";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TRACK_MERIDIAN_LIMIT = "Glmt";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_SLEW_MERIDIAN_LIMIT = "Glms";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_EST_TRACK_TIME = "Gmte";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_UNATTEND_FLIP_SETTING = "Guaf";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TRACK_RATE = "GT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_CURR_SITE_LAT = "Gt";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_MOUNT_TRACK_STATUS = "GTRK";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TAG_TRACK_STATUS = "GTTRK";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TAG_DEST_SIDE = "GTsid";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_FWR_DATE = "GVD";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_FWR_NUM = "GVN";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_PROD_NAME = "GVP"; // "Asib BM700"?
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_FWR_TIME = "GVT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_HWR_VERSION = "GVZ";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_WOL_CONF = "GWOL";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_WLAN_AVAIL = "GWAV"; // always "0#"?
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TEL_AZ = "GZ";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_TAG_AZ = "Gz";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_POINT_STATE = "pS"; // "side of the pier"
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_EMUL_FWR_REV = "V"; // always returns "G#"
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_HOME_SEEK_AND_STORE = "hS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_HOME_SEEK_AND_ALIGN = "hF";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_PARK_hP = "hP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_PARK_KA = "KA";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_UNPARK = "PO";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_QUERY_HOME_STATUS = "h?";
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_AZ = "MA";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_MOVE_EAST = "Me";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_MOVE_NORTH = "Mn";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_MOVE_SOUTH = "Ms";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_MOVE_WEST = "Mw";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_CORR_EAST = "Mge";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_CORR_NORTH = "Mgn";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_CORR_SOUTH = "Mgs";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_CORR_WEST = "Mgw";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_TAG = "MS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_TAG_SIDE = "MSfs";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_TAG_DISREG_FINE_MOVE = "MSnf";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SWAP_EAST_WEST = "EW";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SWAP_NORTH_SOUTH = "NS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_HALT_ALL = "Q";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_HALT_EASTWARD = "Qe";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_HALT_NORTHWARD = "Qn";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_HALT_SOUTHWARD = "Qs";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_HALT_WESTWARD = "Qw";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_FLIP = "FLIP"; // ???????????
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_PROGRESS_STRING = "D";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_NUDGE = "NUDGE";
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_CENTERING_RATE = "RC";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_GUIDING_RATE = "RG";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_FIND_RATE = "RM";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_MAX_RATE = "RS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_SLEW_RA_RATE = "RA";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_SLEW_DEC_RATE = "RE";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_GUIDING_RATE = "Rg";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_CENTERING_RATE = "Rc";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_SLEW_RATE = "Rs"; // multiple of sideral rate
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_SLEW_ABS_RATE = "RMs"; // in degs/s
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_SLEW_ABS_RATE = "GMs"; // in degs/s
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_MIN_SLEW_ABS_RATE = "GMsa"; // in degs/s
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_MAX_SLEW_ABS_RATE = "GMsb"; // in degs/s
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_GUIDING_RATE = "Ggui"; // in arcsec/s
|
|
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_DEC_BACKLASH = "Bd";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_RA_BACKLASH = "Br";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_TAG_ALT = "Sa";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_BAUD_RATE = "SB";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_LOCAL_DATE = "SC";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_TAG_DEC = "Sd";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_CURR_SITE_LONG = "Sg";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_UTC_OFFSET = "SG"; // = UTC-LOCAL (hours)
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_HIGHEST_ALT = "Sh";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_CURR_JULDATE = "SJD";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_LOCAL_TIME = "SL";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_LOCAL_DATE_TIME = "SLDT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_UTC_DATE_TIME = "SUDT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_MERIDIAN_BEHAV = "SMF";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_LOWEST_ALT = "So";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_TAG_RA = "Sr";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_REFRACT_CORR_STATUS = "SREF";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_ATM_PRES = "SRPRS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_ATM_TEMP = "SRTMP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_SPEED_CORR_STATUS = "SSC";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_SETTLE_TIME = "Sstm";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_TRACK_MERIDIAN_LIMIT = "Slmt";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_SLEW_MERIDIAN_LIMIT = "Slms";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_UNATTEND_FLIP_SETTING = "Suaf";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_CURR_SITE_LAT = "St";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_STOP = "STOP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_MAX_SLEW_ABS_RATE = "Sw"; // in degs/s
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_WOL_CONF = "SWOL";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_MOUNT_IP_ADDR = "SIP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_TAG_AZ = "Sz";
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_TOGGLE_PEC = "$Q";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PEC_OFF = "p";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PEC_ON = "pP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_INC_CUSTOM_TRACK_RATE = "T+"; // ++0.025 "/s
|
|
static constexpr std::string_view PROTO_COMMAND_STR_DEC_CUSTOM_TRACK_RATE = "T-"; // --0.025 "/s
|
|
static constexpr std::string_view PROTO_COMMAND_STR_LUNAR_TRACK_RATE = "TL";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SOLAR_TRACK_RATE = "TSOLAR";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_CUSTOM_TRACK_RATE_ON = "TM"; // turn on custom tracking rate
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SIDERAL_TRACK_RATE_ON = "TQ"; // turn on sideral tracking rate
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_CUSTOM_TRACK_RATE = "T"; // see "GT"
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_TRACK_RATE = "ST"; // see "GT"
|
|
static constexpr std::string_view PROTO_COMMAND_STR_LUNAR_TRACK_RATE_EXT = "RT0";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SOLAR_TRACK_RATE_EXT = "RT1";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SIDERAL_TRACK_RATE_ON_EXT = "RT2"; // turn on sideral tracking rate
|
|
static constexpr std::string_view PROTO_COMMAND_STR_STOP_TRACK = "RT9";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_RA_TRACK_RATE = "RR";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_DEC_TRACK_RATE = "RD";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_DUAL_TRACK_CONF = "Sdat";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_DUAL_TRACK_STATUS = "Gdat";
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_PREC_MODE = "U"; // just for compability (do nothing)
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_PREC_MODE_0 = "U0"; // just for compability (do nothing)
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_PREC_MODE_1 = "U1"; // just for compability (do nothing)
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_PREC_MODE_2 = "U2"; // just for compability (do nothing)
|
|
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_FINAL_APP_TC = "SFAtc"; // time constant
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_FINAL_APP_TC = "GFAtc";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_FINAL_APP_DL = "SFAlm"; // distance limit
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_FINAL_APP_DL = "GFAlm";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_FINAL_APP_MODE = "SFAmd"; // set final approach mode
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_FINAL_APP_MODE = "GFAmd";
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_ANG_RA_POS = "GaXa";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_ANG_DEC_POS = "GaXb";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_ANG_TAG_RA_POS = "SaXa";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SET_ANG_TAG_DEC_POS = "SaXb";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_ANG_TAG_RA_POS = "QaXa";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_ANG_TAG_DEC_POS = "QaXb";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_ANG_TAG = "MaX"; // slew and stop
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_ANG_TAG_PARK = "PaX"; // slew and park
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PARK_IN_CURR_POS = "PiP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SLEW_TO_PARK_ANG_POS = "PsX";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_SAVE_PARK_ANG_POS = "PyX";
|
|
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_LOAD = "TLEDL";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_NUM = "TLEDN";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_GET = "TLEG";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_LOAD0 = "TLEL0";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_GET_AZ = "TLEGAZ";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_GET_EQ = "TLEGEQ";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_PRE_TRANS = "TLEP";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_SLEW = "TLES";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ORBITAL_ELEM_SLEW_STATUS = "TLESCK";
|
|
|
|
|
|
static constexpr std::string_view PROTO_COMMAND_STR_EMUAP = "EMUAP"; // do nothing, just for compability
|
|
static constexpr std::string_view PROTO_COMMAND_STR_EMULX = "EMULX"; // do nothing, just for compability
|
|
static constexpr std::string_view PROTO_COMMAND_STR_START_COMM_LOG = "startlog";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_STOP_COMM_LOG = "stoplog";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_MOUNT_SHUTDOWN = "shutdown";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_COMM_LOG = "getlog";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GET_EV_LOG = "evlog";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_USEROK = "USEROK";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_USERWAIT = "USERWAIT";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_GETID = "GETID";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_ADJUST_TIME = "NUtim";
|
|
|
|
// PCS - pointing correction system
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_ADD_ALIGN_TAG = "CMS";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_SYNC_WITH_TAG = "CM";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_SYNC_WITH_TAG1 = "CMR";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_SYNC_CFG = "CMCFG";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_ALIGN_POINTS_NUM = "getals";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_DEL_CURR_MODEL = "delalig";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_GET_ALIGN_POINT_INFO = "getali";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_GET_MODEL_INFO = "getain";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_GET_ALIGN_POINT_INFO1 = "getalp";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_DEL_ALIGN_POINT = "delalst";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_START = "newalig";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_NEW_ALIGN_POINT = "newalpt";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_STOP = "endalig";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_GET_MODELS_NUM = "modelcnt";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_GET_MODEL_NAME = "modelnam";
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_LOAD_MODEL = "modelld0"; // by name
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_SAVE_MODEL = "modelsv0"; // by name
|
|
static constexpr std::string_view PROTO_COMMAND_STR_PCS_DEL_MODEL = "modeldel0"; // by name
|
|
|
|
|
|
struct proto_command_t {
|
|
std::string_view comm;
|
|
size_t hash;
|
|
std::string_view desc;
|
|
};
|
|
|
|
|
|
enum PROTO_COMMAND_ID : size_t {
|
|
PROTO_COMMAND_ID_ACK = details::FNV1aHash(PROTO_COMMAND_STR_ACK),
|
|
PROTO_COMMAND_ID_TRACK_STOP = details::FNV1aHash(PROTO_COMMAND_STR_TRACK_STOP),
|
|
PROTO_COMMAND_ID_TRACK_START = details::FNV1aHash(PROTO_COMMAND_STR_TRACK_START),
|
|
PROTO_COMMAND_ID_TEL_ALT = details::FNV1aHash(PROTO_COMMAND_STR_TEL_ALT),
|
|
PROTO_COMMAND_ID_TAG_ALT = details::FNV1aHash(PROTO_COMMAND_STR_TAG_ALT),
|
|
PROTO_COMMAND_ID_GET_CURR_DATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_CURR_DATE),
|
|
PROTO_COMMAND_ID_GET_TEL_DEC = details::FNV1aHash(PROTO_COMMAND_STR_GET_TEL_DEC),
|
|
PROTO_COMMAND_ID_GET_TAG_DEC = details::FNV1aHash(PROTO_COMMAND_STR_GET_TAG_DEC),
|
|
PROTO_COMMAND_ID_GET_CURR_SITE_ELEV = details::FNV1aHash(PROTO_COMMAND_STR_GET_CURR_SITE_ELEV),
|
|
PROTO_COMMAND_ID_GET_UTC_OFFSET = details::FNV1aHash(PROTO_COMMAND_STR_GET_UTC_OFFSET),
|
|
PROTO_COMMAND_ID_GET_CURR_SITE_LONG = details::FNV1aHash(PROTO_COMMAND_STR_GET_CURR_SITE_LONG),
|
|
PROTO_COMMAND_ID_GET_HIGHEST_ALT = details::FNV1aHash(PROTO_COMMAND_STR_GET_HIGHEST_ALT),
|
|
PROTO_COMMAND_ID_GINFO = details::FNV1aHash(PROTO_COMMAND_STR_GINFO),
|
|
PROTO_COMMAND_ID_GINQ = details::FNV1aHash(PROTO_COMMAND_STR_GINQ),
|
|
PROTO_COMMAND_ID_GET_MOUNT_IP_ADDR = details::FNV1aHash(PROTO_COMMAND_STR_GET_MOUNT_IP_ADDR),
|
|
PROTO_COMMAND_ID_MOUNT_WIRELESS_IP_ADDR = details::FNV1aHash(PROTO_COMMAND_STR_MOUNT_WIRELESS_IP_ADDR),
|
|
PROTO_COMMAND_ID_MOUNT_MAC_ADDR = details::FNV1aHash(PROTO_COMMAND_STR_MOUNT_MAC_ADDR),
|
|
PROTO_COMMAND_ID_GET_MOUNT_WIRELESS_MAC_ADDR = details::FNV1aHash(PROTO_COMMAND_STR_GET_MOUNT_WIRELESS_MAC_ADDR),
|
|
PROTO_COMMAND_ID_GET_CURR_JULDATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_CURR_JULDATE),
|
|
PROTO_COMMAND_ID_GET_CURR_JULDATE_EXTPREC = details::FNV1aHash(PROTO_COMMAND_STR_GET_CURR_JULDATE_EXTPREC),
|
|
PROTO_COMMAND_ID_GET_CURR_JULDATE_EXTPREC_LEAP_SEC =
|
|
details::FNV1aHash(PROTO_COMMAND_STR_GET_CURR_JULDATE_EXTPREC_LEAP_SEC),
|
|
PROTO_COMMAND_ID_GET_LOCAL_TIME = details::FNV1aHash(PROTO_COMMAND_STR_GET_LOCAL_TIME),
|
|
PROTO_COMMAND_ID_GET_LOCAL_DATE_TIME = details::FNV1aHash(PROTO_COMMAND_STR_GET_LOCAL_DATE_TIME),
|
|
PROTO_COMMAND_ID_GET_UTC_DATE_TIME = details::FNV1aHash(PROTO_COMMAND_STR_GET_UTC_DATE_TIME),
|
|
PROTO_COMMAND_ID_GET_UTC_UT1_DIFF = details::FNV1aHash(PROTO_COMMAND_STR_GET_UTC_UT1_DIFF),
|
|
PROTO_COMMAND_ID_GET_GPS_UTC_DIFF = details::FNV1aHash(PROTO_COMMAND_STR_GET_GPS_UTC_DIFF),
|
|
PROTO_COMMAND_ID_GET_NEXT_LEAP_SEC = details::FNV1aHash(PROTO_COMMAND_STR_GET_NEXT_LEAP_SEC),
|
|
PROTO_COMMAND_ID_GET_MERIDIAN_BEHAV = details::FNV1aHash(PROTO_COMMAND_STR_GET_MERIDIAN_BEHAV),
|
|
PROTO_COMMAND_ID_GET_LOWEST_ALT = details::FNV1aHash(PROTO_COMMAND_STR_GET_LOWEST_ALT),
|
|
PROTO_COMMAND_ID_GET_PA = details::FNV1aHash(PROTO_COMMAND_STR_GET_PA),
|
|
PROTO_COMMAND_ID_GET_PA_SPEED = details::FNV1aHash(PROTO_COMMAND_STR_GET_PA_SPEED),
|
|
PROTO_COMMAND_ID_GET_PA_ZENITH = details::FNV1aHash(PROTO_COMMAND_STR_GET_PA_ZENITH),
|
|
PROTO_COMMAND_ID_GET_PA_ZENITH_SPEED = details::FNV1aHash(PROTO_COMMAND_STR_GET_PA_ZENITH_SPEED),
|
|
PROTO_COMMAND_ID_GET_GUIDING_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_GET_GUIDING_STATUS),
|
|
PROTO_COMMAND_ID_GET_TEL_RA = details::FNV1aHash(PROTO_COMMAND_STR_GET_TEL_RA),
|
|
PROTO_COMMAND_ID_GET_TAG_RA = details::FNV1aHash(PROTO_COMMAND_STR_GET_TAG_RA),
|
|
PROTO_COMMAND_ID_GET_ATM_PRES = details::FNV1aHash(PROTO_COMMAND_STR_GET_ATM_PRES),
|
|
PROTO_COMMAND_ID_GET_ATM_TEMP = details::FNV1aHash(PROTO_COMMAND_STR_GET_ATM_TEMP),
|
|
PROTO_COMMAND_ID_GET_SIDERAL_TIME = details::FNV1aHash(PROTO_COMMAND_STR_GET_SIDERAL_TIME),
|
|
PROTO_COMMAND_ID_GET_REFRACT_CORR_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_GET_REFRACT_CORR_STATUS),
|
|
PROTO_COMMAND_ID_GET_SPEED_CORR_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_GET_SPEED_CORR_STATUS),
|
|
PROTO_COMMAND_ID_GSTAT = details::FNV1aHash(PROTO_COMMAND_STR_GSTAT),
|
|
PROTO_COMMAND_ID_GET_SETTLE_TIME = details::FNV1aHash(PROTO_COMMAND_STR_GET_SETTLE_TIME),
|
|
PROTO_COMMAND_ID_GET_TRACK_MERIDIAN_LIMIT = details::FNV1aHash(PROTO_COMMAND_STR_GET_TRACK_MERIDIAN_LIMIT),
|
|
PROTO_COMMAND_ID_GET_SLEW_MERIDIAN_LIMIT = details::FNV1aHash(PROTO_COMMAND_STR_GET_SLEW_MERIDIAN_LIMIT),
|
|
PROTO_COMMAND_ID_GET_EST_TRACK_TIME = details::FNV1aHash(PROTO_COMMAND_STR_GET_EST_TRACK_TIME),
|
|
PROTO_COMMAND_ID_GET_UNATTEND_FLIP_SETTING = details::FNV1aHash(PROTO_COMMAND_STR_GET_UNATTEND_FLIP_SETTING),
|
|
PROTO_COMMAND_ID_GET_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_TRACK_RATE),
|
|
PROTO_COMMAND_ID_GET_CURR_SITE_LAT = details::FNV1aHash(PROTO_COMMAND_STR_GET_CURR_SITE_LAT),
|
|
PROTO_COMMAND_ID_GET_MOUNT_TRACK_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_GET_MOUNT_TRACK_STATUS),
|
|
PROTO_COMMAND_ID_GET_TAG_TRACK_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_GET_TAG_TRACK_STATUS),
|
|
PROTO_COMMAND_ID_GET_TAG_DEST_SIDE = details::FNV1aHash(PROTO_COMMAND_STR_GET_TAG_DEST_SIDE),
|
|
PROTO_COMMAND_ID_GET_FWR_DATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_FWR_DATE),
|
|
PROTO_COMMAND_ID_GET_FWR_NUM = details::FNV1aHash(PROTO_COMMAND_STR_GET_FWR_NUM),
|
|
PROTO_COMMAND_ID_GET_PROD_NAME = details::FNV1aHash(PROTO_COMMAND_STR_GET_PROD_NAME),
|
|
PROTO_COMMAND_ID_GET_FWR_TIME = details::FNV1aHash(PROTO_COMMAND_STR_GET_FWR_TIME),
|
|
PROTO_COMMAND_ID_GET_HWR_VERSION = details::FNV1aHash(PROTO_COMMAND_STR_GET_HWR_VERSION),
|
|
PROTO_COMMAND_ID_GET_WOL_CONF = details::FNV1aHash(PROTO_COMMAND_STR_GET_WOL_CONF),
|
|
PROTO_COMMAND_ID_WLAN_AVAIL = details::FNV1aHash(PROTO_COMMAND_STR_WLAN_AVAIL),
|
|
PROTO_COMMAND_ID_GET_TEL_AZ = details::FNV1aHash(PROTO_COMMAND_STR_GET_TEL_AZ),
|
|
PROTO_COMMAND_ID_GET_TAG_AZ = details::FNV1aHash(PROTO_COMMAND_STR_GET_TAG_AZ),
|
|
PROTO_COMMAND_ID_GET_POINT_STATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_POINT_STATE),
|
|
PROTO_COMMAND_ID_GET_EMUL_FWR_REV = details::FNV1aHash(PROTO_COMMAND_STR_GET_EMUL_FWR_REV),
|
|
PROTO_COMMAND_ID_HOME_SEEK_AND_STORE = details::FNV1aHash(PROTO_COMMAND_STR_HOME_SEEK_AND_STORE),
|
|
PROTO_COMMAND_ID_HOME_SEEK_AND_ALIGN = details::FNV1aHash(PROTO_COMMAND_STR_HOME_SEEK_AND_ALIGN),
|
|
PROTO_COMMAND_ID_SLEW_TO_PARK_hP = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_PARK_hP),
|
|
PROTO_COMMAND_ID_SLEW_TO_PARK_KA = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_PARK_KA),
|
|
PROTO_COMMAND_ID_UNPARK = details::FNV1aHash(PROTO_COMMAND_STR_UNPARK),
|
|
PROTO_COMMAND_ID_QUERY_HOME_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_QUERY_HOME_STATUS),
|
|
PROTO_COMMAND_ID_SLEW_TO_AZ = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_AZ),
|
|
PROTO_COMMAND_ID_MOVE_EAST = details::FNV1aHash(PROTO_COMMAND_STR_MOVE_EAST),
|
|
PROTO_COMMAND_ID_MOVE_NORTH = details::FNV1aHash(PROTO_COMMAND_STR_MOVE_NORTH),
|
|
PROTO_COMMAND_ID_MOVE_SOUTH = details::FNV1aHash(PROTO_COMMAND_STR_MOVE_SOUTH),
|
|
PROTO_COMMAND_ID_MOVE_WEST = details::FNV1aHash(PROTO_COMMAND_STR_MOVE_WEST),
|
|
PROTO_COMMAND_ID_CORR_EAST = details::FNV1aHash(PROTO_COMMAND_STR_CORR_EAST),
|
|
PROTO_COMMAND_ID_CORR_NORTH = details::FNV1aHash(PROTO_COMMAND_STR_CORR_NORTH),
|
|
PROTO_COMMAND_ID_CORR_SOUTH = details::FNV1aHash(PROTO_COMMAND_STR_CORR_SOUTH),
|
|
PROTO_COMMAND_ID_CORR_WEST = details::FNV1aHash(PROTO_COMMAND_STR_CORR_WEST),
|
|
PROTO_COMMAND_ID_SLEW_TO_TAG = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_TAG),
|
|
PROTO_COMMAND_ID_SLEW_TO_TAG_SIDE = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_TAG_SIDE),
|
|
PROTO_COMMAND_ID_SLEW_TO_TAG_DISREG_FINE_MOVE = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_TAG_DISREG_FINE_MOVE),
|
|
PROTO_COMMAND_ID_SWAP_EAST_WEST = details::FNV1aHash(PROTO_COMMAND_STR_SWAP_EAST_WEST),
|
|
PROTO_COMMAND_ID_SWAP_NORTH_SOUTH = details::FNV1aHash(PROTO_COMMAND_STR_SWAP_NORTH_SOUTH),
|
|
PROTO_COMMAND_ID_HALT_ALL = details::FNV1aHash(PROTO_COMMAND_STR_HALT_ALL),
|
|
PROTO_COMMAND_ID_HALT_EASTWARD = details::FNV1aHash(PROTO_COMMAND_STR_HALT_EASTWARD),
|
|
PROTO_COMMAND_ID_HALT_NORTHWARD = details::FNV1aHash(PROTO_COMMAND_STR_HALT_NORTHWARD),
|
|
PROTO_COMMAND_ID_HALT_SOUTHWARD = details::FNV1aHash(PROTO_COMMAND_STR_HALT_SOUTHWARD),
|
|
PROTO_COMMAND_ID_HALT_WESTWARD = details::FNV1aHash(PROTO_COMMAND_STR_HALT_WESTWARD),
|
|
PROTO_COMMAND_ID_FLIP = details::FNV1aHash(PROTO_COMMAND_STR_FLIP),
|
|
PROTO_COMMAND_ID_SLEW_PROGRESS_STRING = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_PROGRESS_STRING),
|
|
PROTO_COMMAND_ID_NUDGE = details::FNV1aHash(PROTO_COMMAND_STR_NUDGE),
|
|
PROTO_COMMAND_ID_SLEW_TO_CENTERING_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_CENTERING_RATE),
|
|
PROTO_COMMAND_ID_SLEW_TO_GUIDING_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_GUIDING_RATE),
|
|
PROTO_COMMAND_ID_SLEW_TO_FIND_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_FIND_RATE),
|
|
PROTO_COMMAND_ID_SLEW_TO_MAX_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_MAX_RATE),
|
|
PROTO_COMMAND_ID_SET_SLEW_RA_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_SLEW_RA_RATE),
|
|
PROTO_COMMAND_ID_SET_SLEW_DEC_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_SLEW_DEC_RATE),
|
|
PROTO_COMMAND_ID_SET_GUIDING_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_GUIDING_RATE),
|
|
PROTO_COMMAND_ID_SET_CENTERING_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_CENTERING_RATE),
|
|
PROTO_COMMAND_ID_SET_SLEW_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_SLEW_RATE),
|
|
PROTO_COMMAND_ID_SET_SLEW_ABS_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_SLEW_ABS_RATE),
|
|
PROTO_COMMAND_ID_GET_SLEW_ABS_RATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_SLEW_ABS_RATE),
|
|
PROTO_COMMAND_ID_GET_MIN_SLEW_ABS_RATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_MIN_SLEW_ABS_RATE),
|
|
PROTO_COMMAND_ID_GET_MAX_SLEW_ABS_RATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_MAX_SLEW_ABS_RATE),
|
|
PROTO_COMMAND_ID_GET_GUIDING_RATE = details::FNV1aHash(PROTO_COMMAND_STR_GET_GUIDING_RATE),
|
|
PROTO_COMMAND_ID_SET_DEC_BACKLASH = details::FNV1aHash(PROTO_COMMAND_STR_SET_DEC_BACKLASH),
|
|
PROTO_COMMAND_ID_SET_RA_BACKLASH = details::FNV1aHash(PROTO_COMMAND_STR_SET_RA_BACKLASH),
|
|
PROTO_COMMAND_ID_SET_TAG_ALT = details::FNV1aHash(PROTO_COMMAND_STR_SET_TAG_ALT),
|
|
PROTO_COMMAND_ID_SET_BAUD_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_BAUD_RATE),
|
|
PROTO_COMMAND_ID_SET_LOCAL_DATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_LOCAL_DATE),
|
|
PROTO_COMMAND_ID_SET_TAG_DEC = details::FNV1aHash(PROTO_COMMAND_STR_SET_TAG_DEC),
|
|
PROTO_COMMAND_ID_SET_CURR_SITE_LONG = details::FNV1aHash(PROTO_COMMAND_STR_SET_CURR_SITE_LONG),
|
|
PROTO_COMMAND_ID_SET_UTC_OFFSET = details::FNV1aHash(PROTO_COMMAND_STR_SET_UTC_OFFSET),
|
|
PROTO_COMMAND_ID_SET_HIGHEST_ALT = details::FNV1aHash(PROTO_COMMAND_STR_SET_HIGHEST_ALT),
|
|
PROTO_COMMAND_ID_SET_CURR_JULDATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_CURR_JULDATE),
|
|
PROTO_COMMAND_ID_SET_LOCAL_TIME = details::FNV1aHash(PROTO_COMMAND_STR_SET_LOCAL_TIME),
|
|
PROTO_COMMAND_ID_SET_LOCAL_DATE_TIME = details::FNV1aHash(PROTO_COMMAND_STR_SET_LOCAL_DATE_TIME),
|
|
PROTO_COMMAND_ID_SET_UTC_DATE_TIME = details::FNV1aHash(PROTO_COMMAND_STR_SET_UTC_DATE_TIME),
|
|
PROTO_COMMAND_ID_SET_MERIDIAN_BEHAV = details::FNV1aHash(PROTO_COMMAND_STR_SET_MERIDIAN_BEHAV),
|
|
PROTO_COMMAND_ID_SET_LOWEST_ALT = details::FNV1aHash(PROTO_COMMAND_STR_SET_LOWEST_ALT),
|
|
PROTO_COMMAND_ID_SET_TAG_RA = details::FNV1aHash(PROTO_COMMAND_STR_SET_TAG_RA),
|
|
PROTO_COMMAND_ID_SET_REFRACT_CORR_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_SET_REFRACT_CORR_STATUS),
|
|
PROTO_COMMAND_ID_SET_ATM_PRES = details::FNV1aHash(PROTO_COMMAND_STR_SET_ATM_PRES),
|
|
PROTO_COMMAND_ID_SET_ATM_TEMP = details::FNV1aHash(PROTO_COMMAND_STR_SET_ATM_TEMP),
|
|
PROTO_COMMAND_ID_SET_SPEED_CORR_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_SET_SPEED_CORR_STATUS),
|
|
PROTO_COMMAND_ID_SET_SETTLE_TIME = details::FNV1aHash(PROTO_COMMAND_STR_SET_SETTLE_TIME),
|
|
PROTO_COMMAND_ID_SET_TRACK_MERIDIAN_LIMIT = details::FNV1aHash(PROTO_COMMAND_STR_SET_TRACK_MERIDIAN_LIMIT),
|
|
PROTO_COMMAND_ID_SET_SLEW_MERIDIAN_LIMIT = details::FNV1aHash(PROTO_COMMAND_STR_SET_SLEW_MERIDIAN_LIMIT),
|
|
PROTO_COMMAND_ID_SET_UNATTEND_FLIP_SETTING = details::FNV1aHash(PROTO_COMMAND_STR_SET_UNATTEND_FLIP_SETTING),
|
|
PROTO_COMMAND_ID_SET_CURR_SITE_LAT = details::FNV1aHash(PROTO_COMMAND_STR_SET_CURR_SITE_LAT),
|
|
PROTO_COMMAND_ID_STOP = details::FNV1aHash(PROTO_COMMAND_STR_STOP),
|
|
PROTO_COMMAND_ID_SET_MAX_SLEW_ABS_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_MAX_SLEW_ABS_RATE),
|
|
PROTO_COMMAND_ID_SET_WOL_CONF = details::FNV1aHash(PROTO_COMMAND_STR_SET_WOL_CONF),
|
|
PROTO_COMMAND_ID_SET_MOUNT_IP_ADDR = details::FNV1aHash(PROTO_COMMAND_STR_SET_MOUNT_IP_ADDR),
|
|
PROTO_COMMAND_ID_SET_TAG_AZ = details::FNV1aHash(PROTO_COMMAND_STR_SET_TAG_AZ),
|
|
PROTO_COMMAND_ID_TOGGLE_PEC = details::FNV1aHash(PROTO_COMMAND_STR_TOGGLE_PEC),
|
|
PROTO_COMMAND_ID_PEC_OFF = details::FNV1aHash(PROTO_COMMAND_STR_PEC_OFF),
|
|
PROTO_COMMAND_ID_PEC_ON = details::FNV1aHash(PROTO_COMMAND_STR_PEC_ON),
|
|
PROTO_COMMAND_ID_INC_CUSTOM_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_INC_CUSTOM_TRACK_RATE),
|
|
PROTO_COMMAND_ID_DEC_CUSTOM_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_DEC_CUSTOM_TRACK_RATE),
|
|
PROTO_COMMAND_ID_LUNAR_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_LUNAR_TRACK_RATE),
|
|
PROTO_COMMAND_ID_SOLAR_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SOLAR_TRACK_RATE),
|
|
PROTO_COMMAND_ID_CUSTOM_TRACK_RATE_ON = details::FNV1aHash(PROTO_COMMAND_STR_CUSTOM_TRACK_RATE_ON),
|
|
PROTO_COMMAND_ID_SIDERAL_TRACK_RATE_ON = details::FNV1aHash(PROTO_COMMAND_STR_SIDERAL_TRACK_RATE_ON),
|
|
PROTO_COMMAND_ID_SET_CUSTOM_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_CUSTOM_TRACK_RATE),
|
|
PROTO_COMMAND_ID_SET_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_TRACK_RATE),
|
|
PROTO_COMMAND_ID_LUNAR_TRACK_RATE_EXT = details::FNV1aHash(PROTO_COMMAND_STR_LUNAR_TRACK_RATE_EXT),
|
|
PROTO_COMMAND_ID_SOLAR_TRACK_RATE_EXT = details::FNV1aHash(PROTO_COMMAND_STR_SOLAR_TRACK_RATE_EXT),
|
|
PROTO_COMMAND_ID_SIDERAL_TRACK_RATE_ON_EXT = details::FNV1aHash(PROTO_COMMAND_STR_SIDERAL_TRACK_RATE_ON_EXT),
|
|
PROTO_COMMAND_ID_STOP_TRACK = details::FNV1aHash(PROTO_COMMAND_STR_STOP_TRACK),
|
|
PROTO_COMMAND_ID_SET_RA_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_RA_TRACK_RATE),
|
|
PROTO_COMMAND_ID_SET_DEC_TRACK_RATE = details::FNV1aHash(PROTO_COMMAND_STR_SET_DEC_TRACK_RATE),
|
|
PROTO_COMMAND_ID_DUAL_TRACK_CONF = details::FNV1aHash(PROTO_COMMAND_STR_DUAL_TRACK_CONF),
|
|
PROTO_COMMAND_ID_DUAL_TRACK_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_DUAL_TRACK_STATUS),
|
|
PROTO_COMMAND_ID_SET_PREC_MODE = details::FNV1aHash(PROTO_COMMAND_STR_SET_PREC_MODE),
|
|
PROTO_COMMAND_ID_SET_PREC_MODE_0 = details::FNV1aHash(PROTO_COMMAND_STR_SET_PREC_MODE_0),
|
|
PROTO_COMMAND_ID_SET_PREC_MODE_1 = details::FNV1aHash(PROTO_COMMAND_STR_SET_PREC_MODE_1),
|
|
PROTO_COMMAND_ID_SET_PREC_MODE_2 = details::FNV1aHash(PROTO_COMMAND_STR_SET_PREC_MODE_2),
|
|
PROTO_COMMAND_ID_SET_FINAL_APP_TC = details::FNV1aHash(PROTO_COMMAND_STR_SET_FINAL_APP_TC),
|
|
PROTO_COMMAND_ID_GET_FINAL_APP_TC = details::FNV1aHash(PROTO_COMMAND_STR_GET_FINAL_APP_TC),
|
|
PROTO_COMMAND_ID_SET_FINAL_APP_DL = details::FNV1aHash(PROTO_COMMAND_STR_SET_FINAL_APP_DL),
|
|
PROTO_COMMAND_ID_GET_FINAL_APP_DL = details::FNV1aHash(PROTO_COMMAND_STR_GET_FINAL_APP_DL),
|
|
PROTO_COMMAND_ID_SET_FINAL_APP_MODE = details::FNV1aHash(PROTO_COMMAND_STR_SET_FINAL_APP_MODE),
|
|
PROTO_COMMAND_ID_GET_FINAL_APP_MODE = details::FNV1aHash(PROTO_COMMAND_STR_GET_FINAL_APP_MODE),
|
|
PROTO_COMMAND_ID_GET_ANG_RA_POS = details::FNV1aHash(PROTO_COMMAND_STR_GET_ANG_RA_POS),
|
|
PROTO_COMMAND_ID_GET_ANG_DEC_POS = details::FNV1aHash(PROTO_COMMAND_STR_GET_ANG_DEC_POS),
|
|
PROTO_COMMAND_ID_SET_ANG_TAG_RA_POS = details::FNV1aHash(PROTO_COMMAND_STR_SET_ANG_TAG_RA_POS),
|
|
PROTO_COMMAND_ID_SET_ANG_TAG_DEC_POS = details::FNV1aHash(PROTO_COMMAND_STR_SET_ANG_TAG_DEC_POS),
|
|
PROTO_COMMAND_ID_GET_ANG_TAG_RA_POS = details::FNV1aHash(PROTO_COMMAND_STR_GET_ANG_TAG_RA_POS),
|
|
PROTO_COMMAND_ID_GET_ANG_TAG_DEC_POS = details::FNV1aHash(PROTO_COMMAND_STR_GET_ANG_TAG_DEC_POS),
|
|
PROTO_COMMAND_ID_SLEW_TO_ANG_TAG = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_ANG_TAG),
|
|
PROTO_COMMAND_ID_SLEW_TO_ANG_TAG_PARK = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_ANG_TAG_PARK),
|
|
PROTO_COMMAND_ID_PARK_IN_CURR_POS = details::FNV1aHash(PROTO_COMMAND_STR_PARK_IN_CURR_POS),
|
|
PROTO_COMMAND_ID_SLEW_TO_PARK_ANG_POS = details::FNV1aHash(PROTO_COMMAND_STR_SLEW_TO_PARK_ANG_POS),
|
|
PROTO_COMMAND_ID_SAVE_PARK_ANG_POS = details::FNV1aHash(PROTO_COMMAND_STR_SAVE_PARK_ANG_POS),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_LOAD = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_LOAD),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_NUM = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_NUM),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_GET = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_GET),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_LOAD0 = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_LOAD0),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_GET_AZ = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_GET_AZ),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_GET_EQ = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_GET_EQ),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_PRE_TRANS = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_PRE_TRANS),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_SLEW = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_SLEW),
|
|
PROTO_COMMAND_ID_ORBITAL_ELEM_SLEW_STATUS = details::FNV1aHash(PROTO_COMMAND_STR_ORBITAL_ELEM_SLEW_STATUS),
|
|
PROTO_COMMAND_ID_EMUAP = details::FNV1aHash(PROTO_COMMAND_STR_EMUAP),
|
|
PROTO_COMMAND_ID_EMULX = details::FNV1aHash(PROTO_COMMAND_STR_EMULX),
|
|
PROTO_COMMAND_ID_START_COMM_LOG = details::FNV1aHash(PROTO_COMMAND_STR_START_COMM_LOG),
|
|
PROTO_COMMAND_ID_STOP_COMM_LOG = details::FNV1aHash(PROTO_COMMAND_STR_STOP_COMM_LOG),
|
|
PROTO_COMMAND_ID_MOUNT_SHUTDOWN = details::FNV1aHash(PROTO_COMMAND_STR_MOUNT_SHUTDOWN),
|
|
PROTO_COMMAND_ID_GET_COMM_LOG = details::FNV1aHash(PROTO_COMMAND_STR_GET_COMM_LOG),
|
|
PROTO_COMMAND_ID_GET_EV_LOG = details::FNV1aHash(PROTO_COMMAND_STR_GET_EV_LOG),
|
|
PROTO_COMMAND_ID_USEROK = details::FNV1aHash(PROTO_COMMAND_STR_USEROK),
|
|
PROTO_COMMAND_ID_USERWAIT = details::FNV1aHash(PROTO_COMMAND_STR_USERWAIT),
|
|
PROTO_COMMAND_ID_GETID = details::FNV1aHash(PROTO_COMMAND_STR_GETID),
|
|
PROTO_COMMAND_ID_ADJUST_TIME = details::FNV1aHash(PROTO_COMMAND_STR_ADJUST_TIME),
|
|
PROTO_COMMAND_ID_PCS_ADD_ALIGN_TAG = details::FNV1aHash(PROTO_COMMAND_STR_PCS_ADD_ALIGN_TAG),
|
|
PROTO_COMMAND_ID_PCS_SYNC_WITH_TAG = details::FNV1aHash(PROTO_COMMAND_STR_PCS_SYNC_WITH_TAG),
|
|
PROTO_COMMAND_ID_PCS_SYNC_WITH_TAG1 = details::FNV1aHash(PROTO_COMMAND_STR_PCS_SYNC_WITH_TAG1),
|
|
PROTO_COMMAND_ID_PCS_SYNC_CFG = details::FNV1aHash(PROTO_COMMAND_STR_PCS_SYNC_CFG),
|
|
PROTO_COMMAND_ID_PCS_ALIGN_POINTS_NUM = details::FNV1aHash(PROTO_COMMAND_STR_PCS_ALIGN_POINTS_NUM),
|
|
PROTO_COMMAND_ID_PCS_DEL_CURR_MODEL = details::FNV1aHash(PROTO_COMMAND_STR_PCS_DEL_CURR_MODEL),
|
|
PROTO_COMMAND_ID_PCS_GET_ALIGN_POINT_INFO = details::FNV1aHash(PROTO_COMMAND_STR_PCS_GET_ALIGN_POINT_INFO),
|
|
PROTO_COMMAND_ID_PCS_GET_MODEL_INFO = details::FNV1aHash(PROTO_COMMAND_STR_PCS_GET_MODEL_INFO),
|
|
PROTO_COMMAND_ID_PCS_GET_ALIGN_POINT_INFO1 = details::FNV1aHash(PROTO_COMMAND_STR_PCS_GET_ALIGN_POINT_INFO1),
|
|
PROTO_COMMAND_ID_PCS_DEL_ALIGN_POINT = details::FNV1aHash(PROTO_COMMAND_STR_PCS_DEL_ALIGN_POINT),
|
|
PROTO_COMMAND_ID_PCS_START = details::FNV1aHash(PROTO_COMMAND_STR_PCS_START),
|
|
PROTO_COMMAND_ID_PCS_NEW_ALIGN_POINT = details::FNV1aHash(PROTO_COMMAND_STR_PCS_NEW_ALIGN_POINT),
|
|
PROTO_COMMAND_ID_PCS_STOP = details::FNV1aHash(PROTO_COMMAND_STR_PCS_STOP),
|
|
PROTO_COMMAND_ID_PCS_GET_MODELS_NUM = details::FNV1aHash(PROTO_COMMAND_STR_PCS_GET_MODELS_NUM),
|
|
PROTO_COMMAND_ID_PCS_GET_MODEL_NAME = details::FNV1aHash(PROTO_COMMAND_STR_PCS_GET_MODEL_NAME),
|
|
PROTO_COMMAND_ID_PCS_LOAD_MODEL = details::FNV1aHash(PROTO_COMMAND_STR_PCS_LOAD_MODEL),
|
|
PROTO_COMMAND_ID_PCS_SAVE_MODEL = details::FNV1aHash(PROTO_COMMAND_STR_PCS_SAVE_MODEL),
|
|
PROTO_COMMAND_ID_PCS_DEL_MODEL = details::FNV1aHash(PROTO_COMMAND_STR_PCS_DEL_MODEL),
|
|
};
|
|
|
|
|
|
|
|
static constexpr std::array PROTO_COMMAND_DESC = {
|
|
proto_command_t{PROTO_COMMAND_STR_ACK, PROTO_COMMAND_ID_ACK, "<ACK>"},
|
|
proto_command_t{PROTO_COMMAND_STR_TRACK_STOP, PROTO_COMMAND_ID_TRACK_STOP, "Stop tracking"},
|
|
proto_command_t{PROTO_COMMAND_STR_TRACK_START, PROTO_COMMAND_ID_TRACK_START, "Start tracking"},
|
|
proto_command_t{PROTO_COMMAND_STR_TEL_ALT, PROTO_COMMAND_ID_TEL_ALT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_TAG_ALT, PROTO_COMMAND_ID_TAG_ALT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_CURR_DATE, PROTO_COMMAND_ID_GET_CURR_DATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TEL_DEC, PROTO_COMMAND_ID_GET_TEL_DEC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TAG_DEC, PROTO_COMMAND_ID_GET_TAG_DEC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_CURR_SITE_ELEV, PROTO_COMMAND_ID_GET_CURR_SITE_ELEV, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_UTC_OFFSET, PROTO_COMMAND_ID_GET_UTC_OFFSET, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_CURR_SITE_LONG, PROTO_COMMAND_ID_GET_CURR_SITE_LONG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_HIGHEST_ALT, PROTO_COMMAND_ID_GET_HIGHEST_ALT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GINFO, PROTO_COMMAND_ID_GINFO, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GINQ, PROTO_COMMAND_ID_GINQ, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_MOUNT_IP_ADDR, PROTO_COMMAND_ID_GET_MOUNT_IP_ADDR, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_MOUNT_WIRELESS_IP_ADDR, PROTO_COMMAND_ID_MOUNT_WIRELESS_IP_ADDR, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_MOUNT_MAC_ADDR, PROTO_COMMAND_ID_MOUNT_MAC_ADDR, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_MOUNT_WIRELESS_MAC_ADDR, PROTO_COMMAND_ID_GET_MOUNT_WIRELESS_MAC_ADDR, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_CURR_JULDATE, PROTO_COMMAND_ID_GET_CURR_JULDATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_CURR_JULDATE_EXTPREC, PROTO_COMMAND_ID_GET_CURR_JULDATE_EXTPREC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_CURR_JULDATE_EXTPREC_LEAP_SEC,
|
|
PROTO_COMMAND_ID_GET_CURR_JULDATE_EXTPREC_LEAP_SEC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_LOCAL_TIME, PROTO_COMMAND_ID_GET_LOCAL_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_LOCAL_DATE_TIME, PROTO_COMMAND_ID_GET_LOCAL_DATE_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_UTC_DATE_TIME, PROTO_COMMAND_ID_GET_UTC_DATE_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_UTC_UT1_DIFF, PROTO_COMMAND_ID_GET_UTC_UT1_DIFF, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_GPS_UTC_DIFF, PROTO_COMMAND_ID_GET_GPS_UTC_DIFF, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_NEXT_LEAP_SEC, PROTO_COMMAND_ID_GET_NEXT_LEAP_SEC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_MERIDIAN_BEHAV, PROTO_COMMAND_ID_GET_MERIDIAN_BEHAV, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_LOWEST_ALT, PROTO_COMMAND_ID_GET_LOWEST_ALT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_PA, PROTO_COMMAND_ID_GET_PA, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_PA_SPEED, PROTO_COMMAND_ID_GET_PA_SPEED, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_PA_ZENITH, PROTO_COMMAND_ID_GET_PA_ZENITH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_PA_ZENITH_SPEED, PROTO_COMMAND_ID_GET_PA_ZENITH_SPEED, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_GUIDING_STATUS, PROTO_COMMAND_ID_GET_GUIDING_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TEL_RA, PROTO_COMMAND_ID_GET_TEL_RA, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TAG_RA, PROTO_COMMAND_ID_GET_TAG_RA, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_ATM_PRES, PROTO_COMMAND_ID_GET_ATM_PRES, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_ATM_TEMP, PROTO_COMMAND_ID_GET_ATM_TEMP, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_SIDERAL_TIME, PROTO_COMMAND_ID_GET_SIDERAL_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_REFRACT_CORR_STATUS, PROTO_COMMAND_ID_GET_REFRACT_CORR_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_SPEED_CORR_STATUS, PROTO_COMMAND_ID_GET_SPEED_CORR_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GSTAT, PROTO_COMMAND_ID_GSTAT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_SETTLE_TIME, PROTO_COMMAND_ID_GET_SETTLE_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TRACK_MERIDIAN_LIMIT, PROTO_COMMAND_ID_GET_TRACK_MERIDIAN_LIMIT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_SLEW_MERIDIAN_LIMIT, PROTO_COMMAND_ID_GET_SLEW_MERIDIAN_LIMIT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_EST_TRACK_TIME, PROTO_COMMAND_ID_GET_EST_TRACK_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_UNATTEND_FLIP_SETTING, PROTO_COMMAND_ID_GET_UNATTEND_FLIP_SETTING, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TRACK_RATE, PROTO_COMMAND_ID_GET_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_CURR_SITE_LAT, PROTO_COMMAND_ID_GET_CURR_SITE_LAT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_MOUNT_TRACK_STATUS, PROTO_COMMAND_ID_GET_MOUNT_TRACK_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TAG_TRACK_STATUS, PROTO_COMMAND_ID_GET_TAG_TRACK_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TAG_DEST_SIDE, PROTO_COMMAND_ID_GET_TAG_DEST_SIDE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_FWR_DATE, PROTO_COMMAND_ID_GET_FWR_DATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_FWR_NUM, PROTO_COMMAND_ID_GET_FWR_NUM, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_PROD_NAME, PROTO_COMMAND_ID_GET_PROD_NAME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_FWR_TIME, PROTO_COMMAND_ID_GET_FWR_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_HWR_VERSION, PROTO_COMMAND_ID_GET_HWR_VERSION, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_WOL_CONF, PROTO_COMMAND_ID_GET_WOL_CONF, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_WLAN_AVAIL, PROTO_COMMAND_ID_WLAN_AVAIL, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TEL_AZ, PROTO_COMMAND_ID_GET_TEL_AZ, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_TAG_AZ, PROTO_COMMAND_ID_GET_TAG_AZ, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_POINT_STATE, PROTO_COMMAND_ID_GET_POINT_STATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_EMUL_FWR_REV, PROTO_COMMAND_ID_GET_EMUL_FWR_REV, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_HOME_SEEK_AND_STORE, PROTO_COMMAND_ID_HOME_SEEK_AND_STORE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_HOME_SEEK_AND_ALIGN, PROTO_COMMAND_ID_HOME_SEEK_AND_ALIGN, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_PARK_hP, PROTO_COMMAND_ID_SLEW_TO_PARK_hP, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_PARK_KA, PROTO_COMMAND_ID_SLEW_TO_PARK_KA, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_UNPARK, PROTO_COMMAND_ID_UNPARK, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_QUERY_HOME_STATUS, PROTO_COMMAND_ID_QUERY_HOME_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_AZ, PROTO_COMMAND_ID_SLEW_TO_AZ, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_MOVE_EAST, PROTO_COMMAND_ID_MOVE_EAST, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_MOVE_NORTH, PROTO_COMMAND_ID_MOVE_NORTH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_MOVE_SOUTH, PROTO_COMMAND_ID_MOVE_SOUTH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_MOVE_WEST, PROTO_COMMAND_ID_MOVE_WEST, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_CORR_EAST, PROTO_COMMAND_ID_CORR_EAST, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_CORR_NORTH, PROTO_COMMAND_ID_CORR_NORTH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_CORR_SOUTH, PROTO_COMMAND_ID_CORR_SOUTH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_CORR_WEST, PROTO_COMMAND_ID_CORR_WEST, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_TAG, PROTO_COMMAND_ID_SLEW_TO_TAG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_TAG_SIDE, PROTO_COMMAND_ID_SLEW_TO_TAG_SIDE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_TAG_DISREG_FINE_MOVE, PROTO_COMMAND_ID_SLEW_TO_TAG_DISREG_FINE_MOVE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SWAP_EAST_WEST, PROTO_COMMAND_ID_SWAP_EAST_WEST, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SWAP_NORTH_SOUTH, PROTO_COMMAND_ID_SWAP_NORTH_SOUTH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_HALT_ALL, PROTO_COMMAND_ID_HALT_ALL, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_HALT_EASTWARD, PROTO_COMMAND_ID_HALT_EASTWARD, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_HALT_NORTHWARD, PROTO_COMMAND_ID_HALT_NORTHWARD, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_HALT_SOUTHWARD, PROTO_COMMAND_ID_HALT_SOUTHWARD, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_HALT_WESTWARD, PROTO_COMMAND_ID_HALT_WESTWARD, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_FLIP, PROTO_COMMAND_ID_FLIP, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_PROGRESS_STRING, PROTO_COMMAND_ID_SLEW_PROGRESS_STRING, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_NUDGE, PROTO_COMMAND_ID_NUDGE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_CENTERING_RATE, PROTO_COMMAND_ID_SLEW_TO_CENTERING_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_GUIDING_RATE, PROTO_COMMAND_ID_SLEW_TO_GUIDING_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_FIND_RATE, PROTO_COMMAND_ID_SLEW_TO_FIND_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_MAX_RATE, PROTO_COMMAND_ID_SLEW_TO_MAX_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_SLEW_RA_RATE, PROTO_COMMAND_ID_SET_SLEW_RA_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_SLEW_DEC_RATE, PROTO_COMMAND_ID_SET_SLEW_DEC_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_GUIDING_RATE, PROTO_COMMAND_ID_SET_GUIDING_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_CENTERING_RATE, PROTO_COMMAND_ID_SET_CENTERING_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_SLEW_RATE, PROTO_COMMAND_ID_SET_SLEW_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_SLEW_ABS_RATE, PROTO_COMMAND_ID_SET_SLEW_ABS_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_SLEW_ABS_RATE, PROTO_COMMAND_ID_GET_SLEW_ABS_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_MIN_SLEW_ABS_RATE, PROTO_COMMAND_ID_GET_MIN_SLEW_ABS_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_MAX_SLEW_ABS_RATE, PROTO_COMMAND_ID_GET_MAX_SLEW_ABS_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_GUIDING_RATE, PROTO_COMMAND_ID_GET_GUIDING_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_DEC_BACKLASH, PROTO_COMMAND_ID_SET_DEC_BACKLASH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_RA_BACKLASH, PROTO_COMMAND_ID_SET_RA_BACKLASH, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_TAG_ALT, PROTO_COMMAND_ID_SET_TAG_ALT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_BAUD_RATE, PROTO_COMMAND_ID_SET_BAUD_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_LOCAL_DATE, PROTO_COMMAND_ID_SET_LOCAL_DATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_TAG_DEC, PROTO_COMMAND_ID_SET_TAG_DEC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_CURR_SITE_LONG, PROTO_COMMAND_ID_SET_CURR_SITE_LONG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_UTC_OFFSET, PROTO_COMMAND_ID_SET_UTC_OFFSET, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_HIGHEST_ALT, PROTO_COMMAND_ID_SET_HIGHEST_ALT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_CURR_JULDATE, PROTO_COMMAND_ID_SET_CURR_JULDATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_LOCAL_TIME, PROTO_COMMAND_ID_SET_LOCAL_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_LOCAL_DATE_TIME, PROTO_COMMAND_ID_SET_LOCAL_DATE_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_UTC_DATE_TIME, PROTO_COMMAND_ID_SET_UTC_DATE_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_MERIDIAN_BEHAV, PROTO_COMMAND_ID_SET_MERIDIAN_BEHAV, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_LOWEST_ALT, PROTO_COMMAND_ID_SET_LOWEST_ALT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_TAG_RA, PROTO_COMMAND_ID_SET_TAG_RA, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_REFRACT_CORR_STATUS, PROTO_COMMAND_ID_SET_REFRACT_CORR_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_ATM_PRES, PROTO_COMMAND_ID_SET_ATM_PRES, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_ATM_TEMP, PROTO_COMMAND_ID_SET_ATM_TEMP, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_SPEED_CORR_STATUS, PROTO_COMMAND_ID_SET_SPEED_CORR_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_SETTLE_TIME, PROTO_COMMAND_ID_SET_SETTLE_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_TRACK_MERIDIAN_LIMIT, PROTO_COMMAND_ID_SET_TRACK_MERIDIAN_LIMIT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_SLEW_MERIDIAN_LIMIT, PROTO_COMMAND_ID_SET_SLEW_MERIDIAN_LIMIT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_UNATTEND_FLIP_SETTING, PROTO_COMMAND_ID_SET_UNATTEND_FLIP_SETTING, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_CURR_SITE_LAT, PROTO_COMMAND_ID_SET_CURR_SITE_LAT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_STOP, PROTO_COMMAND_ID_STOP, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_MAX_SLEW_ABS_RATE, PROTO_COMMAND_ID_SET_MAX_SLEW_ABS_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_WOL_CONF, PROTO_COMMAND_ID_SET_WOL_CONF, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_MOUNT_IP_ADDR, PROTO_COMMAND_ID_SET_MOUNT_IP_ADDR, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_TAG_AZ, PROTO_COMMAND_ID_SET_TAG_AZ, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_TOGGLE_PEC, PROTO_COMMAND_ID_TOGGLE_PEC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PEC_OFF, PROTO_COMMAND_ID_PEC_OFF, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PEC_ON, PROTO_COMMAND_ID_PEC_ON, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_INC_CUSTOM_TRACK_RATE, PROTO_COMMAND_ID_INC_CUSTOM_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_DEC_CUSTOM_TRACK_RATE, PROTO_COMMAND_ID_DEC_CUSTOM_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_LUNAR_TRACK_RATE, PROTO_COMMAND_ID_LUNAR_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SOLAR_TRACK_RATE, PROTO_COMMAND_ID_SOLAR_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_CUSTOM_TRACK_RATE_ON, PROTO_COMMAND_ID_CUSTOM_TRACK_RATE_ON, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SIDERAL_TRACK_RATE_ON, PROTO_COMMAND_ID_SIDERAL_TRACK_RATE_ON, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_CUSTOM_TRACK_RATE, PROTO_COMMAND_ID_SET_CUSTOM_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_TRACK_RATE, PROTO_COMMAND_ID_SET_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_LUNAR_TRACK_RATE_EXT, PROTO_COMMAND_ID_LUNAR_TRACK_RATE_EXT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SOLAR_TRACK_RATE_EXT, PROTO_COMMAND_ID_SOLAR_TRACK_RATE_EXT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SIDERAL_TRACK_RATE_ON_EXT, PROTO_COMMAND_ID_SIDERAL_TRACK_RATE_ON_EXT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_STOP_TRACK, PROTO_COMMAND_ID_STOP_TRACK, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_RA_TRACK_RATE, PROTO_COMMAND_ID_SET_RA_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_DEC_TRACK_RATE, PROTO_COMMAND_ID_SET_DEC_TRACK_RATE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_DUAL_TRACK_CONF, PROTO_COMMAND_ID_DUAL_TRACK_CONF, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_DUAL_TRACK_STATUS, PROTO_COMMAND_ID_DUAL_TRACK_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_PREC_MODE, PROTO_COMMAND_ID_SET_PREC_MODE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_PREC_MODE_0, PROTO_COMMAND_ID_SET_PREC_MODE_0, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_PREC_MODE_1, PROTO_COMMAND_ID_SET_PREC_MODE_1, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_PREC_MODE_2, PROTO_COMMAND_ID_SET_PREC_MODE_2, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_FINAL_APP_TC, PROTO_COMMAND_ID_SET_FINAL_APP_TC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_FINAL_APP_TC, PROTO_COMMAND_ID_GET_FINAL_APP_TC, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_FINAL_APP_DL, PROTO_COMMAND_ID_SET_FINAL_APP_DL, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_FINAL_APP_DL, PROTO_COMMAND_ID_GET_FINAL_APP_DL, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_FINAL_APP_MODE, PROTO_COMMAND_ID_SET_FINAL_APP_MODE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_FINAL_APP_MODE, PROTO_COMMAND_ID_GET_FINAL_APP_MODE, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_ANG_RA_POS, PROTO_COMMAND_ID_GET_ANG_RA_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_ANG_DEC_POS, PROTO_COMMAND_ID_GET_ANG_DEC_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_ANG_TAG_RA_POS, PROTO_COMMAND_ID_SET_ANG_TAG_RA_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SET_ANG_TAG_DEC_POS, PROTO_COMMAND_ID_SET_ANG_TAG_DEC_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_ANG_TAG_RA_POS, PROTO_COMMAND_ID_GET_ANG_TAG_RA_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_ANG_TAG_DEC_POS, PROTO_COMMAND_ID_GET_ANG_TAG_DEC_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_ANG_TAG, PROTO_COMMAND_ID_SLEW_TO_ANG_TAG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_ANG_TAG_PARK, PROTO_COMMAND_ID_SLEW_TO_ANG_TAG_PARK, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PARK_IN_CURR_POS, PROTO_COMMAND_ID_PARK_IN_CURR_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SLEW_TO_PARK_ANG_POS, PROTO_COMMAND_ID_SLEW_TO_PARK_ANG_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_SAVE_PARK_ANG_POS, PROTO_COMMAND_ID_SAVE_PARK_ANG_POS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_LOAD, PROTO_COMMAND_ID_ORBITAL_ELEM_LOAD, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_NUM, PROTO_COMMAND_ID_ORBITAL_ELEM_NUM, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_GET, PROTO_COMMAND_ID_ORBITAL_ELEM_GET, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_LOAD0, PROTO_COMMAND_ID_ORBITAL_ELEM_LOAD0, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_GET_AZ, PROTO_COMMAND_ID_ORBITAL_ELEM_GET_AZ, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_GET_EQ, PROTO_COMMAND_ID_ORBITAL_ELEM_GET_EQ, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_PRE_TRANS, PROTO_COMMAND_ID_ORBITAL_ELEM_PRE_TRANS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_SLEW, PROTO_COMMAND_ID_ORBITAL_ELEM_SLEW, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ORBITAL_ELEM_SLEW_STATUS, PROTO_COMMAND_ID_ORBITAL_ELEM_SLEW_STATUS, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_EMUAP, PROTO_COMMAND_ID_EMUAP, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_EMULX, PROTO_COMMAND_ID_EMULX, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_START_COMM_LOG, PROTO_COMMAND_ID_START_COMM_LOG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_STOP_COMM_LOG, PROTO_COMMAND_ID_STOP_COMM_LOG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_MOUNT_SHUTDOWN, PROTO_COMMAND_ID_MOUNT_SHUTDOWN, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_COMM_LOG, PROTO_COMMAND_ID_GET_COMM_LOG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GET_EV_LOG, PROTO_COMMAND_ID_GET_EV_LOG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_USEROK, PROTO_COMMAND_ID_USEROK, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_USERWAIT, PROTO_COMMAND_ID_USERWAIT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_GETID, PROTO_COMMAND_ID_GETID, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_ADJUST_TIME, PROTO_COMMAND_ID_ADJUST_TIME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_ADD_ALIGN_TAG, PROTO_COMMAND_ID_PCS_ADD_ALIGN_TAG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_SYNC_WITH_TAG, PROTO_COMMAND_ID_PCS_SYNC_WITH_TAG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_SYNC_WITH_TAG1, PROTO_COMMAND_ID_PCS_SYNC_WITH_TAG1, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_SYNC_CFG, PROTO_COMMAND_ID_PCS_SYNC_CFG, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_ALIGN_POINTS_NUM, PROTO_COMMAND_ID_PCS_ALIGN_POINTS_NUM, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_DEL_CURR_MODEL, PROTO_COMMAND_ID_PCS_DEL_CURR_MODEL, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_GET_ALIGN_POINT_INFO, PROTO_COMMAND_ID_PCS_GET_ALIGN_POINT_INFO, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_GET_MODEL_INFO, PROTO_COMMAND_ID_PCS_GET_MODEL_INFO, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_GET_ALIGN_POINT_INFO1, PROTO_COMMAND_ID_PCS_GET_ALIGN_POINT_INFO1, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_DEL_ALIGN_POINT, PROTO_COMMAND_ID_PCS_DEL_ALIGN_POINT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_START, PROTO_COMMAND_ID_PCS_START, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_NEW_ALIGN_POINT, PROTO_COMMAND_ID_PCS_NEW_ALIGN_POINT, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_STOP, PROTO_COMMAND_ID_PCS_STOP, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_GET_MODELS_NUM, PROTO_COMMAND_ID_PCS_GET_MODELS_NUM, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_GET_MODEL_NAME, PROTO_COMMAND_ID_PCS_GET_MODEL_NAME, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_LOAD_MODEL, PROTO_COMMAND_ID_PCS_LOAD_MODEL, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_SAVE_MODEL, PROTO_COMMAND_ID_PCS_SAVE_MODEL, ""},
|
|
proto_command_t{PROTO_COMMAND_STR_PCS_DEL_MODEL, PROTO_COMMAND_ID_PCS_DEL_MODEL, ""},
|
|
};
|
|
|
|
|
|
namespace details
|
|
{
|
|
|
|
consteval bool checkCollision()
|
|
{
|
|
for (size_t i = 0; i < PROTO_COMMAND_DESC.size() - 1; ++i) {
|
|
for (size_t j = i + 1; j < PROTO_COMMAND_DESC.size() - 1; ++j) {
|
|
if (PROTO_COMMAND_DESC[i].hash == PROTO_COMMAND_DESC[j].hash) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
static_assert(checkCollision(), "There are collisions in the hash computation of the commands!!!");
|
|
|
|
} // namespace details
|
|
|
|
|
|
|
|
class ControlCommandParser
|
|
{
|
|
public:
|
|
static constexpr char COMM_START_SYMBOL = ':';
|
|
static constexpr char COMM_STOP_SYMBOL = '#';
|
|
|
|
static constexpr char COMM_ACK_SYMBOL = 0x06;
|
|
};
|
|
|
|
} // namespace BM700
|