Changed LiblocationWrapper accuracy's centimetres to metres.
authorJussi Laitinen <jupe@l3l7588.ixonos.local>
Fri, 11 Jun 2010 12:08:37 +0000 (15:08 +0300)
committerJussi Laitinen <jupe@l3l7588.ixonos.local>
Fri, 11 Jun 2010 12:08:37 +0000 (15:08 +0300)
src/gps/gpspositionprivate.cpp
src/gps/gpspositionprivateliblocation.cpp
src/gps/liblocationwrapper.cpp

index 21421c7..8184ea2 100644 (file)
@@ -163,9 +163,6 @@ qreal GPSPositionPrivate::accuracy(const QGeoPositionInfo &positionInfo)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    if (!positionInfo.timestamp().isValid())
-        return GPS_ACCURACY_UNDEFINED;
-
     if (positionInfo.hasAttribute(QGeoPositionInfo::HorizontalAccuracy))
         return positionInfo.attribute(QGeoPositionInfo::HorizontalAccuracy);
     else
index b10a898..4ce2acd 100644 (file)
@@ -165,9 +165,6 @@ qreal GPSPositionPrivate::accuracy(const GeoPositionInfo &positionInfo)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    if (!positionInfo.timestamp().isValid())
-        return GPS_ACCURACY_UNDEFINED;
-
     if (positionInfo.isAccurate())
         return positionInfo.accuracy();
     else
index 5997ea5..2a80e08 100644 (file)
@@ -33,7 +33,6 @@ const int INTERVAL_20S = 25000;     ///< Maximum value for 20 sec interval
 const int INTERVAL_30S = 45000;     ///< Maximum value for 30 sec interval
 const int INTERVAL_60S = 90000;     ///< Maximum value for 60 sec interval
 
-
 LiblocationWrapper::LiblocationWrapper(QObject *parent)
     : QObject(parent),
       m_control(0),
@@ -61,6 +60,8 @@ void LiblocationWrapper::changed(LocationGPSDevice *device, gpointer data)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
+    const int METRES_COEFFICIENT = 100; // Coefficient to get metres from centimetres
+
     if (!device || !data)
         return;
 
@@ -73,10 +74,10 @@ void LiblocationWrapper::changed(LocationGPSDevice *device, gpointer data)
 
             if (device->fix->fields & LOCATION_GPS_DEVICE_TIME_SET) {
                 positionInfo.setTimestamp(device->fix->time);
-                positionInfo.setAccuracy(true, device->fix->eph);
+                positionInfo.setAccuracy(true, device->fix->eph / METRES_COEFFICIENT);
             }
             else {
-                positionInfo.setAccuracy(false, device->fix->eph);
+                positionInfo.setAccuracy(false, device->fix->eph / METRES_COEFFICIENT);
             }
 
             if (device->fix->fields & LOCATION_GPS_DEVICE_LATLONG_SET) {