summaryrefslogtreecommitdiffstats
path: root/kstars/kstars/indi/celestronprotocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'kstars/kstars/indi/celestronprotocol.h')
-rw-r--r--kstars/kstars/indi/celestronprotocol.h134
1 files changed, 134 insertions, 0 deletions
diff --git a/kstars/kstars/indi/celestronprotocol.h b/kstars/kstars/indi/celestronprotocol.h
new file mode 100644
index 00000000..d7c956f7
--- /dev/null
+++ b/kstars/kstars/indi/celestronprotocol.h
@@ -0,0 +1,134 @@
+/*
+* 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
+