杰理-TWS对耳没有配对一段时间后(一分钟)关机

杰理-对耳没有配对一分钟关机

添加宏,没有TWS配对关机时间,单位S

#define TCFG_PAIR_AUTO_SHUT_DOWN_TIME		      60  //对耳没有配对关机时间

杰理-TWS对耳没有配对一段时间后(一分钟)关机_第1张图片

使用定时器timeout,超过时间后关机

用于打开和关闭定时器:
void sys_pair_auto_shut_down_enable(void)
void sys_pair_auto_shut_down_disable(void)


static u16 pair_timer = 0;

static void sys_pair_auto_shut_down_deal(void *priv)
{
    
    printf("%s\n", __func__);
#if TCFG_USER_TWS_ENABLE
    if (get_bt_tws_connect_status() == 0)   //对耳没有连接的状态下
    {
        if(get_bt_connect_status() == BT_STATUS_WAITINT_CONN)
        {
            printf("----------not pair and not connect ----------  enter power off !!! ");
            extern void sys_enter_soft_poweroff(void *priv);
            sys_enter_soft_poweroff(0);
        }
    } 
#endif
}

void sys_pair_auto_shut_down_enable(void)
{
#if TCFG_PAIR_AUTO_SHUT_DOWN_TIME
    printf("%s\n", __func__);
    if (pair_timer == 0) {
        pair_timer = sys_timeout_add(NULL, sys_pair_auto_shut_down_deal, (TCFG_PAIR_AUTO_SHUT_DOWN_TIME* 1000));
    }
#endif
}

void sys_pair_auto_shut_down_disable(void)
{
#if TCFG_PAIR_AUTO_SHUT_DOWN_TIME
    printf("%s\n", __func__);
    if (pair_timer) {
        sys_timeout_del(pair_timer);
        pair_timer = 0;
    }
#endif
}

杰理-TWS对耳没有配对一段时间后(一分钟)关机_第2张图片

以下为打开和关闭

#if TCFG_PAIR_AUTO_SHUT_DOWN_TIME
            sys_pair_auto_shut_down_disable();
#endif
.
.
.
#if TCFG_PAIR_AUTO_SHUT_DOWN_TIME
            sys_pair_auto_shut_down_enable();
#endif

杰理-TWS对耳没有配对一段时间后(一分钟)关机_第3张图片

杰理-TWS对耳没有配对一段时间后(一分钟)关机_第4张图片
杰理-TWS对耳没有配对一段时间后(一分钟)关机_第5张图片
杰理-TWS对耳没有配对一段时间后(一分钟)关机_第6张图片

earphone.c

杰理-TWS对耳没有配对一段时间后(一分钟)关机_第7张图片杰理-TWS对耳没有配对一段时间后(一分钟)关机_第8张图片

你可能感兴趣的:(单片机,c语言)