Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60fc87a2 authored by Peng Xu's avatar Peng Xu Committed by Android (Google) Code Review
Browse files

Merge "[sensors] Minor tuning of hal definition"

parents e18ded97 1f12c7a3
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -51,20 +51,6 @@ interface ISensors {
     */
    activate(int32_t sensorHandle, bool enabled) generates (Result result);

    /**
     * Set the sampling period in nanoseconds for a given sensor.
     *
     * If samplingPeriodNs > maxDelay it will be truncated to
     * maxDelay and if samplingPeriodNs < minDelay it will be
     * replaced by minDelay.
     *
     * @param  sensorHandle handle of sensor to be changed.
     * @param  samplngPeriodNs specified sampling period in nanoseconds.
     * @return result OK on success, BAD_VALUE if sensorHandle is invalid.
     */
    setDelay(int32_t sensorHandle, int64_t samplingPeriodNs)
        generates (Result result);

    /**
     * Generate a vector of sensor events containing at most "maxCount"
     * entries.
@@ -105,7 +91,6 @@ interface ISensors {
     * @return result OK on success, BAD_VALUE if any parameters are invalid.
     */
    batch(int32_t sensorHandle,
          int32_t flags,
          int64_t samplingPeriodNs,
          int64_t maxReportLatencyNs) generates (Result result);

+1 −11
Original line number Diff line number Diff line
@@ -142,15 +142,6 @@ Return<Result> Sensors::activate(
                enabled));
}

Return<Result> Sensors::setDelay(
        int32_t sensor_handle, int64_t sampling_period_ns) {
    return ResultFromStatus(
            mSensorDevice->setDelay(
                reinterpret_cast<sensors_poll_device_t *>(mSensorDevice),
                sensor_handle,
                sampling_period_ns));
}

