Console Serial IO con display OLED e seriale asincrona

Dependencies:   mbed BufferedSerial AserialIOFuncLib SSD1306 TerminalPlusV2

Fork of SerialIO by Max Scordamaglia

Console Serial IO con display OLED e seriale asincrona

Revision:
4:aa08e8d5ac27
Parent:
3:2f32e34d820c
Child:
5:4d547f4c1278
--- a/main.cpp	Thu May 21 15:34:30 2015 +0000
+++ b/main.cpp	Sat May 23 00:41:25 2015 +0000
@@ -1,14 +1,17 @@
 #include "mbed.h"
 #include "config.h"
+#include "IOFuncLib.h"
 
-DigitalOut myled1(LED1); //definisce myled
-DigitalOut myled2(LED2); //definisce myled
+//init standard
 InterruptIn mybutton(USER_BUTTON);
 Serial pc(SERIAL_TX, SERIAL_RX); //Apertura della seriale 2
 Serial ardser(PA_11, PA_12); //Apertura della seriale 1 *opzionale vedi sotto
+//init funzioni personal lib
+Flasher led(LED1);
+//var
+int cont=0;
 
-    int cont=0;
-
+//------------ Funzioni -------------
 
 void pressed()
 {
@@ -23,13 +26,20 @@
     pc.printf("--- Nucleo Scorda IO Test ---\n\r\n");
 }
 
-void callback() {
+void callback()
+{
     // Note: you need to actually read from the serial to clear the RX interrupt
-   // ardser.printf("%d \n", cont++);
- //  myled2 = !myled2;
+    // ardser.printf("%d \n", cont++);
+//  myled2 = !myled2;
 }
 
 
+void parser(char stringa[]) {
+    
+    
+    }
+//-------------- fine funzioni
+
 int main()
 {
     char c; // variabile che contiene il carattere appena ricevuto
@@ -38,8 +48,7 @@
     //Serial config
     pc.baud(SERIAL1BAUD);
     ardser.baud(SERIALARDBAUD);
-    //pc.format(int bits=8, Parity parity=SerialBase::None, int stop_bits=1) 
-
+    //pc.format(int bits=8, Parity parity=SerialBase::None, int stop_bits=1)
 
     mybutton.fall(&pressed);
     banner();
@@ -50,6 +59,7 @@
         if (c != 13) {
             buffer[i]=c; // se il carattere è diverso da CarriageReturn (ASCII 13) lo memorizza nel buffer
             i++; // incrementa il puntatore al buffer
+            led.flash(2);
         } else {
             pc.printf("\n\r");
             buffer[i]=0; //se è un CR inserisci un carattere nullo nel buffer per delimitare la stringa
@@ -59,15 +69,14 @@
                     ||(strcmp(buffer,"apriti sesamo")==0)) { //restituendo 0 se le stringhe sono uguali.
                 pc.printf("Led ACCESO \n\r");
                 ardser.printf("\nLed ACCESO \n\r");
-                myled1 = 1; //Accende il led
+                led.onOff(1); //Accende il led
             }
             if ((strcmp(buffer,"off")==0) //Confronto per i comandi di spegnimento del led
                     ||(strcmp(buffer,"spento")==0)
                     ||(strcmp(buffer,"chiuditi sesamo")==0)) {
                 pc.printf("Led SPENTO !\n\r");
                 ardser.printf("\nLed SPENTO! \n\r");
-
-                myled1 = 0; // spegne il led
+                led.onOff(0); // spegne il led
             }
         }
     }