- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I noticed that when I have initiated a RACP command that if I then iniate any other procedure that it returns as "ALREADY in PROGRESS" response .. which is correct and expected ... however, when I initiate an ABORT procedure it does not actually ABORT anything. None of the ABORT logic seems to be called ... it is only called if we are NOT in PROGRESS. Doesnt this counter the whole point of wanting to abort something? Unless I misunderstood how the Abort should work ...
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello vesto,
Have you tried downloading the new SDK 2.1.0? WICED Smart Documents & Downloads
It was released on Friday
Let me know if the SDK 2.1.0 fixes your issue.
Thanks
JT
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello vesto
- Can you please collect the trace for us to examine?
- From our looking at the ROM code when peer sends Abort, the blebgm_racpOperationAbort flag is set.
- In the blebgm_handleRACPStates the flag is checked, and if TRUE state is set back to IDLE.
Thank you
JT
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actually if you look at the ROM code in function blebgm_writeCb … and current state is either PEND/ACTIVE or COMPLETE case and it receives an ABORT
There is a comment that states
case BLEBGM_RACP_COMPLETE:
case BLEBGM_RACP_ACTIVE:
case BLEBGM_RACP_PEND:
// We got request while we are processing
// request. Abort has already been checked so this is
// not abort.
return BLEBGM_RACP_RSP_PROCEDURE_ALREADY_IN_PROGRESS;
This statement does not seem correct to me. The ABORT has not yet been checked.
There should be something like this at this point
case BLEBGM_RACP_COMPLETE:
case BLEBGM_RACP_ACTIVE:
case BLEBGM_RACP_PEND:
if(attrPtr[0] == 0x03 && attrPtr[1] == 0x00)
{
// This is ABORT
break;
}
else
{
return BLEBGM_RACP_RSP_PROCEDURE_ALREADY_IN_PROGRESS;
}
Because if this check isn’t here then the Abort Flag is never set. It is ONLY set for the IDLE state which makes no sense.
The ABORT is NOT handled correctly for states that are NOT IDLE. That is the main point I am trying to make.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello vesto,
Have you tried downloading the new SDK 2.1.0? WICED Smart Documents & Downloads
It was released on Friday
Let me know if the SDK 2.1.0 fixes your issue.
Thanks
JT