IOHandler.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package uraxis.toolbar;
  2. import java.util.Collection;
  3. import java.util.Iterator;
  4. import com.ur.urcap.api.domain.io.AnalogIO;
  5. import com.ur.urcap.api.domain.io.DigitalIO;
  6. import com.ur.urcap.api.domain.io.IOModel;
  7. public class IOHandler {
  8. private final IOModel ioModel;
  9. public IOHandler(IOModel ioModel) {
  10. this.ioModel = ioModel;
  11. }
  12. /*Returns a DigitalIO object found by its default name
  13. * Default names are:
  14. * digital_in[0]
  15. * digital_in[1]
  16. * ...
  17. * digital_in[7]
  18. * digital_out[0]
  19. * digital_out[1]
  20. * ...
  21. * digital_out[7]
  22. * tool_in[0]
  23. * tool_in[1]
  24. * tool_out[0]
  25. * tool_out[1]
  26. * config_in[0]
  27. * config_in[1]
  28. * ...
  29. * config_in[7]
  30. * config_out[0]
  31. * config_out[1]
  32. * ...
  33. * config_out[7]
  34. *
  35. */
  36. public DigitalIO getDigitalIO(String defaultName){
  37. Collection<DigitalIO> IOcollection = ioModel.getIOs(DigitalIO.class);
  38. int IO_count = IOcollection.size();
  39. if(IO_count > 0){
  40. Iterator<DigitalIO> IO_itr = IOcollection.iterator();
  41. while(IO_itr.hasNext()){
  42. DigitalIO thisIO = IO_itr.next();
  43. String thisDefaultName = thisIO.getDefaultName();
  44. // System.out.println("Found an IO named "+thisDefaultName);
  45. if(thisDefaultName.equals(defaultName)){
  46. return thisIO;
  47. }
  48. }
  49. }
  50. return null;
  51. }
  52. /*Returns an AnalogIO object found by its default name
  53. * Default names are:
  54. * analog_in[0]
  55. * analog_in[1]
  56. * analog_in[2] (Tool analog in 0)
  57. * analog_in[3] (Tool analog in 1)
  58. * analog_out[0]
  59. * analog_out[1]
  60. *
  61. */
  62. public AnalogIO getAnalogIO(String defaultName){
  63. Collection<AnalogIO> IOcollection = ioModel.getIOs(AnalogIO.class);
  64. int IO_count = IOcollection.size();
  65. if(IO_count > 0){
  66. Iterator<AnalogIO> IO_itr = IOcollection.iterator();
  67. while(IO_itr.hasNext()){
  68. AnalogIO thisIO = IO_itr.next();
  69. String thisDefaultName = thisIO.getDefaultName();
  70. // System.out.println("Found an IO named "+thisDefaultName);
  71. if(thisDefaultName.equals(defaultName)){
  72. return thisIO;
  73. }
  74. }
  75. }
  76. return null;
  77. }
  78. }