Bmag incl gps rettelse
Dependencies: mbed WDT MODSERIAL BME280
Diff: SPS/SPS.cpp
- Branch:
- MbedBMAGThrRev
- Revision:
- 55:06c5f76e1a8c
- Parent:
- 51:dbd8e6c2211b
- Child:
- 59:48484125b507
diff -r d4d20a744b87 -r 06c5f76e1a8c SPS/SPS.cpp --- a/SPS/SPS.cpp Mon Jan 07 14:17:53 2019 +0000 +++ b/SPS/SPS.cpp Fri Feb 15 12:53:30 2019 +0000 @@ -41,12 +41,13 @@ \param preassure: string containing preassure measurement in hPa \param temperature: string containing temperature measured in deg C \param humidity: string containing air humidity percentage + \param altitude: string containing the gps altitude \param mag_time: string containing the last timestamp received from GSM-19 device eg. "000048.0" \param mag_nt: string containing the last mag measurement in nT eg. "036418.77" \param mag_sq: string containing info about the measurement quality of the last mag measurement eg. "99" */ -void SPS::UpdateCurrentString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string encoding, string source_id, string interpreter_id, string data_line_version, string source_firmware_version, string interpreter_firmware_version, string barcode, string latitude, string longitude, bool gpsFixFlag, string batteryvoltage, string preassure, string temperature, string humidity, string mag_time, string mag_nt, string mag_sq, Serial * dbg){ +void SPS::UpdateCurrentString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string encoding, string source_id, string interpreter_id, string data_line_version, string source_firmware_version, string interpreter_firmware_version, string barcode, string latitude, string longitude, bool gpsFixFlag, string batteryvoltage, string preassure, string temperature, string humidity, string altitude, string mag_time, string mag_nt, string mag_sq, Serial * dbg){ this->currentString = ""; this->currentString.resize(256); @@ -105,6 +106,8 @@ if(!gpsFixFlag || (strlen(longitude.c_str()) < 5)){ addToCurrentString("NaN"); } + addToCurrentString(SPACE); + addToCurrentString(altitude); addToCurrentString(SPACE); if(gpsFixFlag){ @@ -210,6 +213,8 @@ addToCurrentHeaderString(SPACE); addToCurrentHeaderString("Longitude"); addToCurrentHeaderString(SPACE); + addToCurrentHeaderString("altitude"); + addToCurrentHeaderString(SPACE); addToCurrentHeaderString("gpsFixFlag"); addToCurrentHeaderString(SPACE); addToCurrentHeaderString("batteryVoltage"); @@ -271,7 +276,7 @@ \param mag_sq: string containing info about the measurement quality of the last mag measurement eg. "99" */ -void SPS::UpdateCurrentErrString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string encoding, string source_id, string interpreter_id, string data_line_version, string source_firmware_version, string interpreter_firmware_version, string latitude, string longitude, bool gpsFixFlag, string mag_time, string mag_nt, string mag_sq, Serial * dbg){ +void SPS::UpdateCurrentErrString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string encoding, string source_id, string interpreter_id, string data_line_version, string source_firmware_version, string interpreter_firmware_version, string latitude, string longitude, bool gpsFixFlag, string mag_time, string mag_nt, string mag_sq, Serial * dbg, bool magParseError){ this->currentErrString = ""; this->currentErrString.resize(256); @@ -313,11 +318,22 @@ if(!gpsFixFlag){ addToCurrentErrString(SPACE); addToCurrentErrString("RTC"); + addToCurrentErrString(SPACE); + addToCurrentErrString("C02"); + addToCurrentErrString(SPACE); + addToCurrentErrString("C03"); } - addToCurrentErrString(SPACE); - addToCurrentErrString("C02"); - addToCurrentErrString(SPACE); - addToCurrentErrString("C03"); + if((mag_nt == "NaN" && mag_sq == "NaN" && mag_time == "NaN") || magParseError){ + addToCurrentErrString(SPACE); + addToCurrentErrString("MAG"); + addToCurrentErrString(SPACE); + addToCurrentErrString("C20"); + addToCurrentErrString(SPACE); + addToCurrentErrString("C21"); + addToCurrentErrString(SPACE); + addToCurrentErrString("C22"); + } + strLength = strlen(this->currentErrString.c_str());