Bing Xian Lim / Mbed 2 deprecated ECE4180FinalProjectTramsmitter

Dependencies:   mbed-rtos mbed

Files at this revision

API Documentation at this revision

Comitter:
jasonbx
Date:
Sun Apr 30 17:18:41 2017 +0000
Commit message:
Initial Commit

Changed in this revision

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
transmitter.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Sun Apr 30 17:18:41 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/mbed_official/code/mbed-rtos/#58563e6cba1e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Apr 30 17:18:41 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/mbed_official/code/mbed/builds/97feb9bacc10
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/transmitter.cpp	Sun Apr 30 17:18:41 2017 +0000
@@ -0,0 +1,111 @@
+/* Created on 4/21/2017
+*  By Varun Malhotra
+*/
+
+#include "mbed.h"
+#include "rtos.h"
+ 
+RawSerial pc(USBTX, USBRX); // tx, rx
+RawSerial device(p9, p10);  // tx, rx
+DigitalOut myled1(LED1);
+DigitalOut myled2(LED2);
+DigitalOut myled3(LED3);
+DigitalOut myled4(LED4);
+
+// character to interlock the the trasnmitter and receiver
+volatile char c = 0xAA;
+volatile int cmnd_received = 0;
+
+void serial_conn_receiver(void)
+{
+         while(1) {   
+            
+            if (pc.readable()) {
+                c = pc.getc();
+                
+                if (c == 'U') {
+                    
+                    c = 0x55;
+                    cmnd_received = 1;
+                    myled1 = 1;
+                    myled2 = 0;
+                    myled3 = 0;
+                    myled4 = 0;
+                     
+                } else if (c == 'D') {
+                    
+                    c = 0x56;
+                    cmnd_received = 1;
+                    myled1 = 0;
+                    myled2 = 1;
+                    myled3 = 0;
+                    myled4 = 0;
+                
+                } else if (c == 'L') {
+                    
+                    c = 0x57;
+                    cmnd_received = 1;
+                    myled1 = 0;
+                    myled2 = 0;
+                    myled3 = 1;
+                    myled4 = 0;
+                
+                } else if (c == 'R') {
+                    
+                    c = 0x58;
+                    cmnd_received = 1;
+                    myled1 = 0;
+                    myled2 = 0;
+                    myled3 = 0;
+                    myled4 = 1;
+                
+                
+                } else if (c == 'S') {
+                    
+                    c = 0x59;
+                    cmnd_received = 1;
+                    myled1 = 0;
+                    myled2 = 0;
+                    myled3 = 0;
+                    myled4 = 0;
+                
+                } else if (c == 'M') {
+                    
+                    c = 0x60;
+                    cmnd_received = 1;
+                    myled1 = 0;
+                    myled2 = 0;
+                    myled3 = 0;
+                    myled4 = 0;   
+                }
+            }
+
+            Thread::wait(1000);
+        }
+}
+ 
+
+
+int main() {
+    
+    device.baud(600);
+    
+    //spawn thread to retrieve characters from the GUI
+    Thread t1(serial_conn_receiver);
+    
+    while (1) {
+                
+            if (cmnd_received) { 
+                
+                device.putc(c);
+                cmnd_received = 0;
+            
+            } else {
+                device.putc(0xAA);    
+            }
+            
+            Thread::wait(20);
+
+       }
+
+}
\ No newline at end of file