找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

搜索附件  

dump.zip

 

在sink configuration tool 里如果想配置“蓝牙断开”语音应该选择哪一个?:
本帖最后由 528328675 于 2019-4-24 22:27 编辑

CSR8670芯片。在user interface ->audio prompts ->generate中配置提示语音。


想添加一个“蓝牙断开”语音,在state mask里选择哪个选项,没一个是这个意思啊???

只有connected我也是。。。
按照以前CSR方案和一些QCC方案的惯例,这个State Mask应该是指设备处于什么状态时断开连接会出断开连接的提示音。 应该是大同小异,State Mask状态拦建议你除了Power On不够选,其它的都勾选好去试一下。希望能帮到你
yjq551611 发表于 2019-4-25 15:57
按照以前CSR方案和一些QCC方案的惯例,这个State Mask应该是指设备处于什么状态时断开连接会出断开连接的提 ...

谢谢回复。我也是奇了怪了,前面那个事件选项有几十个,这个mask就这十几个。更不要说官方提供的语音文件,除去数字,剩下也得有几十个语音吧,按道理每个都能用上啊,怎么这个mask就这么少???
528328675 发表于 2019-4-25 17:56
谢谢回复。我也是奇了怪了,前面那个事件选项有几十个,这个mask就这十几个。更不要说官方提供的语音文件 ...

可以试试,不影响提示音出来就行
yjq551611 发表于 2019-4-25 18:01
可以试试,不影响提示音出来就行

试了,都不行

就只有这个断开连接的提示音出不来吗?这就很奇怪了!
我通常是除了power on 不勾選外,其他全勾,事件是選用 a2dp disconnected
miko 发表于 2019-4-26 13:48
我通常是除了power on 不勾選外,其他全勾,事件是選用 a2dp disconnected

多谢。你的方法可行!!!可是出来一个小问题:debug的时候是正常的,stop debug后,这个断开语音就没了,重新上电也不行,其他的语音都还在。。。奇葩现象。
yjq551611 发表于 2019-4-26 10:00
就只有这个断开连接的提示音出不来吗?这就很奇怪了!

楼下的方法可行。
528328675 发表于 2019-4-26 16:01
多谢。你的方法可行!!!可是出来一个小问题:debug的时候是正常的,stop debug后,这个断开语音就没了 ...

那你試試把事件改成 Primary Device Disconnected
並把全部的語音提示都勾選(值:3FFF),可參考下圖



上圖是64215可成功實現語音示的設定,最近在QCC3005,也有成功實現過。

你說的 stop debug後,語音提示不見現象我沒有碰到過呢.....


miko 发表于 2019-4-26 16:40
那你試試把事件改成 Primary Device Disconnected
並把全部的語音提示都勾選(值:3FFF),可參考下圖

试了四五次,都一样。蓝牙连接的声音还在,断开的声音没了。。。你说的这个方法等下试试
miko 发表于 2019-4-26 16:40
那你試試把事件改成 Primary Device Disconnected
並把全部的語音提示都勾選(值:3FFF),可參考下圖

怎么搞都不行。把其他的语音全部删除,只保留断开这个语音也不行。用的ADK3.5.1,搞不定。
528328675 发表于 2019-4-28 21:47
怎么搞都不行。把其他的语音全部删除,只保留断开这个语音也不行。用的ADK3.5.1,搞不定。

只保留藍芽斷開提示音,再重新生成語音提示的.xuv,這樣stop debug後也聽不到語音提示嗎?第一次碰到這奇妙的現象
miko 发表于 2019-4-29 09:47
只保留藍芽斷開提示音,再重新生成語音提示的.xuv,這樣stop debug後也聽不到語音提示嗎?第一次碰到這奇 ...

换到4.1上了。用官方例程没发现这个问题。可能是我程序有问题。

再请教个问题,使用4.1官方例程,过一段时间后手机发现不了设备,LED按照已经连接的状态闪烁,可是没手机连它,重启也是这样,手机搜不到,而LED确实按照已经连接闪烁。
miko 发表于 2019-4-29 09:47
只保留藍芽斷開提示音,再重新生成語音提示的.xuv,這樣stop debug後也聽不到語音提示嗎?第一次碰到這奇 ...

