http://explorescientificusa.com

PMC-Eight OpenGOTO Programmer's Reference

DOC-ESPMC8-002

Revision 0.1 2016 March, 27

Explore Scientific PMC-Eight® ASCII Command Summary

 The PMC-Eight® ASCII Commands allow you to control the mount in various ways to set the tracking rates, Slew the mount to a position, and various other things. Each of the commands is followed by the “#” (hash) symbol except when entering and exiting the Command Mode. The Command Mode is used to enable the ASCII ES Command Interpreter within the FIRMWARE. The default command mode is the JOC Command Mode when the PMC-Eight® Controller boots.

 Enter ASCII Command Mode:

Command:              "$$$"

Response:             "ASCIIMode ENABLED#"

 Exit ASCII Command Mode:

Command:              "###"

Response:             "JOCMode ENABLED#"

 

Explore Scientific Controller Command Language Syntax

 

The Explore Scientific Controller Command Language is an ASCII based command system that can be parsed to determine the desired action. This is implemented in the controller FIRMWARE version 10xxx and later. NOTE: ASCII Commands are CASE SENSITIVE. Data values are specified as Hex String Values, e.g. “FFD47A”. These values are converted to Long Integers within the FIRMWARE. As a general rule, when a REQUEST command is sent, the RESPONSE includes the corresponding request syntax so that future asynchronous capabilities can be accommodated in the FIRMWARE.

 

NOTE: Items in {} are required, Items in () are optional, and “#” or Hash is required as an End-Of-Line (EOL) marker. ONLY 1 (one) of each command identifiers are specified in each { } grouping.

 

Request Syntax: “ES{GSTP}{prtvi}(Axis)(XXXX, YYYYYY)#”

Response Syntax: “ES{GSTP}{prtvi}(Axis)(XXXX, YYYYYY)#”          

 

Header String:                                   “ES”

 

Base Commands:                              “G” Get command

                                                                “S” Set Command

                                                                “T” Track Command

                                                                “P” Point Command

 

NOTE: Command Parameter Codes only apply to the Get “G” and Set “S” Base Commands.

 

Command Parameter Code:        “p” Position value

                                                                “r” Rate value

                                                                “t” Target value

                                                                “v” Version value

                                                                “I” System Information value

 

 

 

Axis Values:                                        “0” Right Ascension Axis

                                                                “1” Declination Axis

                                                                “2” Altitude Axis (NOT IMPLEMENTED)

                                                                “3” Azimuth Axis (NOT IMPLEMENTED)

 

System Information Values:        “00” WIRELESS Enabled {True=1, False=0)

“01” BAUD Rate {2400,9600…15200}

                                                                “02” AXIS 0 SCALE Counts (RA Axis) {0xFFFFFF}

                                                                “03” AXIS 1 SCALE Counts (DEC Axis) {0xFFFFFF}

                                                                “04” TBD

 

NOTE1: The AXIS SCALE Counts value is related to the physical configuration of the mount’s gear ratio, stepper motor configuration, and controller motor driver configuration. The Losmandy G-11 mount’s AXIS SCALE Count values are calculated using the following parameters: Worm/Wheel Ratio 1:360, Stepper Motor Steps/Revolution 400, Motor Attachment Gear Ratio 1:1, Motor Driver Micro-stepping ratio: 1:32. These parameters apply to both the RA and DEC axis on the Losmandy G-11 mount. The calculation for the RA and DEC AXIS SCALE Counts is: 360 x 1 x 400 x 32 = 4,608,000 (0x465000). The mount’s movement in arc-seconds/Count can be calculated by dividing 1,296,000 by the AXIS SCALE Counts. In this case the mount’s resolution is (1,296,000/4,608,000) arc-seconds/Count or 0.28125 arc-seconds/Count. Since the PMC-Eight® Controller utilizes the Sidereal Second as the standard for internal hardware time-keeping, the Sidereal Tracking Rate of 15.0000 arc-seconds/second would be equivalent to a COUNT RATE value of (15.0000 arc-seconds/second) / (0.28125 arc-seconds/Count) = 53.333 Counts/second. The mean Lunar Tracking Rate of 14.4525 arc-seconds/second equates to a COUNT RATE of 51.387 Counts/second.

 

Explore Scientific “G” GET Commands:

 

ESGp GET AXIS CURRENT POSITION VALUE

 

REQUEST:   “ESGpAxis#”

RESPONSE:  “ESGpAxisXXXXXX#”

 

