📄 display.c
字号:
disp_string_E(thisBuff,strAm,DISP_AMPM,2);
else
//disp_string(thisBuff,"PM",DISP_AMPM,2);
disp_string_E(thisBuff,strPm,DISP_AMPM,2);
}
#if defined(PT6523) || defined(PT6524)
BYTE i;
for(i=0;i<4;i++)
disp_char(thisBuff,DISP_HOUR+i,ASCII_NUM+dispData[i]);
#elif defined(PT6578)
disp_char(thisBuff,DISP_HOUR,ASCII_NUM+dispData[0]);
disp_char(thisBuff,DISP_HOUR+1,ASCII_NUM+dispData[1]);
disp_char(thisBuff,DISP_HOUR+3,ASCII_NUM+dispData[2]);
disp_char(thisBuff,DISP_HOUR+4,ASCII_NUM+dispData[3]);
#endif
#if defined(PT6523) || defined(PT6524)
#ifdef LCD_888
disp_set_bit(thisBuff,LCD_BIT_COL2,colonFlag);
#else
disp_set_bit(thisBuff,LCD_BIT_DOT,colonFlag);
#endif
#elif defined(PT6578)
if(colonFlag==0x01)
disp_char(thisBuff,DISP_HOUR+2,':');
else
disp_char(thisBuff,DISP_HOUR+2,' ');
#endif
}
void disp_eq_value(BYTE * buff,BYTE eq)
{
BYTE dispValue=0;
if(eqParam[eq][0]<EQ_MID)
{
if(eq<SEL_BAL)
{
disp_char(buff,5,'-'); //显示'-'
}else{
if(eq==SEL_BAL)
{
//disp_string(buff,"L",5,1);
disp_string_E(buff,strL,5,1);
}else{
//disp_string(buff,"R",5,1);
disp_string_E(buff,strR,5,1);
}
}
dispValue = EQ_MID-eqParam[eq][0];
}
if(eqParam[eq][0]>EQ_MID)
{
if(eq<SEL_BAL)
{
disp_char(buff,5,'+'); //显示'+'
}else{
if(eq==SEL_BAL)
{
//disp_string(buff,"R",5,1);
disp_string_E(buff,strR,5,1);
}else{
//disp_string(buff,"F",5,1);
disp_string_E(buff,strF,5,1);
}
}
dispValue = eqParam[eq][0]-EQ_MID;
}
disp_char(buff,8,ASCII_NUM+dispValue);
}
void disp_st(BYTE flag)
{
if(currentPower==_POWER_RADIO)
{
#if defined(LCD_392)
disp_set_bit(dispBuff,LCD_BIT_ST,!flag);//MO
#elif defined(LCD_393)
disp_set_bit(dispBuff,LCD_BIT_ST,flag);//ST
#endif
}
}
void disp_setting(BYTE flag)
{
if(flag<SEL_PTY)
{
//strcpy_E(dispStrBuff,*(selTitle+flag-1));
//disp_string(tmpDispBuff,dispStrBuff,1,8);
disp_string_E(tmpDispBuff,*(selTitle+flag-1),1,8);;
}
if(flag==SEL_VOL) //音量
{
if(eqParam[SEL_VOL][0]>9)//判断十位是否为2位数//如果音量超过10,则显示10位
disp_char(tmpDispBuff,DISP_VOL_TEN,ASCII_NUM+eqParam[SEL_VOL][0]/10);
disp_char(tmpDispBuff,DISP_VOL_ONE,ASCII_NUM+eqParam[SEL_VOL][0]%10); //显示个位
dvd_send_cmd(eqParam[flag][2],eqParam[flag][0]);
#ifdef LCD_BIT_VOL
disp_set_bit(tmpDispBuff,LCD_BIT_VOL,ON);
disp_set_vol(tmpDispBuff,(currVolume+1)/4);
#endif
}
if((flag>SEL_VOL) && (flag<=SEL_FAD))//均衡
{
disp_eq_value(tmpDispBuff,flag);
dvd_send_cmd(eqParam[flag][2],eqParam[flag][0]);
}
if(flag==SEL_LOUD)
{
disp_bool(audioParam&LOUD);
}
if(flag==SEL_EQ)
{
disp_audio_eq(currentEq);
}
if(flag==SEL_LOC)
{
disp_bool(radioParam&RA_LOC);
}
#ifdef _SUPPORT_RDS
if(flag==SEL_AF)
{
disp_bool(rdsAFEnable);
}
#endif
#ifdef _SUPPORT_RDS
if(flag==SEL_PTY)
{
if(knobParam&KNOB_INT)
{
//strcpy_E(dispStrBuff,*(ptyName+cur_pty));
disp_string_E(tmpDispBuff,*(ptyName+cur_pty),1,8);
}else{
//strcpy_E(dispStrBuff,*(ptyName+nCurrentPty));
disp_string_E(tmpDispBuff,*(ptyName+nCurrentPty),1,8);
}
//disp_string(tmpDispBuff,dispStrBuff,1,8);
}
#endif
}
#ifdef LCD_888
void disp_set_vol(BYTE* thisBuff,BYTE value)
{
BYTE i=0;
while(i<=value)
{
disp_set_bit(thisBuff,pgm_read_byte(volLevelMap+i),ON);
i++;
}
while(i<sizeof(volLevelMap))
{
disp_set_bit(thisBuff,pgm_read_byte(volLevelMap+i),OFF);
i++;
}
}
#endif
void disp_tunner_type(BYTE value)
{
memset(tmpDispBuff,0,sizeof(tmpDispBuff));//clear disp buff
if(value<=CET_JAPAN)
disp_string_E(tmpDispBuff,(char *)pgm_read_word(TurnerList+value),1,7);
}
void disp_board(void)
{
//353/363开机点亮边框
#if defined(LCD_353) || defined(LCD_316)
disp_set_bit(dispBuff,LCD_BIT_BORDER,ON);
#ifdef LCD_BIT_EQ
disp_set_bit(dispBuff,LCD_BIT_EQ,ON);
#endif
#ifdef LCD_BIT_RDS
if(rdsEnable)
disp_set_bit(dispBuff,LCD_BIT_RDS,ON);
#endif
//393
#elif defined(LCD_393)
disp_set_bit(dispBuff,LCD_BIT_RDS,ON);
disp_set_bit(dispBuff,LCD_BIT_EQ,ON);
#elif defined(LCD_392)
disp_set_bit(dispBuff,LCD_BIT_V1,ON);
#elif defined(LCD_888)
disp_set_bit(dispBuff,LCD_BIT_VOL,ON);
if(rdsEnable)
disp_set_bit(dispBuff,LCD_BIT_RDS,ON);
#endif
}
//显示Radio的状态和数据
//radioFlag
void disp_radio(BYTE *thisBuff,BYTE band,UINT16 freq)
{
if(currentPower==_POWER_RADIO)
{
disp_clr_led(thisBuff);
if(band<=RADIO_TYPE_FM3)
{
#if DISP_MAX_CHAR<11
//disp_string(thisBuff,"F",1,1);
disp_string_E(thisBuff,strFm,1,1);
disp_char(thisBuff,2,ASCII_NUM+band);
#elif defined(LCD_316)
//disp_string(thisBuff,"F",1,1);
disp_string_E(thisBuff,strFm,1,1);
disp_char(thisBuff,2,ASCII_NUM+band);
#else
//disp_string(thisBuff,"FM",1,2);
disp_string_E(thisBuff,strFm,1,2);
disp_char(thisBuff,3,ASCII_NUM+band);
#endif
if(freq<freqParam[regionIndex][FM_FREQ_START])
freq=freqParam[regionIndex][FM_FREQ_START];
disp_FM_data(thisBuff,freq); //显示fm的频率值
#if defined(PT6523) || defined(PT6524)
disp_set_bit(thisBuff,LCD_BIT_DOT,ON); //显示小数点
#endif
}else{
//disp_string(thisBuff,"AM",1,2);
disp_string_E(thisBuff,strAm,1,2);
disp_char(thisBuff,3,ASCII_NUM+band-RADIO_TYPE_FM3);
disp_AM_data(thisBuff,freq); //显示AM的频率
}
}
}
void disp_volume(BYTE value)
{
BYTE i=0;
while(value>=adcVolumeTable[i])
{
disp_set_bit(dispBuff,pgm_read_byte(volMapLcd+i),ON);//将小于该值得点亮
i++;
}
for(;i<sizeof(volMapLcd);i++) //将余下的清除
{
disp_set_bit(dispBuff,pgm_read_byte(volMapLcd+i),OFF);
}
}
void display(void)
{
display_buff(dispBuff);
}
/***********************************dispDiscNumber*******************************************/
void disp_disc_track(UINT16 discNumber)
{
#ifdef COMM_VER3
if(!trackInputing && !bId3Mode)
#endif
{
disp_char(dispBuff,DISP_DISC_TRACK+1,ASCII_NUM+discNumber/10); //discNumber的十位
disp_char(dispBuff,DISP_DISC_TRACK+2,ASCII_NUM+discNumber%10); //个位
}
#ifdef LCD_BIT_DP2
if(!bId3Mode)
disp_set_bit(dispBuff,LCD_BIT_DP2,ON);
#endif
}
#ifdef DISP_DISC_RUN_LOGO
void disp_disc_out_tray(void)
{
disp_set_bit(dispBuff,LCD_BIT_RUN1,OFF);
disp_set_bit(dispBuff,LCD_BIT_RUN2,OFF);
disp_set_bit(dispBuff,LCD_BIT_RUN3,OFF);
disp_set_bit(dispBuff,LCD_BIT_RUN4,OFF);
}
void disp_disc_in_tray(void)
{
disp_set_bit(dispBuff,LCD_BIT_RUN1,ON);
disp_set_bit(dispBuff,LCD_BIT_RUN2,ON);
disp_set_bit(dispBuff,LCD_BIT_RUN3,ON);
disp_set_bit(dispBuff,LCD_BIT_RUN4,ON);
}
#endif
void disp_clr_cd_flag(void)
{
#if defined(LCD_BIT_INT)
disp_set_bit(dispBuff,LCD_BIT_INT,OFF);
#endif
#if defined(LCD_BIT_RDM)
disp_set_bit(dispBuff,LCD_BIT_RDM,OFF);
#endif
#if defined(LCD_BIT_RPT)
disp_set_bit(dispBuff,LCD_BIT_RPT,OFF);
#endif
#if defined(LCD_BIT_PROG)
disp_set_bit(dispBuff,LCD_BIT_PROG,OFF);
#endif
#if defined(LCD_BIT_ESP)
disp_set_bit(dispBuff,LCD_BIT_ESP,OFF);
#endif
#ifdef LCD_BIT_DISC_TYPE
disp_set_bit(dispBuff,LCD_BIT_DISC_TYPE,OFF);
#endif
#ifdef LCD_BIT_PLAY_BOARD
disp_set_bit(dispBuff,LCD_BIT_PLAY_BOARD,OFF);
#endif
#ifdef LCD_BIT_DP2
disp_set_bit(dispBuff,LCD_BIT_DP2,OFF);
#endif
#ifdef LCD_BIT_COL1
disp_set_bit(dispBuff,LCD_BIT_COL1,OFF);
#endif
#ifdef LCD_BIT_COL2
disp_set_bit(dispBuff,LCD_BIT_COL2,OFF);
#endif
disp_clr_disctype();
}
void disp_clr_disctype(void)
{
#ifndef DISP_DISC_TYPE
disp_set_bit(dispBuff,LCD_BIT_DVD,OFF);
disp_set_bit(dispBuff,LCD_BIT_VCD,OFF);
disp_set_bit(dispBuff,LCD_BIT_CD,OFF);
disp_set_bit(dispBuff,LCD_BIT_MP3,OFF);
#else
disp_string(dispBuff," ",DISP_DISC_TYPE,3);
#endif
#ifdef LCD_BIT_MP4
disp_set_bit(dispBuff,LCD_BIT_MP4,OFF);
#endif
#ifdef LCD_BIT_WMA
disp_set_bit(dispBuff,LCD_BIT_WMA,OFF);
#endif
}
void disp_clr_radio(void)
{
#ifdef LCD_BIT_ST
disp_set_bit(dispBuff,LCD_BIT_ST,OFF);
#endif
#ifdef LCD_BIT_STEREO
disp_set_bit(dispBuff,LCD_BIT_STEREO,OFF); //两个圈
#endif
#ifdef LCD_BIT_ANT
disp_set_bit(dispBuff,LCD_BIT_ANT,OFF);//两个圈
#endif
#ifdef LCD_BIT_ANT
disp_set_bit(dispBuff,LCD_BIT_ANT,OFF);
#endif
#ifdef LCD_BIT_ANT1
disp_set_bit(dispBuff,LCD_BIT_ANT1,OFF);
#endif
#ifdef LCD_BIT_ANT2
disp_set_bit(dispBuff,LCD_BIT_ANT2,OFF);
#endif
#ifdef LCD_BIT_ANT3
disp_set_bit(dispBuff,LCD_BIT_ANT3,OFF);
#endif
#ifdef LCD_BIT_ANT4
disp_set_bit(dispBuff,LCD_BIT_ANT4,OFF);
#endif
#ifdef LCD_BIT_LOC
disp_set_bit(dispBuff,LCD_BIT_LOC,OFF);
#endif
#ifdef LCD_BIT_CH
#ifndef LCD_316
disp_set_bit(dispBuff,LCD_BIT_CH,OFF);
#endif
#endif
}
void disp_disc_hour(BYTE value)
{
#if defined(VCD_563)
return;
#endif
if(!bId3Mode)
{
#if defined(PT6523) || defined(PT6524)
if(!bCDProgON)
{
if(value)
disp_char(dispBuff,DISP_DISC_TRACK+3,ASCII_NUM+(value&0x0F));
else
disp_char(dispBuff,DISP_DISC_TRACK+3,'-');
}
#elif defined(PT6578)
disp_char(dispBuff,DISP_DISC_TRACK+4,ASCII_NUM+(value&0x0F));
disp_char(dispBuff,DISP_DISC_TRACK+5,':');
#endif
}
}
void disp_dot(void)
{
#if defined(PT6523) || defined(PT6524)
#ifdef LCD_BIT_COL2
disp_set_bit(dispBuff,LCD_BIT_COL2,ON);
#else
disp_set_bit(dispBuff,LCD_BIT_DOT,ON); //冒号长亮
#endif
#ifdef LCD_BIT_COL1
disp_set_bit(dispBuff,LCD_BIT_COL1,ON); //冒号1长亮
#endif
#elif defined(PT6578)
disp_char(dispBuff,DISP_HOUR+2,':');
#endif
}
void disp_clr_dot(void)
{
#if defined(PT6523) || defined(PT6524)
#ifdef LCD_BIT_COL2
disp_set_bit(dispBuff,LCD_BIT_COL2,OFF);
#else
disp_set_bit(dispBuff,LCD_BIT_DOT,OFF); //冒号长亮
#endif
#ifdef LCD_BIT_COL1
disp_set_bit(dispBuff,LCD_BIT_COL1,OFF); //冒号1长亮
#endif
#elif defined(PT6578)
//disp_char(dispBuff,DISP_HOUR+2,' ');
#endif
}
void disp_disc_time(void)
{
disp_disc_second(cdTimeInfo[_SECOND]);
disp_disc_minute(cdTimeInfo[_MINUTE]);
disp_disc_hour(cdTimeInfo[_HOUR]);
disp_disc_track(currentTrack);
disp_char(dispBuff,DISP_DISC_TRACK,ASCII_NUM+currentTrack100);
}
void disp_disc_minute(BYTE value)
{
if(!bId3Mode)
{
#if defined(PT6523) || defined(PT6524)
#if defined(ALI5673S)||defined(ALI5672)
disp_char(dispBuff,DISC_TIME_M_10,ASCII_NUM+(value/10));
disp_char(dispBuff,DISC_TIME_M_1,ASCII_NUM+(value%10));
#else
disp_char(dispBuff,DISC_TIME_M_10,ASCII_NUM+(value>>4));
disp_char(dispBuff,DISC_TIME_M_1,ASCII_NUM+(value&0x0F));
#endif
disp_dot();
#elif defined(PT6578)
#if defined(ALI5673S)||defined(ALI5672)
disp_char(dispBuff,DISC_TIME_M_10,ASCII_NUM+(value/10));
disp_char(dispBuff,DISC_TIME_M_1,ASCII_NUM+(value%10));
#else
disp_char(dispBuff,DISC_TIME_M_10,ASCII_NUM+(value>>4));
disp_char(dispBuff,DISC_TIME_M_1,ASCII_NUM+(value&0x0F));
#endif
disp_char(dispBuff,DISC_TIME_M_1+1,':'); //冒号长亮
disp_disc_hour(cdTimeInfo[_HOUR]);
#endif
}
}
void disp_disc_second(BYTE value)
{
if(!bId3Mode)
{
#if defined(ALI5673S)||defined(ALI5672)
disp_char(dispBuff,DISC_TIME_S_10,ASCII_NUM+(value/10));
disp_char(dispBuff,DISC_TIME_S_1,ASCII_NUM+(value%10));
disp_char(dispBuff,12,' '); //清掉'.'
#else
disp_char(dispBuff,DISC_TIME_S_10,ASCII_NUM+(value>>4));
disp_char(dispBuff,DISC_TIME_S_1,ASCII_NUM+(value&0x0F));
#endif
}
}
//显示刷新
void disp_thread(void)
{
//if(refresh==1)
if(event_flag&EVENT_DISPLAY)
{
switch(currentMode)
{
//case _MODE_IDLE:
case _MODE_TIME:
disp_sys_time();
break;
case _MODE_PE:
if(selIndex==SEL_TIME)
{
disp_sys_time();
}else{
display_buff(tmpDispBuff);
}
break;
case _MODE_RADIO:
#ifndef ST_SMETER
if(!bRadioSeeking)
radio_detect_sd();
#else
if(adcValue[AD_SMETER]>ADC_SMETER_ST)
disp_set_bit(dispBuff,LCD_BIT_STEREO,ON);
else
disp_set_bit(dispBuff,LCD_BIT_STEREO,OFF);
#endif
case _MODE_DISC:
case _MODE_AUX:
//if(!bRadioSeeking||(currentMode>_MODE_RADIO))//扫描时不显示音量
{
if(eqParam[SEL_VOL][0])
disp_volume((adcValue[AD_LCH]>>2)&0xFF); //丢弃最低2位
else
disp_volume(0);
}
#if 1
if(TenPlusTimeout==1)
{
TenPlusTimeout--;
if(currentPower==_POWER_DISC)
{
disp_disc_track(currentTrack);
if(currentTrack100)
disp_char(dispBuff,DISP_DISC_TRACK,ASCII_NUM+currentTrack100);
else
disp_char(dispBuff,DISP_DISC_TRACK,' ');
}
}
#endif
if(dvdFlagTimeout==0) //如果没有显示其他信息
{
display();
}else
display_buff(tmpDispBuff);
break;
case _MODE_MUTE:
if(halfSecond&0x01)
{
//disp_string(tmpDispBuff,"MUTE",DISP_4CHAR_START,sizeof("MUTE"));
disp_string_E(tmpDispBuff,strMute,DISP_4CHAR_START,4);
}else{
memset(tmpDispBuff,0,sizeof(tmpDispBuff));
}
display_buff(tmpDispBuff);
break;
case _MODE_PAUSE:
if(halfSecond&0x01)
{
//disp_string(tmpDispBuff,"PAUSE",DISP_5CHAR_START,5);
disp_string_E(tmpDispBuff,strPause,DISP_5CHAR_START,5);
}else{
memset(tmpDispBuff,0,sizeof(tmpDispBuff));
}
case _MODE_STOP:
display_buff(tmpDispBuff);
break;
case _MODE_OFF:
if(bit_is_set(PIN_ACC_IN,ACC_IN));
{
memset(tmpDispBuff,0,sizeof(tmpDispBuff));
display_buff(tmpDispBuff);
}
break;
}
//refresh=0;
event_flag &= ~EVENT_DISPLAY;
#ifndef MECH_VIA_DSA
if(currentPower==_POWER_DISC)
dvd_send_buff();
#endif
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -