Fix SB persist
This commit is contained in:
@@ -502,26 +502,36 @@ int receiveData(const char* buf) {
|
||||
switch(mode) {
|
||||
// SB Entry
|
||||
case 0: {
|
||||
if (!document.HasMember("cargo") || !document.HasMember("CGTarget") || !document.HasMember("plannedZFW") || !document.HasMember("plannedGW")) return -1;
|
||||
unsigned int cargo = document["cargo"].GetInt();
|
||||
double CGTarget = document["CGTarget"].GetDouble();
|
||||
|
||||
if (UserData->isCargo) {
|
||||
targetFPayloadData->CGTarget = CGTarget;
|
||||
targetFPayloadData->sbPlanned.ZFW = document["plannedZFW"].GetDouble();
|
||||
targetFPayloadData->sbPlanned.GW = document["plannedGW"].GetDouble();
|
||||
if(document.HasMember("CGTarget"))
|
||||
targetFPayloadData->CGTarget = document["CGTarget"].GetDouble();
|
||||
|
||||
if (document.HasMember("plannedZFW"))
|
||||
targetFPayloadData->sbPlanned.ZFW = document["plannedZFW"].GetDouble();
|
||||
if (document.HasMember("plannedGW"))
|
||||
targetFPayloadData->sbPlanned.GW = document["plannedGW"].GetDouble();
|
||||
|
||||
if (document.HasMember("cargo"))
|
||||
targetFPayloadData->sbPlanned.cargo = document["cargo"].GetInt();
|
||||
|
||||
distribute(targetFPayloadData, liveFuelData, cargo, UserData->isImperial, UserData->isER);
|
||||
distribute(targetFPayloadData, liveFuelData, targetFPayloadData->sbPlanned.cargo, UserData->isImperial, UserData->isER);
|
||||
}
|
||||
else {
|
||||
if (!document.HasMember("numPax")) return -1;
|
||||
unsigned short numPax = document["numPax"].GetInt();
|
||||
if (document.HasMember("CGTarget"))
|
||||
targetPaxPayloadData->CGTarget = document["CGTarget"].GetDouble();
|
||||
|
||||
targetPaxPayloadData->CGTarget = CGTarget;
|
||||
targetPaxPayloadData->sbPlanned.ZFW = document["plannedZFW"].GetDouble();
|
||||
targetPaxPayloadData->sbPlanned.GW = document["plannedGW"].GetDouble();
|
||||
if (document.HasMember("plannedZFW"))
|
||||
targetPaxPayloadData->sbPlanned.ZFW = document["plannedZFW"].GetDouble();
|
||||
if (document.HasMember("plannedGW"))
|
||||
targetPaxPayloadData->sbPlanned.GW = document["plannedGW"].GetDouble();
|
||||
|
||||
distribute(targetPaxPayloadData, liveFuelData, numPax, cargo, UserData->isImperial, UserData->isER);
|
||||
if (document.HasMember("numPax"))
|
||||
targetPaxPayloadData->sbPlanned.pax = document["numPax"].GetInt();
|
||||
if (document.HasMember("cargo"))
|
||||
targetPaxPayloadData->sbPlanned.cargo = document["cargo"].GetInt();
|
||||
|
||||
distribute(targetPaxPayloadData, liveFuelData, targetPaxPayloadData->sbPlanned.pax, targetPaxPayloadData->sbPlanned.cargo, UserData->isImperial,
|
||||
UserData->isER);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -809,6 +819,10 @@ void sendData () {
|
||||
// SB Planned
|
||||
sbPlanned.AddMember("ZFW", UserData->isCargo ? targetFPayloadData->sbPlanned.ZFW: targetPaxPayloadData->sbPlanned.ZFW, allocator);
|
||||
sbPlanned.AddMember("GW", UserData->isCargo ? targetFPayloadData->sbPlanned.GW : targetPaxPayloadData->sbPlanned.GW, allocator);
|
||||
sbPlanned.AddMember("cargo", UserData->isCargo ? targetFPayloadData->sbPlanned.cargo : targetPaxPayloadData->sbPlanned.cargo, allocator);
|
||||
if (!UserData->isCargo) {
|
||||
sbPlanned.AddMember("pax", targetPaxPayloadData->sbPlanned.pax, allocator);
|
||||
}
|
||||
|
||||
// Construct document
|
||||
document.AddMember("livePayload", livePayload.Move(), allocator);
|
||||
|
||||
@@ -190,6 +190,8 @@ typedef struct {
|
||||
struct sbPlanned {
|
||||
double ZFW;
|
||||
double GW;
|
||||
unsigned short pax;
|
||||
unsigned int cargo;
|
||||
} sbPlanned;
|
||||
} paxPayloadData_t;
|
||||
typedef struct {
|
||||
@@ -250,6 +252,7 @@ typedef struct {
|
||||
struct sbPlanned {
|
||||
double ZFW;
|
||||
double GW;
|
||||
unsigned int cargo;
|
||||
} sbPlanned;
|
||||
} fPayloadData_t;
|
||||
typedef struct {
|
||||
|
||||
Reference in New Issue
Block a user