Skip to content

Commit

Permalink
Merge pull request #51151 from bettellam/gps1
Browse files Browse the repository at this point in the history
Refresh GPS Information Panel widget - Timeout connection error!
  • Loading branch information
elpaso committed Dec 11, 2022
2 parents 4ee8225 + d056420 commit c1f55b8
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/app/gps/qgsappgpsconnection.cpp
Expand Up @@ -148,6 +148,7 @@ void QgsAppGpsConnection::connectGps()
emit statusChanged( Qgis::GpsConnectionStatus::Connecting );
emit fixStatusChanged( Qgis::GpsFixStatus::NoData );

QgisApp::instance()->statusBarIface()->clearMessage();
showStatusBarMessage( tr( "Connecting to GPS device %1…" ).arg( port ) );

QgsGpsDetector *detector = new QgsGpsDetector( port );
Expand All @@ -168,6 +169,7 @@ void QgsAppGpsConnection::disconnectGps()
emit statusChanged( Qgis::GpsConnectionStatus::Disconnected );
emit fixStatusChanged( Qgis::GpsFixStatus::NoData );

QgisApp::instance()->statusBarIface()->clearMessage();
showStatusBarMessage( tr( "Disconnected from GPS device." ) );

QgsApplication::gpsConnectionRegistry()->unregisterConnection( oldConnection.get() );
Expand All @@ -176,12 +178,11 @@ void QgsAppGpsConnection::disconnectGps()

void QgsAppGpsConnection::onTimeOut()
{
mConnection = nullptr;
disconnectGps();
emit connectionTimedOut();
emit statusChanged( Qgis::GpsConnectionStatus::Disconnected );

QgisApp::instance()->statusBarIface()->clearMessage();
showGpsConnectFailureWarning( tr( "Failed to connect to GPS device." ) );
showGpsConnectFailureWarning( tr( "TIMEOUT - Failed to connect to GPS device." ) );
}

void QgsAppGpsConnection::onConnected( QgsGpsConnection *conn )
Expand Down
31 changes: 31 additions & 0 deletions src/app/gps/qgsgpsinformationwidget.cpp
Expand Up @@ -269,12 +269,17 @@ void QgsGpsInformationWidget::gpsConnecting()
mTxtLatitude->clear();
mTxtLongitude->clear();
mTxtAltitude->clear();
mTxtAltitudeDiff->clear();
mTxtAltitudeEllipsoid->clear();
mTxtDateTime->clear();
mTxtSpeed->clear();
mTxtDirection->clear();
mTxtHdop->clear();
mTxtVdop->clear();
mTxtPdop->clear();
mTxtHacc->clear();
mTxtVacc->clear();
mTxt3Dacc->clear();
mTxtFixMode->clear();
mTxtFixType->clear();
mTxtQuality->clear();
Expand Down Expand Up @@ -328,6 +333,32 @@ void QgsGpsInformationWidget::updateTrackInformation()

void QgsGpsInformationWidget::gpsDisconnected()
{
// clear position page fields to give better indication that something happened (or didn't happen)
mTxtLatitude->clear();
mTxtLongitude->clear();
mTxtAltitude->clear();
mTxtAltitudeDiff->clear();
mTxtAltitudeEllipsoid->clear();
mTxtDateTime->clear();
mTxtSpeed->clear();
mTxtDirection->clear();
mTxtHdop->clear();
mTxtVdop->clear();
mTxtPdop->clear();
mTxtHacc->clear();
mTxtVacc->clear();
mTxt3Dacc->clear();
mTxtFixMode->clear();
mTxtFixType->clear();
mTxtQuality->clear();
mTxtSatellitesUsed->clear();
mTxtStatus->clear();

// Clear Plot Signal data
QVector<QPointF> data;
mCurve->setSamples( data );
mPlot->replot();

mGPSPlainTextEdit->appendPlainText( tr( "Disconnected…" ) );
}

Expand Down

0 comments on commit c1f55b8

Please sign in to comment.