191 lines
4.2 KiB
C
191 lines
4.2 KiB
C
/*
|
||
******************************************************************************
|
||
*
|
||
* @file vox_comm.h
|
||
* @brief VOX Communicate module
|
||
* @ic sy8837/8/9
|
||
*
|
||
* @version 1.0
|
||
* @date 2025/02/13 017:40:40
|
||
* @author Alex Xu
|
||
*
|
||
* Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
|
||
* All Rights Reserved
|
||
*
|
||
* History:
|
||
* Revision Date Author Desc
|
||
* 1.0.0 2025/02/13 Alex build this file
|
||
******************************************************************************
|
||
*/
|
||
#ifndef __VOX_COMM_H__
|
||
#define __VOX_COMM_H__
|
||
|
||
/*_____ I N C L U D E S ____________________________________________________*/
|
||
|
||
#include "define.h"
|
||
|
||
|
||
/******************************************************************************\
|
||
Macro definitions
|
||
\******************************************************************************/
|
||
|
||
/*耳机通道选择*/
|
||
|
||
#define TWS_VOL 0x04
|
||
#define TWS_VOR 0x05
|
||
#define TWS_BOX 0x02
|
||
#define TWS_PC 0x03
|
||
|
||
/******************************************************************************\
|
||
Typedef definitions
|
||
\******************************************************************************/
|
||
|
||
#if JIELI
|
||
|
||
/*耳机通道选择*/
|
||
typedef enum {
|
||
|
||
VOL_CHAN = 0x00,
|
||
|
||
VOR_CHAN = 0x01,
|
||
|
||
VOX_BOTH = 0xFF,
|
||
|
||
}e_Vox_Chan;
|
||
|
||
/*耳机和充电仓进行双向通讯的协议命令ID。*/
|
||
typedef enum _VOX_BES_COMMAND_E
|
||
{
|
||
|
||
VHOUSE_CMD_PAIR = 0x01, //充电仓发起的配对信息
|
||
|
||
VHOUSE_CMD_EXCH_TWS_BTADDR = 0x02, //交换对耳的蓝牙地址信息。
|
||
|
||
VHOUSE_CMD_CLEAR_PAIR = 0x03, //清配对信息
|
||
|
||
VHOUSE_CMD_OPEN_BOX = 0x06, //开盖获取电量包
|
||
|
||
VHOUSE_CMD_CLOSE_WIN_GET_VBAT = 0x07, //关盖获取电量包
|
||
|
||
VHOUSE_CMD_RST = 0x08, //
|
||
|
||
VHOUSE_CMD_PWROFF = 0x80, //关机消息
|
||
|
||
VHOUSE_CMD_CLOSE_BOX = 0x81,
|
||
|
||
BES_RESET = 0xE1,
|
||
|
||
}VOX_BES_COMMAND_E;
|
||
|
||
#elif ZHONGKE
|
||
|
||
/*耳机通道选择*/
|
||
typedef enum {
|
||
|
||
VOL_CHAN = 0x11,
|
||
|
||
VOR_CHAN = 0x22,
|
||
|
||
VOX_BOTH = 0xff,
|
||
|
||
}e_Vox_Chan;
|
||
|
||
/*耳机和充电仓进行双向通讯的协议命令ID。*/
|
||
typedef enum _VOX_BES_COMMAND_E
|
||
{
|
||
VHOUSE_CMD_GET_VBAT = 0x01, //获取电池电量,也可作为开始标志
|
||
|
||
VHOUSE_CMD_PAIR, //充电仓发起的配对信息
|
||
|
||
VHOUSE_CMD_GET_TWS_BTADDR, //获取对耳的蓝牙地址信息,充电仓无需使用本命令,本命令为对耳相互转发,充电仓只作转发缓存,收到该命令后,copy给另一只对耳即可。
|
||
|
||
VHOUSE_CMD_CLEAR_PAIR, //清除配对信息
|
||
|
||
VHOUSE_CMD_PWROFF, //关机消息
|
||
|
||
VHOUSE_CMD_ERR, //接收消息错误
|
||
|
||
VHOUSE_CMD_SUCCESS, //成功响应
|
||
|
||
VHOUSE_CMD_CLOSE_WINDOW, //关盖
|
||
|
||
VHOUSE_CMD_OPEN_WINDOW, //开盖
|
||
|
||
VHOUSE_CMD_CLOSE_WIN_GET_VBAT, //关盖获取电量包
|
||
|
||
VHOUSE_CMD_ENABLE_POPUP = 0x80, //开关弹窗功能控制
|
||
|
||
VHOUSE_CMD_CUSTOM_RESV1 = 0xE0, //客户保留指令
|
||
|
||
BES_RESET = 0xE1,
|
||
|
||
VHOUSE_CMD_CUSTOM_RESV_END = 0xEF,
|
||
|
||
VHOUSE_CMD_SYS_RST = 0xFF, //系统复位指令
|
||
|
||
}VOX_BES_COMMAND_E;
|
||
|
||
#elif XUANHENG
|
||
|
||
/*耳机通道选择*/
|
||
|
||
#define TWS_VOL 0x04
|
||
#define TWS_VOR 0x05
|
||
#define TWS_BOX 0x02
|
||
#define TWS_PC 0x03
|
||
|
||
typedef enum {
|
||
|
||
VOL_CHAN = 0x24,
|
||
|
||
VOR_CHAN = 0x25,
|
||
|
||
VOX_BOTH = 0x21,
|
||
|
||
}e_Vox_Chan;
|
||
|
||
/*耳机和充电仓进行双向通讯的协议命令ID。*/
|
||
typedef enum _VOX_BES_COMMAND_E
|
||
{
|
||
CMD_SHUT_DOWN = 0x0005, //关机
|
||
|
||
CMD_TWS_GET_BTADDR = 0x0037, //获取对耳MAC地址
|
||
|
||
CMD_TWS_SET_BTADDR = 0x000A, //写入对耳MAC地址
|
||
|
||
CMD_CLEAR_PAIR = 0x000B, //清除配对记录
|
||
|
||
CMD_HEARTBEAT = 0x000D, //心跳包
|
||
|
||
CMD_SN = 0x000E, //写入SN码到耳机
|
||
|
||
CMD_GET_INTO_PAIR = 0x000F, //耳机进入配对状态
|
||
|
||
CMD_PAIRING_IMD = 0x0011, //立即执行TWS配对
|
||
|
||
BES_RESET, //耳机复位Pattern
|
||
|
||
}VOX_BES_COMMAND_E;
|
||
|
||
#endif
|
||
|
||
|
||
/******************************************************************************\
|
||
Global variables and functions
|
||
\******************************************************************************/
|
||
#ifdef VOX_RX
|
||
|
||
extern uint8_t Vox_Get_Vbat_Flag[2]; //耳机配对状态,VOL:低4bit;VOR:高4bit。0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。
|
||
|
||
extern uint8_t Vox_Get_BES_Addr_Flag[2] ;
|
||
|
||
#endif
|
||
|
||
extern void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select);
|
||
|
||
|
||
extern void HandleVoxCommMsg(void);
|
||
|
||
|
||
#endif
|