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.

CC2564C: How to combine two BT Classic profiles togeather? [HFP & SPP?]

Part Number: CC2564C
Other Parts Discussed in Thread: BOOST-CCEMADAPTER, CC3200, CC256XCQFN-EM, CC3200AUDBOOST

My setup:
CC2564C
MSP432P401R launchpad
BOOST-CCEMADAPTER
CC3200 AudBoost

Code Composer Studio  Version: 10.4.0.00006 

BT Stack: CC256XMSP432BTBLESW_4.2.1.1


I would like to simulate a Headphone function connected with a phone for Eg. I would like to use functions like:
1)Anser the call / Cut the call (with button)
2) Volume up/ Down (with buttons of course)
3) send some two-way 2- char data in ASCII format.

4) Is there a way to play a short beep sound if the bT device is connected / Disconnected? if so explain in brief

If I understand well. I need to combine 2 or more BT Classic profiles. HFP& SPP;    HFP for purpose 1, SPP for purpose 3, and which profile should I use for purpose 2? & 4?

other suggestions of what audio codec be used / MCU suggestions (battery operated applications) etc.

I've tried the default examples stated in the documents of this individually "User’s GuideCC2564x Demo Applications" All the examples works individually with no issues! now, how can I combine the profiles and use them to gather? 

My 3rd purpose is to use an existing BT device(cannot change this method) that resumes Audio call streaming to my device if I send some custom char(cannot change this either preset custom ASCII Char) via BT like writing in the console for eg.

How can I achieve this 3rd purpose? & all of my purposes Together 1,2,3,4? 

Please explain me in a brief rookie to BT Domain. How can I combine & use two or more BT Classic profiles at once? how to achieve this? please explain & really appreciate your answers and Time. 

