This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

S130 potential unstability case

This code do a test triangle with 3 boards on mbed (using BLE API). I have digged in BLE_API and it looks like if instability was in S130. Have you this kind of test in internal ?

I want to help, do you have a code like that on pure SDK style that i could test ?

link 1: board A is central, board B is device link 2: board B is central, board C is device link 3: board C is central, board A is device

every time a char is received on serial port of a board, it's reported to the serial ports of the 2 other boards connected.

It works not so bad but depending on connections order, some half links are not working.

For the boards that did first connection as central and second as device, both TX are working. For the boards that did first connection as device and second as central, half TX are working.

Characteristics discovery sometimes fails.

code.txt

Parents
  • 13313 is for ERROR_BLEGATTS_SYS_ATTR_MISSING

    this is the code in mbed that call function

    error_t error = (error_t) sd_ble_gatts_hvx(gapConnectionHandle, &hvx_params); if (error != ERROR_NONE) { switch (error) { case ERROR_BLE_NO_TX_BUFFERS: /* Notifications consume application buffers. The return value can be used for resending notifications. */ case ERROR_BUSY: returnValue = BLE_STACK_BUSY; break;

                case ERROR_INVALID_STATE:
                    returnValue = BLE_ERROR_INVALID_STATE;
                    break;
                    
                case ERROR_BLEGATTS_SYS_ATTR_MISSING:
                    printf("%d\r\n", error);
                    returnValue = BLE_ERROR_INVALID_STATE;
                    break;
    
                default :
                    ASSERT_INT( ERROR_NONE,
                                sd_ble_gatts_value_set(connectionHandle, attributeHandle, &value),
                                BLE_ERROR_PARAM_OUT_OF_RANGE );
                    break;
            }
        }
    

    does anyone have an idea how to fix error ?

Reply
  • 13313 is for ERROR_BLEGATTS_SYS_ATTR_MISSING

    this is the code in mbed that call function

    error_t error = (error_t) sd_ble_gatts_hvx(gapConnectionHandle, &hvx_params); if (error != ERROR_NONE) { switch (error) { case ERROR_BLE_NO_TX_BUFFERS: /* Notifications consume application buffers. The return value can be used for resending notifications. */ case ERROR_BUSY: returnValue = BLE_STACK_BUSY; break;

                case ERROR_INVALID_STATE:
                    returnValue = BLE_ERROR_INVALID_STATE;
                    break;
                    
                case ERROR_BLEGATTS_SYS_ATTR_MISSING:
                    printf("%d\r\n", error);
                    returnValue = BLE_ERROR_INVALID_STATE;
                    break;
    
                default :
                    ASSERT_INT( ERROR_NONE,
                                sd_ble_gatts_value_set(connectionHandle, attributeHandle, &value),
                                BLE_ERROR_PARAM_OUT_OF_RANGE );
                    break;
            }
        }
    

    does anyone have an idea how to fix error ?

Children
No Data
Related