My final year project

Dependencies:   BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter

Revision:
35:6baa558d3b86
Parent:
34:0b308a399f72
Child:
36:9ca4125e526e
--- a/main.cpp	Mon Oct 03 16:21:01 2016 +0200
+++ b/main.cpp	Mon Oct 03 17:12:39 2016 +0200
@@ -31,6 +31,10 @@
 float Ts = 4;
 
 float tCal[3][2];
+int calPoint = 0;
+bool calStarted = false;
+Timer calTimer;
+float calHeldTime;
 
 int measuredTs = 0;
 
@@ -117,7 +121,7 @@
           activeScreen = new ChangeValWholeScreen(&nextScreen, currentScreen, &Ts, "Change Ts", false, 4);
           break;
         case Screen::CALIBRATE_SCREEN :
-          activeScreen = new CalibrateScreen(&nextScreen, tCal, &ballOnPlate);
+          activeScreen = new CalibrateScreen(&nextScreen, &ballOnPlate, &calStarted, &calPoint, &calHeldTime);
           break;
       }
 
@@ -170,5 +174,36 @@
 void Calibrate()
 {
   ballOnPlate = test.read();
-  Thread::wait(4);
+
+  while( calStarted )
+  {
+    while( calPoint < 3 )
+    {
+      //TODO Reaplace test with plate
+      if( test.read() )
+      {
+        calTimer.start();
+        //TODO measure and save screen values;
+
+        while( calTimer.read() < 5 )
+        {
+          calHeldTime = calTimer.read();
+        }
+
+        while(test.read());
+
+        calPoint++;
+        calTimer.stop;
+        calTimer.reset();
+      }
+      else
+      {
+        calTimer.stop;
+        calTimer.reset();
+      }
+    }
+
+    calStarted = false;
+    calPoint = 0;
+  }
 }