}
}
+ /**
+ *This slot function is called when gps timer timeout(10s).
+ */
+ void GPSData::gpsTimerTimeout()
+ {
+ gpsTimeMS++;
+ }
+
+ /**
+ *This function save route to .txt file.
+ */
void GPSData::saveRoute()
{
- QFile file("testroute.txt");
- if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
- {
- return;
- }
+ QFile file("route" + routeStartTime + ".txt");
QTextStream route(&file);
- route << "Start: " << routeStartTime << "\n";
- for (int i = 0 ; i <= roundCounter ; i++)
+ if ( recordingStatus == true )
{
- route << " lat: " << gpsDataArray[i][0]
- << " lon: " << gpsDataArray[i][1]
- << " alt: " << gpsDataArray[i][2]
- << " spe: " << gpsDataArray[i][3]
+ //First round.
+ if ( roundCounter == 0 )
+ {
+ if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
+ return;
+
+ route << "Start: " << routeStartTime << "\n";
+ }
+
+ else
+ {
+ if (!file.open(QIODevice::Append | QIODevice::Text))
+ return;
+ }
+
+ gpsDataArray[0] = latitude;
+ gpsDataArray[1] = longitude;
+ gpsDataArray[2] = altitude;
+ gpsDataArray[3] = speed;
+ roundCounter ++;
+
+ route << " la: " << latitude
+ << " \t lo: " << longitude
+ << " \t al: " << altitude
+ << " \t epv: " << epv
+ << " \t sp: " << speed
+ << " \t eps: " << eps
+ << " \t ms: " << gpsTimeMS
<< "\n";
+
+ gpsTimeMS = 0;
+ file.close();
+ }
+
+ //Final round.
+ else
+ {
+ if (!file.open(QIODevice::Append | QIODevice::Text))
+ return;
+ route << "Stop: " << routeStopTime << "\n";
+ file.close();
}
- route << "Stop: " << routeStopTime << "\n";
- file.close();
}
+
+/**
+ *@return Pointer to gpsDataArray[][].
+ */
+double* GPSData::getGpsDataArray()
+{
+ return *gpsDataArray;
+}
+
+/**
+ *@return RoundCounter, the number of gpsDataArray[][] rows.
+ */
+int GPSData::getRoundCounter()
+{
+ return roundCounter;
+}