Hi
I am writing an host program that communicates with the OAD Module in order to give my clients an option to upgrade the board from Windows computer.
I succeeded to have communication from the PC to the CC2541 without any problems.
I have a small issue that I don't get notifications from CC2541 to the PC.
After doing some debugging, I narrowed the issue to one specific place.
in OAD_TARGET.C for example in the function:
static void oadImgIdentifyReq(uint16 connHandle, img_hdr_t *pImgHdr)
{
uint16 value = GATTServApp_ReadCharCfg( connHandle, oadImgIdentifyConfig );
// If notifications enabled
if ( value & GATT_CLIENT_CFG_NOTIFY )
{
gattAttribute_t *pAttr = GATTServApp_FindAttr(oadAttrTbl, GATT_NUM_ATTRS(oadAttrTbl),
oadCharVals+OAD_CHAR_IMG_IDENTIFY);
if ( pAttr != NULL )
Value doesn't have the GATT_CLIENT_CFG_NOTIFY bit turned on
if I replace this line with 'if (1)' which always allows to continue,
I do get the notification in PC side.
This also implies that PC side is Ok.
So I wonder where 'value' is set and why isn't it with the correct value?
Thanks!