Other Parts Discussed in Thread: CC256XM4BTBLESW,
Hi,
We are about to take some important design decisions that would be the cornerstone for our project. With regards solely to the HFP our objective is to “exhaust” the specification so that we comply with it on the one hand and on the other hand, provide high quality features. That said, we initially need to support more than the mandatory NB and WB voice codecs (CVSD and mSBC respectively). Furthermore, we need to tranceive raw PCM streams in the highest possible resolution.
According to the HFP spec (from 1.6 onwards), optional codecs can be negotiated between the HF and the AG, as long as the mandatory ones are included first. So, although the CC2564 controller has the mandatory codecs built-in, we assume that we can integrate additional ones on the host. And here comes the question: how exactly are those advertised to the AG?
Parsing a typical Android HCI log, we see that the Bluetopia stack initially transmits AT+BAC=1,2 corresponding to CVSD and mSBC support, which is kind of weird considering that it occurs even if we never set the BSC_FEATURE_WIDE_BAND_SPEECH flag in the first place! But we can tolerate this for the time being, in order to get the point… And the point is that no matter how or where we issue the HFRE_Send_Available_Codecs function, the *CodecIDList never reaches the AG receiver as formulated in the HF device.
I should clarify at this point that until now, we use the DK-TM4C129X with CC2564B and CC256XM4BTBLESW 1.2 R2 (4.1 core spec) at HCI configuration (necessarily). But since we need advanced features and the PCM interface, it is only a matter of time to shift to the STM32F4 with CC2564C and CC2564CSTBTBLESW1 v4.2.1.1 (4.2 core spec) at PCM configuration (for audio).
So, we need to know:
a) How could we integrate and advertise optional codecs as described above? Is there any restriction between the platforms and/or the interfaces (HCI vs PCM) mentioned above?
b) Can we exceed the 64 Kbps throughput over a voice link (SCO/eSCO) so as to set the PCM sampling rate and resolution as high as possible and under which configuration do we tranceive raw PCM streams?
Sorry for the long post - looking forward to receiving your reply.
Thanks,
Manolis