ascii2morse.h

#define ASCII_TO_MORSE_OFFSET 0x00

const byte ascii_to_morse[] PROGMEM = {

    0b00000000, // 000 NUL 
    0b00000000, // 001 SOH 
    0b00000000, // 002 STX 
    0b00000000, // 003 ETX 
    0b00000000, // 004 EOT 
    0b00000000, // 005 ENQ 
    0b00000000, // 006 ACK 
    0b00000000, // 007 BEL 
    0b00000001, // 008 BS  ERR
    0b00000000, // 009 HT 
    0b00000000, // 00A LF 
    0b00000000, // 00B VT 
    0b00000000, // 00C FF 
    0b10001100, // 00D CR  BT
    0b00000000, // 00E SO 
    0b00000000, // 00F SI 
    0b00000000, // 010 DLE 
    0b00000000, // 011 DC1 
    0b00000000, // 012 DC2 
    0b00000000, // 013 DC3 
    0b00000000, // 014 DC4 
    0b00000000, // 015 NAK 
    0b00000000, // 016 SYN 
    0b00000000, // 017 ETB 
    0b00000000, // 018 CAN 
    0b00000000, // 019 EM 
    0b00000000, // 01A SUB 
    0b00000001, // 01B ESC 
    0b00000000, // 01C FS 
    0b00000000, // 01D GS 
    0b00000000, // 01E RS 
    0b00000000, // 01F US 
    0b00000000, // 020 SP 
    0b00000000, // 021 ! 
    0b00000000, // 022 " 
    0b00000000, // 023 # 
    0b00000000, // 024 $ 
    0b00000000, // 025 % 
    0b00000000, // 026 & 
    0b00000000, // 027 ' 
    0b00000000, // 028 ( 
    0b00000000, // 029 ) 
    0b00000000, // 02A * 
    0b01010100, // 02B + AR
    0b11001110, // 02C , 
    0b00010110, // 02D - SK
    0b01010110, // 02E . 
    0b10010100, // 02F / 
    0b11111100, // 030 0 
    0b01111100, // 031 1 
    0b00111100, // 032 2 
    0b00011100, // 033 3 
    0b00001100, // 034 4 
    0b00000100, // 035 5 
    0b10000100, // 036 6 
    0b11000100, // 037 7 
    0b11100100, // 038 8 
    0b11110100, // 039 9 
    0b10001100, // 03A : BT
    0b10001100, // 03B ; BT
    0b00000000, // 03C < 
    0b10001100, // 03D = 
    0b00000000, // 03E > 
    0b00110010, // 03F ? 
    0b00000000, // 040 @ 
    0b01100000, // 041 A 
    0b10001000, // 042 B 
    0b10101000, // 043 C 
    0b10010000, // 044 D 
    0b01000000, // 045 E 
    0b00101000, // 046 F 
    0b11010000, // 047 G 
    0b00001000, // 048 H 
    0b00100000, // 049 I 
    0b01111000, // 04A J 
    0b10110000, // 04B K 
    0b01001000, // 04C L 
    0b11100000, // 04D M 
    0b10100000, // 04E N 
    0b11110000, // 04F O 
    0b01101000, // 050 P 
    0b11011000, // 051 Q 
    0b01010000, // 052 R 
    0b00010000, // 053 S 
    0b11000000, // 054 T 
    0b00110000, // 055 U 
    0b00011000, // 056 V 
    0b01110000, // 057 W 
    0b10011000, // 058 X 
    0b10111000, // 059 Y 
    0b11001000, // 05A Z 
    0b00000000, // 05B [ 
    0b00000000, // 05C '\' 
    0b00000000, // 05D ] 
    0b00000000, // 05E ^ 
    0b00000000, // 05F _ 
    0b00000000, // 060 ` 
    0b01100000, // 061 a 
    0b10001000, // 062 b 
    0b10101000, // 063 c 
    0b10010000, // 064 d 
    0b01000000, // 065 e 
    0b00101000, // 066 f 
    0b11010000, // 067 g 
    0b00001000, // 068 h 
    0b00100000, // 069 i 
    0b01111000, // 06A j 
    0b10110000, // 06B k 
    0b01001000, // 06C l 
    0b11100000, // 06D m 
    0b10100000, // 06E n 
    0b11110000, // 06F o 
    0b01101000, // 070 p 
    0b11011000, // 071 q 
    0b01010000, // 072 r 
    0b00010000, // 073 s 
    0b11000000, // 074 t 
    0b00110000, // 075 u 
    0b00011000, // 076 v 
    0b01110000, // 077 w 
    0b10011000, // 078 x 
    0b10111000, // 079 y 
    0b11001000, // 07A z 
    0b00000000, // 07B { 
    0b00000000, // 07C | 
    0b00000000, // 07D } 
    0b00000000, // 07E ~ 
    0b00000000  // 07F DEL 
};

inline byte GetMorseFromAscii( char c )
{
    if( c < ASCII_TO_MORSE_OFFSET || c > 0x80 )
        return 0;
    return pgm_read_byte(ascii_to_morse + c - ASCII_TO_MORSE_OFFSET);
}

Advertisements

One comment

  1. […] you are just looking for the ASCII to Morse conversion table then you can get that here. Note that I’ve used non-standard keys for […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: