CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 函数
2代串口协议

结构体

struct  sys_msg_com_data_t
 2代串口协议结构体定义 更多...
 

宏定义

#define VMUP_PROTOCOL_VERSION   1
 串口协议第1个字节版本号 更多...
 
#define VMUP_PROTOCOL_SUBVERSION   0
 串口协议第2个字节版本号 更多...
 
#define VMUP_PROTOCOL_REVISION   0
 串口协议第3个字节版本号 更多...
 
#define VMUP_MSG_DATA_MAX_SIZE   (20)
 协议数据最大长度,可配置 更多...
 
#define VMUP_MSG_HEAD_LOW   (0xA5)
 协议头:第1个字节 更多...
 
#define VMUP_MSG_HEAD_HIGH   (0xFC)
 协议头:第2个字节 更多...
 
#define VMUP_MSG_HEAD   ((VMUP_MSG_HEAD_HIGH<<8)|VMUP_MSG_HEAD_LOW)
 协议头:2个字节 更多...
 
#define VMUP_MSG_TAIL   (0xFB)
 协议尾:1个字节 更多...
 
#define VMUP_MSG_TYPE_CMD_UP   (0xA0)
 协议类型:命令类型0xA0 更多...
 
#define VMUP_MSG_TYPE_CMD_DOWN   (0xA1)
 协议类型:命令类型0xA1 更多...
 
#define VMUP_MSG_TYPE_ACK   (0xA2)
 协议类型:ACK回复类型 更多...
 
#define VMUP_MSG_TYPE_NOTIFY   (0xA3)
 协议类型:事件通知类型 更多...
 
#define VMUP_MSG_CMD_ASR_RESULT   (0x91)
 协议命令:报告语音识别结果 更多...
 
#define VMUP_MSG_CMD_PLAY_VOICE   (0x92)
 协议命令:播放本地播报音 更多...
 
#define VMUP_MSG_CMD_GET_FLASHUID   (0x93)
 协议命令:读取FLASH的unique id序列号 更多...
 
#define VMUP_MSG_CMD_GET_VERSION   (0x94)
 协议命令:读取串口协议版本号,SDK版本号,ASR组件版本号,播放器版本号,应用程序版本号 更多...
 
#define VMUP_MSG_CMD_RESET_MODULE   (0x95)
 协议命令:复位语音模块 更多...
 
#define VMUP_MSG_CMD_SET_CONFIG   (0x96)
 协议命令:设置音量、进入唤醒状态、关闭语音、开启语音 更多...
 
#define VMUP_MSG_CMD_NOTIFY_STATUS   (0x9A)
 协议命令:事件通知 更多...
 
#define VMUP_MSG_CMD_ACK_COMMON   (0xAA)
 协议命令:错误ACK 更多...
 
#define VMUP_MSG_DATA_PLAY_START   (0x80)
 播放类数据字节:开始播放提示音 更多...
 
#define VMUP_MSG_DATA_PLAY_PAUSE   (0x81)
 播放类数据字节:暂停播放提示音 更多...
 
#define VMUP_MSG_DATA_PLAY_RESUME   (0x82)
 播放类数据字节:继续播放提示音 更多...
 
#define VMUP_MSG_DATA_PLAY_STOP   (0x83)
 播放类数据字节:停止播放提示音 更多...
 
#define VMUP_MSG_DATA_PLAY_BY_VOICEID   (0x90)
 播放类数据字节:通过音频ID播放提示音 更多...
 
#define VMUP_MSG_DATA_PLAY_BY_SEMANTIC_ID   (0x91)
 播放类数据字节:通过语义ID播放提示音 更多...
 
#define VMUP_MSG_DATA_PLAY_BY_CMD_ID   (0x92)
 播放类数据字节:通过命令词ID播放提示音 更多...
 
#define VMUP_MSG_DATA_VER_PROTOCOL   (0x80)
 版本类数据字节:串口协议版本号 更多...
 
#define VMUP_MSG_DATA_VER_SDK   (0x81)
 版本类数据字节:SDK版本号 更多...
 
#define VMUP_MSG_DATA_VER_ASR   (0x82)
 版本类数据字节:ASR组件版本号 更多...
 
#define VMUP_MSG_DATA_VER_PREPROCESS   (0x83)
 版本类数据字节:语音预处理算法版本号 更多...
 
#define VMUP_MSG_DATA_VER_PLAYER   (0x84)
 版本类数据字节:播放器版本号 更多...
 
#define VMUP_MSG_DATA_VER_APP   (0x8A)
 版本类数据字节:应用程序版本号 更多...
 
#define VMUP_MSG_DATA_NOTIFY_POWERON   (0xB0)
 通知类数据字节:上电完成 更多...
 
#define VMUP_MSG_DATA_NOTIFY_WAKEUPENTER   (0xB1)
 通知类数据字节:进入唤醒状态 更多...
 
#define VMUP_MSG_DATA_NOTIFY_WAKEUPEXIT   (0xB2)
 通知类数据字节:退出唤醒状态 更多...
 
#define VMUP_MSG_DATA_NOTIFY_PLAYSTART   (0xB3)
 通知类数据字节:开始播放提示音 更多...
 
#define VMUP_MSG_DATA_NOTIFY_PLAYEND   (0xB4)
 通知类数据字节:播放提示音结束 更多...
 
#define VMUP_MSG_CMD_SET_VOLUME   (0x80)
 设置类数据字节:设置音量 更多...
 
#define VMUP_MSG_CMD_SET_ENTERWAKEUP   (0x81)
 设置类数据字节:设置进入唤醒状态 更多...
 
#define VMUP_MSG_CMD_SET_MUTE   (0x83)
 设置类数据字节:设置语音开关 更多...
 
#define VMUP_MSG_ACK_ERR_NONE   (0x0)
 回复类数据字节:功能正确 更多...
 
#define VMUP_MSG_ACK_ERR_NOSUPPORT   (0xfe)
 回复类数据字节:不支持的功能 更多...
 

函数

void vmup_receive_packet (uint8_t receive_char)
 串口RX中断接收协议,发送到消息处理任务 更多...
 
void vmup_communicate_init (void)
 2代串口协议初始化 更多...
 
void vmup_send_notify (uint8_t notify_event)
 发送通知类协议 更多...
 
void userapp_deal_cmd (sys_msg_com_data_t *msg)
 根据协议命令控制不同的功能 更多...
 
void userapp_deal_com_msg (sys_msg_com_data_t *msg)
 用户层解析RX接收到的协议,根据协议类型分开处理 更多...
 
void vmup_send_asr_result_cmd (cmd_handle_t cmd_handle, uint8_t asr_score)
 报告语音识别结果 更多...
 

详细描述


结构体说明

◆ sys_msg_com_data_t

struct sys_msg_com_data_t

2代串口协议结构体定义

成员变量
uint16_t data_length 数据长度
uint16_t header 协议头
uint8_t msg_cmd 协议命令
uint8_t msg_data[(20)] 协议数据(默认最大VMUP_MSG_DATA_MAX_SIZE个字节)
uint8_t msg_seq 协议序列号
uint8_t msg_type 协议类型

宏定义说明

◆ VMUP_MSG_ACK_ERR_NONE

#define VMUP_MSG_ACK_ERR_NONE   (0x0)

回复类数据字节:功能正确

◆ VMUP_MSG_ACK_ERR_NOSUPPORT

#define VMUP_MSG_ACK_ERR_NOSUPPORT   (0xfe)

回复类数据字节:不支持的功能

◆ VMUP_MSG_CMD_ACK_COMMON

#define VMUP_MSG_CMD_ACK_COMMON   (0xAA)

协议命令:错误ACK

◆ VMUP_MSG_CMD_ASR_RESULT

#define VMUP_MSG_CMD_ASR_RESULT   (0x91)

协议命令:报告语音识别结果

◆ VMUP_MSG_CMD_GET_FLASHUID

#define VMUP_MSG_CMD_GET_FLASHUID   (0x93)

协议命令:读取FLASH的unique id序列号

◆ VMUP_MSG_CMD_GET_VERSION

#define VMUP_MSG_CMD_GET_VERSION   (0x94)

协议命令:读取串口协议版本号,SDK版本号,ASR组件版本号,播放器版本号,应用程序版本号

◆ VMUP_MSG_CMD_NOTIFY_STATUS

#define VMUP_MSG_CMD_NOTIFY_STATUS   (0x9A)

协议命令:事件通知

◆ VMUP_MSG_CMD_PLAY_VOICE

#define VMUP_MSG_CMD_PLAY_VOICE   (0x92)

协议命令:播放本地播报音

◆ VMUP_MSG_CMD_RESET_MODULE

#define VMUP_MSG_CMD_RESET_MODULE   (0x95)

协议命令:复位语音模块

◆ VMUP_MSG_CMD_SET_CONFIG

#define VMUP_MSG_CMD_SET_CONFIG   (0x96)

协议命令:设置音量、进入唤醒状态、关闭语音、开启语音

◆ VMUP_MSG_CMD_SET_ENTERWAKEUP

#define VMUP_MSG_CMD_SET_ENTERWAKEUP   (0x81)

设置类数据字节:设置进入唤醒状态

◆ VMUP_MSG_CMD_SET_MUTE

#define VMUP_MSG_CMD_SET_MUTE   (0x83)

设置类数据字节:设置语音开关

◆ VMUP_MSG_CMD_SET_VOLUME

#define VMUP_MSG_CMD_SET_VOLUME   (0x80)

设置类数据字节:设置音量

◆ VMUP_MSG_DATA_MAX_SIZE

#define VMUP_MSG_DATA_MAX_SIZE   (20)

协议数据最大长度,可配置

◆ VMUP_MSG_DATA_NOTIFY_PLAYEND

#define VMUP_MSG_DATA_NOTIFY_PLAYEND   (0xB4)

通知类数据字节:播放提示音结束

◆ VMUP_MSG_DATA_NOTIFY_PLAYSTART

#define VMUP_MSG_DATA_NOTIFY_PLAYSTART   (0xB3)

通知类数据字节:开始播放提示音

◆ VMUP_MSG_DATA_NOTIFY_POWERON

#define VMUP_MSG_DATA_NOTIFY_POWERON   (0xB0)

通知类数据字节:上电完成

◆ VMUP_MSG_DATA_NOTIFY_WAKEUPENTER

#define VMUP_MSG_DATA_NOTIFY_WAKEUPENTER   (0xB1)

通知类数据字节:进入唤醒状态

◆ VMUP_MSG_DATA_NOTIFY_WAKEUPEXIT

#define VMUP_MSG_DATA_NOTIFY_WAKEUPEXIT   (0xB2)

通知类数据字节:退出唤醒状态

◆ VMUP_MSG_DATA_PLAY_BY_CMD_ID

#define VMUP_MSG_DATA_PLAY_BY_CMD_ID   (0x92)

播放类数据字节:通过命令词ID播放提示音

◆ VMUP_MSG_DATA_PLAY_BY_SEMANTIC_ID

#define VMUP_MSG_DATA_PLAY_BY_SEMANTIC_ID   (0x91)

播放类数据字节:通过语义ID播放提示音

◆ VMUP_MSG_DATA_PLAY_BY_VOICEID

#define VMUP_MSG_DATA_PLAY_BY_VOICEID   (0x90)

播放类数据字节:通过音频ID播放提示音

◆ VMUP_MSG_DATA_PLAY_PAUSE

#define VMUP_MSG_DATA_PLAY_PAUSE   (0x81)

播放类数据字节:暂停播放提示音

◆ VMUP_MSG_DATA_PLAY_RESUME

#define VMUP_MSG_DATA_PLAY_RESUME   (0x82)

播放类数据字节:继续播放提示音

◆ VMUP_MSG_DATA_PLAY_START

#define VMUP_MSG_DATA_PLAY_START   (0x80)

播放类数据字节:开始播放提示音

