116 lines
2.9 KiB
C
116 lines
2.9 KiB
C
/*
|
||
******************************************************************************
|
||
*
|
||
* @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__
|
||
|
||
#include "define.h"
|
||
|
||
sbit COM_CTRL = P1^0;
|
||
|
||
extern bit Vor_Vout_Enable; //Vor功率输出标志位
|
||
extern bit Vol_Vout_Enable; //Vol功率输出标志位;
|
||
|
||
extern bit Vor_Chg_Flag; //耳机出入盒标志位
|
||
extern bit Vol_Chg_Flag;
|
||
|
||
extern bit Vor_GetInto_Box_Flag; //耳机入盒标志位
|
||
extern bit Vol_GetInto_Box_Flag;
|
||
|
||
extern bit Vor_GetOut_Box_Flag; //耳机出盒标志位
|
||
extern bit Vol_GetOut_Box_Flag;
|
||
|
||
extern uint8_t Disp_Vor_Lev;
|
||
extern uint8_t Disp_Vol_Lev;
|
||
extern bit CHG_LED_Disp_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
|
||
|
||
|
||
/******************************************************************************\
|
||
Variables definitions
|
||
\******************************************************************************/
|
||
|
||
|
||
|
||
/* VOL Enable Type */
|
||
typedef enum {
|
||
|
||
VOX_VOUT_Mode = 0x00, //VOx 5V 输出使能
|
||
VOX_ADT_Mode, //VOx 负载接入、存在识别功能使能,负载自动识别
|
||
|
||
} VOX_Enable_Mode_e;
|
||
|
||
|
||
typedef enum {
|
||
|
||
VOX_GET_INTO_BOX = 0, //耳机入仓
|
||
VOX_STAY_IN_BOX, //耳机在仓
|
||
//VOX_GET_OUTPUT_BOX, //耳机出仓
|
||
VOX_NONE_IN_BOX, //空仓
|
||
|
||
}Vox_State_e;
|
||
|
||
extern Vox_State_e Vol_State;
|
||
extern Vox_State_e Vor_State;
|
||
|
||
extern bit Vor_Vout_Close_Flag;
|
||
extern bit Vol_Vout_Close_Flag;
|
||
|
||
/******************************************************************************\
|
||
UserCfg.Functions definitions
|
||
\******************************************************************************/
|
||
|
||
extern void Vox_init(void);
|
||
|
||
extern void VOL_EN_Type(VOX_Enable_Mode_e VOL_Enable_Mode);
|
||
extern void VOR_EN_Type(VOX_Enable_Mode_e VOL_Enable_Mode);
|
||
|
||
extern void Vol_Det_Machine(void);
|
||
extern void Vor_Det_Machine(void);
|
||
|
||
#endif
|
||
|
||
#endif
|
||
|