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