前言

概述

本文描述SP31的air mouse sample的使用指南,包括基于sample编译版本、sample使用步骤,以及sample中SLE和SLP工作的流程。

示例代码路径:application/samples/products/air_mouse

读者对象

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

  • 技术支持工程师

  • 软件开发工程师

开源版本

开源版本支持SLP基础功能,示例代码中包含了SLP测距、SLP测角、SLP CIR上报、USB等功能的实现,可供开发人员参考。下文以生态三天线板指向单板作为参考示例。

编译步骤

需编译RCU和Dongle两个版本,单板类型默认使用三天线单板,使用SDK搭配SLP固件进行编译,SDK由BS2X提供,以下章节主要介绍配置项的修改。

Initiator编译

说明: SDK中已经包含配套的SLP固件,位于middleware\services\srv_tiot_host\tiot_driver\product_porting\air_mouse\firmware目录下,若非版本升级则不需要更新,下文的“1”是固件更新的操作流程,可跳过。

  1. 更新SLP固件(SDK中自带版本,无更新时可跳过该步骤)。在SDK的interim_binary\bs21e\bin目录下,新建slp\firmware目录,将SP31的版本文件夹中的“file_array”和“file_array_ota”放入“interim_binary\bs21e\bin\slp\firmware”目录下。

    图 1 SLP固件存放位置

  2. 打开Visual Studio Code工具,根据BS2X的版本文档,导入SDK工程。

  3. 打开KConfig,开启LDO模式,如图2所示。

    图 2 Initiator开启LDO模式

  4. 将AIR MOUSE type设置为Enable AIR MOUSE sample,如图3所示。

    图 3 Initiator配置Enable AIR MOUSE sample模式

  5. 将Select AIR MOUSE board设置为Open Source Board,如图4所示。

    图 4 Initiator配置Open Source Board类型

  6. 若需要打印CIR,可开启Open Cir print模式,如图5所示。注意:打开可能引起串口资源不足,导致卡死,建议按需打开。

    图 5 Initiator开启Open Cir print模式

  7. 修改sample用例Usage,设置为ranging aox模式,如图6所示。

    图 6 Initiator设置ranging aox模式

  8. 修改天线排列选型,设置为three ant mode(L)型,如图7所示。

    图 7 Initiator设置天线为three ant mode(L)模式

  9. 修改UART管脚配置,H0TX=26,H0RX=27,H0CTS=28,H0RTS=29,如图8所示。

    图 8 Initiator修改UART管脚配置

  10. 修改SLE protocol配置,选择“sle measure peripheral”,如图9所示。

    图 9 Initiator修改SLE protocol

  11. 单击Rebuild,进行版本编译,编译成功后的版本路径:tools\pkg\fwpkg\bs21e,版本文件名称:bs21e_all.fwpkg。

Responder编译

  1. 更新SLP固件(SDK中自带版本,无更新时可跳过该步骤)。在SDK的interim_binary\bs21e\bin目录下,新建SLP\firmware目录,将SP31的版本文件夹中的“file_array”和“file_array_ota”放入“interim_binary\bs21e\bin\slp\firmware”目录下。

    图 1 SLP固件存放位置

  2. 打开Visual Studio Code工具,根据BS2X的版本文档,导入SDK工程。

  3. 打开KConfig,开启LDO模式,如图2所示。

    图 2 Responder开启LDO模式

  4. 打开KConfig,将AIR MOUSE type改为 Enable AIR MOUSE Dongle sample,如图3所示。

    图 3 Responder配置Enable AIR MOUSE Dongle sample模式

  5. 将Select AIR MOUSE board设置为Open Source Board,如图4所示。

    图 4 Responder配置Open Source Board类型

  6. 若需要打印CIR,可开启Open Cir print模式,如图5所示。

    图 5 Responder开启Open Cir print模式

  7. 修改sample用例Usage,设置为ranging aox模式,如图6所示

    图 6 Respnder设置ranging aox模式

  8. 修改天线排列选型,设置为three ant mode(L)型,如图7所示

    图 7 Respender设置天线为three ant mode(L)模式

  9. 修改UART管脚配置,H0TX=26,H0RX=27,H0CTS=28,H0RTS=29,如图8所示。

    图 8 Responder修改UART管脚配置

  10. 修改SLE protocol配置,选择“sle measure central”,如图9所示。

    图 9 Responder修改SLE protocol

  11. 单击Rebuild,进行版本编译,编译成功后的版本路径:tools\pkg\fwpkg\bs21e,版本文件名称:bs21e_all.fwpkg。

使用方法

  1. Initiator侧和Responder侧各自烧录对应版本。

  2. Initiator侧和Responder侧重新上电。Initiator侧上电后SLE启动广播。Responder侧通过USB连接主机设备,上电后SLE启动扫描、USB初始化和枚举设备等操作,主机设备会识别到HID设备。

  3. 等待SLE建链。

  4. 待SLE连接配对成功后,两端会自动加载SLP固件,加载成功后会上报SLP版本号信息(可检查版本是否正确),之后会自动启动SLP业务,若业务流程正常则在Responder侧的串口日志中周期性打印测距、测角等上报信息,主机屏幕上会显示光标。两端日志如下图所示,启动流程可参考“启动流程”。

    图 1 指向遥控器RCU、Dongle串口日志

  5. 若开启了CIR功能,则在USB串口中打印CIR数据。

    图 2 USB串口中CIR日志上报

启动流程

图 1 CIR上报业务简易流程
https://cloudmodeling.tools.huawei.com/draw?id=e89b02a904e44b51b20adcc048ee618a

可用功能

虚拟串口

USB类型默认设置为DEV_SER_HID(HID和虚拟串口设备),将单板通过USB线连接主机后,主机端会识别到一个串口设备和HID设备(见下图),其中HID设备用来显示光标,串口设备可收发数据,进行发送CIR数据或接收产测命令等操作。

图 1 主机USB设备显示

CIR上报功能

须知: 该功能占用资源较多,仅部分版本支持。

示例中的Sample代码已实现CIR上报功能,可参考编译步骤章节进行配置,设备建链后会在USB串口中打印CIR数据。示例代码中相关函数如下表所示。

函数名称

描述

所在文件

set_slp_start_ranging_param

启动测距测角业务,CIR开启时默认频率设置为15Hz

sle_air_mouse_server.c

rpt_cir_cbk

Initiator侧挂载的cir上报回调函数

sle_air_mouse_server.c

rpt_cir_cbk

Responder侧挂载的cir上报回调函数

sle_air_mouse_client.c

air_mouse_print

自定义的打印函数,CIR数据优先从USB串口中输出,若USB没有被枚举到,则从烧录串口中打印。

air_mouse_common.c

AT命令

SLP AT命令汇总表如下。

序号

指令

描述

各状态下命令是否可调用

下电

上电未测距

测距中

测距暂停

睡眠

1

AT+SLPPOWERON

SLP上电,完成SLP加载

-

-

-

-

2

AT+SLPSTARTRANGING=<参数>

SLP启动测距

-

-

-

3

AT+SLPPOWEROFF

SLP下电

-

4

AT+SLPSLEEP

SLP睡眠

-

5

AT+SLPSTOPRANGING

SLP停止测距、测角业务

-

-

-

6

AT+SLPPAUSERANGING

SLP暂停测距、测角业务

-

-

-

-

7

AT+SLPCONTINUERANGING

SLP继续测距、测角业务

-

-

-

-

8

AT+SLPWRITEAOXCALIPARA=<参数>

SLP写入测角校准值

9

AT+SLPREADAOXCALIPARA

SLP读取测角校准值

10

AT+SLPWRITETXPOWER=<参数>

SLP写入功率值

11

AT+SLPREADTXPOWER

SLP读取功率值

12

AT+SLPWRITETRXDELAY=<参数>

SLP写入板级和天线时延校准

13

AT+SLPREADTRXDELAY

SLP读取板级和天线时延校准

14

AT+SLPENABLEIMUDETECTION

SLP开启IMU检测

-

-

-

-

15

AT+SLPREADGYROZEROOFFSET

SLP读取GYRO零偏值

16

