From e83dada6fd00d6e85174939bc0793cba0069df82 Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Tue, 4 Jun 2024 14:20:37 +0800 Subject: [PATCH] Add log print about sensor report data Signed-off-by: wuzhihuitmac Change-Id: Iecb245c2b15fe9f8f2a3ef33d7e76fe195b6be2d --- .../adapter/include/sensor_event_callback.h | 1 + .../adapter/src/sensor_event_callback.cpp | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/services/hdi_connection/adapter/include/sensor_event_callback.h b/services/hdi_connection/adapter/include/sensor_event_callback.h index 76358cb3..c8e92ddd 100644 --- a/services/hdi_connection/adapter/include/sensor_event_callback.h +++ b/services/hdi_connection/adapter/include/sensor_event_callback.h @@ -35,6 +35,7 @@ private: void PrintSensorData(const SensorData &sensorData); int32_t GetDataDimension(int32_t sensorId); int64_t postureLastTs_ = 0; + int64_t ambientLightLastTs_ = 0; }; } // namespace Sensors } // namespace OHOS diff --git a/services/hdi_connection/adapter/src/sensor_event_callback.cpp b/services/hdi_connection/adapter/src/sensor_event_callback.cpp index 89ad5718..5eb665c7 100644 --- a/services/hdi_connection/adapter/src/sensor_event_callback.cpp +++ b/services/hdi_connection/adapter/src/sensor_event_callback.cpp @@ -29,7 +29,9 @@ std::unique_ptr HdiConnection_ = std::make_unique( constexpr int32_t HEADPOSTURE_DATA_SIZE = 20; constexpr int64_t LOG_INTERVAL = 60000000000; enum { + ONE_DIMENSION = 1, TWO_DIMENSION = 2, + THREE_DIMENSION = 3, SEVEN_DIMENSION = 7, DEFAULT_DIMENSION = 16 }; @@ -86,7 +88,8 @@ int32_t SensorEventCallback::OnDataEvent(const HdfSensorEvents &event) void SensorEventCallback::ControlSensorPrint(const SensorData &sensorData) { - if (sensorData.sensorTypeId == SENSOR_TYPE_ID_HALL_EXT) { + if (sensorData.sensorTypeId == SENSOR_TYPE_ID_HALL_EXT || sensorData.sensorTypeId == SENSOR_TYPE_ID_PROXIMITY + || sensorData.sensorTypeId == SENSOR_TYPE_ID_HALL) { PrintSensorData(sensorData); } if ((sensorData.sensorTypeId == SENSOR_TYPE_ID_POSTURE) @@ -94,13 +97,18 @@ void SensorEventCallback::ControlSensorPrint(const SensorData &sensorData) PrintSensorData(sensorData); postureLastTs_ = sensorData.timestamp; } + if ((sensorData.sensorTypeId == SENSOR_TYPE_ID_AMBIENT_LIGHT) + && ((ambientLightLastTs_ == 0) || (sensorData.timestamp - ambientLightLastTs_ >= LOG_INTERVAL))) { + PrintSensorData(sensorData); + ambientLightLastTs_ = sensorData.timestamp; + } } void SensorEventCallback::PrintSensorData(const SensorData &sensorData) { std::string str; - str += "sensorId: " + std::to_string(sensorData.sensorTypeId) + "\n"; - str += "timestamp: " + std::to_string(sensorData.timestamp) + "\n"; + str += "sensorId: " + std::to_string(sensorData.sensorTypeId) + ", "; + str += "timestamp: " + std::to_string(sensorData.timestamp) + ", "; int32_t dataDim = GetDataDimension(sensorData.sensorTypeId); auto data = reinterpret_cast(sensorData.data); for (int32_t i = 0; i < dataDim; ++i) { @@ -117,10 +125,15 @@ void SensorEventCallback::PrintSensorData(const SensorData &sensorData) int32_t SensorEventCallback::GetDataDimension(int32_t sensorId) { switch (sensorId) { + case SENSOR_TYPE_ID_HALL: + case SENSOR_TYPE_ID_PROXIMITY: + return ONE_DIMENSION; case SENSOR_TYPE_ID_HALL_EXT: return TWO_DIMENSION; case SENSOR_TYPE_ID_POSTURE: return SEVEN_DIMENSION; + case SENSOR_TYPE_ID_AMBIENT_LIGHT: + return THREE_DIMENSION; default: SEN_HILOGW("Unknown sensorId:%{public}d, size:%{public}d", sensorId, DEFAULT_DIMENSION); return DEFAULT_DIMENSION; -- Gitee