Version paralela con display grande y funciones adicionales

Dependencies:   BufferedSerial mbed

Fork of ConduSe-Speedometer2 by Felícito Manzano

Revision:
2:1219ed8d7039
Parent:
1:6f4d8d53996f
--- a/main.cpp	Wed Aug 31 18:42:25 2016 +0000
+++ b/main.cpp	Thu Sep 01 05:02:48 2016 +0000
@@ -4,7 +4,7 @@
                     CONDUSE
 
  * - Lenguaje:      ANSI C/C++ (mbed)
- * - Tarjeta:       Nucleo F303K8
+ * - Tarjeta:       Nucleo F091RC
  * - Referencias:
  * - Fecha:         2016/Agosto
  * - Autor(es):     Felícito Manzano /
@@ -20,23 +20,26 @@
 
 // HARDWARE SETUP
 //***********************************
-extern BufferedSerial cp(PA_9, PA_10, BUFF_SIZE, TX_MULTIP);
-//>>>>>>>> extern Serial usb(USBTX, USBRX);
+extern BufferedSerial cp(PC_4, PC_5, BUFF_SIZE, TX_MULTIP);     // USART3
+extern Serial usb(USBTX, USBRX);                               // USART2
 
 extern DigitalOut display_unidades[7] = {
-       PB_6, PB_1, PF_0, PF_1, PA_8, PA_11, PB_5
+       PA_3, PA_2, PA_10, PB_3, PB_5, PB_4, PB_10
        }; // a, b, c, d, e, f, g
 
 extern DigitalOut display_decenas[7] = {
-       PA_7, PA_6, PA_5, PA_4, PA_3, PA_1, PA_0
+       PA_8, PA_9, PC_7, PB_6, PA_7, PA_6, PA_5
        }; // a, b, c, d, e, f, g
 
 extern DigitalOut display_centenas[2] = {
-       PA_2, PB_4
+       PB_9, PB_8
        }; // b, c
 
-extern RGBLed status_led(PA_12, PB_0, PB_7); // LED RGB
-extern DigitalOut myled(LED1);               // Buzzer
+extern RGBLed status_led(PB_13, PB_14, PB_15);  // LED RGB
+extern PwmOut buzzer(PA_11);
+extern PwmOut blink_rgb(PC_6);
+extern PwmOut blink_d7s(PC_8);
+extern DigitalOut myled(LED1);                 
 
 
 //
@@ -46,8 +49,8 @@
 {
     // CONFIGURAR PUERTOS
     cp.baud(9600);
-    //>>>>>>>> usb.baud(115200);
-    //>>>>>>>> usb.printf("INICIO!\r\n\r\n");
+    usb.baud(115200);
+    usb.printf("INICIO!\r\n\r\n");
 
     // DECLARACIÓN DE VARIABLES
     float velocidad_gps_actual = 0.0;
@@ -74,11 +77,11 @@
         
         // Procesar trama recibida
         if (trama_recibida) {
-            //>>>>>>>> usb.printf("Trama recibida - OK\r\n"); wait_ms(50);
+            usb.printf("Trama recibida - OK\r\n");
             trama_valida = validar_trama_conduse(bytes_entrantes);
 
             if (trama_valida) {
-                //>>>>>>>> usb.printf("Trama valida - OK\r\n"); wait_ms(50);
+                usb.printf("Trama valida - OK\r\n"); 
                 extraer_velocidad_conduse(bytes_entrantes,
                                           &velocidad_gps_actual);
 
@@ -87,7 +90,7 @@
                         
                     analizar_velocidad_conduse(&velocidad_gps_actual,
                     &centenas, &decenas, &unidades);
-                    //>>>>>>>> usb.printf("Velocidad: %d %d %d\r\n", centenas, decenas, unidades); wait_ms(50);
+                    usb.printf("Velocidad: %d%d%d\r\n", centenas, decenas, unidades);
                     
                     // Enviar datos a Display
                     /* ************************************************** */
@@ -99,26 +102,27 @@
                     contador_errores = 0;
                     
                 } else {
-                    //>>>>>>>> usb.printf("Velocidad fuera de rango - ERROR\r\n"); wait_ms(50);
+                    usb.printf("Velocidad fuera de rango - ERROR\r\n");
                     contador_errores++;
                 }
             } else {
-                //>>>>>>>> usb.printf("Trama valida - ERROR\r\n"); wait_ms(50);
+                usb.printf("Trama valida - ERROR\r\n");
                 contador_errores++;
             }
         } else {
-            //>>>>>>>> usb.printf("Trama recibida - ERROR\r\n"); wait_ms(50);
+            usb.printf("Trama recibida - ERROR\r\n");
             contador_errores++;
         }
 
         if (contador_errores>=5) {
             // Presentar mensaje de error
-            //>>>>>>>> usb.printf("Display7s -> EEE\r\n"); wait_ms(50);
+            usb.printf("Display7s -> EEE\r\n");
             mostrar_error7s(display_centenas, display_decenas, display_unidades);
             status_led.write(1.0, 1.0, 1.0);
         }
 
         // Limpiar variables
+        usb.printf("...\r\n");
         iniciar_data_cp(bytes_entrantes);
         myled = !myled;
         wait(1); //