next up previous
Next: aiss_sys_init Up: Sample Functions Previous: Sample Functions

aisf.h

The following is the header defining the implementation of AISS:
#ifndef AISF_H
#define AISF_H
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif

enum Image_Data_Type{INT16,INT32,INT8,FP32,FP64,UNIT8,UINT16,UINT32};
typedef char STR20[21];

//image structur from section 2.1 of AISS
typedef struct 
{
  char fits_head[2880];
  STR20 flags;
  int bitpix;
  enum Image_Data_Type pix_format;
  int rows;
  int columns;
  void *payload;
}a_Image;

//telescope pointing data structure AISS section 2.2
typedef struct 
{
  float alt;
  float az;
  float ra;
  float dec;
  float equinox;
  char *object_name;
  float ppm;
  float epoch;
}a_point;


//a_state struct specified in section 2.3 of AISS
typedef struct
{
  STR20 name;
  STR20 observatory;
  enum Image_Data_Type d_type_default;
  int cds_rows;
  int cds_columns;
  int p_rows;
  int p_columns;
  int sub;
  int numfw;
  int *breaks;
  int numbfilters;
  int bitpix;
  STR20 *f_names; 
} a_state;

typedef struct
{
  long m1;
  long m2;
  long m3;
  double m4;
  double mu1;
  double mu2;
  double mu3;
  double mu4;
}a_Stat;

//Global Data 
int exp_timer;

//Global Structs 
a_state aiss_sys;
a_point tcsin;
a_point tcsout;


//system function defs (Is this all there is in the API?
int aiss_sys_init(a_state *);
int image_init(a_Image *);
int driver_init(void *);
int expose(a_Image *data, int exptime);
int tcs_get(a_point*);
int tcs_send(a_point*);
int tcs_com(char *);
int fw_home(int); 
int fits(a_Image *data,char * fname);
int fits_head(a_Image *data, a_point *);
int fits_read(a_Image *, char *);

#endif


Aaron Smith 2004-03-04