SY883x_For_Clients_ROCK-A/UsrInc/vox/vox_module.h

126 lines
3.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
******************************************************************************
*
* @file VOX_Module.h
* @brief VOL/R module
*
*
* @version 1.0
* @date 2022/07/18 09:59:40
* @author Alex Xu
*
* Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
* All Rights Reserved
*
* History:
* Revision Date Author Desc
* 1.0.0 2022/07/18 Alex build this file
******************************************************************************
*/
#ifndef __VOX_MODULE_H__
#define __VOX_MODULE_H__
/*_____ I N C L U D E S ____________________________________________________*/
#include "define.h"
extern bit Vox_Vout_Enable;
//sbit COM_CTRL = P0^2;
extern uint8_t Vox_TX_Timer; //VOX发送指令持续时间计数,在Hall_Handler检测中清0.
extern bit Earphone_Chg_Flag; //耳机出入盒标志位
#if VOX_ENABLE
/******************************************************************************\
Macro definitions
\******************************************************************************/
/*
VOX过流档位设置在系统初始化中(Vox_init())通过配置VOX_CON0
SFRADDR = VOX_CON0; //设置VOX输出500mA负载识别电流2.5uA。
SFRDATA &= 0xE0;
SFRDATA |= (VOX_IOUT_500MA << 3) | VOX_ADT_Cur_2_5UA;
*/
#define VOX_IOUT_200MA 0x00
#define VOX_IOUT_300MA 0x01
#define VOX_IOUT_400MA 0x02
#define VOX_IOUT_500MA 0x03
#define VOX_ADT_Cur_0_5UA 0x00
#define VOX_ADT_Cur_1_5UA 0x01
#define VOX_ADT_Cur_2_5UA 0x02
#define VOX_ADT_Cur_3_5UA 0x03
#define VOX_ADT_Cur_4_5UA 0x04
#define VOX_ADT_Cur_5_5UA 0x05
#define VOX_ADT_Cur_6_5UA 0x06
#define VOX_ADT_Cur_7_5UA 0x07
#define HEADER 0x050A //VOX通讯数据包头
#define BOX_FAC_HEADER 0xFB04 //VOX通讯仓->产测上位机数据包头
#define BESHEADER 0xA5 //VOX通讯耳机->仓数据包头
#define TIM_SHUTDOWN_DEBOUNCE 600 //关机前debounce时间
/******************************************************************************\
Variables definitions
\******************************************************************************/
/*耳机通道选择*/
typedef enum {
VOL_CHAN = 0,
VOR_CHAN,
VOX_BOTH,
}e_Vox_Chan;
#if 1
/*耳机配对状态*/
typedef enum {
VOX_PAIR_NONE = 0, //无效
VOX_PAIR_ING, //配对中
VOX_PAIR_OK, //配对完成
VOX_PAIR_KEEP, //不处理,保持当前状态
}e_Vox_Pairing_State;
/*耳机配对记录*/
typedef enum {
VOX_PAIRED_NONE = 0, //无配对过
VOX_PAIRED_OK, //有配对记录
}e_Vox_Paired_State;
#endif
/*耳机和充电仓进行双向通讯的协议命令ID。*/
typedef enum _VOX_FAC_COMMAND_E
{
CMD_FAC_START = 0xB0, //产测开始指令
CMD_FAC_HALL = 0xB1, //Hall测试指令
CMD_FAC_GUAGE = 0xB2, //电量管控设置
CMD_FAC_LED = 0xB3, //LED测试指令
CMD_FAC_SHUTDOWN = 0xB4, //关机模式
CMD_FAC_GET_DAUGE = 0xB5, //获取电量指令
CMD_FAC_GET_NTC = 0xB6, //获取NTC指令
CMD_FAC_GET_FWVER = 0xB7, //获取固件版本指令
CMD_FAC_SET_VOX_5V = 0xB8, //充电盒进入5V升压
}VOX_FAC_COMMAND_E;
/* VOL Enable Type */
typedef enum {
VOX_VOUT_Mode = 0x00, //VOx 5V 输出使能
VOX_ADT_Mode, //VOx 负载接入、存在识别功能使能,负载自动识别
} VOX_Enable_Mode_e;
extern bit Cover_Open_Flag;
/******************************************************************************\
UserCfg.Functions definitions
\******************************************************************************/
extern void Vox_Det_Machine(void);
#endif
#endif