Header parsing
This commit is contained in:
33
igc.h
33
igc.h
@@ -9,11 +9,10 @@
|
||||
#ifndef IGC_H
|
||||
#define IGC_H
|
||||
|
||||
#define SMALL_NAME_MAX 32
|
||||
#define NAME_MAX 256
|
||||
#define TMP_SIZE 8
|
||||
|
||||
void parse_igc_file(FILE* fp);
|
||||
|
||||
enum IGC_RecordType
|
||||
{
|
||||
MANUFACTURER = 'A',
|
||||
@@ -27,7 +26,7 @@ enum IGC_RecordType
|
||||
PILOT_EVENT = 'E',
|
||||
GEN_PURPOSE_PLACEHOLDER = 'K',
|
||||
COMMENT = 'L',
|
||||
SEC_KEY = 'G'
|
||||
SEC_KEY = 'G',
|
||||
};
|
||||
|
||||
enum Cardinals
|
||||
@@ -53,16 +52,18 @@ struct IGC_Header
|
||||
int year;
|
||||
|
||||
// Not exhaustive
|
||||
char pilot_name[NAME_MAX] = {0};
|
||||
char crew2_name[NAME_MAX] = {0};
|
||||
char aircraft_name[NAME_MAX] = {0};
|
||||
char aircraft_registration_no[NAME_MAX] = {0};
|
||||
char gps_datum[NAME_MAX] = {0};
|
||||
char firmware_ver[NAME_MAX] = {0};
|
||||
char hardware_ver[NAME_MAX] = {0};
|
||||
char frtype[NAME_MAX] = {0};
|
||||
char press_alt_sensor[NAME_MAX] = {0};
|
||||
}
|
||||
char pilot_name[NAME_MAX];
|
||||
char crew2_name[NAME_MAX];
|
||||
char aircraft_name[NAME_MAX];
|
||||
char aircraft_registration_no[NAME_MAX];
|
||||
char gps_datum[NAME_MAX];
|
||||
|
||||
// (not too important; ignored for now, may be part of "verbose" setting later)
|
||||
char firmware_ver[NAME_MAX];
|
||||
char hardware_ver[NAME_MAX];
|
||||
char frtype[NAME_MAX];
|
||||
char press_alt_sensor[NAME_MAX];
|
||||
};
|
||||
|
||||
struct IGC_DataPoint
|
||||
{
|
||||
@@ -80,4 +81,10 @@ struct IGC_DataPoint
|
||||
int gps_alt;
|
||||
};
|
||||
|
||||
void parse_igc_file(FILE* fp);
|
||||
struct IGC_DataPoint* parse_datapoint(char* line);
|
||||
void show_datapoint(struct IGC_DataPoint* dp);
|
||||
void show_header_info(struct IGC_Header* hdr);
|
||||
struct IGC_Header* parse_header_record(struct IGC_Header* hdr, char* line);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user