public SensorData createSensorData() { SensorData data = new SensorData(); synchronized (gyroMonitor) { data.rotX = rotX; data.rotY = rotY; data.rotZ = rotZ; } synchronized (oriMonitor) { data.azimuth = azimuth; data.pitch = pitch; data.roll = roll; } synchronized (accMonitor) { data.accX = accX; data.accY = accY; data.accZ = accZ; } data.rotX = data.rotX * 180 / Math.PI; data.rotY = data.rotY * 180 / Math.PI; data.rotZ = data.rotZ * 180 / Math.PI; data.azimuth = data.azimuth * 180 / Math.PI; data.pitch = data.pitch * 180 / Math.PI; data.roll = data.roll * 180 / Math.PI; data.roundData(); String timeStamp = new SimpleDateFormat("yyyyMMdd_HH:mm:ss.SSS").format(new Date()); data.timeStamp = timeStamp; data.time = System.currentTimeMillis(); // Log.d("test", "sensoring:"+data.getSerialization()); return data; }