菜鸟经常遇到异象。。。
528328675 发表于 2019-4-29 22:27
换到4.1上了。用官方例程没发现这个问题。可能是我程序有问题。

再请教个问题,使用4.1官方例程,过一 ...

可以檢查LED -> States 設定,是否connectable  和 connected 燈號閃爍設定相同,造成狀態混淆。再來檢查Bluetooth -> Connection Management 和 System -> Timers 兩個裡面有關配對、連接相關的設定。

再不然就是開程式debug模式,查看板子目前是什麼狀態,再來做後續的修改。

以上提供給你參考嘍!
miko 发表于 2019-5-2 09:22
可以檢查LED -> States 設定,是否connectable  和 connected 燈號閃爍設定相同,造成狀態混淆。再來檢查 ...

你用官方sink没遇到过吗?下载官方sink、sink_system_csr8670.psr、sink_config_10001v4_stereo.psr后,使用一个手机连接上开发板。连接上以后关闭手机蓝牙,此时开发板应该处于蓝牙断开状态,而实际上开发板的LED闪烁状态并不对,一直按照仍在连接的状态闪烁,如果此时再拿过来一个手机,由于先前的手机蓝牙已关闭,新拿过来的手机应该能发现开发板蓝牙,然而事实确实并不能发现开发板蓝牙。找不到哪里设置有问题。
看你怎么设置的吧,如果你断开蓝牙连接和蓝牙连接成功的LED灯闪设置的一样呢?灯闪当然不正确了。还有,断开连接可以进入多种状态,看你怎么设置吧,断开连接如进入未连接待机状态,新的手机当然搜索不到蓝牙,你可以设置断开连接后进入配对状态并可以回连就行了,希望能有帮助吧
528328675 发表于 2019-5-5 21:54
你用官方sink没遇到过吗?下载官方sink、sink_system_csr8670.psr、sink_config_10001v4_stereo.psr后, ...

抱歉,我找不到sink_config_10001v4_stereo.psr,所以沒辦法透過configuration tool看出官方的設定內容。
不過建議你可以先把connectable、connectable/discoveralbe、connected,這三項的燈號設定都設為不同(ex:紅燈恆亮、紅藍燈交錯、藍燈恆亮),這樣你就可以知道當你斷開第一台設備藍芽時,它是在connectable(第二台設備不能連接藍芽也找不到板子)還是在connectable/discoveralbe狀態了(第二台設備可以連接藍芽也找的到板子)
似火年华 发表于 2019-5-6 08:15
看你怎么设置的吧,如果你断开蓝牙连接和蓝牙连接成功的LED灯闪设置的一样呢?灯闪当然不正确了。还有,断 ...

你說的是對的,如果板子設定是斷開藍芽後維持在connectable狀態,那麼新的設備是找不到板子藍芽的
对呀,想连接新的设备话可以设置:断开上一个蓝牙连接:进入connectable/discoverable状态,就OK了
似火年华 发表于 2019-5-6 16:31
对呀,想连接新的设备话可以设置:断开上一个蓝牙连接:进入connectable/discoverable状态,就OK了

你好,请问在sink configuration tool --->bluetooth哪里设置呢?

另外,为啥默认这样呢?我做过其他芯片的ble开发,从来都是连接断开就直接进入discoverable,没想到经典蓝牙还有这种特性。
528328675 发表于 2019-5-6 21:44
你好,请问在sink configuration tool --->bluetooth哪里设置呢?

另外,为啥默认这样呢?我做过其他 ...

sink configuration tool ---> bluetooth ---> Connection Management ---> Pairing ---> 勾選 Enter Pairing Mode on Failure to Connect

miko 发表于 2019-5-7 09:45
sink configuration tool ---> bluetooth ---> Connection Management ---> Pairing ---> 勾選 Enter Pai ...

不成功。。。

测试步骤如下:ADK4.1---->blue flash--->erase full chip--->sink--->merge psr.

