Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support to Bluetooth RPC Host for nRF54H20 #15634

Merged
merged 4 commits into from
Jun 5, 2024

Commits on Jun 5, 2024

  1. snippets: Add new snippet to enable build BLE samples with BT rpc_host

    There is experimental RPC wrapper for Bluetooth API.
    To make possible use of BLE samples with nRF54h20 and the RPC API
    there is required a settings partition for Radio core.
    That means current memory map has to be changed to make room for new
    settings partition.
    To make an application to use the Bluetooth rpc subsystem there is
    added CONFIG_BT_RPC_STACK. It enables BT RPC host client wrapper to be
    used instead of regular Bluetooth API.
    
    With these changes end user needs to add -S nrf-bt-rpc to west call
    to build a compatible BLE sample for BT RPC host.
    
    To make clean complete build for both Radio and App cores addtitional
    changes are required in sysbuild configuration. These will be added
    in follow up commits.
    
    The snippet can be also used for builds for nRF5340, though there is
    no need for memory map reorganization.
    
    Signed-off-by: Piotr Pryga <[email protected]>
    ppryga-nordic committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    2876b5f View commit details
    Browse the repository at this point in the history
  2. sysbuild: Add missing config that allows to build rpc_host for Rad core

    There were no simple way to use sysbuild for building BLE samples
    with rpc_host running on Radio core. Add required configuration to
    sysbuild. Now an application can be targeted to be build with
    rpc_host by adding NRF_DEFAULT_RPC_HOST=y to Kconfig.sysbuild.
    
    Signed-off-by: Piotr Pryga <[email protected]>
    ppryga-nordic committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    4845a72 View commit details
    Browse the repository at this point in the history
  3. samples: bluetooth: peripheral_urat: Add nrf54h20 rpc_host to build

    Add possibility to build the sample application targeted to nrf54h20
    with use of Bluetooth API wrapped with RPC Host client. The Radio
    core application in such case must be ipc_radio with enabled Bluetooth
    RPC host. That reqires change to sysbuild configuration of the
    sample application.
    
    One note, the Bluetooth RPC subsystem requires to have same Bluetooth
    device name on obth ends of RPC communication, so there is used
    FILE_SUFFIX=bt_rpc and provided sysbuild configuration files that
    are include when the suffix is used in build call.
    
    To build the sample with enabled Bluetooth RPC subsys use:
    'west build -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -p
     -S nordic-bt-rpc -- -DFILE_SUFFIX=bt_rpc'
    
    Signed-off-by: Piotr Pryga <[email protected]>
    ppryga-nordic committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    e64a850 View commit details
    Browse the repository at this point in the history
  4. Bluetooth: rpc: Change handling of remote settings initialization

    The former implementation of settings initialization was based on
    a command send by client by rpc_settings_set() function. That function
    was called by stetings subsustem during settings_load() execution.
    That together created deep execution call stack that required extended
    main thread stack size.
    
    To avoid the change to stack size, the implementation is changed,
    to send the settings load command to host if CONFIG_SETTINGS is
    eanbled. The command is send directly from bt_enable() function
    in bt_rpc_gap_client.c.
    
    Signed-off-by: Piotr Pryga <[email protected]>
    ppryga-nordic committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    e18afc4 View commit details
    Browse the repository at this point in the history