⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vfd.h

📁 MTK1389D dvd原程序
💻 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 + -