summaryrefslogtreecommitdiffstats
path: root/uino/morse/morse.pde
diff options
context:
space:
mode:
Diffstat (limited to 'uino/morse/morse.pde')
-rw-r--r--uino/morse/morse.pde164
1 files changed, 0 insertions, 164 deletions
diff --git a/uino/morse/morse.pde b/uino/morse/morse.pde
deleted file mode 100644
index 685f5092..00000000
--- a/uino/morse/morse.pde
+++ /dev/null
@@ -1,164 +0,0 @@
-#include <SoftwareSerial.h>
-
-/*
- Implementes the Morse algorithm for a simple speaker
-
- @author Felix
- @date 07.05.2011
- */
-int inByte = 0;
-int i = 0;
-int j = 0;
-int char_avail = 0;
-
-/* You can touch this: */
-#define DIT_DELAY 50
-
-
-/* But you cannot touch this: */
-#define WORD_DELAY (DIT_DELAY * 7)
-#define DIT_CYCLES (DIT_DELAY/2)
-#define CHAR_DELAY (DIT_DELAY * 3)
-
-#define dsym() delay(DIT_DELAY);
-#define char_delay() delay(CHAR_DELAY);
-#define word_delay() delay(WORD_DELAY);
-
-
-static char* latin_upper[] = {
- ". -\0" , /* A */
- "- . . .\0"
- "- . . .\0",
- "- . - .\0",
- "- . .\0",
- ".\0",
- ". . - .\0",
- "- - .\0",
- ". . . .\0",
- ". .\0",
- ". - - -\0",
- "- . -\0",
- ". - . .\0",
- "- -\0",
- "- .\0",
- "- - -\0",
- ". - - .\0",
- "- - . -\0",
- ". - .\0",
- ". . .\0",
- "-\0",
- ". . -\0",
- ". . . -\0",
- ". - -\0",
- "- . . -\0",
- "- . - -\0",
- "- - . .\0" /* Z */
-};
-static char* numbers[] = {
- "- - - - -\0", /* 0 */
- ". - - - -\0",
- ". . - - -\0",
- ". . . - -\0",
- ". . . . -\0",
- ". . . . .\0",
- "- . . . .\0",
- "- - . . .\0",
- "- - - . .\0",
- "- - - - .\0" /* 9 */
-};
-
-void setup() {
- // initialize the digital pin as an output.
- // Pin 13 has an LED connected on most Arduino boards:
- pinMode(13, OUTPUT);
- Serial.begin(9600);
-}
-
-
-
-void loop() {
- char_avail = Serial.available();
-
- if(char_avail > 0) {
- for (j = 0; j < char_avail;j++)
- {
- char on_line = Serial.read();
- to_beep(on_line);
- char_delay();
- }
- }
-}
-
-void to_beep(char data)
-{
- char* mdata;
- if (data == ' ')
- {
- word_delay();
- Serial.println("word end");
- return;
- }
- else{
- if (data == '\n') {
- word_delay();
- Serial.println("EOL");
- return;
- } else
- if (data >= 'A' && data <= 'Z' )
- mdata = latin_upper[data-'A'];
- else
- if (data >= 'a' && data <= 'z' )
- mdata = latin_upper[data-'a'];
- else
- if (data >= '0' && data <= '9')
- mdata = numbers[data-'0'];
- else
- {
- Serial.print(data);
- Serial.println(": not implemented");
- return;
- }
- }
-
- Serial.println(mdata);
- int sdata = strlen( mdata);
- for( char i = 0; i < sdata; i ++)
- {
-
- char token = mdata[i];
- if (token == '.')
- {
- dit();
- }
- if (token == '-')
- {
- dah();
- }
- if (token == ' ')
- {
- dsym();
- }
-
- }
-
-}
-void dah() {
- for (int i=0;i<3;i++)
- {
- dit();
- }
-}
-
-void dit(){
-
- for (int i=0;i<DIT_CYCLES;i++) // Number of DIT Cycles , sleep 2 milliseconds in a cycle
- {
- digitalWrite(13, HIGH); // set the LED on
- delay(1);
-
- digitalWrite(13, LOW); // set the LED off
- delay(1);
- }
-}
-
-