We are working with code that has been ported to CC2640R2F from a CCS 7.0.0.00042 ProjectZero based CC2640F128 project which uses BLE stack 2.2.1.
The ported code uses CCS 8.3.1.00004, SimpleLink CC2640F2 SDK 1.40.0.45 and BLE Stack is 3.x.
We also use our own IOS App that connects and works perfectly with CC2640F128 boards that are running the original un-ported code.
We have been stalled for weeks now trying to get the ported code to work on our CC2640R2F boards.
We have made progress but we are stuck at this point:
- The ported code advertises and the R2F boards show up in our IOS App listing of nearby advertising devices (the list also includes un-ported F128 boards that are also advertising nearby).
- When we touch an un-ported F128 board in the list, the connections are made and the IOS App works fully with 4 characteristics that are notifying and the IOS App can send and receive data to the un-ported F128 board.
- When we touch a ported R2F board in the list, the connection is made and the Gap Role state shows 'Connected' during a debug session with that ported R2F board.
- After connection, there is some back and forth IOS to R2F communication that gets 4 characteristics into a notifying state.
- Then the IOS App sends values for a charcteristic but this never generates a '.._processCharValueChangeEvt(uint8_t paramID)' event in the CCS8 debug session.
- Also, at this time, no more Hal events are generated in the debug session. For instance, a valid and active breakpoint on this line 'events = Event_pend(syncEvent, Event_Id_NONE, HAL_ALL_EVENTS, ICALL_TIMEOUT_FOREVER);' is never reached.
- However the debug session has not crashed, code is executing and if I do a debug 'Pause', the code breaks at many different locations, here is one location:

Please take careful note of item #2 in the above list. The fact that item #2 happens means that the IOS App is not at fault here, and that the un-ported F128 code works perfectly in all of its BLE communications with the IOS App.
So, there is a reason that the ported code does not work on our ported code CC2640R2F boards and we need help finding out what that reason is.
Can anyone suggest a place to start from here?
Thanks,
Dale








