Is there a known issue with how the Abort works in the blebgm.c in SDK 2.0.1?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

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 ...

0 Likes
1 Solution
Anonymous
Not applicable

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

View solution in original post

0 Likes
3 Replies
Anonymous
Not applicable

Hello vesto

  1. Can you please collect the trace for us to examine?
  2. From our looking at the ROM code when peer sends Abort, the blebgm_racpOperationAbort flag is set.
  3. In the blebgm_handleRACPStates the flag is checked, and if TRUE state is set back to IDLE.

Thank you

JT

0 Likes
Anonymous
Not applicable

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.

0 Likes
Anonymous
Not applicable

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

0 Likes