?? ircmd_mode.c
字號:
#ifdef DEBUG_SWITCH_DVD_USB_CARD_AVIN_DVB
printf_w("has Card in............\n");
#endif
now_valid_type = (detect_type & 0x1e);
storage_type = now_valid_type;
detect_result_last = storage_type;
SwitchMedia(CARD2CARD);
usb_card_state = HAS_CARD_AND_SWITCH_TO_CARD;
}
}
}
#endif//#ifdef ONLY_CARD_NO_USB
/**************************************************************************
* Function Name: osd_clear_and_init *
* Purposes: *
* Just as the function name. *
* Descriptions: *
* *
* Arguments: *
* NULL *
* Returns: *
* NULL *
**************************************************************************/
void osd_clear_and_init(void)
{
if(full_scrn&SETUP)
ExitSetupPage(0);
full_scrn = 0;
t_disp = 0;
ClearOsdMsg(0);
osd_init();
osd_tog_region(2,OSD_OFF);
}
/**************************************************************************
* Function Name: mode_switch_reset_var *
* Purposes: *
* reset some system variables when switch mode. *
* Descriptions: *
* Copy from stop_init() *
* Arguments: *
* NULL *
* Returns: *
* NULL *
**************************************************************************/
void mode_switch_reset_var(void)
{
#ifdef DEBUG_SWITCH_DVD_USB_CARD_AVIN_DVB
printf_w("reset_mode_var\n");
#endif
#ifdef SUPPORT_BOOK
extern BYTE bookIndex;
bookIndex=0;
#endif
index_y=0;
adv_search_time = 0 ;
video_slow=0;
avd_slow_state(video_slow);
avd_play_state();
goto_active = 0;
bIntro=0;
reset_status();
prog_func_clear();
resumeMSF = 0;
resumeTRK = 0;
rep_track = 0;
}
#ifdef SUPPORT_DVD_DVB_USB_CARD_FREE_CHANGE //tianye 200607
#define CARD_DEVICE 0x1e
void DVB_TO_DVD_NO_READ(void);
void DVD_TO_USB(void);
void DVD_TO_CARD(void);
void USB_CARD_TO_DVD(void);
void DVD_TO_STOP(void);
void SYSTEM_CHANGE_TO_DVD(void);
void SYSTEM_CHANGE_TO_DVB(void);
void SYSTEM_CHANGE_TO_USB(void);
void SYSTEM_CHANGE_TO_CARD(void);
void SYSTEM_SOURCE_CHANGE(UINT8 sys_source_tpye);
void DVD_TO_STOP()
{
osd_clear_and_init();
#ifdef STOP_LOADER
//Jack marked "If" 06/02/20
//if( !((play_state==VCD_STATE_OPEN) || ((play_state==VCD_STATE_STOP)&&!resumeMSF) || (system_state==SYSTEM_NODISC)) )
{
delay_srv_10ms(5);
//printf_w("START_STOP_DO_LOAD_POWER_OFF............\n");
//Jack modified to atapi_p_start_stop_unit(Immed_1,START_STOP_DO_LOAD_POWER_OFF) 06/02/20
#if 0//def TRAY_AVAILABLE//It seems that this will cause some servo bug,so markd again 06/02/22
atapi_p_start_stop_unit(START_STOP_DO_LOAD_POWER_OFF);
#else
stop_loader();
#endif
delay_srv_10ms(100);
}
#endif
//if(system_state != SYSTEM_OPEN)
{
AVD_SetMediaTimeout();
ircmd_post_func(CMD_FUNC|CMD_FUNC_OPEN);
}
#ifdef TRAY_AVAILABLE
if(CDOpened())
{
close_tray(1);
delay_srv_10ms(100);
}
#endif
#ifdef SUPPORT_DVB_DESKTOP_STOP_SERVO_WHEN_TUNEON ///YANGLI ADD FOR STOP SERVO,2005-12-28 15:00
atapi_p_start_stop_unit(4);
stop_servo_flag = 1;
#endif
}
void DVB_TO_DVD_NO_READ()
{
flag_no_check_servo = 1;
system_state = SYSTEM_TS ;
ircmd_dvb_dvd();
flag_no_check_servo = 0;
}
void DVD_TO_USB()
{
DVD_TO_STOP();
#ifdef FIX_CARD_USD_OSD_ERR
polling_storage();
#endif// end=> #ifdef FIX_CARD_USD_OSD_ERR
#ifdef DEBUG_SWITCH_DVD_USB_CARD_AVIN_DVB
printf_w("media_type:%d...detect_result_last:%d...now_valid_type:%d...\n",media_type,detect_result_last,now_valid_type);
printf_w("detect_type:%d............storage_type:%x\n",detect_type,storage_type);
#endif
media_type = MEDIA_CARD;
source_play_mode=USB_PLAY_MODE;
if( !(/*IsCardMediaExist()&&*/(detect_type&USB_DEVICE)) )
{
if((detect_type&CARD_DEVICE) && (system_state==SYSTEM_BROWSE))
{
AVD_SetMediaTimeout();
ircmd_post_func(CMD_FUNC | CMD_FUNC_OPEN);
}
#ifdef SUPPORT_OTHER_LANGUAGE_STRING
psprintf(RegionValStr[REGION1], osd_other_str[osd_font_mode][USB_NOT_FOUND]);
#else //else => #ifdef SUPPORT_OTHER_LANGUAGE_STRING
psprintf(RegionValStr[REGION1], "USB NOT FOUND");
#endif//end=> #ifdef SUPPORT_OTHER_LANGUAGE_STRING
PrintOsdMsg(STR_OS_SPACE, REGION1, 2, 1);
usb_card_state = SWITCH_TO_USB_BUT_HAS_NO_USB;
media_type = MEDIA_CARD;
cd_type_loaded = CDUNKNOWN;
play_state = VCD_STATE_IDLE;
no_disk_cnt = DETECT_TIMES;
}
else
{
#ifdef DEBUG_SWITCH_DVD_USB_CARD_AVIN_DVB
printf_w("has USB in............\n");
#endif
now_valid_type = USB_DEVICE;
storage_type = USB_DEVICE;
detect_result_last = storage_type;
SwitchMedia(CD2CARD);
usb_card_state = HAS_USB_AND_SWITCH_TO_USB;
}
#ifdef FIX_STATE_CHANE_NOT_READ_USB
force_detached();
#endif// end=> #ifdef FIX_STATE_CHANE_NOT_READ_USB
source_play_mode=USB_PLAY_MODE;
}
void DVD_TO_CARD()
{
DVD_TO_STOP();
#ifdef FIX_CARD_USD_OSD_ERR
polling_storage();
#endif// end=> #ifdef FIX_CARD_USD_OSD_ERR
#ifdef DEBUG_SWITCH_DVD_USB_CARD_AVIN_DVB
printf_w("media_type:%d...detect_result_last:%d...now_valid_type:%d...\n",media_type,detect_result_last,now_valid_type);
printf_w("detect_type:%d............storage_type:%x\n",detect_type,storage_type);
#endif
media_type = MEDIA_CARD;
if(!(detect_type&CARD_DEVICE))
{
if((detect_type&USB_DEVICE) && (system_state==SYSTEM_BROWSE))
{
AVD_SetMediaTimeout();
ircmd_post_func(CMD_FUNC | CMD_FUNC_OPEN);
}
#ifdef SUPPORT_OTHER_LANGUAGE_STRING
psprintf(RegionValStr[REGION1], osd_other_str[osd_font_mode][CARD_NOT_FOUND]);
#else //else => #ifdef SUPPORT_OTHER_LANGUAGE_STRING
psprintf(RegionValStr[REGION1], "CARD NOT FOUND");
#endif//end=> #ifdef SUPPORT_OTHER_LANGUAGE_STRING
PrintOsdMsg(STR_OS_SPACE, REGION1, 2, 1);
usb_card_state = SWITCH_TO_CARD_BUT_HAS_NO_CARD;
}
else
{
#ifdef DEBUG_SWITCH_DVD_USB_CARD_AVIN_DVB
printf_w("has Card in............\n");
#endif
now_valid_type = (detect_type & CARD_DEVICE);
storage_type = now_valid_type;
detect_result_last = storage_type;
SwitchMedia(CARD2CARD);
usb_card_state = HAS_CARD_AND_SWITCH_TO_CARD;
}
#ifdef FIX_STATE_CHANE_NOT_READ_USB
force_detached();
#endif// end=> #ifdef FIX_STATE_CHANE_NOT_READ_USB
source_play_mode=CARD_PLAY_MODE;
}
void USB_CARD_TO_DVD()
{
if(((detect_type&USB_DEVICE)||(detect_type&CARD_DEVICE)) && (system_state==SYSTEM_BROWSE))
{
AVD_SetMediaTimeout();
//ircmd_post_func(CMD_FUNC | CMD_FUNC_OPEN);
polling();
}
system_state = SYSTEM_OPEN;
no_disk_cnt = DETECT_TIMES;
media_type = MEDIA_CD;
usb_card_state = USB_CARD_NO_CHANGE;
mode_switch_reset_var();
ShowTitle();
#if defined(CHECK_PORTABLE_OPCLSW)||defined(TOP_DOOR_LOADER)
regs0->sft_cfg4 &= ~((0x03)<<2); //Enable GPIO For COVER SW
if(check_eject_sw())
{
play_state = VCD_STATE_OPEN;
ircmd_trayout();
}
else
#endif//else close tray and read disc
{
atapi_open_tray(); //Maoyong 2004-8-10 11:00
//atapi_close_tray(0);
ircmd_trayin();
play_state = VCD_STATE_CLOSE;
}
source_play_mode=DVD_PLAY_MODE;
}
void SYSTEM_CHANGE_TO_DVD(void)
{
switch(source_play_mode)
{
case CARD_PLAY_MODE:
{
USB_CARD_TO_DVD();
break;
}
case DVB_T_MODE:
{
ircmd_dvd_usb_card_avin_dvb();
break;
}
case USB_PLAY_MODE:
{
USB_CARD_TO_DVD();
break;
}
default:
break;
}
}
void SYSTEM_CHANGE_TO_DVB(void)
{
switch(source_play_mode)
{
case DVD_PLAY_MODE:
{
GPIO_MUTE();
DVD_TO_STOP();
system_state = SYSTEM_OPEN;
#ifdef AV_IN_THROUGH_EXT_ADC
source_play_mode = AV_IN_MODE;
#else//else=> #ifdef AV_IN_THROUGH_EXT_ADC
source_play_mode = CARD_PLAY_MODE;
#endif//end=> #ifdef AV_IN_THROUGH_EXT_ADC
ircmd_dvd_usb_card_avin_dvb();
break;
}
case CARD_PLAY_MODE:
{
system_state = SYSTEM_OPEN;
#ifdef AV_IN_THROUGH_EXT_ADC
source_play_mode = AV_IN_MODE;
#else//else=> #ifdef AV_IN_THROUGH_EXT_ADC
source_play_mode = CARD_PLAY_MODE;
#endif//end=> #ifdef AV_IN_THROUGH_EXT_ADC
ircmd_dvd_usb_card_avin_dvb();
break;
}
case USB_PLAY_MODE:
{
system_state = SYSTEM_OPEN;
#ifdef AV_IN_THROUGH_EXT_ADC
source_play_mode = AV_IN_MODE;
#else//else=> #ifdef AV_IN_THROUGH_EXT_ADC
source_play_mode = CARD_PLAY_MODE;
#endif//end=> #ifdef AV_IN_THROUGH_EXT_ADC
ircmd_dvd_usb_card_avin_dvb();
break;
}
default:
break;
}
}
void SYSTEM_CHANGE_TO_USB(void)
{
switch(source_play_mode)
{
case DVD_PLAY_MODE:
{
DVD_TO_USB();
break;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -