User Tools

Site Tools


the_ledtester_class

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
Next revisionBoth sides next revision
the_ledtester_class [2018/08/11 00:27] frchristhe_ledtester_class [2018/08/11 01:07] frchris
Line 1: Line 1:
-hi +<file java LEDTester.java> 
-<file LEDTester.java>+/** 
 + * This class tests LED by flashing some morse code. 2014 verion by  
 + * @author Ian Utting 
 + * @author Fabio Heday 
 + *  
 + * Chris Thiel added the finalize() method to aviod GpioPinExistsException 
 + * @version 10 Aug 18 
 + */
 public class LEDTester public class LEDTester
 { {
-     protected void finalize(){+    public LED pin1; 
 +     
 +    //unit of time, in milliseconds 
 +    private final static int UNIT = 200; 
 +     
 +    public static void main(String [] args) { 
 +        LEDTester lt = new LEDTester(); 
 +         
 +        String s = "SOS SOS SOS"; 
 +    //    if(args.length > 0 && args[0] != null && !args[0].equals(""))  
 +            s = args[0]; 
 +         
 +        lt.flashMorse(s); 
 +        lt.finalize(); 
 +    } 
 +     
 +    /* 
 +     * create a new LED instance 
 +     */ 
 +    public LEDTester() { 
 +        this(new LED()); 
 +    } 
 +     
 +    /* 
 +     * Creates a LED instance based on a LED object 
 +     */ 
 +    public LEDTester(LED p) { 
 +        pin1 = p; 
 +    } 
 +     
 +    /* 
 +     * Flashes the LED 10 times 
 +     */ 
 +    public void flash10Times() { 
 +         
 +        for(int i = 0; i < 10; i++) { 
 +            pin1.flash(200); 
 +            try { Thread.sleep (200); } catch (InterruptedException e) {} 
 +        } 
 +    } 
 +     
 +     
 +    /* 
 +     * Sends the morse code using the LED. 
 +     */ 
 +    public void flashMorse(String msg) { 
 +                
 +        char [] morse = StringToMorse.translate(msg).toCharArray(); 
 +         
 +        // . = 1, - = 3, intra-char = 1, inter-char = 3, space = 7.", 
 +         
 +        for (char atom : morse) { 
 +                if (atom == '.') { 
 +                    pin1.flash(UNIT); 
 +                } else if (atom == '-') { 
 +                    pin1.flash(3*UNIT); 
 +                } else if (atom == '/') {   // inter-symbol gap 
 +                    sleep (1);   // plus one leading and one trailing == 3 
 +                } else { 
 +                    // must be a space 
 +                    sleep (5);   // plus one leading and one trailing == 7 
 +                } 
 +                sleep (1);   // common gap 
 +        } 
 +    } 
 +    /* 
 +     * Wait units times the defined unit of time 
 +     */ 
 +    private void sleep(int units) { 
 +        try {  
 +            Thread.sleep(units*UNIT);  
 +        } catch (InterruptedException e)  
 +        { 
 +        } 
 +    } 
 +    protected void finalize(){
         pin1.finalize();         pin1.finalize();
-    }  +    }        
 } }
 </file> </file>
  
the_ledtester_class.txt · Last modified: 2018/08/11 01:10 by frchris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki