• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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