Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: MorseCode.cpp
- 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