#include <lx200.h>
Public Types | |
enum | TSlew { CENTER, GUIDE, MOVE, SLEW } |
enum | TAlign { ALTAZ, GERMAN, LAND, POLAR } |
enum | TDirection { EAST, NORTH, SOUTH, WEST } |
enum | TFormat { LX200SHORT, LX200LONG, LX200UNDEFINED } |
enum | TTelescope { LX200CLASSIC, LX200AUTOSTAR } |
enum | TFocus { FOCUSIN, FOCUSOUT, QUITFOCUS, FOCUSFAST, FOCUSSLOW } |
enum | TTime { TWELVEHOUR, TWENTYFOURHOUR } |
enum | TObjects { CNGC, IC, UGC } |
enum | TLibrary { STAR, SAO, GCVS } |
enum | TFreq { MANUAL, QUARTZ, INCREMENT, DECREMENT } |
Public Methods | |
LX200 () | |
~LX200 () | |
bool | Connect () |
bool | Connect (const char *portID) |
char | ACK () |
int | getHourMode () |
double | getLX200RA () |
double | getLX200DEC () |
double | getObjRA () |
double | getObjDEC () |
double | getLX200Alt () |
double | getLX200Az () |
double | getSideralTime () |
char * | getCalenderDate () |
double | getSiteLaitude () |
double | getSiteLongitude () |
double | getLocalTime (int timeFormat) |
bool | isFINDTypeSelected () |
char * | getFINDQuality () |
int | getFINDBoundaryLimit (int boundary) |
double | getFINDMagnitudeLimit (int boundary) |
int | getFINDSizeLimit (int boundary) |
int | getFIELDRadius () |
char * | getSiteName (int siteNum) |
int | getUCTOffset () |
double | getCurrentTrackFreq () |
char * | getVersionDate () |
char * | getVersionTime () |
char * | getFullVersion () |
char * | getVersionNumber () |
char * | getProductName () |
int | getNumberOfBars () |
TFormat | getLX200Format () |
bool | setObjAlt (int degrees, int minutes) |
bool | setObjAz (int degrees, int minutes) |
bool | setCalendarDate (int dd, int mm, int yy) |
bool | setSiteLongitude (int degrees, int minutes) |
bool | setSiteLatitude (int degrees, int minutes) |
bool | setUTCOffset (int hours) |
bool | setLocalTime (int hours, int minutes, int seconds) |
bool | setSiteName (int siteNum, const char *siteName) |
bool | setObjDEC (int degrees, int minutes, int seconds) |
bool | setObjRA (int hours, int minutes, int seconds) |
bool | setSiderealTime (int hours, int minutes, int seconds) |
bool | setTrackFreq (double Freq) |
bool | setMaxSlewRate (int slewRate) |
void | setAlignmentMode (TAlign alignMode) |
void | setHourMode (TTime hMode) |
void | setTrackingRate (TFreq tRate) |
void | selectSite (int siteNum) |
bool | setFINDMagnitudeLimit (int boundary, double magnitude) |
bool | setFINDBoundaryLimit (int boundary, int degrees) |
bool | setFINDSizeLimit (int boundary, int size) |
bool | setFINDStringType () |
bool | setFIELDRadius (int radius) |
void | increaseReticleBrightness () |
void | descreaseReticleBrightness () |
void | setReticleFlashingMode (int fMode) |
void | setLX200Format (TFormat format) |
void | slewToAltAz () |
void | move (TDirection dir) |
int | slewToObj () |
void | abortMove (TDirection dir) |
void | abortSlew () |
void | libraryPrevObj () |
void | libraryNextObj () |
void | libraryStartFind () |
char * | libraryObjInfo () |
char * | libraryFieldInfo () |
void | libraryFindCNGC (int identifier) |
void | libraryFindMessier (int identifier) |
void | libraryFindStarType (int identifer) |
bool | librarySetNGCType (TObjects ID) |
bool | librarySetSTARType (TLibrary ID) |
char * | Sync () |
void | turnFanOn () |
void | turnFanOff () |
void | startHomeSearch (int SaveSetOption) |
int | HomeSearchResult () |
void | fieldDeRotator (bool turnOn) |
void | focusControl (TFocus fMode) |
bool | highPrecision () |
void | toggleSmartDrive (int cToggle) |
Protected Methods | |
int | openPort (const char *portID) |
int | portWrite (const char *buf) |
int | portRead (char *buf, int nbytes) |
bool | queryData () |
The LX200 Control class provides low level access to the LX200 command set. Both LX200 classic telescopes and Autostar based telescopes are supported.
The class communicates with the telescope via the RS232 interface. It can search and query telescopes connected to the serial port automatically.
There are difference on how the LX200 classic telescopes and LX200 Autostar-based telescopes handle and process the command set. Therefore, whenever such a difference arises, a case-specifc explanation is provided.
For more information, please check the LX200 Command Set reference.
The class provides full access to the following command groupings:
|
Alignment modes |
|
Directions |
|
Focus operation |
|
Formats of Right ascention and Declenation |
|
Frequency mode |
|
Star-type Library catalogs |
|
NGC-type Library catalogs |
|
Slew modes |
|
Telscope type |
|
Time format |
|
Aborts movement in the requested direction.
|
|
Aborts slew in any direction. |
|
ACK queries the telescope for alignment mode. Alignment mode can be one of the following:
|
|
Connect searches for LX200-based telescopes connected via the serial port. It is an overloaded function that specifically search for a telescope on a specific port.
|
|
Connect searches for LX200-based telescopes connected via the serial port. It begins search at COM1 and ends at COM4.
|
|
Decreases reticle brightness |
|
Turns the field derotator On or Off. This command applies only to 16" LX200.
|
|
Sets FOCUS mode.
|
|
|
|
|
|
|
|
Gets FIND operation LOWER or HIGHER limit.
|
|
Gets FIND operation FAINTER or BRIGHTER magnitude limit.
|
|
Gets FIND operation quality.
|
|
Gets FIND operation SMALLER or LARGER size limit.
|
|
|
|
Gets internal hour format. Autostar based telescope always return 24
|
|
Gets local time. The local time is computed in the same way as getLX200RA()
|
|
Gets LX200 Altitude. The Alt is computed in the same way as getLX200DEC()
|
|
Gets LX200 Azimuth. The Az is computed in the same way as getLX200RA()
|
|
Gets LX200 Declination in a double format. The DEC is calculated using the following formula:
|
|
Gets LX200 internal coordinates format.
|
|
Gets LX200 Right Ascension in a double format. The RA is calculated using the following formula:
|
|
Gets number of bars on display unit.
|
|
Gets Current object Declination. The DEC is computed in the same way as getLX200DEC()
|
|
Gets Current object Right Ascension. The RA is computed in the same way as getLX200RA()
|
|
|
|
Gets Sidereal time. The ST is computed in the same way as getLX200RA()
|
|
Gets current site latitude. The latitude is computed in the same way as getLX200DEC()
|
|
Gets current site longitude. The long. is computed in the same way as getLX200RA()
|
|
|
|
|
|
|
|
|
|
|
|
Checks if current precision mode is high precision.
|
|
Starts a home search. This command applies only to 16" LX200.
|
|
Increases reticle brightness |
|
|
|
|
|
Find CNGC type object.
|
|
Find Messier type object.
|
|
Find STAR type object.
|
|
Go to next object in FIND. |
|
Retrives current object information.
|
|
Go to previous object in FIND. |
|
Sets NGC type catalog.
|
|
Sets STAR type catalog.
|
|
Starts a FIND operation. |
|
Moves the telescope in the requested direction.
|
|
Opens a terminal port for read/write
|
|
Reads from a port
|
|
Writes to a port
|
|
Queries basic data from the telescope. The function attempts to determine the time and coordinates format, and the type of telescope being connected to. It stores the data in internal class members.
|
|
Selects and sets active site.
|
|
Sets Alignment mode.
|
|
Sets calendar date.
|
|
Sets FIELD radius
|
|
Sets FIND operation boundary limit
|
|
Sets FIND operation magnitude search limit
|
|
Sets FIND operation size limit
|
|
Sets FIND operation string (I really don't know what this does!!, I'll ask)
|
|
Sets Internal hour mode.
|
|
Sets Local time.
|
|
Sets LX200 internal coordinates format
|
|
Sets Maximum slew rate (degrees/second).
|
|
Sets object Altitude.
|
|
Sets object Azimuth.
|
|
Sets object's declination.
|
|
Sets object's right ascension.
|
|
Sets Reticle flashing mode
|
|
Sets Sidereal time.
|
|
Sets current site latitude.
|
|
Sets current site longitude.
|
|
Sets a site name.
|
|
Sets Tracking frequency.
|
|
Sets Tracking rate.
|
|
Sets UTC offset from local time.
|
|
Slews to AltAz. This command applies only to 16" LX200. |
|
Slews to the current object
|
|
Starts a home search. This command applies only to 16" LX200.
|
|
Synchronizes telescope coordinates to the object's coordinates.
|
|
Changes smart drive status.
|
|
Turns fan off. This command applies only to 16" LX200. |
|
Turns fan on. This command applies only to 16" LX200. |