信达赤道仪的二文档次开发协议分析。
希望对各位有需求的人有帮助
获得赤道仪或经纬仪位置指令(Get Position Commands)
获得当前赤经赤纬度(Get RA/DEC)
命令字:E
返回值:赤经度百分比,赤纬度百分比#
解释:格式每个数值有2个字节,返回经纬度为十六进制数字(转成字符传输),转换为是禁止后,除以65536即可得到一个百分比数值,用该数值乘以360则得出正确的角度。
获得更为精确的赤经赤纬度(Get precise RA/DEC)
命令字:e
返回值:赤经度百分比,赤纬度百分比#
解释:返回格式用英文逗号分割,两个4字节的十六进制数字(转成字符传输),得到数字后,其中最后一个字节没用,将前三个字节以大头方式转换为十进制,除以16777216(十六进制为01000000)得到精确的百分比,再乘以360得到正确角度。
获得经纬仪当前经纬度(Get AZM-ALT)
命令字:Z
返回值:经度百分比,纬度百分比#
解释:格式每个数值有2个字节,返回经纬度为十六进制数字(转成字符传输),转换为是禁止后,除以65536即可得到一个百分比数值,用该数值乘以360则得出正确的角度。
获得更为精确的经纬仪当前经纬度(Get precise AZM-ALT)
命令字:z
返回值:经度百分比,纬度百分比#
解释:返回格式用英文逗号分割,两个4字节的十六进制数字(转成字符传输),得到数字后,其中最后一个字节没用,将前三个字节以大头方式转换为十进制,除以16777216(十六进制为01000000)得到精确的百分比,再乘以360得到正确角度。
----------------------------------------------------------------------------------------------
定位赤道仪或经纬仪指令(GOTO Commands)
赤道仪定位(GOTO RA/DEC)
命令字:R
格式:R34AB,12CE
返回值:#
解释:命令字为字符R,后面紧跟转换为字符的十六进制经纬度百分比(最大65535),每组数字为2字节,需要注意的是所有命令传输的均为明文字符,十六进制直接格式化为字符
精确定位赤道仪(GOTO precise RA/DEC)
命令字:r
格式:r34AB0500,12CE0500
解释:命令字符为r,后面紧跟两组十六进制格式化字符串,每组4字节,其中后面两个字节无用,转换时会用前三个字节转为十进制,然后除以16777216得到正确的角度百分比
定位经纬仪位置(GOTO AZM-ALT)
命令字:B
格式:B34AB,12CE
返回值:#
解释:命令字为字符R,后面紧跟转换为字符的十六进制经纬度百分比(最大65535),每组数字为2字节,需要注意的是所有命令传输的均为明文字符,十六进制直接格式化为字符
精确定位经纬仪位置(GOTO precise AZM-ALT)
命令字:b
格式:b34AB0500,12CE0500
返回值:#
解释:命令字符为r,后面紧跟两组十六进制格式化字符串,每组4字节,其中后面两个字节无用,转换时会用前三个字节转为十进制,然后除以16777216得到正确的角度百分比
----------------------------------------------------------------------------------------------
同步命令(Sync Commands)
通过串口指令将坐标同步到一个已知对象的经纬度上。做法是首先将该对象定位到目镜中,然后使用已知天体的坐标作为参数发送同步指令。今后所有GOTO或者GetPosition指令设置或得到的参数都将参照改坐标。(看意思应该是坐标归零的设置)
同步赤经赤纬(Sync RA/DEC)
命令字:S
格式:S34AB,12CE
返回值:#
解释:将改坐标作为0点位置(猜测)进行同步,命令字为S,后面紧跟转换为字符的十六进制经纬度百分比(最大65535),每组数字为2字节,需要注意的是所有命令传输的均为明文字符,十六进制直接格式化为字符
精确同步赤经赤纬(Sync precise RA/DEC)
命令字:s
格式:s34AB0500,12CE0500
返回值:#
解释:命令字符为s,后面紧跟两组十六进制格式化字符串,每组4字节,其中后面两个字节无用,转换时会用前三个字节转为十进制,然后除以16777216得到正确的角度百分比
----------------------------------------------------------------------------------------------
跟踪指令(Tracking Commands)
该指令组支持跟踪模式如下:
0:关闭跟踪
1:经纬仪跟踪模式
2:赤道仪跟踪模式
3:PEC跟踪模式
获得当前使用的跟踪模式(Get Tracking Mode)
命令字:t
返回值:当前跟踪模式序号的字符格式化#
设置跟踪模式(Set Tracking Mode)
命令字:T
格式:T1
返回值:#
解释:设置格式为T+转换为字符的跟踪模式
----------------------------------------------------------------------------------------------
自动旋转指令(Slewing Commands)
自动旋转指令可以允许通过指令操作赤道仪或经纬仪的定速或变速旋转。
对于可变比率的旋转,首先要把比率乘以4,然后将其分为高字节和低字节。例如,如果期望跟踪速率是150焦淼/秒,那么:
trackRateHigh = (150 * 4) \ 256 = 2
trackRateLow = (150 * 4) mod 256 = 88
对于固定旋转跟踪,则需要用1-9来模仿等价于手持跟踪空置率,0表示停止跟踪。
注意:在在大多数的配置中,发出跟踪指令后,将覆盖(或冲突)挂在的跟踪模式。因此,最好先使用跟踪禁止命令取消跟踪,然后重新启用跟踪。例外情况是,如果赤道仪跟踪式采用固定速率1或2的摆动,不会覆盖跟踪,这可以用来模拟自动引导
正向变速旋转经度或赤经(Variable rate Azm (or RA) slew in positive direction)
命令字:P
格式:Pchar(3)char(16)char(6)char(trackRateHig)char(trackRateLow)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为3,16,6,然后将变速旋转的角度换算值按照高位在前地位在后的字符串转换进行拼接,最后跟两个字符0即可。
反向变速旋转经度或赤经(Variable rate Azm (or RA) slew in negative direction)
命令字:P
格式:Pchar(3)char(16)char(7)char(trackRateHig)char(trackRateLow)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为3,16,7,然后将变速旋转的角度换算值按照高位在前地位在后的字符串转换进行拼接,最后跟两个字符0即可。
正向变速旋转纬度或赤纬(Variable rate Alt (or Dec) slew in positive direction)
命令字:P
格式:Pchar(3)char(17)char(6)char(trackRateHig)char(trackRateLow)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为3,17,6,然后将变速旋转的角度换算值按照高位在前地位在后的字符串转换进行拼接,最后跟两个字符0即可。
反向变速旋转纬度或赤纬(Variable rate Alt (or Dec) slew in negative direction)
命令字:P
格式:Pchar(3)char(17)char(7)char(trackRateHig)char(trackRateLow)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为3,17,7,然后将变速旋转的角度换算值按照高位在前地位在后的字符串转换进行拼接,最后跟两个字符0即可。
正向定速旋转经度或赤经(Fixed rate Azm (or RA) slew in positive direction)
命令字:P
格式:Pchar(2)char(16)char(36)char(rate)char(0)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为2,16,36,后面是一个字节的旋转率的字符转换,最后跟三个字符0即可。
反向定速旋转经度或赤经(Fixed rate Azm (or RA) slew in negative direction)
命令字:P
格式:Pchar(2)char(16)char(37)char(rate)char(0)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为2,16,37,后面是一个字节的旋转率的字符转换,最后跟三个字符0即可。
正向定速旋转纬度或赤纬(Fixed rate ALT (or DEC) slew in positive direction)
命令字:P
格式:Pchar(2)char(17)char(36)char(rate)char(0)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为2,17,36,后面是一个字节的旋转率的字符转换,最后跟三个字符0即可。
反向定速旋转纬度或赤纬(Fixed rate ALT (or DEC) slew in negative direction)
命令字:P
格式:Pchar(2)char(17)char(37)char(rate)char(0)char(0)char(0)
返回值:#
解释:拼接字符串,P为命令字,后面跟随数字转字符,依次为2,17,37,后面是一个字节的旋转率的字符转换,最后跟三个字符0即可。
----------------------------------------------------------------------------------------------
时间和位置相关指令(手动控制)(Time/Location Commands (Hand Control))
以下命令用来设置手动控制器的时间和地理位置信息。位置命令的格式为ABCDEFGH,其中:
A:纬度角度
B:纬度分数
C:纬度秒数
D:0表示北,1表示南
E:经度角度
F:经度分数
G:经度秒数
H:0表示东,1表示西
例如,要将位置设置为118°20'17“W,33°50'41”N,则发送(注意纬度为经度前):W&chr(33)&chr(50)&chr(41)&chr(0)&chr(118)&chr(20)&chr(17)&chr(1)
时间命令格式为:QRSTUVWX,其中:
Q:24进制小时
R:分钟
S:秒
T:月份
U:天
V:年份
W:失去的GMT偏移量,如果时区为负数,请用256减去时区正数
X:1表示夏令时,0表示标准时间
例如,要将时间设置为东部时区(-5 UTC:256-5 = 251)2005年4月6日下午3:26:00,则发送:H&chr(15)&chr(26)&chr(0)&chr(4)&chr(6)&chr(5)&chr(251)&chr(1)
注意:以上所有值都以二进制发送,而不是ASCII码。
获得当前时区指令(Get Location)
命令字:w
返回值:chr(A)chr(B)chr(C)chr(D)chr(E)chr(F)chr(G)chr(H)#
设置时区指令(Set Location)
命令字:W
格式:Wchr(A)chr(B)chr(C)chr(D)chr(E)chr(F)chr(G)chr(H)
返回值:#
获得当前时间指令(Get Time)
命令字:h
返回值:chr(Q)chr(R)chr(S)chr(T)chr(U)chr(V)chr(W)chr(X)#
设置时间指令(Set Time)
命令字:H
格式:Hchr(Q)chr(R)chr(S)chr(T)chr(U)chr(V)chr(W)chr(X)
----------------------------------------------------------------------------------------------
其他杂项指令(Miscellaneous Commands)
获得版本信息指令(Get Version)
命令字:V
返回值:版本号#
解释:将返回一个7位长度的ASCII码,其中前6个是三位版本号的十六进制格式,格式化为字符串(6位),最后一位为#
获得固件版本信息指令(Get Device Version)
命令字:P
格式:Pchr(1)chr(dev)chr(254)chr(0)chr(0)chr(0)chr(2)
返回值:chr(major)chr(minor)#
解释:发送指令时,dev可以是16(经纬仪)或者17(赤道仪)用户查询控制器的固件版本号,返回值为两位,分别表示固件的大小版本
获得设备型号(Get Model)
命令字:m
返回值:chr(model)#
解释:返回设备的型号信息,如下:
0 = EQ6 GOTO Series
1 = HE5 GOTO Series
2 = EQ5 GOTO Series
3 = EQ3 GOTO Series
4 = EQ8 GOTO Series
5 = AZ-EQ6 GOTO Series
6 = AZ-EQ5 GOTO Series
128~143 = AZ GOTO Series
144~159 DOB GOTO Series
160 = AllView GOTO Series
设备心跳(Echo useful to check communication)
命令字:K
返回值:chr(x)#
解释:确认设备是否在线
检查是否对齐(Is Alignment Complete)
命令字:J
返回值:chr(align)#
解释:align=1表示已经对其,0表示没有对其
检查设备是否GOTO中(Is GOTO in Progress)
命令字:L
返回值:prog#
解释:prog为0表示空闲,1表示使用中
取消当前GOTO(Cancel GOTO)
命令字:M
返回值:#
解释:用于取消之前的所有操作
检设备位置状态(Get Mount Pointing State)
命令字:p
返回值:E/W#
解释:检查设备是否东西旋转,如果返回E表示北半球使用,不用翻转OTA,如果返回W表示在南半球,表示要翻转OTA
后记:
在发送一些指令的时候,有可能出现超时现象,例如设备正在GOTO中,则有可能出现最多5秒中没有反馈的现象,如果不做确认的盲目发送,则有可能导致 指令发送失败
|