Browse Source

log to remote lilith
generate tostring
cleanup

Martin Kunz 5 years ago
parent
commit
4a5312f4fb

+ 22 - 17
src/main/java/at/acdp/urweb/sclient/SecondaryClient.java

@@ -38,7 +38,6 @@ public class SecondaryClient {
         int beforeCount=di.getCount();
         int size = di.readInt(); //4
         int pType = di.readByte() & 0xff; //+1=5
-        log.info("ptype: "+pType);
         switch (pType) {
             case MessageType.ROBOT_MESSAGE:
                 readRobotMessage(di, size);
@@ -47,31 +46,40 @@ public class SecondaryClient {
                 readRobotState(di, size);
                 break;
             case PackageType.ROBOT_MODE_DATA:
-                readRobotModeData(di, size);
+                var md=readRobotModeData(di, size);
+                log.info(md.toString());
                 break;
             case PackageType.JOINT_DATA:
-                readJointData(di, size);
+                var jd=readJointData(di, size);
+                log.info(jd.toString());
                 break;
             case PackageType.TOOL_DATA:
-                readToolData(di, size);
+                var td=readToolData(di, size);
+                log.info(td.toString());
                 break;
             case PackageType.MASTERBOARD_DATA:
-                readMasterBoardData(di, size);
+                var mb=readMasterBoardData(di, size);
+                log.info(mb.toString());
                 break;
             case PackageType.CARTESIAN_INFO:
-                readCartesianInfo(di, size);
+                var c=readCartesianInfo(di, size);
+                log.info(c.toString());
                 break;
             case PackageType.KINEMATICS_INFO:
-                readKinemsticsInfo(di, size);
+                var ki=readKinemsticsInfo(di, size);
+                log.info(ki.toString());
                 break;
             case PackageType.CONFIGURATION_DATA:
-                readConfigurationData(di, size);
+                var cd=readConfigurationData(di, size);
+                log.info(cd.toString());
                 break;
             case PackageType.FORCE_MODE_DATA:
-                readForceModeData(di, size);
+                var fmd=readForceModeData(di, size);
+                log.info(fmd.toString());
                 break;
             case PackageType.ADDITIONAL_INFO:
-                readAdditionalInfo(di, size);
+                var ai=readAdditionalInfo(di, size);
+                log.info(ai.toString());
                 break;
             case PackageType.NEEDED_FOR_CALIB_DATA:
                 skip(PackageType.NEEDED_FOR_CALIB_DATA,di, size);
@@ -80,7 +88,8 @@ public class SecondaryClient {
                 skip(PackageType.SAFETY_DATA,di, size);
                 break;
             case PackageType.TOOL_COMM_INFO:
-                readToolCommInfo(di, size);
+                var tci=readToolCommInfo(di, size);
+                log.info(tci.toString());
                 break;
 
 
@@ -146,7 +155,7 @@ public class SecondaryClient {
         char robotMessageType = (char) (di.readByte() & 0xFF);
         switch (robotMessageType) {
             default:
-                System.out.println("unknown msg" + (int) robotMessageType);
+                log.warn("unknown msg" + (int) robotMessageType);
                 //byte[] buf=new byte[size-11];
                 byte[] buf = new byte[size - 10];
                 di.readFully(buf);
@@ -160,7 +169,7 @@ public class SecondaryClient {
         char robotMessageType = (char) (di.readByte() & 0xFF);
         switch (robotMessageType) {
             default:
-                System.out.println("unknown msg" + robotMessageType);
+                log.info("unknown msg: " + (int)robotMessageType);
                 byte[] buf = new byte[size - 10];
                 di.readFully(buf);
         }
@@ -194,15 +203,11 @@ public class SecondaryClient {
         md.speedScaling = di.readDouble();
         md.targetSpeedFractionLimit = di.readDouble();
         md.internal = di.readByte();
-        //byte[] buf=new byte[50];
-        //di.readFully(buf);
         return md;
     }
 
     JointData[] readJointData(CountDataInputStream di, int size) throws IOException {
         int joints = size / 41;
-        // byte[] buf=new byte[300];
-        // di.readFully(buf);
         JointData[] jds = new JointData[size];
         for (int i = 0; i < joints; i++) {
             JointData jd = new JointData();

+ 9 - 0
src/main/java/at/acdp/urweb/sclient/data/AdditionalInfo.java

@@ -18,4 +18,13 @@ public class AdditionalInfo implements IRead{
         ioEnabledFreeDrive = di.readBoolean();
 
     }
+
+    @Override
+    public String toString() {
+        return "AdditionalInfo{" +
+                "freeDriveButtonPressed=" + freeDriveButtonPressed +
+                ", freeDriveButtonEnabled=" + freeDriveButtonEnabled +
+                ", ioEnabledFreeDrive=" + ioEnabledFreeDrive +
+                '}';
+    }
 }

+ 18 - 0
src/main/java/at/acdp/urweb/sclient/data/CartesianInfo.java

@@ -26,4 +26,22 @@ public class CartesianInfo implements IRead {
         tcpOffsetRY=di.readDouble();
         tcpOffsetRZ=di.readDouble();
     }
+
+    @Override
+    public String toString() {
+        return "CartesianInfo{" +
+                "x=" + x +
+                ", y=" + y +
+                ", z=" + z +
+                ", rx=" + rx +
+                ", ry=" + ry +
+                ", rz=" + rz +
+                ", tcpOffsetX=" + tcpOffsetX +
+                ", tcpOffsetY=" + tcpOffsetY +
+                ", tcpOffsetZ=" + tcpOffsetZ +
+                ", tcpOffsetRX=" + tcpOffsetRX +
+                ", tcpOffsetRY=" + tcpOffsetRY +
+                ", tcpOffsetRZ=" + tcpOffsetRZ +
+                '}';
+    }
 }

+ 24 - 0
src/main/java/at/acdp/urweb/sclient/data/ConfigurationData.java

@@ -4,6 +4,7 @@ import at.acdp.urweb.CountDataInputStream;
 
 import java.io.DataInputStream;
 import java.io.IOException;
+import java.util.Arrays;
 
 public class ConfigurationData implements IRead {
 
@@ -52,4 +53,27 @@ public class ConfigurationData implements IRead {
         robotType = di.readInt();
         robotSubType = di.readInt();
     }
+
+    @Override
+    public String toString() {
+        return "ConfigurationData{" +
+                "jointMinLimit=" + Arrays.toString(jointMinLimit) +
+                ", jointMaxLimit=" + Arrays.toString(jointMaxLimit) +
+                ", jointMaxSpeed=" + Arrays.toString(jointMaxSpeed) +
+                ", jointMaxAcceleration=" + Arrays.toString(jointMaxAcceleration) +
+                ", vJointDefault=" + vJointDefault +
+                ", aJointDefault=" + aJointDefault +
+                ", vToolDefault=" + vToolDefault +
+                ", aToolDefault=" + aToolDefault +
+                ", eqRadius=" + eqRadius +
+                ", dha=" + Arrays.toString(dha) +
+                ", dhd=" + Arrays.toString(dhd) +
+                ", dhAlpha=" + Arrays.toString(dhAlpha) +
+                ", dhTheta=" + Arrays.toString(dhTheta) +
+                ", masterboardVersion=" + masterboardVersion +
+                ", controllerBoxType=" + controllerBoxType +
+                ", robotType=" + robotType +
+                ", robotSubType=" + robotSubType +
+                '}';
+    }
 }

+ 13 - 0
src/main/java/at/acdp/urweb/sclient/data/ForceModeData.java

@@ -19,4 +19,17 @@ public class ForceModeData implements IRead{
         rz=di.readDouble();
         robotDexterity=di.readDouble();
     }
+
+    @Override
+    public String toString() {
+        return "ForceModeData{" +
+                "x=" + x +
+                ", y=" + y +
+                ", z=" + z +
+                ", rx=" + rx +
+                ", ry=" + ry +
+                ", rz=" + rz +
+                ", robotDexterity=" + robotDexterity +
+                '}';
+    }
 }

+ 14 - 0
src/main/java/at/acdp/urweb/sclient/data/JointData.java

@@ -28,4 +28,18 @@ public class JointData implements IRead{
         tMicro=di.readFloat();
         jointMode=di.readByte();
     }
+
+    @Override
+    public String toString() {
+        return "JointData{" +
+                "qActual=" + qActual +
+                ", qTarget=" + qTarget +
+                ", qdActual=" + qdActual +
+                ", lActual=" + lActual +
+                ", vActual=" + vActual +
+                ", tMotor=" + tMotor +
+                ", tMicro=" + tMicro +
+                ", jointMode=" + jointMode +
+                '}';
+    }
 }

+ 8 - 0
src/main/java/at/acdp/urweb/sclient/data/KinematicsInfo.java

@@ -4,6 +4,7 @@ import at.acdp.urweb.CountDataInputStream;
 
 import java.io.DataInputStream;
 import java.io.IOException;
+import java.util.Arrays;
 
 public class KinematicsInfo implements IRead{
 
@@ -12,4 +13,11 @@ public class KinematicsInfo implements IRead{
         internalData=new byte[size-5];
         di.readFully(internalData);
     }
+
+    @Override
+    public String toString() {
+        return "KinematicsInfo{" +
+                "internalData=" + Arrays.toString(internalData) +
+                '}';
+    }
 }

+ 75 - 45
src/main/java/at/acdp/urweb/sclient/data/MasterBoardData.java

@@ -5,60 +5,90 @@ import at.acdp.urweb.CountDataInputStream;
 import java.io.IOException;
 
 public class MasterBoardData implements IRead {
-    int		digitalInputBits;
-    int		digitalOutputBits;
-    int		analogInputRange0;
-    int		analogInputRange1;
-    double		analogInput0;
-    double		analogInput1;
-    byte		analogOutputDomain0;
-    byte		analogOutputDomain1;
-    double		analogOutput0;
-    double		analogOutput1;
-    float		masterboardTemperature;
-    float		robotVoltage48V;
-    float		robotCurrent;
-    float		masterIOCurrent;
-    int		safetymode;
-    int		inReducedMode;
-    byte		euromap67Installed;
-    int		euromapInputBits;
-    int		euromapOutputBits;
-    float		euromapVoltage;
-    float		euromapCurrent;
-    int      internal;
-    int		operationalModeSelectorInput;
-    int		threePositionEnablingDeviceInput;
+    int digitalInputBits;
+    int digitalOutputBits;
+    int analogInputRange0;
+    int analogInputRange1;
+    double analogInput0;
+    double analogInput1;
+    byte analogOutputDomain0;
+    byte analogOutputDomain1;
+    double analogOutput0;
+    double analogOutput1;
+    float masterboardTemperature;
+    float robotVoltage48V;
+    float robotCurrent;
+    float masterIOCurrent;
+    int safetymode;
+    int inReducedMode;
+    byte euromap67Installed;
+    int euromapInputBits;
+    int euromapOutputBits;
+    float euromapVoltage;
+    float euromapCurrent;
+    int internal;
+    int operationalModeSelectorInput;
+    int threePositionEnablingDeviceInput;
 
     @Override
     public void read(CountDataInputStream di, int size) throws IOException {
 
-        digitalInputBits=di.readInt();
-        digitalOutputBits=di.readInt();
-        analogInputRange0=di.readUnsignedByte();
-        analogInputRange1=di.readUnsignedByte();
-        analogInput0=di.readDouble();
-        analogInput1=di.readDouble();
+        digitalInputBits = di.readInt();
+        digitalOutputBits = di.readInt();
+        analogInputRange0 = di.readUnsignedByte();
+        analogInputRange1 = di.readUnsignedByte();
+        analogInput0 = di.readDouble();
+        analogInput1 = di.readDouble();
 
-        analogOutputDomain0=di.readByte();
-        analogOutputDomain1=di.readByte();
-        analogOutput0=di.readDouble();
-        analogInput1=di.readDouble();
-        masterboardTemperature=di.readFloat();
-        robotVoltage48V=di.readFloat();
-        robotCurrent=di.readFloat();
-        masterIOCurrent=di.readFloat();
-        safetymode=di.readByte();
-        inReducedMode=di.readByte();
-        euromap67Installed=di.readByte();
-        if(euromap67Installed>0) {
+        analogOutputDomain0 = di.readByte();
+        analogOutputDomain1 = di.readByte();
+        analogOutput0 = di.readDouble();
+        analogInput1 = di.readDouble();
+        masterboardTemperature = di.readFloat();
+        robotVoltage48V = di.readFloat();
+        robotCurrent = di.readFloat();
+        masterIOCurrent = di.readFloat();
+        safetymode = di.readByte();
+        inReducedMode = di.readByte();
+        euromap67Installed = di.readByte();
+        if (euromap67Installed > 0) {
             euromapInputBits = di.readInt();
             euromapOutputBits = di.readInt();
             euromapVoltage = di.readFloat();
             euromapCurrent = di.readFloat();
         }
-        internal=di.readInt();
-        operationalModeSelectorInput=di.readUnsignedByte();
-        threePositionEnablingDeviceInput=di.readUnsignedByte();
+        internal = di.readInt();
+        operationalModeSelectorInput = di.readUnsignedByte();
+        threePositionEnablingDeviceInput = di.readUnsignedByte();
+    }
+
+    @Override
+    public String toString() {
+        return "MasterBoardData{" +
+                "digitalInputBits=" + digitalInputBits +
+                ", digitalOutputBits=" + digitalOutputBits +
+                ", analogInputRange0=" + analogInputRange0 +
+                ", analogInputRange1=" + analogInputRange1 +
+                ", analogInput0=" + analogInput0 +
+                ", analogInput1=" + analogInput1 +
+                ", analogOutputDomain0=" + analogOutputDomain0 +
+                ", analogOutputDomain1=" + analogOutputDomain1 +
+                ", analogOutput0=" + analogOutput0 +
+                ", analogOutput1=" + analogOutput1 +
+                ", masterboardTemperature=" + masterboardTemperature +
+                ", robotVoltage48V=" + robotVoltage48V +
+                ", robotCurrent=" + robotCurrent +
+                ", masterIOCurrent=" + masterIOCurrent +
+                ", safetymode=" + safetymode +
+                ", inReducedMode=" + inReducedMode +
+                ", euromap67Installed=" + euromap67Installed +
+                ", euromapInputBits=" + euromapInputBits +
+                ", euromapOutputBits=" + euromapOutputBits +
+                ", euromapVoltage=" + euromapVoltage +
+                ", euromapCurrent=" + euromapCurrent +
+                ", internal=" + internal +
+                ", operationalModeSelectorInput=" + operationalModeSelectorInput +
+                ", threePositionEnablingDeviceInput=" + threePositionEnablingDeviceInput +
+                '}';
     }
 }

+ 29 - 1
src/main/java/at/acdp/urweb/sclient/data/ModeData.java

@@ -1,6 +1,10 @@
 package at.acdp.urweb.sclient.data;
 
-public class ModeData {
+import at.acdp.urweb.CountDataInputStream;
+
+import java.io.IOException;
+
+public class ModeData implements IRead{
     public boolean realRobotConnected;
     public boolean realRobotEnabled;
     public boolean robotPoweredOn;
@@ -14,4 +18,28 @@ public class ModeData {
     public double speedScaling;
     public double targetSpeedFractionLimit;
     public int internal;
+
+    @Override
+    public void read(CountDataInputStream di, int size) throws IOException {
+
+    }
+
+    @Override
+    public String toString() {
+        return "ModeData{" +
+                "realRobotConnected=" + realRobotConnected +
+                ", realRobotEnabled=" + realRobotEnabled +
+                ", robotPoweredOn=" + robotPoweredOn +
+                ", emergencyStopped=" + emergencyStopped +
+                ", protectiveStopped=" + protectiveStopped +
+                ", isProgramRunning=" + isProgramRunning +
+                ", isProgramPaused=" + isProgramPaused +
+                ", robotMode=" + robotMode +
+                ", controlMode=" + controlMode +
+                ", targetSpeedFraction=" + targetSpeedFraction +
+                ", speedScaling=" + speedScaling +
+                ", targetSpeedFractionLimit=" + targetSpeedFractionLimit +
+                ", internal=" + internal +
+                '}';
+    }
 }

+ 12 - 0
src/main/java/at/acdp/urweb/sclient/data/ToolCommInfo.java

@@ -21,4 +21,16 @@ public class ToolCommInfo implements IRead {
         txIdleChars=di.readInt();
         whatever=di.readInt();
     }
+
+    @Override
+    public String toString() {
+        return "ToolCommInfo{" +
+                "toolCommunicationEnabled=" + toolCommunicationEnabled +
+                ", baudrate=" + baudrate +
+                ", parity=" + parity +
+                ", rxIdleChars=" + rxIdleChars +
+                ", txIdleChars=" + txIdleChars +
+                ", whatever=" + whatever +
+                '}';
+    }
 }

+ 15 - 0
src/main/java/at/acdp/urweb/sclient/data/ToolData.java

@@ -28,4 +28,19 @@ public class ToolData implements IRead{
         toolTemperature=di.readFloat();
         toolMode=di.readUnsignedByte();
     }
+
+    @Override
+    public String toString() {
+        return "ToolData{" +
+                "analogInputRange0=" + analogInputRange0 +
+                ", analogInputRange1=" + analogInputRange1 +
+                ", analogInput0=" + analogInput0 +
+                ", analogInput1=" + analogInput1 +
+                ", toolVoltage48V=" + toolVoltage48V +
+                ", toolOutputVoltage=" + toolOutputVoltage +
+                ", toolCurrent=" + toolCurrent +
+                ", toolTemperature=" + toolTemperature +
+                ", toolMode=" + toolMode +
+                '}';
+    }
 }

+ 13 - 0
src/main/resources/logback.xml

@@ -0,0 +1,13 @@
+<configuration debug="true" >
+
+<appender name="LogbackClassic" class="ch.qos.logback.classic.net.SocketAppender">
+    <RemoteHost>localhost</RemoteHost>
+    <Port>4560</Port>
+    <ReconnectionDelay>170</ReconnectionDelay>
+    <IncludeCallerData>true</IncludeCallerData>
+</appender>
+
+    <root level="INFO">
+        <appender-ref ref="LogbackClassic"/>
+    </root>
+</configuration>