You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kstars/kstars/indi/celestronprotocol.h

135 lines
3.1 KiB

/*
* Header File for the Telescope Control protocols for the Meade LX200
* Author: John Kielkopf (kielkopf@louisville.edu)
*
* This file contains header information used in common with xmtel.
*
* 15 May 2003 -- Version 2.00
*
*/
#ifndef CELESTRON_PROTOCOL_H
#define CELESTRON_PROTOCOL_H
/* These are user defined quantities that set the limits over which it */
/* is safe to operate the telescope. */
/* LOWER is the number of degrees from the zenith that you will allow. */
/* Use 80, for example, to keep the eyepiece end out of the fork arm space */
/* of an LX200 telescope. */
#define LOWER 90.
/* HIGHER is the horizon. 0 is an unobstructed horizon in every direction. */
/* Use 10, for example, to limit sighting below 10 degrees above the horizon. */
#define HIGHER 0.
/* Set this if a slew to the north sends the telescope south. */
#define REVERSE_NS 0 /* 1 for reverse; 0 for normal. */
/* Set this for maximum slew rate allowed in degree/sec. */
#define MAXSLEWRATE 4 /* 2 for safety; 4 for 16-inch; 8 otherwise. */
/* The following parameters are used internally to set speed and direction. */
/* Do not change these values. */
#define SLEW 0
#define FIND 1
#define CENTER 2
#define GUIDE 3
#if REVERSE_NS > 0
#define NORTH 3
#define SOUTH 0
#else
#define NORTH 0
#define SOUTH 3
#endif
#define EAST 2
#define WEST 1
/* Slew speed defines */
# define SLEWRATE8 8 /* should be 8 degrees per second (not 16-inch) */
# define SLEWRATE4 4 /* should be 4 degrees per second */
# define SLEWRATE3 3 /* should be 3 degrees per second */
# define SLEWRATE2 2 /* should be 2 degrees per second */
/* Reticle defines */
#define BRIGHTER 16 /* increase */
#define DIMMER 8 /* decrease */
#define BLINK0 0 /* no blinking */
#define BLINK1 1 /* blink rate 1 */
#define BLINK2 2 /* blink rate 2 */
#define BLINK3 4 /* blink rate 3 */
/* Focus defines */
#define FOCUSOUT 8 /* positive voltage output */
#define FOCUSIN 4 /* negative voltage output */
#define FOCUSSTOP 0 /* no output */
#define FOCUSSLOW 1 /* half voltage */
#define FOCUSFAST 2 /* full voltage */
/* Rotator defines */
#define ROTATORON 1 /* image rotator on */
#define ROTATOROFF 0 /* image rotator off */
/* Fan defines */
#define FANON 1 /* cooling fan on */
#define FANOFF 0 /* cooling fan off */
#ifdef __cplusplus
extern "C" {
#endif
int ConnectTel(char *port);
void DisconnectTel(void);
int CheckConnectTel(void);
void SetRate(int newRate);
void SetLimits(double limitLower, double limitHigher);
void StartSlew(int direction);
void StopSlew(int direction);
double GetRA(void);
double GetDec(void);
int SlewToCoords(double newRA, double newDec);
int SyncToCoords(double newRA, double newDec);
int CheckCoords(double desRA, double desDec);
void StopNSEW(void);
int SetSlewRate(void);
int SyncLST(double newTime);
int SyncLocalTime();
void Reticle(int reticle);
void Focus(int focus);
void Derotator(int rotate);
void Fan(int fan);
#ifdef __cplusplus
}
#endif
#endif