📄 vfd.h
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL ****************/
/*************** ****************/
/*************** Description : VFD Functions ****************/
/*************** ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Sung-Ching Lin ****************/
/**********************************************************************/
#ifndef _H_VFD_
#define _H_VFD_
#ifdef _VFD_C_
#define VFD_EXTERN
#else
#define VFD_EXTERN extern
#endif
// *********************************************************************
// For VFD Shadow Memory Allocation
// *********************************************************************
#define VFD_SHADOW_LEN_MAX 48
// *********************************************************************
// Vfd Macro Defines
// *********************************************************************
#define VFD_WHEEL_CLEAR 0
#define VFD_WHEEL_ALL 1
#define VFD_WHEEL_ROTATE 2
#define VFD_DISP_RESET 0
#define VFD_DISP_BRIGHT 1
#define VFD_DISP_DARK 2
/* for VfdSetFlashing() */
#define VFD_FLASHING_OFF 0
#define VFD_FLASHING_ON 1
#define VFD_FLASHING_TIME 4
// *********************************************************************
// Exported Variables
// *********************************************************************
VFD_EXTERN xdata BYTE _bVfdKey;
VFD_EXTERN BOOL _fgVfdKeyValid;
VFD_EXTERN xdata struct
{
BYTE fgVfdKeyLock:1;
BYTE fgVfdChange:1;
BYTE fgVfdUpdate:1;
BYTE fgSegBackupOn:1;
BYTE Reserve:4;
}
_rVfdFlag;
// *********************************************************************
// Macros
// *********************************************************************
#define EXIST_VFD_KEY() (_fgVfdKeyValid == TRUE)
#define GET_VFD_KEY(key) { \
_fgVfdKeyValid = FALSE; \
key = _bVfdKey; \
_bVfdKey = IR_NONE; \
}
#ifdef VFD_VOLATILE_MSG
#define fgIsVfdSegBackupOn() (_rVfdFlag.fgSegBackupOn == TRUE)
#endif
// *********************************************************************
// for VfdMsgVolatile()
// *********************************************************************
#define VFD_NO_DISAPPEAR 0xff
// *********************************************************************
// Vfd Function Prototypes
// *********************************************************************
void VfdStop(void) large;
void VfdTimer(void) large;
void VfdErrMsgDirect(BYTE bCode) large;
#ifdef PLAYER_POWERDOWN
#ifndef PLAYER_NO_VFD
void VfdPowerDownTimer(void) large;
#endif
#endif
#ifndef PLAYER_NO_VFD
void VfdBright(BYTE bMode) large;
void VfdIcon(WORD wOffset) large;
void VfdMsg(BYTE bIndex) large;
void VfdSegment(BYTE bPos, BYTE bNum, BYTE bMask) large;
void VfdClearNum(BYTE bPos) large;
#if 0
void VfdSetAll(void) large;
#endif
void VfdClearAll(void) large;
void VfdWheel(BYTE bType) large;
void VfdCalendar(WORD start_index) large;
void VfdUpdateNow(void) large;
#ifdef PANEL_VFD_LED
void VfdLed(BOOL fgLite, BYTE bMask) large;
#else
#define VfdLed(fgOnOff, bMask)
#endif /* PANEL_VFD_LED */
#ifndef VFD_NO_DIRECT_MSG
void VfdMsgDirect(BYTE bIndex) large;
#else
#define VfdMsgDirect(bIndex)
#endif
#ifdef VFD_VOLATILE_MSG
void VfdMsgVolatile(BYTE bIndex, BYTE bTime) large;
#endif
#ifdef VFD_INIT_STATE_FLASHING
void VfdSetFlashing(BYTE bMode) large;
#endif
#ifdef VFD_MULTI_FUNC_KEY
void VfdMultiKeyProc(void) large;
#endif
#else /* dummy */
#define VfdBright(bMode)
#define VfdIcon(wOffset)
#define VfdMsg(bIndex)
#define VfdSegment(bPos, bNum, bMask)
#define VfdClearNum(bPos)
#define VfdSetAll()
#define VfdClearAll()
#define VfdWheel(bType)
#define VfdCalendar(start_index)
#define VfdUpdateNow()
#define VfdLed(fgLite, bMask)
#define VfdMsgDirect(bIndex)
#define VfdMsgVolatile(bIndex, bTime)
#define VfdSetFlashing()
#endif /* PLAYER_NO_VFD */
#ifdef LCD_HT1621
#define LCD_CMD 0x04
#define LCD_WRITE 0x05
#define LCD_READ 0x06
#define LCD_SYS_DIS 0x00
#define LCD_SYS_EN 0x01
#define LCD_OFF 0x02
#define LCD_ON 0x03
#define LCD_TIMER_DIS 0x04
#define LCD_WDT_DIS 0x05
#define LCD_TIMER_EN 0x06
#define LCD_WDT_EN 0x07
#define LCD_TONE_OFF 0x08
#define LCD_TONE_ON 0x09
#define LCD_CLR_TIMER 0x0c
#define LCD_CLR_WDT 0x0e
#define LCD_XTAL_32K 0x14
#define LCD_RC_256K 0x18
#define LCD_EXT_256K 0x1c
#define LCD_BIAS12_COM2 0x20 // 1/2 bias, 2 commons
#define LCD_BIAS12_COM3 0x24 // 1/2 bias, 3 commons
#define LCD_BIAS12_COM4 0x28 // 1/2 bias, 4 commons
#define LCD_BIAS13_COM2 0x21 // 1/3 bias, 2 commons
#define LCD_BIAS13_COM3 0x25 // 1/3 bias, 3 commons
#define LCD_BIAS13_COM4 0x29 // 1/3 bias, 4 commons
#define LCD_TONE_4K 0x40
#define LCD_TONE_2K 0x60
#define LCD_IRQ_DIS 0x80
#define LCD_IRQ_EN 0x88
#define LCD_F1 0xa0
#define LCD_F2 0xa1
#define LCD_F4 0xa2
#define LCD_F8 0xa3
#define LCD_F16 0xa4
#define LCD_F32 0xa5
#define LCD_F64 0xa6
#define LCD_F128 0xa7
#define LCD_TOPT 0xe0
#define LCD_TNORMAL 0xe3
#endif // LCD_HT1621
#endif /* _H_VFD_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -