User Tools

Site Tools


morse_code_code

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
morse_code_code [2018/08/11 01:10] – [LEDTester Class] frchrismorse_code_code [2018/08/11 02:16] (current) frchris
Line 3: Line 3:
  
 =====LED class=====  =====LED class===== 
 +I am using ''RaspiPin.GPIO_25'' since chose to wire my LED to physical pin 37, aka  ''BCM GPIO 26''\\
 +
 <file java LED.java> <file java LED.java>
 import com.pi4j.io.gpio.*; import com.pi4j.io.gpio.*;
Line 169: Line 171:
 </file> </file>
  
-=====Links===== +=====String to Morse class===== 
-    -[[The LED class]] +This is unchanged from the original 
-    -[[The LEDTester class]] +<file java StringToMorse.java> 
-    -[[THe StringToMorse class]]+import java.util.*; 
 + 
 +import static java.lang.Character.*; 
 + 
 +/** 
 + * Translate a String into Morse code. 
 + *  
 + * Maps lower case letters to upper case. 
 + * Returned string contains the Morse equivalent of the parameter,  
 + * with codons sperated by slashes, and spaces represented by spaces.. 
 + *  
 + * @author Ian Utting 
 + * @version 1.0 
 + */ 
 + 
 +public class StringToMorse 
 +{ 
 +    private static final Map<Character, String> code = new HashMap<>(); 
 +        static { 
 +            // Upper case letters 
 +            /* A */ code.put('A', ".-"); 
 +            /* B */ code.put('B', "-..."); 
 +            /* C */ code.put('C', "-.-."); 
 +            /* D */ code.put('D', "-.."); 
 +            /* E */ code.put('E', "."); 
 +            /* F */ code.put('F', "..-."); 
 +            /* G */ code.put('G', "--."); 
 +            /* H */ code.put('H', "...."); 
 +            /* I */ code.put('I', ".."); 
 +            /* J */ code.put('J', ".---"); 
 +            /* K */ code.put('K', "-.-"); 
 +            /* L */ code.put('L', ".-.."); 
 +            /* M */ code.put('M', "--"); 
 +            /* N */ code.put('N', "-."); 
 +            /* O */ code.put('O', "---"); 
 +            /* P */ code.put('P', ".--."); 
 +            /* Q */ code.put('Q', "--.-"); 
 +            /* R */ code.put('R', ".-."); 
 +            /* S */ code.put('S', "..."); 
 +            /* T */ code.put('T', "-"); 
 +            /* U */ code.put('U', "..-"); 
 +            /* V */ code.put('V', "...-"); 
 +            /* W */ code.put('W', ".--"); 
 +            /* X */ code.put('X', "-..-"); 
 +            /* Y */ code.put('Y', "-.--"); 
 +            /* Z */ code.put('Z', "--.."); 
 + 
 +            // Lower case letters map to the same values as upper case 
 +            /* A */ code.put('a', ".-"); 
 +            /* B */ code.put('b', "-..."); 
 +            /* C */ code.put('c', "-.-."); 
 +            /* D */ code.put('d', "-.."); 
 +            /* E */ code.put('e', "."); 
 +            /* F */ code.put('f', "..-."); 
 +            /* G */ code.put('g', "--."); 
 +            /* H */ code.put('h', "...."); 
 +            /* I */ code.put('i', ".."); 
 +            /* J */ code.put('j', ".---"); 
 +            /* K */ code.put('k', "-.-"); 
 +            /* L */ code.put('l', ".-.."); 
 +            /* M */ code.put('m', "--"); 
 +            /* N */ code.put('n', "-."); 
 +            /* O */ code.put('o', "---"); 
 +            /* P */ code.put('p', ".--."); 
 +            /* Q */ code.put('q', "--.-"); 
 +            /* R */ code.put('r', ".-."); 
 +            /* S */ code.put('s', "..."); 
 +            /* T */ code.put('t', "-"); 
 +            /* U */ code.put('u', "..-"); 
 +            /* V */ code.put('v', "...-"); 
 +            /* W */ code.put('w', ".--"); 
 +            /* X */ code.put('x', "-..-"); 
 +            /* Y */ code.put('y', "-.--"); 
 +            /* Z */ code.put('z', "--.."); 
 + 
 +            // Digits 
 +            /* 0 */ code.put('0', "-----"); 
 +            /* 1 */ code.put('1', ".----"); 
 +            /* 2 */ code.put('2', "..---"); 
 +            /* 3 */ code.put('3', "...--"); 
 +            /* 4 */ code.put('4', "....-"); 
 +            /* 5 */ code.put('5', "....."); 
 +            /* 6 */ code.put('6', "-...."); 
 +            /* 7 */ code.put('7', "--..."); 
 +            /* 8 */ code.put('8', "---.."); 
 +            /* 9 */ code.put('9', "----.");             
 + 
 +            // punctuation 
 +            /* . */ code.put('.', ".-.-.-"); 
 +            /* , */ code.put(',', "--..--"); 
 +            /* : */ code.put(':', "---..."); 
 +            /* ? */ code.put('?', "..--.."); 
 +            /* ' */ code.put('\'', ".----."); 
 +            /* - */ code.put('-', "-....-"); 
 +            /* / */ code.put('/', "-..-."); 
 +            /* ( */ code.put('(', "-.--.-"); 
 +            /* ) */ code.put(')', "-.--.-"); 
 +            /* " */ code.put('"', ".-..-."); 
 +            /* @ */ code.put('@', ".--.-."); 
 +            /* = */ code.put('=', "-...-"); 
 + 
 +            // Special code for a space character. 
 +                    code.put(' ', " "); 
 +        } 
 + 
 +    /** 
 +     * Translate a string into its Morse code equivalent 
 +     *  
 +     * Spaces in message are encoded as spaces in the returned string. Codons are separated by slashes 
 +     *  
 +     * @param message   The string to be translated 
 +     * @return The encoded string. 
 +     * @throws IllegalArgumentException  if there is a character in message which is not codeable in Morse 
 +     */     
 +    public static String translate(String message) { 
 +        String result = new String(); 
 + 
 +        for(char c : message.toCharArray()) { 
 +            if (code.containsKey(c)) result = result + code.get(c) + "/"; 
 +            else throw new IllegalArgumentException("Character " + c + "is not in Morse's code"); 
 +        } 
 +        // trim the trailing slash 
 +        result = result.substring(0, result.length() 1); 
 +        return result; 
 +    } 
 +
 +</file> 
morse_code_code.1533964254.txt.gz · Last modified: 2018/08/11 01:10 by frchris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki