HiSpark编程指南

- 调测资料
  - SDK Sample使用指南
    - 前言
    - 概述
    - Sample框架
    - 外设 Sample
    - SLE UART Sample
    - SLE UART DMA Sample
    - SLE Mouse Sample
    - SLE amic vdt with dongle
    - SLE microphone
    - SLE measure dis
    - BLE Lowpower Sample
    - BLE UART Sample
    - BLE Keyboard Sample
    - BLE SLE TAG Sample
    - BLE Mouse Sample
    - USB Keyboard Sample
    - USB Mouse Sample
    - USB AMIC VDT Sample
    - RCU
    - 多连接
    - air mouse
    - SLE MOUSE with Dongle
    - SLE OTA dongle
    - game mouse
    - BLE UUID
    - 缩略语
  - SDK二次开发网络安全注意事项
    - 前言
    - 产品安全解决方案
    - 结论
  - SDK开发环境搭建用户指南
    - 前言
    - 开发环境搭建
    - 编译SDK
    - 新建APP
  - 内存维测指导书
    - 前言
    - 简介
    - 内存维测功能
  - 射频AT测试指南
    - 前言
    - 射频测试AT指令
    - AT指令组包示例
    - 注意事项
  - 维测指导书
    - 前言
    - 概述
    - 日志说明
    - 日志分析
    - 问题定位
    - 典型案例
    - 常见问题FAQ
- 软件资料
  - AT命令使用指南
    - 前言
    - 指令说明
    - 通用AT指令
    - BT业务AT指令
    - 新增AT指令方法
  - DFU升级APK开发指南
    - 前言
    - 功能特性
    - 系统框架
    - 工程文件部署
    - 界面实现
    - 升级界面Fragment实现
    - 关于界面Fragment实现
    - 应用清单AndroidManifest
  - DFX软件开发指南
    - 前言
    - DIAG维测功能
    - 死机诊断
    - Dump解析
  - EFUSE使用指南
    - 前言
    - 概述
    - 使用软件接口读写EFUSE
    - 使用BurnTool烧写EFUSE
  - NFC TAG软件开发指导书
    - 前言
    - 概述
    - 开发指导
  - NV存储用户指南
    - 前言
    - NV简介
    - NV编译预置
    - NV API指南
    - 定制化NV结构使用介绍
    - 通过NV自定义传输数据最大长度
  - Release notes
    - 1.0.18版本描述文件
    - 1.0.17版本描述文件
    - 1.0.16版本描述文件
  - SDK开发指南
    - 前言
    - 概述
    - 系统接口
  - SDK接口变更说明书
    - 前言
    - BLE SDK接口变更说明
  - SP31 SLP使用指南
    - 开源版本
  - USB HID复合设备开发指南
    - 前言
    - 概述
    - 实现方式
  - 代码框架说明
    - 前言
    - SDK模块框架
    - SDK目录结构
    - SDK目录说明
  - 低功耗FAQ
    - 前言
    - 系统无法睡眠
    - IO无法唤醒系统
    - 唤醒后外设异常
    - 低功耗导致OTA升级异常
    - 功耗比预期高
    - 锁中断导致BT业务阻塞
    - 概率性狗超时
    - 供电模式&软件配置
    - 提前唤醒时间问题
  - 低功耗sample使用指南
    - 前言
    - 编译&测试
    - 系统状态管理
    - 用户指南
  - 低功耗开发指南
    - 前言
    - 低功耗概述
    - 低功耗方案
    - 开发指引
    - 功耗优化
    - 常见问题
  - 功率配置说明书
    - 前言
    - 射频功率配置说明
  - 升级方案使用指南
    - 前言
    - 概述
    - 升级包制作
    - 升级包传输
    - 升级包保存
    - 升级包本地升级
    - FAQ
  - 快速入门指南
    - 前言
    - 文档目录
    - 环境搭建
    - 基础功能开发
    - 调优
    - 特性开发
    - 测试报告
  - 星闪应用层SLE-Link协议
    - 前言
    - 概述
    - SLE Frame格式定义
    - 服务接口定义
    - 交互流程示例
  - 星闪软件开发指导书
    - 前言
    - 概述
    - Device Discovery接口
    - Connection Manager接口
    - SSAP Server接口
    - SSAP client接口
    - Low Latency接口
    - Transmission Manager接口
    - SLE Passkey接口
    - SLE Channel Map 接口
  - 红外学习使用指南
    - 前言
    - 红外学习方式
    - 通过比较器进行红外学习
    - 使用指南
  - 蓝牙软件开发指导书
    - 前言
    - 概述
    - GAP接口
    - GATT server接口
    - GATT client接口
  - 设备驱动开发指南
    - 前言
    - Pinctrl
    - GPIO
    - UART
    - SPI
    - I2C
    - ADC
    - DMA
    - PWM
    - WDT
    - Timer
    - Systick
    - TCXO
    - Flash
    - SFC
    - QDEC
    - KEYSCAN
    - PDM
    - USB_HID
    - USB_DFU
    - I2S
    - TRNG
    - 附：MIDDLEWARE
  - 音频编解码开发指导书
    - 前言
    - 概述
    - Audio Encoder
    - Audio Decoder
    - 调试与功能
