oh_sensor_type.h

概述

定义常用传感器属性。

库: libohsensor.so

系统能力: SystemCapability.Sensors.Sensor

起始版本: 11

相关模块: Sensor

汇总

类型定义

名称 描述
Sensor_Type 枚举传感器类型。
Sensor_Result 定义传感器错误码。
Sensor_Accuracy 枚举传感器报告的数据的精度级别。
Sensor_Info 定义传感器信息。
Sensor_Event 定义传感器数据信息。
Sensor_SubscriptionId 定义传感器订阅ID,唯一标识传感器。
Sensor_SubscriptionAttribute 定义传感器订阅属性。
void (Sensor_EventCallback) (Sensor_Event *event) 定义用于报告传感器数据的回调函数。
Sensor_Subscriber 定义传感器订阅者信息。

枚举

名称 描述
Sensor_Type {
SENSOR_TYPE_ACCELEROMETER = 1,
SENSOR_TYPE_GYROSCOPE = 2,
SENSOR_TYPE_AMBIENT_LIGHT = 5,
SENSOR_TYPE_MAGNETIC_FIELD = 6,
SENSOR_TYPE_BAROMETER = 8,
SENSOR_TYPE_HALL = 10,
SENSOR_TYPE_PROXIMITY = 12,
SENSOR_TYPE_ORIENTATION = 256,
SENSOR_TYPE_GRAVITY = 257,
SENSOR_TYPE_ROTATION_VECTOR = 259,
SENSOR_TYPE_PEDOMETER_DETECTION = 265,
SENSOR_TYPE_PEDOMETER = 266,
SENSOR_TYPE_HEART_RATE = 278
}
枚举传感器类型。
Sensor_Result {
SENSOR_SUCCESS = 0,
SENSOR_PERMISSION_DENIED = 201,
SENSOR_PARAMETER_ERROR = 401,
SENSOR_SERVICE_EXCEPTION = 14500101
}
定义传感器错误码。
Sensor_Accuracy {
SENSOR_ACCURACY_UNRELIABLE = 0,
SENSOR_ACCURACY_LOW = 1,
SENSOR_ACCURACY_MEDIUM = 2,
SENSOR_ACCURACY_HIGH = 3
}
枚举传感器报告的数据的精度级别。

函数

名称 描述
OH_Sensor_CreateInfos(uint32_t count) 用给定的数字创建一个实例数组,请参考 Sensor_Info
OH_Sensor_DestroyInfos(Sensor_Info **sensors, uint32_t count) 销毁实例数组并回收内存,请参考 Sensor_Info
OH_SensorInfo_GetName(Sensor_Info *sensor, char *sensorName, uint32_t *length) 获取传感器名称。
OH_SensorInfo_GetVendorName(Sensor_Info *sensor, char *vendorName, uint32_t *length) 获取传感器的厂商名称。
OH_SensorInfo_GetType(Sensor_Info *sensor, 获取传感器类型。
OH_SensorInfo_GetResolution (Sensor_Info *sensor, float *resolution) 获取传感器分辨率。
OH_SensorInfo_GetMinSamplingInterval (Sensor_Info *sensor, int64_t *minSamplingInterval) 获取传感器的最小数据上报间隔。
OH_SensorInfo_GetMaxSamplingInterval (Sensor_Info *sensor, int64_t *maxSamplingInterval) 获取传感器的最大数据上报间隔时间。
OH_SensorEvent_GetType (Sensor_Event *sensorEvent, Sensor_Type *sensorType) 获取传感器类型。
OH_SensorEvent_GetTimestamp (Sensor_Event *sensorEvent, int64_t *timestamp) 获取传感器数据的时间戳。
OH_SensorEvent_GetAccuracy (Sensor_Event *sensorEvent, Sensor_Accuracy *accuracy) 获取传感器数据的精度。
OH_SensorEvent_GetData (Sensor_Event *sensorEvent, float **data, uint32_t *length) 获取传感器数据。数据的长度和内容依赖于监听的传感器类型,传感器上报的数据格式如下: SENSOR_TYPE_ACCELEROMETER:data[0]、data[1]、data[2]分别表示设备x、y、z轴的加速度分量,单位m/s²;
SENSOR_TYPE_GYROSCOPE:data[0]、data[1]、data[2]分别表示设备x、y、z轴的旋转角速度,单位弧度/s;
SENSOR_TYPE_AMBIENT_LIGHT:data[0]表示环境光强度,in lux;
SENSOR_TYPE_MAGNETIC_FIELD:data[0]、data[1]、data[2]分别表示设备x、y、z轴的地磁分量,单位微特斯拉;
SENSOR_TYPE_BAROMETER:data[0]表示气压值,单位hPa;
SENSOR_TYPE_HALL: data[0]表示皮套吸合状态,0表示打开,大于0表示吸附;
SENSOR_TYPE_PROXIMITY:data[0]表示接近状态,0表示接近,大于0表示远离; SENSOR_TYPE_ORIENTATION:data[0]、data[1]、data[2]分别表示设备绕z、x、y轴的角度,单位度;
SENSOR_TYPE_GRAVITY:data[0]、data[1]、data[2]分别表示设备x、y、z轴的重力加速度分量,单位m/s²;
SENSOR_TYPE_ROTATION_VECTOR:data[0]、data[1]、data[2]分别表示设备x、y、z轴的旋转角度,单位度,data[3]表示旋转向量元素;
SENSOR_TYPE_PEDOMETER_DETECTION:data[0]表示几步检测状态,1表示检测到了步数变化;
SENSOR_TYPE_PEDOMETER:data[0]表示步数;
SENSOR_TYPE_HEART_RATE:data[0]表示心率数值。
OH_Sensor_CreateSubscriptionId (void) 创建一个Sensor_SubscriptionId实例。
OH_Sensor_DestroySubscriptionId (Sensor_SubscriptionId *id) 销毁Sensor_SubscriptionId实例并回收内存。
OH_SensorSubscriptionId_GetType (Sensor_SubscriptionId *id, Sensor_Type *sensorType) 获取传感器类型。
OH_SensorSubscriptionId_SetType (Sensor_SubscriptionId *id, const Sensor_Type sensorType) 设置传感器类型。
OH_Sensor_CreateSubscriptionAttribute (void) 创建Sensor_SubscriptionAttribute实例。
OH_Sensor_DestroySubscriptionAttribute (Sensor_SubscriptionAttribute *attribute) 销毁Sensor_SubscriptionAttribute实例并回收内存。
OH_SensorSubscriptionAttribute_SetSamplingInterval (Sensor_SubscriptionAttribute *attribute, const int64_t samplingInterval) 设置传感器数据报告间隔。
OH_SensorSubscriptionAttribute_GetSamplingInterval (Sensor_SubscriptionAttribute *attribute, int64_t *samplingInterval) 获取传感器数据报告间隔。
OH_Sensor_CreateSubscriber (void) 创建一个Sensor_Subscriber实例。
OH_Sensor_DestroySubscriber (Sensor_Subscriber *subscriber) 销毁Sensor_Subscriber实例并回收内存。
OH_SensorSubscriber_SetCallback (Sensor_Subscriber *subscriber, const Sensor_EventCallback callback) 设置一个回调函数来报告传感器数据。
OH_SensorSubscriber_GetCallback (Sensor_Subscriber *subscriber, Sensor_EventCallback *callback) 获取用于报告传感器数据的回调函数。