List of usage examples for android.hardware Sensor TYPE_ROTATION_VECTOR
int TYPE_ROTATION_VECTOR
To view the source code for android.hardware Sensor TYPE_ROTATION_VECTOR.
Click Source Link
From source file:Main.java
@SuppressWarnings("deprecation") public static String getSensorTypeStr(int type) { switch (type) { case Sensor.TYPE_ALL://-1 return "TYPE_ALL"; //Accelerometer sensor type case Sensor.TYPE_ACCELEROMETER://1 return "TYPE_ACCELEROMETER"; //Magnetic field sensor type case Sensor.TYPE_MAGNETIC_FIELD://2 return "TYPE_MAGNETIC_FIELD"; //Orientation sensor type case Sensor.TYPE_ORIENTATION://3 return "TYPE_ORIENTATION"; //Gyroscope sensor type case Sensor.TYPE_GYROSCOPE://4 return "TYPE_GYROSCOPE"; //Light sensor type case Sensor.TYPE_LIGHT://5 return "TYPE_LIGHT"; //Pressure sensor type case Sensor.TYPE_PRESSURE://6 return "TYPE_PRESSURE"; //Temperature sensor type case Sensor.TYPE_TEMPERATURE://7 return "TYPE_TEMPERATURE"; //Proximity sensor type case Sensor.TYPE_PROXIMITY://8 return "TYPE_PROXIMITY"; //Gravity sensor type case Sensor.TYPE_GRAVITY://9 return "TYPE_GRAVITY"; //Linear acceleration sensor type case Sensor.TYPE_LINEAR_ACCELERATION://10 return "TYPE_LINEAR_ACCELERATION"; //Rotation vector sensor type case Sensor.TYPE_ROTATION_VECTOR://11 return "TYPE_ROTATION_VECTOR"; //Relative humidity sensor type case Sensor.TYPE_RELATIVE_HUMIDITY://12 return "TYPE_RELATIVE_HUMIDITY"; //Ambient temperature sensor type case Sensor.TYPE_AMBIENT_TEMPERATURE://13 return "TYPE_AMBIENT_TEMPERATURE"; //Uncalibrated magnetic field sensor type case Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED://14 return "TYPE_MAGNETIC_FIELD_UNCALIBRATED"; //Uncalibrated rotation vector sensor type case Sensor.TYPE_GAME_ROTATION_VECTOR://15 return "TYPE_GAME_ROTATION_VECTOR"; //Uncalibreted gyroscope sensor type case Sensor.TYPE_GYROSCOPE_UNCALIBRATED://16 return "TYPE_GYROSCOPE_UNCALIBRATED"; //Significant motion trigger sensor case Sensor.TYPE_SIGNIFICANT_MOTION://17 return "TYPE_SIGNIFICANT_MOTION"; //Step detector sensor case Sensor.TYPE_STEP_DETECTOR://18 return "TYPE_STEP_DETECTOR"; //Step counter sensor case Sensor.TYPE_STEP_COUNTER://19 return "TYPE_STEP_COUNTER"; //Geo-magnetic rotation vector case Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR://20 return "TYPE_GEOMAGNETIC_ROTATION_VECTOR"; //Heart rate monitor case Sensor.TYPE_HEART_RATE://21 return "TYPE_HEART_RATE"; default:/* ww w .j a v a 2 s .co m*/ return UNKNOWN; } }
From source file:eu.intermodalics.tango_ros_streamer.ImuNode.java
public ImuNode(Activity activity) { mSensorManager = (SensorManager) activity.getSystemService(Context.SENSOR_SERVICE); mRotationSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR); mGyroscopeSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE); mAccelerometerSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); }
From source file:jp.co.recruit_lifestyle.android.widget.BeerSwipeRefreshLayout.java
public BeerSwipeRefreshLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setWillNotDraw(false);/*from ww w. j av a 2s . c om*/ ViewCompat.setChildrenDrawingOrderEnabled(this, true); addView(mBeerView = new BeerView(context)); mBeerView.setVisibility(GONE); mBeerView.setAlpha(0.f); mSensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE); mRotationVectorSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR); }
From source file:eu.intermodalics.tango_ros_streamer.ImuNode.java
@Override public void onSensorChanged(SensorEvent event) { switch (event.sensor.getType()) { case Sensor.TYPE_ROTATION_VECTOR: mNewRotationData = true;/* w ww .ja v a 2 s. c o m*/ float[] quaternion = new float[4]; SensorManager.getQuaternionFromVector(quaternion, event.values); mImuMessage.getOrientation().setW(quaternion[0]); mImuMessage.getOrientation().setX(quaternion[1]); mImuMessage.getOrientation().setY(quaternion[2]); mImuMessage.getOrientation().setZ(quaternion[3]); mImuMessage.setOrientationCovariance(new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 }); break; case Sensor.TYPE_GYROSCOPE: mNewGyroscopeData = true; mImuMessage.getAngularVelocity().setX(event.values[0]); mImuMessage.getAngularVelocity().setY(event.values[1]); mImuMessage.getAngularVelocity().setZ(event.values[2]); mImuMessage.setAngularVelocityCovariance(new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 }); break; case Sensor.TYPE_ACCELEROMETER: mNewAccelerometerData = true; mImuMessage.getLinearAcceleration().setX(event.values[0]); mImuMessage.getLinearAcceleration().setY(event.values[1]); mImuMessage.getLinearAcceleration().setZ(event.values[2]); mImuMessage.setLinearAccelerationCovariance(new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 }); break; default: break; } if (mNewRotationData && mNewGyroscopeData && mNewAccelerometerData) { mImuMessage.getHeader().setStamp(mConnectedNode.getCurrentTime()); mImuMessage.getHeader().setFrameId("imu"); mImuPublisher.publish(mImuMessage); mNewRotationData = false; mNewGyroscopeData = false; mNewAccelerometerData = false; } }
From source file:rus.cpuinfo.AndroidDepedentModel.SensorsInfo.java
@Override @SuppressLint("NewApi") @NonNull//from w w w .ja v a2s .c o m public String getInfo(int query) { int type; switch (query) { case SENSOR_ACCELEROMETR: type = Sensor.TYPE_ACCELEROMETER; break; case SENSOR_AMBIENT_TEMPERATURE: type = Sensor.TYPE_AMBIENT_TEMPERATURE; break; case SENSOR_LINEAR_ACCELERATION: type = Sensor.TYPE_LINEAR_ACCELERATION; break; case SENSOR_LIGHT: type = Sensor.TYPE_LIGHT; break; case SENSOR_MAGNETIC_FIELD: type = Sensor.TYPE_MAGNETIC_FIELD; break; case SENSOR_ROTATION_VECTOR: type = Sensor.TYPE_ROTATION_VECTOR; break; case SENSOR_TYPE_GRAVITY: type = Sensor.TYPE_GRAVITY; break; case SENSOR_TYPE_GYROSCOPE: type = Sensor.TYPE_GYROSCOPE; break; case SENSOR_PROXIMITY: type = Sensor.TYPE_PROXIMITY; break; case SENSOR_PRESSURE: type = Sensor.TYPE_PRESSURE; break; case SENSOR_RELATIVE_HUMIDITY: type = Sensor.TYPE_RELATIVE_HUMIDITY; break; case SENSOR_TEMPERATURE: type = Sensor.TYPE_AMBIENT_TEMPERATURE; break; case SENSOR_HUMIDITY: type = Sensor.TYPE_RELATIVE_HUMIDITY; break; case SENSOR_ORIENTATION: type = Sensor.TYPE_ORIENTATION; break; case SENSOR_HEART_RATE: type = Sensor.TYPE_HEART_RATE; break; case SENSOR_SIGNIFICANT_MOTION: type = Sensor.TYPE_SIGNIFICANT_MOTION; break; case SENSOR_GEOMAGNETIC_ROTATION_VECTOR: type = Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR; break; case SENSOR_STEP_COUNTER: type = Sensor.TYPE_STEP_COUNTER; break; case SENSOR_STEP_DETECTOR: type = Sensor.TYPE_STEP_DETECTOR; break; case SENSOR_GAME_ROTATION_VECTOR: type = Sensor.TYPE_GAME_ROTATION_VECTOR; break; default: throw new IllegalArgumentException("Query must be with \"SENSOR.\" prefix"); } return getSensorName(type); }
From source file:com.commonsware.android.sensor.monitor.MainActivity.java
@TargetApi(Build.VERSION_CODES.KITKAT) private boolean isXYZ(Sensor s) { switch (s.getType()) { case Sensor.TYPE_ACCELEROMETER: case Sensor.TYPE_GRAVITY: case Sensor.TYPE_GYROSCOPE: case Sensor.TYPE_LINEAR_ACCELERATION: case Sensor.TYPE_MAGNETIC_FIELD: case Sensor.TYPE_ROTATION_VECTOR: return (true); }/* w ww . j a v a2 s . c o m*/ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { if (s.getType() == Sensor.TYPE_GAME_ROTATION_VECTOR || s.getType() == Sensor.TYPE_GYROSCOPE_UNCALIBRATED || s.getType() == Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED) { return (true); } } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { if (s.getType() == Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR) { return (true); } } return (false); }
From source file:com.adstrosoftware.notificationcompass.CompassService.java
@Override public int onStartCommand(Intent intent, int flags, int startId) { sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR), (int) (DELAY_IN_NS / 1000)); notificationBuilder = new NotificationCompat.Builder(this); startForeground(NOTIFICATION_ID, buildNotification(R.string.north, R.drawable.ic_stat_north, 0)); stopServiceReceiver = new StopServiceReceiver(); registerReceiver(stopServiceReceiver, new IntentFilter(ACTION_STOP_SERVICE)); return START_STICKY; }
From source file:com.fallahpoor.infocenter.fragments.SensorsFragment.java
@TargetApi(Build.VERSION_CODES.KITKAT) public ArrayList<String> getSubItemsArrayList() { HashMap<Integer, String> sensorsHashMap = new HashMap<>(); ArrayList<String> subItems = new ArrayList<>(); Iterator<Integer> iterator; String supported = getString(R.string.supported); String unsupported = getString(R.string.unsupported); ArrayList<Integer> sensorTypes = new ArrayList<>(Arrays.asList(new Integer[] { Sensor.TYPE_ACCELEROMETER, Sensor.TYPE_AMBIENT_TEMPERATURE, Sensor.TYPE_GRAVITY, Sensor.TYPE_GYROSCOPE, Sensor.TYPE_LIGHT, Sensor.TYPE_LINEAR_ACCELERATION, Sensor.TYPE_MAGNETIC_FIELD, Sensor.TYPE_PRESSURE, Sensor.TYPE_PROXIMITY, Sensor.TYPE_RELATIVE_HUMIDITY, Sensor.TYPE_ROTATION_VECTOR })); if (mIsApiAtLeast18) { sensorTypes.add(Sensor.TYPE_GAME_ROTATION_VECTOR); sensorTypes.add(Sensor.TYPE_SIGNIFICANT_MOTION); }//from w ww . ja va 2s . c o m if (mIsApiAtLeast19) { sensorTypes.add(Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR); sensorTypes.add(Sensor.TYPE_STEP_COUNTER); sensorTypes.add(Sensor.TYPE_STEP_DETECTOR); } SensorManager sensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE); // Get the list of all available sensors of the device List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL); iterator = sensorTypes.iterator(); // Assume all sensor types are unsupported while (iterator.hasNext()) { sensorsHashMap.put(iterator.next(), unsupported); } /* * For each sensor type that is in sensors change its status from * "unsupported" to "supported". */ for (Sensor sensor : sensors) { sensorsHashMap.put(sensor.getType(), supported); } iterator = sensorTypes.iterator(); while (iterator.hasNext()) { subItems.add(sensorsHashMap.get(iterator.next())); } return subItems; }
From source file:com.adstrosoftware.notificationcompass.CompassService.java
@Override public void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR) { if (previousEventTimeStamp == Long.MIN_VALUE || (event.timestamp - previousEventTimeStamp) > DELAY_IN_NS) { previousEventTimeStamp = event.timestamp; float[] orientation = new float[3]; float[] rotationMatrix = new float[16]; float[] remappedRotationMatrix = new float[16]; SensorManager.getRotationMatrixFromVector(rotationMatrix, event.values); if (event.values[0] <= -45) { SensorManager.remapCoordinateSystem(rotationMatrix, SensorManager.AXIS_X, SensorManager.AXIS_Z, remappedRotationMatrix); } else { remappedRotationMatrix = rotationMatrix; }//from ww w.j ava2 s .c om SensorManager.getOrientation(remappedRotationMatrix, orientation); Notification notification; double azimuth = Math.toDegrees(orientation[0]); if (BuildConfig.DEBUG) { Log.d(TAG, "Azimuth = " + azimuth); } if (azimuth <= (NORTH + ANGLE) && azimuth >= (NORTH - ANGLE)) { if (BuildConfig.DEBUG) Log.d(TAG, "NORTH"); notification = buildNotification(R.string.north, R.drawable.ic_stat_north, azimuth); } else if (azimuth <= (NORTH_EAST + ANGLE) && azimuth > 0) { if (BuildConfig.DEBUG) Log.d(TAG, "NORTH_EAST"); notification = buildNotification(R.string.north_east, R.drawable.ic_stat_north_east, azimuth); } else if (azimuth >= (NORTH_WEST - ANGLE) && azimuth < 0) { if (BuildConfig.DEBUG) Log.d(TAG, "NORTH_WEST"); notification = buildNotification(R.string.north_west, R.drawable.ic_stat_north_west, azimuth); } else if (azimuth <= (EAST + ANGLE) && azimuth > 0) { if (BuildConfig.DEBUG) Log.d(TAG, "EAST"); notification = buildNotification(R.string.east, R.drawable.ic_stat_east, azimuth); } else if (azimuth >= (WEST - ANGLE) && azimuth < 0) { if (BuildConfig.DEBUG) Log.d(TAG, "WEST"); notification = buildNotification(R.string.west, R.drawable.ic_stat_west, azimuth); } else if (azimuth <= (SOUTH_EAST + ANGLE) && azimuth > 0) { if (BuildConfig.DEBUG) Log.d(TAG, "SOUTH_EAST"); notification = buildNotification(R.string.south_east, R.drawable.ic_stat_south_east, azimuth); } else if (azimuth >= (SOUTH_WEST - ANGLE) && azimuth < 0) { if (BuildConfig.DEBUG) Log.d(TAG, "SOUTH_WEST"); notification = buildNotification(R.string.south_west, R.drawable.ic_stat_south_west, azimuth); } else { if (BuildConfig.DEBUG) Log.d(TAG, "SOUTH"); notification = buildNotification(R.string.south, R.drawable.ic_stat_south, azimuth); } notificationManager.notify(NOTIFICATION_ID, notification); } } }
From source file:it.unime.mobility4ckan.MySensor.java
public void registerSensor(Sensor mSensor) { LocationListener locationListener = new LocationListener() { @Override//w w w. ja v a 2 s. c o m public void onLocationChanged(Location location) { //latitude = location.getLatitude(); //longitude = location.getLongitude(); currentSpeed = location.getSpeed(); //locationText.setText(String.valueOf(latitude)+ " " +String.valueOf(longitude)+ " " +String.valueOf(speed)); //isGPSReady = true; } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // } @Override public void onProviderEnabled(String provider) { // } @Override public void onProviderDisabled(String provider) { // } }; SensorEventListener sensorListener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { switch (event.sensor.getType()) { case Sensor.TYPE_AMBIENT_TEMPERATURE: // Gradi Celsius (C) currentTemp = event.values[0]; break; case Sensor.TYPE_PRESSURE: currentPressure = event.values[0]; // hPa o mbar break; case Sensor.TYPE_LIGHT: // lx currentLight = event.values[0]; break; case Sensor.TYPE_ACCELEROMETER: // m/s2 currentAcceleration[0] = event.values[0]; currentAcceleration[1] = event.values[1]; currentAcceleration[2] = event.values[2]; break; case Sensor.TYPE_GYROSCOPE: // rad/s currentGyroscope[0] = event.values[0]; currentGyroscope[1] = event.values[1]; currentGyroscope[2] = event.values[2]; break; case Sensor.TYPE_MAGNETIC_FIELD: // T currentMagnetic[0] = event.values[0]; currentMagnetic[1] = event.values[1]; currentMagnetic[2] = event.values[2]; break; case Sensor.TYPE_PROXIMITY: // cm currentProximity = event.values[0]; break; case Sensor.TYPE_ROTATION_VECTOR: // unita di misura sconosciuta currentRotation[0] = event.values[0]; currentRotation[1] = event.values[1]; currentRotation[2] = event.values[2]; break; case Sensor.TYPE_GRAVITY: // m/s2 currentGravity[0] = event.values[0]; currentGravity[1] = event.values[1]; currentGravity[2] = event.values[2]; break; case Sensor.TYPE_LINEAR_ACCELERATION: // m/s2 currentLinearAcceleration[0] = event.values[0]; currentLinearAcceleration[1] = event.values[1]; currentLinearAcceleration[2] = event.values[2]; break; case Sensor.TYPE_RELATIVE_HUMIDITY: // % currentHumidity = event.values[0]; break; default: break; } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; //sensorManager.registerListener(locationListener, mSensor, LocationManager.GPS_PROVIDER); /* if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. return; }*/ locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); sensorManager.registerListener(sensorListener, mSensor, SensorManager.SENSOR_DELAY_FASTEST); }