/*----------------------------------------------------------------------------*/ u8 alm_bell_mode(void) { u8 key; u8 flag; alm_flag = 2; fond_alm_clk(); while(1) { #if ((USB_DEVICE_CFG & USB_MASS) == USB_MASS) if(SYS_USBDEVICE == work_mode) { UFI_massstorage(); } #endif key = get_msg(); switch (key) { case INFO_HALF_SECOND : if(alm_bell()) { break; } return 0; default : flag = alm_bell_key(key); if (flag) { close_alm_bell(); //return_cnt = RETURN_TIME - 1; // if(flag == 2) return 1; if(flag == 1) return 0; } } } }
/*----------------------------------------------------------------------------*/ void usb_device(void) { u8 key; u8 connect_counter = 0; bool usb_con = 0; while (1) { #if ((USB_DEVICE_CFG & USB_MASS) == USB_MASS) UFI_massstorage(); #endif #if ((USB_DEVICE_CFG & USB_SPEAKER) == USB_SPEAKER) key_voice_en=1; dac_out_select(DAC_MUSIC, 0); #endif key = app_get_msg(); if (alm_request_cnt) { key = alm_request_msg_convert(key); } switch (key) { #if ((USB_DEVICE_CFG & USB_SPEAKER) == USB_SPEAKER) #if (MUSIC_SPECTRUM_EN == 1) case MSG_100MS: if (cur_menu == MENU_USBDEV_MAIN) { music_spec_cul(1); disp_port(MENU_100MS_REFRESH); } break; #endif /* case MSG_MUSIC_NEXT_EQ: eq_mode++; if (eq_mode > CLASSIC) { eq_mode = NORMAL; } //set_dsp_eq(eq_mode); set_eq(eq_mode); disp_port(MENU_SET_EQ); break; */ case MSG_PC_MUTE: dac_mute_control(1,1); break; case MSG_PC_UNMUTE: dac_mute_control(0,1); break; #else case MSG_VOL_UP: break; case MSG_VOL_DOWN: break; #endif #if ((USB_DEVICE_CFG & USB_HID) == USB_HID) case MSG_MUSIC_PP: //Usb_Audio_Mute_Ctl(); usb_hid_control(USB_AUDIO_PP); break; case MSG_MUSIC_NEXT_FILE: usb_hid_control(USB_AUDIO_NEXTFILE); break; case MSG_MUSIC_PREV_FILE: usb_hid_control(USB_AUDIO_PREFILE); break; #endif case MSG_USB_PC_OUT: Set_Curr_Func(SYS_MP3DECODE_USB); return; case MSG_HALF_SECOND: if (!usb_con) { connect_counter++; if(USBCON0 & BIT(6)) usb_con = 1; else if (connect_counter > 4) return; } //printf("alm_request_cnt:%u,main_menu_conter:%u\n",(u16)alm_request_cnt,(u16)main_menu_conter); if (alm_request_cnt) { alm_request_cnt++; disp_port(MENU_ALM_REQUEST); if (alm_request_cnt > 60) { alm_request_cnt = 0; Set_Curr_Func(SYS_RTC); put_msg_lifo(MSG_CHANGE_WORK_MODE); } break; } set_brightness_fade_out(); if (main_menu_conter < SUB_MENU_TIME) { main_menu_conter++; } else if (cur_menu != main_menu) { cur_menu = main_menu; disp_port(cur_menu); } break; #if RTC_ENABLE case MSG_CHANGE_WORK_MODE: if (alm_cnt) { return; } break; case MSG_REQUEST_Y: alm_request_cnt = 0; Set_Curr_Func(SYS_RTC); put_msg_lifo(MSG_CHANGE_WORK_MODE); break; case MSG_REQUEST_N: alm_request_cnt = 0; close_alarm(); main_menu_conter = SUB_MENU_TIME; break; case MSG_ALM_ON: alm_request_cnt = 1; write_next_alm_sec(); disp_port(MENU_ALM_REQUEST); break; #endif default : ap_handle_hotkey(key); break; } } }