Para Juan
Dependencies: NAVDATA RA8875 mbed VCODATA
Diff: main.cpp
- Revision:
- 3:0c9ee19fb976
- Parent:
- 0:d92271b032c7
- Child:
- 4:9901f6da64b7
diff -r 5aa88a6fb08b -r 0c9ee19fb976 main.cpp --- 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); }