Example: Get Current RA Axis Position Value

REQUEST:   “ESGp0#”

RESPONSE:  “ESGp0FF37DA#”

 

NOTE: Data values are specified as Hex String Values. The response value can be

 

ESGr GET AXIS CURRENT RATE VALUE

 

REQUEST:   “ESGrAxis#”

RESPONSE:  “ESGrAxisXXXX#”

 

Example: Get Current RA Axis Rate Value

REQUEST:   “ESGr0#”

RESPONSE:  “ESGr037DA#”

 

NOTE: Data values are specified as Hex String Values.

 

ESGt GET AXIS CURRENT TARGET VALUE

 

REQUEST:            “ESGtAxis#”

RESPONSE:         “ESGtAxisXXXXXX#”

 

Example: Get Current RA Axis Target Value

REQUEST:            “ESGt0#”

RESPONSE:         “ESGt062E4D7#”

 

NOTE: Data values are specified as Hex String Values

 

ESGv GET CURRENT FIRMWARE VERSION VALUE

 

REQUEST:            “ESGv#”

RESPONSE:         “ESGvXXXX#”

 

Example: Get Current FIRMWARE Version Value

REQUEST:            “ESGv#”

RESPONSE:         “ESGv03F3#” (version 10.11)

 

NOTE: Data values are specified as Hex String Values.

 

ESGi GET CURRENT SYSTEM INFORMATION VALUE

 

REQUEST:            “ESGiXX#”

RESPONSE:         “ESGiXXYYYYYY#”

 

Example: Get Current System Information 01 (BAUD Rate) Value

REQUEST:            “ESGi01#”

RESPONSE:         “ESGi0101C200#” (decimal 115,200 BAUD)

 

Example: Get Current System Information 03 (DEC Maximum) Value

REQUEST:            “ESGi03#”

RESPONSE:         “ESGi03465000#” (decimal 4,608,000 DEC MAX)

 

NOTE: Data values are specified as Hex String Values.

 

Explore Scientific “S” SET Commands:

 

NOTE: The RESPONSE to the SET Commands in general mimic the value returned when using the GET Commands. The RESPONSE syntax will be identical to the corresponding GET Command. This is implemented this way in order to simplify the coding of any function that is written to process the RESPONSE string.

 

ESSp SET AXIS POSITION VALUE

 

REQUEST:            “ESSpAxisXXXXXX#”

RESPONSE:         “ESGpAxisXXXXXX#”

 

Example: Set RA Axis Position Value

 

REQUEST:            “ESSp0FF37DA#”

RESPONSE:         “ESGp0FF37DA#”

 

NOTE1: Data values are specified as Hex String Values.

NOTE2: Setting the Axis Position Value UPDATES it to a NEW value on the fly. This can be used to recalibrate the axis pointing position when syncing the axis to an external reference point provided by a reference source such as a star catalog or planetarium program. The Axis Position Value is only set to 0 (zero) when the axis is in its PARK position. The defined PARK position for a German Equatorial Mount (GEM) is the North Celestial Pole (NCP). This position NCP position has coordinates: RA LST (HMS) + 6hrs, DEC +90d 00m 00.0s.

 

ESSr SET AXIS RATE VALUE

 

REQUEST:            “ESSrAxisXXXX#”

RESPONSE:         “ESGrAxisXXXX#”

 

Example: Set Current RA Axis Rate Value

 

REQUEST:            “ESSr037DA#”

RESPONSE:         “ESGr037DA#”

 

NOTE1: Data values are specified as Hex String Values.

NOTE2: Setting the Axis Rate Value UPDATES it to a NEW value on the fly. This can be used to adjust the Tracking Rate for Sidereal, Lunar, Solar, and any other object that you may wish to track (within reason).  The nominal Sidereal Rate for the RA Axis is 53.333 Counts/second for the Losmandy G-11. The nominal Lunar Rate for the RA Axis is 51.387 Counts/second. To improve the resolution for setting the Axis Rate, the floating point value for Counts/second needs to be multiplied by 25 and rounded to the nearest integer to develop the value used in sending the REQUEST, e.g. Sidereal Rate = 53.333 Counts/second, 25 x 53.333 = 1333.325 or 1333 integer. Finally convert the value 1333 Rate to Hex: 0x0535. The resolution of the setting is improved from 0.28125 arc-seconds/second to 0.01125 or down to 0.075% of the nominal Sidereal Tracking Rate.

 

