Hello everyone
I am using BLE Peripheral UART and Central UART samples to send data between two nrf5340 dev. kits.
I'm trying to set the directed advertising on the peripheral, so it accepts only connections request from my peer, but I can't find, in which format should i set the address of the central. I tried to change it this way in peripheral main, but it did not connect.
err = bt_le_adv_start(((struct bt_le_adv_param[]) {
{ .id = BT_ID_DEFAULT, .sid = 0, .secondary_max_skip = 0,
.options = (BT_LE_ADV_OPT_CONNECTABLE), .interval_min = (0x00a0),
.interval_max = (0x00f0), .peer = {0xF0,0x33,0x4D,0x3A,0x9F,0x6B}, } }),
ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
I am also a little bit confused of the Bluetooth LE Device Adress in addr.h library.
/** Bluetooth Device Address */
typedef struct {
uint8_t val[BT_ADDR_SIZE];
} bt_addr_t;
/**/
/** Length in bytes of an LE Bluetooth address. Not packed, so no sizeof() */
#define BT_ADDR_LE_SIZE 7
/** Bluetooth LE Device Address */
typedef struct {
uint8_t type;
bt_addr_t a;
} bt_addr_le_t;
What does the variable type mean and in which way should I write the bt_addr_t?
Here is the log from J-Link RTT Viewer
00> [00:00:00.272,583] <inf> fs_nvs: 2 Sectors of 4096 bytes 00> [00:00:00.272,583] <inf> fs_nvs: alloc wra: 0, fc8 00> [00:00:00.272,583] <inf> fs_nvs: data wra: 0, 2c 00> [00:00:00.300,354] <inf> bt_hci_core: No ID address. App must call settings_load() 00> [00:00:00.300,354] <inf> peripheral_uart: Bluetooth initialized 00> [00:00:00.949,981] <inf> peripheral_uart: Connected F0:33:4D:3A:9F:6B (random) 00> [00:00:01.664,978] <wrn> peripheral_uart: Failed to send data over BLE connection
Could please somebody help me or give me any advice?
Sorry for maybe stupid questions, I am just beginner and did not find it anywhere.