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

📄 password.c

📁 凌阳8202T的红外接收代码及LED屏的驱动代码
💻 C
📖 第 1 页 / 共 3 页
字号:
        custm_count_2++;
        if(custm_count_2>=4) 
        {
            PrintOsdMsg(REGION_CODE , REGION1, 0, 0);
            return;
        }
    }
    else 
    {
        custm_count_1=0;
        custm_count_2=0;
        custm_count=0;
    }
}
#endif  //#ifdef puliang_password

// mimitsai merge from dp2070/dp3240

    #ifdef USER_VERSION_INFORMATION
extern void set_default_value(void);
extern void run_set_variable(void);
extern void run_save_total_sel(void);
#include "setup_popup_gui.h"
#include "setup_page.h"
#include "setup_VA.h"
extern UINT8 ShowingWarningMessage;
BYTE check_password_flag;
    #endif  //#ifdef USER_VERSION_INFORMATION


static inline void eastech_chk_password(UINT8 rx __attribute__((unused)))
{
#ifdef EASTECH_PASSWORD

    coordinate start={0,0}; // mimitsai add

    //printf("enter_display_flag= %x\n",enter_display_flag);
    //printf("------------\n");
    //printf("play_state= %x\n",play_state);
    if( (play_state==VCD_STATE_OPEN)&&(enter_display_flag)) //||(play_state==VCD_STATE_OPEN) ) 
    {
        //printf("enter-------------1\n");
           if (full_scrn&SETUP) 
            {
                    custm_count=0;
            }
           if(custm_count==0)
           {
/*
            temp_data[0]=0;
            temp_data[1]=0;
            temp_data[2]=0;
            temp_data[3]=0;
*/
            temp_data[0]=-1;
            temp_data[1]=-1;
            temp_data[2]=-1;
            temp_data[3]=-1;
            temp_data[4]=-1;
            temp_data[5]=-1;
           }
        temp_data[custm_count]=rx;
        custm_count++;

        if(enter_display_flag==1)
        {

        if(temp_data[0]==Custm_version[0] && 
        temp_data[1]==Custm_version[1] && 
        temp_data[2]==Custm_version[2])
        {
                psprintf(linebuf,"%s",VERSION_INFORMATION_STRING);
            osd_draw_string(&start, linebuf, 3, 1, 1, 0);
            osd_tog_region(1,OSD_ON);
            delay_1ms(3000);

            check_password_flag = 1;
            custm_count=0;
            enter_display_flag=0;
            return;
        }

        // mimitsai merge from dp2070/dp3240

            #ifdef USER_VERSION_INFORMATION            
            // show internal software version
            if(temp_data[0]==Custm_version1[0] && 
               temp_data[1]==Custm_version1[1] && 
               temp_data[2]==Custm_version1[2])
            {
                psprintf(linebuf,"%s",INTERNAL_VERSION_INFORMATION_STRING);
                osd_draw_string(&start, linebuf, 3, 1, 1, 0);
                osd_tog_region(1,OSD_ON);
                delay_1ms(3000);
                
                check_password_flag = 1;
                custm_count=0;
                enter_display_flag=0;
                return;
            }
                    
            // show macrovision
            if(temp_data[0]==macrovision[0] && 
               temp_data[1]==macrovision[1] && 
               temp_data[2]==macrovision[2] && 
               temp_data[3]==macrovision[3] && 
               temp_data[4]==macrovision[4])
            {
                psprintf(linebuf,"%s",MACROVISION_STRING);
                osd_draw_string(&start, linebuf, 3, 1, 1, 0);
                osd_tog_region(1,OSD_ON);
                delay_1ms(3000);
                
            check_password_flag = 1;          
            custm_count=0;
            enter_display_flag=0;
            return;
        }
// clear eeprom
            if(temp_data[0]==clear_eeprom[0] &&
               temp_data[1]==clear_eeprom[1] && 
               temp_data[2]==clear_eeprom[2] && 
               temp_data[3]==clear_eeprom[3])
            {
                psprintf(linebuf,"%s","CLEAR EEPROM");
                osd_draw_string(&start, linebuf, 3, 1, 1, 0);
                osd_tog_region(1,OSD_ON);
                //delay_1ms(3000);
                
    	        set_default_value();
    	        run_set_variable();
    	        run_save_total_sel();
    
            custm_count=0;
            enter_display_flag=0;
            return;
        }
            #endif //#ifdef USER_VERSION_INFORMATION 


#ifdef EASTECH_PWD_SIX_DIGITAL
       if(temp_data[0]==region_code[0] && 
       temp_data[1]==region_code[1] && 
       temp_data[2]==region_code[2] && 
       temp_data[3]==region_code[3] && 
       temp_data[4]==region_code[4] &&
       temp_data[5]==region_code[5])
#else
        if(temp_data[0]==Custm_Password[0] && 
        temp_data[1]==Custm_Password[1] && 
        temp_data[2]==Custm_Password[2]&&
        temp_data[3]==Custm_Password[3])
#endif
        {

            osd_tog_region(REGION1, OSD_OFF);
            RegionOnOff[REGION1][1] = 0;
            RegionOnOff[REGION1][2] = STR_OS_SPACE;
            RegionValStr[REGION1][0] = 0;   //kevinmonkey 050720 clear message so it won't appear again permanently after exit setup
        

            display_custm_menu();
            check_password_flag = 1;
            enter_display_flag=0;
            custm_count=0;
                    return;
        }
            
#ifdef EASTECH_PWD_SIX_DIGITAL
        if(custm_count>6)
#else
            //if(custm_count>4)
            if(custm_count>6)
#endif
        {
            custm_count=0;
            enter_display_flag=0;
        }
        return;
    }

    // mimitsai merge from dp2070/dp3240

        #ifdef USER_VERSION_INFORMATION
        else if(enter_display_flag==2)
        {
            // reset P_SCAN to off
            if(temp_data[0]==reset_p_scan_off[0])
            {
                setup_tv_out(INTERLACE);
                setup_SetPScan();
                PrintOsdMsg(STR_OS_YCbCr,REGION1,1,0);

                setup_VA[SETUP_VA_VIDEO] = 2;
                run_save_sel_cmd(setup_VA[SETUP_VA_VIDEO], SETUP_VA_VIDEO);
                setup_VA[SETUP_VA_PSCAN_ON_OFF] = 3;
                run_save_sel_cmd(setup_VA[SETUP_VA_PSCAN_ON_OFF], SETUP_VA_PSCAN_ON_OFF);
               
                psprintf(linebuf,"%s","P_SCAN OFF");
                osd_draw_string(&start, linebuf, 3, 1, 1, 0);
                osd_tog_region(1,OSD_ON);
                delay_1ms(3000);
                
                custm_count=0;
                enter_display_flag=0;
                return;
            }
        }
        #endif  //#ifdef USER_VERSION_INFORMATION

    }
#endif//#ifdef EASTECH_PASSWORD
}
 #ifdef MIDI_EJECT_PASSWORD    //ouyang add for eject password 2004-11-20 15:10
     
