diff --git a/companion/src/companion9x.qrc b/companion/src/companion9x.qrc
index 2000e4e15..8a8409172 100644
--- a/companion/src/companion9x.qrc
+++ b/companion/src/companion9x.qrc
@@ -65,6 +65,8 @@
images/fuses.png
images/list.png
images/maps.png
+ images/track.png
+ images/track0.png
images/play.png
images/stop.png
images/read_eeprom_file.png
diff --git a/companion/src/images/track.png b/companion/src/images/track.png
new file mode 100644
index 000000000..32414b49a
Binary files /dev/null and b/companion/src/images/track.png differ
diff --git a/companion/src/images/track0.png b/companion/src/images/track0.png
new file mode 100644
index 000000000..cc6578aab
Binary files /dev/null and b/companion/src/images/track0.png differ
diff --git a/companion/src/logsdialog.cpp b/companion/src/logsdialog.cpp
index 5ad0327dd..12213536b 100644
--- a/companion/src/logsdialog.cpp
+++ b/companion/src/logsdialog.cpp
@@ -1,11 +1,6 @@
#include "logsdialog.h"
#include "ui_logsdialog.h"
#include "qcustomplot.h"
-#if defined WIN32 || !defined __GNUC__
-#include
-#else
-#include
-#endif
logsDialog::logsDialog(QWidget *parent) :
QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint),
@@ -178,7 +173,7 @@ void logsDialog::selectionChanged()
void logsDialog::on_mapsButton_clicked() {
int n = csvlog.count(); // number of points in graph
if (n==0) return;
- int latcol=0, longcol=0, altcol=0, coursecol=0, speedcol=0;
+ int latcol=0, longcol=0, altcol=0, coursecol=0, speedcol=0, rssicol=0;
int itemSelected=0.;
bool rangeSelected=false;
QSettings settings("companion9x", "companion9x");
@@ -203,6 +198,9 @@ void logsDialog::on_mapsButton_clicked() {
if (csvlog.at(0).at(i).contains("Course")) {
coursecol=i;
}
+ if (csvlog.at(0).at(i).contains("RSSI")) {
+ rssicol=i;
+ }
}
if (longcol==0 || latcol==0 || altcol==0) {
return;
@@ -216,9 +214,16 @@ void logsDialog::on_mapsButton_clicked() {
if (itemSelected==0) {
itemSelected=n-1;
}
- QString geFilename = QDir::tempPath() + "/flight.kml";
+
+ QString geFilename = QDir::tempPath() + "/track0.png";
if (QFile::exists(geFilename)) {
- unlink(geFilename.toAscii());
+ QFile::remove(geFilename);
+ }
+ QFile::copy(":/images/track0.png", geFilename);
+
+ geFilename = QDir::tempPath() + "/flight.kml";
+ if (QFile::exists(geFilename)) {
+ QFile::remove(geFilename);
}
QFile geFile(geFilename);
if (!geFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
@@ -228,17 +233,62 @@ void logsDialog::on_mapsButton_clicked() {
.arg(geFile.errorString()));
return;
}
-
+ QString latitude,longitude;
+ double flatitude, flongitude,temp;
QTextStream outputStream(&geFile);
- outputStream << "\n\n";
- outputStream << "\n\tflight.kml\n\tMy Flight\n\t\t\n";
- outputStream << "\t\t\t1\n\t\t\trelativeToGround\n\t\t\t\n\t\t\t\t";
+ outputStream << "\n\n";
+ outputStream << "\t\n\t\tMy Flight\n";
+ outputStream << "\t\t\n";
+ outputStream << "\t\t\n";
+ outputStream << "\t\t\n\t\t\t\n\t\t\t\tnormal\n\t\t\t\t#multiTrack_n\n\t\t\t\n\t\t\t\n\t\t\t\thighlight\n\t\t\t\t#multiTrack_h\n\t\t\t\n\t\t\n";
+ outputStream << "\t\t\n";
+ outputStream << "\t\t\n";
+ outputStream << "\t\t\t\n\t\t\t\tGPS Speed\n\t\t\t\n";
+ outputStream << "\t\t\t\n\t\t\t\tRSSI\n\t\t\t\n";
+ outputStream << "\t\t\n";
+ outputStream << "\t\t\n\t\t\tFlight\n\t\t\t\n\t\t\t\tMy Flight\n\t\t\t\t#multiTrack\n\t\t\t\t\n";
for (int i=1; ilogTable->item(i-1,1)->isSelected() &&rangeSelected) || !rangeSelected) {
- outputStream << csvlog.at(i).at(longcol) << "," << csvlog.at(i).at(latcol) << "," << csvlog.at(i).at(altcol) << " " ;
+ QString tstamp=csvlog.at(i).at(0)+QString("T")+csvlog.at(i).at(1);
+ outputStream << "\t\t\t\t\t"<< tstamp <<"\n";
}
}
- outputStream << "\n\t\t\t\n\t\t\n\t\n\n\n";
+
+ for (int i=1; ilogTable->item(i-1,1)->isSelected() &&rangeSelected) || !rangeSelected) {
+ latitude=csvlog.at(i).at(latcol).trimmed();
+ longitude=csvlog.at(i).at(longcol).trimmed();
+ temp=int(latitude.left(latitude.length()-1).toDouble()/100);
+ flatitude=temp+(latitude.left(latitude.length()-1).toDouble()-temp*100)/60.0;
+ temp=int(longitude.left(longitude.length()-1).toDouble()/100);
+ flongitude=temp+(longitude.left(longitude.length()-1).toDouble()-temp*100)/60.0;
+ if (latitude.right(1)!="N") {
+ flatitude*=-1;
+ }
+ if (longitude.right(1)!="E") {
+ flongitude*=-1;
+ }
+ latitude.sprintf("%3.8f", flatitude);
+ longitude.sprintf("%3.8f", flongitude);
+ outputStream << "\t\t\t\t\t" << longitude << " " << latitude << " " << csvlog.at(i).at(altcol) << "\n" ;
+ }
+ }
+ outputStream << "\t\t\t\t\t\n\t\t\t\t\t\t\n";
+ outputStream << "\t\t\t\t\t\t\t\n";
+ for (int i=1; ilogTable->item(i-1,1)->isSelected() &&rangeSelected) || !rangeSelected) {
+ outputStream << "\t\t\t\t\t\t\t\t"<< csvlog.at(i).at(speedcol) <<"\n";
+ }
+ }
+ outputStream << "\t\t\t\t\t\t\t\n";
+ outputStream << "\t\t\t\t\t\t\t\n";
+ for (int i=1; ilogTable->item(i-1,1)->isSelected() &&rangeSelected) || !rangeSelected) {
+ outputStream << "\t\t\t\t\t\t\t\t"<< csvlog.at(i).at(rssicol) <<"\n";
+ }
+ }
+ outputStream << "\t\t\t\t\t\t\t\n";
+ outputStream << "\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n";
geFile.close();
QStringList parameters;