📄 system_operation.c
字号:
if(Radio_channel_high_light_cnt == 4 && !ValBit(Radio_tuner_flag,Search_full_mode))
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
asm nop;
Find_out_item_Pos_Color_Dis_pointer(ITEM_RADIO_M6);
if(Select_item == ITEM_RADIO_M6)
cColor = Select_osd_item_color;
else
{
if(Radio_channel_high_light_cnt == 5 && !ValBit(Radio_tuner_flag,Search_full_mode))
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
}
/*****************************************************
Function:In AV mode how to display
******************************************************/
static void AV_menu_display_process(void)
{
if(!ValBit(System_flag1,OSD_on_flag))
return;
//Check display the mute item
Find_out_item_Pos_Color_Dis_pointer(ITEM_AV_MUTE);
if(Select_item == ITEM_AV_MUTE)
cColor = Select_osd_item_color;
else
{
if(ValBit(System_flag1,Mute_flag))
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
//Check display the time item
Find_out_item_Pos_Color_Dis_pointer(ITEM_AV_TIME);
if(ValBit(System_flag1,Time_on_flag))
(*UICCFuncPtr) ();
else
{
OSDCleanLine(Head_colume,Head_row,0,5);
OSDCleanLine(Head_colume,Head_row+1,0,5);
}
Find_out_item_Pos_Color_Dis_pointer(ITEM_AV_LOUDNESS);
if(Select_item == ITEM_AV_LOUDNESS)
cColor = Select_osd_item_color;
else
{
if(ValBit(System_flag1,Loudnee_flag))
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
}
/*****************************************************
Function:In CDC mode how to display
******************************************************/
static void CDC_menu_display_process(void)
{
if(!ValBit(System_flag1,OSD_on_flag))
return;
Find_out_item_Pos_Color_Dis_pointer(ITEM_CDC_DISC_TRACK_TIME);
(*UICCFuncPtr) ();
//Check display the time item
Find_out_item_Pos_Color_Dis_pointer(ITEM_CDC_TIME);
if(ValBit(System_flag1,Time_on_flag))
(*UICCFuncPtr) ();
else
{
OSDCleanLine(Head_colume,Head_row,0,30);
OSDCleanLine(Head_colume,Head_row+1,0,30);
}
}
/*****************************************************
Function:In Setting mode how to display
******************************************************/
static void Setting_menu_display_process(void)
{
Find_out_item_Pos_Color_Dis_pointer(ITEM_SETTING_BELL);
if(Select_item == ITEM_SETTING_BELL)
cColor = Select_osd_item_color;
else
{
if(ValBit(System_flag2,Bell_on_flag))
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
}
/*****************************************************
Function:In Video setting mode how to display
******************************************************/
static void Video_setting_menu_display_process(void)
{
Display_video_volume_data_state();
}
/*****************************************************
Function:In Main menu mode how to display
******************************************************/
static void Main_menu_display_process(void)
{
Find_out_item_Pos_Color_Dis_pointer(ITEM_MAIN_TV);
if(Select_item == ITEM_MAIN_TV)
cColor = Select_osd_item_color;
else
{
if(Old_system_mode == TV_mode)
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
Find_out_item_Pos_Color_Dis_pointer(ITEM_MAIN_RADIO);
if(Select_item == ITEM_MAIN_RADIO)
cColor = Select_osd_item_color;
else
{
if(Old_system_mode == Radio_mode)
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
Find_out_item_Pos_Color_Dis_pointer(ITEM_MAIN_AV);
if(Select_item == ITEM_MAIN_AV)
cColor = Select_osd_item_color;
else
{
if(Old_system_mode == AV_mode && !ValBit(System_flag3,AV_channel_gps_flag))
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
Find_out_item_Pos_Color_Dis_pointer(ITEM_MAIN_CDC);
if(Select_item == ITEM_MAIN_CDC)
cColor = Select_osd_item_color;
else
{
if(Old_system_mode == CDC_mode)
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
Find_out_item_Pos_Color_Dis_pointer(ITEM_MAIN_SETTING);
if(Select_item == ITEM_MAIN_SETTING)
cColor = Select_osd_item_color;
else
{
if(Old_system_mode == SETTING_mode)
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
Find_out_item_Pos_Color_Dis_pointer(ITEM_MAIN_GPS);
if(Select_item == ITEM_MAIN_GPS)
cColor = Select_osd_item_color;
else
{
if(Old_system_mode == AV_mode && ValBit(System_flag3,AV_channel_gps_flag))
cColor = High_light_color;
else
cColor = Default_color;
}
(*UICCFuncPtr) ();
}
/*****************************************************
Function:In DVD mode how to display
******************************************************/
static void DVD_menu_display_process(void)
{
//Check display the time item
Find_out_item_Pos_Color_Dis_pointer(ITEM_DVD_TIME);
if(ValBit(System_flag1,Time_on_flag))
(*UICCFuncPtr) ();
else
{
OSDCleanLine(Head_colume,Head_row,0,5);
OSDCleanLine(Head_colume,Head_row+1,0,5);
}
}
/*****************************************************
Function:In TV mode how to display
******************************************************/
static void TV_menu_display_process(void)
{
if(!ValBit(System_flag1,OSD_on_flag))
return;
Find_out_item_Pos_Color_Dis_pointer(ITEM_TV_SEARCH);
if(Select_item == ITEM_TV_SEARCH)
cColor = Select_osd_item_color;
else
{
if(ValBit(TV_tuner_flag,TVsearchOK))
cColor = Default_color;
else
cColor = High_light_color;
(*UICCFuncPtr) ();
}
Find_out_item_Pos_Color_Dis_pointer(ITEM_TV_FREQUENCE);
(*UICCFuncPtr) ();
Find_out_item_Pos_Color_Dis_pointer(ITEM_TV_CHANNEL_NUMBER);
(*UICCFuncPtr) ();
Find_out_item_Pos_Color_Dis_pointer(ITEM_TV_FORMAT);
if(Select_item == ITEM_TV_FORMAT)
cColor = Select_osd_item_color;
else
cColor = Default_color;
(*UICCFuncPtr) ();
//Check display the time item
Find_out_item_Pos_Color_Dis_pointer(ITEM_TV_TIME);
if(ValBit(System_flag1,Time_on_flag))
(*UICCFuncPtr) ();
else
{
OSDCleanLine(Head_colume,Head_row,0,5);
OSDCleanLine(Head_colume,Head_row+1,0,5);
}
}
/************************************************************
Function:Process the touch pancl command
************************************************************/
void Process_touch_system(void)
{
unsigned char i;
if(ValBit(System_flag,Touch_key_flag))
{
ClrBit(System_flag,Touch_key_flag);
Set_bell_sound_time(10);
if(System_mode == Radio_mode && !ValBit(Radio_tuner_flag,AutoSearchOK_flag))
{
SetBit(Radio_tuner_flag,AutoSearchOK_flag);
return;
}
if(System_mode == TV_mode && !ValBit(TV_tuner_flag,TVsearchOK))
{
SetBit(TV_tuner_flag,TVsearchOK);
return;
}
Keep_key_code = Code_number;
Old_do_item = Do_item; //Save the old do item
Do_item = ((MENU_LIST *)Total_menu_list[System_mode])[highlight_item].item;
UICCFuncPtr=((MENU_LIST *)Total_menu_list[System_mode])[highlight_item].EnterOperate;
(*UICCFuncPtr) ();
}
}
/********************************************************
Function:Change system mode
*********************************************************/
void Change_system_mode(void)
{
Select_item=DEFAULT_MENU_ITEM;
Download_OSD_Library_Display_Menu();
switch(System_mode)
{
case DVD_mode:
if(Old_system_mode != DVD_mode) //From other mode switch to DVD mode
System_mute_on();
Open_DVD_5v_power;
Close_Radio_tuner_power;
Close_TV_tuner_power;
WAIT_100ms();
WAIT_100ms();
Select_video_input_source(DVD_video_input);
Select_audio_input_source(AV_switch_input_source);
break;
case TV_mode:
if(Old_system_mode != TV_mode) //From other mode switch to TV mode
System_mute_on();
Open_TV_tuner_power;
Close_DVD_5v_power;
Close_Radio_tuner_power;
Select_video_input_source(TV_tuner_video_input);
Select_audio_input_source(AV_switch_input_source);
WAIT_100ms();
TVTUNER_init();
SetBit(TV_tuner_flag,TVsearchOK);
break;
case Radio_mode:
if(Old_system_mode != Radio_mode) //From other mode switch to Radio mode
System_mute_on();
Open_Radio_tuner_power;
Close_TV_tuner_power;
Close_DVD_5v_power;
Select_audio_input_source(Radio_tuner_source);
WAIT_100ms();
Init_lc72131();
break;
case AV_mode:
if(Old_system_mode != AV_mode) //From other mode switch to AV mode
System_mute_on();
Close_DVD_5v_power;
Close_Radio_tuner_power;
Close_TV_tuner_power;
if(!ValBit(System_flag3,AV_channel_gps_flag))
{
Selete_AV1_AV2_CAM_video_input_source(AV1_video_input);
Select_video_input_source(Three_sele_one_video_input);
Select_audio_input_source(AV_switch_input_source);
}
else
{
Selete_AV1_AV2_CAM_video_input_source(AV2_video_input);
Select_video_input_source(Three_sele_one_video_input);
Select_audio_input_source(Outside_AV2_input_source);
}
break;
case CDC_mode:
if(Old_system_mode != CDC_mode) //From other mode switch to CDC mode
System_mute_on();
Close_DVD_5v_power;
Close_Radio_tuner_power;
Close_TV_tuner_power;
Send_command_to_CDC(C_PLAY);
Select_video_input_source(CDC_video_input);
Select_audio_input_source(AV_switch_input_source);
break;
case BACK_CAR_mode:
if(Old_system_mode == DVD_mode) //If the mode is from DVD mode to BACK CAR mode then send the pause command to the dvd player
{
DVD_command = DVD_command_PAUSE;
SetBit(System_flag,Send_command_to_dvd_flag);
ClrBit(System_flag4,DVD_play_pause_flag);
}
if(Old_system_mode == CDC_mode) //If the mode is from CDC mode to BACK CAR mode then send the pause command to the CDC
{
ClrBit(System_flag3,CDC_play_pause_flag);
Send_command_to_CDC(C_PAUSE);
}
Close_Radio_tuner_power;
Close_TV_tuner_power;
Selete_AV1_AV2_CAM_video_input_source(CAM_video_input);
asm nop;
Select_video_input_source(Three_sele_one_video_input);
break;
}
T100_select_video_source();
Contrast_volume_control();
Brightness_volume_control();
Chroma_volume_control();
Detect_NTSCPAL();
}
/***********************************************************
Function:Open the panel
***********************************************************/
void Open_panel(void)
{
SetBit(PD_DR,MOTOR_OPEN);
ClrBit(PD_DR,MOTOR_CLOSE);
}
/**********************************************************
Function:Close the panel
**********************************************************/
void Close_panel(void)
{
SetBit(PD_DR,MOTOR_CLOSE);
ClrBit(PD_DR,MOTOR_OPEN);
}
/*******************************************************
Function:Detect the panel finish open or close active
*******************************************************/
void Detect_panel_finish_open_close_active(void)
{
Detect_panel_state();
if(ValBit(System_flag1,Panel_activeing_flag)) //Only the panel activeing then detect
{
if(Protect_motor_delay == 0)
{
ClrBit(System_flag1,Panel_activeing_flag);
Close_motor_power;
}
if(ValBit(System_flag1,Panel_close_flag)) //Now the panel is close
{
ClrBit(System_flag1,Panel_activeing_flag);
ClrBit(System_flag2,Panel_in_mind_air_flag);
Close_motor_power;
}
if(ValBit(System_flag2,Panel_open_flag)) //Now the panel is open
{
ClrBit(System_flag1,Panel_activeing_flag);
ClrBit(System_flag2,Panel_in_mind_air_flag);
Close_motor_power;
//Close_panel_sometime_process();
WAIT_100ms();
Close_panel();
SetBit(System_flag2,stop_open_close_panel_flag);
Open_close_panel_delay = 0; //Active 20ms
WAIT_100ms();
Remote_open_key_process();
}
}
}
/*****************************************************
Function:System into stby state
*****************************************************/
void System_off(void)
{
System_mute_on();
Close_TFT_high_power;
while(Out_disc_delay != 0)
{
if(Disc_in_window)
Out_disc_delay = 0;
}
if(Disc_in_window) //Disc in the window
{
if(System_mode != DVD_mode) //If in other mode then must open the dvd player's power
{
Open_DVD_5v_power;
WAIT_100ms();
}
DVD_command = DVD_command_OPEN_CLOSE_DISC; //Send the close disc command to the dvd player
Set
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -