ircmd_num.c
来自「凌阳8202T的红外接收代码及LED屏的驱动代码」· C语言 代码 · 共 1,120 行 · 第 1/3 页
C
1,120 行
static int title_cnt;
if(is_menu()!=1 && cd_type_loaded==CDDVD )
{
title_cnt=get_tt_info(DISP_TT_Ns);
dvd_chapter=get_tt_info(DISP_CH_Ns);
if((ir_select_number<=title_cnt)||(ir_select_number<=dvd_chapter))
{
ircmd_post_func(CMD_SELECT | (ir_select_number));
}else
{
invalid_key();
return;
}
}
else
#endif
/*Maoyong 2004.02.28
When select MP3
*/
#ifdef MP3_DIRECT_SELECT_FAST2NORM
if( (cd_type_loaded == CDROM) && (!Is_JPEG_STATE()) )
chg2normal_play(FAST2NORM, NOT_REALPLAY);
#endif
#ifdef CONTINUOUS_NUM_KEY_SELECT
if(ir_num_timer)
ir_select_number = 0;
else
ircmd_post_func(CMD_SELECT | (ir_select_number));
#else
ircmd_post_func(CMD_SELECT | (ir_select_number));
#endif
if(ir_select_number)
{
#ifdef ZOOM_DIRECT_STOP_SLIDE//nono 4-8-21 11:07
if(jpg_slide_time == 0xffffffff)
{
if(Is_JPEG_SlideMode())
{
jpg_slide_time = JPEG_SLIDE_TIME;
}
}
#endif
if(!bIntro)
{
#if (defined(JIEKE_DVD)||defined(AD_TCL))//2004-3-22 13:09 lijd
if(Is_JPEG_STATE())//wangfeng 2003-12-22 9:18
disp_trk_now = ir_select_number;
#endif
#ifdef MIX_CDMP3_DISC_DISPLAY_REAL_CD_TRK //linrc add 2004-10-29 11:20
/*when play the cd+mp3 disc(ABEX TEST CD 786),it display the real CD TRK*/
if((cd_type_loaded == CDDA)&&((pFsJpeg->cdrom.track_info[1]&0x40000000) == 0x40000000))
psprintf(RegionValStr[REGION1]," %02d",ir_select_number+1);
else
#endif
/* wanghaoying delete this block 2005-6-23 11:59, for a better method used in search1.c
#if 0//def DVD_DIRECT_SELECT_CHAPTER //when it open,the osd may display wrong zhjg 05/07/13
if ((cd_type_loaded == CDDVD ) && ( pDSV->dTT_SRP[NP_TTN].vtt.PTT_Ns < ir_select_number))
{//liulifeng 2005/02/25
//correct the error : when the select number overrange the total capter in current title
invalid_key();
}
else
#endif*/
{
psprintf(RegionValStr[REGION1]," %02d",ir_select_number);//zhujg
PrintOsdMsg(STR_OS_SELECT,REGION1,1,1);
}
}
if(rep_mode)
{//terry,2002/5/2 03:26PM
//cancel repeat status ,avoiding dvd/vcd difference in repeat mode.
#ifdef MINTON_DVD //wanghaoying 2003-8-4 16:24 added the limitation
//if((cd_type_loaded==CDDVD) //Marked by Wuxiaofeng for support DVD repeat
if(Is_JPEG_PLAY_STATE()&&pFsJpeg->gbfsSlide==0)//if not JPEG slide then cancel repeat
#endif
#ifndef NUMBER_SELECT_REPEAT_MODE_OFF //clead
#ifdef NUMBER_SELECT_NOT_CANCEL_DISC_REPEAT //chenzhao 2006-4-19 18:3 .
if((rep_mode!=REPEAT_DVDDISC)&&(rep_mode!=REPEAT_DISC)&&(rep_mode!=REPEAT_DIRECTORY)
#ifdef SUPPORT_ALL_CDDA_DISCS_REPEAT
&&(rep_mode!=REPEAT_ALL_DISCS)
#endif
)
#endif
{
rep_mode=0;//only cancel in (JPEG & !slide) mode
ShowRepInfo();
}
#endif //clead
#ifdef NUMBER_SELECTION_WHEN_REPEAT //wuxiaofeng add for Minton 2004-03-12
psprintf(RegionValStr[REGION2]," %02d",ir_select_number);
PrintOsdMsg(STR_OS_SELECT,REGION2,1,1);//display select info in region 2
#endif//#ifdef NUMBER_SELECTION_WHEN_REPEAT
}
}
}else
invalid_key();
init_ir_num();
}
#endif//MAKE_ONLY_UPDATE_CODE:20050305 linrc only for make romA.bin(BootLoad).
}
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
//Maoyong 2004.05.26, just for record test on DVD platform
void TestRecordCmd(BYTE cmd)
{
switch(cmd)
{
case 0: //stop
printf("\nRecord test: Press KEY 1 as STOP button\n");
break;
case 1: //record
printf("\nRecord test: Press KEY 2 as RECORD button\n");
break;
case 2: //play
printf("\nRecord test: Press KEY 3 as PLAY button\n");
break;
case 3: //pause
printf("\nRecord test: Press KEY 4 as PAUSE button\n");
break;
case 4: //set record quality High
printf("\nRecord test: Press KEY 5 to set High quality \n");
break;
case 5: //set record quality High
printf("\nRecord test: Press KEY 6 to set Middle quality\n");
break;
case 6: //set record quality High
printf("\nRecord test: Press KEY 7 to set Low quality\n");
break;
default:
break;
}
DSP_AudioIOControl(RECORDMIC,cmd,0);//2004AUDDRV AudioIOControl(RECORDMIC,cmd,0);
}
#endif //#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
#ifdef QSI_SHOW_ERR_RATE
#include "ircmd_QSI.c"
#endif
void ircmd_0(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(0);
else
#endif
ircmd_input_number(0);
}
#ifdef MIDI_CHECK_PASSWORD_PASS_MCU //Midi encrypt test //lijd 2005-2-25 14:24
#include "check_midi_password.c"
#endif
void ircmd_1(void)
{
#ifdef MIDI_CHECK_PASSWORD_PASS_MCU //Midi encrypt test //lijd 2005-2-25 14:24
int Res=0;
char *password="123";
Res=CheckMIDIPassWordPassMCU(password);
if( Res==0) printf("\n====sucessful!========\n");
return ;
#endif
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(1);
else
#endif
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
TestRecordCmd(0); //stop
#else
ircmd_input_number(1);
#endif
}
void ircmd_2(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(2);
else
#endif
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
TestRecordCmd(1); //record
#else
ircmd_input_number(2);
#endif
}
void ircmd_3(void)
{
#ifdef OPEN_STATE_USE_3333_CHANGE_TV_SYSTEM//shenyj add for alco 11/22
static int flag_3333;
if(play_state==VCD_STATE_OPEN)
{
old_key = IRC_3;
if(old_key == IRC_3)
{
flag_3333++;
}
if(flag_3333==4)
{
setup_tv_format(MODE_AUTO);
setup_SetTV_format(STR_OS_AUTO);
update_tv_format_sel();
tv_format = MODE_AUTO;
PrintOsdMsg(STR_OS_TV_SYS|(STR_OS_AUTO<<OSDSTR_ID_TOTL_BIT),REGION1,1,4);
flag_3333=0;
return;
}
}
#endif//OPEN_STATE_USE_3333_CHANGE_TV_SYSTEM
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(3);
else
#endif
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
TestRecordCmd(2); //play
#else
ircmd_input_number(3);
#endif
}
void ircmd_4(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(4);
else
#endif
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
TestRecordCmd(3); //pause
#else
ircmd_input_number(4);
#endif
}
void ircmd_5(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(5);
else
#endif
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
TestRecordCmd(4); //quality H
#else
ircmd_input_number(5);
#endif
}
void ircmd_6(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(6);
else
#endif
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
TestRecordCmd(5); //quality M
#else
ircmd_input_number(6);
#endif
}
void ircmd_7(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(7);
else
#endif
#if defined(SUPPORT_REP_READ) && defined(REP_READ_TEST_RECORD)
TestRecordCmd(6); //quality L
#else
ircmd_input_number(7);
#endif
}
void ircmd_8(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(8);
else
#endif
ircmd_input_number(8);
}
void ircmd_9(void)
{
#ifdef QSI_SHOW_ERR_RATE
if(QSI_PIPO_TEST==0x1)
QSI_setMSF(9);
else
#endif
ircmd_input_number(9);
}
void ircmd_p10(void)
{
#ifdef SUPPORT_MIDI_MENU_SEL
if(gIsMidiSelMenu)
{
return;
}
#endif
/* BEGIN: Added by XLLUO, 2007/3/8 */
#ifdef SUPPORT_FILEKOK
extern BYTE g_scIsMp4Karaoke;
if(g_scIsMp4Karaoke)
{
invalid_key();
return ;
}
#endif
/* END: Added by XLLUO, 2007.3.8 */
#if defined(QSI_SHOW_ERR_RATE) && defined(SUPPORT_SPI_QSI)
if(QSI_PIPO_TEST==0x1)
{
if(QSI_PIPO_FLAG!=0)
{
MSF_trigger=2;
QSI_PIPO_FLAG = 0;
psprintf(linebuf, "QSI_PIPO> STOP testing!\n<Pressed any num key to continue> Or \n<Second press to finish phase of run-in.>\n");
UART0_puts(linebuf);
}
else if(MSF_trigger==2)
{
spi_cmd_run_in_final();
}
else
{
psprintf(linebuf, "<Pressed NUM 0-9 to start PIPO testing>\n");
UART0_puts(linebuf);
}
}
else
#endif
ircmd_input_number(10);
}
void ircmd_10(void)
{
ircmd_input_number(0);
}
//============================ending===========================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?