Logbokk fligth type
This commit is contained in:
parent
a50d89f4aa
commit
52da1262b0
@ -1,80 +0,0 @@
|
||||
VARIABLE STRING (>=3)
|
||||
*********************
|
||||
0 1 | 2 ... |
|
||||
------+-------+
|
||||
LEN |STRING |
|
||||
UINT16|CHAR* |
|
||||
|
||||
LOGBOOK HEADER (28)
|
||||
***********************************************************************************************************************************************
|
||||
0 1 2 3 4 | 5 | 6 7 | 8 9 10 11 | 12 13 14 15 | 16 17 18 19 | 20 21 22 23 | 24 25 26 27 |
|
||||
------------------+-------+-------------+---------------------+-------------------+-------------------+-------------------+-------------------+
|
||||
IDENT |VERSION|TOTAL FLIGHTS|TOTAL TIME |TOTAL PTS |TOTAL FUEL |TOTAL DIST |RATE |
|
||||
CHAR[5] |UINT8 |UINT16 |FLOAT32, Decimal, min|FLOAT32 |FLOAT32, kgs |FLOAT32, nm |FLOAT32, ft/min |
|
||||
|
||||
FLIGHT PREAMBLE (24)
|
||||
**********************************************************************************************************************
|
||||
0 1 2 3 4 5 6 7 8 9 | 10 11 12 13 | 14 15 16 17 | 18 19 20 21 22 23 |
|
||||
--------------------------------------+----------------------------+-------------------+-----------------------------+
|
||||
DATE |FLIGHT NUMBER |AIRCRAFT TYPE |AIRCRAFT REGISTRATION |
|
||||
CHAR, DD.MM.YYYY |CHAR[4],[0-9][0-9A-z\0]{0,3}|CHAR[4], ICAO code |CHAR[6], D-[A-Z]{4} |
|
||||
|
||||
TIMES (24)
|
||||
**************************************************************************************************************
|
||||
0 1 2 3 4 | 5 6 7 8 9 | 10 11 12 13 14 | 15 16 17 18 19 | 20 21 22 23 |
|
||||
------------------+-------------------+------------------------+------------------------+--------------------+
|
||||
OFF BLOCK |TAKEOFF (OUT) |LANDING (ON) |ON BLOCK (IN) |TOTAL |
|
||||
CHAR[5], HH:MM |CHAR[5], HH:MM |CHAR[5], HH:MM |CHAR[5], HH:MM |FLOAT32, Decimal min|
|
||||
|
||||
FUELS (16)
|
||||
*********************************************************************
|
||||
0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 14 15 |
|
||||
--------------+---------------+-----------------+-------------------+
|
||||
TAXI OUT |IN FLIGHT |TAXI IN |TOTAL |
|
||||
FLOAT32, kgs |FLOAT32, kgs |FLOAT32, kgs |FLOAT32, kgs |
|
||||
|
||||
DISTANCES (16)
|
||||
*********************************************************************
|
||||
0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 14 15 |
|
||||
--------------+---------------+-----------------+-------------------+
|
||||
TAXI OUT |IN FLIGHT |TAXI IN |TOTAL |
|
||||
FLOAT32, nm |FLOAT32, nm |FLOAT32, nm |FLOAT32, nm |
|
||||
|
||||
LANDING (9)
|
||||
*******************************************
|
||||
0 1 2 3 | 4 | 5 6 7 8 |
|
||||
---------------+----------+---------------+
|
||||
MAX RATE |TOUCHDOWNS|MAX G-FORCE |
|
||||
FLOAT32, ft/min|CHAR |FLOAT32, g |
|
||||
|
||||
FLIGHT POSTAMBLE (5)
|
||||
*********************
|
||||
0 1 2 3 | 5 |
|
||||
--------------+---------+
|
||||
POINTS |FLAGS |
|
||||
FLOAT32 |BITFIELD |
|
||||
|
||||
FLAGS BITFIELD
|
||||
**********************************
|
||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|
||||
---+---+---+---+---+---+---+-----+
|
||||
NIL|NIL|NIL|NIL|NIL|NIL|NIL|FILED|
|
||||
|
||||
LOGBOOK FILE:
|
||||
LOGBOOK HEADER
|
||||
[
|
||||
FLIGHT PREAMBLE
|
||||
VARIABLE STRING (DEPARTURE AIRPORT NAME AND CODE)
|
||||
VARIABLE STRING (DEPARTURE GATE NAME)
|
||||
VARIABLE STRING (DEPARTURE RUNWAY DESIGNATOR)
|
||||
VARIABLE STRING (ARRIVAL AIRPORT NAME AND CODE)
|
||||
VARIABLE STRING (ARRIVAL GATE NAME)
|
||||
VARIABLE STRING (ARRIVAL RUNWAY DESIGNATOR)
|
||||
TIMES
|
||||
FUELS
|
||||
DISTANCES
|
||||
LANDING
|
||||
VARIABLE STRING (RECORDING FILE NAME)
|
||||
FLIGHT POSTAMBLE
|
||||
VARIABLE STRING (FLIGHT RECORDING PATH RELATIVE TO LOGBOOK)
|
||||
]0..n
|
||||
@ -35,6 +35,7 @@ namespace file
|
||||
inline void readVersion1(std::ifstream &in)
|
||||
{
|
||||
std::string date = readString(in, 10);
|
||||
std::string flightType = readString(in, 1);
|
||||
std::string flightNumber = readString(in, 4);
|
||||
std::string aircraftType = readString(in, 4);
|
||||
std::string aircraftRegistration = readString(in, 6);
|
||||
@ -65,6 +66,7 @@ namespace file
|
||||
std::uint8_t flags = read<std::uint8_t>(in);
|
||||
|
||||
this->addEntry(date,
|
||||
flightType,
|
||||
flightNumber,
|
||||
aircraftType,
|
||||
aircraftRegistration,
|
||||
@ -99,7 +101,7 @@ namespace file
|
||||
{
|
||||
std::ifstream in(BASE_DIRECTORY LOGBOOK, std::ifstream::binary);
|
||||
|
||||
std::string ident = readString(in, 5);
|
||||
std::string ident = readString(in, 4);
|
||||
if (ident.compare(LOGBOOK_HEADER) != 0) {
|
||||
throw std::invalid_argument("Wrong file");
|
||||
}
|
||||
|
||||
@ -15,10 +15,10 @@ namespace file
|
||||
namespace logbook
|
||||
{
|
||||
/*
|
||||
* Preamble (24)
|
||||
* CHAR[10] | CHAR[4] | CHAR[4] | CHAR[6]
|
||||
* ---------+---------------+----------+-------------
|
||||
* DATE | FLIGHT NUMBER | AIRCRAFT | REGISTRATION
|
||||
* Preamble (25)
|
||||
* CHAR[10] | CHAR[1] | CHAR[4] | CHAR[4] | CHAR[6]
|
||||
* ---------+-------------+---------------+----------+-------------
|
||||
* DATE | FLIGHT TYPE | FLIGHT NUMBER | AIRCRAFT | REGISTRATION
|
||||
|
||||
* Departure Airport Name (1...257)
|
||||
* UINT8 | CHAR[]
|
||||
@ -89,6 +89,7 @@ namespace file
|
||||
{
|
||||
private:
|
||||
std::string date;
|
||||
std::string flightType;
|
||||
std::string flightNumber;
|
||||
std::string aircraftType;
|
||||
std::string aircraftRegistration;
|
||||
@ -120,6 +121,7 @@ namespace file
|
||||
|
||||
public:
|
||||
inline LogbookEntry(std::string date,
|
||||
std::string flightType,
|
||||
std::string flightNumber,
|
||||
std::string aircraftType,
|
||||
std::string aircraftRegistration,
|
||||
@ -148,7 +150,7 @@ namespace file
|
||||
std::string recordingFilename,
|
||||
float points,
|
||||
std::uint8_t flags)
|
||||
: date(date), flightNumber(flightNumber),
|
||||
: date(date), flightType(flightType), flightNumber(flightNumber),
|
||||
aircraftType(aircraftType),
|
||||
aircraftRegistration(aircraftRegistration),
|
||||
departureAirport(departureAirport), departureGate(departureGate),
|
||||
@ -170,6 +172,7 @@ namespace file
|
||||
inline void toFile(std::ofstream &out) const
|
||||
{
|
||||
writeString(out, this->date, 10);
|
||||
writeString(out, this->flightType, 1);
|
||||
writeString(out, this->flightNumber, 4);
|
||||
writeString(out, this->aircraftType, 4);
|
||||
writeString(out, this->aircraftRegistration, 6);
|
||||
|
||||
@ -88,7 +88,7 @@ namespace file
|
||||
{
|
||||
std::ifstream in(BASE_DIRECTORY SIMDATABASE, std::ifstream::binary);
|
||||
|
||||
std::string ident = readString(in, 5);
|
||||
std::string ident = readString(in, 4);
|
||||
if (ident.compare(SIMDATABASE_HEADER) != 0) {
|
||||
throw std::invalid_argument("Wrong file");
|
||||
}
|
||||
|
||||
@ -151,6 +151,7 @@ PLUGIN_API int XPluginStart(char *outName, char *outSig, char *outDesc)
|
||||
toLog("Logbook Test");
|
||||
germanairlinesva::file::logbook::Logbook logbook;
|
||||
logbook.addEntry("08.09.2022",
|
||||
"F",
|
||||
"1000",
|
||||
"L049",
|
||||
"D-ALFA",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user