11 using namespace swift::misc::aviation;
13 namespace swift::core::fsd
15 PilotDataUpdate::PilotDataUpdate() : MessageBase() {}
18 int transponderCode,
PilotRating rating,
double latitude,
double longitude,
19 int altitudeTrue,
int altitudePressure,
int groundSpeed,
double pitch,
double bank,
20 double heading,
bool onGround)
21 :
MessageBase(sender, {}), m_transponderMode(transponderMode), m_transponderCode(transponderCode),
22 m_rating(rating), m_latitude(latitude), m_longitude(longitude), m_altitudeTrue(altitudeTrue),
23 m_altitudePressure(altitudePressure), m_groundSpeed(groundSpeed), m_pitch(pitch), m_bank(bank),
24 m_heading(heading), m_onGround(onGround)
36 tokens.push_back(toQString(
m_rating));
37 tokens.push_back(QString::number(
m_latitude,
'f', 5));
38 tokens.push_back(QString::number(
m_longitude,
'f', 5));
41 tokens.push_back(QString::number(pbh));
48 if (tokens.size() < 10)
57 bool onGround =
false;
58 unpackPBH(tokens[8].toUInt(), pitch, bank, heading, onGround);
60 return PilotDataUpdate(fromQString<CTransponder::TransponderMode>(tokens[0]), tokens[1], tokens[2].toInt(),
61 fromQString<PilotRating>(tokens[3]), tokens[4].toDouble(), tokens[5].toDouble(),
62 tokens[6].toInt(), tokens[6].toInt() + tokens[9].toInt(), tokens[7].toInt(), pitch, bank,
QString m_sender
message sender
Pilot data update broadcasted to all clients in range every 5 seconds.
swift::misc::aviation::CTransponder::TransponderMode m_transponderMode
Properties.
bool m_onGround
Properties.
int m_transponderCode
Properties.
PilotRating m_rating
Properties.
static PilotDataUpdate fromTokens(const QStringList &tokens)
Construct from tokens.
int m_altitudeTrue
Properties.
double m_pitch
Properties.
double m_longitude
Properties.
QStringList toTokens() const
Message converted to tokens.
double m_heading
Properties.
int m_groundSpeed
Properties.
int m_altitudePressure
Properties.
double m_latitude
Properties.
Class for emitting a log message.
Derived & debug()
Set the severity to debug.
TransponderMode
Transponder codes.
PilotRating
Pilot ratings.
Free functions in swift::misc.
void unpackPBH(quint32 pbh, double &pitch, double &bank, double &heading, bool &onGround)
Unpack pitch, bank, heading and onGround from 32 bit integer.
void packPBH(double pitch, double bank, double heading, bool onGround, quint32 &pbh)
Pack pitch, bank, heading and onGround into 32 bit integer.