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