Revision as of 13:57, 2 December 2008

Warning: when you abuse Stellarium's telescope control feature for pointing your telescope to the sun without a proper solar filter, then this is your own fault. Stellarium cannot check if you have your solar filter properly installed or not. So when you ruin your telescope, your eyes, your childrens eyes or whatever, then this is not our fault, but yours.

Note: version 0.10.0 of Stellarium does not include the key bindings for telescope control. The telescope control feature is being re-worked and will be re-introduced in a future release. If you want to use telescope control, you should use version 0.9.1 for now.

Programs that cannot be supported by us, because we have not the source code:

StellariumScope.exe (http://www.ByteArts.com/stellarium): is a program for MS Windows allowing stellarium to control a variety of telescope using the ASCOM drivers (http://ascom-standards.org). Extends capabilities to include both "Slew" and "Sync" functions, and automated installation and setup (no need to edit configuration files). Formerly known as "StellariumServer".

Architecture

Actual communication with the telescope is not done by stellarium itself, but by an external program which is called telescope server. Stellarium and the telescope server communicate with each other over TCP/IP. For the TCP communication there is an LGPL library which should make the development of telescope servers easy. This architecture has the following advantages:

1) The stellarium source code does not get bloated by incorporation of dozens of telescope control mechanisms and protocols. Instead the stellarium sourcecode stays maintainable.

2) TCP is available on any platform, so for stellarium there are little or no portability problems.

3) Any developer can easily provide an own telescope server for his own telescope, eigther by using the stellarium telescope library (recommended) or without it. No knowledge about the stellarium programs source code is required.

4) There are no license problems: An external telescope server can, but does not need to be GPL. When building your own telescope server you can link with any library you want: ASCOM, Indy, any proprietary library, whatever.

Building

The telescope server programs described above are available from anonymous svn:

There is a README file. Just change into the src directory and type 'make' (no autoconf/automake). In order to cross-compile for MS Windows export the environment variable CROSS_GPP and type 'make exe'. I have never tried native MS Windows compilation, but I suppose that any compiler will do. Same for other operating systems. If you have problems, write to the forum. Or write an email to me.

Michael Heinz has provided an XCode project file for Mac, which is included in svn.

Alternatively: downloading precompiled MS Windows binaries

I have noticed that MS Windows users often prefer downloading precompiled binaries instead of building by themselves. Therefore I provide Windows binaries:

Some people have problems with their browsers: the browser silently unpacks the gziped file. If you suffer from such a problem, just rename the downloaded file to TelescopeServerLx200.exe (or similar).

Usage

Start stellarium, the telescope server(s) and your telescope(s). The order of starting does not matter. You can also stop and restart stellarium, the telescope server(s) or your telescope(s) at any time.

As soon as the telescope server has sent the telescopes position to stellarium, you will see a crosshair marker indicating the telescopes position, labeled with your telescopes name (config.ini). Note that the crosshair marker might be outside your current field of view. Zoom out and search for the marker, or alternatively use stellariums search feature. When you see the marker, you know that stellarium has successfully connected to the telescope server.

Run the server

Navigate to the directory containing the file, and start the telescope server with a command line like

depending on your telescope and serial port. In this example I assume you use TCP port 10000, but you can use any free port you want. The telescope servers are capable of serving a huge number of Stellarium programs, so you can share the control of your telescope with other stellarium programs.

Here I have assumed that you have started two different telescope servers on your machine for controlling two different telescopes. When you have just 1 GOTO telescope like me, leave out the last line. If you run the telescope server on a different machine, you must replace 'localhost' with the name of this machine. The value 500000 indicates, that Stellarium will not show the telescopes current position - which is unknown anyway - but instead an interpolated position of 500000 microseconds (=0.5 seconds) ago. If you have a slow telescope controller - like the Meade AutoStar 494 that comes with ETX 70 - you should increase this value to 1200000 or higher, in order to get smooth movement of the telescope marker. 'My_first_telescope' is the name that will be shown in stellarium next to the telescope marker. '1' is the keyboard shortcut: <Ctlr><1> will make the telescope point to the currently selected object (GOTO). Currently up to 10 telescopes can be controlled using keys 0,1,...,9.

Gathering debug information

For debugging in most cases I will need the log of the telescope server. You can produce the logfile eigther by redirecting stdout into a file, or by supplying the logfiles name as an additional command line parameter upon startup of the telescope server:

Useful Stellarium features

Accounting for light travel time is a must when you observe planetary satellites.
You will also want to flip the stellarium image horizontally and/or vertically in order to match what you see in your eyepiece. You can do this with the flip buttons and/or the following keyboard shortcuts: