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.

A3DPDemo_SNK, No audio, Missing setup command?

Other Parts Discussed in Thread: CC2564MODAEM, CC2564

Can someone see something I have missed doing below in trying to setup a simple BT "headphone"?

Just bringing up the evaluation stack first time. The "SPPDemo" appeared to be working before trying the A3DPDemo_SNK sample.

We have the CC2564MODAEM attached to an STM32F4-Discovery board with the CC256XEM-STADAPT V1.0.

1. Android 4.0.4 shows BT pair with "A3DPDemo_SNK", Headphone symbol
2. Music file playing on Android was 44.1K, sound played on phone speaker, sound did not transfer to Discovery phono jack output and silence phone speaker as expected.
3. Zero ohm resistors R32, R12, R22 and R54 installed on CC256XEM-STADAPT.
4. Did NOT install CC256XEM-STADAPT "AP Connectors" since '407 pins already connected to CS43L22 I2C (PB9/PB6).


Console text copy:

OpenStack().
Bluetooth Stack ID: 1
Device Chipset: 4.1
BTPS Version : 4.0.2.1
Project Type : 6
FW Version : 7.26
App Name : A3DPDemo_SNK
App Version : 0.1
BD_ADDR: 0x0017E9E579AA
Mute and enter the DAC, CS43L22, into power save mode with reset
A3DP Endpoint opened successfully.
Class of Device: 0x040424.
Supported formats:
Frequency: 44100, Channels: 2, Flags: 0
Frequency: 48000, Channels: 2, Flags: 0
Frequency: 48000, Channels: 1, Flags: 0
Frequency: 44100, Channels: 1, Flags: 0

******************************************************************
* Command Options: Inquiry, DisplayInquiryList, Pair, *
* EndPairing, PINCodeResponse, PassKeyResponse, *
* UserConfirmationResponse, *
* SetDiscoverabilityMode, SetConnectabilityMode,*
* SetPairabilityMode, SetBaudRate *
* ChangeSimplePairingParameters, *
* GetLocalAddress, GetLocalName, SetLocalName, *
* GetClassOfDevice, SetClassOfDevice, *
* GetRemoteName, OpenSink, CloseSink, *
* RemotePlay, RemotePause, RemoteNext, *
* RemotePrev, Help *
******************************************************************


A3DP+SNK>OpenSink
Endpoint is already opened.
Function Error.

A3DP+SNK>

A3DP+SNK>RemotePlay
A3DP Stream is not opened yet.
Function Error.

A3DP+SNK>RemotePlay
A3DP Stream is not opened yet.
Function Error.

