📄 vfd_o.c
字号:
/*
** FILE
** vfd.c
**
** DESCRIPTION
** handle VFD functions.
*/
#include "user_init.h"
#include "config.h"
#include "global.h"
#include "memmap.h"
#include "sio.h"
//#include "epp.h"
//#include "fastmath.h"
//#include "auctrl.h"
//#include "user_init.h"
//#include "vfd.h"
#include "vfdfunc.h"
//#include "vfd_7seg.h"//kenny mark 2001/10/23
//#include "vfd_p.h"//kenny mark 2001/10/23
#include "ircode.h"
#include "ircmd.h"
#include "func.h"
//#include "sig.h"
//#include "fs96602.h"//kenny mark 2001/10/23
#include "osd.h"
#include "avd.h" //zyf 2000/11/22
//#include "vfd_prg.h"//kenny mark 2001/10/23
//#include "reverse.h"
#include "gpio.h"
#include "iop.h"
#include "cd.h"
#ifdef USE_VFDPORT_TRANDATA //add by linrc 2004-3-24 21:56 for minidvd receive
#include "8200_51MCU.c" //program introduce in the /IR_VFD/8200_51MCU.c file
#endif
UINT32 get_rtc_val();
//#ifdef P9c9_Panel //jacky 2003/10/23 07:35PM
#ifdef USE_VFD_CONTROL_P9C9_LED_ON_OFF //gerry,2004-1-30 18:11
int led_flash_interval=0;
int led_flash_time=0;
#endif
//#define VFD_DBG 1
//#define VFD_KEY_TEST
#ifdef BBK_DVD //fengjl add 4-2-3 20:22
extern tv_output_vfd_time;
#endif
static UINT16 counter, index;
BYTE vfd_state = 0;
extern UINT32 save_srn_start_t;
#include "vfd_mod.c"
#ifdef HT1621_PANNEL//nono 4-5-9 23:56
const BYTE vfd_keycode[]={};
#endif//HT1621_PANNEL
#ifdef NEW_JPEG
extern BYTE bJpgVFDPause;
#else
#ifndef SHARE_NAV_VAR
extern BYTE bJpgVFDPause; //Jeff 20020523
#else
#define bJpgVFDPause (pFsJpeg->bJpgVFDPause)
#endif
#endif
extern UINT16 Is_JPEG_SlideMode(void);
#if defined(SLEEP_WHEN_POWER_ON)&&defined(TONIC_DVD)//20040206
extern int power_on_flag; //zhg 2004-1-4 15:46
#endif
#ifdef TWO_FUN_IN_ONE_VFD_KEY
UINT32 keycode_to_num(UINT32 key_data)
{
UINT32 temp;
UINT8 i;
for(i = 0; i < 24; i++)
{
temp = 0x01 << i;
if(key_data & temp)
{
if (key_data > temp)
{
return 0;
}
else
{
key_data = i + 1;
break;
}
}
}
return key_data;
}
#endif //TWO_FUN_IN_ONE_VFD_KEY
#ifdef TEST_VFD //shawn add at 910131
UINT8 SC_1 = 15;
UINT8 COMMAND_MODE = 2;
void update_vfd_dot_inc(void) //shawn add at 910131
{
if(SC_1 < 40)
SC_1++;
printf("\n SC_1(BYTE_INC)=%d\n\n", SC_1);
#ifdef VFD2OSD_DBG_TXD //nono 2-8-9 14:39
psprintf(RegionValStr[REGION1], "SC_1 BYTE_INC: %d", SC_1);
PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
#endif
}
void update_vfd_dot_dec(void) //shawn add at 910131
{
UINT8 a;
for(a = SC_1; a <= 25; a++)
vfd_mem[a] = 0x00;
if(SC_1 > 0)
SC_1--;
printf("\n SC_1(BYTE_DEC)=%d\n\n", SC_1);
#ifdef VFD2OSD_DBG_TXD //nono 2-8-9 14:39
psprintf(RegionValStr[REGION1], "SC_1 BYTE_DEC: %d", SC_1);
PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
#endif
}
void update_vfd_mod_inc(void) //shawn add at 910131
{
//counter++;
if(COMMAND_MODE < 16)
COMMAND_MODE++;
printf("\n COMMAND_MODE(INC)=%d\n\n", COMMAND_MODE);
#ifdef VFD2OSD_DBG_TXD //nono 2-8-9 14:40
psprintf(RegionValStr[REGION3], "COMMAND_MODE INC: %d", COMMAND_MODE);
PrintOsdMsg(STR_OS_SPACE, REGION3, 1, 1);
#endif
reset_vfd();
}
void update_vfd_mod_dec(void) //shawn add at 910131
{
//counter--;
if(COMMAND_MODE > 0)
COMMAND_MODE--;
printf("\n COMMAND_MODE(DEC)=%d\n\n", COMMAND_MODE);
#ifdef VFD2OSD_DBG_TXD //nono 2-8-9 14:40
psprintf(RegionValStr[REGION1], "COMMAND_MODE DEC: %d", COMMAND_MODE);
PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
#endif
reset_vfd();
}
void update_vfd_inc(void) //shawn modify at 910131
{
counter++;
}
void update_vfd_dec(void) //shawn modify at 910131
{
counter--;
}
#endif //TEST_VFD
#ifdef SHOW_VOL_ON_VFD //huziqin 2004-4-29.if setting channel volume.
extern BYTE subvol_time_out;
#endif
#ifdef SUPPORT_VFD//nono 20031124
void update_vfd_data(void)
{
#ifdef VFD_SHOW_LOAD_TOGGLE//nono 2003-10-17 18:23
static BYTE load_toggle_flag;
#endif//#ifdef VFD_SHOW_LOAD_TOGGLE
#ifdef SHOW_VOL_ON_VFD
if(subvol_time_out)
{
show_amp_vol_on_vfd();
return;
}
#endif
#ifdef TEST_VFD
UINT8 by, bit, i; //,j; //shawn modify at 910131
index++;
if(index % 10)
return;
by = counter / 8;
bit = counter % 8;
#ifdef YADAI_PT6554_PANNEL
for(i = 0; i < SC_1; i++)
{
if((i==5)||(i==11)||(i==17)||(i==23))
{
vfd_mem[i] = 0x00;
}
else
{
vfd_mem[i] = 0xff;
}
}
#else
for(i = 0; i < SC_1; i++)
vfd_mem[i] = 0xff;
#endif
vfd_mem[by] = ~(0x01 << bit);
//vfd_set_str(STR_OS_CLOSE,"");
printf("BYTE:%d BIT:%d\n", by, bit);
//psprintf(linebuf,"BYTE:%d BIT:%d",by,bit);
#ifdef VFD2OSD_DBG_TXD //nono 2-8-9 14:40
psprintf(RegionValStr[REGION1], "BYTE:%d BIT:%d", by, bit);
PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
#endif
//ShowOsdMsg(linebuf,0);
return;
#endif
#ifdef BBK_DV961_DVD//zhaoyanhua add to show VFD Message for VGA/INTERLACE/P_SCAN 3-11-27 9:50
if(tv_output_vfd_time != 0)
{
tv_output_vfd_time--;
switch(tv_out_id)
{
case INTERLACE:
vfd_set_str(0,"1- ");
break;
case PC_VGA:
vfd_set_str(0,"2- ");
break;
case P_SCAN:
vfd_set_str(0,"3- ");
break;
}
//turn off ":"(min)":"(sec)
vfd_reset_dot(VFD_DOT_MINSEC);
vfd_reset_dot(VFD_DOT_MIN);
return;
}
#endif
if(play_state != VCD_STATE_TUNER)
{
//===========================================
#ifdef HUAJIA_DVD
#define INTV_TM 20
#else
#define INTV_TM 10
#endif
counter++;
if(adv_search_time > 0)
{
if(counter % (INTV_TM / adv_search_time))
return;
}
else if(adv_search_time < 0)
{
if(counter % (INTV_TM / (-adv_search_time)))
return;
}
else if(video_slow)
{
{
UINT8 rate = (UINT8) video_slow;
if(counter % (INTV_TM * rate))
return;
}
}
else if(play_state != VCD_STATE_CLOSE)
{
if(counter % INTV_TM)
return;
}
else if(counter % (INTV_TM / 2))
return;
counter = 0;
}
/********************************************************/
// try the function by chichang 2001 6/5
/********************************************************/
/*
vfd_mem[36]=0xff;
vfd_mem[37]=0xff;
vfd_set_dot(VFD_DOT_PLAY);
vfd_set_dot(vfd_disc[index]);
//vfd_set_str(0,"WELCOME");
if(index>=11)
{
index=0;
}else
index++;
vfd_reset_dot(vfd_disc[index]);
*/
//===========================================================//
// process the vfd display of volume and tone 2002-07-03 freyman
/************************************************************/
#ifdef VFD_VOLUME_DISPLAY
// if(vfd_mode_state != DVD_NORMAL_MODE)
if(timeout_vfd != 0)
return;
#endif
/************************************************************/
// start the vfd program
/************************************************************/
#ifdef VOL_LED
write_vfd_led(0xff);
#endif
#ifdef GBM_USE_VFD_CONTROL_LED //GERRY,2004/2/12 04:14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -