# 前言<a name="ZH-CN_TOPIC_0000001713102829"></a>

**概述<a name="section669mcpsimp"></a>**

BS2XV100通过API（Application Programming Interface）向开发者提供接入和使用星闪低功耗的相关接口，包括广播、连接以及SSAP服务注册、服务发现等，其他协议相关接口将在后续增量发布。

**产品版本<a name="section673mcpsimp"></a>**

与本文档对应的产品版本如下。

<a name="table676mcpsimp"></a>
<table><thead align="left"><tr id="row681mcpsimp"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p683mcpsimp"><a name="p683mcpsimp"></a><a name="p683mcpsimp"></a><strong id="b684mcpsimp"><a name="b684mcpsimp"></a><a name="b684mcpsimp"></a>产品名称</strong></p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p686mcpsimp"><a name="p686mcpsimp"></a><a name="p686mcpsimp"></a><strong id="b687mcpsimp"><a name="b687mcpsimp"></a><a name="b687mcpsimp"></a>产品版本</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row689mcpsimp"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p691mcpsimp"><a name="p691mcpsimp"></a><a name="p691mcpsimp"></a>BS2X</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p693mcpsimp"><a name="p693mcpsimp"></a><a name="p693mcpsimp"></a>V100</p>
</td>
</tr>
</tbody>
</table>

**读者对象<a name="section694mcpsimp"></a>**

本文档主要适用以下工程师：

-   技术支持工程
-   软件开发工程师

**符号约定<a name="section133020216410"></a>**

在本文中可能出现下列标志，它们所代表的含义如下。

<a name="table2622507016410"></a>
<table><thead align="left"><tr id="row1530720816410"><th class="cellrowborder" valign="top" width="20.580000000000002%" id="mcps1.1.3.1.1"><p id="p6450074116410"><a name="p6450074116410"></a><a name="p6450074116410"></a><strong id="b2136615816410"><a name="b2136615816410"></a><a name="b2136615816410"></a>符号</strong></p>
</th>
<th class="cellrowborder" valign="top" width="79.42%" id="mcps1.1.3.1.2"><p id="p5435366816410"><a name="p5435366816410"></a><a name="p5435366816410"></a><strong id="b5941558116410"><a name="b5941558116410"></a><a name="b5941558116410"></a>说明</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row1372280416410"><td class="cellrowborder" valign="top" width="20.580000000000002%" headers="mcps1.1.3.1.1 "><p id="p3734547016410"><a name="p3734547016410"></a><a name="p3734547016410"></a><a name="image2670064316410"></a><a name="image2670064316410"></a><span><img class="" id="image2670064316410" src="figures/zh-cn_image_0000001665143038.png" width="55.9265" height="25.270000000000003"></span></p>
</td>
<td class="cellrowborder" valign="top" width="79.42%" headers="mcps1.1.3.1.2 "><p id="p1757432116410"><a name="p1757432116410"></a><a name="p1757432116410"></a>表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。</p>
</td>
</tr>
<tr id="row466863216410"><td class="cellrowborder" valign="top" width="20.580000000000002%" headers="mcps1.1.3.1.1 "><p id="p1432579516410"><a name="p1432579516410"></a><a name="p1432579516410"></a><a name="image4895582316410"></a><a name="image4895582316410"></a><span><img class="" id="image4895582316410" src="figures/zh-cn_image_0000001713022865.png" width="55.9265" height="25.270000000000003"></span></p>
</td>
<td class="cellrowborder" valign="top" width="79.42%" headers="mcps1.1.3.1.2 "><p id="p959197916410"><a name="p959197916410"></a><a name="p959197916410"></a>表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。</p>
</td>
</tr>
<tr id="row123863216410"><td class="cellrowborder" valign="top" width="20.580000000000002%" headers="mcps1.1.3.1.1 "><p id="p1232579516410"><a name="p1232579516410"></a><a name="p1232579516410"></a><a name="image1235582316410"></a><a name="image1235582316410"></a><span><img class="" id="image1235582316410" src="figures/zh-cn_image_0000001713102837.png" width="55.9265" height="25.270000000000003"></span></p>
</td>
<td class="cellrowborder" valign="top" width="79.42%" headers="mcps1.1.3.1.2 "><p id="p123197916410"><a name="p123197916410"></a><a name="p123197916410"></a>表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。</p>
</td>
</tr>
<tr id="row5786682116410"><td class="cellrowborder" valign="top" width="20.580000000000002%" headers="mcps1.1.3.1.1 "><p id="p2204984716410"><a name="p2204984716410"></a><a name="p2204984716410"></a><a name="image4504446716410"></a><a name="image4504446716410"></a><span><img class="" id="image4504446716410" src="figures/zh-cn_image_0000001665143034.png" width="55.9265" height="25.270000000000003"></span></p>
</td>
<td class="cellrowborder" valign="top" width="79.42%" headers="mcps1.1.3.1.2 "><p id="p4388861916410"><a name="p4388861916410"></a><a name="p4388861916410"></a>用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。</p>
<p id="p1238861916410"><a name="p1238861916410"></a><a name="p1238861916410"></a>“须知”不涉及人身伤害。</p>
</td>
</tr>
<tr id="row2856923116410"><td class="cellrowborder" valign="top" width="20.580000000000002%" headers="mcps1.1.3.1.1 "><p id="p5555360116410"><a name="p5555360116410"></a><a name="p5555360116410"></a><a name="image799324016410"></a><a name="image799324016410"></a><span><img class="" id="image799324016410" src="figures/zh-cn_image_0000001664983306.png" width="47.88" height="15.96"></span></p>
</td>
<td class="cellrowborder" valign="top" width="79.42%" headers="mcps1.1.3.1.2 "><p id="p4612588116410"><a name="p4612588116410"></a><a name="p4612588116410"></a>对正文中重点信息的补充说明。</p>
<p id="p1232588116410"><a name="p1232588116410"></a><a name="p1232588116410"></a>“说明”不是安全警示信息，不涉及人身、设备及环境伤害信息。</p>
</td>
</tr>
</tbody>
</table>

**修改记录<a name="section2467512116410"></a>**

<a name="table1557726816410"></a>
<table><thead align="left"><tr id="row2942532716410"><th class="cellrowborder" valign="top" width="19.11%" id="mcps1.1.4.1.1"><p id="p3778275416410"><a name="p3778275416410"></a><a name="p3778275416410"></a><strong id="b5687322716410"><a name="b5687322716410"></a><a name="b5687322716410"></a>文档版本</strong></p>
</th>
<th class="cellrowborder" valign="top" width="25.47%" id="mcps1.1.4.1.2"><p id="p5627845516410"><a name="p5627845516410"></a><a name="p5627845516410"></a><strong id="b5800814916410"><a name="b5800814916410"></a><a name="b5800814916410"></a>发布日期</strong></p>
</th>
<th class="cellrowborder" valign="top" width="55.42%" id="mcps1.1.4.1.3"><p id="p2382284816410"><a name="p2382284816410"></a><a name="p2382284816410"></a><strong id="b3316380216410"><a name="b3316380216410"></a><a name="b3316380216410"></a>修改说明</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row286919353233"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p20869153582311"><a name="p20869153582311"></a><a name="p20869153582311"></a>06</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p1886973510237"><a name="p1886973510237"></a><a name="p1886973510237"></a>2025-11-07</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><a name="ul52211252759"></a><a name="ul52211252759"></a><ul id="ul52211252759"><li>更新“<a href="SLE-Passkey接口.md">SLE Passkey接口</a>”章节内容的“<a href="开发流程-12.md">开发流程</a>”章节内容。</li><li>新增“<a href="SLE-Channel-Map-接口.md">SLE Channel Map 接口</a>”章节内容。</li></ul>
</td>
</tr>
<tr id="row139211916143017"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p1192214161301"><a name="p1192214161301"></a><a name="p1192214161301"></a>05</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p1092221618304"><a name="p1092221618304"></a><a name="p1092221618304"></a>2025-05-30</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p19940110162410"><a name="p19940110162410"></a><a name="p19940110162410"></a>更新“<a href="错误码.md">错误码</a>”章节内容。</p>
</td>
</tr>
<tr id="row571052994013"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p5710729184020"><a name="p5710729184020"></a><a name="p5710729184020"></a>04</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p1471052911409"><a name="p1471052911409"></a><a name="p1471052911409"></a>2025-01-24</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p171011299406"><a name="p171011299406"></a><a name="p171011299406"></a>新增“<a href="SLE-Passkey接口.md">SLE Passkey接口</a>”章节内容。</p>
</td>
</tr>
<tr id="row137112470231"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p137194742319"><a name="p137194742319"></a><a name="p137194742319"></a>03</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p137115478238"><a name="p137115478238"></a><a name="p137115478238"></a>2024-09-13</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><a name="ul10871154016303"></a><a name="ul10871154016303"></a><ul id="ul10871154016303"><li>更新“<a href="错误码.md">错误码</a>”章节内容。</li><li>更新“<a href="Connection-Manager接口.md">Connection Manager接口</a>”的“<a href="开发流程-2.md">开发流程</a>”章节内容。</li><li>更新“<a href="SSAP-Server接口.md">SSAP Server接口</a>”的“<a href="开发流程-4.md">开发流程</a>”章节内容。</li></ul>
</td>
</tr>
<tr id="row310415618442"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p4105145618442"><a name="p4105145618442"></a><a name="p4105145618442"></a>02</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p15105656134416"><a name="p15105656134416"></a><a name="p15105656134416"></a>2024-08-02</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p740117684512"><a name="p740117684512"></a><a name="p740117684512"></a>更新“<a href="Connection-Manager接口.md">Connection Manager接口</a>”的“<a href="开发流程-2.md">开发流程</a>”章节内容。</p>
</td>
</tr>
<tr id="row143689493249"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p73696492240"><a name="p73696492240"></a><a name="p73696492240"></a>01</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p173691498244"><a name="p173691498244"></a><a name="p173691498244"></a>2024-05-15</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p169114261115"><a name="p169114261115"></a><a name="p169114261115"></a>第一次正式版本发布。</p>
<p id="p73691549112415"><a name="p73691549112415"></a><a name="p73691549112415"></a>新增“<a href="Transmission-Manager接口.md">Transmission Manager接口</a>”章节内容。</p>
</td>
</tr>
<tr id="row10827102717595"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p1982722715914"><a name="p1982722715914"></a><a name="p1982722715914"></a>00B04</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p4827102715592"><a name="p4827102715592"></a><a name="p4827102715592"></a>2024-04-25</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p118271727165918"><a name="p118271727165918"></a><a name="p118271727165918"></a>更新“<a href="Connection-Manager接口.md">Connection Manager接口</a>”章节内容。</p>
</td>
</tr>
<tr id="row1732717673314"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p133273643313"><a name="p133273643313"></a><a name="p133273643313"></a>00B03</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p83273615337"><a name="p83273615337"></a><a name="p83273615337"></a>2024-01-08</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p1932717610335"><a name="p1932717610335"></a><a name="p1932717610335"></a>更新“<a href="Device-Discovery接口.md">Device Discovery接口</a>”的“<a href="注意事项.md">注意事项</a>”章节内容。</p>
</td>
</tr>
<tr id="row9154161512215"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p191548156218"><a name="p191548156218"></a><a name="p191548156218"></a>00B02</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p13154191512210"><a name="p13154191512210"></a><a name="p13154191512210"></a>2023-12-08</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p92511307219"><a name="p92511307219"></a><a name="p92511307219"></a>更新“<a href="Connection-Manager接口.md">Connection Manager接口</a>”的“<a href="开发流程-2.md">开发流程</a>”章节内容。</p>
</td>
</tr>
<tr id="row5947359616410"><td class="cellrowborder" valign="top" width="19.11%" headers="mcps1.1.4.1.1 "><p id="p2149706016410"><a name="p2149706016410"></a><a name="p2149706016410"></a>00B01</p>
</td>
<td class="cellrowborder" valign="top" width="25.47%" headers="mcps1.1.4.1.2 "><p id="p648803616410"><a name="p648803616410"></a><a name="p648803616410"></a>2023-09-27</p>
</td>
<td class="cellrowborder" valign="top" width="55.42%" headers="mcps1.1.4.1.3 "><p id="p1946537916410"><a name="p1946537916410"></a><a name="p1946537916410"></a>第一次临时版本发布。</p>
</td>
</tr>
</tbody>
</table>

# 概述<a name="ZH-CN_TOPIC_0000001664983290"></a>

BS2XV100通过API（Application Programming Interface）面向开发者提供SLE功能的开发和应用接口，包括Device Discovery, Connection Manager, SSAP等。

各组件功能说明如下：

-   Device Discovery：星闪设备发现协议，包括设备管理、设备公开和设备发现接口。
-   Connection Manager：星闪连接管理协议，包括设备连接、配对相关接口。
-   SSAP：星闪服务交互协议（SparkLink Service Access Protocol），包含服务注册、服务发现、属性数据读写等功能相关接口。
-   Low Latency：低时延初始化和低时延数据收发接口。

>![](public_sys-resources/icon-note.gif) **说明：** 
>该文档描述各个模块功能的基本流程和API接口描述。


## 错误码<a name="ZH-CN_TOPIC_0000001664983298"></a>

