/*----------------------------------------------------------------------------*/ void disp_music_play_time(void) { u16 play_time; u8 min,sec; play_time_filenum_slider++; if(play_time_filenum_slider<30){ play_time = dec_msg->play_time; min = play_time / 60; sec = play_time % 60; #if(monitor == DISP_LED5X7) printf_num(sec,2,2); printf_num(min,0,2); led_putchar(':',0); #endif } else{ disp_input_number(filenum_phy_logic(fs_msg.fileNumber)); if(play_time_filenum_slider==36){ play_time_filenum_slider=0; } } if(alm_on_flag){ led_disp_icon(LED0_ALARM); } }
/*----------------------------------------------------------------------------*/ void disp_alarm(void) { if(alarm.bSource==0){ printf_str(" USb",0); led_disp_icon(LED0_USB); } else if(alarm.bSource==1){ led_disp_icon(LED0_SD); printf_str(" Sd",0); } else if(alarm.bSource==2){ if(frequency > 999) { printf_num(frequency,0,4); } else { printf_num(frequency,1,3); } led_disp_icon(LED0_FM); } else if(alarm.bSource==3){ led_disp_icon(LED0_AUX); printf_str(" AUX",0); } else{ printf_str(" OFF",0); } }
void disp_fm_main(void) { if(frequency > 999) { printf_num(frequency,0,4); } else { printf_num(frequency,1,3); } fm_rec_disp(); led_disp_icon(LED0_FM); if(alm_on_flag){ led_disp_icon(LED0_ALARM); } // if(RECODE_WORKING == encode_status) // { // led_disp_icon(LED0_FM); // } // else if(RECODE_PAUSE == encode_status) // { // led_flash_icon(LED0_FM); // } // else // { // led_disp_icon(LED0_FM); // } }
/*----------------------------------------------------------------------------*/ void disp_rec_time(void) { u16 encoder_time; u8 min,sec; encoder_time = encode_time(); min = encoder_time / 60; sec = encoder_time % 60; printf_num(sec,2,2); printf_num(min,0,2); led_putchar(':',0); }
/*----------------------------------------------------------------------------*/ void disp_main_vol(u8 vol) { led_putchar('U',0); led_putchar('L',1); printf_num(vol,2,2); }
/*----------------------------------------------------------------------------*/ void disp_eq(void) { #if 1 printf_str(&EQ_const[eq_mode][0],0); #else printf_str("Eq",1); printf_num(eq_mode,3,1); #endif }
void disp_fm_find_station(void) { led_putchar('P',1); printf_num(fre_channel,2,2);//my_printf("%c P%02b%m", fre_channel, LED_FM_ICON); fm_rec_disp(); delay_10ms(50); }
void disp_sleep_timer(void) { if(timer_disp>0){ printf_str("SL ",0); printf_num(timer_disp,2,2); } else{ printf_str(" OFF",0); } if(alm_on_flag){ led_disp_icon(LED0_ALARM); } }
/** * @brief 使用lcd显示文字 * @param word_display: 将会显示的目标字符串 * 这个参数可以取得到以下的值:\n * @arg * @param x0: 字符串显示的横坐标 * @param y0: 字符串显示的纵坐标 * @retval none * \date 2012-3-31 下午4:45:29 * @note */ void LCD_Display_Words(INT8U* word_display , INT16U x0 , INT16U y0) { INT32U myfont_index[50] ; INT32U count = 1 ; Unicode_Index_MyFont(word_display , myfont_index) ; //转换unicode码 #ifdef __DEBUG__ printfs("myfont_index[0] :") ; printf_num(*myfont_index, 'h') ; printfs("\r\n") ; printfs("myfont_index[1] :") ; printf_num(*(myfont_index + 1), 'h') ; printfs("\r\n") ; printfs("myfont_index[2] :") ; printf_num(*(myfont_index + 2), 'h') ; printfs("\r\n") ; printfs("myfont_index[3] :") ; printf_num(*(myfont_index + 3), 'h') ; printfs("\r\n") ; printfs("myfont_index[4] :") ; printf_num(*(myfont_index + 4), 'h') ; printfs("\r\n") ; #endif #if LIB_FONT == POINT_LIB while(myfont_index[0] --) { display_word_mode((INT8U*) &chinese_font_mode[ *(myfont_index + count)] , x0 , y0) ; //显示一个汉字,只需要给显示字模函数一个字库索引 x0 += WORD_FONT_WIDTH ; #ifdef __DEBUG__ printfs("chinese_font_mode[*(myfont_index + count)] :") ; printf_num(&chinese_font_mode, 'h') ; printfs("\r\n") ; #endif count ++ ; } #elif LIB_FONT == IMAGE_LIB while (myfont_index[0]--) { display_word_mode(chinese_font_mode[*(myfont_index + count)], x0, y0) ; //显示一个汉字,只需要给显示字模函数一个字库索引 count++ ; x0 += WORD_FONT_WIDTH ; } #endif }
/** * @brief 将字体的点阵模显示出来 * @param index_word_lib 该字体的模所在的首地址 * 这个参数可以取得到以下的值:\n * @arg * @param x0 该字体的模显示的横坐标 * @param y0 该字体的模显示的纵坐标 * @retval none * \date 2012-3-31 下午4:55:52 * @note 不足的是不能显示不够整数方框个数的字模,如果能显示也会有安全隐患 */ void display_word_mode(INT8U* index_word_lib , INT16U x0 , INT16U y0) { #if LIB_FONT == POINT_LIB INT32U word_mode_size = WORD_FONT_SIZE ; //为了确认到字模什么时候能够写完 INT8U temp ; INT16U count = 0 ; INT16U x0_no_change = x0 ; INT16U x = x0 ; INT16U y = y0 ; //这两个变量是为了方便控制x0,y0。 #ifdef __DEBUG__ printfs("index_word_lib:") ; printf_num((INT32U) index_word_lib, 'h') ; printfs("\r\n") ; #endif /* * 假设下面是一个点阵汉字,取模由4个8*8的方框按顺序组成 * * * 一开始的时候 * |x=x0,count指的是字库里面的原始数据,x0_no_change,这个变量不会变,如果y>8的适合将x0被这个变量置位 * | * V y=y0--> ****************************** * * * * * * * 1 * 2 * * * * * * * ****************************** * * * * * * * 3 * 4 * * * * * * * ****************************** * 当一个字节写好后 * |x * |x0_no_change |count * | |x0 * | | * V v y--> ****************************** y0--> * * * y0指向下一行的时候,x0将会被x置位,即x0,又回到一开始的位置 * * * * 1 * 2 * * * * * * * ****************************** * * * * * * * 3 * 4 * * * * * * * ****************************** * 当八个字节写好后,x,y的坐标将会指向下一个方框的首地址,都是被x,y值重置了,因为到了同一行的另外一个字框,所以x的指向会被修改为x+8,而count是只管增加就行了 * | * |x0_no_change |count * | |x * | |x0 * V v y0=y--> ****************************** * * * * * * * 1 * 2 * * * * * * * ****************************** * * * * * * * 3 * 4 * * * * * * * ****************************** *第一行的方框全部写完后,x0,x将会被原本的x0_no_change改变,重新修改为指向第一列 * |x0 * |x0_no_change | * |x | * | | * V v ****************************** * * * * * * * 1 * 2 * * * * * * * y0=y--> ****************************** * <--count * * * * * * 3 * 4 * * * * * * * ****************************** */ while(word_mode_size --) { temp = *(index_word_lib + count) ; count ++ ; if (temp == 0) { y0 ++ ; } else { while(temp) { if (temp & 0x80) { draw_word_point(x0 , y0) ; x0 ++ ; } else { x0 ++ ; } temp <<= 1 ; } y0 ++ ; x0 = x ; } if (count % 8 == 0) { y0 = y ; x += 8 ; x0 = x ; } if (count % WORD_FONT_WIDTH == 0) { y += 8 ; y0 = y ; x = x0_no_change ; x0 = x0_no_change ; } } #elif LIB_FONT == IMAGE_LIB #ifdef __DEBUG__ printf_num((INT32U) index_word_lib, 'h') ; #endif set_rect(x0, y0,WORD_FONT_WIDTH,WORD_FONT_HIGH) ; write_to_FramRam((INT16U*)index_word_lib,WORD_FONT_WIDTH,WORD_FONT_HIGH) ; #endif }
/*----------------------------------------------------------------------------*/ void disp_curr_time(void) { static bool rtc_col=0; if(rtc_mode_setting == RTC_DISPLAY){ printf_num(curr_time.min,2,2); printf_num(curr_time.hour,0,2); rtc_col =~rtc_col; if(rtc_col){ led_putchar(':',0); } if(work_mode == AUX_MODE){ led_disp_icon(LED0_AUX); } } else if(rtc_mode_setting == RTC_SETTING){ rtc_col =~rtc_col; if(rtc_coordinate==3){ if(rtc_col){ printf_num(curr_time.hour,0,2); } printf_num(curr_time.min,2,2); } else{ if(rtc_col){ printf_num(curr_time.min,2,2); } printf_num(curr_time.hour,0,2); } led_putchar(':',0); } else if(rtc_mode_setting == ALARM_SETTING){ rtc_col =~rtc_col; if(alm_coordinate==1){ if(rtc_col){ printf_num(alarm.hour,0,2); } printf_num(alarm.min,2,2); } else{ if(rtc_col){ printf_num(alarm.min,2,2); } printf_num(alarm.hour,0,2); } led_putchar(':',0); } if(alarm.sw==1){ led_disp_icon(LED0_ALARM); } else{ led_clr_icon(LED0_ALARM); } }
void disp_music_stop(void) { printf_num(logic_fileTotal,0,4); disp_device(); }
void disp_rev_strong(void) { //led_putchar('5',0); printf_num(app_echo.strong,1,3); }
void disp_rev_deep(void) { printf_num(app_echo.deep,1,2); }
/*----------------------------------------------------------------------------*/ void disp_input_number(u16 num) { printf_num(num,0,4); }
void disp_fm_channel(void) { led_putchar('P',1); printf_num(fre_channel,2,2); fm_rec_disp(); }