📄 radiomodulegui.c
字号:
if((RDS_flag & RDS_M_S_F)!=0)
LCD_printf(117,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"M/S");
else
LCD_printf(117,80+2,Unuse_Color,0,AlignLeft,True,False,"M/S");
if((RDS_flag & RDS_PIN_F)!=0)
LCD_printf(138,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"PIN");
else
LCD_printf(138,80+2,Unuse_Color,0,AlignLeft,True,False,"PIN");
if((RDS_flag & RDS_RT_F)!=0)
LCD_printf(159,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"RT");
else
LCD_printf(159,80+2,Unuse_Color,0,AlignLeft,True,False,"RT");
if((RDS_flag & RDS_EON_F)!=0)
LCD_printf(174,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"EON");
else
LCD_printf(174,80+2,Unuse_Color,0,AlignLeft,True,False,"EON");
if((RDS_flag & RDS_TDC_F)!=0)
LCD_printf(195,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"TDC");
else
LCD_printf(195,80+2,Unuse_Color,0,AlignLeft,True,False,"TDC");
if((RDS_flag & RDS_IH_F)!=0)
LCD_printf(216,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"IH");
else
LCD_printf(216,80+2,Unuse_Color,0,AlignLeft,True,False,"IH");
if((RDS_flag & RDS_CT_F)!=0)
LCD_printf(231,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"CT");
else
LCD_printf(231,80+2,Unuse_Color,0,AlignLeft,True,False,"CT");
if((RDS_flag & RDS_RP_F)!=0)
LCD_printf(246,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"RP");
else
LCD_printf(246,80+2,Unuse_Color,0,AlignLeft,True,False,"RP");
if((RDS_flag & RDS_EWS_F)!=0)
LCD_printf(261,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"EWS");
else
LCD_printf(261,80+2,Unuse_Color,0,AlignLeft,True,False,"EWS");
if((RDS_flag & RDS_TMC_F)!=0)
LCD_printf(282,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"TMC");
else
LCD_printf(282,80+2,Unuse_Color,0,AlignLeft,True,False,"TMC");
if((RDS_flag & RDS_LN_F)!=0)
LCD_printf(303,80+2,RDS_Flag_Color,0,AlignLeft,True,False,"LN");
else
LCD_printf(303,80+2,Unuse_Color,0,AlignLeft,True,False,"LN");
}
}
void Lcd_disp_sys_time(void)
{
RM_U8 Tmp[8];
GetRTC(Tmp);
if(Pre_Second != Tmp[0])
{
Pre_Second = Tmp[0];
LCD_printf(6,2,System_time_Color,Title_Bk_Color,AlignLeft,False,False,"%.4d-%.2d-%.2d",((unsigned short)Tmp[7]<<8)|Tmp[6],Tmp[5],Tmp[4]);
LCD_printf(315,2,System_time_Color,Title_Bk_Color,AlignRight,False,False,"%.2d:%.2d:%.2d",Tmp[2],Tmp[1],Tmp[0]);
}
}
void Lcd_disp_title(RM_U16 YStart,RM_U16 Fr_Color,RM_U16 Bk_Color,char *String)
{
RM_DrawColorWindow(Bk_Color,0,YStart,320,16);
LCD_printf(160,YStart+2,Fr_Color,Bk_Color,AlignCenter,False,False,String);
}
void Lcd_disp_freq(RM_U16 Freq,RM_U8 FreqOffset)
{
RM_U8 i;
RM_S8 j;
RM_U8 FreqBit;
RM_U16 FreqCopy;
RM_U8 FreqOffsetCopy;
RM_U32 FreqMul;
FreqCopy = Freq;
if(FreqCopy>=6500)
{
if(PreFreq!=Freq)
{
RM_DrawColorWindow(Freq_Bk_Color,0,32,126,32);
PreFreq = Freq;
if(FreqCopy>9999)
{
Lcd_put_Freq_Char(22,36,Freq_Fr_Color,Freq_Bk_Color,1,False);
FreqCopy -= 10000;
}
for(i=0;i<4;i++)
{
FreqMul = 1;
for(j=0;j<(3-i);j++)
{
FreqMul *= 10;
}
FreqBit = FreqCopy / FreqMul;
FreqCopy -= FreqMul*FreqBit;
if(i!=1)
{
Lcd_put_Freq_Char(38+(16*i),36,Freq_Fr_Color,Freq_Bk_Color,FreqBit,False);
}
else
{
Lcd_put_Freq_Char(38+(16*i),36,Freq_Fr_Color,Freq_Bk_Color,FreqBit,True);
}
}
LCD_printf(38+(16*i),50,Freq_Fr_Color,Freq_Bk_Color,AlignLeft,False,False,"MHz");
}
if(PreFreqOffset!=FreqOffset)
{
RM_DrawColorWindow(Freq_Bk_Color,126,32,98,32);
PreFreqOffset = FreqOffset;
if((FreqOffset & 0x80) != 0)
{
LCD_printf(126,43,Freq_Fr_Color,Freq_Bk_Color,AlignLeft,False,False,"-");
}
else
{
LCD_printf(126,43,Freq_Fr_Color,Freq_Bk_Color,AlignLeft,False,False,"+");
}
FreqOffsetCopy = FreqOffset;
if((FreqOffsetCopy & 0x80) != 0)
FreqOffsetCopy = ((~FreqOffset) + 1) & 0xff;
for(i=0;i<2;i++)
{
if(i==1)
FreqMul = 1;
else
FreqMul = 10;
FreqBit = FreqOffsetCopy / FreqMul;
FreqOffsetCopy -= FreqMul*FreqBit;
Lcd_put_Freq_Char(134+(16*i),36,Freq_Fr_Color,Freq_Bk_Color,FreqBit,False);
}
LCD_printf(134+(16*i),50,Freq_Fr_Color,Freq_Bk_Color,AlignLeft,False,False,"KHz");
}
}
else
{
if(PreFreq!=Freq)
{
RM_DrawColorWindow(Freq_Bk_Color,0,32,224,32);
PreFreq = Freq;
if((FreqCopy<=1710) && (FreqCopy>=520))
{
if(FreqCopy>999)
{
Lcd_put_Freq_Char(70,36,Freq_Fr_Color,Freq_Bk_Color,1,False);
FreqCopy -= 1000;
}
for(i=0;i<3;i++)
{
FreqMul = 1;
for(j=0;j<(2-i);j++)
{
FreqMul *= 10;
}
FreqBit = FreqCopy / FreqMul;
FreqCopy -= FreqMul*FreqBit;
Lcd_put_Freq_Char(86+(16*i),36,Freq_Fr_Color,Freq_Bk_Color,FreqBit,False);
}
LCD_printf(86+(16*i),50,Freq_Fr_Color,List_2_Color,AlignLeft,False,False,"KHz");
}
}
}
}
void Lcd_disp_stereo_flag(RM_U8 FM_ST_F)
{
if(Pre_FM_ST_F!=FM_ST_F)
{
Pre_FM_ST_F = FM_ST_F;
RM_DrawColorWindow(List_1_Color,224,32,50,16);
if(FM_ST_F==Stereo_F)
{
LCD_printf(230,34,FM_S_INFO_Fr_Color,Level_0_Color,AlignLeft,True,False,"Stereo");
}
else
{
LCD_printf(230,34,Title_Fr_Color,List_1_Color,AlignLeft,True,False,"Mono");
}
}
}
void Lcd_disp_Region_flag(void)
{
RM_DrawColorWindow(List_1_Color,274,32,46,16);
switch(AM_FM_Receive_Region)
{
case China:
LCD_printf(276,34,FM_S_INFO_Fr_Color,Level_0_Color,AlignLeft,True,False,"China");break;
case Europe:
LCD_printf(276,34,FM_S_INFO_Fr_Color,Level_0_Color,AlignLeft,True,False,"Europe");break;
case Japan:
LCD_printf(276,34,FM_S_INFO_Fr_Color,Level_0_Color,AlignLeft,True,False,"Japan");break;
case USA:
LCD_printf(276,34,FM_S_INFO_Fr_Color,Level_0_Color,AlignLeft,True,False,"USA");break;
default:break;
}
RM_DrawColorWindow(List_2_Color,224,48,96,16);
if(AM_FM_Receive_SEL == FM_Receive)
LCD_printf(230,50,FM_S_INFO_Fr_Color,List_2_Color,AlignLeft,False,False,"%d.%d-%d.%dMHz",FM_Band_Bottom/100,FM_Band_Bottom%100,FM_Band_Top/100,FM_Band_Top%100);
else
LCD_printf(230,50,FM_S_INFO_Fr_Color,List_2_Color,AlignLeft,False,False,"%d-%dKHz",AM_Band_Bottom,AM_Band_Top);
}
void Lcd_disp_Receiver_Setup_Info(void)
{
RM_U16 DEEMPHASIS_Time;
if(AM_FM_Receive_SEL == FM_Receive)
{
Lcd_disp_title(64,Title_Fr_Color,Title_Bk_Color,"FM Seek Station Property & Stereo Switch Property");
Get_FM_Setup_TD_Info();
RM_DrawColorWindow(List_2_Color,0,80,320,16);
LCD_printf(8,82,Level_1_Color,List_2_Color,AlignLeft,False,False,"Seek_SNR_TD: %.3d dB Seek_RSSI_TD: %.3d dBuV",FMGetSetupInfo.FM_SEEK_SNR_TD,FMGetSetupInfo.FM_SEEK_RSSI_TD);
RM_DrawColorWindow(List_1_Color,0,96,320,16);
LCD_printf(8,98,Level_3_Color,List_1_Color,AlignLeft,False,False,"Stereo_RSSI_TD: %.3d dBuV",FMGetSetupInfo.FM_ST_RSSI_TD);
LCD_printf(176,98,Level_2_Color,List_1_Color,AlignLeft,False,False,"Mono_RSSI_TD: %.3d dBuV",FMGetSetupInfo.FM_MO_RSSI_TD);
RM_DrawColorWindow(List_2_Color,0,112,320,16);
if(FMGetSetupInfo.FM_DEEMPHASIS == 0x01)
DEEMPHASIS_Time = 50;
else if(FMGetSetupInfo.FM_DEEMPHASIS == 0x02)
DEEMPHASIS_Time = 75;
else
DEEMPHASIS_Time = 0;
LCD_printf(8,114,Title_Fr_Color,List_2_Color,AlignLeft,False,False,"Seek_Space: %.d0 KHz Deephasis: %d us",FMGetSetupInfo.FM_SEEK_SPACE,DEEMPHASIS_Time);
}
else
{
Lcd_disp_title(64,Title_Fr_Color,Title_Bk_Color,"AM Seek Station Property");
Get_AM_Setup_TD_Info();
RM_DrawColorWindow(List_2_Color,0,80,320,16);
if(AMGetSetupInfo.AM_DEEMPHASIS == 0x01)
DEEMPHASIS_Time = 50;
else
DEEMPHASIS_Time = 0;
LCD_printf(8,82,Level_3_Color,List_2_Color,AlignLeft,False,False,"Seek_SNR_TD: %.3d dB Seek_RSSI_TD: %.3d dBuV",AMGetSetupInfo.AM_SEEK_SNR_TD,AMGetSetupInfo.AM_SEEK_RSSI_TD);
RM_DrawColorWindow(List_1_Color,0,96,320,16);
LCD_printf(8,98,Title_Fr_Color,List_1_Color,AlignLeft,False,False,"Seek_Space: %.d KHz Deephasis: %d us",AMGetSetupInfo.AM_SEEK_SPACE,DEEMPHASIS_Time);
}
}
void Lcd_disp_channel_Info(RM_U8 ChannelNo)
{
RM_DrawColorWindow(List_2_Color,0,16,62,16);
LCD_printf(8,18,Title_Fr_Color,List_2_Color,AlignLeft,False,False,"CH:%.2d ",ChannelNo);
}
void Lcd_disp_RSSI_SNR_Info(RM_U8 RSSI_Val,RM_U8 SNR_Val)
{
RM_U16 RSSI_Color;
RM_U16 SNR_Color;
if(AM_FM_Receive_SEL == FM_Receive)
{
if(Pre_RSSI_Val!=RSSI_Val)
{
Pre_RSSI_Val = RSSI_Val;
RM_DrawColorWindow(List_2_Color,68,16,84,16);
if(RSSI_Val < FMGetSetupInfo.FM_SEEK_RSSI_TD)
RSSI_Color = Level_0_Color;
else if((RSSI_Val >= FMGetSetupInfo.FM_SEEK_RSSI_TD) && (RSSI_Val < FMGetSetupInfo.FM_MO_RSSI_TD))
RSSI_Color = Level_1_Color;
else if((RSSI_Val >= FMGetSetupInfo.FM_MO_RSSI_TD) && (RSSI_Val < FMGetSetupInfo.FM_ST_RSSI_TD))
RSSI_Color = Level_2_Color;
else
RSSI_Color = Level_3_Color;
LCD_printf(68,18,RSSI_Color,List_2_Color,AlignLeft,False,False,"RSSI:%.3ddBuV",RSSI_Val);
setled((unsigned char)(RSSI_Val & 0xff));
}
if(Pre_SNR_Val!=SNR_Val)
{
Pre_SNR_Val = SNR_Val;
RM_DrawColorWindow(List_2_Color,170,16,66,16);
if(SNR_Val < FMGetSetupInfo.FM_SEEK_SNR_TD)
SNR_Color = Level_0_Color;
else
SNR_Color = Level_3_Color;
LCD_printf(170,18,SNR_Color,List_2_Color,AlignLeft,False,False,"SNR:%.3ddB",SNR_Val);
}
}
else
{
if(Pre_RSSI_Val!=RSSI_Val)
{
Pre_RSSI_Val = RSSI_Val;
RM_DrawColorWindow(List_2_Color,68,16,84,16);
if(RSSI_Val < AMGetSetupInfo.AM_SEEK_RSSI_TD)
RSSI_Color = Level_0_Color;
else
RSSI_Color = Level_3_Color;
LCD_printf(68,18,RSSI_Color,List_2_Color,AlignLeft,False,False,"RSSI:%.3ddBuV",RSSI_Val);
setled((unsigned char)(RSSI_Val & 0xff));
}
if(Pre_SNR_Val!=SNR_Val)
{
Pre_SNR_Val = SNR_Val;
RM_DrawColorWindow(List_2_Color,170,16,66,16);
if(SNR_Val < AMGetSetupInfo.AM_SEEK_SNR_TD)
SNR_Color = Level_0_Color;
else
SNR_Color = Level_3_Color;
LCD_printf(170,18,SNR_Color,List_2_Color,AlignLeft,False,False,"SNR:%.3ddB",SNR_Val);
}
}
}
void Lcd_disp_volume_Info(RM_U8 VOL_val,RM_U8 MuteMode)
{
if(MuteMode == HD_Mute_All)
{
if((Pre_RMVolume != VOL_val) || (Pre_MuteMode != MuteMode))
{
Pre_RMVolume = VOL_val;
Pre_MuteMode = MuteMode;
RM_DrawColorWindow(List_2_Color,254,16,60,16);
LCD_printf(254,18,Title_Fr_Color,List_2_Color,AlignLeft,False,False,"M.M_Vol:%.2d",VOL_val);
}
}
else
{
if((Pre_RMVolume != VOL_val) || (Pre_MuteMode != MuteMode))
{
Pre_RMVolume = VOL_val;
Pre_MuteMode = MuteMode;
RM_DrawColorWindow(List_2_Color,254,16,60,16);
LCD_printf(254,18,Title_Fr_Color,List_2_Color,AlignLeft,False,False,"L.R_Vol:%.2d",VOL_val);
}
}
}
void InitLcdForRM(void)
{
RM_U8 i;
LcdSetWindow(0,0,319,239);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -