public SensorData getSensorData(int id, int sid) { ArrayList<SensorData> lista = (ArrayList<SensorData>) getSensorDataList(id); SensorData back = null; for (SensorData data : lista) { if (data.getSensor() == sid) back = data; } return back; }
public FallType Detect(SensorData data) { FallType result = FallType.NotAdverse; double x = data.getAccelerator_x(); double y = data.getAccelerator_y(); double z = data.getAccelerator_z(); double vectorSum = Math.sqrt(x * x + y * y + z * z); System.out.println("vectorSum:" + vectorSum); if (vectorSum > 9) result = FallType.Adverse; return result; }
public boolean addSensorData(SensorData data) { if (sensorDataList.size() > 0) { SensorData last = sensorDataList.get(sensorDataList.size() - 1); if (data.getNodeTime() < last.getNodeTime()) { // Sensor data already added System.out.println( "SensorData: ignoring (time " + (data.getNodeTime() - last.getNodeTime()) + "msec): " + data); return false; } } sensorDataList.add(data); sensorDataAggregator.addSensorData(data); return true; }
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; }