how to create new connect with ble host by ble_bond module?

Hi nordic team.

im devolep a keyboard  using ncs sdk by nrf52840.frist step,i want to Implement a function that my keyboard can be connected to three Bluetooth hosts at different times.

1.Firstly, the keyboard can be connected to three host devices in sequence.

2.The keyboard can freely switch and connect to different hosts through different keys.

3.The keyboard can delete the binding with any host through buttons.

i see some article that the ble_bond module can Switch the connection and earse bond,but i dont know how to connect a new host.my opration as fllow:

1.creat a new application by copy  application nrf_desktop.

2.modify the prj.conf

#
# Copyright (c) 2019 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#
################################################################################
# ZDebug: Keyboard version
#
# This ZDebug build type configuration acts as a keyboard.
#
# Application Configuration

CONFIG_DESKTOP_INIT_LOG_MOTION_EVENT=n
CONFIG_DESKTOP_INIT_LOG_HID_REPORT_EVENT=n
CONFIG_DESKTOP_INIT_LOG_HID_REPORT_SENT_EVENT=n
CONFIG_CAF_INIT_LOG_KEEP_ALIVE_EVENTS=n

CONFIG_DESKTOP_ROLE_HID_PERIPHERAL=y
CONFIG_DESKTOP_PERIPHERAL_TYPE_KEYBOARD=y
CONFIG_DESKTOP_DEVICE_PID=0x52DD
CONFIG_DESKTOP_HID_BOOT_INTERFACE_KEYBOARD=y

# Application supports 2 HID subscribers: HID over GATT (BLE) and a single USB HID instance
CONFIG_DESKTOP_HID_STATE_SUBSCRIBER_COUNT=2
CONFIG_DESKTOP_HID_STATE_HID_KEYMAP_DEF_PATH="hid_keymap_def_keyboard.h"
CONFIG_DESKTOP_HID_STATE_HID_KEYBOARD_LEDS_DEF_PATH="hid_keyboard_leds_def_keyboard.h"
CONFIG_DESKTOP_HID_REPORT_EXPIRATION=10000
CONFIG_DESKTOP_HID_EVENT_QUEUE_SIZE=60

CONFIG_CAF_BUTTONS=y
CONFIG_CAF_BUTTONS_POLARITY_INVERSED=y
CONFIG_CAF_BUTTONS_PM_KEEP_ALIVE=n

CONFIG_CAF_CLICK_DETECTOR=y

CONFIG_CAF_LEDS=y

CONFIG_DESKTOP_BUTTONS_SIM_ENABLE=y
CONFIG_DESKTOP_BUTTONS_SIM_INTERVAL=100
CONFIG_DESKTOP_BUTTONS_SIM_LOOP_FOREVER=y
CONFIG_DESKTOP_BUTTONS_SIM_TRIGGER_KEY_ID=0x03

CONFIG_DESKTOP_USB_ENABLE=y

CONFIG_DESKTOP_BLE_PEER_CONTROL=y
CONFIG_DESKTOP_BLE_PEER_CONTROL_BUTTON=0x0000
CONFIG_DESKTOP_BLE_PEER_ERASE_ON_START=y
CONFIG_DESKTOP_BLE_PEER_SELECT=y
CONFIG_DESKTOP_BLE_PEER_ERASE=y

CONFIG_DESKTOP_BLE_USE_DEFAULT_ID=y

CONFIG_DESKTOP_BLE_SECURITY_FAIL_TIMEOUT_S=10
CONFIG_DESKTOP_BLE_LOW_LATENCY_LOCK=y

CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE=y
CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=y

CONFIG_DESKTOP_HFCLK_LOCK_ENABLE=y

################################################################################
# Zephyr Configuration

CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1536
CONFIG_ISR_STACK_SIZE=1536
CONFIG_MAIN_STACK_SIZE=840
CONFIG_BT_RX_STACK_SIZE=2048
CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y
CONFIG_BT_HCI_TX_STACK_SIZE=1536

CONFIG_BOOT_BANNER=n

CONFIG_NUM_COOP_PRIORITIES=10
CONFIG_NUM_PREEMPT_PRIORITIES=11

CONFIG_HEAP_MEM_POOL_SIZE=4096

CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000
CONFIG_SYSTEM_CLOCK_NO_WAIT=y

CONFIG_HW_STACK_PROTECTION=y
CONFIG_RESET_ON_FATAL_ERROR=n

CONFIG_GPIO=y

CONFIG_SERIAL=n
CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n

CONFIG_REBOOT=y

CONFIG_SIZE_OPTIMIZATIONS=y

CONFIG_PWM=y

CONFIG_LED=y
CONFIG_LED_PWM=y

CONFIG_BT_MAX_PAIRED=5
CONFIG_BT_ID_MAX=6

CONFIG_BT_CTLR_SDC_LLPM=y
CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y
CONFIG_BT_CONN_TX_MAX=6

CONFIG_ENTROPY_CC3XX=n

################################################################################

CONFIG_ASSERT=y
CONFIG_ASSERT_LEVEL=2

CONFIG_DESKTOP_LOG=y

################################################################################
# Bootloader Configuration

CONFIG_SECURE_BOOT=y
CONFIG_BUILD_S1_VARIANT=y
CONFIG_FW_INFO=y
CONFIG_FW_INFO_FIRMWARE_VERSION=1
CONFIG_SB_SIGNING_KEY_FILE="b0_private.pem"

3.delet the button 1 report.

4.build and program it .

5.connect the device by my pc.

6.click  button 1,but the board no any reaction,it also connet the pc.

so if the ble_bond module cant support the new advertising,and i need start it by ble_adv module?the ble_bond module can only process erase bond and select bonded host?

Related