中科蓝汛-------DUT模式详解

step 1:

在config.h中,定义宏

#define DUT_MODE               0X7D7

 

step2:

六击功能实现

typedef struct {
    u8  counter;
    u8  strikes;
    u16 val;
} key_six_t;
key_six_t key_six_cb;


AT(.com_text.bsp.key)
u16 key_six_press_process(u16 key_val)
{
    key_six_t *s = &key_six_cb;

    if (s->counter) {
        s->counter--;
    }
    if (!s->counter) {
        s->strikes = 0;
        s->val = NO_KEY;
    }

    if (check_key_return(key_val)) {
        s->strikes++;
        if ((key_val == s->val) && (s->strikes == 6)) {
            //检测到6击按键
            printf("666666666666666666666666666666666\n");
            //msg_enqueue(DUT_MODE | (key_val & 0xff));
			msg_enqueue(DUT_MODE);
        } else {
            if (key_val != s->val) {
                s->strikes = 1;
                s->val = key_val;
            }
            s->counter = 120;               //按键松开超时600ms
        }
    }
    return key_val;
}

,并在bsp_key_process函数中,调用

step 3 :

在bsp_sys.h中, sys_cb_t结构体中,新建成员变量

	u8  User_cbt_test_en;  //测试模式

在config.h中,新建宏 #define USER_ENTER_CBT_EN_DATA 0xa8

#define USER_ENTER_CBT_EN_DATA    0xa8

在func_bt中,func_bt_enter函数中,添加如下代码

#if !BT_BACKSTAGE_EN
    //bsp_bt_init();
	if(USER_ENTER_CBT_EN_DATA==sys_cb.User_cbt_test_en)
			{
				printf(" CBT test  mode OK...	%x\n",sys_cb.User_cbt_test_en);//
				bt_cfg.cbt_test_mode = 1;
			//	bt_cfg.fcc_test_mode = 1;
				printf(" f_bt.disp_status =    %x\n",f_bt.disp_status);
				led_set_sta(0xff,0,4, 0xff);
			//	sys_cb.User_cbt_test_en = 0;
			}
			else
			{
				printf(" sys_cb.User_cbt_test_en != 0xa8   %x\n",sys_cb.User_cbt_test_en);
				bt_cfg.cbt_test_mode = 0;
			//	bt_cfg.fcc_test_mode = 0;
				sys_cb.User_cbt_test_en= 0;
			}

    dis_auto_pwroff();

step 4:

在msg_bt.c中 新增case

	case DUT_MODE:
		   printf("DUT_MODE\n");
		   sys_cb.User_cbt_test_en = USER_ENTER_CBT_EN_DATA;//	0xa8  则重启 BT mode  进入 测试模式
	//	   sys_cb.Test_mode_kth_cnt = 0;
		   bt_nor_delete_link_info();
		   func_cb.sta = FUNC_NULL;
		   break;

此时运行6击进入DUT,发现在此处设置led_set_sta(0xff,0,4, 0xff);后,按键无效

经发现,需要在#if !BT_BACKSTAGE_EN 新增一句bsp_bt_init();

调试后,红灯常亮在此处设置无效,6击之后直接进入勒配对模式,并没有运行led_set_sta(0xff,0,4, 0xff);

解决办法:

在func_bt.c 中,在func_bt_disp_status函数中,判断当前状态是否是test mode

if(1==bt_cfg.cbt_test_mode)
		{
	       rled_on();  //红灯常亮
		   //led_on();
		   led_off();//蓝灯灭
		   return;
		}

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
中科蓝汛ANC(主动降噪)调试流程主要包括以下几个步骤。 首先是硬件测试。在ANC调试之前,需要对ANC耳机的硬件进行测试,确保其正常工作。测试包括对耳机的驱动单元、传感器、电池以及连接线路等进行检测,确保没有损坏或故障。 接着是离线参数调试。在此步骤中,需要分析耳机在不同环境下的噪音特性,并根据实际情况调整ANC算法的离线参数,以达到降噪效果的优化。调试过程中需要使用专业的声音采集设备,对各种背景噪音进行准确的采集和分析。 然后是在线参数调试。在线参数调试主要通过人机交互的方式,用户提供反馈音频信号,耳机实时采集环境噪音并与反馈信号进行混合处理,调试ANC算法的在线参数,以根据用户需求实现最佳降噪效果。该过程需要多次反复调试,直至满足用户要求。 最后是整体效果评估。调试完成后,需要对ANC耳机进行整体效果评估。评估主要包括ANC的降噪效果、语音清晰度、电池续航能力等方面的测试。通过对音质、降噪效果、电池寿命等指标的综合评估,确定ANC耳机是否达到设计要求。 总的来说,中科蓝汛ANC调试流程包括硬件测试、离线参数调试、在线参数调试和整体效果评估等多个环节,通过不断的优化和调整,确保ANC耳机在各种环境下都能实现最佳的降噪效果,提供用户良好的音频体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值