Radar Service
雷达感知服务公共 API。WS63E 支持人体活动雷达检测,通过发射和接收反射信号感知目标物体的移动和存在。雷达分为窄带(高分辨率近距离)和宽带(远距离探测)两类子模式。
提供雷达版本信息查询接口,根据芯片型号动态加载对应的子模块(Sub-6G / SLP)。
头文件清单
#include "include/middleware/services/radar/radar_errcode.h"
#include "include/middleware/services/radar/radar_service.h"
接口清单
接口名称 功能简述 uapi_radar_get_version 获取雷达宽窄带软件版本号
Functions
uapi_radar_get_version
头文件清单
功能说明
- 获取雷达宽窄带软件版本号,包含窄带系统与宽带系统的版本信息
- 调用后通过出参返回 radar_version_info_t 结构体,包含 major、minor、patch 三段版本号
- 适用于雷达功能初始化后查询当前固件版本,确认版本一致性或进行版本校验
前置条件
- 模块初始化状态:雷达服务已通过
CONFIG_RADAR_SERVICE宏使能并完成初始化 - 依赖资源状态:雷达芯片已上电加载完成,固件版本信息已就绪
入参
名称 参数类型 详细说明 约束取值范围 radar_version radar_version_info_t * 指向版本信息结构体的指针,用于接收雷达宽窄带软件版本号 不为NULL,且指向的内存空间已分配
出参
名称 数据类型 输出说明 radar_version radar_version_info_t * 填充雷达宽窄带软件版本号,narrow_band 为窄带版本号,wide_band 为宽带版本号
返回值
- 返回类型:errcode_radar_client_t
返回值 文字含义 触发场景 ERRCODE_RC_SUCCESS(0) 执行成功 获取版本号成功 Other 其他错误码,参考errcode_radar_client_t 执行失败
参考案例
application/samples/radar/slp_sample/radar_slp_sample.c#uapi_radar_get_version
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_RADAR_SERVICE 功能宏 支持雷达服务功能 n
Structures
radar_version_t
typedef struct {
uint16_t major; /*!< 主版本号 */
uint16_t minor; /*!< 次版本号 */
uint16_t patch; /*!< 修订版本号 */
} radar_version_t;
成员说明:
成员名称 数据类型 描述 major uint16_t 主版本号 minor uint16_t 次版本号 patch uint16_t 修订版本号
radar_version_info_t
typedef struct {
radar_version_t narrow_band; /*!< 窄带软件版本号 */
radar_version_t wide_band; /*!< 宽带软件版本号 */
} radar_version_info_t;
成员说明:
成员名称 数据类型 描述 narrow_band radar_version_t 窄带软件版本号 wide_band radar_version_t 宽带软件版本号
Enumerations
errcode_radar_client_t
typedef enum {
ERRCODE_RC_SUCCESS = 0, /*!< 执行成功错误码 */
ERRCODE_RC_MALLOC_FAILED = ERRCODE_RADAR_CLIENT_BASE, /*!< 申请动态内存失败错误码 */
ERRCODE_RC_QUEUE_WRITE_FAILED, /*!< 消息队列写入失败错误码 */
ERRCODE_RC_POWER_ON_FAILED, /*!< 上电加载失败错误码 */
ERRCODE_RC_POWERED_ON, /*!< 已经上电加载错误码 */
ERRCODE_RC_POWERED_OFF, /*!< 已经下电错误码 */
ERRCODE_RC_RADAR_ENABLED, /*!< 雷达已经使能错误码 */
ERRCODE_RC_RADAR_DISABLED, /*!< 雷达已经关闭错误码 */
ERRCODE_RC_PTR_NULL, /*!< 雷达指针为空 */
ERRCODE_RC_PARA_INVALID, /*!< 雷达参数不合规 */
ERRCODE_RC_STATUS_ERROR = ERRCODE_RADAR_CLIENT_UAPI_BASE, /*!< 启动参数异常 */
ERRCODE_RC_CALL_BACK, /*!< 回调注册异常 */
ERRCODE_RC_CHANNEL_IDX, /*!< 信道索引 */
ERRCODE_RC_GPIO_PINMUX, /*!< 开关GPIO PINMUX配置 */
ERRCODE_RC_ANT_CHANNEL_NUM, /*!< 天线对有效值可控 */
ERRCODE_RC_ANT_CODE, /*!< 天线码字可配 */
ERRCODE_RC_TX_POWER, /*!< 发射功率 */
ERRCODE_RC_AGC_LNA, /*!< AGC增益配置LNA */
ERRCODE_RC_AGC_VGA, /*!< AGC增益配置VGA */
ERRCODE_RC_ANT_SW_CTRL, /*!< 射频开关控制管脚 */
ERRCODE_RC_SUBFRAME_PERIOD, /*!< 子帧间隔 */
ERRCODE_RC_ANT_SWITCH_INTERVAL, /*!< 雷达天线对切换间隔 */
ERRCODE_RC_START_BIN, /*!< 雷达原始数据参数:起始bin索引 */
ERRCODE_RC_END_BIN, /*!< 雷达原始数据参数:起始end索引 */
ERRCODE_RC_TX_WAVE_SPREAD_FACTOR, /*!< 雷达波形参数:波形序列扩频因子 */
ERRCODE_RC_TX_WAVE_ACC_RSHIFT_BIT, /*!< 雷达波形参数:累加位宽保护右移位数 */
ERRCODE_RC_TX_WAVE_ACC_NUM, /*!< 雷达波形参数:累加次数 */
ERRCODE_RC_TX_WAVE_CORR_DIV, /*!< 雷达波形参数:相关后除数因子 */
ERRCODE_RC_TX_WAVE_TX_WAVE_LEN, /*!< 雷达波形参数:发射波形长度 */
ERRCODE_RC_TX_WAVE_TX_WAVE_BITS, /*!< 雷达波形参数:波形扩频前的三元码序列 */
ERRCODE_RC_RADAR_VERSION_NOT_INIT, /*!< 雷达版本未初始化 */
ERRCODE_RC_START_UP = ERRCODE_RADAR_CLIENT_SW_BASE, /*!< 启动异常 */
ERRCODE_RC_CLOSE, /*!< 关闭异常 */
ERRCODE_RC_FRAME_BUFFER_FULL, /*!< 上报数据缓冲满,bufferfull,丢帧 */
ERRCODE_RC_RAINGING_DURATION, /*!< 共存指向间隔异常 */
ERRCODE_RC_TX_AHEAD_READ_ADC, /*!< 雷达TX发送在读取ADC数据前 */
ERRCODE_RC_AGC_CALI_FAILED, /*!< AGC校准异常 */
ERRCODE_RC_PC_PEAK_OVERFLOWED, /*!< 雷达脉压峰值溢出 */
ERRCODE_RC_EEPROM_READ_FAILED, /*!< 雷达从eeprom中读取校准结果时发生错误 */
ERRCODE_RC_IMAGE_CHECK_FAILED, /*!< 雷达固件镜像校验错误 */
ERRCODE_RC_MAX = ERRCODE_RADAR_CLIENT_END, /*!< RC错误码最大值 */
} errcode_radar_client_t;
枚举成员 取值 描述 ERRCODE_RC_SUCCESS 0 执行成功 ERRCODE_RC_MALLOC_FAILED 0x8000A100 申请动态内存失败 ERRCODE_RC_QUEUE_WRITE_FAILED 0x8000A101 消息队列写入失败 ERRCODE_RC_POWER_ON_FAILED 0x8000A102 上电加载失败 ERRCODE_RC_POWERED_ON 0x8000A103 已经上电加载 ERRCODE_RC_POWERED_OFF 0x8000A104 已经下电 ERRCODE_RC_RADAR_ENABLED 0x8000A105 雷达已经使能 ERRCODE_RC_RADAR_DISABLED 0x8000A106 雷达已经关闭 ERRCODE_RC_PTR_NULL 0x8000A107 雷达指针为空 ERRCODE_RC_PARA_INVALID 0x8000A108 雷达参数不合规 ERRCODE_RC_STATUS_ERROR 0x8000A11E 启动参数异常 ERRCODE_RC_CALL_BACK 0x8000A11F 回调注册异常 ERRCODE_RC_CHANNEL_IDX 0x8000A120 信道索引 ERRCODE_RC_GPIO_PINMUX 0x8000A121 开关GPIO PINMUX配置 ERRCODE_RC_ANT_CHANNEL_NUM 0x8000A122 天线对有效值可控 ERRCODE_RC_ANT_CODE 0x8000A123 天线码字可配 ERRCODE_RC_TX_POWER 0x8000A124 发射功率 ERRCODE_RC_AGC_LNA 0x8000A125 AGC增益配置LNA ERRCODE_RC_AGC_VGA 0x8000A126 AGC增益配置VGA ERRCODE_RC_ANT_SW_CTRL 0x8000A127 射频开关控制管脚 ERRCODE_RC_SUBFRAME_PERIOD 0x8000A128 子帧间隔 ERRCODE_RC_ANT_SWITCH_INTERVAL 0x8000A129 雷达天线对切换间隔 ERRCODE_RC_START_BIN 0x8000A12A 雷达原始数据参数:起始bin索引 ERRCODE_RC_END_BIN 0x8000A12B 雷达原始数据参数:起始end索引 ERRCODE_RC_TX_WAVE_SPREAD_FACTOR 0x8000A12C 雷达波形参数:波形序列扩频因子 ERRCODE_RC_TX_WAVE_ACC_RSHIFT_BIT 0x8000A12D 雷达波形参数:累加位宽保护右移位数 ERRCODE_RC_TX_WAVE_ACC_NUM 0x8000A12E 雷达波形参数:累加次数 ERRCODE_RC_TX_WAVE_CORR_DIV 0x8000A12F 雷达波形参数:相关后除数因子 ERRCODE_RC_TX_WAVE_TX_WAVE_LEN 0x8000A130 雷达波形参数:发射波形长度 ERRCODE_RC_TX_WAVE_TX_WAVE_BITS 0x8000A131 雷达波形参数:波形扩频前的三元码序列 ERRCODE_RC_RADAR_VERSION_NOT_INIT 0x8000A132 雷达版本未初始化 ERRCODE_RC_START_UP 0x8000A183 启动异常 ERRCODE_RC_CLOSE 0x8000A184 关闭异常 ERRCODE_RC_FRAME_BUFFER_FULL 0x8000A185 上报数据缓冲满,丢帧 ERRCODE_RC_RAINGING_DURATION 0x8000A186 共存指向间隔异常 ERRCODE_RC_TX_AHEAD_READ_ADC 0x8000A187 雷达TX发送在读取ADC数据前 ERRCODE_RC_AGC_CALI_FAILED 0x8000A188 AGC校准异常 ERRCODE_RC_PC_PEAK_OVERFLOWED 0x8000A189 雷达脉压峰值溢出 ERRCODE_RC_EEPROM_READ_FAILED 0x8000A18A 雷达从eeprom中读取校准结果时发生错误 ERRCODE_RC_IMAGE_CHECK_FAILED 0x8000A18B 雷达固件镜像校验错误 ERRCODE_RC_MAX 0x8000A1FF RC错误码最大值