Dear,
I am using nRF5340 and I am trying to scan devices around me. With the example observer my device founds other devices around me, but when I use the same configuration and the same functions into my project the device doesn't find anything. The code is the same, exactly the same but I can't see anything.
The prj.conf is
#Peripherals CONFIG_GPIO=y CONFIG_SPI=y CONFIG_FLASH=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_MPU_ALLOW_FLASH_WRITE=y CONFIG_PRINTK=y # Bootloader CONFIG_BOOTLOADER_MCUBOOT=y # Bluetooth configuration CONFIG_BT=y #CONFIG_BT_PERIPHERAL=y #CONFIG_BT_DEVICE_NAME="Test" #CONFIG_BT_DEBUG_LOG=y #CONFIG_BT_CENTRAL=y #CONFIG_BT_SCAN=y CONFIG_BT_OBSERVER=y # Other CONFIG_MAIN_STACK_SIZE=2048 CONFIG_LOG=y
And the code is:
#include <zephyr/bluetooth/bluetooth.h>
#include <zephyr/bluetooth/hci.h>
#if (APP_DEBUG_ON == 1)
#include <zephyr/sys/printk.h>
#endif
#define DEVICE_NAME CONFIG_BT_DEVICE_NAME
#define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1)
static void deviceFound (const bt_addr_le_t *addr,
int8_t rssi,
uint8_t type,
struct net_buf_simple *buf)
{
char dev[BT_ADDR_LE_STR_LEN];
// if (type == BT_GAP_ADV_TYPE_ADV_SCAN_IND)
// {
bt_addr_le_to_str(addr, dev, sizeof(dev));
printk("[DEVICE]: %s, AD evt type %u, AD data len %u, RSSI %i\n",dev, type, buf->len, rssi);
// }
}
void Bluetooth_init (void)
{
int err = 0;
err = bt_enable(NULL);
if (err)
{
#if (APP_DEBUG_ON == 1)
printk("ERROR: Bluetooth init failed (err %d)\n", err);
#endif
goto bluetooth_init_error;
}
#if (APP_DEBUG_ON == 1)
printk("BLUETOOTH0: Bluetooth initialized\n");
#endif
struct bt_le_scan_param scanParam =
{
.type = BT_LE_SCAN_TYPE_PASSIVE,
.options = BT_LE_SCAN_OPT_FILTER_DUPLICATE,
.interval = BT_GAP_SCAN_FAST_INTERVAL,
.window = BT_GAP_SCAN_FAST_WINDOW,
};
err = bt_le_scan_start(&scanParam, deviceFound);
if (err)
{
#if (APP_DEBUG_ON == 1)
printk("ERROR: Scanning failed to start (err %d)\n", err);
#endif
goto bluetooth_init_error;
}
#if (APP_DEBUG_ON == 1)
printk("BLUETOOTH0: Scanning successfully started\n");
#endif
bluetooth_init_error:
if (err)
{
// TODO
}
}
The output log is:
BLUETOOTH0: Bluetooth initialized BLUETOOTH0: Scanning successfully started
Where is it the error? Haw can I debug this issue?
Thanks
Marco