Added button for sending route to server.
[speedfreak] / Client / carmainwindow.cpp
index d03cc73..5da33b7 100644 (file)
@@ -7,6 +7,7 @@
  * @author     Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
  * @author     Rikhard Kuutti <rikhard.kuutti@fudeco.com>
  * @author     Kai Rasilainen <kai.rasilainen@fudeco.com>
+ * @author     Jukka Kurttila <jukka.kurttila@fudeco.com>
  * @copyright  (c) 2010 Speed Freak team
  * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  */
@@ -69,6 +70,7 @@ CarMainWindow::CarMainWindow(QWidget *parent):QMainWindow(parent), ui(new Ui::Ca
 
     // Accelerometer
     accelerometer = new Accelerometer();
+    movingAverageZ = new MovingAverage(10);
 
     reverseAccelerationFlag = false;
     vehicleStartedMoving = false;
@@ -88,7 +90,7 @@ CarMainWindow::CarMainWindow(QWidget *parent):QMainWindow(parent), ui(new Ui::Ca
     resetAccelerometerMeasurements();
 
     measures = new Measures();
-    this->initializeMeasures();
+    measures->initializeMembers();
 
     this->timer->setInterval(100);
 
@@ -154,11 +156,12 @@ void CarMainWindow::on_listViewStartTabAccelerationCategories_clicked(QModelInde
 {
     QString str = index.data().toString();
     QStringList list = str.split("-");
-    QStringList list2 = list[1].split(" ");
+    QStringList list3 = list[1].split(" ");
+    QStringList list2 = list[0].split(" ");
 
-    ui->lineEditStartTabMin->setText(list[0]);
-    ui->lineEditStartTabMax->setText(list2[0]);
-    updateComboBoxStartTabUnits(list2[1]);
+    ui->lineEditStartTabMin->setText(list2[1]);
+    ui->lineEditStartTabMax->setText(list3[0]);
+    updateComboBoxStartTabUnits(list3[1]);
 }
 
 /**
@@ -167,7 +170,7 @@ void CarMainWindow::on_listViewStartTabAccelerationCategories_clicked(QModelInde
   */
 void CarMainWindow::on_autoStartButton_clicked()
 {
-    initializeMeasures();
+    measures->initializeMembers();
     resetAccelerometerMeasurements();
     ui->pushButtonSendResult->setEnabled(false);
     ui->pushButtonShowResultDialog->setEnabled(false);
@@ -243,7 +246,7 @@ void CarMainWindow::initListViewStartTabAccelerationCategories()
     catList.insert(1,"acceleration-0-100");
     catList.insert(2,"acceleration-0-10");
 
-    accelerationCategoriesStartTab << "0-40 km/h" << "0-100 km/h" << "0-10 km/h";
+    accelerationCategoriesStartTab << "Acceleration 0-40 km/h" << "Acceleration 0-100 km/h" << "Acceleration 0-10 km/h";
     //<< "0-1/4 Mile" << "0-1/8 Mile" << "50-100 Mile" << "0-60 Mph" << "0-100 m" << "0-50 ft" << "0-50 yrd" << "0-500 in";
     QAbstractItemModel *model = new StringListModel(accelerationCategoriesStartTab);
     ui->listViewStartTabAccelerationCategories->setModel(model);
@@ -359,27 +362,20 @@ void CarMainWindow::on_manualStartButton_clicked()
   */
 void CarMainWindow::after_timeout()
 {
-    if ( gpsSpeed > 1.0 )
+    //IF GPS checkbox is ON
+    if (ui->gpsOnCheckBox->isChecked())
     {
-        timeFromGps += 0.1;
+        if ( gpsSpeed > 1.0 )
+        {
+            timeFromGps += 0.1;
+        }
     }
-}
 
-/**
-  * Initializes measures class's member variables.
-  */
-void CarMainWindow::initializeMeasures()
-{
-    measures->setTime10kmh(0);
-    measures->setTime20kmh(0);
-    measures->setTime30kmh(0);
-    measures->setTime40kmh(0);
-    measures->setTime50kmh(0);
-    measures->setTime60kmh(0);
-    measures->setTime70kmh(0);
-    measures->setTime80kmh(0);
-    measures->setTime90kmh(0);
-    measures->setTime100kmh(0);
+    else
+    {
+        ui->labelMeasureTabSpeed->setText(QString::number(this->speed)); //Set speed. //Measure-tab view.
+        ui->labelMeasureTabTime->setText(QString::number(this->time)); //Set time. //Measure-tab view.
+    }
 }
 
 /**
@@ -392,16 +388,7 @@ void CarMainWindow::on_pushButtonMeasureTabAbort_clicked()
     ui->labelMeasureTabResult->hide();
     ui->labelMeasureTabTime->setText("");
     ui->labelMeasureTabSpeed->setText("");
-    measures->setTime10kmh(0);
-    measures->setTime20kmh(0);
-    measures->setTime30kmh(0);
-    measures->setTime40kmh(0);
-    measures->setTime50kmh(0);
-    measures->setTime60kmh(0);
-    measures->setTime70kmh(0);
-    measures->setTime80kmh(0);
-    measures->setTime90kmh(0);
-    measures->setTime100kmh(0);
+    measures->initializeMembers();
     this->accelerometerTimer->stop();
     this->timer->stop();
     this->time = 0;
@@ -459,6 +446,11 @@ void CarMainWindow::on_drawRoutePushButton_clicked()
     }
 }
 
+void CarMainWindow::on_sendRoutePushButton_clicked()
+{
+    myHttpClient->sendRouteXml();
+}
+
 /**
   * Opens result dialog when show result button is clicked.
   * Sends measures as parameter to the resultdialogs saveMeasuresToArray-function.
@@ -609,6 +601,10 @@ void CarMainWindow::readAccelerometerData()
 
     //accelerometer->smoothData(x, y, z);
 
+    //Calculate average
+    movingAverageZ->Enqueue(z);
+    z = movingAverageZ->Average();
+
     // Apply calibration
     x -= accelerometer->getCalibrationX();
     y -= accelerometer->getCalibrationY();
@@ -771,7 +767,7 @@ void CarMainWindow::gpsStatus()
   */
 void CarMainWindow::gpsTimerTimeout()
 {
-    int time1000ms;
+    int time1000ms = 0;
     time1000ms += 10;
 
     //IF time is 1 second
@@ -848,3 +844,4 @@ void CarMainWindow::on_calibrateButton_clicked()
 
     this->accelerometer->calibrate();
 }
+