◆ VMUP_MSG_DATA_PLAY_STOP

#define VMUP_MSG_DATA_PLAY_STOP   (0x83)

播放类数据字节:停止播放提示音

◆ VMUP_MSG_DATA_VER_APP

#define VMUP_MSG_DATA_VER_APP   (0x8A)

版本类数据字节:应用程序版本号

◆ VMUP_MSG_DATA_VER_ASR

#define VMUP_MSG_DATA_VER_ASR   (0x82)

版本类数据字节:ASR组件版本号

◆ VMUP_MSG_DATA_VER_PLAYER

#define VMUP_MSG_DATA_VER_PLAYER   (0x84)

版本类数据字节:播放器版本号

◆ VMUP_MSG_DATA_VER_PREPROCESS

#define VMUP_MSG_DATA_VER_PREPROCESS   (0x83)

版本类数据字节:语音预处理算法版本号

◆ VMUP_MSG_DATA_VER_PROTOCOL

#define VMUP_MSG_DATA_VER_PROTOCOL   (0x80)

版本类数据字节:串口协议版本号

◆ VMUP_MSG_DATA_VER_SDK

#define VMUP_MSG_DATA_VER_SDK   (0x81)

版本类数据字节:SDK版本号

◆ VMUP_MSG_HEAD

#define VMUP_MSG_HEAD   ((VMUP_MSG_HEAD_HIGH<<8)|VMUP_MSG_HEAD_LOW)

协议头:2个字节

◆ VMUP_MSG_HEAD_HIGH

#define VMUP_MSG_HEAD_HIGH   (0xFC)

协议头:第2个字节

◆ VMUP_MSG_HEAD_LOW

#define VMUP_MSG_HEAD_LOW   (0xA5)

协议头:第1个字节

◆ VMUP_MSG_TAIL

#define VMUP_MSG_TAIL   (0xFB)

协议尾:1个字节

◆ VMUP_MSG_TYPE_ACK

#define VMUP_MSG_TYPE_ACK   (0xA2)

协议类型:ACK回复类型

◆ VMUP_MSG_TYPE_CMD_DOWN

#define VMUP_MSG_TYPE_CMD_DOWN   (0xA1)

协议类型:命令类型0xA1

◆ VMUP_MSG_TYPE_CMD_UP

#define VMUP_MSG_TYPE_CMD_UP   (0xA0)

协议类型:命令类型0xA0

◆ VMUP_MSG_TYPE_NOTIFY

#define VMUP_MSG_TYPE_NOTIFY   (0xA3)

协议类型:事件通知类型

◆ VMUP_PROTOCOL_REVISION

#define VMUP_PROTOCOL_REVISION   0

串口协议第3个字节版本号

◆ VMUP_PROTOCOL_SUBVERSION

#define VMUP_PROTOCOL_SUBVERSION   0

串口协议第2个字节版本号

◆ VMUP_PROTOCOL_VERSION

#define VMUP_PROTOCOL_VERSION   1

串口协议第1个字节版本号

函数说明

◆ userapp_deal_cmd()

void userapp_deal_cmd ( sys_msg_com_data_t msg)

根据协议命令控制不同的功能

参数
msg协议结构体

◆ userapp_deal_com_msg()

void userapp_deal_com_msg ( sys_msg_com_data_t msg)

用户层解析RX接收到的协议,根据协议类型分开处理

参数
msg协议结构体

◆ vmup_communicate_init()

void vmup_communicate_init ( void  )

2代串口协议初始化

◆ vmup_receive_packet()

void vmup_receive_packet ( uint8_t  receive_char)

串口RX中断接收协议,发送到消息处理任务

参数
receive_char接收到的数据字节

◆ vmup_send_asr_result_cmd()

void vmup_send_asr_result_cmd ( cmd_handle_t  cmd_handle,
uint8_t  asr_score 
)

报告语音识别结果

参数
cmd_handle命令词句柄
asr_score分值

◆ vmup_send_notify()

void vmup_send_notify ( uint8_t  notify_event)

发送通知类协议

参数
notify_event通知的关键字节