Para Juan

Dependencies:   NAVDATA RA8875 mbed VCODATA

Revision:
3:0c9ee19fb976
Parent:
0:d92271b032c7
Child:
4:9901f6da64b7
--- a/main.cpp	Sun Apr 02 19:29:43 2017 +0000
+++ b/main.cpp	Tue Apr 04 06:17:17 2017 +0000
@@ -11,16 +11,21 @@
 // Agrego includes para uso en la comunicacion con el gps.
  #include "GPS.h"
  
- // Agrego includes para medicion de pulsos del sensor de flujo
- //#include "DebounceIn.h"
+ // Agrego includes para la clase NAVDATA que maneja los datos de navegación del último período.
+ #include "NAVDATA.h"
+ 
+ // Agrego includes para la clase VCODATA que maneja los datos de navegación más recientes parametrizados por velocidad de cada período.
+#include "VCODATA.h" 
+
  
  #include <sstream>  //include this to use string streams
  #include <string> 
 
-float Counter=0;       //Contador de pulsos del sensor de flujo.
-float LCounter=0;    //Consumo en litros
-float Consumo_km=0;  //Consumo en litros/km.
-
+float Counter=0;      //Contador de pulsos del sensor de flujo.
+float LCounter=0;     //Consumo en litros
+float Consumo_km=0;   //Consumo en litros/km.
+NAVDATA NAVIGATION_TABLE;                       //Objeto que maneja los datos de navegación del último período. $
+VCODATA NAVIGATION_VMATRIX(NAVIGATION_TABLE);   // Objeto que maneja la matriz de datos de navegación            $
 
 
 
@@ -164,7 +169,7 @@
        while(1) {
  
            
-           lcd.SetTextCursor(0,0);                      // Pongo cursor en posicion
+           lcd.SetTextCursor(20,0);                      // Pongo cursor en posicion
            lcd.puts("Proyecto SNOCC\r\n");
 
       
@@ -194,7 +199,7 @@
 */
 //-----------------------------------------------------            
         
-        lcd.SetTextCursor(0,20);
+        //lcd.SetTextCursor(0,20);
         //lcd.printf("M0: %s \r\n\r\n", gps.msg);  //Imprimo el mensaje crudo proveniente de la uart
         //lcd.printf("M1: %s \r\n", gps.mensaje1);
         //lcd.printf("M2: %s \r\n", gps.mensaje2);
@@ -204,23 +209,40 @@
         //lcd.printf("Contador = %d", Counter);
          
         if(gps.sample()) {             // Si es exitosa la obtencion de datos del gps.
-            //lcd.cls();
-            lcd.SetTextCursor(0,0);                      // Pongo cursor en posicion
+            lcd.cls();
+            
+            
+            lcd.SetTextCursor(20,0);                      // Pongo cursor en posicion
             lcd.puts("Proyecto SNOCC\r\n");
-            lcd.SetTextCursor(0,100);            
-            lcd.printf("Posicion: %f, %f\r\n", gps.longitude, gps.latitude);
-            lcd.printf("Velocidad %f km/h", gps.speed);
+            
+            if (NAVIGATION_TABLE.rotate_data(gps.longitude, gps.latitude, gps.time, Counter))
+            lcd.puts("Rotacion exitosa!\r\n"); 
+            else
+            lcd.puts("Periodo no valido!\r\n");  
+              
+            lcd.SetTextCursor(0,50);            
+            //lcd.printf("Posicion: %f, %f\r\n", gps.longitude, gps.latitude);
+            lcd.printf("Posicion: %f, %f\r\n", NAVIGATION_TABLE.LAST_NAV_DATA[longitude_f], gps.latitude);     //   $
+            //lcd.printf("Velocidad %f km/h", gps.speed);
+            lcd.printf("Distancia_p %f km\r\n", NAVIGATION_TABLE.LAST_NAV_DATA[distance_p]);
+            lcd.printf("Velocidad %f km/h\r\n", NAVIGATION_TABLE.LAST_NAV_DATA[speed_p]);
+            lcd.printf("Timetick_i %f h\r\n", NAVIGATION_TABLE.LAST_NAV_DATA[time_i]);
+            lcd.printf("Timetick_f %f h\r\n", NAVIGATION_TABLE.LAST_NAV_DATA[time_f]);
+            lcd.printf("Timetick_gps %f NMEA\r\n", gps.time);
  //            lcd.printf("Consumo %f l/km", getConsumo(Count; gps.speed);
             lcd.SetTextCursor(0,200); 
-            lcd.printf("Flujo %f Litros", LCounter);
+            lcd.printf("Flujo %f Litros/Hora\r\n", NAVIGATION_TABLE.LAST_NAV_DATA[cons_hour_p]);
+            lcd.printf("Flujo %f Litros\r\n", LCounter); 
             
         } else {
             lcd.cls();
-            lcd.SetTextCursor(0,0);                      // Pongo cursor en posicion
+            lcd.SetTextCursor(20,0);                      // Pongo cursor en posicion
             lcd.puts("Proyecto SNOCC\r\n");
             lcd.SetTextCursor(0,100);    
             lcd.printf("No hay datos disponibles :(\n");
-            lcd.SetTextCursor(0,200); 
+            lcd.SetTextCursor(0,180);
+            lcd.printf("Timestick %f km/h", NAVIGATION_TABLE.LAST_NAV_DATA[time_f]); 
+            lcd.printf("Flujo %f Litros/Hora\n", NAVIGATION_TABLE.LAST_NAV_DATA[cons_hour_p]);
             lcd.printf("Flujo %f Litros", LCounter);                
                }