AT+SLPSETRFSWPARAM=<参数>

SLP设置射频前端配置参数

17

AT+SLPSETCURSORSPEED=<参数>

SLP设置光标灵敏度

18

AT+SLPSETFTMODE=<参数>

SLP设置产测模式

19

AT+SLPREADVERSION

SLP读取版本信息

-

20

AT+SLPSETTRANSFORM

SLP设置坐标转换参数

-

-

-

21

AT+SLPSETINSTPARA

SLP设置安装参数

-

-

-

22

AT+SLPSETCLICK

SLP设置按键状态

-

-

23

AT+SLPREADTSENSOR

SLP读取温度

-

24

AT+SLPSETLOGLEVEL

SLP设置日志打印级别

25

AT+SLPDISABLEIMUDETECTION

SLP关闭IMU检测

-

-

-

26

AT+SLPSETIMURPTFREQ

SLP设置IMU原始数据上报频率

-

-

27

AT+SLPSETCORRECTMODE

SLP设置光标校正模式

-

-

28

AT+SLPREADDIEID

SLP读取芯片DIE ID

-

29

AT+SLPRCUSLEEP

RCU侧整机睡眠

-

-

30

AT+SLPAMDISCONNECT

RCU侧SLE主动断连关广播但不清除配对记录

31

AT+SLPAMSTARTANNOUNCE

RCU侧开启广播

32

AT+AMSETCURSORSPEED=<mode>

Dongle侧切换指向光标速度并更新日志打印标志位

33

AT+SLPREADTRIANTCALIPARA

SLP读取三天线校准参数

34

AT+SLPWRITETRIANTCALIPARA=<参数>

SLP写入三天线校准参数

SLP上电加载

格式

AT+SLPPOWERON

响应

成功:OK;

失败:ERROR。

参数说明

-

示例

AT+SLPPOWERON

注意

-

SLP下电

格式

AT+SLPPOWEROFF

响应

成功:OK;

失败:ERROR。

参数说明

-

示例

AT+SLPPOWEROFF

注意

-

SLP睡眠

格式

AT+SLPSLEEP

响应

成功:OK;

失败:ERROR。

参数说明

-

示例

AT+SLPSLEEP

注意

-

SLP启动测距

格式

AT+SLPSTARTRANGING=<usageMode,rangingMode,aoxDirection,mrSource,roundNum,rangingFreq,txMode,txPowerHigh,txPowerLow>

响应

成功:OK;

失败:ERROR。

参数说明

  • <usageMode>:使用模式。

    0:测距测角模式;

    1:空中鼠标模式。

    2:车机空鼠模式;

  • <rangingMode>:测距模式。

    0:只测距;

    1:测距和AOA测角;

    2:测距和AOD测角。

  • <aoxDirection>:测角方向。

    0:initiator侧发测角帧;

    1:responder侧发测角帧;

    2:双边测角。

  • <mrSource>:测量值请求源。

    0:测量值接收方;

    1:测量值发送方。

  • <roundNum>:测距轮数,取值范围0~255,0表示无限轮。
  • <rangingFreq>:测距频率,取值范围1~20,单位:Hz。
  • <txMode>:TX发射模式。

    0:正常业务模式;

    1:TX常发模式;

  • <txPowerHigh>:TX发射功率高16bit。(仅在产线TX功率校准测试有效,非产线时,配置为0)
  • <txPowerLow>:TX发射功率低16bit。(仅在产线TX功率校准测试有效,非产线时,配置为0)

示例

AT+SLPSTARTRANGING=2,1,1,0,0,18,0,0xA54A,0x254A

注意

-

SLP停止测距

格式

AT+SLPSTOPRANGING

响应

成功:OK;

失败:ERROR。

参数说明

-

示例

AT+SLPSTOPRANGING

注意

-

SLP暂停测距

格式

AT+SLPPAUSERANGING

响应

成功:OK;

失败:ERROR。

参数说明

-

示例

AT+SLPPAUSERANGING

注意

-

SLP继续测距

格式

AT+SLPCONTINUERANGING

响应

成功:OK;

失败:ERROR。

参数说明

-

