/ lx200 / Telescope.py / Telescope
LX200 class for scope movement and properties
Note:
- two ports can be opened on the LX200
- as many scopes as COM ports available can be driven
Methods
|
|
|
help_start
|
help_start ( self )
Set help text cursor to the start of the first line.
Returns: #
The contains first string of the general handbox help file.
? - Help Text Retrieval
|
|
get_RA
|
get_RA ( self )
Get Telescope RA
Returns: HH:MM.T#
or HH:MM:SS#
Depending which precision is set for the telescope
|
|
set_manual_track_rate
|
set_manual_track_rate ( self, rate )
Set Manual rate do the ASCII expressed decimal DDD.DD
Returns: 1
|
|
set_site_latitude
|
set_site_latitude ( self, angle )
Sets the current site latitude to sDD*MM#
Returns:
0 - Invalid
1 - Valid
Exceptions
|
|
LX200Error( "Invalid latitude: %s" % long )
|
|
|
set_lunar_latitude
|
set_lunar_latitude ( self, lat )
Sets target object to the specificed selenographic latitude on the Moon.
Returns 1- If moon is up and coordinates are accepted. sDD*MM
0 - If the coordinates are invalid
|
|
get_lower_limit
|
get_lower_limit ( self )
Get Lower Limit
Returns: DD*#
The highest elevation above the horizon that the telescope will be
allowed to slew to without a warning message.
|
|
setup_dialog
|
setup_dialog ( self, fileName='LX200.cfg' )
Mandatory, in advanced mode additional
parameters, such as the scope position, guide rates etc. will be
set.
No dialog, just read config...
|
|
get_tracking_rate
|
get_tracking_rate ( self )
Get tracking rate
Returns: TT.T#
Current Track Frequency expressed in hertz assuming a synchonous motor design where a 60.0 Hz motor clock
would produce 1 revolution of the telescope in 24 hours.
|
|
track_default
|
track_default ( self )
Select default tracking rate
Returns: Nothing
|
|
AbortSlew_East
|
AbortSlew_East ( self )
Halt eastward Slews
Returns: Nothing
|
|
lunar_sync
|
lunar_sync ( self, coords=None )
Synchonize the telescope with the current Selenographic coordinates.
C - Sync Control
|
|
get_distance
|
get_distance ( self )
D - Distance Bars
|
|
move_North
|
move_North ( self )
Move Telescope North at current slew rate
Returns: Nothing
|
|
move_South
|
move_South ( self )
Move Telescope South at current slew rate
Returns: Nothing
|
|
set_target_DEC
|
set_target_DEC ( self, angle )
Set target object declination to sDD°MM or sDD°MM:SS depending on
the current precision setting.
Accepts float or sDD:MM or sDD:MM:SSReturns:
1 - Dec Accepted
0 - Dec invalid
|
|
get_site_lat
|
get_site_lat ( self )
Get Current Site Latitude
Returns: sDD*MM#
The latitude of the current site. Positive inplies North latitude.
|
|
AbortSlew_West
|
AbortSlew_West ( self )
Halt westward Slews
Returns: Nothing
|
|
get_Dec
|
get_Dec ( self )
Get Telescope Declination.
Returns: sDDMM#
or sDDMM'SS#
Depending upon the current precision setting for the telescope.
|
|
precision_toggle
|
precision_toggle ( self )
Toggle between low/hi precision positions
Low - RA displays and messages HH:MM.T sDDMM
High - Dec/Az/El displays and messages HH:MM:SS sDDMM:SS
Returns Nothing U - Precision Toggle
Exceptions
|
|
LX200Error( "unsupported model: " + self.model + " for precision_toggle" )
|
|
|
set_slew_centering
|
set_slew_centering ( self )
Set Slew rate to Centering rate (2nd slowest)
Returns: Nothing
|
|
toggle_time_format
|
toggle_time_format ( self )
Toggle Between 24 and 12 hour time format
Returns: Nothing
H - Time Format Command
|
|
get_sidereal_time
|
get_sidereal_time ( self )
Get the Sidereal Time
Returns: HH:MM:SS#
The Sidereal Time as an ASCII Sexidecimal value in 24 hour format
|
|
set_max_elev
|
set_max_elev ( self, elev )
Set highest elevation to which the telescope will slew - DD
Returns:
0 - Invalid
1 - Valid
|
|
align_home
|
align_home ( self )
LX200GPS and LX 16" Seeks the Home Position of the scope and sets/aligns
the scope based on the encoder values stored in non-volatile memory
Returns: Nothing
Autostar,LX200 - Igrnored ???
Exceptions
|
|
LX200Error( "unsupported model: " + self.model + " for home command" )
|
|
|
move_West
|
move_West ( self )
Move Telescope West at current slew rate
Returns: Nothing
|
|
help_prev
|
help_prev ( self )
Retreive previous line of the handbox help text file.
Returns: #
The contains the next string of general handbox help file
|
|
set_align_mode
|
set_align_mode ( self, mode )
Sets method of alignment used
L Land alignment mode
P Polar alignment mode
A AltAz alignment mode
Returns: nothing
Exceptions
|
|
LX200Error( "mode not in ['A','L','P']" )
|
|
|
set_pointing_mode
|
set_pointing_mode ( self, mode=None )
set or toggle precision
in high precision mode -- requires centering
P - High Precision Toggle
|
|
set_site_num
|
set_site_num ( self, num )
Set current site to , an ASCII digit in the range 0..3
Returns: Nothing
W - Site Select
|
|
set_lunar_longitude
|
set_lunar_longitude ( self, lon )
Sets the target object to the specified selenogrphic longitude on the Moon
Returns 1 - If the Moon is up and coordinates are accepted. sDDD*MM
0 - If the coordinates are invalid for any reason.
|
|
set_site_name
|
set_site_name (
self,
site,
name,
)
Set site name to be . LX200s only accept 3 character strings. Other scopes accept up to 15 characters.
Returns:
0 - Invalid
1 - Valid
Exceptions
|
|
LX200Error( 'Site name cannot contain "#"' )
LX200Error( "Invalid site name:" + name )
|
|
|
determine_model
|
determine_model ( self, model="LX200" )
TO DO
run a series of commands to test for pass/fail
|
|
set_site_longitude
|
set_site_longitude ( self, angle )
Set current site's longitude to DDD*MM an ASCII position string
Returns:
0 - Invalid
1 - Valid
Exceptions
|
|
LX200Error( "Invalid longitude: %s" % long )
|
|
|
set_slew_rate
|
set_slew_rate ( self, N )
Set maximum slew rate to N degrees per second. N is the range (2..8)
Returns:
0 - Invalid
1 - Valid R - Slew Rate Commands
|
|
axis_rates
|
axis_rates ( Axis )
Axis (TelescopeAxes) The axis about which rate information is desired
Return (Object) Collection of Rate objects describing the supported
rates of motion that can be supplied to the MoveAxis() method for the
specified axis. M - Telescope Movement Commands
|
|
fan_on
|
fan_on ( self )
LX 16"- Turn on the tube exhaust fan
LX200GPSTurn on power to accessor panel
LX200 7" Maksutov - Turn on cooling fan
Autostar & LX200 < 16" - Not Supported
Returns: nothing
f - Fan Command
|
|
get_menu_entry
|
get_menu_entry ( self, entry )
Get Alignment Menu Entry
Returns: A # Terminated ASCII string. [LX200 legacy command] G - Get Telescope Information
|
|
set_tracking_rate
|
set_tracking_rate ( self, rate )
Sets the current tracking rate to TT.T hertz, assuming a model where a 60.0 Hertz synchronous motor will cause the RA
axis to make exactly one revolution in 24 hours.
Returns:
0 - Invalid
1 - Valid
|
|
smart_PEC_toggle
|
smart_PEC_toggle ( self )
Toggles Smart Drive PEC on and off for both axis
Returns: Nothing
Not supported on Autostar Q- Smart Drive Control
|
|
track_rate_incr
|
track_rate_incr ( self )
Increment Manual rate by 0.1 Hz
Returns: Nothing T - Tracking Commands
|
|
__repr__
|
__repr__ ( self )
Return a representation string.
|
|
change_date
|
change_date ( self, date )
Change Handbox Date to MM/DD/YY
Returns:
D = 0 if the date is invalid. The string is the null string.
D = 1 for valid dates and the string is "Updating Planetary Data"
#"
Note: For LX200GPS this is the UTC data!
|
|
get_site_names
|
get_site_names ( self )
return all names in a List
|
|
store_home
|
store_home ( self )
LX200GPS and LX 16" Seeks Home Position and stores the encoder values
from the aligned telescope at the home position in the nonvolatile memory of the
scope.
Returns: Nothing
Autostar,LX200 - Ignored ??? h - Home Position Commands
|
|
track_rate_dec
|
track_rate_dec ( self )
Decrement Manual rate by 0.1 Hz
Returns: Nothing
|
|
get_local_time_24
|
get_local_time_24 ( self )
Get Local Time in 24 hour format
Returns: HH:MM:SS#
The Local Time in 24-hour Format
|
|
get_temperature
|
get_temperature ( self )
LX200GPS - Return Optical Tube Assembly Temperature
Returns - a # terminated signed ASCII real number
indicating the Celsius ambient temperature.
All others - Not supported
Exceptions
|
|
LX200Error( "unsupported model: " + self.model + " for Optical Tube Assembly Temperature" )
|
|
|
get_local_time12
|
get_local_time12 ( self )
Get Local Telescope Time In 12 Hour Format
Returns: HH:MM:SS#
The time in 12 format
|
|
set_time_lon
|
set_time_lon (
self,
time,
lon,
)
Since the time setting in seconds is 4x better than the Lon setting
of minutes, I propose using the combination of Lon and time to minimize
error of rounding: ie, if Lon is 117deg15'19" use the time setting to
compensate for the 19".
|
|
get_high_limit
|
get_high_limit ( self )
Get High Limit
Returns: sDD*
The minimum elevation of an object above the horizon to which the
telescope will slew with reporting a
"Below Horizon" error.
|
|
set_slew_find
|
set_slew_find ( self )
Set Slew rate to Find Rate (2nd Fastest)
Returns: Nothing
|
|
AbortSlew
|
AbortSlew ( self, direction=None )
Halt all current slewing
Returns:Nothing Q - Movement Commands
|
|
move_to_object
|
move_to_object ( self )
Slew to Target Object
Returns:
0 Slew is Possible
1 Object Below Horizon w/string message
2 Object Below Higher w/string message
|
|
get_site3
|
get_site3 ( self )
Get Site 3 Name
Returns: #
A # terminated string with the name of the requested site.
|
|
get_site2
|
get_site2 ( self )
Get Site 2 Name
Returns: #
A # terminated string with the name of the requested site.
|
|
get_site1
|
get_site1 ( self )
Get Site 1 Name
Returns: #
A # terminated string with the name of the requested site.
|
|
get_alignment
|
get_alignment ( self )
Query of alignment mounting mode.
Returns:
A If scope in AltAz Mode
L If scope in Land Mode
P If scope in Polar Mode ACK - Alignment Query
Exceptions
|
|
LX200Error("get_alignment - port write error: %s" %(sys.exc_info() [ 0 ] ) )
|
|
|
set_slew_max
|
set_slew_max ( self )
Set Slew rate to max (fastest)
Returns: Nothing
|
|
get_site4
|
get_site4 ( self )
Get Site 4 Name
Returns: #
A # terminated string with the name of the requested site.
|
|
move_East
|
move_East (
self,
rate=None,
t=None,
)
Move Telescope East at current slew rate
Returns: Nothing
|
|
get_Altitude
|
get_Altitude ( self )
Get Telescope Altitude
Returns: sDDMM#
or sDDMM'SS#
The current scope altitude.
The returned format depending on the current precision setting.
|
|
get_current_long
|
get_current_long ( self )
Get Current Site Longitude
Returns: sDDD*MM")
The current site Longitude. East Longitudes are expressed as negative
|
|
set_target_AZ
|
set_target_AZ ( self )
Sets the target Object Azimuth [LX 16" and LX200GPS only]
Returns:
0 - Invalid
1 - Valid
|
|
set_site
|
set_site ( self, site )
Set current site to , an ASCII digit in the range 0..3
Returns: Nothing S - Telescope Set Commands
|
|
get_home_status
|
get_home_status ( self )
Autostar, LX200GPS and LX 16" Query Home Status
Returns:
0 Home Search Failed
1 Home Search Found
2 Home Search in Progress
LX200 Not Supported
|
|
set_target_RA
|
set_target_RA ( self, angle )
Set target object RA to HH:MM.T or HH:MM:SS depending on the current precision setting.
Angle is a float
or sDD:MM.T or sDD:MM:SS. Returns:
0 - Invalid
1 - Valid
|
|
track_custom
|
track_custom ( self )
Select custom tracking rate
Returns: Nothing
|
|
auto_align
|
auto_align ( self )
Start Telescope Automatic Alignment Sequence [LX200GPS only]
Returns:
1: When complete (can take several minutes).
0: If scope not AzEl Mounted or align fails A - Alignment Commands
Exceptions
|
|
LX200Error( "unsupported alignment: " + align_res + " for auto_align" )
LX200Error( "unsupported model: " + self.model + " for auto_align" )
LX200Error( "auto_align failed" )
|
|
|
get_calendar_format
|
get_calendar_format ( self )
Get Calendar Format
Returns: 12#
or 24#
Depending on the current telescope format setting.
|
|
ser_slew_guide
|
ser_slew_guide ( self )
Set Slew rate to Guiding Rate (slowest)
Returns: Nothing
|
|
get_date
|
get_date ( self )
Get current date.
Returns: MM/DD/YY#
The current local calendar date for the telescope.
|
|
track_lunar
|
track_lunar ( self )
Set Lunar Tracking Rate
Returns: Nothing
|
|
__init__
|
__init__ (
self,
comPort,
model='LX200',
debug=False,
)
Constructor.
Exceptions
|
|
LX200Error( "unsupported model: " + model )
|
|
|
help_next
|
help_next ( self )
Retrieve the next line of help text
Returns: #
The contains the next string of general handbox help file
|
|
move_to_current_target
|
move_to_current_target ( self )
Autostar, LX 16", LX200GPS - Slew to target Alt and Az
Returns:
0 - No fault
1 - Fault
LX200 - Not supported
|
|
get_UTC_offset
|
get_UTC_offset ( self )
Get UTC offset time
Returns: sHH#
or sHH.H#
The number of decimal hours to add to local time to convert it to UTC.
If the number is a whole number the sHH#
form is returned, otherwise the longer form is return. On Autostar and
LX200GPS, the daylight savings setting in effect is factored into
returned value.
|
|
toggle_precision
|
toggle_precision ( self )
Toggles High Precsion Pointing. When High precision pointing is
enabled scope will first allow the operator to center a
nearby bright star before moving to the actual taget.
Returns:
"HIGH PRECISION" Current setting after this command.
"LOW PRECISION" Current setting after this command.
|
|
FindHome
|
FindHome ( self )
Autostar, LX200GPS and LX 16"Slew to Park Position
Returns: Nothing
|
|
AbortSlew_North
|
AbortSlew_North ( self )
Halt northward Slews
Returns: Nothing
|
|
set_UTC_offset
|
set_UTC_offset ( self, hours )
Set the number of hours added to local time to yield UTC "sHH.H"
Returns:
0 - Invalid
1 - Valid
|
|
get_site
|
get_site ( self, siteNum )
return site name
|
|
set_sideral_time
|
set_sideral_time ( self, stime )
Sets the local sideral time to HH:MM:SS
Returns:
0 - Invalid
1 - Valid
|
|
set_precision_type
|
set_precision_type ( self, pType )
Sets telescope to give various position responses
No command to check precision, so read something
|
|
set_target_alt
|
set_target_alt ( self, alt )
Set target object altitude to sDDMM# or sDDMM'SS"
[LX 16", Autostar, LX200GPS]
Returns:
0 Object within slew range
1 Object out of slew range
|
|
fan_off
|
fan_off ( self )
LX 16"- Turn off tube exhaust fan
LX200GPS - Turn off power to accessory panel
LX200 7" Maksutov - Turn off cooling fan
Autostar & LX200 < 16" - Not Supported
Returns: Nothing
|
|
get_AZ
|
get_AZ ( self )
Get telescope azimuth
Returns: DDDMM#T or DDDMM'SS#
The current telescope Azimuth depending on the selected precision.
|
|
AbortSlew_South
|
AbortSlew_South ( self )
Halt southward Slews
Returns: Nothing
|
|
can_move_axis
|
can_move_axis ( Axis )
Axis (TelescopeAxes) The identifier for the axis to be tested
Return (Boolean) True if the telescope can be controlled about the
specified axis via the MoveAxis() method.
|
|
set_local_time
|
set_local_time ( self, ltime )
Set the local Time "HH:MM:SS"
Returns:
0 - Invalid
1 - Valid
|
|
|