This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2564B dual mode - HFP + BLE

Hi!

I have two separate pieces of code for an STM32 M4 MCU.. One implementing an HFP device, and the other one using BLE.


Now, I need to merge these to demos, and take advantage of the CC2564B Dual Mode capability. So, I need BLE to control the device and I need HFP to provide the audio stream when the phone is on a call.

Unfortunately, I haven't found a Dual Mode example for the STM32 MCU from which I could determine how to correctly setup the BT stack for Dual Mode operation.

So, the first question I have is: Do I need to setup LE and CB stacks indepedently (i.e.: open 2 stacks?), or should I just open the stack once and use a single BT stack ID for both modes?

Thanks!

  • Hi Nico,

    Only one OpenStack would be necessary. The "SPPLEDemo" app illustrates the dual mode - "BR/EDR SPP based application as well as a custom application, SPPLE, over Bluetooth LE". processors.wiki.ti.com/.../CC256x_TI_Bluetooth_Stack_SPPLEDemo_App

    You can take a look at this sample app.

    Kindly note that ( as mentioned in the datasheet), "LE and HFP 1.6 (WBS)" cannot coexist.

    Regards,
    Gigi Joseph.
  • Hi Gigi!

    Thank you very much for your quick and detailed reply.

    I have some more questions for you:
    1) May I copy the SPPLE Demo OpenStack() function to my HFP+BLE demo app? See, there are still some functi on calls within the OpenStack() function that I don't quite understand (and to be sincere, Bluetopia's documentation does not shed a light on...) and in the current demo phase, we need to get it to work ASAP.

    2) Once I have an open stack, then the rest of the setup would basically involve setting up the GAP events callback and the GAP LE events callback? So, when I receive a CB event it will be handled by the former and an LE event will be handled by the latter?

    3) Though HFP1.6 (WBS) cannot coexist with BLE, I assume that HFP (<=1.5), with SBC audio, can coexist with BLE, and that I can use the CC2564B's assisted mode with 8kHz (SBC) audio. (I have the CODEC's I2S port connected directly to the CC2564B's I2S port). I ask this because the datasheet says: "ANT and the assisted modes (HFP 1.6 and A2DP) are not available when BLE is enabled".

    4) If my assumption for question (3) is incorrect, then can I disable LE when I receive a GAP audio connection indication? If so, how do I do this?

    Thanks!
    Nico.
  • Hi Nico,

    Sorry for the late reply.

    (1) Yes, I think that's the best approach for your application.
    Can you please clarify on what API calls are not well documented? I will check and see what we can do about it.
    (2) Yes. Additionally, you would need to handle the HF events - HFRE_Event_Callback() from the HFPDemo.
    (3) Let me clarify - Assisted HFP cannot coexist with BLE. There is no SBC audio in the HFP 1.5 spec.
    (4) When switching from BLE to assisted WBS or vice versa, then a complete disconnection from the part that is disabled would be done. For instance, if you have a BLE connection and need to enable assisted WBS to establish a voice connection then you would need to terminate the BLE connection and disable the BLE first. After that, you would need to enable the assisted WBS mode and establish the voice connection.


    Regards,
    Gigi Joseph.