1# ISensorInterface 2 3## 概述 4 5提供Sensor设备基本控制操作接口。 6 7操作包括获取传感器设备信息、订阅/取消订阅传感器数据、使能/去使能传感器、设置传感器模式、设置传感器精度、量程等可选配置接口定义。 8 9**起始版本:** 4.0 10 11**相关模块:**[HdiSensor](_hdi_sensor_v11.md) 12 13## 汇总 14 15### Public 成员函数 16 17| 名称 | 描述 | 18| -------- | -------- | 19| [GetAllSensorInfo](#getallsensorinfo) ([out] struct [HdfSensorInformation](_hdf_sensor_information_v11.md)[] info) | 获取当前系统中所有类型的传感器信息。 | 20| [Enable](#enable) ([in] int sensorId) | 根据传感器设备类型标识使能传感器信息列表里存在的设备,只有数据订阅者使能传感器后,才能获取订阅的传感器数据。 | 21| [Disable](#disable) ([in] int sensorId) | 根据传感器设备类型标识去使能传感器信息列表里存在的设备。 | 22| [SetBatch](#setbatch) ([in] int sensorId,[in] long samplingInterval, [in] long reportInterval) | 设置指定传感器的数据上报模式,不同的工作模式,上报数据的方式不同。 | 23| [SetMode](#setmode) ([in] int sensorId, [in] int mode) | 设置指定传感器数据上报模式。 | 24| [SetOption](#setoption) ([in] int sensorId, [in] unsigned int option) | 设置指定传感器量程、精度等可选配置。 | 25| [Register](#register) ([in] int groupId, [in] [ISensorCallback](interface_i_sensor_callback_v11.md) callbackObj) | 订阅者注册传感器数据回调函数,系统会将获取到的传感器数据上报给订阅者。 | 26| [Unregister](#unregister) ([in] int groupId, [in] [ISensorCallback](interface_i_sensor_callback_v11.md) callbackObj) | 订阅者取消注册传感器数据回调函数。 | 27| [ReadData](#readdata) ([in] int sensorId, [out] struct [HdfSensorEvents](_hdf_sensor_events_v11.md)[] event) | 获取小系统中的传感器事件数据。 | 28 29## 成员函数说明 30 31### Disable() 32 33``` 34ISensorInterface::Disable ([in] int sensorId) 35``` 36 37**描述** 38 39根据传感器设备类型标识去使能传感器信息列表里存在的设备。 40 41**起始版本:** 2.2 42 43**参数:** 44 45| 名称 | 描述 | 46| -------- | -------- | 47| sensorId | 唯一标识一个传感器设备类型,详见[HdfSensorTypeTag](_hdi_sensor_v11.md#hdfsensortypetag)。 | 48 49**返回:** 50 51如果操作成功,则返回0。 52 53如果操作失败,则返回负值。 54 55### Enable() 56 57``` 58ISensorInterface::Enable ([in] int sensorId) 59``` 60 61**描述** 62 63根据传感器设备类型标识使能传感器信息列表里存在的设备,只有数据订阅者使能传感器后,才能获取订阅的传感器数据。 64 65**起始版本:** 2.2 66 67**参数:** 68 69| 名称 | 描述 | 70| -------- | -------- | 71| sensorId | 唯一标识一个传感器设备类型,详见[HdfSensorTypeTag](_hdi_sensor_v11.md#hdfsensortypetag)。 | 72 73**返回:** 74 75如果操作成功,则返回0。 76 77如果操作失败,则返回负值。 78 79### GetAllSensorInfo() 80 81``` 82ISensorInterface::GetAllSensorInfo ([out] struct HdfSensorInformation[] info) 83``` 84 85**描述** 86 87获取当前系统中所有类型的传感器信息。 88 89**起始版本:** 2.2 90 91**参数:** 92 93| 名称 | 描述 | 94| -------- | -------- | 95| info | 输出系统中注册的所有传感器信息,一种类型传感器信息包括传感器名字、设备厂商、 固件版本号、硬件版本号、传感器类型编号、传感器标识、最大量程、精度、功耗,详见[HdfSensorInformation](_hdf_sensor_information_v11.md)。 | 96 97**返回:** 98 99如果操作成功,则返回0。 100 101如果操作失败,则返回负值。 102 103### ReadData() 104 105``` 106ISensorInterface::ReadData ([in] int sensorId, [out] struct HdfSensorEvents[] event ) 107``` 108 109**描述** 110 111获取小系统中的传感器事件数据。 112 113**起始版本:** 4.0 114 115**参数:** 116 117| 名称 | 描述 | 118| -------- | -------- | 119| sensorId | 表示传感器ID。有关详细信息。 | 120| event | 表示系统中传感器事件数据的矢量。 传感器事件数据包括传感器ID、传感器算法版本、数据生成时间等,数据选项(如测量范围和精度)、数据报告模式、数据地址和数据长度。有关详细信息,请参阅[HdfSensorEvents](_hdf_sensor_events_v11.md)。 | 121 122**返回:** 123 124如果操作成功,则返回0。 125 126如果操作失败,则返回负值。 127 128### Register() 129 130``` 131ISensorInterface::Register ([in] int groupId, [in] ISensorCallback callbackObj ) 132``` 133 134**描述** 135 136订阅者注册传感器数据回调函数,系统会将获取到的传感器数据上报给订阅者。 137 138**起始版本:** 2.2 139 140**参数:** 141 142| 名称 | 描述 | 143| -------- | -------- | 144| groupId | 传感器组ID。groupId枚举值范围为128-160,表示已订阅医疗传感器服务,只需成功订阅一次,无需重复订阅。groupId枚举值范围不在128-160之间,这意味着传统传感器已订阅,只需成功订阅一次,无需重复订阅。 | 145| callbackObj | 要注册的回调函数,详见[ISensorCallback](interface_i_sensor_callback_v11.md)。 | 146 147**返回:** 148 149如果操作成功,则返回0。 150 151如果操作失败,则返回负数。 152 153### SetBatch() 154 155``` 156ISensorInterface::SetBatch ([in] int sensorId, [in] long samplingInterval, [in] long reportInterval ) 157``` 158 159**描述** 160 161设置指定传感器的数据上报模式,不同的工作模式,上报数据的方式不同。 162 163**起始版本:** 2.2 164 165**参数:** 166 167| 名称 | 描述 | 168| -------- | -------- | 169| sensorId | 唯一标识一个传感器设备类型,详见[HdfSensorTypeTag](_hdi_sensor_v11.md#hdfsensortypetag)。 | 170| samplingInterval | 设置指定传感器的数据采样间隔,单位纳秒。 | 171| reportInterval | 表示传感器数据上报间隔,单位纳秒。 | 172 173**返回:** 174 175如果操作成功,则返回0。 176 177如果操作失败,则返回负值。 178 179### SetMode() 180 181``` 182ISensorInterface::SetMode ([in] int sensorId, [in] int mode ) 183``` 184 185**描述** 186 187设置指定传感器数据上报模式。 188 189**起始版本:** 2.2 190 191**参数:** 192 193| 名称 | 描述 | 194| -------- | -------- | 195| sensorId | 唯一标识一个传感器设备类型,详见[HdfSensorTypeTag](_hdi_sensor_v11.md#hdfsensortypetag)。 | 196| mode | 传感器的数据上报模式,详见[HdfSensorModeType](_hdi_sensor_v10.md#hdfsensormodetype)。 | 197 198**返回:** 199 200如果操作成功,则返回0。 201 202如果操作失败,则返回负数。 203 204### SetOption() 205 206``` 207ISensorInterface::SetOption ([in] int sensorId, [in] unsigned int option ) 208``` 209 210**描述** 211 212设置指定传感器量程、精度等可选配置。 213 214**起始版本:** 2.2 215 216**参数:** 217 218| 名称 | 描述 | 219| -------- | -------- | 220| sensorId | 唯一标识一个传感器设备类型,详见[HdfSensorTypeTag](_hdi_sensor_v11.md#hdfsensortypetag)。 | 221| option | 表示要设置的选项,如测量范围和精度。 | 222 223**返回:** 224 225如果操作成功,则返回0。 226 227如果操作失败,则返回负数。 228 229### Unregister() 230 231``` 232ISensorInterface::Unregister ([in] int groupId, [in] ISensorCallback callbackObj ) 233``` 234 235**描述** 236 237订阅者取消注册传感器数据回调函数。 238 239**起始版本:** 2.2 240 241**参数:** 242 243| 名称 | 描述 | 244| -------- | -------- | 245| groupId | 传感器组ID。groupId枚举值范围为128-160,表示已订阅医疗传感器服务。只需成功取消订阅一次,无需重复取消订阅。groupId枚举值范围不在128-160之间,这意味着传统传感器已订阅。并且成功取消订阅。 | 246| callbackObj | 要取消注册的回调函数,详见[ISensorCallback](interface_i_sensor_callback_v11.md)。 | 247 248**返回:** 249 250如果操作成功,则返回0。 251 252如果操作失败,则返回负数。 253