summaryrefslogtreecommitdiff
path: root/Mode/ModeSingle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Mode/ModeSingle.cpp')
-rw-r--r--Mode/ModeSingle.cpp30
1 files changed, 24 insertions, 6 deletions
diff --git a/Mode/ModeSingle.cpp b/Mode/ModeSingle.cpp
index 49119a0..42198e7 100644
--- a/Mode/ModeSingle.cpp
+++ b/Mode/ModeSingle.cpp
@@ -80,7 +80,7 @@ bool ModeSingle::start() {
break;
case failure:
incrementRatePower();
- _failure.updateInfo2(formatNewRatePower());
+ _failure.updateInfo(formatNewRatePower());
logInfo("new data rate %u, power %lu", _data_rate, _power);
break;
}
@@ -189,6 +189,16 @@ bool ModeSingle::start() {
updateData(_data, single, false);
appendDataFile(_data);
_failure.updatePower(_power);
+ if (_gps_available && _gps->getLockStatus()) {
+ GPSPARSER::latitude lat = _gps->getLatitude();
+ GPSPARSER::longitude lon = _gps->getLongitude();
+ struct tm time = _gps->getTimestamp();
+ _failure.updateGpsLatitude(lat);
+ _failure.updateGpsLongitude(lon);
+ _failure.updateGpsTime(time);
+ } else {
+ _failure.updateGpsLatitude("No GPS Lock");
+ }
_failure.updateSw1(" Power");
_failure.updateSw2("Survey");
logInfo("ping failed");
@@ -303,17 +313,25 @@ void ModeSingle::displayHelp() {
}
void ModeSingle::displaySuccess() {
+ logInfo("gps lock: %s", _gps->getLockStatus() ? "true" : "false");
+ uint8_t fix = _gps->getFixStatus();
+ logInfo("gps fix: %s", fix == 3 ? "3D" : fix == 2 ? "2D" : "none");
_success.display();
_success.updateId(_index);
// mDot::DataRateStr returns format SF_XX - we only want to display the XX part
_success.updateRate(_dot->DataRateStr(_data_rate).substr(3));
_success.updatePower(_power);
_success.updateStats(_ping_result);
- // if GPS lock
- // display GPS latitude, longitude, and time
- // else
- // display "no lock"
- _success.updateGpsLatitude("No GPS Lock");
+ if (_gps_available && _gps->getLockStatus()) {
+ GPSPARSER::latitude lat = _gps->getLatitude();
+ GPSPARSER::longitude lon = _gps->getLongitude();
+ struct tm time = _gps->getTimestamp();
+ _success.updateGpsLatitude(lat);
+ _success.updateGpsLongitude(lon);
+ _success.updateGpsTime(time);
+ } else {
+ _success.updateGpsLatitude("No GPS Lock");
+ }
}
std::string ModeSingle::formatNewRatePower() {