LedHandler.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package control;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.OutputStreamWriter;
  7. public class LedHandler {
  8. private BufferedReader inp;
  9. private BufferedWriter out;
  10. private Process p;
  11. public LedHandler(){
  12. try {
  13. p = Runtime.getRuntime().exec("sudo python led.py");
  14. inp = new BufferedReader( new InputStreamReader(p.getInputStream()) );
  15. out = new BufferedWriter( new OutputStreamWriter(p.getOutputStream()) );
  16. }
  17. catch (Exception err) {
  18. err.printStackTrace();
  19. }
  20. }
  21. public void close(){
  22. try {
  23. inp.close();
  24. } catch (IOException e) {
  25. e.printStackTrace();
  26. }
  27. try {
  28. out.close();
  29. } catch (IOException e) {
  30. e.printStackTrace();
  31. }
  32. p.destroy();
  33. }
  34. /**
  35. * Set the color of a specific led
  36. * @param Pixel number of the led
  37. * @param Red value
  38. * @param Green value
  39. * @param Blue value
  40. * Remember: Button leds are GRB, normal ledstrip is RGB
  41. */
  42. public void setLed(int led, int r, int g, int b) {
  43. if(led<0)
  44. return;
  45. try {
  46. System.out.println("Set the led with " + r);
  47. out.write( "1|" + led + "|" + r + "|" + g + "|" + b + "\n" );
  48. out.flush();
  49. }
  50. catch (Exception err) {
  51. err.printStackTrace();
  52. }
  53. }
  54. /**
  55. * Shows the (new) colors
  56. */
  57. public void show(){
  58. try {
  59. out.write( "0\n" );
  60. out.flush();
  61. }
  62. catch (Exception err) {
  63. err.printStackTrace();
  64. }
  65. }
  66. }