Example usage for android.hardware Sensor TYPE_GYROSCOPE

List of usage examples for android.hardware Sensor TYPE_GYROSCOPE

Introduction

In this page you can find the example usage for android.hardware Sensor TYPE_GYROSCOPE.

Prototype

int TYPE_GYROSCOPE

To view the source code for android.hardware Sensor TYPE_GYROSCOPE.

Click Source Link

Document

A constant describing a gyroscope sensor type.

Usage

From source file:Main.java

public static String getSenserNameByType(final int type) {
    switch (type) {
    case Sensor.TYPE_LINEAR_ACCELERATION:
        return "Linear Acceleration Senser";
    case Sensor.TYPE_GYROSCOPE:
        return "Gyroscope Senser";
    case Sensor.TYPE_ACCELEROMETER:
        return "Accelerometer Senser";
    case Sensor.TYPE_MAGNETIC_FIELD:
        return "Magnetic Field Senser";
    default:/*from   w  w w  .j a va2 s  .  c  o m*/
        return "Unknown Senser";
    }
}

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:/*from  ww  w .j av  a 2  s.  com*/
        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: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);
    }//from  ww  w.j a va  2s.  co 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:rus.cpuinfo.AndroidDepedentModel.SensorsInfo.java

@Override
@SuppressLint("NewApi")
@NonNull// w  w  w  .j a v  a  2s.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:eu.intermodalics.tango_ros_streamer.ImuNode.java

@Override
public void onSensorChanged(SensorEvent event) {
    switch (event.sensor.getType()) {
    case Sensor.TYPE_ROTATION_VECTOR:
        mNewRotationData = true;/*from w  w  w. j av a2  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:it.unime.mobility4ckan.MySensor.java

public void registerSensor(Sensor mSensor) {
    LocationListener locationListener = new LocationListener() {
        @Override//w w  w .ja v  a  2 s.  c  om
        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);
}

From source file:com.kircherelectronics.fusedlinearacceleration.sensor.GyroscopeSensor.java

/**
 * Register for Sensor.TYPE_GYROSCOPE measurements.
 * /*from   w w w .j a  v  a  2  s.c  om*/
 * @param observer
 *            The observer to be registered.
 */
public void registerGyroscopeObserver(GyroscopeSensorObserver observer) {
    if (observersGyroscope.size() == 0) {
        sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE),
                SensorManager.SENSOR_DELAY_FASTEST);
    }

    // Only register the observer if it is not already registered.
    int i = observersGyroscope.indexOf(observer);
    if (i == -1) {
        observersGyroscope.add(observer);
    }
}

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  w  w.ja  v a  2s .c om

    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.kircherelectronics.fusedgyroscopeexplorer.sensor.GyroscopeSensor.java

/**
 * Register for Sensor.TYPE_GYROSCOPE measurements.
 * //from  w ww  . j ava 2s. c  o  m
 * @param observer
 *            The observer to be registered.
 */
public void registerGyroscopeObserver(GyroscopeSensorObserver observer) {
    if (observersGyroscope.size() == 0) {
        boolean enabled = sensorManager.registerListener(this,
                sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE), SensorManager.SENSOR_DELAY_FASTEST);

        if (!enabled) {
            showGyroscopeNotAvailableAlert();
        }
    }

    // Only register the observer if it is not already registered.
    int i = observersGyroscope.indexOf(observer);
    if (i == -1) {
        observersGyroscope.add(observer);
    }
}