Return<void> Sensors::poll(int32_t maxCount, poll_cb _hidl_cb) {
    hidl_vec<Event> out;
    hidl_vec<SensorInfo> dynamicSensorsAdded;
@@ -206,14 +197,13 @@ Return<void> Sensors::poll(int32_t maxCount, poll_cb _hidl_cb) {

Return<Result> Sensors::batch(
        int32_t sensor_handle,
        int32_t flags,
        int64_t sampling_period_ns,
        int64_t max_report_latency_ns) {
    return ResultFromStatus(
            mSensorDevice->batch(
                mSensorDevice,
                sensor_handle,
                flags,
                0, /*flags*/
                sampling_period_ns,
                max_report_latency_ns));
}
+0 −4
Original line number Diff line number Diff line
@@ -39,14 +39,10 @@ struct Sensors : public ::android::hardware::sensors::V1_0::ISensors {
    Return<Result> activate(
            int32_t sensor_handle, bool enabled) override;

    Return<Result> setDelay(
            int32_t sensor_handle, int64_t sampling_period_ns) override;

    Return<void> poll(int32_t maxCount, poll_cb _hidl_cb) override;

    Return<Result> batch(
            int32_t sensor_handle,
            int32_t flags,
            int64_t sampling_period_ns,
            int64_t max_report_latency_ns) override;

+172 −172
Original line number Diff line number Diff line
@@ -72,18 +72,18 @@ void convertFromSensorEvent(const sensors_event_t &src, Event *dst) {
    dst->timestamp = src.timestamp;

    switch (dst->sensorType) {
        case SensorType::SENSOR_TYPE_META_DATA:
        case SensorType::META_DATA:
        {
            dst->u.meta.what = (MetaDataEventType)src.meta_data.what;
            break;
        }

        case SensorType::SENSOR_TYPE_ACCELEROMETER:
        case SensorType::SENSOR_TYPE_GEOMAGNETIC_FIELD:
        case SensorType::SENSOR_TYPE_ORIENTATION:
        case SensorType::SENSOR_TYPE_GYROSCOPE:
        case SensorType::SENSOR_TYPE_GRAVITY:
        case SensorType::SENSOR_TYPE_LINEAR_ACCELERATION:
        case SensorType::ACCELEROMETER:
        case SensorType::MAGNETIC_FIELD:
        case SensorType::ORIENTATION:
        case SensorType::GYROSCOPE:
        case SensorType::GRAVITY:
        case SensorType::LINEAR_ACCELERATION:
        {
            dst->u.vec3.x = src.acceleration.x;
            dst->u.vec3.y = src.acceleration.y;
@@ -92,9 +92,9 @@ void convertFromSensorEvent(const sensors_event_t &src, Event *dst) {
            break;
        }

        case SensorType::SENSOR_TYPE_ROTATION_VECTOR:
        case SensorType::SENSOR_TYPE_GAME_ROTATION_VECTOR:
        case SensorType::SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR:
        case SensorType::ROTATION_VECTOR:
        case SensorType::GAME_ROTATION_VECTOR:
        case SensorType::GEOMAGNETIC_ROTATION_VECTOR:
        {
            dst->u.vec4.x = src.data[0];
            dst->u.vec4.y = src.data[1];
@@ -103,9 +103,9 @@ void convertFromSensorEvent(const sensors_event_t &src, Event *dst) {
            break;
        }

        case SensorType::SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED:
        case SensorType::SENSOR_TYPE_GYROSCOPE_UNCALIBRATED:
        case SensorType::SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED:
      case SensorType::MAGNETIC_FIELD_UNCALIBRATED:
      case SensorType::GYROSCOPE_UNCALIBRATED:
      case SensorType::ACCELEROMETER_UNCALIBRATED:
      {
          dst->u.uncal.x = src.uncalibrated_gyro.x_uncalib;
          dst->u.uncal.y = src.uncalibrated_gyro.y_uncalib;
@@ -116,42 +116,42 @@ void convertFromSensorEvent(const sensors_event_t &src, Event *dst) {
          break;
      }

        case SensorType::SENSOR_TYPE_DEVICE_ORIENTATION:
        case SensorType::SENSOR_TYPE_LIGHT:
        case SensorType::SENSOR_TYPE_PRESSURE:
        case SensorType::SENSOR_TYPE_TEMPERATURE:
        case SensorType::SENSOR_TYPE_PROXIMITY:
        case SensorType::SENSOR_TYPE_RELATIVE_HUMIDITY:
        case SensorType::SENSOR_TYPE_AMBIENT_TEMPERATURE:
        case SensorType::SENSOR_TYPE_SIGNIFICANT_MOTION:
        case SensorType::SENSOR_TYPE_STEP_DETECTOR:
        case SensorType::SENSOR_TYPE_TILT_DETECTOR:
        case SensorType::SENSOR_TYPE_WAKE_GESTURE:
        case SensorType::SENSOR_TYPE_GLANCE_GESTURE:
        case SensorType::SENSOR_TYPE_PICK_UP_GESTURE:
        case SensorType::SENSOR_TYPE_WRIST_TILT_GESTURE:
        case SensorType::SENSOR_TYPE_STATIONARY_DETECT:
        case SensorType::SENSOR_TYPE_MOTION_DETECT:
        case SensorType::SENSOR_TYPE_HEART_BEAT:
      case SensorType::DEVICE_ORIENTATION:
      case SensorType::LIGHT:
      case SensorType::PRESSURE:
      case SensorType::TEMPERATURE:
      case SensorType::PROXIMITY:
      case SensorType::RELATIVE_HUMIDITY:
      case SensorType::AMBIENT_TEMPERATURE:
      case SensorType::SIGNIFICANT_MOTION:
      case SensorType::STEP_DETECTOR:
      case SensorType::TILT_DETECTOR:
      case SensorType::WAKE_GESTURE:
      case SensorType::GLANCE_GESTURE:
      case SensorType::PICK_UP_GESTURE:
      case SensorType::WRIST_TILT_GESTURE:
      case SensorType::STATIONARY_DETECT:
      case SensorType::MOTION_DETECT:
      case SensorType::HEART_BEAT:
      {
          dst->u.scalar = src.data[0];
          break;
      }

        case SensorType::SENSOR_TYPE_STEP_COUNTER:
      case SensorType::STEP_COUNTER:
      {
          dst->u.stepCount = src.u64.step_counter;
          break;
      }

        case SensorType::SENSOR_TYPE_HEART_RATE:
      case SensorType::HEART_RATE:
      {
          dst->u.heartRate.bpm = src.heart_rate.bpm;
          dst->u.heartRate.status = (SensorStatus)src.heart_rate.status;
          break;
      }

        case SensorType::SENSOR_TYPE_POSE_6DOF:  // 15 floats
      case SensorType::POSE_6DOF:  // 15 floats
      {
          for (size_t i = 0; i < 15; ++i) {
              dst->u.pose6DOF[i] = src.data[i];
@@ -159,7 +159,7 @@ void convertFromSensorEvent(const sensors_event_t &src, Event *dst) {
          break;
      }

        case SensorType::SENSOR_TYPE_DYNAMIC_SENSOR_META:
      case SensorType::DYNAMIC_SENSOR_META:
      {
          dst->u.dynamic.connected = src.dynamic_sensor_meta.connected;
          dst->u.dynamic.sensorHandle = src.dynamic_sensor_meta.handle;
@@ -171,7 +171,7 @@ void convertFromSensorEvent(const sensors_event_t &src, Event *dst) {
          break;
      }

        case SensorType::SENSOR_TYPE_ADDITIONAL_INFO:
      case SensorType::ADDITIONAL_INFO:
      {
          ::android::hardware::sensors::V1_0::AdditionalInfo *dstInfo =
              &dst->u.additional;
@@ -192,7 +192,7 @@ void convertFromSensorEvent(const sensors_event_t &src, Event *dst) {
      default:
      {
          CHECK_GE((int32_t)dst->sensorType,
                     (int32_t)SensorType::SENSOR_TYPE_DEVICE_PRIVATE_BASE);
                   (int32_t)SensorType::DEVICE_PRIVATE_BASE);

          memcpy(dst->u.data.data(), src.data, 16 * sizeof(float));
          break;
@@ -210,19 +210,19 @@ void convertToSensorEvent(const Event &src, sensors_event_t *dst) {
  dst->reserved1[0] = dst->reserved1[1] = dst->reserved1[2] = 0;

  switch (src.sensorType) {
        case SensorType::SENSOR_TYPE_META_DATA:
      case SensorType::META_DATA:
      {
          dst->meta_data.what = (int32_t)src.u.meta.what;
          dst->meta_data.sensor = dst->sensor;
          break;
      }

        case SensorType::SENSOR_TYPE_ACCELEROMETER:
        case SensorType::SENSOR_TYPE_GEOMAGNETIC_FIELD:
        case SensorType::SENSOR_TYPE_ORIENTATION:
        case SensorType::SENSOR_TYPE_GYROSCOPE:
        case SensorType::SENSOR_TYPE_GRAVITY:
        case SensorType::SENSOR_TYPE_LINEAR_ACCELERATION:
      case SensorType::ACCELEROMETER:
      case SensorType::MAGNETIC_FIELD:
      case SensorType::ORIENTATION:
      case SensorType::GYROSCOPE:
      case SensorType::GRAVITY:
      case SensorType::LINEAR_ACCELERATION:
      {
          dst->acceleration.x = src.u.vec3.x;
          dst->acceleration.y = src.u.vec3.y;
@@ -231,9 +231,9 @@ void convertToSensorEvent(const Event &src, sensors_event_t *dst) {
          break;
      }

        case SensorType::SENSOR_TYPE_ROTATION_VECTOR:
        case SensorType::SENSOR_TYPE_GAME_ROTATION_VECTOR:
        case SensorType::SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR:
      case SensorType::ROTATION_VECTOR:
      case SensorType::GAME_ROTATION_VECTOR:
      case SensorType::GEOMAGNETIC_ROTATION_VECTOR:
      {
          dst->data[0] = src.u.vec4.x;
          dst->data[1] = src.u.vec4.y;
@@ -242,9 +242,9 @@ void convertToSensorEvent(const Event &src, sensors_event_t *dst) {
          break;
      }

        case SensorType::SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED:
        case SensorType::SENSOR_TYPE_GYROSCOPE_UNCALIBRATED:
        case SensorType::SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED:
      case SensorType::MAGNETIC_FIELD_UNCALIBRATED:
        case SensorType::GYROSCOPE_UNCALIBRATED:
        case SensorType::ACCELEROMETER_UNCALIBRATED:
        {
            dst->uncalibrated_gyro.x_uncalib = src.u.uncal.x;
            dst->uncalibrated_gyro.y_uncalib = src.u.uncal.y;
@@ -255,42 +255,42 @@ void convertToSensorEvent(const Event &src, sensors_event_t *dst) {
            break;
        }

        case SensorType::SENSOR_TYPE_DEVICE_ORIENTATION:
        case SensorType::SENSOR_TYPE_LIGHT:
        case SensorType::SENSOR_TYPE_PRESSURE:
        case SensorType::SENSOR_TYPE_TEMPERATURE:
        case SensorType::SENSOR_TYPE_PROXIMITY:
        case SensorType::SENSOR_TYPE_RELATIVE_HUMIDITY:
        case SensorType::SENSOR_TYPE_AMBIENT_TEMPERATURE:
        case SensorType::SENSOR_TYPE_SIGNIFICANT_MOTION:
        case SensorType::SENSOR_TYPE_STEP_DETECTOR:
        case SensorType::SENSOR_TYPE_TILT_DETECTOR:
        case SensorType::SENSOR_TYPE_WAKE_GESTURE:
        case SensorType::SENSOR_TYPE_GLANCE_GESTURE:
        case SensorType::SENSOR_TYPE_PICK_UP_GESTURE:
        case SensorType::SENSOR_TYPE_WRIST_TILT_GESTURE:
        case SensorType::SENSOR_TYPE_STATIONARY_DETECT:
        case SensorType::SENSOR_TYPE_MOTION_DETECT:
        case SensorType::SENSOR_TYPE_HEART_BEAT:
        case SensorType::DEVICE_ORIENTATION:
        case SensorType::LIGHT:
        case SensorType::PRESSURE:
        case SensorType::TEMPERATURE:
        case SensorType::PROXIMITY:
        case SensorType::RELATIVE_HUMIDITY:
        case SensorType::AMBIENT_TEMPERATURE:
        case SensorType::SIGNIFICANT_MOTION:
        case SensorType::STEP_DETECTOR:
        case SensorType::TILT_DETECTOR:
        case SensorType::WAKE_GESTURE:
        case SensorType::GLANCE_GESTURE:
        case SensorType::PICK_UP_GESTURE:
        case SensorType::WRIST_TILT_GESTURE:
        case SensorType::STATIONARY_DETECT:
        case SensorType::MOTION_DETECT:
        case SensorType::HEART_BEAT:
        {
            dst->data[0] = src.u.scalar;
            break;
        }

        case SensorType::SENSOR_TYPE_STEP_COUNTER:
        case SensorType::STEP_COUNTER:
        {
            dst->u64.step_counter = src.u.stepCount;
            break;
        }

        case SensorType::SENSOR_TYPE_HEART_RATE:
        case SensorType::HEART_RATE:
        {
            dst->heart_rate.bpm = src.u.heartRate.bpm;
            dst->heart_rate.status = (int8_t)src.u.heartRate.status;
            break;
        }

        case SensorType::SENSOR_TYPE_POSE_6DOF:  // 15 floats
        case SensorType::POSE_6DOF:  // 15 floats
        {
            for (size_t i = 0; i < 15; ++i) {
                dst->data[i] = src.u.pose6DOF[i];
@@ -298,7 +298,7 @@ void convertToSensorEvent(const Event &src, sensors_event_t *dst) {
            break;
        }

        case SensorType::SENSOR_TYPE_DYNAMIC_SENSOR_META:
        case SensorType::DYNAMIC_SENSOR_META:
        {
            dst->dynamic_sensor_meta.connected = src.u.dynamic.connected;
            dst->dynamic_sensor_meta.handle = src.u.dynamic.sensorHandle;
@@ -311,7 +311,7 @@ void convertToSensorEvent(const Event &src, sensors_event_t *dst) {
            break;
        }

        case SensorType::SENSOR_TYPE_ADDITIONAL_INFO:
        case SensorType::ADDITIONAL_INFO:
        {
            const ::android::hardware::sensors::V1_0::AdditionalInfo &srcInfo =
                src.u.additional;
@@ -332,7 +332,7 @@ void convertToSensorEvent(const Event &src, sensors_event_t *dst) {
        default:
        {
            CHECK_GE((int32_t)src.sensorType,
                     (int32_t)SensorType::SENSOR_TYPE_DEVICE_PRIVATE_BASE);
                     (int32_t)SensorType::DEVICE_PRIVATE_BASE);

            memcpy(dst->data, src.u.data.data(), 16 * sizeof(float));
            break;
+161 −147

File changed.

Preview size limit exceeded, changes collapsed.

Loading