Incorrect response to a RBLE_GAP_Device_Search(RBLE_GAP_CANCEL_DISCOVERY, RBLE_ADDR_PUBLIC)

When calling the method RBLE_GAP_Device_Search(RBLE_GAP_CANCEL_DISCOVERY, RBLE_ADDR_PUBLIC) to stop a device search when neither a device search or an observation is ongoing, I get a RBLE_GAP_EVENT_OBSERVATION_DISABLE_COMP event. At minimum I would expect a RBLE_GAP_EVENT_DEVICE_SEARCH_COMP event or an error on the call. Note that I am using some undocumented VS methods with respect to the device search in order to set the scan window and scan interval and duration. I am using RBLE v1.20 in modem mode.

I am assuming this is some type of bug.

  • Certainly RBLE_GAP_EVENT_OBSERVATION_DISABLE_COMP returns.

    Whether it is RBLE_GAP_EVENT_OBSERVATION_DISABLE_COMP of when a device search is done can be determined by "status".

  • In reply to K.noto:

    I had a Device Search going. I stopped it while I connected. I did not start it. But then I called to end device search one more time. NO scanning of any type was ongoing. But I got a RBLE_GAP_EVENT_OBSERVATION_DISABLE_COMP event. That makes no sense. I had not ever started such a scan type.

  • In reply to Brian:

    The stack library internaly uses RBLE_GAP_Observation_Disable to cancel a device search.

    Therefore, RBLE_GAP_EVENT_OBSERVATION_DISABLE_COMP returns.

  • In reply to K.noto:

    That is strange, because that is not the response I get if a Device Search is ongoing. Of course that is also problematic. How can I tell when the observation disable complete is going to be sent instead of the device search complete? That is pretty important to know as I am handling very different operations when I am using observations instead of device search. So my handler for the observation disable complete is different than the device search complete event.