Hello all,
i have a problem and I hope that someone can help me.
I can change the bluetooth address of the device with the following code:
err = bt_addr_le_from_str(addr_str, type_str, &addr); if (err) { printk("Invalid BT address (err %d)\n", err); } if (addr.type == BT_ADDR_LE_PUBLIC) { printk("Using public address\n"); err = bt_ctlr_set_public_addr(addr.a.val); if (err) { printk("Failed to set public address (err %d)\n", err); } else { printk("Public address set successfully\n"); } return; }
and this is okay.
I have the problem when I add this part of code:
CONFIG_SETTINGS=y
and
if (IS_ENABLED(CONFIG_SETTINGS)) { settings_load(); printk("Settings load \n"); }
With this part of code I can not set my bluetooth address. The bluetooth address of the the device is not the one that I have setted but is the one inside the chip (i think).
I need to add settings_load() to keep the bond device information after the power off.
How can avoid this??
Thanks in advance.