美文网首页
工厂模式自动测试时耳机测试只有一个发声

工厂模式自动测试时耳机测试只有一个发声

作者: 简述117 | 来源:发表于2018-07-30 19:56 被阅读0次

76平台中, 在工模下进行耳机测试,只有左耳机发声

[SOLUTION]来自半导体社区

76上是dual mic设计,左右通道各接一个ADC,并分别接到耳机的左右声道。loopback测试时只开了一个ADC,工场

模式下耳机自动测试走loopback,因此耳机只有一只有声音,这样就可以验证耳机通道的相关元器件是否焊接好,已经

够用。若是需要两个耳机都有声,需开启另一个通道的ADC和amplifier,修改代码如下:

文件路径:

\hal\audio\src\v2中的afe2.c做如下修改

1.

void AFE_TurnOnLoopback( void )

{

afe.loopback = KAL_TRUE;

L1Audio_SetEvent(afe.aud_id, NULL); //add this line

ASSERT(!kal_if_hisr());

kal_trace(TRACE_STATE, AFE_SWITCH_LOOPBACK, '+');

}

2.在函数UpdateVAPDN里面修改如下:

static void UpdateVAPDN(kal_uint8 device, kal_uint16 vapdn_dc_couple_control)

{

if( afe.mic_mute||afe.mic_flag==0 ||afe.mute ) {

//*VOICE_CON3 = ((afe.accessory_flag)? ACCESSORY_USAGE : 0);

*AUDIO_CON21 &= ~0x1000;

*AUDIO_CON22 &= ~0x1000;

*AUDIO_CON23 &= ~0x8800;

#if defined(MT6573_S00) // On MT6573E1, keep VMIC on for AP side TV out detection

afe.accessory_flag = KAL_TRUE;

#endif

if( afe.accessory_flag )

*VMIC_CON0 |= 0x0001;

else

*VMIC_CON0 &= ~0x0001;

return;

}

*VMIC_CON0 |= 0x0001;

#if !(defined(MT6573) || defined(MT6575))

#if defined(__DUAL_MIC_SUPPORT__)

if(afe.mic_src == L1SP_LNA_DIGITAL){

L1Audio_PutMessage( MSG_L1AUDIO2FAS_SPEECH_SET_UL_DEVICE, eAUD_INDEV_DUAL_DIGITAL_MIC, NULL );

*AUDIO_CON24 |= MICSEL;

//*VOICE_CON3 = 0x10 | ((afe.accessory_flag)? ACCESSORY_USAGE : 0);

*AUDIO_CON31 |= 0x8000;

}else if(afe.mic_src >= 0){

L1Audio_PutMessage( MSG_L1AUDIO2FAS_SPEECH_SET_UL_DEVICE, eAUD_INDEV_DUAL_MIC, NULL );

*AUDIO_CON24 &= ~MICSEL;

*AUDIO_CON21 |= 0x1000;

*AUDIO_CON22 |= 0x1000;

*AUDIO_CON23 |= 0x8800;

*AUDIO_CON31 |= 0x8000;

}else{

//*VOICE_CON3 = ((afe.accessory_flag)? ACCESSORY_USAGE : 0);

*AUDIO_CON21 &= ~0x1000;

*AUDIO_CON22 &= ~0x1000;

*AUDIO_CON23 &= ~0x8800;

}

#else

if(afe.mic_src == L1SP_LNA_DIGITAL){

L1Audio_PutMessage( MSG_L1AUDIO2FAS_SPEECH_SET_UL_DEVICE, eAUD_INDEV_SINGLE_DIGITAL_MIC, NULL );

*AUDIO_CON24 |= MICSEL;

*AUDIO_CON31 |= 0x8000;

//*VOICE_CON3 = 0x10 | ((afe.accessory_flag)? ACCESSORY_USAGE : 0);

}else if(afe.mic_src >= 0){

L1Audio_PutMessage( MSG_L1AUDIO2FAS_SPEECH_SET_UL_DEVICE, eAUD_INDEV_SINGLE_MIC, NULL );

*AUDIO_CON24 &= ~MICSEL;

*AUDIO_CON21 |= 0x1000;

/*add begin*/

if(afe.loopback)

*AUDIO_CON22 |= 0x1000;

/*add end*/

#if defined(MT6573) || defined(MT6575)

*AUDIO_CON22 |= 0x1000;

#endif

*AUDIO_CON23 |= 0x8000;

/*add begin*/

if(afe.loopback)

*AUDIO_CON23 |= 0x0800;

/*add end*/

*AUDIO_CON31 |= 0x8000;

}else{

//*VOICE_CON3 = ((afe.accessory_flag)? ACCESSORY_USAGE : 0);

*AUDIO_CON21 &= ~0x1000;

*AUDIO_CON22 &= ~0x1000;

*AUDIO_CON23 &= ~0x8800;

}

#endif

。。。。。。。。

相关文章

  • 工厂模式自动测试时耳机测试只有一个发声

    76平台中, 在工模下进行耳机测试,只有左耳机发声 [SOLUTION]来自半导体社区 76上是dual mic设...

  • mt6735 [COMMON]MT6752工厂模式测试,副mic

    [DESCRIPTION] MT6752工厂模式,测试副mic,副mic不通; 测试耳机 loopback,出现右...

  • 第一个Django App(五)

    自动测试介绍 什么是自动测试? 为什么需要创建自动测试? 1、测试会节省你的时间 2、测试不仅仅是定位问题,也阻止...

  • 【设计模式】- 工厂模式

    工厂模式分为三种:简单工厂模式、工厂方法模式和抽象工厂模式。 工厂模式:靠工厂生产对象 简单工厂模式中只有一个工厂...

  • 工厂模式

    分类 简单工厂模式 工厂方法模式 抽象工厂模式 1. 简单工厂模式 简单工厂模式其实就是只有一个工厂,根据传进来参...

  • 设计模式 - 工厂模式

    设计模式 - 工厂模式 简单工厂模式 抽象产品角色(牛奶) 工厂角色 具体产品角色 测试简单工厂模式 显示日志 工...

  • 测试驱动开发总结

    第25章 压力循环 压力越大、测试越少。测试越少,错误越多。错误越多,压力越大 压力越大、自动测试越多。自动测试越...

  • appium 测试iOS app demo(python语言)

    0. iOS自动测试环境搭建 参考iOS自动测试环境搭建(Appium) 1. 打开appium-desktop ...

  • GOF23(java设计模式)--创建型模式

    单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式 一、单例模式作用:保证一个类只有一个实例...

  • Ubuntu下Selenium配置chromedriver和ge

    在flask客户端自动测试,使用工具selenium 时,遇到一个 问题 。 问题: 运行selenium 报错,...

网友评论

      本文标题:工厂模式自动测试时耳机测试只有一个发声

      本文链接:https://www.haomeiwen.com/subject/yxkqvftx.html