- 工具资料
  - BurnTool工具使用指导书
    - 前言
    - BurnTool工具简介
    - 操作指南
    - FAQ
  - HiSpark Studio使用指南
    - 前言
    - 工具简介
    - 开发环境搭建
    - 工程管理
    - 工程配置
    - 编译运行
    - 软件包烧录
    - 栈分析和镜像分析
    - 工程调试
    - 串口控制台工具
    - Kconfig配置
    - GUI工程创建与使用
    - 高阶分析功能使用
    - 常见错误

### 该页内容

- 1.对前一基础版本不足之处的改进
- 2.对前一基础版本新增、修改和删除的功能特性
  - 2.1 新增的功能特性
  - 2.2 增强的功能特性
- 3.接口变更说明
  - 3.1 BLE SDK接口变更说明
  - 3.2 SLE SDK接口变更说明

# 1.0.17版本描述文件

## 1.对前一基础版本不足之处的改进

序号 | 涉及模块 | 问题描述 | 备注
--- | --- | --- | ---
01 | PLT | fhid_send_data返回值判断优化 |
02 | SLE | 加密算法头文件中枚举值修改 |
03 | SLE/BLE | 修改时钟比较逻辑，ble下直接获取时钟，防止gle时钟翻转后两者换算出错 |
04 | SLE | ltk_len的最高位用作对端LL Privacy标志位,返回长度时因去掉高位 |
05 | PLT | 多连接场景，先建立一路连接，再连接无效地址后断开连接，连接状态变更无回调问题 |
06 | PLT | 鼠标光标在部分Mac的登录界面只能上下移动，不能左右移动 |
07 | PLT | 开源软件升级 |
08 | BLE | 提高BLE的IRK生成随机性 |

## 2.对前一基础版本新增、修改和删除的功能特性

### 2.1 新增的功能特性

本章节描述当前版本与上一个基础版本之间的所有新增功能特性。

序号 | 简要描述 | 详细描述 | 修改模块
--- | --- | --- | ---
01 | 支持低时延一拖二方案 | 办公键鼠套装支持键鼠一拖二功能。注：一拖二为新特性，仅供调试，不支持商用。 | SLE
02 | AT命令扩展，提升导入效率 | 支持直接写入或读取MAC到NV，读取NV key_id、版本号、电源模式、温度命令的AT命令。 | PLT
03 | 支持UART读/写超时机制，增强健壮性 | 在UART读写接口阻塞超时，返回错误码，避免无效等待。 | PLT
04 | 支持通过USB口抓串口和HSO日志，提升维测易用性 | 通过USB口即可抓取串口和HSO日志，避免拆机、飞线等复杂操作。 | PLT
05 | RCU Sample功能增强 | RCU Sample支持三模遥控器配置，双SLE、双BLE、 SLE+BLE等模式。 | Sample
06 | 指向遥控Sample功能增强 | 指向遥控Sample新增语音采集、语音编解码、语音传输功能。 | Sample

### 2.2 增强的功能特性

序号 | 简要描述 | 修改原因 | 修改影响 | 修改模块
--- | --- | --- | --- | ---
01 | 按键时延优化 | 性能优化 | 优化口空、按键触发中断耗时。 | SLE
02 | 广播接入流程优化 | 性能优化 | 优化休眠唤醒概率性出现0x1C断连问题。 | SLE
03 | 分区逻辑优化 | 功能优化 | APP镜像分区大小直接从分区表中获取，避免APP镜像可能与用户自定义分区重合问题。 | PLT

## 3.接口变更说明

### 3.1 BLE SDK接口变更说明

不涉及

### 3.2 SLE SDK接口变更说明

头文件 | 修改内容 | 修改版本
--- | --- | ---
sle_connection_manager.h | 加密算法头文件中枚举值修改。 | BS2X 1.0.17
extern使用 | 新增接口 errcode_t sle_set_low_latency_data(uint16_t conn_id, uint8_t* value, uint8_t len); 接口用处：用于通过low latency 快速发送数据到对端，降低时延。典型使用场景：发送按键数据。 | BS2X 1.0.17