Simple single-color 8x8x8 LED Cube with AVRs
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

HelperUtility.java 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * HelperUtility.java
  3. *
  4. * Copyright 2011 Thomas Buck <xythobuz@me.com>
  5. * Copyright 2011 Max Nuding <max.nuding@gmail.com>
  6. * Copyright 2011 Felix Bäder <baeder.felix@gmail.com>
  7. *
  8. * This file is part of LED-Cube.
  9. *
  10. * LED-Cube is free software: you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License as published by
  12. * the Free Software Foundation, either version 3 of the License, or
  13. * (at your option) any later version.
  14. *
  15. * LED-Cube is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. *
  20. * You should have received a copy of the GNU General Public License
  21. * along with LED-Cube. If not, see <http://www.gnu.org/licenses/>.
  22. */
  23. /**
  24. * Helper class which runs our native library.
  25. * @author Thomas Buck
  26. * @author Max Nuding
  27. * @author Felix Bäder
  28. * @version 1.0
  29. */
  30. public class HelperUtility {
  31. static {
  32. System.loadLibrary("Serial");
  33. }
  34. /**
  35. * Get all the existing serial port names
  36. * @return List of port names. \n between entries
  37. */
  38. public static String getPorts() {
  39. String os = System.getProperty("os.name").toLowerCase();
  40. if (os.indexOf("windows") > -1) {
  41. return getThePorts("COM");
  42. } else if (os.indexOf("linux") > -1) {
  43. return getThePorts("tty");
  44. } else if (os.indexOf("mac") > -1) {
  45. return getThePorts("tty.");
  46. }
  47. // Not linux, windows or mac?
  48. return getThePorts("wtf?");
  49. }
  50. private static native String getThePorts(String search);
  51. /**
  52. * Open Connection to a port
  53. * @return TRUE if successful
  54. * @param name Port to open
  55. */
  56. public static native boolean openPort(String name);
  57. /**
  58. * Close Connection to port
  59. */
  60. public static native void closePort();
  61. /**
  62. * Read data from Cube
  63. * @param length Amount of data to read
  64. * @return Data read
  65. */
  66. public static native short[] readData(int length);
  67. /**
  68. * Write data to Cube
  69. * @param data Data to write
  70. * @param length Length of data
  71. */
  72. public static native void writeData(short[] data, int length);
  73. }