A3DP+SNK>

  • Oops, just discovered I need to remove R11 on CC2564MODAEM board for audio.

    Still, no sound after this fix. Android phone still plays locally.
  • Hi,

    Has the A2DP connection been established? What does the Android Phone Bluetooth settings show?

    Please see: processors.wiki.ti.com/.../CC256x_TI_Bluetooth_Stack_AssistedA2DPSinkDemo_App for the guide to use the A3DPDemo_SNK application. The connection must be initiated from the phone side.

    Regards,
    Gigi Joseph.
  • Thanks for reply. Link was useful,

    I thought "pair" was sufficient on phone but realized it was not "connected". Had to turn off everything, reboot phone, unpair, and start from scratch.

    Now, the phone is playing music, after "RemotePlay", and not through phone speaker, but I don't hear anything at Discovery board.

    Could be HW connection, will need to setup scope to see if I2S signals are present,

    However, there is an error message in the stack startup about the "DAC". Could be that? I need to start debugging for source of that message....

    Here is new startup at console:

    A3DP+SNK>ÿ
    OpenStack().
    Bluetooth Stack ID: 1
    Device Chipset: 4.1
    BTPS Version : 4.0.2.1
    Project Type : 6
    FW Version : 7.26
    App Name : A3DPDemo_SNK
    App Version : 0.1
    BD_ADDR: 0x0017E9E579AA
    Mute and enter the DAC, CS43L22, into power save mode with reset
    A3DP Endpoint opened successfully.
    Class of Device: 0x040424.
    Supported formats:
    Frequency: 44100, Channels: 2, Flags: 0
    Frequency: 48000, Channels: 2, Flags: 0
    Frequency: 48000, Channels: 1, Flags: 0
    Frequency: 44100, Channels: 1, Flags: 0

    ******************************************************************
    * Command Options: Inquiry, DisplayInquiryList, Pair, *
    * EndPairing, PINCodeResponse, PassKeyResponse, *
    * UserConfirmationResponse, *
    * SetDiscoverabilityMode, SetConnectabilityMode,*
    * SetPairabilityMode, SetBaudRate *
    * ChangeSimplePairingParameters, *
    * GetLocalAddress, GetLocalName, SetLocalName, *
    * GetClassOfDevice, SetClassOfDevice, *
    * GetRemoteName, OpenSink, CloseSink, *
    * RemotePlay, RemotePause, RemoteNext, *
    * RemotePrev, Help *
    ******************************************************************


    A3DP+SNK>
    atIOCapabilityResponse: 0xD051624F38C3
    Capabilities: Display Yes/No, MITM

    A3DP+SNK>
    atIOCapabilityRequest: 0xD051624F38C3

    Auth success.

    A3DP+SNK>
    atUserConfirmationRequest: 0xD051624F38C3

    Auto Accepting: %

    GAP_Authentication_Response success.

    A3DP+SNK>Un-handled Auth. Event.

    A3DP+SNK>
    atLinkKeyCreation: 0xD051624F38C3
    Link Key Stored.

    A3DP+SNK>
    etAUD_Signalling_Channel_Open_Indication
    BD_ADDR: 0xD051624F38C3

    A3DP+SNK>
    etAUD_Remote_Control_Open_Indication
    BD_ADDR: 0xD051624F38C3

    A3DP+SNK>
    etAUD_Stream_Open_Indication
    BD_ADDR: 0xD051624F38C3
    MediaMTU: 672
    StreamType: SNK
    A3DP Open: 0

    Send HCI Flow Spec for guarenteed ACL connection

    Send HCI VS DDIP for ACL priority over scans
    Initialize audio with Sample Freq: 44100

    I2S configuration start f = 44100

    !!! Error in startDAC() !!!

    A3DP+SNK>RemotePlay
    AVRCP command sent successfully.

    A3DP+SNK>
    etAUD_Remote_Control_Command_Confirmation
    BD_ADDR: 0xD051624F38C3
    TransactionID: 2
    ConfirmationStatus: 0
    Pass Through Response Code: 0x09
    Successfully started stream

    A3DP+SNK>
    etAUD_Stream_State_Change_Indication
    BD_ADDR: 0xD051624F38C3
    StreamType: SNK
    StreamState: Started
    A3DP Start: 0

    A3DP+SNK>

  • OK Fundamental question here.
    In finding the "Error in startDAC()", it appears the code is starting up STM32F4's internal I2S. Why is that?

    Haven't found a good explanation of the signal flow, but here is my present mental model:

    The A3DPDemo_SNK is using what the datasheet calls "Assisted A2DP Sink Architecture".

    That is, the CC2564 is sending the I2S signals directly to the CS43L22 audio on the Discovery board.

    The STM32F4 I2S should be tri-stated.

    Is this a correct assumption?
  • Hi,

    Yes, A3DP is "Assisted A2DP" where the SBC decoding happens at the CC256x side, and audio is available via the I2S interface as mentioned in the datasheet.

    Regards,
    Gigi Joseph.
  • Hello,
    I have the very same setup and get the same error in startDAC().
    How did you solve this?
    With kind regards,
    LL
  • It seems to be an I2C problem with the ioexpander not being present on the stm32f4discovery. I bypassed it by simply using an external codec.