Tobias Gustafsson / Mbed 2 deprecated Nucleo_folkrace

Dependencies:   BufferedSerial Parameters mbed-rtos mbed

Files at this revision

API Documentation at this revision

Comitter:
captainsmiley
Date:
Sun Mar 05 09:59:33 2017 +0000
Commit message:
tgtest

Changed in this revision

BufferedSerial.lib Show annotated file Show diff for this revision Revisions of this file
Parameters.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 68807846deaf BufferedSerial.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BufferedSerial.lib	Sun Mar 05 09:59:33 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/sam_grove/code/BufferedSerial/#a0d37088b405
diff -r 000000000000 -r 68807846deaf Parameters.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Parameters.lib	Sun Mar 05 09:59:33 2017 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/users/captainsmiley/code/Parameters/#4321ae746746
diff -r 000000000000 -r 68807846deaf main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Mar 05 09:59:33 2017 +0000
@@ -0,0 +1,149 @@
+#include "mbed.h"
+//#include "mbed_events.h"
+#include "rtos.h"
+#include "BufferedSerial.h"
+#include "Parameters.h"
+
+
+//------------------------------------
+// Hyperterminal configuration
+// 9600 bauds, 8-bit data, no parity
+//------------------------------------
+
+Serial pc(SERIAL_TX, SERIAL_RX);
+BufferedSerial esp(D1,D0);
+
+DigitalOut myled(LED1);
+DigitalOut led2(LED2);
+
+//PwmOut servoPwm(D9);
+
+//EventQueue queue(3 * EVENTS_EVENT_SIZE);
+Thread event_queue_thread;
+
+
+Thread esp_read_thread;
+void read_esp();
+void check_serial1();
+
+Thread control_and_actuate_thread;
+void control_and_actuate();
+
+
+
+
+int main()
+{
+    esp.baud(115200);
+    wait(0.1);
+    esp_read_thread.start(control_and_actuate);
+    wait(0.1);
+    control_and_actuate_thread.start(control_and_actuate);
+    wait(0.1);
+    wait(0.1);
+    wait(1);
+
+    int i = 1;
+    while(1) {
+        wait(1);
+        char tmp = 't';
+        pc.printf("Main loop, %d , %c \r\n", i++, tmp);
+        esp.printf("test\n");
+        myled = !myled;
+    }
+}
+
+void control_and_actuate()
+{
+    //servoPwm.period(0.015f);
+    //servoPwm.pulsewidth(0.0015f);
+
+    while(1)
+    {
+
+    }
+}
+
+void read_esp()
+{
+    while(1)
+    {
+        //check_serial1();
+    }
+}
+
+void check_serial1()
+{
+    char c;
+    static char param[20] = {""};
+    static char value[10] = {""};
+    static uint8_t value_index = 0;
+    static uint8_t param_index = 0;
+    static int count = 0;
+    static enum State {READ_PARAM,READ_VALUE,SEARCH} state;
+    while (esp.readable()) {
+        // read the incoming byte:
+        c = esp.getc();
+        switch (state)
+        {
+        case READ_PARAM:
+            //pc.printf("State read param");
+            count++;
+            if(c=='='){
+                count = 0;
+                value[0] = '\0';
+                value_index = 0;
+                state = READ_VALUE;
+            }
+            else if(c=='&') {count = 0;param[0] = '\0';}
+            else
+                {
+                param[param_index] = c;
+                param_index++;
+                if (param_index >= 20)
+                {
+                    error("Param buffer ovf");
+                    param_index = 0;
+                    state = SEARCH;
+                }
+                param[param_index] = '\0';
+                }
+            break;
+        /* Reading value from serial *** */
+        case READ_VALUE:
+            if(c=='=') {
+                value[0] = '\0';
+            }
+            else if(c=='&'){
+                pc.printf("Found param value:");
+                pc.printf(param);pc.printf(value);
+                pms.try_write(param,value);
+            }
+            else
+            {
+                value[value_index++] = c;
+                if (param_index >= 20)
+                {
+                    error("Value buffer ovf");
+                    param_index = 0;
+                    state = SEARCH;
+                }
+            value[value_index] = '\0';
+            }
+            break;
+
+        /*****              Searching for & *************/
+        case SEARCH:
+            if(c=='&'){
+                param[0] = '\0';
+                param_index = 0;
+                value[0] = '\0';
+                value_index = 0;
+                state = READ_PARAM;
+            }
+            break;
+        }
+        pc.putc(c);
+    }
+}
+
diff -r 000000000000 -r 68807846deaf mbed-rtos.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Sun Mar 05 09:59:33 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#58563e6cba1e
diff -r 000000000000 -r 68807846deaf mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Mar 05 09:59:33 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/ef9c61f8c49f
\ No newline at end of file