small fix

This commit is contained in:
2025-11-07 19:37:55 +01:00
parent 41b7075457
commit 3eb2f57103
3 changed files with 33 additions and 1 deletions

View File

@@ -2,6 +2,8 @@
Work in progress. Work in progress.
Goals are: parsing an IGC file containing flight data, giving analytics about the flight, and if I really have time to kill, making some kind of (3D??) view of the flight..
# License # License
GNU GPL v3 GNU GPL v3

12
igc.c
View File

@@ -55,6 +55,14 @@ struct IGC_DataPoint* parse_datapoint(char* line)
return dp; return dp;
} }
void parse_header_record(char* line)
{
if (strncmp(line, "HFDTEDATE", 9) == 0)
{
}
}
void parse_igc_file(FILE* fp) void parse_igc_file(FILE* fp)
{ {
size_t len = 0; size_t len = 0;
@@ -69,7 +77,11 @@ void parse_igc_file(FILE* fp)
// Doubly linked list of points (so theyre joined in chronological order; opens possibilities for analysis later) // Doubly linked list of points (so theyre joined in chronological order; opens possibilities for analysis later)
// append_datapoint(dp); // append_datapoint(dp);
break; break;
case HEADER:
parse_header_record(line);
break;
default: default:
printf("Unrecognized record type '%c'\n", line[0]);
break; break;
} }
} }

20
igc.h
View File

@@ -17,7 +17,7 @@ void parse_igc_file(FILE* fp);
enum IGC_RecordType enum IGC_RecordType
{ {
MANUFACTURER = 'A', MANUFACTURER = 'A',
METADATA = 'H', HEADER = 'H',
EXTENSION = 'I', EXTENSION = 'I',
J_EXTENSION = 'J', J_EXTENSION = 'J',
DECLARATION = 'C', DECLARATION = 'C',
@@ -46,6 +46,24 @@ struct Coord
int sec; int sec;
}; };
struct IGC_Header
{
int day;
int month;
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};
}
struct IGC_DataPoint struct IGC_DataPoint
{ {
// timestamp // timestamp