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.

ANCS profile phone call notification probrem on cc2640

I tested ANCS profile.

Test platform: Srf06+ cc2650em

Stack version: ble_cc26xx_2_01_01_44627+ http://processors.wiki.ti.com/index.php/Cc2640_ANCS_Sample

tested phone: IPhone6(IOS10.0.2)

It well works phone call notification from Iphone(I veified LED).

but It is sometimes don't send notification message.

Iphone and Ti evm connect bt function.

and then I turn off and turn on bluetooth setting from iphone.

and auto connect blutooth function with Iphone.

It doesn't send phone call notificaton (LED don't turn on) 

But if I turn off the evm kit and turn on, I can see the incoming call indication(LED).

Br yjkim

  • Hi Young,

    The ANCS example you reference does have a disclaimer that it is not fully tested. Have you tested with other iOS devices?

    How reproducible is this issue? Do you see this problem under specific circumstances?

    Can you send a sniffer capture of this behavior?
  • log.zipHi Rachel

    I think It is common problem.

    I attached air log.

    Test_1 : iphone5, ios 10.0.2

    Test_2 : iphone6s+, ios 10.0.2

    I test to set noti config charicter when Iphone reconect TI EVM kit.

    but It don't response any message.

    ====================================================

    void AncsApp_discoverService(gattMsgEvent_t *pMsg)

    {

     static uint8_t discoveryState = DISC_ANCS_START;

     static uint16_t Ancs_svcStartHdl;

     static uint16_t Ancs_svcEndHdl;

     static uint8_t Ancs_endHdlIdx;

     static uint8_t isNotifCCCD = FALSE;

     switch (discoveryState)

     {

       case DISC_IDLE:

    while (SUCCESS != Ancs_subsNotifSrc()){}

                   while (SUCCESS != Ancs_subsDataSrc()){}

    break;

    =============================================================

    Br

    yjkim

  • yjkim,

    Yes, it is.
    The reason is that when connection terminated, Ancs_connHandle will be valued to 0xff and globe variable discoveryState value is error.

    first comments Ancs_connHandle = INVALID_CONNHANDLE;

    static void AncsApp_disconnected(void) {
    // Initialize state variables
    //AncsApp_discState = DISC_IDLE;

    Ancs_unSubsNotifSrc();
    Ancs_unSubsDataSrc();

    // Invalidate connection variables.
    //Ancs_connHandle = INVALID_CONNHANDLE;
    }

    then added below code in ANCSAPP_START_DISC_EVT.

    // Service discovery event.
    if (events & ANCSAPP_START_DISC_EVT)
    {
    events &= ~ANCSAPP_START_DISC_EVT;
    //This event will kick off service discovery.
    //The event is only called once, when the GAPROLE is connected
    discoveryState = DISC_ANCS_START;
    AncsApp_discoverService(NULL);
    }
  • Hi

    Thank you for your help.

    It is cleared.

    br

    yjkim