#include #include #include #include #include #define GRAV_PORT "/dev/ttyC0" #define TTT_PORT "/dev/ttyC1" #define EIVA_PORT "/dev/ttyC2" #define GUNCO_PORT "/dev/ttyC3" #define ASHTECH_PORT "/dev/ttyS0" #define ANDERS_PORT "/dev/ttyC5" #define GUNCO_DEPTH_PORT "/dev/ttyC6" const char *DATADIR="/home/olem/"; const char *WEBDIR="/home/olem/"; unsigned short WEB=0, QC=0, PRINT=0, EIVA=0; char *profile; pthread_mutex_t ttt_mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t ttt_set = PTHREAD_COND_INITIALIZER; pthread_mutex_t mag_mutex = PTHREAD_MUTEX_INITIALIZER; typedef struct { unsigned short control1, control2, body_length; short two_bytes[46]; } input_buf; typedef struct { char *day; char *ttt_time; } ttt; typedef struct { char *depth1, *depth2; } depth; typedef struct { char outstatus[256]; int shot; } anders; typedef struct { char *north, *east; unsigned short diff, no_sats; char *hdop, *time, *course, *speed, *pdop; char *vdop, *tdop, *alt; } astech; typedef struct { unsigned short misfire :1; unsigned short out_of_range : 1; unsigned short invalid_data : 1; unsigned short gun_no; short array_no; char *side; short offset; short error; short delay; } data; typedef struct { char *time, *date, *east, *north, *depth, *cmg, *kp; int event; } eiva; typedef struct { char *line, *year, *day, *time, *grav; float etvos; } grav; typedef struct arg_t { const char *com; const char *profile; } arguments; void read_Anders(); void read_Ashtech(); void read_Gunco(); void read_TTT(); void read_Eiva(); void read_Grav(); void read_Depth(); void initilize_serial_port(int FLAG, const char *com); void printHelp();