示例

AT+SLPCONTINUERANGING

注意

-

SLP写入测角校准值

格式

AT+SLPWRITEAOXCALIPARA=<d0,d1,d2,d3,d4,d5,d6,d7>

响应

成功:OK;

失败:ERROR。

参数说明

  • <d0>:测角校准结果d0,取值范围-2147483648~+2147483647
  • <d1>:测角校准结果d1,取值范围-2147483648~+2147483647
  • <d2>:测角校准结果d2,取值范围-2147483648~+2147483647
  • <d3>:测角校准结果d3,取值范围-2147483648~+2147483647
  • <d4>:测角校准结果d4,取值范围-2147483648~+2147483647
  • <d5>:测角校准结果d5,取值范围-2147483648~+2147483647
  • <d6>:测角校准结果d6,取值范围-2147483648~+2147483647
  • <d7>:测角校准结果d7,取值范围-2147483648~+2147483647

示例

AT+SLPWRITEAOXCALIPARA=9194023, 388905, 2489162, -1720910, -1638230, 791743, 5058826, -3502109

注意

SLP读取测角校准值

格式

AT+SLPREADAOXCALIPARA

响应

成功:测角校准结果。

失败:ERROR。

参数说明

-

示例

AT+SLPREADAOXCALIPARA

注意

-

SLP写入TX发射功率码字

格式

AT+SLPWRITETXPOWER=<txPowerHigh,txPowerLow>

响应

成功:OK;

失败:ERROR。

参数说明

  • <txPowerHigh>:TX发射功率码字高16bit。
  • <txPowerLow>:TX发射功率码字低16bit。

示例

AT+SLPWRITETXPOWER=0xA54A, 0x254A

注意

-

SLP读取TX发射功率码字

格式

AT+SLPREADTXPOWER

响应

成功:TX发射功率码字;

失败:ERROR。

参数说明

-

示例

AT+SLPREADTXPOWER

注意

-

SLP写入板级和天线时延校准值

格式

AT+SLPWRITETRXDELAY=<timeDelay>

响应

成功:OK;

失败:ERROR。

参数说明

<timeDelay>:板级和天线的TRX总时延校准值,取值范围:0~4294967295,单位:1e-5 ns。

示例

AT+SLPWRITETRXDELAY=271617

SLP读取板级和天线时延校准值

格式

AT+SLPREADTRXDELAY

响应

成功:板级和天线的TRX总时延校准值;

失败:ERROR。

参数说明

-

示例

AT+SLPREADTRXDELAY

注意

-

SLP开启IMU检测

格式

AT+SLPENABLEIMUDETECTION

响应

成功:OK;

失败:ERROR。

参数说明

  • <updateNV>:是否更新NV。

    0:不更新;

    1:更新。

示例

AT+SLPENABLEIMUDETECTION=1

注意

仅在下电时可调用,调用后SLP自动上电加载并启动IMU检测流程,若关闭则发送下电命令。

SLP读取GYRO零偏值

格式

AT+SLPREADGYROZEROOFFSET

响应

成功:读取GYRO零偏值。

失败:ERROR。

参数说明

-

示例

AT+SLPREADGYROZEROOFFSET

注意

-

SLP设置射频前端配置参数

格式

AT+SLPSETRFSWPARAM=<pwrCtrl,antSwCtrlEn,ant0CodeTx,ant0CodeRx,ant1CodeTx,ant1CodeRx,ant2CodeTx,ant2CodeRx>

响应

成功:设置射频前端配置参数。

失败:ERROR。

参数说明

  • <pwrCtrl>:射频开关电源是否独立控制。

    0:否;

    1:是。

  • <antSwCtrlEn>:射频开关控制管脚使能,取值范围:0x0~0xFF。
  • <ant0CodeTx>:天线 0 TX的切换码字,取值范围:0x0~0xFF。
  • <ant0CodeRx>:天线 0 RX切换码字,取值范围:0x0~0xFF。
  • <ant1CodeTx>:天线 1 TX切换码字,取值范围:0x0~0xFF。
  • <ant1CodeRx>:天线 1 RX切换码字,取值范围:0x0~0xFF。
  • <ant2CodeTx>:天线 2 TX切换码字,取值范围:0x0~0xFF。
  • <ant2CodeRx>:天线 2 RX切换码字,取值范围:0x0~0xFF。