csr8670进入可发现状态--->手机连接--->连接完成--->关闭手机蓝牙--->此时开发板LED states仍处于connectable状态(通过使用sink configuration tool --->user interface --->led更改connectable的闪灯规律可确定,此时csr8670确实处于connectable状态)

按照您提供的方法,证实不成功。
本帖最后由 528328675 于 2019-5-7 21:39 编辑
miko 发表于 2019-5-7 09:45
sink configuration tool ---> bluetooth ---> Connection Management ---> Pairing ---> 勾選 Enter Pai ...

通过修改sink configuration tool ---> bluetooth ---> Connection Management ---> discovery下:discoverable if PDL less than为2,可发现,当第一个手机关闭蓝牙后,开发板LED显示进入可发现状态,此时第二个手机能发现并连接开发板。当第二个手机关闭蓝牙后,就出原来的情况:开发板仍处于connectable状态。。。
由此猜想,手机断开蓝牙后,csr8670仍记忆着原来的PDL,而不是处于可发现状态。
PS:两个手机测试过程中,开发板断电重启后仍处于connectable状态。
528328675 发表于 2019-5-7 21:37
通过修改sink configuration tool ---> bluetooth ---> Connection Management ---> discovery下:discov ...

抱歉,跟你說錯了,確實不是勾選 Enter Pairing Mode on Failure to Connect (搞錯應用了),如果是要每次斷開設備都進入配對,discoverable if PDL less than 可設定為9,因為 PDL Size 官方的設定是8(一般不會去更動這個設定值),只要超過設定超過 PDL Size 的值就會每次斷開就進入配對了,如果你設定2,那麼當你有第3個設備連接時,又會發生一樣的情形
miko 发表于 2019-5-8 09:26
抱歉,跟你說錯了,確實不是勾選 Enter Pairing Mode on Failure to Connect (搞錯應用了),如果是要每次 ...

你好。为什么官方要默认这样设定???比如有一个蓝牙耳机正在播放手机的音乐,突然我想听平板上的歌曲,像前面楼层说的那种现象,根本实现不了这种需求。很令人费解啊。
528328675 发表于 2019-5-8 10:06
你好。为什么官方要默认这样设定???比如有一个蓝牙耳机正在播放手机的音乐,突然我想听平板上的歌曲, ...

如果想做切換兩個設備的應用,可以開啟 multipoint 功能。

bluetooth --> connection management --> 勾選 enable multipoint in VM app, 這樣就可以同時連接兩個設備,再依使用者去決定要播放哪一個設備的音樂。
本帖最后由 528328675 于 2019-5-8 11:32 编辑
miko 发表于 2019-5-8 10:27
如果想做切換兩個設備的應用,可以開啟 multipoint 功能。

bluetooth --> connection management -->  ...

不需要“同时播放”。只需要实现“不需要其他操作,都能被任意手机单独连接”。

忘了说了。我这里有个别人写的程序,没有上述的问题。可是没找到任何不同于官方psr的设置。如附件dump.xpv(ADK3.5.1):

miko 发表于 2019-5-8 10:27
如果想做切換兩個設備的應用,可以開啟 multipoint 功能。

bluetooth --> connection management -->  ...

你的方法是可以的。我多测试测试。上面我上传的xpv不是这样设置的,但是能实现相同的功能。
528328675 发表于 2019-5-8 22:16
你的方法是可以的。我多测试测试。上面我上传的xpv不是这样设置的,但是能实现相同的功能。

上傳的.xpv,我這邊檔案開不起來。

8670是可以透過程式碼去寫設定的,也許魔鬼的細節就藏在程式裡,這樣透過.xpv 檔再讀取出來的設定,可能就會與實際運作不一致,可以先釐清要做怎樣的應用,再去調整設定,若設定不行,則再改程式碼。
本帖最后由 528328675 于 2019-5-9 10:50 编辑
miko 发表于 2019-5-9 10:41
上傳的.xpv,我這邊檔案開不起來。

8670是可以透過程式碼去寫設定的,也許魔鬼的細節就藏在程式裡,這 ...