UINT8 midi_open_pwd_start = 0;
UINT8 midi_open_pwd_finished = 0;    
static inline int midi_eject_chk_password(UINT8 rx)
{
    if(midi_open_pwd_start)
    {
           if (full_scrn&SETUP) 
            {
             midi_open_count=0;
            }
           if(midi_open_count==0)
           {
            temp_num[0]=0;
            temp_num[1]=0;
            temp_num[2]=0;
            temp_num[3]=0;
           }
            temp_num[midi_open_count]=rx;
           if( rx != IRC_EJECT )
            midi_open_count++;
            else
             midi_open_count=0;
printf("========temp_num================= %d %d %d %d =====\n",temp_num[0],temp_num[1],temp_num[2],temp_num[3]);
printf("========midi_open_password ====== %d %d %d %d =====\n",midi_open_password[0],midi_open_password[1],midi_open_password[2],midi_open_password[3]);
        if(temp_num[0]==midi_open_password[0] && 
        temp_num[1]==midi_open_password[1] && 
        temp_num[2]==midi_open_password[2]&&
        temp_num[3]==midi_open_password[3])
        {
            if( rx == IRC_SELECT ){
            //enter_display_flag=0;
            midi_open_pwd_finished=1;
            ircmd_eject_toggle();
            midi_open_count=0;
            return 0;
       }            
        }else
        {
            extern void CleanSysMessage(BYTE);
//            extern void osd_Clear_Region(BYTE reg, BYTE bkColor);
            if( rx == IRC_SELECT ){//xlluo modify here 11:16 2004-12-21
                midi_open_pwd_start     =0;    
                midi_open_pwd_finished  =0; 
                midi_open_count=0;
                CleanSysMessage(1);
               }     
        }
        if(midi_open_count>4)
        {
            midi_open_count=0;
            //enter_display_flag=0;
        }
//        return 1;
    }
    return 1;
}

#endif//#ifdef MIDI_EJECT_PASSWORD    //ouyang add for eject password 2004-11-20 15:10


void chk_password(UINT8 rx)
{
#ifdef PASSWORD
	#if defined( EASTECH_PASSWORD )
        eastech_chk_password(rx);
    #elif defined(PULIANG_PASSWORD)     //yaowh add 04-12-22
        puliang_chk_password(rx);
    #elif defined(ORITRON_PASSWORD)//libing 2005-4-25 10:56
        oritron_chk_password(rx);  
    #elif defined( MIDI_EJECT_PASSWORD )   //ouyang add for eject password 2004-11-20 15:10
        if (!midi_eject_chk_password(rx)) return;
        standard_chk_password(rx);        //ouyang 2004-12-3 11:39
    #else
        standard_chk_password(rx);
    #endif
#endif //#ifdef PASSWORD

    safe_srn_off();

    if(old_key==rx)
    {
        UINT16 stmp = regs0->rtc_15_0;
        int diff = stmp-timestamp_key;

        #ifdef Ti3001_OSD_UI_1      // AMP osd timeout=2*OSD_TIMEOUT //jason 2-10-4 15:34
        if ((diff < OSD_TIMEOUT*2) && (diff>0))
        #elif defined(NEW_UART_COMMAND)
        if((diff< OSD_TIMEOUT*2) && (diff>0))
        #else
        if ((diff < OSD_TIMEOUT) && (diff>0)) // maybe diff is negative. modify by robert.chang, 2007-05-18
        #endif
        {
            #ifndef ALCO_DVD_UI
            if(action_click)
            #endif
                timestamp_key = regs0->rtc_15_0;

            action_click=1;
            //printf("action\n");
        }else
        {
            timestamp_key = regs0->rtc_15_0;
            action_click=0;
            //printf("action time out\n");
        }
    }else
    {
        timestamp_key = regs0->rtc_15_0;
        action_click=0;
        //printf("difference key\n");
    }

    #ifndef IR_TOOL
    #ifdef IR_DBG
    printf("\n\n-----IR input, rx:%x ,cmd:%s -----\n",rx,irc_func_str[rx]);
    #endif
    #endif

    #ifdef SUPPORT_QUICKTIME
    extern UINT32		pre_parse_mode;
    if (pre_parse_mode)
    {
        //File preparse mode
        return;
    }
    #endif //SUPPORT_QUICKTIME

    if(system_state!=SYSTEM_IDLE)
    {
        ircmd_pre_paser(rx);
    }
    old_key=(BYTE)rx;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -