MasterBoardData.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package at.acdp.urweb.sclient.data;
  2. import at.acdp.urweb.CountDataInputStream;
  3. import com.eclipsesource.json.JsonObject;
  4. import java.io.IOException;
  5. public class MasterBoardData implements IRead, IJsonObject {
  6. int digitalInputBits;
  7. int digitalOutputBits;
  8. int analogInputRange0;
  9. int analogInputRange1;
  10. double analogInput0;
  11. double analogInput1;
  12. byte analogOutputDomain0;
  13. byte analogOutputDomain1;
  14. double analogOutput0;
  15. double analogOutput1;
  16. float masterboardTemperature;
  17. float robotVoltage48V;
  18. float robotCurrent;
  19. float masterIOCurrent;
  20. int safetymode;
  21. int inReducedMode;
  22. byte euromap67Installed;
  23. int euromapInputBits;
  24. int euromapOutputBits;
  25. float euromapVoltage;
  26. float euromapCurrent;
  27. int internal;
  28. int operationalModeSelectorInput;
  29. int threePositionEnablingDeviceInput;
  30. @Override
  31. public JsonObject toJSON() {
  32. return new JsonObject()
  33. .add("digitalInputBits", digitalInputBits)
  34. .add("digitalOutputBits", digitalOutputBits)
  35. .add("analogInputRange0", analogInputRange0)
  36. .add("analogInputRange1", analogInputRange1)
  37. .add("analogInput0", analogInput0)
  38. .add("analogInput1", analogInput1)
  39. .add("analogOutputDomain0", analogOutputDomain0)
  40. .add("analogOutputDomain1", analogOutputDomain1)
  41. .add("analogOutput0", analogOutput0)
  42. .add("analogOutput1", analogOutput1)
  43. .add("masterboardTemperature", masterboardTemperature)
  44. .add("robotVoltage48V", robotVoltage48V)
  45. .add("robotCurrent", robotCurrent)
  46. .add("masterIOCurrent", masterIOCurrent)
  47. .add("safetymode", safetymode)
  48. .add("inReducedMode", inReducedMode)
  49. .add("euromap67Installed", euromap67Installed)
  50. .add("euromapInputBits", euromapInputBits)
  51. .add("euromapOutputBits", euromapOutputBits)
  52. .add("euromapVoltage", euromapVoltage)
  53. .add("euromapCurrent", euromapCurrent)
  54. .add("internal", internal)
  55. .add("operationalModeSelectorInput", operationalModeSelectorInput)
  56. .add("threePositionEnablingDeviceInput", threePositionEnablingDeviceInput)
  57. ;
  58. }
  59. @Override
  60. public void read(CountDataInputStream di, int size) throws IOException {
  61. digitalInputBits = di.readInt();
  62. digitalOutputBits = di.readInt();
  63. analogInputRange0 = di.readUnsignedByte();
  64. analogInputRange1 = di.readUnsignedByte();
  65. analogInput0 = di.readDouble();
  66. analogInput1 = di.readDouble();
  67. analogOutputDomain0 = di.readByte();
  68. analogOutputDomain1 = di.readByte();
  69. analogOutput0 = di.readDouble();
  70. analogInput1 = di.readDouble();
  71. masterboardTemperature = di.readFloat();
  72. robotVoltage48V = di.readFloat();
  73. robotCurrent = di.readFloat();
  74. masterIOCurrent = di.readFloat();
  75. safetymode = di.readByte();
  76. inReducedMode = di.readByte();
  77. euromap67Installed = di.readByte();
  78. if (euromap67Installed > 0) {
  79. euromapInputBits = di.readInt();
  80. euromapOutputBits = di.readInt();
  81. euromapVoltage = di.readFloat();
  82. euromapCurrent = di.readFloat();
  83. }
  84. internal = di.readInt();
  85. operationalModeSelectorInput = di.readUnsignedByte();
  86. threePositionEnablingDeviceInput = di.readUnsignedByte();
  87. }
  88. }