SLE SDK使用错误码指示用户当前任务执行结果，如[表1](#table9501182016504)所示。

**表 1**  错误码

<a name="table9501182016504"></a>
<table><thead align="left"><tr id="row950292085010"><th class="cellrowborder" valign="top" width="9%" id="mcps1.2.5.1.1"><p id="p25029205503"><a name="p25029205503"></a><a name="p25029205503"></a>序号</p>
</th>
<th class="cellrowborder" valign="top" width="34.88%" id="mcps1.2.5.1.2"><p id="p1350272085016"><a name="p1350272085016"></a><a name="p1350272085016"></a>定义</p>
</th>
<th class="cellrowborder" valign="top" width="19.66%" id="mcps1.2.5.1.3"><p id="p19502152005012"><a name="p19502152005012"></a><a name="p19502152005012"></a>实际数值</p>
</th>
<th class="cellrowborder" valign="top" width="36.46%" id="mcps1.2.5.1.4"><p id="p950262016502"><a name="p950262016502"></a><a name="p950262016502"></a>描述</p>
</th>
</tr>
</thead>
<tbody><tr id="row10502132020509"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p750232017508"><a name="p750232017508"></a><a name="p750232017508"></a>1</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p9507184684016"><a name="p9507184684016"></a><a name="p9507184684016"></a>ERRCODE_SLE_SUCCESS</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1350242035012"><a name="p1350242035012"></a><a name="p1350242035012"></a>0</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p2478152273213"><a name="p2478152273213"></a><a name="p2478152273213"></a>执行成功错误码。</p>
</td>
</tr>
<tr id="row950211209505"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p75021320195017"><a name="p75021320195017"></a><a name="p75021320195017"></a>2</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p20333147191410"><a name="p20333147191410"></a><a name="p20333147191410"></a>ERRCODE_SLE_CONTINUE</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p206202225145"><a name="p206202225145"></a><a name="p206202225145"></a>0x80006000</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p2580741135211"><a name="p2580741135211"></a><a name="p2580741135211"></a>继续执行错误码。</p>
</td>
</tr>
<tr id="row647004635216"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p9470164695211"><a name="p9470164695211"></a><a name="p9470164695211"></a>3</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p13407175741418"><a name="p13407175741418"></a><a name="p13407175741418"></a>ERRCODE_SLE_DIRECT_RETURN</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1247054675220"><a name="p1247054675220"></a><a name="p1247054675220"></a>0x80006001</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p349816514539"><a name="p349816514539"></a><a name="p349816514539"></a>直接返回错误码。</p>
</td>
</tr>
<tr id="row1046837194414"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p362492722119"><a name="p362492722119"></a><a name="p362492722119"></a>4</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p846115146226"><a name="p846115146226"></a><a name="p846115146226"></a>ERRCODE_SLE_NO_ATTATION</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1441442142218"><a name="p1441442142218"></a><a name="p1441442142218"></a>0x80006002</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p462417274215"><a name="p462417274215"></a><a name="p462417274215"></a>-</p>
</td>
</tr>
<tr id="row208504495415"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p485544155412"><a name="p485544155412"></a><a name="p485544155412"></a>5</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p3642109201615"><a name="p3642109201615"></a><a name="p3642109201615"></a>ERRCODE_SLE_PARAM_ERR</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p202639558212"><a name="p202639558212"></a><a name="p202639558212"></a>0x80006003</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p107082179351"><a name="p107082179351"></a><a name="p107082179351"></a>参数错误错误码。</p>
</td>
</tr>
<tr id="row2914115711542"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p15914145716545"><a name="p15914145716545"></a><a name="p15914145716545"></a>6</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p93391714121614"><a name="p93391714121614"></a><a name="p93391714121614"></a>ERRCODE_SLE_FAIL</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p061233385012"><a name="p061233385012"></a><a name="p061233385012"></a>0x80006004</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p925873013511"><a name="p925873013511"></a><a name="p925873013511"></a>执行失败错误码。</p>
</td>
</tr>
<tr id="row13726122553"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p187261621559"><a name="p187261621559"></a><a name="p187261621559"></a>7</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p331471919167"><a name="p331471919167"></a><a name="p331471919167"></a>ERRCODE_SLE_TIMEOUT</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1991455717548"><a name="p1991455717548"></a><a name="p1991455717548"></a>0x80006005</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p1650784303513"><a name="p1650784303513"></a><a name="p1650784303513"></a>执行超时错误码。</p>
</td>
</tr>
<tr id="row119961302554"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p1799683013557"><a name="p1799683013557"></a><a name="p1799683013557"></a>8</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p135588237160"><a name="p135588237160"></a><a name="p135588237160"></a>ERRCODE_SLE_UNSUPPORTED</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p10543203162210"><a name="p10543203162210"></a><a name="p10543203162210"></a>0x80006006</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p795215509352"><a name="p795215509352"></a><a name="p795215509352"></a>参数不支持错误码。</p>
</td>
</tr>
<tr id="row121607340559"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p4160934185512"><a name="p4160934185512"></a><a name="p4160934185512"></a>9</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p18130228161619"><a name="p18130228161619"></a><a name="p18130228161619"></a>ERRCODE_SLE_GETRECORD_FAIL</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p19961530125516"><a name="p19961530125516"></a><a name="p19961530125516"></a>0x80006007</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p03951456183511"><a name="p03951456183511"></a><a name="p03951456183511"></a>获取当前记录失败错误码。</p>
</td>
</tr>
<tr id="row13618338115517"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p3618103810553"><a name="p3618103810553"></a><a name="p3618103810553"></a>10</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p1577345515167"><a name="p1577345515167"></a><a name="p1577345515167"></a>ERRCODE_SLE_POINTER_NULL</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p196909199227"><a name="p196909199227"></a><a name="p196909199227"></a>0x80006008</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p133310414365"><a name="p133310414365"></a><a name="p133310414365"></a>指针为空错误码。</p>
</td>
</tr>
<tr id="row179331321145612"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p1793472111566"><a name="p1793472111566"></a><a name="p1793472111566"></a>11</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p2476909178"><a name="p2476909178"></a><a name="p2476909178"></a>ERRCODE_SLE_NO_RECORD</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p761819387554"><a name="p761819387554"></a><a name="p761819387554"></a>0x80006009</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p1738191073619"><a name="p1738191073619"></a><a name="p1738191073619"></a>无记录返回错误码。</p>
</td>
</tr>
<tr id="row24341235135618"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p3434635155618"><a name="p3434635155618"></a><a name="p3434635155618"></a>12</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p132156631714"><a name="p132156631714"></a><a name="p132156631714"></a>ERRCODE_SLE_STATUS_ERR</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1934132112566"><a name="p1934132112566"></a><a name="p1934132112566"></a>0x8000600a</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p154731715123613"><a name="p154731715123613"></a><a name="p154731715123613"></a>状态错误错误码。</p>
</td>
</tr>
<tr id="row625216013410"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p12252200193410"><a name="p12252200193410"></a><a name="p12252200193410"></a>13</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p15538141113177"><a name="p15538141113177"></a><a name="p15538141113177"></a>ERRCODE_SLE_NOMEM</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p15434193511569"><a name="p15434193511569"></a><a name="p15434193511569"></a>0x8000600b</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p20720192013616"><a name="p20720192013616"></a><a name="p20720192013616"></a>内存不足错误码。</p>
</td>
</tr>
<tr id="row22071149346"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p132076412341"><a name="p132076412341"></a><a name="p132076412341"></a>14</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p1931217162176"><a name="p1931217162176"></a><a name="p1931217162176"></a>ERRCODE_SLE_AUTH_FAIL</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1425210017341"><a name="p1425210017341"></a><a name="p1425210017341"></a>0x8000600c</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p14652182523613"><a name="p14652182523613"></a><a name="p14652182523613"></a>认证失败错误码。</p>
</td>
</tr>
<tr id="row19824101991719"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p15824111911170"><a name="p15824111911170"></a><a name="p15824111911170"></a>15</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p72741534161715"><a name="p72741534161715"></a><a name="p72741534161715"></a>ERRCODE_SLE_AUTH_PKEY_MISS</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p182072044349"><a name="p182072044349"></a><a name="p182072044349"></a>0x8000600d</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p24881812275"><a name="p24881812275"></a><a name="p24881812275"></a>PIN码或密钥丢失致认证失败错误码。</p>
</td>
</tr>
<tr id="row1812615238178"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p171261623181716"><a name="p171261623181716"></a><a name="p171261623181716"></a>16</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p10147146161716"><a name="p10147146161716"></a><a name="p10147146161716"></a>ERRCODE_SLE_RMT_DEV_DOWN</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p48241119151715"><a name="p48241119151715"></a><a name="p48241119151715"></a>0x8000600e</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p4126132321714"><a name="p4126132321714"></a><a name="p4126132321714"></a>对端设备关闭错误码。</p>
</td>
</tr>
<tr id="row128112720177"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p18811527151714"><a name="p18811527151714"></a><a name="p18811527151714"></a>17</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p1993165071710"><a name="p1993165071710"></a><a name="p1993165071710"></a>ERRCODE_SLE_PAIRING_REJECT</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1812620235173"><a name="p1812620235173"></a><a name="p1812620235173"></a>0x8000600f</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p4811270173"><a name="p4811270173"></a><a name="p4811270173"></a>配对拒绝错误码。</p>
</td>
</tr>
<tr id="row1674155911712"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p4674059151713"><a name="p4674059151713"></a><a name="p4674059151713"></a>18</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p1437613961814"><a name="p1437613961814"></a><a name="p1437613961814"></a>ERRCODE_SLE_BUSY</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p78116279173"><a name="p78116279173"></a><a name="p78116279173"></a>0x80006010</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p1674135911170"><a name="p1674135911170"></a><a name="p1674135911170"></a>系统繁忙错误码。</p>
</td>
</tr>
<tr id="row895417313189"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p1995483101815"><a name="p1995483101815"></a><a name="p1995483101815"></a>19</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p1878418136183"><a name="p1878418136183"></a><a name="p1878418136183"></a>ERRCODE_SLE_NOT_READY</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p5674105917175"><a name="p5674105917175"></a><a name="p5674105917175"></a>0x80006011</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p29543316189"><a name="p29543316189"></a><a name="p29543316189"></a>系统未准备好错误码。</p>
</td>
</tr>
<tr id="row536982318185"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p18369152311813"><a name="p18369152311813"></a><a name="p18369152311813"></a>20</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p195253018185"><a name="p195253018185"></a><a name="p195253018185"></a>ERRCODE_SLE_CONN_FAIL</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p795410311182"><a name="p795410311182"></a><a name="p795410311182"></a>0x80006012</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p1936912310184"><a name="p1936912310184"></a><a name="p1936912310184"></a>连接失败错误码。</p>
</td>
</tr>
<tr id="row571652611817"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p371620260187"><a name="p371620260187"></a><a name="p371620260187"></a>21</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p16264731151913"><a name="p16264731151913"></a><a name="p16264731151913"></a>ERRCODE_SLE_OUT_OF_RANGE</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p173691123191815"><a name="p173691123191815"></a><a name="p173691123191815"></a>0x80006013</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p271610264181"><a name="p271610264181"></a><a name="p271610264181"></a>越界错误码。</p>
</td>
</tr>
<tr id="row19347112020180"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p18347162091810"><a name="p18347162091810"></a><a name="p18347162091810"></a>22</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p3352113510199"><a name="p3352113510199"></a><a name="p3352113510199"></a>ERRCODE_SLE_MEMCPY_FAIL</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p1271652691818"><a name="p1271652691818"></a><a name="p1271652691818"></a>0x80006014</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p19347720131811"><a name="p19347720131811"></a><a name="p19347720131811"></a>拷贝失败错误码。</p>
</td>
</tr>
<tr id="row118631840181910"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p186334011198"><a name="p186334011198"></a><a name="p186334011198"></a>23</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p121431546161911"><a name="p121431546161911"></a><a name="p121431546161911"></a>ERRCODE_SLE_MALLOC_FAIL</p>
</td>
<td class="cellrowborder" valign="top" width="19.66%" headers="mcps1.2.5.1.3 "><p id="p63471208184"><a name="p63471208184"></a><a name="p63471208184"></a>0x80006015</p>
</td>
<td class="cellrowborder" valign="top" width="36.46%" headers="mcps1.2.5.1.4 "><p id="p2863740111910"><a name="p2863740111910"></a><a name="p2863740111910"></a>内存申请失败错误码。</p>
</td>
</tr>
</tbody>
</table>

**断连原因<a name="section34341452163217"></a>**

异常断连原因如[表2](#table1546843103312)所示。

**表 2**  断连原因

<a name="table1546843103312"></a>
<table><thead align="left"><tr id="row9467437331"><th class="cellrowborder" valign="top" width="9%" id="mcps1.2.5.1.1"><p id="p1846184317333"><a name="p1846184317333"></a><a name="p1846184317333"></a>序号</p>
</th>
<th class="cellrowborder" valign="top" width="34.88%" id="mcps1.2.5.1.2"><p id="p046184333312"><a name="p046184333312"></a><a name="p046184333312"></a>定义</p>
</th>
<th class="cellrowborder" valign="top" width="19.68%" id="mcps1.2.5.1.3"><p id="p13461343153310"><a name="p13461343153310"></a><a name="p13461343153310"></a>实际数值</p>
</th>
<th class="cellrowborder" valign="top" width="36.44%" id="mcps1.2.5.1.4"><p id="p14467437333"><a name="p14467437333"></a><a name="p14467437333"></a>描述</p>
</th>
</tr>
</thead>
<tbody><tr id="row1461443153319"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p546143173311"><a name="p546143173311"></a><a name="p546143173311"></a>1</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p2461843113319"><a name="p2461843113319"></a><a name="p2461843113319"></a>SLE_DISCONNECT_UNKNOWN</p>
</td>
<td class="cellrowborder" valign="top" width="19.68%" headers="mcps1.2.5.1.3 "><p id="p1446154333311"><a name="p1446154333311"></a><a name="p1446154333311"></a>0x00</p>
</td>
<td class="cellrowborder" valign="top" width="36.44%" headers="mcps1.2.5.1.4 "><p id="p20982113092610"><a name="p20982113092610"></a><a name="p20982113092610"></a>未知原因断连。</p>
</td>
</tr>
<tr id="row184614393319"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p17461443123320"><a name="p17461443123320"></a><a name="p17461443123320"></a>2</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p12778145183516"><a name="p12778145183516"></a><a name="p12778145183516"></a>SLE_DISCONNECT_BY_PIN_OR_KEY_MISSING</p>
</td>
<td class="cellrowborder" valign="top" width="19.68%" headers="mcps1.2.5.1.3 "><p id="p18461643133316"><a name="p18461643133316"></a><a name="p18461643133316"></a>0x05</p>
</td>
<td class="cellrowborder" valign="top" width="36.44%" headers="mcps1.2.5.1.4 "><p id="p898293032612"><a name="p898293032612"></a><a name="p898293032612"></a>pin或key丢失导致断连。</p>
</td>
</tr>
<tr id="row18461543163319"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p1247184316339"><a name="p1247184316339"></a><a name="p1247184316339"></a>3</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p97741683516"><a name="p97741683516"></a><a name="p97741683516"></a>SLE_DISCONNECT_BY_CONNECT_TIMEOUT</p>
</td>
<td class="cellrowborder" valign="top" width="19.68%" headers="mcps1.2.5.1.3 "><p id="p44794317338"><a name="p44794317338"></a><a name="p44794317338"></a>0x07</p>
</td>
<td class="cellrowborder" valign="top" width="36.44%" headers="mcps1.2.5.1.4 "><p id="p10982230192617"><a name="p10982230192617"></a><a name="p10982230192617"></a>连接超时断连。</p>
</td>
</tr>
<tr id="row174794383315"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p2047164315331"><a name="p2047164315331"></a><a name="p2047164315331"></a>5</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p168606266359"><a name="p168606266359"></a><a name="p168606266359"></a>SLE_D ISCONNECT_BY_REMOTE_USER</p>
</td>
<td class="cellrowborder" valign="top" width="19.68%" headers="mcps1.2.5.1.3 "><p id="p2474433332"><a name="p2474433332"></a><a name="p2474433332"></a>0x10</p>
</td>
<td class="cellrowborder" valign="top" width="36.44%" headers="mcps1.2.5.1.4 "><p id="p1198243017265"><a name="p1198243017265"></a><a name="p1198243017265"></a>远端用户断连。</p>
</td>
</tr>
<tr id="row547164393311"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p24754318339"><a name="p24754318339"></a><a name="p24754318339"></a>6</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p72781839153514"><a name="p72781839153514"></a><a name="p72781839153514"></a>SLE_DISCONNECT_BY_LOCAL_HOST</p>
</td>
<td class="cellrowborder" valign="top" width="19.68%" headers="mcps1.2.5.1.3 "><p id="p19471443173315"><a name="p19471443173315"></a><a name="p19471443173315"></a>0x11</p>
</td>
<td class="cellrowborder" valign="top" width="36.44%" headers="mcps1.2.5.1.4 "><p id="p1598311305260"><a name="p1598311305260"></a><a name="p1598311305260"></a>本端host断连。</p>
</td>
</tr>
<tr id="row194714312335"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p18471743153315"><a name="p18471743153315"></a><a name="p18471743153315"></a>7</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p1652713565357"><a name="p1652713565357"></a><a name="p1652713565357"></a>SLE_DISCONNECT_BY_MIC_ERROR</p>
</td>
<td class="cellrowborder" valign="top" width="19.68%" headers="mcps1.2.5.1.3 "><p id="p4471543173315"><a name="p4471543173315"></a><a name="p4471543173315"></a>0x1B</p>
</td>
<td class="cellrowborder" valign="top" width="36.44%" headers="mcps1.2.5.1.4 "><p id="p1798318305261"><a name="p1798318305261"></a><a name="p1798318305261"></a>MIC error断连。</p>
</td>
</tr>
<tr id="row746817284367"><td class="cellrowborder" valign="top" width="9%" headers="mcps1.2.5.1.1 "><p id="p1946802819369"><a name="p1946802819369"></a><a name="p1946802819369"></a>8</p>
</td>
<td class="cellrowborder" valign="top" width="34.88%" headers="mcps1.2.5.1.2 "><p id="p164681328193615"><a name="p164681328193615"></a><a name="p164681328193615"></a>SLE_ESTABLISH_CONNECT_FAIL</p>
</td>
<td class="cellrowborder" valign="top" width="19.68%" headers="mcps1.2.5.1.3 "><p id="p124681728203610"><a name="p124681728203610"></a><a name="p124681728203610"></a>0x1C</p>
</td>
<td class="cellrowborder" valign="top" width="36.44%" headers="mcps1.2.5.1.4 "><p id="p798313082616"><a name="p798313082616"></a><a name="p798313082616"></a>建连异常。</p>
</td>
</tr>
</tbody>
</table>

# Device Discovery接口<a name="ZH-CN_TOPIC_0000001713022861"></a>




## 概述<a name="ZH-CN_TOPIC_0000001713102833"></a>

Device Discovery接口是星闪设备发现协议的软件实现，主要功能有SLE设备开关、设备管理、设备公开和设备发现。

## 开发流程<a name="ZH-CN_TOPIC_0000001713102825"></a>

**使用场景<a name="section775mcpsimp"></a>**

打开SLE设备开关是使用SLE功能的首要条件，SLE启动后可进行设备信息管理，包括获取与设置本地设备名称、获取与设置本地设备地址和设置本地设备外观。

-   当SLE设备需要进行设备公开时，可先设置设备公开参数、设备公开数据，然后使能设备公开。
-   当SLE设备需要进行设备发现时，可先设置设备发现参数，然后使能设备发现，并通过回调函数观察发现到的设备公开数据包。

**功能<a name="section779mcpsimp"></a>**

Device Discovery提供的接口如[表1](#_table213321716161)所示。

**表 1**  Device Discovery接口描述

<a name="_table213321716161"></a>
<table><thead align="left"><tr id="row788mcpsimp"><th class="cellrowborder" valign="top" width="22.63%" id="mcps1.2.5.1.1"><p id="p790mcpsimp"><a name="p790mcpsimp"></a><a name="p790mcpsimp"></a>接口名称</p>
</th>
<th class="cellrowborder" valign="top" width="21.790000000000003%" id="mcps1.2.5.1.2"><p id="p792mcpsimp"><a name="p792mcpsimp"></a><a name="p792mcpsimp"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="24.9%" id="mcps1.2.5.1.3"><p id="p142843230222"><a name="p142843230222"></a><a name="p142843230222"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="30.680000000000003%" id="mcps1.2.5.1.4"><p id="p79178221244"><a name="p79178221244"></a><a name="p79178221244"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row154823161515"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p1724715716352"><a name="p1724715716352"></a><a name="p1724715716352"></a>enable_sle</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p15485312159"><a name="p15485312159"></a><a name="p15485312159"></a>使能SLE。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p1428412233222"><a name="p1428412233222"></a><a name="p1428412233222"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p998181701718"><a name="p998181701718"></a><a name="p998181701718"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row43102035171512"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p2352131733519"><a name="p2352131733519"></a><a name="p2352131733519"></a>disable_sle</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p183118354157"><a name="p183118354157"></a><a name="p183118354157"></a>去使能SLE。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p0284723122215"><a name="p0284723122215"></a><a name="p0284723122215"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p134171515151711"><a name="p134171515151711"></a><a name="p134171515151711"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row106094013183"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p77391225163517"><a name="p77391225163517"></a><a name="p77391225163517"></a>sle_set_local_addr</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p1860740181818"><a name="p1860740181818"></a><a name="p1860740181818"></a>设置本地设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p112562015192311"><a name="p112562015192311"></a><a name="p112562015192311"></a>addr：本地设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p3320171314172"><a name="p3320171314172"></a><a name="p3320171314172"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row804mcpsimp"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p188373342352"><a name="p188373342352"></a><a name="p188373342352"></a>sle_get_local_addr</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p808mcpsimp"><a name="p808mcpsimp"></a><a name="p808mcpsimp"></a>获取本地设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p3890283569"><a name="p3890283569"></a><a name="p3890283569"></a>addr：[out]本地设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p5422117171"><a name="p5422117171"></a><a name="p5422117171"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row809mcpsimp"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p975517417353"><a name="p975517417353"></a><a name="p975517417353"></a>sle_set_local_name</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p813mcpsimp"><a name="p813mcpsimp"></a><a name="p813mcpsimp"></a>设置本地设备名称。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p8164154025813"><a name="p8164154025813"></a><a name="p8164154025813"></a>name：本地设备名称；</p>
<p id="p9164103612431"><a name="p9164103612431"></a><a name="p9164103612431"></a>len：本地设备名称长度。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p11816872176"><a name="p11816872176"></a><a name="p11816872176"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row814mcpsimp"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p1664834783519"><a name="p1664834783519"></a><a name="p1664834783519"></a>sle_get_local_name</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p818mcpsimp"><a name="p818mcpsimp"></a><a name="p818mcpsimp"></a>获取本地设备名称。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p1486315125215"><a name="p1486315125215"></a><a name="p1486315125215"></a>name：[out]本地设备名称；</p>
<p id="p128631251135216"><a name="p128631251135216"></a><a name="p128631251135216"></a>len：[inout]入参时为用户预留内存大小，出参时为本地设备名称长度。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p4301769174"><a name="p4301769174"></a><a name="p4301769174"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row188161146102212"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p877916595358"><a name="p877916595358"></a><a name="p877916595358"></a>sle_set_announce_data</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p118162046122215"><a name="p118162046122215"></a><a name="p118162046122215"></a>设置设备公开数据。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p12284132313221"><a name="p12284132313221"></a><a name="p12284132313221"></a>announce_id：设备公开ID；</p>
<p id="p7389135819533"><a name="p7389135819533"></a><a name="p7389135819533"></a>data：设备公开数据。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p748344111158"><a name="p748344111158"></a><a name="p748344111158"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row112552812172"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p25051618369"><a name="p25051618369"></a><a name="p25051618369"></a>sle_set_announce_param</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p6125628121712"><a name="p6125628121712"></a><a name="p6125628121712"></a>设置设备公开参数。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p332162685418"><a name="p332162685418"></a><a name="p332162685418"></a>announce_id：设备公开ID；</p>
<p id="p10321182618547"><a name="p10321182618547"></a><a name="p10321182618547"></a>data：设备公开参数。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p159918479188"><a name="p159918479188"></a><a name="p159918479188"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row2075810103373"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p19536161717375"><a name="p19536161717375"></a><a name="p19536161717375"></a>sle_start_announce</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p197582104377"><a name="p197582104377"></a><a name="p197582104377"></a>开始设备公开。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p2075812100371"><a name="p2075812100371"></a><a name="p2075812100371"></a>announce_id：设备公开ID。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p167587105376"><a name="p167587105376"></a><a name="p167587105376"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row196751322103710"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p19806103717375"><a name="p19806103717375"></a><a name="p19806103717375"></a>sle_stop_announce</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p46751022163713"><a name="p46751022163713"></a><a name="p46751022163713"></a>停止设备公开。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p1367552215371"><a name="p1367552215371"></a><a name="p1367552215371"></a>announce_id：设备公开ID。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p1667522218378"><a name="p1667522218378"></a><a name="p1667522218378"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row8699192713372"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p7329204913718"><a name="p7329204913718"></a><a name="p7329204913718"></a>sle_set_seek_param</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p1369914272379"><a name="p1369914272379"></a><a name="p1369914272379"></a>设置设备发现参数。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p66991272372"><a name="p66991272372"></a><a name="p66991272372"></a>param：设备发现参数。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p13699142743713"><a name="p13699142743713"></a><a name="p13699142743713"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row12968154314372"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p13444545370"><a name="p13444545370"></a><a name="p13444545370"></a>sle_start_seek</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p1596854318376"><a name="p1596854318376"></a><a name="p1596854318376"></a>开始设备发现。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p13968194333715"><a name="p13968194333715"></a><a name="p13968194333715"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p10968174312379"><a name="p10968174312379"></a><a name="p10968174312379"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row0662155743714"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p41823312384"><a name="p41823312384"></a><a name="p41823312384"></a>sle_stop_seek</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p18662125711376"><a name="p18662125711376"></a><a name="p18662125711376"></a>停止设备发现。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p2662135793717"><a name="p2662135793717"></a><a name="p2662135793717"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p196621157153719"><a name="p196621157153719"></a><a name="p196621157153719"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row196417663815"><td class="cellrowborder" valign="top" width="22.63%" headers="mcps1.2.5.1.1 "><p id="p145631020383"><a name="p145631020383"></a><a name="p145631020383"></a>sle_announce_seek_register_callbacks</p>
</td>
<td class="cellrowborder" valign="top" width="21.790000000000003%" headers="mcps1.2.5.1.2 "><p id="p10649623811"><a name="p10649623811"></a><a name="p10649623811"></a>注册设备公开和设备发现回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="24.9%" headers="mcps1.2.5.1.3 "><p id="p176416633819"><a name="p176416633819"></a><a name="p176416633819"></a>func：用户回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="30.680000000000003%" headers="mcps1.2.5.1.4 "><p id="p1364176193812"><a name="p1364176193812"></a><a name="p1364176193812"></a>接口返回值：错误码。</p>
</td>
</tr>
</tbody>
</table>

**开发流程<a name="section904mcpsimp"></a>**

Device Discovery开发的典型流程如下，具体编程实例可参考application/samples/bt。

**Terminal Node：**

1.  调用enable\_sle，打开SLE开关。
2.  调用sle\_announce\_seek\_register\_callbacks，注册设备公开和设备发现回调函数。
3.  调用sle\_set\_local\_addr，设置本地设备地址。
4.  调用sle\_set\_local\_name，设置本地设备名称。
5.  调用sle\_set\_announce\_param，设置设备公开参数
6.  调用sle\_set\_announce\_data，设置设备公开数据
7.  调用sle\_start\_announce，启动设备公开。

**Grant Node：**

1.  调用enable\_sle，打开SLE开关。
2.  调用sle\_announce\_seek\_register\_callbacks，注册设备公开和设备发现回调函数。
3.  调用sle\_set\_local\_addr，设置本地设备地址。
4.  调用sle\_set\_local\_name，设置本地设备名称。
5.  调用sle\_set\_seek\_param，设置设备发现参数。
6.  调用sle\_start\_seek，启动设备发现，并在回调函数中获得正在进行设备公开的设备信息。

## 注意事项<a name="ZH-CN_TOPIC_0000001665143026"></a>

-   BS2XV100产品只作为SLE设备工作时，最多只支持八路连接，同时作为BLE和SLE设备工作时，一共支持八路连接。
-   若扫描不到设备，请先检查设备是否已在配对设备列表中，或者设备是否已与其他设备配对（此情况下需要先清除设备端配对信息）。

# Connection Manager接口<a name="ZH-CN_TOPIC_0000001713022853"></a>



## 概述<a name="ZH-CN_TOPIC_0000001713022857"></a>

Connection Manager接口是星闪连接管理协议的软件实现，主要功能有连接、配对和读远端设备RSSI值。

## 开发流程<a name="ZH-CN_TOPIC_0000001664983294"></a>

**使用场景<a name="section775mcpsimp"></a>**

当设备需要与对端设备建立连接时，可向对端设备发起连接请求。在连接过程中，设备可读取远端设备RSSI值，当设备需要更新连接参数时，可向对端设备发起连接参数更新请求，当设备需要与对端设备配对时，可向对端设备发起配对请求。在配对过程中，可获取当前本端设备与指定对端设备的配对状态。设备可获取当前配对设备数量以及当前配对设备信息链表，当前的链路角色。

**功能<a name="section779mcpsimp"></a>**

Connection Manager提供的接口如[表1](#_table213321716161)所示。

**表 1**  Connection Manager接口描述

<a name="_table213321716161"></a>
<table><thead align="left"><tr id="row788mcpsimp"><th class="cellrowborder" valign="top" width="20.42204220422042%" id="mcps1.2.5.1.1"><p id="p790mcpsimp"><a name="p790mcpsimp"></a><a name="p790mcpsimp"></a>接口名称</p>
</th>
<th class="cellrowborder" valign="top" width="28.63286328632863%" id="mcps1.2.5.1.2"><p id="p792mcpsimp"><a name="p792mcpsimp"></a><a name="p792mcpsimp"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="27.58275827582758%" id="mcps1.2.5.1.3"><p id="p134231719219"><a name="p134231719219"></a><a name="p134231719219"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="23.362336233623363%" id="mcps1.2.5.1.4"><p id="p109931320124"><a name="p109931320124"></a><a name="p109931320124"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row794mcpsimp"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p19908144365315"><a name="p19908144365315"></a><a name="p19908144365315"></a>sle_connect_remote_device</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p8737184118442"><a name="p8737184118442"></a><a name="p8737184118442"></a>向对端设备发起连接请求。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p382884718520"><a name="p382884718520"></a><a name="p382884718520"></a>addr：对端设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1399310205210"><a name="p1399310205210"></a><a name="p1399310205210"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row799mcpsimp"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p6917145014531"><a name="p6917145014531"></a><a name="p6917145014531"></a>sle_disconnect_remote_device</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p62365161575"><a name="p62365161575"></a><a name="p62365161575"></a>向对端设备发起断连请求。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p331519572913"><a name="p331519572913"></a><a name="p331519572913"></a>addr：对端设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1412393035719"><a name="p1412393035719"></a><a name="p1412393035719"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row809mcpsimp"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p3262125685315"><a name="p3262125685315"></a><a name="p3262125685315"></a>sle_update_connect_param</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p813mcpsimp"><a name="p813mcpsimp"></a><a name="p813mcpsimp"></a>连接参数更新。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p8315175717913"><a name="p8315175717913"></a><a name="p8315175717913"></a>params：连接参数</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p580165015586"><a name="p580165015586"></a><a name="p580165015586"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row14457165322015"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p172211115541"><a name="p172211115541"></a><a name="p172211115541"></a>sle_pair_remote_device</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p84448314816"><a name="p84448314816"></a><a name="p84448314816"></a>向对端设备发起配对请求。</p>
<p id="p5457753102011"><a name="p5457753102011"></a><a name="p5457753102011"></a>（目前星闪鉴权流程仅支持免输入模式）</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p7314165718918"><a name="p7314165718918"></a><a name="p7314165718918"></a>addr：对端设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1321275215811"><a name="p1321275215811"></a><a name="p1321275215811"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row824mcpsimp"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p10492196135420"><a name="p10492196135420"></a><a name="p10492196135420"></a>sle_remove_paired_remote_device</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p828mcpsimp"><a name="p828mcpsimp"></a><a name="p828mcpsimp"></a>与对端设备取消配对。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p1831314574916"><a name="p1831314574916"></a><a name="p1831314574916"></a>addr：对端设备地址。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1699320201023"><a name="p1699320201023"></a><a name="p1699320201023"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row1257712474513"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p13599712175418"><a name="p13599712175418"></a><a name="p13599712175418"></a>sle_remove_all_pairs</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p13185839205810"><a name="p13185839205810"></a><a name="p13185839205810"></a>取消与所有对端设备的配对。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p83125579911"><a name="p83125579911"></a><a name="p83125579911"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p15960115591011"><a name="p15960115591011"></a><a name="p15960115591011"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row386531016"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p1698101810547"><a name="p1698101810547"></a><a name="p1698101810547"></a>sle_get_paired_devices_num</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p5732114055213"><a name="p5732114055213"></a><a name="p5732114055213"></a>获取配对设备数量。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p33108571497"><a name="p33108571497"></a><a name="p33108571497"></a>number：[out]配对设备数量。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1315723515115"><a name="p1315723515115"></a><a name="p1315723515115"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row1913210313121"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p6481323205412"><a name="p6481323205412"></a><a name="p6481323205412"></a>sle_get_paired_devices</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p1180311441527"><a name="p1180311441527"></a><a name="p1180311441527"></a>获取配对设备信息。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p83095571597"><a name="p83095571597"></a><a name="p83095571597"></a>addr：[out]设备地址链表；</p>
<p id="p186945298114"><a name="p186945298114"></a><a name="p186945298114"></a>number：[inout]入参时为用户预留内存大小，出参时为设备数量。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1570763941415"><a name="p1570763941415"></a><a name="p1570763941415"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row829mcpsimp"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p85150315548"><a name="p85150315548"></a><a name="p85150315548"></a>sle_get_pair_state</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p833mcpsimp"><a name="p833mcpsimp"></a><a name="p833mcpsimp"></a>获取配对状态。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p14308557694"><a name="p14308557694"></a><a name="p14308557694"></a>addr：设备地址；</p>
<p id="p1792882011123"><a name="p1792882011123"></a><a name="p1792882011123"></a>state：[out]配对状态。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p7174165817582"><a name="p7174165817582"></a><a name="p7174165817582"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row1549875915535"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p19498259125317"><a name="p19498259125317"></a><a name="p19498259125317"></a>sle_get_connect_role</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p1498115914537"><a name="p1498115914537"></a><a name="p1498115914537"></a>获取链路角色。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p3498115910535"><a name="p3498115910535"></a><a name="p3498115910535"></a>conn_id: 连接id；</p>
<p id="p12261128564"><a name="p12261128564"></a><a name="p12261128564"></a>role: [out]链路角色。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p18498125955310"><a name="p18498125955310"></a><a name="p18498125955310"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row834mcpsimp"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p141701237145412"><a name="p141701237145412"></a><a name="p141701237145412"></a>sle_read_remote_device_rssi</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p838mcpsimp"><a name="p838mcpsimp"></a><a name="p838mcpsimp"></a>读对端设备RSSI值。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p230710570918"><a name="p230710570918"></a><a name="p230710570918"></a>conn_id：连接id。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p63401159185813"><a name="p63401159185813"></a><a name="p63401159185813"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row960313012613"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p3603430102617"><a name="p3603430102617"></a><a name="p3603430102617"></a>sle_set_phy_param</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p3603163062611"><a name="p3603163062611"></a><a name="p3603163062611"></a>更新星闪phy参数。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p155671750104310"><a name="p155671750104310"></a><a name="p155671750104310"></a>conn_id：连接id;</p>
<p id="p722253520331"><a name="p722253520331"></a><a name="p722253520331"></a>param：phy更新的配置参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1260410302263"><a name="p1260410302263"></a><a name="p1260410302263"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row844mcpsimp"><td class="cellrowborder" valign="top" width="20.42204220422042%" headers="mcps1.2.5.1.1 "><p id="p17554124365419"><a name="p17554124365419"></a><a name="p17554124365419"></a>sle_connection_register_callbacks</p>
</td>
<td class="cellrowborder" valign="top" width="28.63286328632863%" headers="mcps1.2.5.1.2 "><p id="p1230216577176"><a name="p1230216577176"></a><a name="p1230216577176"></a>注册连接管理回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="27.58275827582758%" headers="mcps1.2.5.1.3 "><p id="p230716571497"><a name="p230716571497"></a><a name="p230716571497"></a>func：用户回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p17545120155913"><a name="p17545120155913"></a><a name="p17545120155913"></a>接口返回值：错误码。</p>
</td>
</tr>
</tbody>
</table>

**开发流程<a name="section904mcpsimp"></a>**

Connection Manager开发的典型流程如下，具体编程实例可参考application/samples/bt。

**Terminal Node：**

1.  调用enable\_sle，打开SLE开关。
2.  调用sle\_announce\_seek\_register\_callbacks，注册设备公开和设备发现回调函数。
3.  调用sle\_connection\_register\_callbacks，注册连接管理回调函数。
4.  调用sle\_set\_local\_addr，设置本地设备地址。
5.  调用sle\_set\_local\_name，设置本地设备名称。
6.  调用sle\_set\_announce\_param，设置设备公开参数
7.  调用sle\_set\_announce\_data，设置设备公开数据
8.  调用sle\_start\_announce，启动设备公开。

**Grant Node：**

1.  调用enable\_sle，打开SLE开关。
2.  调用sle\_announce\_seek\_register\_callbacks，注册设备公开和设备发现回调函数。
3.  调用sle\_connection\_register\_callbacks，注册连接管理回调函数。
4.  调用sle\_set\_local\_addr，设置本地设备地址。
5.  调用sle\_set\_local\_name，设置本地设备名称。
6.  调用sle\_set\_seek\_param，设置设备发现参数。
7.  调用sle\_start\_seek，启动设备发现，并在回调函数中获得正在进行设备公开的设备信息。
8.  调用sle\_connect\_remote\_device，向对端设备发起连接请求。
9.  调用sle\_pair\_remote\_device，向对端设备发起配对请求。
10. 调用sle\_get\_paired\_devices\_num，获取当前配对设备数量。
11. 调用sle\_get\_paired\_devices，获取当前配对设备信息。
12. 调用sle\_get\_pair\_state，获取配对状态。
13. 调用sle\_get\_connect\_role，获取链路角色。

# SSAP Server接口<a name="ZH-CN_TOPIC_0000001665143030"></a>



## 概述<a name="ZH-CN_TOPIC_0000001665143022"></a>

SSAP是SLE发送和接收数据的通用规范，支持在两个SLE设备间进行数据传输。

## 开发流程<a name="ZH-CN_TOPIC_0000001713102817"></a>

**使用场景<a name="section775mcpsimp"></a>**

SSAP Server主要接收对端的请求和命令，向对端发送响应、通知和指示。

**功能<a name="section779mcpsimp"></a>**

SSAP Server提供的接口如[表1](#_table213321716161)所示。

**表 1**  SSAP Server接口描述

<a name="_table213321716161"></a>
<table><thead align="left"><tr id="row788mcpsimp"><th class="cellrowborder" valign="top" width="15.981598159815983%" id="mcps1.2.5.1.1"><p id="p790mcpsimp"><a name="p790mcpsimp"></a><a name="p790mcpsimp"></a>接口名称</p>
</th>
<th class="cellrowborder" valign="top" width="33.093309330933096%" id="mcps1.2.5.1.2"><p id="p792mcpsimp"><a name="p792mcpsimp"></a><a name="p792mcpsimp"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="27.562756275627564%" id="mcps1.2.5.1.3"><p id="p134231719219"><a name="p134231719219"></a><a name="p134231719219"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="23.362336233623363%" id="mcps1.2.5.1.4"><p id="p109931320124"><a name="p109931320124"></a><a name="p109931320124"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row794mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p16748721184514"><a name="p16748721184514"></a><a name="p16748721184514"></a>ssaps_register_server</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p798mcpsimp"><a name="p798mcpsimp"></a><a name="p798mcpsimp"></a>注册SSAP server。</p>
<p id="p8737184118442"><a name="p8737184118442"></a><a name="p8737184118442"></a><strong id="b938141312474"><a name="b938141312474"></a><a name="b938141312474"></a>注：目前只支持注册一个SSAP  server。</strong></p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p11342191712210"><a name="p11342191712210"></a><a name="p11342191712210"></a>app_uuid：应用UUID指针；</p>
<p id="p382884718520"><a name="p382884718520"></a><a name="p382884718520"></a>server_id：[out] server id指针。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1399310205210"><a name="p1399310205210"></a><a name="p1399310205210"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row799mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p98811272452"><a name="p98811272452"></a><a name="p98811272452"></a>ssaps_unregister_server</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p62365161575"><a name="p62365161575"></a><a name="p62365161575"></a>注销SSAP server。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p23428178216"><a name="p23428178216"></a><a name="p23428178216"></a>server_id：server id。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1412393035719"><a name="p1412393035719"></a><a name="p1412393035719"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row809mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p1133903217458"><a name="p1133903217458"></a><a name="p1133903217458"></a>ssaps_add_service</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p813mcpsimp"><a name="p813mcpsimp"></a><a name="p813mcpsimp"></a>添加服务。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p2488632383"><a name="p2488632383"></a><a name="p2488632383"></a>server_id：server id；</p>
<p id="p39401883412"><a name="p39401883412"></a><a name="p39401883412"></a>service_uuid：服务UUID；</p>
<p id="p14894321982"><a name="p14894321982"></a><a name="p14894321982"></a>is_primary：是否是首要服务。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p580165015586"><a name="p580165015586"></a><a name="p580165015586"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row14457165322015"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p918263734513"><a name="p918263734513"></a><a name="p918263734513"></a>ssaps_add_property</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p5457753102011"><a name="p5457753102011"></a><a name="p5457753102011"></a>添加特征。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p582817101011"><a name="p582817101011"></a><a name="p582817101011"></a>server_id：server id；</p>
<p id="p160105318410"><a name="p160105318410"></a><a name="p160105318410"></a>service_handle：服务句柄；</p>
<p id="p1682817711010"><a name="p1682817711010"></a><a name="p1682817711010"></a>property：特征信息。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1321275215811"><a name="p1321275215811"></a><a name="p1321275215811"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row824mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p1223445218456"><a name="p1223445218456"></a><a name="p1223445218456"></a>ssaps_add_descriptor</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p828mcpsimp"><a name="p828mcpsimp"></a><a name="p828mcpsimp"></a>添加特征描述符。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p620975619104"><a name="p620975619104"></a><a name="p620975619104"></a>server_id：server id；</p>
<p id="p7491721650"><a name="p7491721650"></a><a name="p7491721650"></a>service_handle：服务句柄；</p>
<p id="p8308219135813"><a name="p8308219135813"></a><a name="p8308219135813"></a>property_handle：特征句柄；</p>
<p id="p62091156181015"><a name="p62091156181015"></a><a name="p62091156181015"></a>descriptor：描述符信息。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1699320201023"><a name="p1699320201023"></a><a name="p1699320201023"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row1257712474513"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p195621577458"><a name="p195621577458"></a><a name="p195621577458"></a>ssaps_add_service_sync</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p13185839205810"><a name="p13185839205810"></a><a name="p13185839205810"></a>添加服务同步接口，服务句柄同步返回。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p44271153867"><a name="p44271153867"></a><a name="p44271153867"></a>server_id：server id；</p>
<p id="p1142718531360"><a name="p1142718531360"></a><a name="p1142718531360"></a>service_uuid：服务UUID；</p>
<p id="p74271953068"><a name="p74271953068"></a><a name="p74271953068"></a>is_primary：是否是首要服务；</p>
<p id="p2447157277"><a name="p2447157277"></a><a name="p2447157277"></a>handle：[out]服务句柄指针。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p15960115591011"><a name="p15960115591011"></a><a name="p15960115591011"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row386531016"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p177681653469"><a name="p177681653469"></a><a name="p177681653469"></a>ssaps_add_property_sync</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p5732114055213"><a name="p5732114055213"></a><a name="p5732114055213"></a>添加特征同步接口，特征句柄同步返回。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p478662517101"><a name="p478662517101"></a><a name="p478662517101"></a>server_id：server id；</p>
<p id="p115851813141312"><a name="p115851813141312"></a><a name="p115851813141312"></a>service_handle：服务句柄；</p>
<p id="p049137111316"><a name="p049137111316"></a><a name="p049137111316"></a>property：特征；</p>
<p id="p6786132541017"><a name="p6786132541017"></a><a name="p6786132541017"></a>handle：[out]特征句柄指针。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1315723515115"><a name="p1315723515115"></a><a name="p1315723515115"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row1913210313121"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p4439121414464"><a name="p4439121414464"></a><a name="p4439121414464"></a>ssaps_add_descriptor_sync</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p1180311441527"><a name="p1180311441527"></a><a name="p1180311441527"></a>添加特征描述符同步接口，特征描述符句柄同步返回。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p153901413141411"><a name="p153901413141411"></a><a name="p153901413141411"></a>server_id：server id；</p>
<p id="p3390151318144"><a name="p3390151318144"></a><a name="p3390151318144"></a>service_handle：服务句柄；</p>
<p id="p84541922111"><a name="p84541922111"></a><a name="p84541922111"></a>property_handle：特征句柄；</p>
<p id="p1739091315143"><a name="p1739091315143"></a><a name="p1739091315143"></a>descriptor：特征描述符；</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1570763941415"><a name="p1570763941415"></a><a name="p1570763941415"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row829mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p19685122012463"><a name="p19685122012463"></a><a name="p19685122012463"></a>ssaps_start_service</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p833mcpsimp"><a name="p833mcpsimp"></a><a name="p833mcpsimp"></a>启动服务。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p1332153919115"><a name="p1332153919115"></a><a name="p1332153919115"></a>server_id：server id；</p>
<p id="p123610581144"><a name="p123610581144"></a><a name="p123610581144"></a>service_handle：服务句柄。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p7174165817582"><a name="p7174165817582"></a><a name="p7174165817582"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row834mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p4504152716467"><a name="p4504152716467"></a><a name="p4504152716467"></a>ssaps_delete_all_services</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p838mcpsimp"><a name="p838mcpsimp"></a><a name="p838mcpsimp"></a>删除所有服务。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p19815155813110"><a name="p19815155813110"></a><a name="p19815155813110"></a>server_id：server id。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p63401159185813"><a name="p63401159185813"></a><a name="p63401159185813"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row844mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p12773143294614"><a name="p12773143294614"></a><a name="p12773143294614"></a>ssaps_send_response</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p1230216577176"><a name="p1230216577176"></a><a name="p1230216577176"></a>发送响应。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p16066581212"><a name="p16066581212"></a><a name="p16066581212"></a>server_id：server id；</p>
<p id="p14238121051820"><a name="p14238121051820"></a><a name="p14238121051820"></a>conn_id：连接ID；</p>
<p id="p184988291185"><a name="p184988291185"></a><a name="p184988291185"></a>param：响应参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p17545120155913"><a name="p17545120155913"></a><a name="p17545120155913"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row854mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p1888839194618"><a name="p1888839194618"></a><a name="p1888839194618"></a>ssaps_notify_indicate</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p858mcpsimp"><a name="p858mcpsimp"></a><a name="p858mcpsimp"></a>给对端发送通知或指示。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p189329328226"><a name="p189329328226"></a><a name="p189329328226"></a>server_id：server id；</p>
<p id="p1193223212210"><a name="p1193223212210"></a><a name="p1193223212210"></a>conn_id：连接ID；</p>
<p id="p129321332182214"><a name="p129321332182214"></a><a name="p129321332182214"></a>param：通知或指示参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p8852161145910"><a name="p8852161145910"></a><a name="p8852161145910"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row93013312138"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p96911945164615"><a name="p96911945164615"></a><a name="p96911945164615"></a>ssaps_notify_indicate_by_uuid</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p13301731101316"><a name="p13301731101316"></a><a name="p13301731101316"></a>按照uuid给对端发送通知或指示。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p447113013234"><a name="p447113013234"></a><a name="p447113013234"></a>server_id：server id；</p>
<p id="p7471100162316"><a name="p7471100162316"></a><a name="p7471100162316"></a>conn_id：连接ID；</p>
<p id="p1147116010237"><a name="p1147116010237"></a><a name="p1147116010237"></a>param：通知或指示参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p665017314593"><a name="p665017314593"></a><a name="p665017314593"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row15903162713231"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p360375013461"><a name="p360375013461"></a><a name="p360375013461"></a>ssaps_set_info</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p1169284912253"><a name="p1169284912253"></a><a name="p1169284912253"></a>在连接之前设置 server信息。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p16129194355418"><a name="p16129194355418"></a><a name="p16129194355418"></a>server_id：server id；</p>
<p id="p833414605520"><a name="p833414605520"></a><a name="p833414605520"></a>info： server信息。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p2904527172315"><a name="p2904527172315"></a><a name="p2904527172315"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row859mcpsimp"><td class="cellrowborder" valign="top" width="15.981598159815983%" headers="mcps1.2.5.1.1 "><p id="p12348175544610"><a name="p12348175544610"></a><a name="p12348175544610"></a>ssaps_register_callbacks</p>
</td>
<td class="cellrowborder" valign="top" width="33.093309330933096%" headers="mcps1.2.5.1.2 "><p id="p863mcpsimp"><a name="p863mcpsimp"></a><a name="p863mcpsimp"></a>注册SSAP server回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p434291711216"><a name="p434291711216"></a><a name="p434291711216"></a>func：用户回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p206731868593"><a name="p206731868593"></a><a name="p206731868593"></a>接口返回值：错误码。</p>
</td>
</tr>
</tbody>
</table>

**开发流程<a name="section904mcpsimp"></a>**

SSAP server开发的典型流程：注册SSAP server，注册本端属性数据库，接收对端的请求和命令，向对端发送通知和指示，具体编程实例可参考application/samples/bt。

1.  调用enable\_sle，打开SLE开关。
2.  调用ssaps\_register\_callbacks，注册SSAP server回调。
3.  调用sle\_announce\_seek\_register\_callbacks，注册设备公开和设备发现回调函数。
4.  调用ssaps\_register\_server，创建一个server实体。
5.  调用ssaps\_add\_service\_sync、ssaps\_add\_property\_sync、ssaps\_add\_descriptor\_sync和ssaps\_start\_service注册本端属性数据库，每一个服务及其内容添加完成后调用ssaps\_start\_service启动服务。
6.  调用sle\_set\_local\_addr，设置本地设备地址。
7.  调用sle\_set\_local\_name，设置本地设备名称。
8.  调用sle\_set\_announce\_param，设置设备公开参数。
9.  调用sle\_set\_announce\_data，设置设备公开数据。
10. 调用sle\_start\_announce，启动设备公开。
11. 连接建立。
12. 接收对端设备的读写请求，当对端设备读写需要授权的特征或描述符时，调用ssaps\_send\_response向对端发送响应并修改本端特征值。
13. 当某个特征的客户端特征配置描述符为0x0001时，在特征值变化时调用ssaps\_notify\_indicate向对端设备发送通知，当某个特征的客户端特征配置描述符为0x0002时，在特征值变化时调用ssaps\_notify\_indicate向对端设备发送指示。

# SSAP client接口<a name="ZH-CN_TOPIC_0000001664983286"></a>



## 概述<a name="ZH-CN_TOPIC_0000001713102821"></a>

SSAP是SLE发送和接收数据的通用规范，支持在两个SLE设备间进行数据传输。

## 开发流程<a name="ZH-CN_TOPIC_0000001665143018"></a>

**使用场景<a name="section775mcpsimp"></a>**

SSAP Client主要向对端发送请求和命令，接收对端的响应、通知和指示。

**功能<a name="section779mcpsimp"></a>**

SSAP Client提供的接口如[表1](#_table213321716161)所示。

**表 1**  SSAP Client接口描述

<a name="_table213321716161"></a>
<table><thead align="left"><tr id="row788mcpsimp"><th class="cellrowborder" valign="top" width="17.911791179117913%" id="mcps1.2.5.1.1"><p id="p790mcpsimp"><a name="p790mcpsimp"></a><a name="p790mcpsimp"></a>接口名称</p>
</th>
<th class="cellrowborder" valign="top" width="31.16311631163116%" id="mcps1.2.5.1.2"><p id="p792mcpsimp"><a name="p792mcpsimp"></a><a name="p792mcpsimp"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="27.562756275627564%" id="mcps1.2.5.1.3"><p id="p134231719219"><a name="p134231719219"></a><a name="p134231719219"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="23.362336233623363%" id="mcps1.2.5.1.4"><p id="p109931320124"><a name="p109931320124"></a><a name="p109931320124"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row794mcpsimp"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p173375295437"><a name="p173375295437"></a><a name="p173375295437"></a>ssapc_register_client</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p798mcpsimp"><a name="p798mcpsimp"></a><a name="p798mcpsimp"></a>注册SSAP client。</p>
<p id="p8737184118442"><a name="p8737184118442"></a><a name="p8737184118442"></a><strong id="b938141312474"><a name="b938141312474"></a><a name="b938141312474"></a>注：目前只支持注册一个SSAP  client。</strong></p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p11342191712210"><a name="p11342191712210"></a><a name="p11342191712210"></a>app_uuid：应用UUID指针；</p>
<p id="p382884718520"><a name="p382884718520"></a><a name="p382884718520"></a>client_id：[out] client id指针。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1399310205210"><a name="p1399310205210"></a><a name="p1399310205210"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row799mcpsimp"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p641943414312"><a name="p641943414312"></a><a name="p641943414312"></a>ssapc_unregister_client</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p62365161575"><a name="p62365161575"></a><a name="p62365161575"></a>注销SSAP client。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p23428178216"><a name="p23428178216"></a><a name="p23428178216"></a>client_id：client id。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1412393035719"><a name="p1412393035719"></a><a name="p1412393035719"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row809mcpsimp"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p1477684118431"><a name="p1477684118431"></a><a name="p1477684118431"></a>ssapc_find_structure</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p813mcpsimp"><a name="p813mcpsimp"></a><a name="p813mcpsimp"></a>查找对端服务、特征和描述符。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p118617984917"><a name="p118617984917"></a><a name="p118617984917"></a>client_id：client id；</p>
<p id="p1376352075011"><a name="p1376352075011"></a><a name="p1376352075011"></a>conn_id：连接ID；</p>
<p id="p6299724205014"><a name="p6299724205014"></a><a name="p6299724205014"></a>param：查找参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p580165015586"><a name="p580165015586"></a><a name="p580165015586"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row14457165322015"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p537974794310"><a name="p537974794310"></a><a name="p537974794310"></a>ssapc_read_req_by_uuid</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p5457753102011"><a name="p5457753102011"></a><a name="p5457753102011"></a>向对端发送按照uuid读取请求。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p1272115416524"><a name="p1272115416524"></a><a name="p1272115416524"></a>client_id：client id；</p>
<p id="p572954105213"><a name="p572954105213"></a><a name="p572954105213"></a>conn_id：连接ID；</p>
<p id="p1960195515522"><a name="p1960195515522"></a><a name="p1960195515522"></a>param：读取参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1321275215811"><a name="p1321275215811"></a><a name="p1321275215811"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row824mcpsimp"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p7400352144312"><a name="p7400352144312"></a><a name="p7400352144312"></a>ssapc_read_req</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p828mcpsimp"><a name="p828mcpsimp"></a><a name="p828mcpsimp"></a>向对端发送读取请求。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p17114111019536"><a name="p17114111019536"></a><a name="p17114111019536"></a>client_id：client id；</p>
<p id="p15114161015314"><a name="p15114161015314"></a><a name="p15114161015314"></a>conn_id：连接ID；</p>
<p id="p611451017535"><a name="p611451017535"></a><a name="p611451017535"></a>handle：句柄；</p>
<p id="p146691915105311"><a name="p146691915105311"></a><a name="p146691915105311"></a>type：类型。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1699320201023"><a name="p1699320201023"></a><a name="p1699320201023"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row1257712474513"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p20433658194314"><a name="p20433658194314"></a><a name="p20433658194314"></a>ssapc_write_req</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p13185839205810"><a name="p13185839205810"></a><a name="p13185839205810"></a>向对端发送写请求。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p143144511538"><a name="p143144511538"></a><a name="p143144511538"></a>client_id：client id；</p>
<p id="p73184515316"><a name="p73184515316"></a><a name="p73184515316"></a>conn_id：连接ID；</p>
<p id="p143204513532"><a name="p143204513532"></a><a name="p143204513532"></a>param：写参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p15960115591011"><a name="p15960115591011"></a><a name="p15960115591011"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row386531016"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p1145512484411"><a name="p1145512484411"></a><a name="p1145512484411"></a>ssapc_write_cmd</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p5732114055213"><a name="p5732114055213"></a><a name="p5732114055213"></a>向对端发送写命令。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p060712511535"><a name="p060712511535"></a><a name="p060712511535"></a>client_id：client id；</p>
<p id="p116071451135320"><a name="p116071451135320"></a><a name="p116071451135320"></a>conn_id：连接ID；</p>
<p id="p136071651205317"><a name="p136071651205317"></a><a name="p136071651205317"></a>param：写参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1315723515115"><a name="p1315723515115"></a><a name="p1315723515115"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row1913210313121"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p830131014411"><a name="p830131014411"></a><a name="p830131014411"></a>ssapc_exchange_info_req</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p1180311441527"><a name="p1180311441527"></a><a name="p1180311441527"></a>向对端发送交换信息请求。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p15525866545"><a name="p15525866545"></a><a name="p15525866545"></a>client_id：client id；</p>
<p id="p65258695412"><a name="p65258695412"></a><a name="p65258695412"></a>conn_id：连接ID；</p>
<p id="p1552512615411"><a name="p1552512615411"></a><a name="p1552512615411"></a>param：交换信息参数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1570763941415"><a name="p1570763941415"></a><a name="p1570763941415"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row829mcpsimp"><td class="cellrowborder" valign="top" width="17.911791179117913%" headers="mcps1.2.5.1.1 "><p id="p18516111664413"><a name="p18516111664413"></a><a name="p18516111664413"></a>ssapc_register_callbacks</p>
</td>
<td class="cellrowborder" valign="top" width="31.16311631163116%" headers="mcps1.2.5.1.2 "><p id="p833mcpsimp"><a name="p833mcpsimp"></a><a name="p833mcpsimp"></a>注册SSAP client回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p018012914490"><a name="p018012914490"></a><a name="p018012914490"></a>func：用户回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p7174165817582"><a name="p7174165817582"></a><a name="p7174165817582"></a>接口返回值：错误码。</p>
</td>
</tr>
</tbody>
</table>

**开发流程<a name="section904mcpsimp"></a>**

SSAP Client开发的典型流程：注册SSAP Client，查找对端属性数据库，向对端发送请求和命令，接收对端的通知和指示，具体编程实例可参考application/samples/bt。

**SSAP Server：**

1.  调用enable\_sle，打开SLE开关。
2.  调用ssaps\_register\_callbacks，注册SSAP server回调。
3.  调用sle\_announce\_seek\_register\_callbacks，注册设备公开和设备发现回调函数。
4.  调用ssaps\_register\_server，创建一个server实体。
5.  调用ssaps\_add\_service\_sync、ssaps\_add\_property\_sync、ssaps\_add\_descriptor\_sync和ssaps\_start\_service注册本端属性数据库，每一个服务及其内容添加完成后调用ssaps\_start\_service启动服务。
6.  调用sle\_set\_local\_addr，设置本地设备地址。
7.  调用sle\_set\_local\_name，设置本地设备名称。
8.  调用sle\_set\_announce\_param，设置设备公开参数。
9.  调用sle\_set\_announce\_data，设置设备公开数据。
10. 调用sle\_start\_announce，启动设备公开。
11. 连接建立。
12. 接收对端设备的读写请求，当对端设备读写需要授权的特征或描述符时，调用ssaps\_send\_response向对端发送响应并修改本端特征值。
13. 当某个特征的客户端特征配置描述符为0x0001时，在特征值变化时向对端设备发送通知，当某个特征的客户端特征配置描述符为0x0002时，在特征值变化时向对端设备发送指示。

**SSAP Client：**

1.  调用enable\_sle，打开SLE开关。
2.  调用ssapc\_register\_callbacks，注册SSAP client回调。
3.  调用sle\_announce\_seek\_register\_callbacks，注册设备公开和设备发现回调函数。
4.  调用ssapc\_register\_client，创建一个client实体。
5.  递归调用ssapc\_find\_structure查找对端属性数据库。
6.  如果关注对端某个特征，可调用ssapc\_write\_req或ssapc\_write\_cmd将该特征的客户端特征配置描述符写为0x0001或0x0002，前者可使能对端特征通知，后者可使能对端特征指示。
7.  调用读接口ssapc\_read\_req和写接口ssapc\_write\_req操作对端属性数据库。

# Low Latency接口<a name="ZH-CN_TOPIC_0000001713022849"></a>



## 概述<a name="ZH-CN_TOPIC_0000001713022845"></a>

Low Latency模块使用星闪协议以极低时延在服务端和客户端之间进行数据传输。

## 开发流程<a name="ZH-CN_TOPIC_0000001664983282"></a>

**使用场景<a name="section775mcpsimp"></a>**

Low Latency模块的功能是开关服务端和客户端的低时延通道，在服务端发送传感器内数据，在客户端侧接收客户端数据。

**功能<a name="section779mcpsimp"></a>**

Low Latency提供的接口如[表1](#_table213321716161)所示。

**表 1**  Low Latency接口描述

<a name="_table213321716161"></a>
<table><thead align="left"><tr id="row788mcpsimp"><th class="cellrowborder" valign="top" width="25.232523252325233%" id="mcps1.2.5.1.1"><p id="p790mcpsimp"><a name="p790mcpsimp"></a><a name="p790mcpsimp"></a>接口名称</p>
</th>
<th class="cellrowborder" valign="top" width="23.84238423842384%" id="mcps1.2.5.1.2"><p id="p792mcpsimp"><a name="p792mcpsimp"></a><a name="p792mcpsimp"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="27.562756275627564%" id="mcps1.2.5.1.3"><p id="p134231719219"><a name="p134231719219"></a><a name="p134231719219"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="23.362336233623363%" id="mcps1.2.5.1.4"><p id="p109931320124"><a name="p109931320124"></a><a name="p109931320124"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row794mcpsimp"><td class="cellrowborder" valign="top" width="25.232523252325233%" headers="mcps1.2.5.1.1 "><p id="p1879411556294"><a name="p1879411556294"></a><a name="p1879411556294"></a>sle_low_latency_mouse_enable</p>
</td>
<td class="cellrowborder" valign="top" width="23.84238423842384%" headers="mcps1.2.5.1.2 "><p id="p193806416295"><a name="p193806416295"></a><a name="p193806416295"></a>打开低时延鼠标。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p19898114512913"><a name="p19898114512913"></a><a name="p19898114512913"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1399310205210"><a name="p1399310205210"></a><a name="p1399310205210"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row290325123919"><td class="cellrowborder" valign="top" width="25.232523252325233%" headers="mcps1.2.5.1.1 "><p id="p3231296303"><a name="p3231296303"></a><a name="p3231296303"></a>sle_low_latency_dongle_enable</p>
</td>
<td class="cellrowborder" valign="top" width="23.84238423842384%" headers="mcps1.2.5.1.2 "><p id="p6380184122911"><a name="p6380184122911"></a><a name="p6380184122911"></a>打开低时延dongle。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p289724552915"><a name="p289724552915"></a><a name="p289724552915"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p580165015586"><a name="p580165015586"></a><a name="p580165015586"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row799mcpsimp"><td class="cellrowborder" valign="top" width="25.232523252325233%" headers="mcps1.2.5.1.1 "><p id="p161925175119"><a name="p161925175119"></a><a name="p161925175119"></a>sle_low_latency_mouse_register_callbacks</p>
</td>
<td class="cellrowborder" valign="top" width="23.84238423842384%" headers="mcps1.2.5.1.2 "><p id="p1380134102915"><a name="p1380134102915"></a><a name="p1380134102915"></a>注册低时延鼠标回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p1089724512911"><a name="p1089724512911"></a><a name="p1089724512911"></a>mouse_cbk：鼠标数据回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1412393035719"><a name="p1412393035719"></a><a name="p1412393035719"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row283328115910"><td class="cellrowborder" valign="top" width="25.232523252325233%" headers="mcps1.2.5.1.1 "><p id="p3994171323011"><a name="p3994171323011"></a><a name="p3994171323011"></a>sle_low_latency_set</p>
</td>
<td class="cellrowborder" valign="top" width="23.84238423842384%" headers="mcps1.2.5.1.2 "><p id="p1537944192912"><a name="p1537944192912"></a><a name="p1537944192912"></a>设置低时延速率，打开或关闭低时延。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p1889610455295"><a name="p1889610455295"></a><a name="p1889610455295"></a>conn_id：连接ID；</p>
<p id="p4641818335"><a name="p4641818335"></a><a name="p4641818335"></a>enable：是否打开低时延；</p>
<p id="p10706212183313"><a name="p10706212183313"></a><a name="p10706212183313"></a>rate：速率。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1321275215811"><a name="p1321275215811"></a><a name="p1321275215811"></a>接口返回值：错误码。</p>
</td>
</tr>
<tr id="row824mcpsimp"><td class="cellrowborder" valign="top" width="25.232523252325233%" headers="mcps1.2.5.1.1 "><p id="p685261833011"><a name="p685261833011"></a><a name="p685261833011"></a>sle_low_latency_dongle_register_callbacks</p>
</td>
<td class="cellrowborder" valign="top" width="23.84238423842384%" headers="mcps1.2.5.1.2 "><p id="p237910419290"><a name="p237910419290"></a><a name="p237910419290"></a>注册低时延dongle回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="27.562756275627564%" headers="mcps1.2.5.1.3 "><p id="p78952452297"><a name="p78952452297"></a><a name="p78952452297"></a>dongle_cbk：dongle数据回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="23.362336233623363%" headers="mcps1.2.5.1.4 "><p id="p1699320201023"><a name="p1699320201023"></a><a name="p1699320201023"></a>接口返回值：错误码。</p>
</td>
</tr>
</tbody>
</table>

**开发流程<a name="section904mcpsimp"></a>**

Low Latency开发的典型流程如下：

**Dongle：**

1.  调用sle\_low\_latency\_dongle\_register\_callbacks，注册dongle数据回调函数。
2.  调用sle\_low\_latency\_dongle\_enable接口，打开dongle低时延通道。
3.  调用sle\_low\_latency\_set设置低时延速率。
4.  接收鼠标数据。

**鼠标：**

1.  调用sle\_low\_latency\_mouse\_register\_callbacks，注册鼠标数据回调函数。
2.  调用sle\_low\_latency\_mouse\_enable接口，打开鼠标低时延通道。
3.  移动鼠标。

# Transmission Manager接口<a name="ZH-CN_TOPIC_0000001910818801"></a>



## 概述<a name="ZH-CN_TOPIC_0000001864699584"></a>

Transmission Manager模块负责SLE的数据发送，保障了数据成功传输到底层。

## 开发流程<a name="ZH-CN_TOPIC_0000001910819073"></a>

**使用场景<a name="section4346153310231"></a>**

Transmission Manager模块实时监控了底层缓冲区数量，数据包因为底层发送繁忙没有发出去时，就会上报发送繁忙通知。

**功能<a name="section645413478238"></a>**

Transmission Manager提供的接口如[表1](#table63362010299)所示。

**表 1**  Transmission Manager接口描述

<a name="table63362010299"></a>
<table><thead align="left"><tr id="row113402013297"><th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.1"><p id="p23482010297"><a name="p23482010297"></a><a name="p23482010297"></a>接口描述</p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.2"><p id="p1234182052917"><a name="p1234182052917"></a><a name="p1234182052917"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.3"><p id="p173402012298"><a name="p173402012298"></a><a name="p173402012298"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.4"><p id="p1934620202914"><a name="p1934620202914"></a><a name="p1934620202914"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row7345201299"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p12547165143717"><a name="p12547165143717"></a><a name="p12547165143717"></a>send_data_cb</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p634120192917"><a name="p634120192917"></a><a name="p634120192917"></a>SLE发送数据繁忙回调勾子。</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p13414201295"><a name="p13414201295"></a><a name="p13414201295"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p13341020152917"><a name="p13341020152917"></a><a name="p13341020152917"></a>-</p>
</td>
</tr>
<tr id="row81161808346"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p1118411710342"><a name="p1118411710342"></a><a name="p1118411710342"></a>sle_transmission_register_callbacks</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p101163019348"><a name="p101163019348"></a><a name="p101163019348"></a>注册SLE传输管理回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p13116160143415"><a name="p13116160143415"></a><a name="p13116160143415"></a>func：用户回调函数。</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p1011619019349"><a name="p1011619019349"></a><a name="p1011619019349"></a>接口返回值：错误码。</p>
</td>
</tr>
</tbody>
</table>

**开发流程<a name="section19178325112415"></a>**

Transmission Manager典型开发流程如下：

**SERVER端：**

1.  调用sle\_transmission\_register\_callbacks，注册SLE传输管理回调函数。
2.  每次发包前，根据回调勾子反馈的系统忙闲状态，若是空闲状态，继续高速发包；若是流控状态，减小发包速率；若是繁忙状态，停止发包。

# SLE Passkey接口<a name="ZH-CN_TOPIC_0000002187388469"></a>



## 概述<a name="ZH-CN_TOPIC_0000002151911264"></a>

星闪配对有多种鉴权方式可以选择，passkey鉴权是其中之一，passkey鉴权提供了防中间人攻击能力，安全性相对免输入鉴权有提升。

## 开发流程<a name="ZH-CN_TOPIC_0000002187348429"></a>

**使用场景<a name="section4346153310231"></a>**

发起星闪配对后，根据用户设置的IO（Input Output）能力决策的鉴权方式决策鉴权方式，当满足条件时，协议栈能够自动协商为passkey鉴权。

**功能<a name="section645413478238"></a>**

SLE提供的passkey相关接口如SLE Passkey接口描述如[表1](#table63362010299)所示。

**表 1**  SLE Passkey接口描述

<a name="table63362010299"></a>
<table><thead align="left"><tr id="row113402013297"><th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.1"><p id="p23482010297"><a name="p23482010297"></a><a name="p23482010297"></a>接口描述</p>
</th>
<th class="cellrowborder" valign="top" width="17.23%" id="mcps1.2.5.1.2"><p id="p1234182052917"><a name="p1234182052917"></a><a name="p1234182052917"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="29.189999999999998%" id="mcps1.2.5.1.3"><p id="p173402012298"><a name="p173402012298"></a><a name="p173402012298"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="28.58%" id="mcps1.2.5.1.4"><p id="p1934620202914"><a name="p1934620202914"></a><a name="p1934620202914"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row7345201299"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p4960181710107"><a name="p4960181710107"></a><a name="p4960181710107"></a>passkey_req_cb</p>
</td>
<td class="cellrowborder" valign="top" width="17.23%" headers="mcps1.2.5.1.2 "><p id="p634120192917"><a name="p634120192917"></a><a name="p634120192917"></a>SLE配对发起后，passkey请求回调勾子。</p>
</td>
<td class="cellrowborder" valign="top" width="29.189999999999998%" headers="mcps1.2.5.1.3 "><p id="p333614563105"><a name="p333614563105"></a><a name="p333614563105"></a>conn_id：SLE连接ID。</p>
</td>
<td class="cellrowborder" valign="top" width="28.58%" headers="mcps1.2.5.1.4 "><p id="p13341020152917"><a name="p13341020152917"></a><a name="p13341020152917"></a>-</p>
</td>
</tr>
<tr id="row1026520252104"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p841442716104"><a name="p841442716104"></a><a name="p841442716104"></a>passkey_notify_cb</p>
</td>
<td class="cellrowborder" valign="top" width="17.23%" headers="mcps1.2.5.1.2 "><p id="p1265122514102"><a name="p1265122514102"></a><a name="p1265122514102"></a>SLE配对发起后，passkey确认回调勾子。</p>
</td>
<td class="cellrowborder" valign="top" width="29.189999999999998%" headers="mcps1.2.5.1.3 "><p id="p19265122591015"><a name="p19265122591015"></a><a name="p19265122591015"></a>conn_id：SLE连接ID；</p>
<p id="p493611101212"><a name="p493611101212"></a><a name="p493611101212"></a>passkey：通行码数据指针；</p>
<p id="p370132419124"><a name="p370132419124"></a><a name="p370132419124"></a>len：通行码数据长度。</p>
</td>
<td class="cellrowborder" valign="top" width="28.58%" headers="mcps1.2.5.1.4 "><p id="p42650253106"><a name="p42650253106"></a><a name="p42650253106"></a>-</p>
</td>
</tr>
<tr id="row1825034913128"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p87519529128"><a name="p87519529128"></a><a name="p87519529128"></a>sle_passkey_entry</p>
</td>
<td class="cellrowborder" valign="top" width="17.23%" headers="mcps1.2.5.1.2 "><p id="p12501749141219"><a name="p12501749141219"></a><a name="p12501749141219"></a>通行码输入。</p>
</td>
<td class="cellrowborder" valign="top" width="29.189999999999998%" headers="mcps1.2.5.1.3 "><p id="p225074915127"><a name="p225074915127"></a><a name="p225074915127"></a>conn_id：SLE连接ID；</p>
<p id="p6244214171319"><a name="p6244214171319"></a><a name="p6244214171319"></a>passkey：转为数字的通信码数据。</p>
</td>
<td class="cellrowborder" valign="top" width="28.58%" headers="mcps1.2.5.1.4 "><p id="p172501649191210"><a name="p172501649191210"></a><a name="p172501649191210"></a>成功：ERRCODE_SLE_SUCCESS；</p>
<p id="p10194191818145"><a name="p10194191818145"></a><a name="p10194191818145"></a>失败：对应错误码。</p>
</td>
</tr>
</tbody>
</table>

SLE提供的安全参数设置接口如SLE安全参数设置接口描述如[表2](#table496914359166)所示。

**表 2**  SLE安全参数设置接口描述

<a name="table496914359166"></a>
<table><thead align="left"><tr id="row896918355165"><th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.1"><p id="p1296915350163"><a name="p1296915350163"></a><a name="p1296915350163"></a>接口描述</p>
</th>
<th class="cellrowborder" valign="top" width="17.23%" id="mcps1.2.5.1.2"><p id="p19969143591614"><a name="p19969143591614"></a><a name="p19969143591614"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="29.189999999999998%" id="mcps1.2.5.1.3"><p id="p5969103518166"><a name="p5969103518166"></a><a name="p5969103518166"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="28.58%" id="mcps1.2.5.1.4"><p id="p1696917352166"><a name="p1696917352166"></a><a name="p1696917352166"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row149691235181615"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p164652126172"><a name="p164652126172"></a><a name="p164652126172"></a>sle_set_sec_param</p>
</td>
<td class="cellrowborder" valign="top" width="17.23%" headers="mcps1.2.5.1.2 "><p id="p1096910356166"><a name="p1096910356166"></a><a name="p1096910356166"></a>SLE设置安全参数。</p>
</td>
<td class="cellrowborder" valign="top" width="29.189999999999998%" headers="mcps1.2.5.1.3 "><p id="p196914353160"><a name="p196914353160"></a><a name="p196914353160"></a>sec_params：SLE安全参数，包含IO能力、配对绑定地址、配对防中间人攻击、地址隐私使能。</p>
</td>
<td class="cellrowborder" valign="top" width="28.58%" headers="mcps1.2.5.1.4 "><p id="p1735562131910"><a name="p1735562131910"></a><a name="p1735562131910"></a>成功：ERRCODE_SLE_SUCCESS；</p>
<p id="p143555219195"><a name="p143555219195"></a><a name="p143555219195"></a>失败：对应错误码。</p>
</td>
</tr>
</tbody>
</table>

SLE协议提供的IO能力和鉴权方式对应关系如SLE鉴权方式决策描述如[表3](#table025793011253)所示。

**表 3**  SLE鉴权方式决策描述

<a name="table025793011253"></a>
<table><tbody><tr id="row22571730162515"><td class="cellrowborder" colspan="2" valign="top"><p id="p158345011710"><a name="p158345011710"></a><a name="p158345011710"></a>-</p>
</td>
<td class="cellrowborder" colspan="5" valign="top"><p id="p64711846152518"><a name="p64711846152518"></a><a name="p64711846152518"></a>G节点IO能力</p>
</td>
</tr>
<tr id="row825793072517"><td class="cellrowborder" colspan="2" valign="top"><p id="p113741837408"><a name="p113741837408"></a><a name="p113741837408"></a>-</p>
</td>
<td class="cellrowborder" valign="top"><p id="p107114119295"><a name="p107114119295"></a><a name="p107114119295"></a>只展示</p>
</td>
<td class="cellrowborder" valign="top"><p id="p2334102015299"><a name="p2334102015299"></a><a name="p2334102015299"></a>展示，并且可以选择Yes或者No</p>
</td>
<td class="cellrowborder" valign="top"><p id="p157625475292"><a name="p157625475292"></a><a name="p157625475292"></a>只支持键盘</p>
</td>
<td class="cellrowborder" valign="top"><p id="p52571558172918"><a name="p52571558172918"></a><a name="p52571558172918"></a>没有输入输出</p>
</td>
<td class="cellrowborder" valign="top"><p id="p239915833015"><a name="p239915833015"></a><a name="p239915833015"></a>支持键盘和展示</p>
</td>
</tr>
<tr id="row3257330192512"><td class="cellrowborder" rowspan="5" valign="top" width="7.787663700889732%"><p id="p1759488182610"><a name="p1759488182610"></a><a name="p1759488182610"></a>T节点IO能力</p>
</td>
<td class="cellrowborder" valign="top" width="15.595321403578927%"><p id="p8257153022512"><a name="p8257153022512"></a><a name="p8257153022512"></a>只展示</p>
</td>
<td class="cellrowborder" valign="top" width="13.86584024792562%"><p id="p825773014253"><a name="p825773014253"></a><a name="p825773014253"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top" width="15.545336399080275%"><p id="p10257153012520"><a name="p10257153012520"></a><a name="p10257153012520"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top" width="16.934919524142757%"><p id="p025773010253"><a name="p025773010253"></a><a name="p025773010253"></a>Passkey通行码鉴权</p>
</td>
<td class="cellrowborder" valign="top" width="15.985204438668399%"><p id="p172571330132517"><a name="p172571330132517"></a><a name="p172571330132517"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top" width="14.285714285714285%"><p id="p10257530152516"><a name="p10257530152516"></a><a name="p10257530152516"></a>Passkey通行码鉴权</p>
</td>
</tr>
<tr id="row2025733022516"><td class="cellrowborder" valign="top"><p id="p1925714305258"><a name="p1925714305258"></a><a name="p1925714305258"></a>展示，并且可以选择Yes或者No</p>
</td>
<td class="cellrowborder" valign="top"><p id="p15257103062510"><a name="p15257103062510"></a><a name="p15257103062510"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p1725712308250"><a name="p1725712308250"></a><a name="p1725712308250"></a>-</p>
</td>
<td class="cellrowborder" valign="top"><p id="p7258930192517"><a name="p7258930192517"></a><a name="p7258930192517"></a>Passkey通行码鉴权</p>
</td>
<td class="cellrowborder" valign="top"><p id="p225818306258"><a name="p225818306258"></a><a name="p225818306258"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p025833011255"><a name="p025833011255"></a><a name="p025833011255"></a>-</p>
</td>
</tr>
<tr id="row12258153082519"><td class="cellrowborder" valign="top"><p id="p4286175110291"><a name="p4286175110291"></a><a name="p4286175110291"></a>只支持键盘</p>
</td>
<td class="cellrowborder" valign="top"><p id="p325853012256"><a name="p325853012256"></a><a name="p325853012256"></a>Passkey通行码鉴权</p>
</td>
<td class="cellrowborder" valign="top"><p id="p1258163011258"><a name="p1258163011258"></a><a name="p1258163011258"></a>Passkey通行码鉴权</p>
</td>
<td class="cellrowborder" valign="top"><p id="p12582300254"><a name="p12582300254"></a><a name="p12582300254"></a>-</p>
</td>
<td class="cellrowborder" valign="top"><p id="p18258730192519"><a name="p18258730192519"></a><a name="p18258730192519"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p3258163042510"><a name="p3258163042510"></a><a name="p3258163042510"></a>-</p>
</td>
</tr>
<tr id="row12258193062512"><td class="cellrowborder" valign="top"><p id="p192000153011"><a name="p192000153011"></a><a name="p192000153011"></a>没有输入输出</p>
</td>
<td class="cellrowborder" valign="top"><p id="p1425810302257"><a name="p1425810302257"></a><a name="p1425810302257"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p925812301259"><a name="p925812301259"></a><a name="p925812301259"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p92581430132514"><a name="p92581430132514"></a><a name="p92581430132514"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p18258830172515"><a name="p18258830172515"></a><a name="p18258830172515"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p025814302258"><a name="p025814302258"></a><a name="p025814302258"></a>免输入</p>
</td>
</tr>
<tr id="row192581230102519"><td class="cellrowborder" valign="top"><p id="p15245131117304"><a name="p15245131117304"></a><a name="p15245131117304"></a>支持键盘和展示</p>
</td>
<td class="cellrowborder" valign="top"><p id="p425817304256"><a name="p425817304256"></a><a name="p425817304256"></a>Passkey通行码鉴权</p>
</td>
<td class="cellrowborder" valign="top"><p id="p152581630142515"><a name="p152581630142515"></a><a name="p152581630142515"></a>-</p>
</td>
<td class="cellrowborder" valign="top"><p id="p42589305255"><a name="p42589305255"></a><a name="p42589305255"></a>-</p>
</td>
<td class="cellrowborder" valign="top"><p id="p32581230172511"><a name="p32581230172511"></a><a name="p32581230172511"></a>免输入</p>
</td>
<td class="cellrowborder" valign="top"><p id="p225815305252"><a name="p225815305252"></a><a name="p225815305252"></a>-</p>
</td>
</tr>
</tbody>
</table>

IO能力定义参考枚举：sle\_io\_ability\_t

**开发流程<a name="section161008381712"></a>**

SLE Passkey鉴权典型开发流程如下：

1.  初始化SLE协议栈之后，互联的两个设备必须调用安全参数设置接口，配置双方设备的IO能力、防中间人攻击标识。

    配对决策使用passkey鉴权时，需将防中间人攻击标识置为：SLE\_PAIRING\_DEFEND\_MITM，双方设备的IO能力按照表SLE鉴权方式决策描述进行设置。

2.  连接端发起连接，并确保连接完成。
3.  连接完成后，调用配对发起接口：sle\_pair\_remote\_device，该接口在G、T节点均可调用。
4.  通过安全参数设置接口，配置为显示设备（IO能力为：只展示或展示并可以选择Yes或者No），则该设备只会收到passkey\_notify\_cb回调，此时该设备需要将数据显示，passkey在当前设备上由协议栈生成随机6位数字。
5.  通过安全参数设置接口，配置为输入设备（IO能力为：只支持键盘或支持键盘和展示），则该设备只会收到passkey\_req\_cb回调，此时该设备需要用户输入对端设备显示的passkey。
6.  输入设备调用passkey输入接口成功后，等待配对完成，典型时长2s\~4s。

SLE配对，选择Passkey鉴权异常处理如SLE Passkey异常处理描述，如[表4](#table541115919524)所示。

**表 4**  SLE Passkey异常处理描述

<a name="table541115919524"></a>
<table><thead align="left"><tr id="row16411175918523"><th class="cellrowborder" valign="top" width="16.181618161816182%" id="mcps1.2.4.1.1"><p id="p441145935211"><a name="p441145935211"></a><a name="p441145935211"></a>异常情形</p>
</th>
<th class="cellrowborder" valign="top" width="61.37613761376137%" id="mcps1.2.4.1.2"><p id="p20411125965211"><a name="p20411125965211"></a><a name="p20411125965211"></a>异常处理</p>
</th>
<th class="cellrowborder" valign="top" width="22.442244224422442%" id="mcps1.2.4.1.3"><p id="p5411155965220"><a name="p5411155965220"></a><a name="p5411155965220"></a>异常影响或措施</p>
</th>
</tr>
</thead>
<tbody><tr id="row1411059155214"><td class="cellrowborder" valign="top" width="16.181618161816182%" headers="mcps1.2.4.1.1 "><p id="p124111159185219"><a name="p124111159185219"></a><a name="p124111159185219"></a>passkey输入超时</p>
</td>
<td class="cellrowborder" valign="top" width="61.37613761376137%" headers="mcps1.2.4.1.2 "><p id="p1841135915220"><a name="p1841135915220"></a><a name="p1841135915220"></a>当输入设备端，超过30s没有调用passkey输入接口时，协议栈断开连接。</p>
</td>
<td class="cellrowborder" valign="top" width="22.442244224422442%" headers="mcps1.2.4.1.3 "><p id="p1441195915210"><a name="p1441195915210"></a><a name="p1441195915210"></a>断开后可以重新发起配对</p>
</td>
</tr>
<tr id="row5229151195516"><td class="cellrowborder" valign="top" width="16.181618161816182%" headers="mcps1.2.4.1.1 "><p id="p12291611185512"><a name="p12291611185512"></a><a name="p12291611185512"></a>passkey输入错误</p>
</td>
<td class="cellrowborder" valign="top" width="61.37613761376137%" headers="mcps1.2.4.1.2 "><p id="p822915112559"><a name="p822915112559"></a><a name="p822915112559"></a>当输入设备端，输入的passkey值和显示设备不一致时，协议栈直接断开连接。</p>
</td>
<td class="cellrowborder" valign="top" width="22.442244224422442%" headers="mcps1.2.4.1.3 "><p id="p922931110551"><a name="p922931110551"></a><a name="p922931110551"></a>断开后可以重新发起配对</p>
</td>
</tr>
</tbody>
</table>

SLE配对，选择Passkey鉴权时，显示设备可选设置默认显示的passkey：

1.  初始化SLE协议栈后，调用安全参数设置接口。
2.  连接端发起连接，连接成功。
3.  显示设备（IO能力：只展示或展示并可以选择Yes或者No）在连接成功后，调用sle\_passkey\_entry接口设置显示端默认passkey。
4.  任意设备调用配对发起接口，发起配对。
5.  输入设备（IO能力为：只支持键盘或支持键盘和展示）上收到请求后，输入默认passkey。
6.  等待配对完成。

若需要配对密钥在nv中加密存储，需要打开宏CONFIG\_NV\_SUPPORT\_ENCRYPT。在配置界面Middleware-\>Utils-\>勾选nv\_support encrypt。并在使能协议之前设置配对密钥在nv的保存方式为加密保存，这个设置对蓝牙和星闪同时生效。接口请参考《BS2X100 蓝牙软件开发 指导书》中的**gap\_ble\_set\_nv\_store\_smp\_keys\_mode。**

# SLE Channel Map 接口<a name="ZH-CN_TOPIC_0000002523758039"></a>



## 概述<a name="ZH-CN_TOPIC_0000002523878553"></a>

星闪跳频支持用户自定义跳频信道。

## 开发流程<a name="ZH-CN_TOPIC_0000002491638816"></a>

**使用场景<a name="section4346153310231"></a>**

SLE Channel Map 接口典型使用场景是对wifi占用信道进行避让，如wifi为20M，使用信道6，推荐对2427-2447信道进行避让。

如下图，WiFi在2.4g频段被分为14个交叠的、错列的20MHz信道，信道编码从1到14，邻近的信道之间存在一定的重叠范围。

![](figures/zh-cn_image_0000002491652212.png)

为了提高无线终端无线网络速率，可以增加射频的信道工作带宽。如果把两个20MHz信道捆绑在一起成为40MHz信道，其中一个是主信道，一个是从信道。如果主信道的中心频率高于从信道的中心频率，则为40MHz-，反之则为40MHz+。在2.4G中，两个绑定的信道间隔为4（如1,5；2,6）。

**功能<a name="section645413478238"></a>**

SLE Channel Map提供的接口如[表1](#table105401783531)所示。

**表 1**  SLE Channel Map接口描述

<a name="table105401783531"></a>
<table><thead align="left"><tr id="row10540168165313"><th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.1"><p id="p15106835155319"><a name="p15106835155319"></a><a name="p15106835155319"></a>接口描述</p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.2"><p id="p954014810534"><a name="p954014810534"></a><a name="p954014810534"></a>描述</p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.3"><p id="p115406811533"><a name="p115406811533"></a><a name="p115406811533"></a>参数说明</p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.4"><p id="p254028115316"><a name="p254028115316"></a><a name="p254028115316"></a>返回信息说明</p>
</th>
</tr>
</thead>
<tbody><tr id="row3540158155311"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p175406812534"><a name="p175406812534"></a><a name="p175406812534"></a>sle_channel_map</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p1654010825310"><a name="p1654010825310"></a><a name="p1654010825310"></a>设置Host信道偏好。</p>
<p id="p15363163523916"><a name="p15363163523916"></a><a name="p15363163523916"></a>广播信道不受此接口影响。</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p45403825313"><a name="p45403825313"></a><a name="p45403825313"></a>channel_map: 信道偏好，长度为10的数组，其中每个bit表示当前信道能否使用。</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p12540138195318"><a name="p12540138195318"></a><a name="p12540138195318"></a>接口返回值：错误码。</p>
</td>
</tr>
</tbody>
</table>

对于2.4GHz频段，不同带宽信道对应的射频信道中心频率和射频信道号如[表2](#table71441338181118)规定。channel\_map为一个长度为十的数组，其中每个bit表示当前信道能否使用，字节内信道按照从低到高的顺序，1代表可用，0代表不可用，如数组第二字节为0x03，代表2410，2411信道可用。如果感知周围特定信道收到干扰，可通过 SLE Channel Map 接口规避使用受干扰信道。

**表 2**  2400MHz频段不同带宽信道对应的射频信道中心频率和射频信道号

<a name="table71441338181118"></a>
<table><tbody><tr id="row5301438171113"><td class="cellrowborder" rowspan="2" valign="top"><p id="p7301133811112"><a name="p7301133811112"></a><a name="p7301133811112"></a><strong id="b1230193815114"><a name="b1230193815114"></a><a name="b1230193815114"></a>射频信道号</strong></p>
</td>
<td class="cellrowborder" rowspan="2" valign="top"><p id="p12301538151114"><a name="p12301538151114"></a><a name="p12301538151114"></a><strong id="b33011738141110"><a name="b33011738141110"></a><a name="b33011738141110"></a>物理信道号</strong></p>
</td>
<td class="cellrowborder" rowspan="2" valign="top"><p id="p11301103810119"><a name="p11301103810119"></a><a name="p11301103810119"></a><strong id="b93011738171117"><a name="b93011738171117"></a><a name="b93011738171117"></a>射频信道中心频率(MHz)</strong></p>
</td>
<td class="cellrowborder" colspan="3" valign="top"><p id="p18301123851113"><a name="p18301123851113"></a><a name="p18301123851113"></a><strong id="b730117389111"><a name="b730117389111"></a><a name="b730117389111"></a>信道带宽</strong></p>
</td>
<td class="cellrowborder" rowspan="2" valign="top"><p id="p173014385113"><a name="p173014385113"></a><a name="p173014385113"></a><strong id="b1301173814118"><a name="b1301173814118"></a><a name="b1301173814118"></a>射频信道号</strong></p>
</td>
<td class="cellrowborder" rowspan="2" valign="top"><p id="p330115387114"><a name="p330115387114"></a><a name="p330115387114"></a><strong id="b830119382119"><a name="b830119382119"></a><a name="b830119382119"></a>物理信道号</strong></p>
</td>
<td class="cellrowborder" rowspan="2" valign="top"><p id="p1630163811111"><a name="p1630163811111"></a><a name="p1630163811111"></a><strong id="b330123813115"><a name="b330123813115"></a><a name="b330123813115"></a>射频信道中心频率(MHz)</strong></p>
</td>
<td class="cellrowborder" colspan="3" valign="top"><p id="p123011838101113"><a name="p123011838101113"></a><a name="p123011838101113"></a><strong id="b143018384118"><a name="b143018384118"></a><a name="b143018384118"></a>信道带宽</strong></p>
</td>
</tr>
<tr id="row16301438191114"><td class="cellrowborder" valign="top"><p id="p6301123810119"><a name="p6301123810119"></a><a name="p6301123810119"></a><strong id="b1830113819113"><a name="b1830113819113"></a><a name="b1830113819113"></a>1MHz</strong></p>
</td>
<td class="cellrowborder" valign="top"><p id="p17301133815118"><a name="p17301133815118"></a><a name="p17301133815118"></a><strong id="b0301738141117"><a name="b0301738141117"></a><a name="b0301738141117"></a>2MHz</strong></p>
</td>
<td class="cellrowborder" valign="top"><p id="p1630116388111"><a name="p1630116388111"></a><a name="p1630116388111"></a><strong id="b18301153811116"><a name="b18301153811116"></a><a name="b18301153811116"></a>4MHz</strong></p>
</td>
<td class="cellrowborder" valign="top"><p id="p143011938161120"><a name="p143011938161120"></a><a name="p143011938161120"></a><strong id="b143019382114"><a name="b143019382114"></a><a name="b143019382114"></a>1MHz</strong></p>
</td>
<td class="cellrowborder" valign="top"><p id="p7301838181111"><a name="p7301838181111"></a><a name="p7301838181111"></a><strong id="b630153821113"><a name="b630153821113"></a><a name="b630153821113"></a>2MHz</strong></p>
</td>
<td class="cellrowborder" valign="top"><p id="p1330193815119"><a name="p1330193815119"></a><a name="p1330193815119"></a><strong id="b8301163810115"><a name="b8301163810115"></a><a name="b8301163810115"></a>4MHz</strong></p>
</td>
</tr>
<tr id="row10301173871110"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p17301138171110"><a name="p17301138171110"></a><a name="p17301138171110"></a>0</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1530112382118"><a name="p1530112382118"></a><a name="p1530112382118"></a>76</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p93015383117"><a name="p93015383117"></a><a name="p93015383117"></a>2402</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p153011838161119"><a name="p153011838161119"></a><a name="p153011838161119"></a>Y<sup id="sup1730103818110"><a name="sup1730103818110"></a><a name="sup1730103818110"></a>1</sup></p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p203011938181116"><a name="p203011938181116"></a><a name="p203011938181116"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p9301103861117"><a name="p9301103861117"></a><a name="p9301103861117"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1230133871120"><a name="p1230133871120"></a><a name="p1230133871120"></a>40</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p430163818113"><a name="p430163818113"></a><a name="p430163818113"></a>38</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1530173818119"><a name="p1530173818119"></a><a name="p1530173818119"></a>2442</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p0301113813118"><a name="p0301113813118"></a><a name="p0301113813118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p130111388114"><a name="p130111388114"></a><a name="p130111388114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1830114385115"><a name="p1830114385115"></a><a name="p1830114385115"></a>-</p>
</td>
</tr>
<tr id="row1930119382114"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1730183811115"><a name="p1730183811115"></a><a name="p1730183811115"></a>1</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p133012385119"><a name="p133012385119"></a><a name="p133012385119"></a>0</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p17301193891116"><a name="p17301193891116"></a><a name="p17301193891116"></a>2403</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p6301183811118"><a name="p6301183811118"></a><a name="p6301183811118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p130113388110"><a name="p130113388110"></a><a name="p130113388110"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p183011738171118"><a name="p183011738171118"></a><a name="p183011738171118"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p13019381117"><a name="p13019381117"></a><a name="p13019381117"></a>41</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13301338141113"><a name="p13301338141113"></a><a name="p13301338141113"></a>39</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1730123801111"><a name="p1730123801111"></a><a name="p1730123801111"></a>2443</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1301193819117"><a name="p1301193819117"></a><a name="p1301193819117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p7301133816110"><a name="p7301133816110"></a><a name="p7301133816110"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p7301193810112"><a name="p7301193810112"></a><a name="p7301193810112"></a>-</p>
</td>
</tr>
<tr id="row530193891115"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p183012038181113"><a name="p183012038181113"></a><a name="p183012038181113"></a>2</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1330113841111"><a name="p1330113841111"></a><a name="p1330113841111"></a>1</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p330113821111"><a name="p330113821111"></a><a name="p330113821111"></a>2404</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p16301103881119"><a name="p16301103881119"></a><a name="p16301103881119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1930103851115"><a name="p1930103851115"></a><a name="p1930103851115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1301738131119"><a name="p1301738131119"></a><a name="p1301738131119"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1230117385116"><a name="p1230117385116"></a><a name="p1230117385116"></a>42</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1430193871112"><a name="p1430193871112"></a><a name="p1430193871112"></a>40</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p930117382119"><a name="p930117382119"></a><a name="p930117382119"></a>2444</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1930115387113"><a name="p1930115387113"></a><a name="p1930115387113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p43013382112"><a name="p43013382112"></a><a name="p43013382112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%">&nbsp;&nbsp;</td>
</tr>
<tr id="row23016382117"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p4301938201117"><a name="p4301938201117"></a><a name="p4301938201117"></a>3</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p113026388119"><a name="p113026388119"></a><a name="p113026388119"></a>2</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p4302138151111"><a name="p4302138151111"></a><a name="p4302138151111"></a>2405</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p103021538181120"><a name="p103021538181120"></a><a name="p103021538181120"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1430263812111"><a name="p1430263812111"></a><a name="p1430263812111"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1030216389119"><a name="p1030216389119"></a><a name="p1030216389119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p163021738141111"><a name="p163021738141111"></a><a name="p163021738141111"></a>43</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p530203813112"><a name="p530203813112"></a><a name="p530203813112"></a>41</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p9302143801115"><a name="p9302143801115"></a><a name="p9302143801115"></a>2445</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p12302113841111"><a name="p12302113841111"></a><a name="p12302113841111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p10302138191113"><a name="p10302138191113"></a><a name="p10302138191113"></a>Y</p>
</td>
</tr>
<tr id="row14302938181119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p18302838111112"><a name="p18302838111112"></a><a name="p18302838111112"></a>4</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1302738191110"><a name="p1302738191110"></a><a name="p1302738191110"></a>3</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p16302123801115"><a name="p16302123801115"></a><a name="p16302123801115"></a>2406</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p730213380111"><a name="p730213380111"></a><a name="p730213380111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p13302338171119"><a name="p13302338171119"></a><a name="p13302338171119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p6302163891119"><a name="p6302163891119"></a><a name="p6302163891119"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p163021538191110"><a name="p163021538191110"></a><a name="p163021538191110"></a>44</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1630253891113"><a name="p1630253891113"></a><a name="p1630253891113"></a>42</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p630213871115"><a name="p630213871115"></a><a name="p630213871115"></a>2446</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p8302133891111"><a name="p8302133891111"></a><a name="p8302133891111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p20302138141115"><a name="p20302138141115"></a><a name="p20302138141115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1330293816110"><a name="p1330293816110"></a><a name="p1330293816110"></a>-</p>
</td>
</tr>
<tr id="row93029381114"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p730215388112"><a name="p730215388112"></a><a name="p730215388112"></a>5</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p17302113817119"><a name="p17302113817119"></a><a name="p17302113817119"></a>4</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1830214380115"><a name="p1830214380115"></a><a name="p1830214380115"></a>2407</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p630263816112"><a name="p630263816112"></a><a name="p630263816112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p143021538171114"><a name="p143021538171114"></a><a name="p143021538171114"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p153023381119"><a name="p153023381119"></a><a name="p153023381119"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p9302838131118"><a name="p9302838131118"></a><a name="p9302838131118"></a>45</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p9302133813113"><a name="p9302133813113"></a><a name="p9302133813113"></a>43</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p130263811113"><a name="p130263811113"></a><a name="p130263811113"></a>2447</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p330263812119"><a name="p330263812119"></a><a name="p330263812119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p530215386114"><a name="p530215386114"></a><a name="p530215386114"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p73028381117"><a name="p73028381117"></a><a name="p73028381117"></a>-</p>
</td>
</tr>
<tr id="row7302153810113"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p330210384115"><a name="p330210384115"></a><a name="p330210384115"></a>6</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p19302113851112"><a name="p19302113851112"></a><a name="p19302113851112"></a>5</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p2030213891113"><a name="p2030213891113"></a><a name="p2030213891113"></a>2408</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p15302183881112"><a name="p15302183881112"></a><a name="p15302183881112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p17302173811113"><a name="p17302173811113"></a><a name="p17302173811113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1430215383118"><a name="p1430215383118"></a><a name="p1430215383118"></a>46</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p8302153812116"><a name="p8302153812116"></a><a name="p8302153812116"></a>44</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13302183851115"><a name="p13302183851115"></a><a name="p13302183851115"></a>2448</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p930213817117"><a name="p930213817117"></a><a name="p930213817117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p14302838101115"><a name="p14302838101115"></a><a name="p14302838101115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p330213816112"><a name="p330213816112"></a><a name="p330213816112"></a>-</p>
</td>
</tr>
<tr id="row8302138111117"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p193021938111119"><a name="p193021938111119"></a><a name="p193021938111119"></a>7</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p230273813117"><a name="p230273813117"></a><a name="p230273813117"></a>6</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p19302038121118"><a name="p19302038121118"></a><a name="p19302038121118"></a>2409</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p330253817113"><a name="p330253817113"></a><a name="p330253817113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p10302838191117"><a name="p10302838191117"></a><a name="p10302838191117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p0302113861117"><a name="p0302113861117"></a><a name="p0302113861117"></a>47</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p53021384119"><a name="p53021384119"></a><a name="p53021384119"></a>45</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1930203881115"><a name="p1930203881115"></a><a name="p1930203881115"></a>2449</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1530243817113"><a name="p1530243817113"></a><a name="p1530243817113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p53028388111"><a name="p53028388111"></a><a name="p53028388111"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1130217387118"><a name="p1130217387118"></a><a name="p1130217387118"></a>Y</p>
</td>
</tr>
<tr id="row53021238101118"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p12302163821113"><a name="p12302163821113"></a><a name="p12302163821113"></a>8</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p330233811118"><a name="p330233811118"></a><a name="p330233811118"></a>7</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13021538141116"><a name="p13021538141116"></a><a name="p13021538141116"></a>2410</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1530218388119"><a name="p1530218388119"></a><a name="p1530218388119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p16302153841120"><a name="p16302153841120"></a><a name="p16302153841120"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p13302153811115"><a name="p13302153811115"></a><a name="p13302153811115"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1530218383117"><a name="p1530218383117"></a><a name="p1530218383117"></a>48</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p430213891110"><a name="p430213891110"></a><a name="p430213891110"></a>46</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p7302193881110"><a name="p7302193881110"></a><a name="p7302193881110"></a>2450</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p19302103811118"><a name="p19302103811118"></a><a name="p19302103811118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p2030213812111"><a name="p2030213812111"></a><a name="p2030213812111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1774115409417"><a name="p1774115409417"></a><a name="p1774115409417"></a>-</p>
</td>
</tr>
<tr id="row9303338131119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p123031838121113"><a name="p123031838121113"></a><a name="p123031838121113"></a>9</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p930333861115"><a name="p930333861115"></a><a name="p930333861115"></a>8</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13303113810110"><a name="p13303113810110"></a><a name="p13303113810110"></a>2411</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p5303238101118"><a name="p5303238101118"></a><a name="p5303238101118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p153033382110"><a name="p153033382110"></a><a name="p153033382110"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p133961792413"><a name="p133961792413"></a><a name="p133961792413"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p73031438121117"><a name="p73031438121117"></a><a name="p73031438121117"></a>49</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p93032385117"><a name="p93032385117"></a><a name="p93032385117"></a>47</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p63038380114"><a name="p63038380114"></a><a name="p63038380114"></a>2451</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1630314385118"><a name="p1630314385118"></a><a name="p1630314385118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p8303438171111"><a name="p8303438171111"></a><a name="p8303438171111"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1875124017415"><a name="p1875124017415"></a><a name="p1875124017415"></a>-</p>
</td>
</tr>
<tr id="row5303163818114"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1303838101119"><a name="p1303838101119"></a><a name="p1303838101119"></a>10</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p12303173811119"><a name="p12303173811119"></a><a name="p12303173811119"></a>9</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1930318386116"><a name="p1930318386116"></a><a name="p1930318386116"></a>2412</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p2303638191114"><a name="p2303638191114"></a><a name="p2303638191114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1030393817115"><a name="p1030393817115"></a><a name="p1030393817115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p84191196418"><a name="p84191196418"></a><a name="p84191196418"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p17303173821111"><a name="p17303173821111"></a><a name="p17303173821111"></a>50</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p3303138171114"><a name="p3303138171114"></a><a name="p3303138171114"></a>48</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p130312383119"><a name="p130312383119"></a><a name="p130312383119"></a>2452</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p133031038121120"><a name="p133031038121120"></a><a name="p133031038121120"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p153031638111111"><a name="p153031638111111"></a><a name="p153031638111111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p107602401940"><a name="p107602401940"></a><a name="p107602401940"></a>-</p>
</td>
</tr>
<tr id="row9303173820118"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1130323818111"><a name="p1130323818111"></a><a name="p1130323818111"></a>11</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p930313387113"><a name="p930313387113"></a><a name="p930313387113"></a>10</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p193031338171110"><a name="p193031338171110"></a><a name="p193031338171110"></a>2413</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p133031838181116"><a name="p133031838181116"></a><a name="p133031838181116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p13303038171111"><a name="p13303038171111"></a><a name="p13303038171111"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1530303831114"><a name="p1530303831114"></a><a name="p1530303831114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p103031938101119"><a name="p103031938101119"></a><a name="p103031938101119"></a>51</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p33031038171116"><a name="p33031038171116"></a><a name="p33031038171116"></a>49</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p530316384118"><a name="p530316384118"></a><a name="p530316384118"></a>2453</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p14303103818110"><a name="p14303103818110"></a><a name="p14303103818110"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p14303138121113"><a name="p14303138121113"></a><a name="p14303138121113"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p23035381111"><a name="p23035381111"></a><a name="p23035381111"></a>Y</p>
</td>
</tr>
<tr id="row73031138141117"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p930313388111"><a name="p930313388111"></a><a name="p930313388111"></a>12</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p10303183810113"><a name="p10303183810113"></a><a name="p10303183810113"></a>11</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13303193831120"><a name="p13303193831120"></a><a name="p13303193831120"></a>2414</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1230393818119"><a name="p1230393818119"></a><a name="p1230393818119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p123031738151115"><a name="p123031738151115"></a><a name="p123031738151115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p12179181315419"><a name="p12179181315419"></a><a name="p12179181315419"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p113031238111112"><a name="p113031238111112"></a><a name="p113031238111112"></a>52</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p430373821116"><a name="p430373821116"></a><a name="p430373821116"></a>50</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p113033381117"><a name="p113033381117"></a><a name="p113033381117"></a>2454</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p18303123813114"><a name="p18303123813114"></a><a name="p18303123813114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p183033387117"><a name="p183033387117"></a><a name="p183033387117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p03031238191119"><a name="p03031238191119"></a><a name="p03031238191119"></a>-</p>
</td>
</tr>
<tr id="row730393881113"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p153033381111"><a name="p153033381111"></a><a name="p153033381111"></a>13</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1930383891114"><a name="p1930383891114"></a><a name="p1930383891114"></a>12</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p17303183831115"><a name="p17303183831115"></a><a name="p17303183831115"></a>2415</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1330393851113"><a name="p1330393851113"></a><a name="p1330393851113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p16303138161113"><a name="p16303138161113"></a><a name="p16303138161113"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1119214138413"><a name="p1119214138413"></a><a name="p1119214138413"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p13303153814114"><a name="p13303153814114"></a><a name="p13303153814114"></a>53</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p830323851112"><a name="p830323851112"></a><a name="p830323851112"></a>51</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p430311383114"><a name="p430311383114"></a><a name="p430311383114"></a>2455</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p830333871119"><a name="p830333871119"></a><a name="p830333871119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1842215391410"><a name="p1842215391410"></a><a name="p1842215391410"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p184321391949"><a name="p184321391949"></a><a name="p184321391949"></a>-</p>
</td>
</tr>
<tr id="row530313383116"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1230315389118"><a name="p1230315389118"></a><a name="p1230315389118"></a>14</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p2303163811111"><a name="p2303163811111"></a><a name="p2303163811111"></a>13</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p113032038191119"><a name="p113032038191119"></a><a name="p113032038191119"></a>2416</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p93035381113"><a name="p93035381113"></a><a name="p93035381113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p4303123819112"><a name="p4303123819112"></a><a name="p4303123819112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p8206101312416"><a name="p8206101312416"></a><a name="p8206101312416"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1830343815113"><a name="p1830343815113"></a><a name="p1830343815113"></a>54</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p10303103821114"><a name="p10303103821114"></a><a name="p10303103821114"></a>52</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1930373819115"><a name="p1930373819115"></a><a name="p1930373819115"></a>2456</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p13303438171116"><a name="p13303438171116"></a><a name="p13303438171116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p13303438161115"><a name="p13303438161115"></a><a name="p13303438161115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p330413810113"><a name="p330413810113"></a><a name="p330413810113"></a>-</p>
</td>
</tr>
<tr id="row16304153814115"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1330419381112"><a name="p1330419381112"></a><a name="p1330419381112"></a>15</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p9304153821114"><a name="p9304153821114"></a><a name="p9304153821114"></a>14</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p163041338151117"><a name="p163041338151117"></a><a name="p163041338151117"></a>2417</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p330423891111"><a name="p330423891111"></a><a name="p330423891111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1030418389117"><a name="p1030418389117"></a><a name="p1030418389117"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p530413814115"><a name="p530413814115"></a><a name="p530413814115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p133041238141116"><a name="p133041238141116"></a><a name="p133041238141116"></a>55</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p93041389116"><a name="p93041389116"></a><a name="p93041389116"></a>53</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p193041389117"><a name="p193041389117"></a><a name="p193041389117"></a>2457</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p133041380110"><a name="p133041380110"></a><a name="p133041380110"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p5304113881117"><a name="p5304113881117"></a><a name="p5304113881117"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p18304123851110"><a name="p18304123851110"></a><a name="p18304123851110"></a>Y</p>
</td>
</tr>
<tr id="row330473881115"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p43041638201116"><a name="p43041638201116"></a><a name="p43041638201116"></a>16</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p5304938131116"><a name="p5304938131116"></a><a name="p5304938131116"></a>15</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p430433821120"><a name="p430433821120"></a><a name="p430433821120"></a>2418</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p730443818117"><a name="p730443818117"></a><a name="p730443818117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p12304938161110"><a name="p12304938161110"></a><a name="p12304938161110"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1330443814118"><a name="p1330443814118"></a><a name="p1330443814118"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p230418386111"><a name="p230418386111"></a><a name="p230418386111"></a>56</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p430412381114"><a name="p430412381114"></a><a name="p430412381114"></a>54</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p9304183881115"><a name="p9304183881115"></a><a name="p9304183881115"></a>2458</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p12304173881112"><a name="p12304173881112"></a><a name="p12304173881112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p4304738141114"><a name="p4304738141114"></a><a name="p4304738141114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1576315361945"><a name="p1576315361945"></a><a name="p1576315361945"></a>-</p>
</td>
</tr>
<tr id="row7304938181115"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p14304938121114"><a name="p14304938121114"></a><a name="p14304938121114"></a>17</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1230423891117"><a name="p1230423891117"></a><a name="p1230423891117"></a>16</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1130433816119"><a name="p1130433816119"></a><a name="p1130433816119"></a>2419</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p15304173881113"><a name="p15304173881113"></a><a name="p15304173881113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p17304638121119"><a name="p17304638121119"></a><a name="p17304638121119"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p168650160416"><a name="p168650160416"></a><a name="p168650160416"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p11304103812112"><a name="p11304103812112"></a><a name="p11304103812112"></a>57</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p330419383118"><a name="p330419383118"></a><a name="p330419383118"></a>55</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1304153871113"><a name="p1304153871113"></a><a name="p1304153871113"></a>2459</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p143044381118"><a name="p143044381118"></a><a name="p143044381118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p193045386114"><a name="p193045386114"></a><a name="p193045386114"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1877763618416"><a name="p1877763618416"></a><a name="p1877763618416"></a>-</p>
</td>
</tr>
<tr id="row12304153817116"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p113044381113"><a name="p113044381113"></a><a name="p113044381113"></a>18</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p130419380112"><a name="p130419380112"></a><a name="p130419380112"></a>17</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p173045387110"><a name="p173045387110"></a><a name="p173045387110"></a>2420</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p9304438161113"><a name="p9304438161113"></a><a name="p9304438161113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p4304143831117"><a name="p4304143831117"></a><a name="p4304143831117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1287514161445"><a name="p1287514161445"></a><a name="p1287514161445"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p183041638161111"><a name="p183041638161111"></a><a name="p183041638161111"></a>58</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1930413384112"><a name="p1930413384112"></a><a name="p1930413384112"></a>56</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p8304113817112"><a name="p8304113817112"></a><a name="p8304113817112"></a>2460</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1030403810112"><a name="p1030403810112"></a><a name="p1030403810112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p930483831115"><a name="p930483831115"></a><a name="p930483831115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p179214365414"><a name="p179214365414"></a><a name="p179214365414"></a>-</p>
</td>
</tr>
<tr id="row030418389116"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p17304838161118"><a name="p17304838161118"></a><a name="p17304838161118"></a>19</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p130443817117"><a name="p130443817117"></a><a name="p130443817117"></a>18</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1130453871118"><a name="p1130453871118"></a><a name="p1130453871118"></a>2421</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1430418384118"><a name="p1430418384118"></a><a name="p1430418384118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p103041038171118"><a name="p103041038171118"></a><a name="p103041038171118"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1330410389114"><a name="p1330410389114"></a><a name="p1330410389114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1330483811112"><a name="p1330483811112"></a><a name="p1330483811112"></a>59</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1030416381111"><a name="p1030416381111"></a><a name="p1030416381111"></a>57</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p14304338171115"><a name="p14304338171115"></a><a name="p14304338171115"></a>2461</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p0304113831120"><a name="p0304113831120"></a><a name="p0304113831120"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p5304938101117"><a name="p5304938101117"></a><a name="p5304938101117"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p130463814118"><a name="p130463814118"></a><a name="p130463814118"></a>Y</p>
</td>
</tr>
<tr id="row1830443861110"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p7304153881117"><a name="p7304153881117"></a><a name="p7304153881117"></a>20</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1230433815117"><a name="p1230433815117"></a><a name="p1230433815117"></a>19</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1030563814114"><a name="p1030563814114"></a><a name="p1030563814114"></a>2422</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p53051738181117"><a name="p53051738181117"></a><a name="p53051738181117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1530513384114"><a name="p1530513384114"></a><a name="p1530513384114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p188500204412"><a name="p188500204412"></a><a name="p188500204412"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p130513381111"><a name="p130513381111"></a><a name="p130513381111"></a>60</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p130518387112"><a name="p130518387112"></a><a name="p130518387112"></a>58</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p730511380115"><a name="p730511380115"></a><a name="p730511380115"></a>2462</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p12305163811116"><a name="p12305163811116"></a><a name="p12305163811116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p530593861111"><a name="p530593861111"></a><a name="p530593861111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p72361341246"><a name="p72361341246"></a><a name="p72361341246"></a>-</p>
</td>
</tr>
<tr id="row183059380114"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p3305193816111"><a name="p3305193816111"></a><a name="p3305193816111"></a>21</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p530511384118"><a name="p530511384118"></a><a name="p530511384118"></a>20</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1530513388119"><a name="p1530513388119"></a><a name="p1530513388119"></a>2423</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p2030593821111"><a name="p2030593821111"></a><a name="p2030593821111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p993317211041"><a name="p993317211041"></a><a name="p993317211041"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p148662201244"><a name="p148662201244"></a><a name="p148662201244"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1930515380118"><a name="p1930515380118"></a><a name="p1930515380118"></a>61</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1730519384118"><a name="p1730519384118"></a><a name="p1730519384118"></a>59</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p8305203871115"><a name="p8305203871115"></a><a name="p8305203871115"></a>2463</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p23051238101116"><a name="p23051238101116"></a><a name="p23051238101116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p11305838141118"><a name="p11305838141118"></a><a name="p11305838141118"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p42513341142"><a name="p42513341142"></a><a name="p42513341142"></a>-</p>
</td>
</tr>
<tr id="row5305838111117"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1630573861115"><a name="p1630573861115"></a><a name="p1630573861115"></a>22</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p11305103812118"><a name="p11305103812118"></a><a name="p11305103812118"></a>77</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p14305173851119"><a name="p14305173851119"></a><a name="p14305173851119"></a>2424</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p43052038101117"><a name="p43052038101117"></a><a name="p43052038101117"></a>Y<sup id="sup9305113891118"><a name="sup9305113891118"></a><a name="sup9305113891118"></a>1</sup></p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p13944122112414"><a name="p13944122112414"></a><a name="p13944122112414"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1487712011416"><a name="p1487712011416"></a><a name="p1487712011416"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p0305193811114"><a name="p0305193811114"></a><a name="p0305193811114"></a>62</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p18305238101119"><a name="p18305238101119"></a><a name="p18305238101119"></a>60</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p15305163812119"><a name="p15305163812119"></a><a name="p15305163812119"></a>2464</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p5305638181119"><a name="p5305638181119"></a><a name="p5305638181119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p193051038131112"><a name="p193051038131112"></a><a name="p193051038131112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p202642341744"><a name="p202642341744"></a><a name="p202642341744"></a>-</p>
</td>
</tr>
<tr id="row103051138141119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p13305338181115"><a name="p13305338181115"></a><a name="p13305338181115"></a>23</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p103051738131112"><a name="p103051738131112"></a><a name="p103051738131112"></a>21</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p143051138141110"><a name="p143051138141110"></a><a name="p143051138141110"></a>2425</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p20305238141118"><a name="p20305238141118"></a><a name="p20305238141118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p0954182120411"><a name="p0954182120411"></a><a name="p0954182120411"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p12886162012411"><a name="p12886162012411"></a><a name="p12886162012411"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p19305838121111"><a name="p19305838121111"></a><a name="p19305838121111"></a>63</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p93053384115"><a name="p93053384115"></a><a name="p93053384115"></a>61</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p53051438121111"><a name="p53051438121111"></a><a name="p53051438121111"></a>2465</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p10305338151118"><a name="p10305338151118"></a><a name="p10305338151118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p43050388115"><a name="p43050388115"></a><a name="p43050388115"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p13051038201117"><a name="p13051038201117"></a><a name="p13051038201117"></a>Y</p>
</td>
</tr>
<tr id="row2030593851113"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p15305183813116"><a name="p15305183813116"></a><a name="p15305183813116"></a>24</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p103059388112"><a name="p103059388112"></a><a name="p103059388112"></a>22</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p10305183816113"><a name="p10305183816113"></a><a name="p10305183816113"></a>2426</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p53053386112"><a name="p53053386112"></a><a name="p53053386112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p10305163811113"><a name="p10305163811113"></a><a name="p10305163811113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p989616209413"><a name="p989616209413"></a><a name="p989616209413"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p83051038161110"><a name="p83051038161110"></a><a name="p83051038161110"></a>64</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p183052038171118"><a name="p183052038171118"></a><a name="p183052038171118"></a>62</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p163059382113"><a name="p163059382113"></a><a name="p163059382113"></a>2466</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p13305153831112"><a name="p13305153831112"></a><a name="p13305153831112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p123053387113"><a name="p123053387113"></a><a name="p123053387113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1939913321346"><a name="p1939913321346"></a><a name="p1939913321346"></a>-</p>
</td>
</tr>
<tr id="row630583871110"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p15305163819111"><a name="p15305163819111"></a><a name="p15305163819111"></a>25</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1330563815114"><a name="p1330563815114"></a><a name="p1330563815114"></a>23</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13305738101110"><a name="p13305738101110"></a><a name="p13305738101110"></a>2427</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p430519381116"><a name="p430519381116"></a><a name="p430519381116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p43051038151110"><a name="p43051038151110"></a><a name="p43051038151110"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p8906142013416"><a name="p8906142013416"></a><a name="p8906142013416"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1530583819111"><a name="p1530583819111"></a><a name="p1530583819111"></a>65</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p18305138151113"><a name="p18305138151113"></a><a name="p18305138151113"></a>63</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p17305163814111"><a name="p17305163814111"></a><a name="p17305163814111"></a>2467</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p19305138131110"><a name="p19305138131110"></a><a name="p19305138131110"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p230583813118"><a name="p230583813118"></a><a name="p230583813118"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p340913215414"><a name="p340913215414"></a><a name="p340913215414"></a>-</p>
</td>
</tr>
<tr id="row2305153821119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1530516383112"><a name="p1530516383112"></a><a name="p1530516383112"></a>26</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p14305193813111"><a name="p14305193813111"></a><a name="p14305193813111"></a>24</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1930653801113"><a name="p1930653801113"></a><a name="p1930653801113"></a>2428</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p18306138141115"><a name="p18306138141115"></a><a name="p18306138141115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p33068387113"><a name="p33068387113"></a><a name="p33068387113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p791532010418"><a name="p791532010418"></a><a name="p791532010418"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1930614384111"><a name="p1930614384111"></a><a name="p1930614384111"></a>66</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p3306173818110"><a name="p3306173818110"></a><a name="p3306173818110"></a>64</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p5306103810117"><a name="p5306103810117"></a><a name="p5306103810117"></a>2468</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p2030613831112"><a name="p2030613831112"></a><a name="p2030613831112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1306538111111"><a name="p1306538111111"></a><a name="p1306538111111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1141913211419"><a name="p1141913211419"></a><a name="p1141913211419"></a>-</p>
</td>
</tr>
<tr id="row13066380116"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p3306163812115"><a name="p3306163812115"></a><a name="p3306163812115"></a>27</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p8306138111111"><a name="p8306138111111"></a><a name="p8306138111111"></a>25</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p6306838191117"><a name="p6306838191117"></a><a name="p6306838191117"></a>2429</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p14306173811120"><a name="p14306173811120"></a><a name="p14306173811120"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p11306238161111"><a name="p11306238161111"></a><a name="p11306238161111"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p930611386114"><a name="p930611386114"></a><a name="p930611386114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p2306938121116"><a name="p2306938121116"></a><a name="p2306938121116"></a>67</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p123061938191112"><a name="p123061938191112"></a><a name="p123061938191112"></a>65</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p8306123871119"><a name="p8306123871119"></a><a name="p8306123871119"></a>2469</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p19306173841116"><a name="p19306173841116"></a><a name="p19306173841116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p11306123819118"><a name="p11306123819118"></a><a name="p11306123819118"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p18306143811118"><a name="p18306143811118"></a><a name="p18306143811118"></a>Y</p>
</td>
</tr>
<tr id="row930653815110"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p13061838121117"><a name="p13061838121117"></a><a name="p13061838121117"></a>28</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1730615383118"><a name="p1730615383118"></a><a name="p1730615383118"></a>26</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p19306538171116"><a name="p19306538171116"></a><a name="p19306538171116"></a>2430</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p33062038101116"><a name="p33062038101116"></a><a name="p33062038101116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p2306438161111"><a name="p2306438161111"></a><a name="p2306438161111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p7229192420419"><a name="p7229192420419"></a><a name="p7229192420419"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p3306638191114"><a name="p3306638191114"></a><a name="p3306638191114"></a>68</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p330733813115"><a name="p330733813115"></a><a name="p330733813115"></a>66</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p730717381114"><a name="p730717381114"></a><a name="p730717381114"></a>2470</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p83078385118"><a name="p83078385118"></a><a name="p83078385118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p133071638171120"><a name="p133071638171120"></a><a name="p133071638171120"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p113851530446"><a name="p113851530446"></a><a name="p113851530446"></a>-</p>
</td>
</tr>
<tr id="row23073389119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p830753812111"><a name="p830753812111"></a><a name="p830753812111"></a>29</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p163079381119"><a name="p163079381119"></a><a name="p163079381119"></a>27</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p15307153841113"><a name="p15307153841113"></a><a name="p15307153841113"></a>2431</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p143071038171118"><a name="p143071038171118"></a><a name="p143071038171118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p330793814115"><a name="p330793814115"></a><a name="p330793814115"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1238624944"><a name="p1238624944"></a><a name="p1238624944"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p930733831119"><a name="p930733831119"></a><a name="p930733831119"></a>69</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p16307123811110"><a name="p16307123811110"></a><a name="p16307123811110"></a>67</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p16307183819119"><a name="p16307183819119"></a><a name="p16307183819119"></a>2471</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1430763891111"><a name="p1430763891111"></a><a name="p1430763891111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p153076383111"><a name="p153076383111"></a><a name="p153076383111"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1339413015410"><a name="p1339413015410"></a><a name="p1339413015410"></a>-</p>
</td>
</tr>
<tr id="row3307143820119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1930743881115"><a name="p1930743881115"></a><a name="p1930743881115"></a>30</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p6307838121114"><a name="p6307838121114"></a><a name="p6307838121114"></a>28</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p43077386111"><a name="p43077386111"></a><a name="p43077386111"></a>2432</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p7307163861116"><a name="p7307163861116"></a><a name="p7307163861116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p630703861116"><a name="p630703861116"></a><a name="p630703861116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p182471524046"><a name="p182471524046"></a><a name="p182471524046"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1830711389113"><a name="p1830711389113"></a><a name="p1830711389113"></a>70</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13071738111110"><a name="p13071738111110"></a><a name="p13071738111110"></a>68</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p2307173871112"><a name="p2307173871112"></a><a name="p2307173871112"></a>2472</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p53072385116"><a name="p53072385116"></a><a name="p53072385116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p173071438141111"><a name="p173071438141111"></a><a name="p173071438141111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p7403730648"><a name="p7403730648"></a><a name="p7403730648"></a>-</p>
</td>
</tr>
<tr id="row130773817119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1230718385117"><a name="p1230718385117"></a><a name="p1230718385117"></a>31</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1630714381116"><a name="p1630714381116"></a><a name="p1630714381116"></a>29</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1230773861119"><a name="p1230773861119"></a><a name="p1230773861119"></a>2433</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p630719388111"><a name="p630719388111"></a><a name="p630719388111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p53071238201114"><a name="p53071238201114"></a><a name="p53071238201114"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p130753811112"><a name="p130753811112"></a><a name="p130753811112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p13071386112"><a name="p13071386112"></a><a name="p13071386112"></a>71</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1430711382117"><a name="p1430711382117"></a><a name="p1430711382117"></a>69</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p9307113818114"><a name="p9307113818114"></a><a name="p9307113818114"></a>2473</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p230712380111"><a name="p230712380111"></a><a name="p230712380111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p630743812114"><a name="p630743812114"></a><a name="p630743812114"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p7307143851112"><a name="p7307143851112"></a><a name="p7307143851112"></a>Y</p>
</td>
</tr>
<tr id="row530715388117"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p8307203821113"><a name="p8307203821113"></a><a name="p8307203821113"></a>32</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p83071938101112"><a name="p83071938101112"></a><a name="p83071938101112"></a>30</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1630723891117"><a name="p1630723891117"></a><a name="p1630723891117"></a>2434</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p10307183818118"><a name="p10307183818118"></a><a name="p10307183818118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p16307133891114"><a name="p16307133891114"></a><a name="p16307133891114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p9307103818116"><a name="p9307103818116"></a><a name="p9307103818116"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p203072038201111"><a name="p203072038201111"></a><a name="p203072038201111"></a>72</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p16307203841113"><a name="p16307203841113"></a><a name="p16307203841113"></a>70</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p330717388118"><a name="p330717388118"></a><a name="p330717388118"></a>2474</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p1530713831119"><a name="p1530713831119"></a><a name="p1530713831119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p13075389119"><a name="p13075389119"></a><a name="p13075389119"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p981818287414"><a name="p981818287414"></a><a name="p981818287414"></a>-</p>
</td>
</tr>
<tr id="row1030711389114"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p183071238121115"><a name="p183071238121115"></a><a name="p183071238121115"></a>33</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p143071138141117"><a name="p143071138141117"></a><a name="p143071138141117"></a>31</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1330715384111"><a name="p1330715384111"></a><a name="p1330715384111"></a>2435</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p183071338131118"><a name="p183071338131118"></a><a name="p183071338131118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p530719380119"><a name="p530719380119"></a><a name="p530719380119"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p930723816113"><a name="p930723816113"></a><a name="p930723816113"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p4307143861113"><a name="p4307143861113"></a><a name="p4307143861113"></a>73</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p8307238151111"><a name="p8307238151111"></a><a name="p8307238151111"></a>71</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p830723814113"><a name="p830723814113"></a><a name="p830723814113"></a>2475</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p930743816115"><a name="p930743816115"></a><a name="p930743816115"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p13077386117"><a name="p13077386117"></a><a name="p13077386117"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p282719281941"><a name="p282719281941"></a><a name="p282719281941"></a>-</p>
</td>
</tr>
<tr id="row4307338131119"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p730716386112"><a name="p730716386112"></a><a name="p730716386112"></a>34</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p11307143891112"><a name="p11307143891112"></a><a name="p11307143891112"></a>32</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p23073388116"><a name="p23073388116"></a><a name="p23073388116"></a>2436</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p3307173813118"><a name="p3307173813118"></a><a name="p3307173813118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1307938141113"><a name="p1307938141113"></a><a name="p1307938141113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p10307153881114"><a name="p10307153881114"></a><a name="p10307153881114"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1230711387113"><a name="p1230711387113"></a><a name="p1230711387113"></a>74</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p183071138111113"><a name="p183071138111113"></a><a name="p183071138111113"></a>72</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p10307338191114"><a name="p10307338191114"></a><a name="p10307338191114"></a>2476</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p153071338101113"><a name="p153071338101113"></a><a name="p153071338101113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p10308143820114"><a name="p10308143820114"></a><a name="p10308143820114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p683582818412"><a name="p683582818412"></a><a name="p683582818412"></a>-</p>
</td>
</tr>
<tr id="row930823851111"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1308738131113"><a name="p1308738131113"></a><a name="p1308738131113"></a>35</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1230873821112"><a name="p1230873821112"></a><a name="p1230873821112"></a>33</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1230816382112"><a name="p1230816382112"></a><a name="p1230816382112"></a>2437</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p0308163851112"><a name="p0308163851112"></a><a name="p0308163851112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p9308123810113"><a name="p9308123810113"></a><a name="p9308123810113"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p4308133881112"><a name="p4308133881112"></a><a name="p4308133881112"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p10308163817113"><a name="p10308163817113"></a><a name="p10308163817113"></a>75</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p163081638121117"><a name="p163081638121117"></a><a name="p163081638121117"></a>73</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p430812383116"><a name="p430812383116"></a><a name="p430812383116"></a>2477</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p0308838131113"><a name="p0308838131113"></a><a name="p0308838131113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p133081138111117"><a name="p133081138111117"></a><a name="p133081138111117"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p13081438141114"><a name="p13081438141114"></a><a name="p13081438141114"></a>Y</p>
</td>
</tr>
<tr id="row2308338171114"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p63081938111115"><a name="p63081938111115"></a><a name="p63081938111115"></a>36</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p9308183851119"><a name="p9308183851119"></a><a name="p9308183851119"></a>34</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1730813385115"><a name="p1730813385115"></a><a name="p1730813385115"></a>2438</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p163088387114"><a name="p163088387114"></a><a name="p163088387114"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1830863810113"><a name="p1830863810113"></a><a name="p1830863810113"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p2071655719415"><a name="p2071655719415"></a><a name="p2071655719415"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p330853891110"><a name="p330853891110"></a><a name="p330853891110"></a>76</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p13087387117"><a name="p13087387117"></a><a name="p13087387117"></a>74</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p030818385114"><a name="p030818385114"></a><a name="p030818385114"></a>2478</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p153081838111120"><a name="p153081838111120"></a><a name="p153081838111120"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p130812382116"><a name="p130812382116"></a><a name="p130812382116"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p23085387114"><a name="p23085387114"></a><a name="p23085387114"></a>-</p>
</td>
</tr>
<tr id="row230815388113"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p13081438191116"><a name="p13081438191116"></a><a name="p13081438191116"></a>37</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p830853821112"><a name="p830853821112"></a><a name="p830853821112"></a>35</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p2308173881116"><a name="p2308173881116"></a><a name="p2308173881116"></a>2439</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p7308153811110"><a name="p7308153811110"></a><a name="p7308153811110"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p18308163817110"><a name="p18308163817110"></a><a name="p18308163817110"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1972911571844"><a name="p1972911571844"></a><a name="p1972911571844"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p183081438151116"><a name="p183081438151116"></a><a name="p183081438151116"></a>77</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p33081638121112"><a name="p33081638121112"></a><a name="p33081638121112"></a>75</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p153085382118"><a name="p153085382118"></a><a name="p153085382118"></a>2479</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p14308238191110"><a name="p14308238191110"></a><a name="p14308238191110"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p377571452"><a name="p377571452"></a><a name="p377571452"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p4785313512"><a name="p4785313512"></a><a name="p4785313512"></a>-</p>
</td>
</tr>
<tr id="row3308838131113"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p8308123811113"><a name="p8308123811113"></a><a name="p8308123811113"></a>38</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p5308538191115"><a name="p5308538191115"></a><a name="p5308538191115"></a>36</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p14308338111118"><a name="p14308338111118"></a><a name="p14308338111118"></a>2440</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p330823831118"><a name="p330823831118"></a><a name="p330823831118"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p10308193881111"><a name="p10308193881111"></a><a name="p10308193881111"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1874445718414"><a name="p1874445718414"></a><a name="p1874445718414"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p103081638201113"><a name="p103081638201113"></a><a name="p103081638201113"></a>78</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p1830843891119"><a name="p1830843891119"></a><a name="p1830843891119"></a>78</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p2030873811116"><a name="p2030873811116"></a><a name="p2030873811116"></a>2480</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p2308193814118"><a name="p2308193814118"></a><a name="p2308193814118"></a>Y<sup id="sup23081338171115"><a name="sup23081338171115"></a><a name="sup23081338171115"></a>1</sup></p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p77941012520"><a name="p77941012520"></a><a name="p77941012520"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p128021711955"><a name="p128021711955"></a><a name="p128021711955"></a>-</p>
</td>
</tr>
<tr id="row630811385117"><td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p1030883814115"><a name="p1030883814115"></a><a name="p1030883814115"></a>39</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p17308103812112"><a name="p17308103812112"></a><a name="p17308103812112"></a>37</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p530833891118"><a name="p530833891118"></a><a name="p530833891118"></a>2441</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p030843815117"><a name="p030843815117"></a><a name="p030843815117"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1030818389117"><a name="p1030818389117"></a><a name="p1030818389117"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="9.86394557823129%"><p id="p1830843841110"><a name="p1830843841110"></a><a name="p1830843841110"></a>Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.1428571428571415%"><p id="p462660958"><a name="p462660958"></a><a name="p462660958"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p463511014517"><a name="p463511014517"></a><a name="p463511014517"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="8.163265306122447%"><p id="p14644190255"><a name="p14644190255"></a><a name="p14644190255"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p36541700515"><a name="p36541700515"></a><a name="p36541700515"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p166311010518"><a name="p166311010518"></a><a name="p166311010518"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="7.82312925170068%"><p id="p17673190057"><a name="p17673190057"></a><a name="p17673190057"></a>-</p>
</td>
</tr>
</tbody>
</table>

注1：射频信道号0，22和78对应1MHz信道为广播信道，物理信道号76，77和78对应1MHz信道为广播信道。

**开发流程<a name="section367123844713"></a>**

SLE Channel Map典型开发流程如下：

**CLIENT端：**

1.  当上报连接成功时调用sle\_channel\_map，设置信道偏好。

