Start
This commit is contained in:
parent
b391b537b0
commit
6ec503ff04
15
CMakeLists.txt
Normal file
15
CMakeLists.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.14)
|
||||||
|
|
||||||
|
|
||||||
|
#**********************************************
|
||||||
|
# Astrosib(c) BM-700 mount control software *
|
||||||
|
#**********************************************
|
||||||
|
|
||||||
|
project(ASIB_BM700 LANGUAGES C CXX)
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||||
|
|
||||||
|
#
|
||||||
|
# ******* C++ PART OF THE PROJECT *******
|
||||||
|
|
||||||
|
add_subdirectory(cxx)
|
||||||
89
cxx/.gitignore
vendored
Normal file
89
cxx/.gitignore
vendored
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
# ---> C
|
||||||
|
# Prerequisites
|
||||||
|
*.d
|
||||||
|
|
||||||
|
# Object files
|
||||||
|
*.o
|
||||||
|
*.ko
|
||||||
|
*.obj
|
||||||
|
*.elf
|
||||||
|
|
||||||
|
# Linker output
|
||||||
|
*.ilk
|
||||||
|
*.map
|
||||||
|
*.exp
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Libraries
|
||||||
|
*.lib
|
||||||
|
*.a
|
||||||
|
*.la
|
||||||
|
*.lo
|
||||||
|
|
||||||
|
# Shared objects (inc. Windows DLLs)
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.so.*
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
*.i*86
|
||||||
|
*.x86_64
|
||||||
|
*.hex
|
||||||
|
|
||||||
|
# Debug files
|
||||||
|
*.dSYM/
|
||||||
|
*.su
|
||||||
|
*.idb
|
||||||
|
*.pdb
|
||||||
|
|
||||||
|
# Kernel Module Compile Results
|
||||||
|
*.mod*
|
||||||
|
*.cmd
|
||||||
|
.tmp_versions/
|
||||||
|
modules.order
|
||||||
|
Module.symvers
|
||||||
|
Mkfile.old
|
||||||
|
dkms.conf
|
||||||
|
|
||||||
|
# ---> C++
|
||||||
|
# Prerequisites
|
||||||
|
*.d
|
||||||
|
|
||||||
|
# Compiled Object files
|
||||||
|
*.slo
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Compiled Dynamic libraries
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
|
||||||
|
# Fortran module files
|
||||||
|
*.mod
|
||||||
|
*.smod
|
||||||
|
|
||||||
|
# Compiled Static libraries
|
||||||
|
*.lai
|
||||||
|
*.la
|
||||||
|
*.a
|
||||||
|
*.lib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
|
||||||
|
CMakeLists.txt.user
|
||||||
11
cxx/CMakeLists.txt
Normal file
11
cxx/CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.14)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
|
||||||
|
# Mount client-to-server communication protocol
|
||||||
|
# (extended LX200 protocol)
|
||||||
|
#
|
||||||
|
|
||||||
|
set(COMM_PROTO_LIB_SRC comm_proto.h)
|
||||||
217
cxx/comm_proto.h
Normal file
217
cxx/comm_proto.h
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Astrosib BM-700 mount client-to-server communication protocol
|
||||||
|
* (extended by 10Micron LX200 protocol)
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
#include <array>
|
||||||
|
#include <cstddef>
|
||||||
|
#include <ranges>
|
||||||
|
#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
|
||||||
|
|
||||||
|
enum PROTO_COMMAND_TYPE : int { PROTO_COMMAND_TYPE_ALIGN, PROTO_COMMAND_TYPE_GETTER, PROTO_COMMAND_TYPE_SETTER };
|
||||||
|
|
||||||
|
static constexpr std::string_view PROTO_COMMAND_STR_ACK = "\x06";
|
||||||
|
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#"
|
||||||
|
|
||||||
|
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_GET_TEL_ALT = details::FNV1aHash(PROTO_COMMAND_STR_TEL_ALT),
|
||||||
|
PROTO_COMMAND_ID_GET_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_GET_MOUNT_WIRELESS_IP_ADDR = details::FNV1aHash(PROTO_COMMAND_STR_MOUNT_WIRELESS_IP_ADDR),
|
||||||
|
PROTO_COMMAND_ID_GET_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),
|
||||||
|
};
|
||||||
|
|
||||||
|
using namespace std::literals;
|
||||||
|
|
||||||
|
static constexpr std::array PROTO_COMMAND_STRING = {
|
||||||
|
"\x06"sv, // <ACK>
|
||||||
|
"AL"sv, // stop tracking
|
||||||
|
"AP"sv, // start tracking
|
||||||
|
|
||||||
|
"GA"sv, // Get telescope altitude
|
||||||
|
"Ga"sv, // Get current target altitude
|
||||||
|
"GC"sv, // Get current date
|
||||||
|
"GD"sv, // Get telescope declination
|
||||||
|
"Gd"sv // Get current target declination
|
||||||
|
"Gev"sv, // Get the current site elevation
|
||||||
|
"GG"sv, // Get UTC offset time
|
||||||
|
"Gg"sv, // Get current site longitude
|
||||||
|
"Gh"sv, // Get the highest altitude above the horizon
|
||||||
|
"Ginfo"sv, // Get multiple information
|
||||||
|
"GINQ"sv, // Get the type of connection
|
||||||
|
"GIP"sv, // Get mount IP address
|
||||||
|
"GIPW"sv, // Get mount wireless IP address
|
||||||
|
"GMAC"sv, // Get mount MAC address
|
||||||
|
"GMACW"sv, // Get mount wireless MAC address
|
||||||
|
"GJD"sv, // Get the current Julian Date
|
||||||
|
"GJD1"sv, // Get the current Julian Date with extended precision
|
||||||
|
"GJD2"sv, // Get the current Julian Date with extended precision and leap second flag
|
||||||
|
"GL"sv, // Get local time
|
||||||
|
"GLDT"sv, // Get local date and time
|
||||||
|
"GUDT"sv, // Get UTC date and time
|
||||||
|
"GDUT"sv, // Get the current UTC – UT1 difference in seconds and decimals
|
||||||
|
"GDGPS"sv, // Get the current GPS – UTC difference in seconds
|
||||||
|
"GULEAP"sv, // Gets the date of the next leap second that will be accounted for
|
||||||
|
"GMF"sv, // Get meridian side behaviour
|
||||||
|
"Go"sv, // Get the lowest altitude above the horizon
|
||||||
|
"GPA"sv, // Get parallactic angle with respect to actual mount orientation
|
||||||
|
"GPAS"sv, // Get parallactic speed with respect to actual mount orientation
|
||||||
|
"GPAZ"sv, // Get parallactic angle with respect to zenith
|
||||||
|
"GPASZ"sv, // Get parallactic speed with respect to zenith
|
||||||
|
"Gpgc"sv, // Get guiding status
|
||||||
|
"GR"sv, // Get telescope right ascension
|
||||||
|
"Gr"sv, // Get target right ascension
|
||||||
|
"GRPRS"sv, // Get the atmospheric pressure used in the refraction model
|
||||||
|
"GRTMP"sv, // Get the temperature used in the refraction model
|
||||||
|
"GS"sv, // Get the sidereal time
|
||||||
|
"GREF"sv, // Gets the current status of the refraction correction
|
||||||
|
"GSC"sv, // Gets the current status of the speed correction flag
|
||||||
|
"Gstat"sv, // Gets the status of the mount
|
||||||
|
};
|
||||||
|
|
||||||
|
class ControlCommandParser
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static constexpr char COMM_START_SYMBOL = ':';
|
||||||
|
static constexpr char COMM_STOP_SYMBOL = '#';
|
||||||
|
|
||||||
|
static constexpr char COMM_ACK_SYMBOL = 0x06;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace BM700
|
||||||
Loading…
x
Reference in New Issue
Block a user