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 + -
显示快捷键?