00001
00016 #ifndef __telescope_h
00017 #define __telescope_h 1
00018
00019 #include "serial.h"
00020 #include "semaphore.h"
00021
00022 #define telescope_status_idle 0
00023 #define telescope_status_ok 1
00024 #define telescope_status_busy 2
00025 #define telescope_status_fail 3
00026
00027 #define telescope_pointing_model_none 0
00028 #define telescope_pointing_model_cassegrain 1
00029 #define telescope_pointing_model_focal_reducer 2
00030
00031 struct telescope_status_struct {
00032 double equinox;
00033 int PointingModel;
00034 int TargetType;
00035 double mjd;
00036 char TelTimeString[1000];
00037 double ra;
00038 double dec;
00039 double AirMass;
00040 int statuslight;
00041 };
00042
00043 struct telescope_filename_struct {
00044 char statusfilename[1000];
00045 };
00046
00047 extern sem_t telescope_status_sem;
00048
00049 int telescope_parse_statusfile();
00050 char *telescope_status_message( int code );
00051 char *telescope_pointing_model_text( int code );
00052 char *telescope_pointing_model_short( int code );
00053 struct telescope_status_struct telescope_get_status();
00054 void telescope_set_filenames(struct telescope_filename_struct input);
00055 extern void ui_telescope_numbers_changed(struct telescope_status_struct);
00056 extern void ui_telescope_strings_changed(struct telescope_status_struct);
00057 extern void ui_telescope_statuslight_changed(struct telescope_status_struct);
00058 extern void ui_telescope_codes_changed(struct telescope_status_struct);
00059 #endif