From e19bec690a9890c2a53b2f82edc7e562fbc840c7 Mon Sep 17 00:00:00 2001 From: Ashhar Farhan Date: Wed, 18 Dec 2019 11:44:32 +0530 Subject: [PATCH] Delete morse_reader.ino --- morse_reader.ino | 111 ----------------------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 morse_reader.ino diff --git a/morse_reader.ino b/morse_reader.ino deleted file mode 100644 index 8e8cb26..0000000 --- a/morse_reader.ino +++ /dev/null @@ -1,111 +0,0 @@ - -/* - * Each byte of the morse table stores one letter. - * The 0 is a dot, a 1 is a dash - * From the Most significant byte onwards, the letter is padded with 1s. - * The first zero after the 1s indicates the start of the letter, it MUST be discarded - */ - -struct Morse { - char letter; - unsigned char code; -}; - -const PROGMEM struct Morse morse_table[] = { -{'a', 0xf9}, // 11111001 -{'b', 0xe8}, // 11101000 -{'c', 0xea}, // 11101010 -{'d', 0xf4}, // 11110100 -{'e', 0xfc}, // 11111100 -{'f', 0xe4}, // 11100100 -{'g', 0xf6}, // 11110110 -{'h', 0xe0}, // 11100000 -{'i', 0xf8}, // 11111000 -{'j', 0xe7}, // 11100111 -{'k', 0xf6}, // 11110101 -{'l', 0xe4}, // 11100100 -{'m', 0xfb}, // 11111011 -{'n', 0xfa}, // 11111010 -{'o', 0xf7}, // 11110111 -{'p', 0xe6}, // 11100110 -{'q', 0xed}, // 11101101 -{'r', 0xf2}, // 11110010 -{'s', 0xf0}, // 11110000 -{'t', 0xfd}, // 11111101 -{'u', 0xf1}, // 11110001 -{'v', 0xe1}, // 11100001 -{'w', 0xf3}, // 11110011 -{'x', 0xe9}, // 11101001 -{'y', 0xe3}, // 11101011 -{'z', 0xec}, // 11101100 -{'1', 0xcf}, // 11001111 -{'2', 0xc7}, // 11000111 -{'3', 0xc3}, // 11000011 -{'4', 0xc1}, // 11000001 -{'5', 0xc0}, // 11000000 -{'6', 0xd0}, // 11010000 -{'7', 0xd8}, // 11011000 -{'8', 0xdc}, // 11011100 -{'9', 0xde}, // 11011110 -{'0', 0xdf}, // 11011111 -{'.', 0xd5}, // 110010101 -{'?', 0xd3}, // 110110011 -}; - -void morseLetter(char c){ - unsigned char mask = 0x80; - - //handle space character as three dashes - if (c == ' '){ - active_delay(cwSpeed * 9); - Serial.print(' '); - return; - } - - for (int i = 0; i < sizeof(morse_table)/ sizeof(struct Morse); i++){ - struct Morse m; - memcpy_P(&m, morse_table + i, sizeof(struct Morse)); - - if (m.letter == tolower(c)){ - unsigned char code = m.code; - //Serial.print(m.letter); Serial.println(' '); - - while(mask & code && mask > 1) - mask = mask >> 1; - //now we are at the first zero, skip and carry on - mask = mask >> 1; - while(mask){ - tone(CW_TONE, sideTone,10000); - if (mask & code){ - delay(3 * (int)cwSpeed); - //Serial.print('-'); - } - else{ - delay((int)cwSpeed); - //Serial.print('.'); - } - //Serial.print('#'); - noTone(CW_TONE); - delay((int)cwSpeed); // space between dots and dashes - mask = mask >> 1; - } - //Serial.println('@'); - delay(200); // space between letters is a dash (3 dots), one dot's space has already been sent - } - } -} - -void morseText(char *text){ -// while (1){ - noTone(CW_TONE); - delay(1000); - tone(CW_TONE, 600); - delay(1000); -// } - - Serial.println(sideTone); - while(*text){ - morseLetter(*text++); - } -} -