diff --git a/interfaces/native/include/sensor_agent_type.h b/interfaces/native/include/sensor_agent_type.h index cb8113c2c8e3a45c65e055237c2b3375b6e95073..18cb1ee26468416f1ba99e775642e128c114d5b5 100644 --- a/interfaces/native/include/sensor_agent_type.h +++ b/interfaces/native/include/sensor_agent_type.h @@ -405,6 +405,21 @@ typedef struct WearDetectionData { float value; } WearDetectionData; +/** + * @brief 定义颜色传感器数据结构。测量光强,单位勒克斯;色温,单位开尔文。 + */ +typedef struct ColorData { + float lightIntensity; + float colorTemperature; +} ColorData; + +/** + * @brief 定义比吸收率传感器数据结构。测量比吸收率,单位W/kg。 + */ +typedef struct SarData { + float absorptionRatio; +} SarData; + typedef struct SensorActiveInfo { int32_t pid = -1; /**< PID */ int32_t sensorId = -1; /**< Sensor ID */ diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp index 4dbda6f85a78b6b3115ca5d91258f4b75cbafc19..51c26f102398b3e556ec27f0ae9d2a9834ca2f08 100644 --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -37,10 +37,12 @@ constexpr uint32_t MS_NS = 1000000; enum { SOLITARIES_DIMENSION = 1, + TWO_DIMENSION = 2, COMMON_DIMENSION = 3, VECTOR_DIMENSION = 4, - POSE_6DOF_DIMENSION = 15, UNCALIBRATED_DIMENSION = 6, + SEVEN_DIMENSION = 7, + POSE_6DOF_DIMENSION = 15, DEFAULT_DIMENSION = 16, }; } // namespace @@ -73,6 +75,8 @@ std::unordered_map SensorDump::sensorMap_ = { { SENSOR_TYPE_ID_HALL, "HALL" }, { SENSOR_TYPE_ID_HEART_RATE, "HEART RATE" }, { SENSOR_TYPE_ID_WEAR_DETECTION, "WEAR DETECTION" }, + { SENSOR_TYPE_ID_COLOR, "COLOR" }, + { SENSOR_TYPE_ID_SAR, "SAR" }, }; void SensorDump::ParseCommand(int32_t fd, const std::vector &args, const std::vector &sensors, @@ -277,7 +281,10 @@ int32_t SensorDump::GetDataDimension(int32_t sensorId) case SENSOR_TYPE_ID_PEDOMETER: case SENSOR_TYPE_ID_HEART_RATE: case SENSOR_TYPE_ID_WEAR_DETECTION: + case SENSOR_TYPE_ID_SAR: return SOLITARIES_DIMENSION; + case SENSOR_TYPE_ID_COLOR: + return TWO_DIMENSION; case SENSOR_TYPE_ID_ROTATION_VECTOR: return VECTOR_DIMENSION; case SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED: @@ -285,7 +292,7 @@ int32_t SensorDump::GetDataDimension(int32_t sensorId) case SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED: return UNCALIBRATED_DIMENSION; default: - SEN_HILOGW("sensorId:%{public}u, size:%{public}d", sensorId, COMMON_DIMENSION); + SEN_HILOGW("Unknown sensorId:%{public}d, size:%{public}d", sensorId, COMMON_DIMENSION); return COMMON_DIMENSION; } }