Ishita Bose / Mbed 2 deprecated LightMorseCode

Dependencies:   TextLCD mbed

Revision:
0:303fe443c3d4
diff -r 000000000000 -r 303fe443c3d4 MorseCode.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MorseCode.cpp	Wed Oct 21 18:06:05 2015 +0000
@@ -0,0 +1,128 @@
+#include "mbed.h"
+#include "TextLCD.h"
+
+TextLCD lcd(p14, p16, p17, p18, p19, p20); 
+
+int Value = 0;
+int First = 1;
+int printSignal = 0;
+int clearSignal = 0;
+
+void printChar(int val) {
+    switch(val) {
+    case 0:
+        break;
+    case 184:
+        lcd.putc('a');
+        break;
+    case 3752:
+        lcd.putc('b');
+        break;
+    case 15080:
+        lcd.putc('c');
+        break;
+    case 936:
+        lcd.putc('d');
+        break;
+    case 8:
+        lcd.putc('e');
+        break;
+    case 2792:
+        lcd.putc('f');
+        break;
+    case 3816:
+        lcd.putc('g');
+        break;
+    case 680:
+        lcd.putc('h');
+        break;
+    case 40:
+        lcd.putc('i');
+        break;
+    case 48056:
+        lcd.putc('j');
+        break;
+    case 3768:
+        lcd.putc('k');
+        break;
+    case 2984:
+        lcd.putc('l');
+        break;
+    case 952:
+        lcd.putc('m');
+        break;
+    case 232:
+        lcd.putc('n');
+        break;
+    case 15288:
+        lcd.putc('o');
+        break;
+    case 12008:
+        lcd.putc('p');
+        break;
+    case 61112:
+        lcd.putc('q');
+        break;
+    case 744:
+        lcd.putc('r');
+        break;
+    case 168:
+        lcd.putc('s');
+        break;
+    case 56:
+        lcd.putc('t');
+        break;
+    case 696:
+        lcd.putc('u');
+        break;
+    case 2744:
+        lcd.putc('v');
+        break;
+    case 3000:
+        lcd.putc('w');
+        break;
+    case 15032:
+        lcd.putc('x');
+        break;
+    case 60344:
+        lcd.putc('y');
+        break;
+    case 15272:
+        lcd.putc('z');
+        break;
+    }
+}
+
+void MorseCode(int tick) {
+    if(tick) {
+        printSignal = 0;
+        clearSignal = 0;
+        
+        Value = Value << 1;
+        Value += 1;
+    }
+    else {
+        printSignal += 1;
+        clearSignal += 1;
+        
+        Value = Value << 1;
+    }
+    
+    if(First) {
+        lcd.cls();
+        First = 0;
+    }
+    
+    //Prints character after 3 ticks
+    if(printSignal == 3) {
+        printChar(Value);
+        printSignal = 0;
+        Value = 0;
+    }
+    
+    //Clears screen after 20 ticks
+    if(clearSignal == 20) {
+        lcd.cls();
+        clearSignal = 0;
+    }
+}
\ No newline at end of file