Main Page | Class List | Directories | File List | Class Members | File Members

instctrl.h

Go to the documentation of this file.
00001 
00015 #ifndef __instctrl_h 
00016 #define __instctrl_h 1
00017 
00018 #include "serial.h"
00019 #include "semaphore.h"
00020 #include <time.h>
00021 #include <sys/types.h>
00022  #include <unistd.h>
00023 
00024 #define instctrl_status_idle                  0
00025 #define instctrl_status_ok                    1
00026 #define instctrl_status_busy                  2
00027 #define instctrl_status_fail                  3
00028 
00029 struct instctrl_struct {
00030         char command[1000];
00031 };
00032 
00033 struct instctrl_filter_struct {
00034         char name[1000];
00035 };
00036 
00037 struct instctrl_filterlist_struct {
00038         struct instctrl_filter_struct filters[100];
00039 };
00040 
00041 struct instctrl_status_struct {
00042         char filtername[1000];
00043         double camerafocus;
00044         double telescopefocus;
00045         char ccdname[1000];
00046         double ccdtemperature;
00047         int statuslight;
00048         int lockbusy;
00049         double lockbusytime;
00050 };
00051 
00052 struct instctrl_filename_struct {
00053         char statusfilename[1000];
00054         char commandsendfilename[1000];
00055         char commandreceivefilename[1000];
00056         char filterlistfilename[1000];
00057         char statuslightfilename[1000]; 
00058 };
00059 
00060 extern sem_t instctrl_sem;
00061 extern sem_t instctrl_status_sem;
00062 extern sem_t instctrl_filters_sem;
00063 
00064 int instctrl_parse_statusfile();
00065 char *instctrl_status_message( int code );
00066 int instctrl_send_commands();
00067 void instctrl_set_telescopefocus(long focus);
00068 int instctrl_parse_filterfile();
00069 struct instctrl_status_struct instctrl_get_status();
00070 void instctrl_set_filters(struct instctrl_filterlist_struct input);
00071 void instctrl_set_filter(char* filter);
00072 struct instctrl_filterlist_struct instctrl_get_filters();
00073 volatile double instctrl_get_tel_focus();
00074 extern void ui_instctrl_numbers_changed(struct instctrl_status_struct);
00075 extern void ui_instctrl_strings_changed(struct instctrl_status_struct);
00076 extern void ui_instctrl_statuslight_changed(struct instctrl_status_struct);
00077 extern void ui_instctrl_filters_changed(struct instctrl_filterlist_struct);
00078 void instctrl_init();
00079 void instctrl_set_status_async(struct instctrl_status_struct input) ;
00080 void instctrl_set_filenames(struct instctrl_filename_struct input);
00081 #endif

Generated on Fri Dec 16 22:23:35 2005 for gboccia by  doxygen 1.4.2