3 Replies Latest reply on Aug 3, 2014 5:09 PM by jota_1939431

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

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

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

          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

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

            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.

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

              Hello vesto,

               

              Have you tried downloading the new SDK 2.1.0?  WICED Smart Docs & Downloads

               

              It was released on Friday

               

              Let me know if the SDK 2.1.0 fixes your issue.

               

              Thanks

              JT