ESSt SET AXIS TARGET VALUE

 

REQUEST:            “ESStAxisXXXXXX#”

RESPONSE:         “ESGtAxisXXXXXX#”

 

Example: Set Current RA Axis Target Value

 

REQUEST:            “ESSt062E4D7#”

RESPONSE:         “ESGt062E4D7#”

 

NOTE1: Data values are specified as Hex String Values.

NOTE2: Setting the Axis Target Value UPDATES it to a NEW value on the fly. This can be used to reposition the Target in the middle of a POINT command. The Target value is converted back and forth between the Motor Count Hex Value and the Degrees/Minutes/Seconds System. See the Supplemental Command Discussion section for details.

 

Explore Scientific “T” TRACK Commands:

 

Explore Scientific “P” POINT Commands:

 

Supplemental Command Discussion

 

GET MOTOR POSITION COMMAND

The Get Motor Position Command returns the motor position in Hex Value. The value returned is in the range 0x000000 to 0xFFFFFF where positive values range from 0x000000 to 0x7FFFFF and the negative values range from 0xFFFFFF to 0x800000. The 2 motors are on the Right Ascension Axis (RA) and the Declination (DEC) Axis of a German Equatorial Mount (GEM). The angular range for counts depends on the motor count scaling value and is calculated as follows (this example uses the G-11):

 

The Losmandy G-11 uses direct coupled stepper motors where the motor scaling value only uses the wheel tooth count, the stepper motor steps, and the driver microstep value. The G-11 uses a 360 tooth wheel, and 400 step motors. The driver uses 32 microsteps/step.  So the total counts for 360-degree rotation of both the RA and DEC axis is equal to 360 teeth * 400 steps * 32 microsteps, which is equal to 4,608,000 counts per 360-degree rotation. The angular motion per step in arc-seconds is equal to the total number of arc-seconds/4,608,000 counts. 360 degrees is equal to 360 x 60 x 60 arc-seconds or 1,296,000 arc-seconds. The arc-seconds/count is equal to 1,296,000/4,608,000 or 0.28125 arc-seconds

per count.

 

So in the case of the G-11, one rotation in RA, or 24 hours (sidereal time) is equal to 4,608,000 counts or in Hex, 0x465000. The RA value counts positive and negative from the Meridian+6 hours or Local Mean Sidereal Time (LMST)+6 hours. On a GEM mount, the way the telescope is pointing is an important consideration when determining the motor counts. When the GEM is tracking when the telescope gets to the Meridian a maneuver called a “Meridian Flip” is performed. To help explain this here is the sequence of events:

 

  1. The mount is pointing the telescope to an object in the EAST. The mount is tracking at SIDEREAL rate towards the WEST and the counts are POSITIVE and INCREASING. The RA counts are in the range 0 (0x000000) to 1152000 (0x119400). The object the mount is pointing to is also NORTH of the ECLIPTIC or has a positive Declination value between +0.000 and +90.000 degrees. This is a fixed value between 0 (0x000000) and 1152000 (0x119400). The DEC axis counts INCREASE going SOUTH from the NCP. Objects that are SOUTH of the ECLIPTIC have values between 1152000 (0x119400) and 2304000 (0x232800). These values are from -0.000 to -90.000 degrees. This pointing position is called “East Pointing West” or EpW. This means that the telescope is EAST of the PIER and pointing WEST of the MERIDIAN.

 

  1. When the mount RA axis finally arrives at the LMST value of 1152000 (0x119400) then the mount should execute a “Meridian Flip”. The flip maneuver SLEWS the RA axis to the WEST equal to approximately 12 hours of RA or 180 degrees. This means that the RA motor counts will DECREASE from 1152000 (0x119400) to 0 (0x000000) and then continue on to -1152000 (0xEE6C00). At the same time the DEC axis will SLEW to the NORTH, DECREASING the motor counts passing through the NCP while crossing 0 (0x000000) counts and continuing on down to the object’s declination value between 0 (0x000000) and -1152000 (0xEE6C00) counts.

 

  1. At the completion of the flip maneuver, the RA tracking begins to drive WEST again with the RA axis counts again INCREASING. This position, post Meridian Flip, is called “West Pointing East” or WpE. The RA axis counts will be in the range from -1152000 (0x119400) to 0 (0x000000). In this mode the DEC axis counts will increase from -90.000 to +90.000 degrees or from -2304000 (0xDCD800) to 0 (0x000000) counts.