前言¶
SP31V100通过API(Application Programming Interfaces)向开发者提供使用SLP的相关接口,本文档详细介绍SLP的API和开发流程。
与本文档对应的产品版本如下。
本文档主要适用以下工程师:
技术支持工程
软件开发工程师
在本文中可能出现下列标志,它们所代表的含义如下。
概述¶
SP31V100通过API(Application Programming Interface)面向开发者提供SLP功能的开发和应用接口。
错误码¶
SLP接口调用完成或SLP业务执行过程中遇到异常会上报错误码,用户可通过错误码排查问题,错误码分为以下三个级别:
INFO:表示接口执行成功;
WARNING:提示类错误;典型的出现场景是状态重复切换;该错误不影响正常功能,可忽略或者用于排查冗余的代码流程;
ERROR:严重错误,可能会导致业务启动失败,需要排查原因避免此类错误的出现。
表 1 SLP错误码(ErrcodeSlpClient)
检测到一段时间没有收到测量值消息的时候会上报该错误码,此时业务内部会执行重启测距流程进行自恢复。若周期性的上报该错误码表示流程业务异常,无法恢复,需要排查原因,如:窄带通信流程异常、对端slp加载失败等 |
|||||
SLP接口¶
功能¶
表 1 SLP接口描述
RF Switch配置¶
接口说明¶
芯片使用ANT_SW_CTRL_0~ANT_SW_CTRL_5共6个管脚控制RF Switch的射频链路切换,用户可根据前端硬件设计进行配置,使用接口参考表1
表 1 RF Switch配置接口说明
参数配置示例¶
电视指向参考设计板的射频链路参数配置可参考表1
表 1 参考设计板RF Switch配置参数
开发流程¶
以Air Mouse场景为例,仅涉及SLP接口的开发说明,具体编程实例可参考application/samples/products/air_mouse。
Air Mouse侧:
调用SlpRegisterCommandCallbacks,注册SLP命令回调函数。
调用SlpSetLocalAttCommand,设置本机特性。
调用SlpRegisterReportCallbacks,注册坐标上报回调函数。
调用SlpRegisterSendPayloadCallback,注册SLP发送payload函数。
SLE连接配对成功,调用SlpPowerOnCommand,加载SLP。
调用SlpStartRangingCommand,启动SLP测距。
在交互过程中,调用SlpRecvPayload,接收对端发来的payload。
如果想让SLP睡眠,调用SlpSleepCommand。如果需要唤醒,则再次调用SlpStartRangingCommand,启动SLP测距。
如果SLE断连,调用SlpPowerOffCommand,SLP下电。
Dongle侧:
调用SlpRegisterCommandCallbacks,注册SLP命令回调函数。
调用SlpSetLocalAttCommand,设置本机特性。
调用SlpRegisterSendPayloadCallback,注册SLP发送payload函数。
调用SlpRegisterCommandCallbacks,注册命令回调函数。
SLE连接配对成功,调用SlpPowerOnCommand,加载SLP。
在交互过程中,调用SlpRecvPayload,接收对端发来的payload。
如果想让SLP睡眠,调用SlpSleepCommand。dongle侧是受控方,由mouse侧负责唤醒,通过再次发送SlpStartRangingCommand命令。
如果SLE断连,调用SlpPowerOffCommand,SLP下电。
以air mouse场景为例,对应的SLP工作时序图,如图1所示。
降成本适配¶
SLE¶
蜂鸣器和按键矩阵适配。
原uart h0 tx管脚sle的hso log,改为按键。
原adc en 管脚改为按键。
SLP¶
遥控器slp power on管脚已给触摸使用,tiot中操作power on管脚的都要去掉;dongle侧保持原样。
slp power ctrl管脚反向,拉低上电,拉高下电,遥控器和dongle均需要改动。
dongle打开ldo供电。





