/*****************************************************************************
* Module    : UI
* File      : ui_aux.c
* Author    : Hanny
* Function  : 扩音器任务用户自定义UI设计，处理按键功能映射与显示
*****************************************************************************/
#ifndef CONFIG_C

#if IS_LCD_DISPLAY
enum {
    PLAY,
    STOP,
};
#endif

//扩音器任务显示处理
#if IS_LEDSEG_7PIN_DISPLAY
#pragma location="TASK_AUX_SEG"
void task_aux_display(void)
{
    ledseg_ocx_event();

    switch (ledseg_ocx.disp_status) {
    case LEDSEG_OCX_NULL:
        ledseg_disp(MENU_LINEIN);
        break;
    default:
        ledseg_ocx_display();
        break;
    }
}

#elif IS_LCD_DISPLAY
#pragma location="TASK_AUX_SEG"
void task_aux_display(void)
{
    if (sys_ctl.bat_val != sys_ctl.disp_bat_val) {
        sys_ctl.disp_bat_val = sys_ctl.bat_val;
        t_aux.updata_flag = 1;             //设置更新标志
    }
    if (t_aux.sta != t_aux.last_sta) {
        t_aux.last_sta = t_aux.sta;
        t_aux.updata_flag = 1;             //设置更新标志
    }
    if (!t_aux.updata_flag) {
        return ;
    }
    t_aux.updata_flag = 0;

    disp_clear();

    if(t_aux.sta == STOP) {
        disp_draw(RES_STATUS1_BMP, 0, 0);
    }else {
        disp_draw(RES_ICON_REC_BMP, 0, 0);
    }

    if (sys_ctl.bat_val >= 1) {
        disp_draw(RES_ICON_BAT0_BMP + sys_ctl.bat_val - 1, 108, 0);
    }

    if(sys_ctl.alarm_switch) {
        disp_draw(RES_MAIN_RTC0_BMP, 60, 0);
    }

    disp_draw(RES_RECORD_LINEIN_BMP, 3, 2);

    disp_update();
}

#else
#pragma location="TASK_AUX_SEG"
void task_aux_display(void)
{
}
#endif

//任务消息处理
#pragma location="TASK_AUX_SEG"
void task_aux_deal_msg(u8 msg)
{
#if WARNING_VOL_MAXMIN
    if(sys_ctl.vol_maxmin_music_flag == 1){ //恢复以前的声音
		sys_ctl.vol_maxmin_music_flag = 0;
	    dac_disable();
        if (!t_aux.mute){
            amux_play(); //打开aux通道
        }
        flush_msg();
        return;
    }
#endif

    switch(msg) {
    case KU_PLAY:
        //控制MUTE
        if (t_aux.mute) {
            t_aux.mute = 0;
            sys_ctl.sleep_cnt = 0xffff;
            amux_play();
        } else {
            t_aux.mute = 1;
#if AUX_AUTO_STANDBY_EN
            sys_ctl.sleep_cnt = STANDBY_TIME;
#endif
            amux_stop();
        }

        if (t_aux.sta == STOP) {
            t_aux.sta = PLAY;
        }else {
            t_aux.sta = STOP;
        }

        break;

        //音量加减
    case K_VOL_DOWN:
#if IS_LCD_DISPLAY
        show_volume();
        t_aux.updata_flag = 1;
#else
        user_set_volume(user_volume_dec(sys_ctl.volume));
        show_volume();
#endif
#if WARNING_VOL_MAXMIN
        if(!sys_ctl.volume){
            aux_play_vol_music();
        }
#endif
        break;
    case K_VOL_UP:
#if IS_LCD_DISPLAY
        show_volume();
        t_aux.updata_flag = 1;
#else
        user_set_volume(user_volume_inc(sys_ctl.volume));
        show_volume();
#endif
#if WARNING_VOL_MAXMIN
        if(sys_ctl.volume == VOLUME_MAX){
            aux_play_vol_music();
        }
#endif
        break;

    default:
        deal_msg(msg);
        break;
    }
}
#endif