示例

AT+SLPSETRFSWPARAM=0,3,2,0,0,0,0,0

注意

配置参数与单板射频前端设计一致,启动测距前配置才会生效。

tx常发命令默认从ant0就发出,只配置ant0的tx即可

SLP设置光标灵敏度

格式

AT+SLPSETCURSORSPEED=<speedMode>

响应

成功:设置光标灵敏度。

失败:ERROR。

参数说明

  • <speedMode>:灵敏度档位。

    0:低;

    1:中;

    2:高。

示例

AT+SLPSETCURSORSPEED=1

注意

-

SLP设置产测模式

格式

AT+SLPSETFTMODE=<facMode>

响应

成功:设置产测模式。

失败:ERROR。

参数说明

  • <facMode>:产测模式。

    0:正常业务;

    1:RCU产测;

    2:IMU检测。

示例

AT+SLPSETFTMODE=1

注意

-

SLP读取版本信息

格式

AT+SLPREADVERSION

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+SLPREADVERSION

注意

上电加载成功后可调用,调用成功后会在SlpReportVersionCallback回调中上报版本相关参数。

SLP设置坐标转换参数

格式

AT+SLPSETTRANSFORM=<frontAxisIdx,frontDirection,rightAxisIdx,rightDirection,downAxisIdx,downDirection>

响应

成功:OK。

失败:ERROR。

参数说明

  • <frontAxisIdx>:前方向对应的IMU坐标轴索引。

    0:IMU定义的X轴

    1:IMU定义的Y轴

    2:IMU定义的Z轴

  • <frontDirection>:前方向对应的IMU坐标轴方向。

    1:同方向

    -1:反方向

  • <rightAxisIdx>:右方向对应的IMU坐标轴索引。

    0:IMU定义的X轴

    1:IMU定义的Y轴

    2:IMU定义的Z轴

  • <rightDirection>:右方向对应的IMU坐标轴方向。

    1:同方向

    -1:反方向

  • <downAxisIdx>:下方向对应的IMU坐标轴索引。

    0:IMU定义的X轴

    1:IMU定义的Y轴

    2:IMU定义的Z轴

  • <downDirection>:下方向对应的IMU坐标轴方向。

    1:同方向

    -1:反方向

示例

AT+SLPSETTRANSFORM=2,-1,0,-1,1,1

注意

测距业务启动前可调用;三个坐标轴都需要被配置。

SLP设置安装参数

格式

AT+SLPSETINSTPARA=<downtilt,verDisToCarSeat,verDisToSreenTop,horDisToSreen>

响应

成功:OK。

失败:ERROR。

参数说明

  • <downtilt>:Dongle尾部下倾角,单位:度,取值范围:[-45, 45]。
  • <verDisToCarSeat>:Dongle到汽车座椅的垂直距离,汽车座椅在下为正,单位:毫米。
  • <verDisToSreenTop>:Dongle到屏幕顶部的垂直距离,屏幕顶部在下为正,单位:毫米。
  • <horDisToSreen>:Dongle到屏幕的水平距离,屏幕在前为正,单位:毫米。

示例

AT+SLPSETINSTPARA=45,500,-100,-600

注意

测距业务启动前可调用。

图 1 Dongle安装参数示意图

SLP设置按键状态

格式

AT+SLPSETCLICK=<state>

响应

成功:OK。

失败:ERROR。

参数说明

  • <state>:按键状态。

    0:抬起

    1:按下

示例

AT+SLPSETCLICK=1

注意

指向业务启动后可调用。

SLP读取温度值

格式

AT+SLPREADTSENSOR

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+SLPREADTSENSOR

注意

上电后可调用。

SLP设置日志打印级别

格式

AT+SLPSETLOGLEVEL=<nbLogLevel,wbLogLevel>

响应

成功:OK。

失败:ERROR。

参数说明

  • <nbLogLevel>:窄带日志打印级别;
  • <wbLogLevel>:宽带日志打印级别 。

取值范围:

  • 0:NONE;
  • 1:ERR;
  • 2:WAR;
  • 3:INFO;
  • 4:DBG

示例

AT+SLPSETLOGLEVEL=3,3

注意

-

SLP关闭IMU检测

格式

AT+SLPDISABLEIMUDETECTION

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+SLPDISABLEIMUDETECTION

注意

-

SLP设置IMU原始数据上报频率

格式

AT+SLPSETIMURPTFREQ=<freq>

响应

成功:OK。

失败:ERROR。

参数说明

l <freq>:imu原始数据上报频率,单位:赫兹,取值范围:1,2,3,4,5,6,8,10,12,15,16,20,24,30,40,48,60,80,120

示例

AT+SLPSETIMURPTFREQ=1

注意

-

SLP设置光标校正模式

格式

AT+SLPSETCORRECTMODE=<mode>

响应

成功:OK。

失败:ERROR。

参数说明

<mode>:光标校正模式。

0:自动切换模式

1:指向模式

2:空鼠模式

示例

AT+SLPSETCORRECTMODE=0

注意

-

SLP读取芯片DIE ID

格式

AT+SLPREADDIEID

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+SLPREADDIEID

注意

  1. 仅在上电后可调用。
  2. 返回结果在rptDieIdCbk回调中上报。

RCU侧整机睡眠

格式

AT+SLPRCUSLEEP

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+SLPRCUSLEEP

注意

仅在RCU侧可调用,在air_mouse_rcu_at.c中定义,仅用于维测。

RCU侧SLE主动断连关广播但不清除配对记录

格式

AT+SLPAMDISCONNECT

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+ SLPAMDISCONNECT

注意

仅在RCU侧可调用,在air_mouse_rcu_at.c中定义,仅用于维测。

RCU侧开启广播

格式

AT+SLPAMSTARTANNOUNCE

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+SLPAMSTARTANNOUNCE

注意

仅在RCU侧可调用,在air_mouse_rcu_at.c中定义,仅用于维测。

Dongle侧切换指向光标速度并更新日志打印标志位

格式

AT+AMSETCURSORSPEED=<mode>

响应

成功:OK。

失败:ERROR。

参数说明

-<mode>:光标移动速度。

0:低速

1:中速

2:高速

3:中低速

4:中高速

示例

AT+AMSETCURSORSPEED=1

注意

仅在Dongle侧可调用,在air_mouse_dongle_at.c中定义,仅用于维测。

SLP读取三天线校准参数

格式

AT+SLPREADTRIANTCALIPARA

响应

成功:三天线校准参数。

失败:ERROR。

参数说明

-

示例

AT+SLPREADTRIANTCALIPARA

注意

-

SLP写入三天线校准参数

格式

AT+SLPWRITETRIANTCALIPARA=<d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17>

响应

成功:OK。

失败:ERROR。

参数说明

  • <d0>:测角校准结果d0,取值范围0~+2147483647
  • <d1>:测角校准结果d1,取值范围0~+2147483647
  • <d2>:测角校准结果d2,取值范围-2147483648~+2147483647
  • <d3>:测角校准结果d3,取值范围-2147483648~+2147483647
  • <d4>:测角校准结果d4,取值范围-2147483648~+2147483647
  • <d5>:测角校准结果d5,取值范围-2147483648~+2147483647
  • <d6>:测角校准结果d6,取值范围-2147483648~+2147483647
  • <d7>:测角校准结果d7,取值范围-2147483648~+2147483647
  • <d8>:测角校准结果d8,取值范围-2147483648~+2147483647
  • <d9>:测角校准结果d9,取值范围-2147483648~+2147483647
  • <d10>:测角校准结果d10,取值范围-2147483648~+2147483647
  • <d11>:测角校准结果d11,取值范围-2147483648~+2147483647
  • <d12>:测角校准结果d12,取值范围-2147483648~+2147483647
  • <d13>:测角校准结果d13,取值范围-2147483648~+2147483647
  • <d14>:测角校准结果d14,取值范围-2147483648~+2147483647
  • <d15>:测角校准结果d15,取值范围-2147483648~+2147483647
  • <d16>:测角校准结果d16,取值范围-2147483648~+2147483647
  • <d17>:测角校准结果d17,取值范围-2147483648~+2147483647

示例

AT+SLPWRITETRIANTCALIPARA=16319,19754,-1570034,-183423,920318,800092,2163947,-2404308,6413900,-2743629,-496770,292733,14186,-1283284,132692,-509492,-5410657,-3064726

注意

校准参数d0和d1不为负数,写入负数会导致写入失败

Dongle侧读取屏幕尺寸参数

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+AMREADSCREENSIZE

日志打印

[AM][AT] screen size:1887x1092

注意

仅在Dongle侧可调用,在air_mouse_dongle_at.c中定义,仅用于维测。

Dongle侧设置预设屏幕尺寸参数

响应

成功:OK。

失败:ERROR。

参数说明

0:16:9,98寸,2162*1217;

1:16:9,85寸,1887*1092;

2:16:9,32寸,670*340;

3:16:9,17.3寸,382*215

4:16:9,15.6寸,345*194;

5:16:9,13.2寸,292*164;

示例

AT+AMSETSCREENSIZE=2

注意

仅在Dongle侧可调用,在air_mouse_dongle_at.c中定义,仅用于维测。

Dongle侧设置自定义屏幕尺寸参数

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+AMSETCUSTOMSCREENSIZE=1887,1092

日志打印

set screen size, mode:5, size:1887x1092

注意

仅在Dongle侧可调用,在air_mouse_dongle_at.c中定义,仅用于维测。

备注

-

Dongle侧读取坐标上报速率

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+AMREADCURSORRPTRATE

日志打印

[AM][AT] cursor rpt rate:0

注意

仅在Dongle侧可调用,在air_mouse_dongle_at.c中定义,仅用于维测。

Dongle侧设置坐标上报速率

响应

成功:OK。

失败:ERROR。

参数说明

-

示例

AT+AMSETCURSORRPTRATE=0

日志打印

AT set_cursor_rpt_rate:0

注意

仅在Dongle侧可调用,在air_mouse_dongle_at.c中定义,仅用于维测。

备注

功能暂未实现

AT命令使用说明

RCU

如果修改sample代码,使sample不自动加载SLP(注释掉sample中sle_air_mouse_server.c中调用的SLP上电接口SlpPowerOnCommand和启动测距接口SlpStartRangingCommand)。还可以通过AT命令控制:

  1. 加载SLP,发AT命令:AT+SLPPOWERON。

  2. 待RCU和Dongle连接成功后,发AT命令:AT+SLPSTARTRANGING=1,1,1,0,0,20,0,0xA54A,0x254A。

  3. SLP睡眠,则发AT命令:AT+SLPSLEEP。如果需要唤醒,则重新发命令:AT+SLPSTARTRANGING=1,1,1,0,0,20,0,0xA54A,0x254A。

  4. SLP下电,则发AT命令:AT+SLPPOWEROFF。

  5. SLP停止测距,则发AT命令:AT+SLPSTOPRANGING,Dongle侧同步停止测距。

  6. SLP暂停测距,则发AT命令:AT+SLPPAUSERANGING,Dongle侧同步暂停测距。

  7. SLP继续测距,则发AT命令:AT+SLPCONTINUERANGING,Dongle侧同步继续测距。

Dongle

如果修改sample代码,使sample不自动加载SLP(注释掉sample中sle_air_mouse_client.c中调用的SLP上电接口SlpPowerOnCommand)。还可以通过AT命令控制:

  1. 加载SLP,发AT命令:AT+SLPPOWERON。

  2. SLP睡眠,则发AT命令:AT+SLPSLEEP。唤醒由RCU端控制。

  3. SLP下电,则发AT命令:AT+SLPPOWEROFF。

缩略语

A

     

AOX

AOA(angle of arrival)/AOD(angle of departure)

到达角/出发角的统称

        

F

     

FREQ

Frequency

频率

        

M

     

MRSOURCE

Measurement Request Source

SLP测量值请求源