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:
38:d88296cbb39c
Parent:
37:befd2fe96ee3
Child:
39:0d7165083e7a
--- a/main.cpp	Fri Nov 06 22:31:17 2015 +0000
+++ b/main.cpp	Thu Dec 24 01:38:56 2015 +0000
@@ -9,7 +9,8 @@
 
 Terminal term(USBTX, USBRX); // tx, rx
 BufferedSerial pc(SERIAL_TX, SERIAL_RX); //Apertura della seriale 2
-BufferedSerial ardser(PA_11, PA_12); //Apertura della seriale 1 *opzionale vedi sotto
+// originale!!!!!!!!!  BufferedSerial ardser(PA_11, PA_12); //Apertura della seriale 1 *opzionale vedi sotto
+BufferedSerial ardser(PC_4, PC_5);
 //init funzioni personal lib
 Flasher led(LED1);
 Screen sc(&pc);
@@ -23,6 +24,16 @@
 bool realExtraSerial=true; //se true manda fuori solo le info reali senno demo
 bool randomActivate=true; //se true attiva sul sequencer il cambio di note casuali
 
+string menu_main[10];
+string menu_funcChoice[10];
+string menu_function[99];
+int menuidx=0;
+int funcidx=0;
+
+//---------- extern
+// dichiarando qui le variabili extern, posso inizializzarle in qualunque parte del programma. In teoria parrebbe inutile ma in questo modo posso un domani istanziarle ovunque
+extern int p01,p02,p03;
+extern int p51, p52;
 
 //------------ Funzioni -------------
 #include "macroDisp.h"
@@ -70,7 +81,6 @@
                 buffer[0][i[0]]=0; //se è un CR inserisci un carattere nullo nel buffer per delimitare la stringa
                 //controlla di non  mandare solo un CR
                 if (i[0]>0) {
-                    // if (realExtraSerial==false) ardser.printf("cmd Ready\n\r");
                     for(int ii=0; ii<=i[0]; ii++) bufferTemp[ii]=buffer[0][ii];
                     parserVT100(bufferTemp);
                 } else term.readypos();
@@ -81,7 +91,7 @@
         //seriale esterna
         if (ardser.readable()) {
             c[1]=ardser.getc(); //legge un carattere dalla seriale
-             if ((c[1] != 10) && (c[1] != 13))   {
+            if ((c[1] != 10) && (c[1] != 13))   {
                 buffer[1][i[1]]=c[1]; // se il carattere è diverso da CarriageReturn (ASCII 13) lo memorizza nel buffer
                 i[1]++; // incrementa il puntatore al buffer
             } else {