MorseGenerator test
Embed:
(wiki syntax)
Show/hide line numbers
morsegenerator.h
00001 #include <map> 00002 #include <string> 00003 #include "mbed.h" 00004 00005 #define DIT_MS 100 00006 00007 00008 using namespace std; 00009 00010 typedef map <char, string> MapType; 00011 typedef void (*callback_type)(int); 00012 00013 const string MORSE_LETTERS[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."}; 00014 const string MORSE_NUMBERS[] = {".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----.", "-----"}; 00015 00016 /** MorseGenerator class. 00017 * 00018 * Example: 00019 * @code 00020 * #include "mbed.h" 00021 * #include "main.h" 00022 * #include "morsegenerator.h" 00023 * 00024 * DigitalOut myled(p18); 00025 * 00026 * void morse_callback(int val) { 00027 * myled = val; 00028 * } 00029 * 00030 * int main() { 00031 * MorseGenerator morse = MorseGenerator(morse_callback); 00032 * 00033 * while (1) { 00034 * morse.transmit("CQCQ DE M6SPX"); 00035 * } 00036 * } 00037 * @endcode 00038 */ 00039 class MorseGenerator { 00040 MapType morse_map; 00041 callback_type callback; 00042 00043 void generate_morse_map(); 00044 void add_mappings(string morse_chars, const string morse_codes[]); 00045 public: 00046 /** Create a MorseGenerator that calls a specific callback 00047 * 00048 * @param callback called when turning on or off. 00049 */ 00050 MorseGenerator(callback_type callback); 00051 00052 /** transmit a string 00053 * 00054 * @param message to transmit. 00055 */ 00056 void transmit(string message); 00057 00058 /** transmit a char 00059 * 00060 * @param char to transmit. 00061 */ 00062 void transmit(char letter); 00063 };
Generated on Sat Jul 16 2022 00:49:06 by 1.7.2