Kabuki Starship / Mbed 2 deprecated mbedBug

Dependencies:   mbed

Committer:
kabukistarship
Date:
Thu Apr 09 22:40:13 2020 +0000
Revision:
6:02df5c1108f1
Parent:
5:4136e9141bde
Renamed StatusLED to StatusIndicator.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kabukistarship 2:aa9a1377aa0d 1 /* mbedBug @version 0.x
kabukistarship 2:aa9a1377aa0d 2 @link https://github.com/KabukiStarship/mbedbug.git
kabukistarship 6:02df5c1108f1 3 @file /MorseCode.cpp
kabukistarship 2:aa9a1377aa0d 4 @author Cale McCollough <https://cale-mccollough.github.io>
kabukistarship 2:aa9a1377aa0d 5 @license Copyright 2016-20 (C) Kabuki Starship <kabukistarship.com>; all rights
kabukistarship 2:aa9a1377aa0d 6 reserved (R). This Source Code Form is subject to the terms of the Mozilla
kabukistarship 2:aa9a1377aa0d 7 Public License, v. 2.0. If a copy of the MPL was not distributed with this file,
kabukistarship 2:aa9a1377aa0d 8 You can obtain one at <https://mozilla.org/MPL/2.0/>. */
kabukistarship 5:4136e9141bde 9 #include "MorseCode.h"
kabukistarship 2:aa9a1377aa0d 10 namespace mbedBug {
kabukistarship 5:4136e9141bde 11 const char* MorseCode (char Code) {
kabukistarship 5:4136e9141bde 12 static const char* Space = " "; //<
kabukistarship 2:aa9a1377aa0d 13
kabukistarship 2:aa9a1377aa0d 14 static const char* Cypher[] = {
kabukistarship 2:aa9a1377aa0d 15 ".-.-.", //< ASCII: NUL, Morse code: End of message.
kabukistarship 2:aa9a1377aa0d 16 0, //< ASCII: SOH.
kabukistarship 2:aa9a1377aa0d 17 "-.-.-", //< ASCII: STX, Morse code: Start copying.
kabukistarship 2:aa9a1377aa0d 18 "-.-..-..", //< ASCII: ETX, Morse code: Going off the air ("clear").
kabukistarship 2:aa9a1377aa0d 19 "...-.-", //< ASCII: EOT, Morse code: End of transmission.
kabukistarship 2:aa9a1377aa0d 20 "-.--.", //< ASCII: ENQ, Morse code: Invite a specific station to transmit.
kabukistarship 2:aa9a1377aa0d 21 "...-.", //< ASCII: ACK, Morse code: Understood.
kabukistarship 2:aa9a1377aa0d 22 "...---...", //< ASCII: BEL, Morse code: SOS distress signal.
kabukistarship 2:aa9a1377aa0d 23 "........", //< ASCII: BS, Morse code: Prosign error.
kabukistarship 2:aa9a1377aa0d 24 Space, //< ASCII: HT, Morse code: non-standard space.
kabukistarship 2:aa9a1377aa0d 25 ".-.-", //< ASCII: LF, Morse code: New Line
kabukistarship 2:aa9a1377aa0d 26 "-...-", //< ASCII: VT, Morse code: New paragraph.
kabukistarship 2:aa9a1377aa0d 27 ".-.-.", //< ASCII: FF, Morse code: New Page
kabukistarship 2:aa9a1377aa0d 28 0, //< ASCII: CR
kabukistarship 2:aa9a1377aa0d 29 "-..---", //< ASCII: SO, Morse code: Change to Wabun Mores code.
kabukistarship 2:aa9a1377aa0d 30 ".--...", //< ASCII: SI, Morse code: Non-standard return to Western Mores code
kabukistarship 2:aa9a1377aa0d 31 0, //< ASCII: DLE
kabukistarship 2:aa9a1377aa0d 32 0, //< ASCII: DC1
kabukistarship 2:aa9a1377aa0d 33 0, //< ASCII: DC2
kabukistarship 2:aa9a1377aa0d 34 0, //< ASCII: DC3
kabukistarship 2:aa9a1377aa0d 35 0, //< ASCII: DC4
kabukistarship 2:aa9a1377aa0d 36 0, //< ASCII: NAK
kabukistarship 2:aa9a1377aa0d 37 ".-...", //< ASCII: SYN, Morse code: AS, Wait.
kabukistarship 2:aa9a1377aa0d 38 0, //< ASCII: ETB
kabukistarship 2:aa9a1377aa0d 39 0, //< ASCII: CAN
kabukistarship 2:aa9a1377aa0d 40 "-...-.-", //< ASCII: EM, Morse code: Break/BRB.
kabukistarship 2:aa9a1377aa0d 41 0, //< ASCII: SUB
kabukistarship 2:aa9a1377aa0d 42 0, //< ASCII: ESC
kabukistarship 2:aa9a1377aa0d 43 0, //< ASCII: FS
kabukistarship 2:aa9a1377aa0d 44 0, //< ASCII: GS
kabukistarship 2:aa9a1377aa0d 45 0, //< ASCII: RS
kabukistarship 2:aa9a1377aa0d 46 0, //< ASCII: US
kabukistarship 2:aa9a1377aa0d 47 Space, //< ASCII: ' '
kabukistarship 2:aa9a1377aa0d 48 ".-..-.", //< ASCII: '!'
kabukistarship 2:aa9a1377aa0d 49 ".-..-.", //< ASCII: '\"'
kabukistarship 2:aa9a1377aa0d 50 0, //< ASCII: '#'
kabukistarship 2:aa9a1377aa0d 51 "..._.-..", //< ASCII: '$'
kabukistarship 2:aa9a1377aa0d 52 "....._..", //< ASCII: '%'
kabukistarship 2:aa9a1377aa0d 53 "._...", //< ASCII: '&'
kabukistarship 2:aa9a1377aa0d 54 ".----.", //< ASCII: '\''
kabukistarship 2:aa9a1377aa0d 55 "-.--.-", //< ASCII: '('
kabukistarship 2:aa9a1377aa0d 56 ".-..-.", //< ASCII: ')', Nonstandard, inverse of '('
kabukistarship 2:aa9a1377aa0d 57 0, //< ASCII: '*'
kabukistarship 2:aa9a1377aa0d 58 0, //< ASCII: '+'
kabukistarship 2:aa9a1377aa0d 59 "--..--", //< ASCII: ','
kabukistarship 2:aa9a1377aa0d 60 "-....-", //< ASCII: '-'
kabukistarship 2:aa9a1377aa0d 61 ".-.-.-", //< ASCII: '.'
kabukistarship 2:aa9a1377aa0d 62 "-..-.", //< ASCII: '/'
kabukistarship 2:aa9a1377aa0d 63 "-----", //< ASCII: '0'
kabukistarship 2:aa9a1377aa0d 64 ".---", //< ASCII: '1'
kabukistarship 2:aa9a1377aa0d 65 "..---", //< ASCII: '2'
kabukistarship 2:aa9a1377aa0d 66 "...--", //< ASCII: '3'
kabukistarship 2:aa9a1377aa0d 67 "....-", //< ASCII: '4'
kabukistarship 2:aa9a1377aa0d 68 ".....", //< ASCII: '5'
kabukistarship 2:aa9a1377aa0d 69 "-...", //< ASCII: '6'
kabukistarship 2:aa9a1377aa0d 70 "--...", //< ASCII: '7'
kabukistarship 2:aa9a1377aa0d 71 "---..", //< ASCII: '8'
kabukistarship 2:aa9a1377aa0d 72 "----.", //< ASCII: '9'
kabukistarship 2:aa9a1377aa0d 73 "---...", //< ASCII: ':'
kabukistarship 2:aa9a1377aa0d 74 0, //< ASCII: ','
kabukistarship 2:aa9a1377aa0d 75 0, //< ASCII: '<'
kabukistarship 2:aa9a1377aa0d 76 "-...-", //< ASCII: '='
kabukistarship 2:aa9a1377aa0d 77 0, //< ASCII: '>'
kabukistarship 2:aa9a1377aa0d 78 "..--..", //< ASCII: '?'
kabukistarship 2:aa9a1377aa0d 79 ".--.-.", //< ASCII: '@'
kabukistarship 2:aa9a1377aa0d 80 ".-", //< ASCII: 'A'
kabukistarship 2:aa9a1377aa0d 81 "-...", //< ASCII: 'B'
kabukistarship 2:aa9a1377aa0d 82 "-.-.", //< ASCII: 'C'
kabukistarship 2:aa9a1377aa0d 83 "-..", //< ASCII: 'D'
kabukistarship 2:aa9a1377aa0d 84 ".", //< ASCII: 'E'
kabukistarship 2:aa9a1377aa0d 85 "..-.", //< ASCII: 'F'
kabukistarship 2:aa9a1377aa0d 86 "--.", //< ASCII: 'G'
kabukistarship 2:aa9a1377aa0d 87 "....", //< ASCII: 'H'
kabukistarship 2:aa9a1377aa0d 88 "..", //< ASCII: 'I'
kabukistarship 2:aa9a1377aa0d 89 ".---", //< ASCII: 'J'
kabukistarship 2:aa9a1377aa0d 90 "-.-", //< ASCII: 'K'
kabukistarship 2:aa9a1377aa0d 91 ".-..", //< ASCII: 'L'
kabukistarship 2:aa9a1377aa0d 92 "--", //< ASCII: 'M'
kabukistarship 2:aa9a1377aa0d 93 "-.", //< ASCII: 'N'
kabukistarship 2:aa9a1377aa0d 94 "---", //< ASCII: 'O'
kabukistarship 2:aa9a1377aa0d 95 ".--.", //< ASCII: 'P'
kabukistarship 2:aa9a1377aa0d 96 "--.-", //< ASCII: 'Q'
kabukistarship 2:aa9a1377aa0d 97 ".-.", //< ASCII: 'R'
kabukistarship 2:aa9a1377aa0d 98 "...", //< ASCII: 'S'
kabukistarship 2:aa9a1377aa0d 99 "-", //< ASCII: 'T'
kabukistarship 2:aa9a1377aa0d 100 "..-", //< ASCII: 'U'
kabukistarship 2:aa9a1377aa0d 101 "...-", //< ASCII: 'V'
kabukistarship 2:aa9a1377aa0d 102 ".--", //< ASCII: 'W'
kabukistarship 2:aa9a1377aa0d 103 "-..-", //< ASCII: 'X'
kabukistarship 2:aa9a1377aa0d 104 "-.--", //< ASCII: 'Y'
kabukistarship 2:aa9a1377aa0d 105 "--.." //< ASCII: 'Z'
kabukistarship 2:aa9a1377aa0d 106 };
kabukistarship 2:aa9a1377aa0d 107
kabukistarship 2:aa9a1377aa0d 108 ///if (code < 0) return 0; //< Uncomment if your compiler uses signed char.
kabukistarship 2:aa9a1377aa0d 109 if (Code >= 'a' && Code <= 'z') Code -= 'a' - 'A'; //< Covert from lowercase to upper case if need be.
kabukistarship 2:aa9a1377aa0d 110 if (Code > 'Z')
kabukistarship 2:aa9a1377aa0d 111 {
kabukistarship 2:aa9a1377aa0d 112 switch (Code)
kabukistarship 2:aa9a1377aa0d 113 {
kabukistarship 2:aa9a1377aa0d 114 case -4: return ".-.-"; //< 132
kabukistarship 2:aa9a1377aa0d 115 case -5: return ".--.-"; //< 133
kabukistarship 2:aa9a1377aa0d 116 case -6: return ".--.-"; //< 134
kabukistarship 2:aa9a1377aa0d 117 case -16: return "..-.."; //< 144
kabukistarship 2:aa9a1377aa0d 118 case -37: return "--.--"; //< 165
kabukistarship 2:aa9a1377aa0d 119 case -25: return "---."; //< 153
kabukistarship 2:aa9a1377aa0d 120 case -26: return "..--"; //< 154
kabukistarship 2:aa9a1377aa0d 121 default: return 0;
kabukistarship 2:aa9a1377aa0d 122 }
kabukistarship 2:aa9a1377aa0d 123 }
kabukistarship 2:aa9a1377aa0d 124 return Cypher[Code];
kabukistarship 2:aa9a1377aa0d 125 }
kabukistarship 2:aa9a1377aa0d 126
kabukistarship 2:aa9a1377aa0d 127 } //< namespace mbedbug