system_msg_deal 变更点

1. 弃用 pause_voice_in() 函数

image

新增:void pause_asr(uint8_t voice_in_mute, uint8_t pause_asr_task)

/**
 * @brief 暂停语音识别。
 * @param voice_in_mute 是否mute录音,1:mute,0:不mute.
 * @param pause_asr_task 是否暂停识别任务,1:暂停, 0:不暂停.
 */
void pause_asr(uint8_t voice_in_mute, uint8_t pause_asr_task)
{
#if !NO_ASR_FLOW
    if (voice_in_mute && (ciss_get(CI_SS_MIC_VOICE_STATUE) != CI_SS_MIC_VOICE_MUTE))
    {
        cm_set_codec_mute(HOST_MIC_RECORD_CODEC_ID,CODEC_INPUT,1,ENABLE);
        ciss_set(CI_SS_MIC_VOICE_STATUE,CI_SS_MIC_VOICE_MUTE);
    }
    if (pause_asr_task && (!ciss_get(CI_SS_ASR_TASK_PAUSED)))
    {
        asrtop_asr_system_pause();
        ciss_set(CI_SS_ASR_TASK_PAUSED, 1);
    }
    
    #if USE_AEC_MODULE
    ciss_set(CI_SS_INTERCEPT_ASR_OUT, 1);
    #endif

    sys_manage_data.pause_asr_count++;
#endif
#if USE_IR_ENABLE
      xTimerStop(exit_wakeup_timer,0);
#endif
}

2. 弃用 resume_voice_in() 函数

image

新增 resume_asr() 函数


/**
 * @brief 恢复语音识别。
 *
 */
void  resume_asr()
{
#if !NO_ASR_FLOW
    if (sys_manage_data.pause_asr_count > 0)
    {
        sys_manage_data.pause_asr_count--;
        if (sys_manage_data.pause_asr_count == 0)
        {
            if (CI_SS_MIC_VOICE_MUTE == ciss_get(CI_SS_MIC_VOICE_STATUE))
            {
                cm_set_codec_mute(HOST_MIC_RECORD_CODEC_ID,CODEC_INPUT,1,DISABLE);
                ciss_set(CI_SS_MIC_VOICE_STATUE,CI_SS_MIC_VOICE_NORMAL);
            }
            if (ciss_get(CI_SS_ASR_TASK_PAUSED))
            {
                asrtop_asr_system_continue();
                ciss_set(CI_SS_ASR_TASK_PAUSED, 0);
            }

            #if USE_AEC_MODULE
            if (sys_manage_data.intercept_timer_handle == NULL)
            {
                sys_manage_data.intercept_timer_handle = xTimerCreate("intercept_timer", pdMS_TO_TICKS(500),pdFALSE, (void *)0, intercept_timer_callback);
            }
            xTimerStart(sys_manage_data.intercept_timer_handle, 0);
            #endif
        }
    }
#endif
    #if USE_IR_ENABLE
    if (sys_manage_data.wakeup_state == SYS_STATE_WAKEUP)
    {
        xTimerChangePeriod(exit_wakeup_timer, pdMS_TO_TICKS(exit_wakeup_timeout),0);/*or used a new timer*/
        xTimerStart(exit_wakeup_timer, 0);
    }
    #endif
}

3. 删掉 UserTaskManageProcess() 部分内容

删掉了userapp_initial()

image

image

posted @ 2026-09-01 01:43  FBshark  阅读(7)  评论(0)    收藏  举报