客戶自行開發(fā)new feature的時(shí)候典格,會用到DTMF檢測,另外台丛,我們內(nèi)部的Auto Answer Machine也會用到钝计,出現(xiàn)檢測錯(cuò)誤
的時(shí)候,可以參考此方法進(jìn)行debug.
[SOLUTION]來自半導(dǎo)體社群
首先,需要確定是否有正確調(diào)用start DTMF檢測的函數(shù).
其次私恬,看log债沮,網(wǎng)絡(luò)那邊是否有IND發(fā)下來,我們這邊是否有檢測到.
抓log的時(shí)候本鸣,filter請打開:MOD_MED,MOD_MMI_APP,MOD_L1SP,MOD_L1SPHISR all classes on.
如果沒有IND下來疫衩,請F(tuán)T幫忙查看當(dāng)前網(wǎng)絡(luò)部分是否有問題.
如果有檢測到,但是檢測到的值是錯(cuò)誤的話荣德,可以參考如下debug方法:
把kt_detect.c里面的
//#define KT_DETECT_DEBUG
打開
開啟debug 功能吼闷煤,每一次開啟ktDetect會產(chǎn)生一個(gè)只有十秒的錄音檔案C:\KTDDdebug.pcm ,C:\ 可能要從META才可
以讀蠕陶啊鲤拿?如果需要換到SD card,需要變更c(diǎn)ode里面指定的磁碟署咽。
因?yàn)橹荒茕浭虢辏砸谕ㄔ挼囊婚_始十秒就復(fù)制出來,如果不行的話宁否,可以加大
static uint16 ktDDPcmDebugBuf[80000]; // for debug
以及
if( pcmDebugCnt < 80000 )
以上請?jiān)趉tDetect.c中搜尋80000窒升,然后統(tǒng)一修改成想要的值就可以加大錄制的時(shí)間。
將復(fù)制出來的log 與PCM檔慕匠、以及客戶所按的按鍵是哪些饱须、錯(cuò)誤檢測而出現(xiàn)的又是哪一個(gè)數(shù)字等資訊拿到,我們再來進(jìn)
行分析.
另外台谊,需要注意的是蓉媳,我們的DTMF檢測本身存在誤檢測率,大致為5%.