Thomas Cauwelier / Mbed 2 deprecated visible_light_communication

Dependencies:   SoftSerial SDFileSystem mbed wave_player

Revision:
12:a070de571ea1
Parent:
11:e462ce7a42b9
Child:
13:c111ea1c5990
--- a/main.cpp	Wed May 03 10:17:50 2017 +0200
+++ b/main.cpp	Tue May 09 21:39:59 2017 +0200
@@ -2,69 +2,85 @@
 #include "mbed.h"
 #include "rtos.h"
 #include "Manchester.h"
-
-Serial out(p9, p10, 3200); //p9
-Serial in(p13, p14, 3200); //p14
-
-char *read_2_bytes(Serial *serial, char out[2]) {
-    int i = 0;
-    while (true) {
-        while (!serial->readable());
-        char c = (char) serial->getc();
-        if (c == 0b11100011) //no data flag
-            continue;
-        else {
-            out[i] = c;
-            i++;
-        }
-
-        if (i == 2) {
-            break;
-        }
-    }
-    return out;
-}
-
+#include "SoftSerial.h"
 
-void receive_uart() {
-    while (true) {
-        if (in.readable()) {
-            char s[2];
-            read_2_bytes(&in, s);
-            char dec[1];
-            bool error = Manchester::decode_manchester(s, 2, dec);
-            printf(dec);
-            if(error){
-                printf("#");
-            }
-        } else {
-            Thread::yield();
-        }
-    }
-}
+//Serial out(p9, p10, 3200); //p9
+//Serial in(p13, p14, 3200); //p14
+//Serial usb(USBTX,USBRX);
+//
+//char *read_2_bytes(Serial *serial, char out[2]) {
+//    int i = 0;
+//    while (true) {
+//        while (!serial->readable());
+//        char c = (char) serial->getc();
+//        if (c == 0b11100011) //no data flag
+//            continue;
+//        else {
+//            out[i] = c;
+//            i++;
+//        }
+//
+//        if (i == 2) {
+//            break;
+//        }
+//    }
+//    return out;
+//}
+//
+//
+//void receive_uart() {
+//    while (true) {
+//        if (in.readable()) {
+//            char s[2];
+//            read_2_bytes(&in, s);
+//            char dec[1];
+//            bool success = Manchester::decode_manchester(s, 2, dec);
+//            printf(dec);
+//            if (!success) {
+//                printf("#");
+//            }
+//        } else {
+//            Thread::yield();
+//        }
+//    }
+//}
+//
+//void send_uart(Serial *serial, const char *s, int size) {
+//    int size_m = size * 2;
+//    char encoded[size_m];
+//    Manchester::encode_manchester(s, size, encoded);
+//
+//    for (int i = 0; i < size_m; ++i) {
+//        while (!serial->writeable());
+//        serial->putc(encoded[i]);
+//    }
+//}
+//
+//void hardware_uart_test(){
+//
+//
+//    printf("%s\r\n", "hello, term!");
+//
+//    Thread thread;
+//    thread.start(receive_uart);
+//
+//    while (true) {
+//        char tosend[28];
+//        Manchester::encode_manchester("hello, term\r\n", 14, tosend);
+//        send_uart(&out, tosend, 28);
+//        //wait(1);
+//    }
+//}
 
-void send_uart(Serial *serial, const char *s, int size) {
-    int size_m = size * 2;
-    char encoded[size_m];
-    Manchester::encode_manchester(s, size, encoded);
-    
-    for (int i = 0; i < size_m; ++i) {
-        while (!serial->writeable());
-            serial->putc(encoded[i]);
-    }
-}
+#define RELAY 1
 
 int main() {
-    printf("%s\r\n", "hello, term!");
-
-    Thread thread;
-    thread.start(receive_uart);
+    SoftSerial s(LED1,NC);
+    s.baud(1);
 
-    while (true) {
-        char tosend[28];
-        Manchester::encode_manchester("hello, term\r\n", 14, tosend);
-        send_uart(&out, tosend, 28);
-        //wait(1);
+    if (RELAY){
+        s.putc(0b00110101);
+    } else {
+
     }
-
 }
\ No newline at end of file