xpv是ADK3.5.1版本。程序是在哪个sink_xxx.c文件中?
谢谢大哥指教。本人完全是晚上自学,门还没入...

528328675 发表于 2019-5-9 10:44
xpv是ADK3.5.1版本。程序是在哪个sink_xxx.c文件中?
谢谢大哥指教。本人完全是晚上自学,门还没 ...

是的,為怕ADK不同會不能正常開啟,結果用了ADK3.5.1的工具也不能開此 xpv。

至於程式是在哪個sink_xxx.c中,這個就要看你要改哪個方向了,沒有一定的,如果照上述你說的,懷疑是multipoint 的設定影響的話,也許可以看sink_multipoint.c 裡面有沒有關於這方面的內容。

總之就是要一步一步慢慢的找,所以才會建議如果tool可以設定的話,就靠tool設定就好,如果真的要改程式,請一定要先備份好原始的程式。

然後,"小妹"也只是剛抬起腳還沒踏進門的小新手.... 大家一起交流嘍!
本帖最后由 528328675 于 2019-5-9 15:09 编辑
miko 发表于 2019-5-9 13:54
是的,為怕ADK不同會不能正常開啟,結果用了ADK3.5.1的工具也不能開此 xpv。

至於程式是在哪個sink_ ...

不是“打开xpv”,先把xpv下载到开发板里,然后使用sink configuration tool 的read device,读取开发板的信息。
目前只想实现:同一时间只能一个手机连接开发板,想使用第二个手机连接必须断开第一个手机的蓝牙。并且开发板的蓝牙状态随着手机是否连接开发板而在“discoverable”和“connected”之间切换。

可能multipoint功能更复杂,我还是先把简单功能理顺再说,不然越多越糊涂。。。

比我强的我都尊称为“大哥”
528328675 发表于 2019-5-9 14:23
不是“打开xpv”,先把xpv下载到开发板里,然后使用sink configuration tool 的read device,读取开发板 ...

是的,用ADK3.5.1裡的 BlueFlash要選擇此 xpv下載到板子時,上面會顯示File open failed。

如果想測試你說的目標,先取消multipoint功能,把 Discoverable if PDL Less Than 設為 9,這樣就可以了。
miko 发表于 2019-5-9 15:23
是的,用ADK3.5.1裡的 BlueFlash要選擇此 xpv下載到板子時,上面會顯示File open failed。

如果想測試 ...

原来这两个文件都需要。。。压缩包里有俩文件,放在同一个文件夹中就可以了。已经测试过,可以打开。
本帖最后由 miko 于 2019-5-10 11:16 编辑
528328675 发表于 2019-5-9 21:30
原来这两个文件都需要。。。压缩包里有俩文件,放在同一个文件夹中就可以了。已经测试过,可以打开。

這個檔案可成功下載,讀了設定,f/w 確實不是設定 Discoverable if PDL Less Than 為 9 的方式進入配對。
或許你可以試試用修改程式碼的方式,一樣把Discoverable if PDL Less Than 維持為 1,再把 sink_a2dp.c 修改成下圖的樣子。




這樣也可以在斷開藍芽時,進入配對3分鐘。

不過這個是我之前在ADK4.1開發的另外一個應用(使用者手動斷開藍芽進入配對3分鐘 & 透過按鍵進入配對5分鐘),所以才會額外修改程式去進入配對,不然一般來說,還是會採用 Discoverable if PDL Less Than 為 9 的方式。


懶得用圖了,sink_a2dp.c 記得要在 case A2DP_SIGNALLING_CONNECT_IND: 裡面也增加這段 code

MessageCancelAll(&theSink.task, EventUsrCancelPairing);

表示當你有設備重新連接上a2dp時,要做取消配對的動作。
miko 发表于 2019-5-10 11:06
這個檔案可成功下載,讀了設定,f/w 確實不是設定 Discoverable if PDL Less Than 為 9 的方式進入配對。 ...

好的。下班回去试试。

谢谢您这么用心回复。多谢。
多谢。你的方法可行!

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2025-5-2 21:10 , Processed in 0.778747 second(s), 14 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部