Skip to content

BLE-Cordio-Stack: Unable to disable ble features #13541

@DBS06

Description

@DBS06

Description of defect

I tried to disable a couple of ble-features to reduce the code size. I set the following in the mbed_app.json:

            "ble.ble-feature-extended-advertising": false,
            "ble.ble-feature-gatt-client": false,
            "ble.ble-feature-gatt-server": true,
            "ble.ble-feature-periodic-advertising": false,
            "ble.ble-feature-phy-management": false,
            "ble.ble-feature-privacy": false,
            "ble.ble-feature-secure-connections": false,
            "ble.ble-feature-security": true,
            "ble.ble-security-database-filesystem": false,
            "ble.ble-security-database-kvstore": false,
            "ble.ble-feature-signing": false,
            "ble.ble-feature-whitelist": false,
            "ble.ble-role-central": false,
            "ble.ble-role-observer": false,
            "ble.ble-role-broadcaster": true,
            "ble.ble-role-peripheral": true,

But if I do this I get the following compile-error:

/xxx/mbed-os/connectivity/FEATURE_BLE/libraries/ble-api-implementation/source/SecurityManagerImpl.cpp: At global scope:
/xxx/mbed-os/connectivity/FEATURE_BLE/libraries/ble-api-implementation/source/SecurityManagerImpl.cpp:477:13: error: no declaration matches 'ble_error_t ble::SecurityManager::enableSigning(ble::connection_handle_t, bool)'
  477 | ble_error_t SecurityManager::enableSigning(
      |             ^~~~~~~~~~~~~~~
/xxx/mbed-os/connectivity/FEATURE_BLE/libraries/ble-api-implementation/source/SecurityManagerImpl.cpp:477:13: note: no functions named 'ble_error_t ble::SecurityManager::enableSigning(ble::connection_handle_t, bool)'
In file included from ./mbed-os/connectivity/FEATURE_BLE/include/ble/SecurityManager.h:907,
                 from /xxx/mbed-os/connectivity/FEATURE_BLE/libraries/ble-api-implementation/source/SecurityManagerImpl.cpp:21:
./mbed-os/connectivity/FEATURE_BLE/libraries/ble-api-implementation/include/ble/internal/SecurityManagerImpl.h:42:7: note: 'class ble::SecurityManager' defined here
   42 | class SecurityManager :
      |       ^~~~~~~~~~~~~~~

Target(s) affected by this defect ?

NRF52840_xxAA

Toolchain(s) (name and version) displaying this defect ?

gcc-arm-none-eabi-9-2019-q4-major

What version of Mbed-os are you using (tag or sha) ?

mbed-os-6.2.1

What version(s) of tools are you using. List all that apply (E.g. mbed-cli)

mbed-cli

How is this defect reproduced ?

enable/disable ble features

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions