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.
MorseCode.cpp
- Committer:
- ibose3
- Date:
- 2015-10-21
- Revision:
- 0:303fe443c3d4
File content as of revision 0:303fe443c3d4:
#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;
}
}