Any examples will also be appreciated
Thanks a Lot.







  • I'm using this  CC256XCQFN-EM board by the way.

  • Hi Gokulnath,

    Let's begin by addressing the correct profiles to use:

    Function Profile
    1)Answer the call / Cut the call (with button) HSP
    2) Volume up/ Down (with buttons of course) HSP
    3) send some two-way 2- char data in ASCII format. SPP
    4) Is there a way to play a short beep sound if the bT device is connected / Disconnected? if so explain in brief N/A

    You can combine demos by combining application code. Please see this app note for a reference.

    other suggestions of what audio codec be used / MCU suggestions (battery operated applications) etc.

         I think your current setup is a good start. How do you plan to interface the CC3200AUDBOOST?

    My 3rd purpose is to use an existing BT device(cannot change this method) that resumes Audio call streaming to my device if I send some custom char(cannot change this either preset custom ASCII Char) via BT like writing in the console for eg.

         I think this should be possible with a combination of HSP and SPP. You may also need HFP.

    Two or more Bluetooth profiles can be combined by adding in the relevant functions. Please review the app note above for more details.

    The short audio note will probably require an audio file stored on the MCU (or external memory) and the A3DP profile. This will definitely add complexity to your project. 

    Best regards,
    Jacob

  • Hello Jacob,


    Thanks for the reply and I really appreciate the Time & Patience.

    I'll check the app note details and verify it & will get back.

     I think your current setup is a good start. How do you plan to interface the CC3200AUDBOOST?

    For now, I'm following this "CC2564C TI Dual-Mode Bluetooth® Stack on MSP432Tm MCUs" to interface the AUD boost. once the PoC is complete I'll make a new PCB. so other MCU/ Codec/design/common design problems to avoid..... suggestions are welcome!!!

    My use case: in the end, I need a power-efficient battery-operated product and I'll be designing a PCB using Altium for this product.

    Two or more Bluetooth profiles can be combined by adding in the relevant functions. Please review the app note above for more details.

    Thanks a lot I shall do the same.

    The short audio note will probably require an audio file stored on the MCU (or external memory) and the A3DP profile. This will definitely add complexity to your project. 

    Yeah !! but it's alright let me dig inside the BT Codes. I'll use the internal one and A3dp also I shall combine.


    on a Curious Note: I would like to play the beep sound as a BT connection/Disconnection Indication inside my BT headphones for which I don't need to transfer any Audio over BT. I would just like to play it from my preset saved Audio file from MCU memory I guess. How can I achieve that?

    3) send some two-way 2- char data in ASCII format. SPP

    Just an update on this! is it possible to send oneway one or 2 single char data only using the HFP profile? 

    I'm just Translating an old product that I use to develop with Bluegiga under Iwarp API. on this I just use the "Echo" command and then concatenate "my data" to my already connected HFP AG to achieve this Data sending purpose. Now I'm just transferring it to TI based.

    Any suggestions on the MCU? MSP432 or STM32F series? Tiva? or other MCU's? Thanks a lot.

    Wishing you a wonderful week ahead.

  • Hello Jacob, 
    I just found this when I was going through the manual which you sent me : 

    You can combine demos by combining application code. Please see this app note for a reference.

    under section 8:
    HFP related:
    • [OpenHFServer] –This function is responsible for opening a serial port or server on the local device. This function opens the serial port server on the specified RFCOMM channel. 

    Any command available to take advantage of this above mentioned "Serial port?" to send Data (Sort of AT Commands?)

    can it be used to send a single char command?  Like "Echo" Command from Bluegiga Iwarp API?

    My situation requires sending Audio &data(similar to AT Commands) through the same Bluetooth profile

    Thanks in Advance

  • Hi Gokulnath,

    I'll respond here tomorrow or on Wednesday.

    Best,

    Jacob

  • ************************Update********************************* 

    After some more digging into my product requirements & Reverse engineering my existing soon to be obsolete(BT 3.0) product... works as of now. these are the exact specs I need(BT 4.2 or greater or  >5.0 is preferred) that's y CC2564C.

    I can use HSP or HFP only. on top of this, I need this below functionality to interface with the existing product and other profiles Cannot be used due to security requirements.

    can it be used to send a single char command?  Like "Echo" Command from Bluegiga Iwarp API?

    My situation requires sending Audio &data(similar to AT Commands) through the same Bluetooth profile

    My current obsolete setup on (headphones) Bluegiga "WT-32I" I use HFP only and then I use the "Echo" command to send data From my Bluegiga to my proprietary "AG"  for my concerned use under IWARP API. 

    I believe it uses RFcomm link to achieve this! 

    How can I access Rfcomm function under HFP/HSP profile on CC2564C? 


    I want to port this functionality to TI.

    CC256XMSP432BTBLESW_4.2.1.1


    I'm using the above stack as of now. I'm unable to see the Volume up& down controls on the stack for the HFP profile. I can only see that in HSP! is it normal or am I using the old stack? if I understand well HFP profile is better than HSP....  Also could you please let me know when can I possibly get a 5.0 or 5.1 stacks for CC2564C?
     
    Correct me on the above.

    Ofc Finally I also want to play a beep (locally on my headphones.... not over BT) to indicate tonal notification of BT Connection/Disconnection 

    Thank you and awaiting your valuable input.

  • Hi Gokulnath,

    If you are limited to HSP or HFP, I would recommend HSP. HSP provides volume control capabilities. However, you may want to look into HFP because of your need to interface with a codec. I think HFP can also handle volume control through our ChangeSpeakerGain API. With the HFPDemo_AG, you can change the gain of the microphone and the speaker. With HSPDemo, you can only change the gain of the speaker.

    I'll attach the demo guide pages here. Take a look at the SetRingIndication (RingIndication) and SendCallLineIdentificationNotification (SendCallerIdNotification) to see if these can work instead of building a function from scratch to send a character.

    You can post in the TI Codec's forum for the best recommendation, but I think the TLV320AIC3254 is popular for Bluetooth applications.

    Also, make sure you are using the CC2564CMSP432BTBLESW stack. It is our latest MSP432 stack but does not support 5.1 features.

    Thanks,
    Jacob

    CC256x TI Bluetooth Stack HSPDemo App - Texas Instruments Wiki.pdf

    CC256x TI Bluetooth Stack HFPDemo App - Texas Instruments Wiki.pdf

    CC256x TI’s Bluetooth Stack Basic HFGAGDemo APP - Texas Instruments Wiki.pdf

  • Continued in the following thread! Here
    Thanks