Hi,
I have two custom boards, one is central with nRF52933 and other is peripheral with nRF52832.
In the previous test, the connection between the 52833 central board and other beacon device was successful. So, in order to connect with 52832 custom board as it is, I modified the scan setting of the central device. I modified only the UUID and UUID type, but the central does not find the device. (Also change ble_lbs_c_init.) I can't find what settings I missed.
#define LBS_UUID_BASE {{0x9E, 0xCA, 0xDC, 0x24, 0x0E, 0xE5, 0xA9, 0xE0, 0x93, 0xF3, 0xA3, 0xB5, 0x00, 0x00, 0x40, 0x6E}} /**< Used vendor specific UUID. */
#define LBS_UUID_SERVICE 0x0001
#define LBS_UUID_BUTTON_CHAR 0x0002
#define LBS_UUID_LED_CHAR 0x0003
//...
#define BLE_UUID_TEST_SERVICE LBS_UUID_SERVICE //0x0001
#define TEST_SERVICE_UUID_TYPE BLE_UUID_TYPE_VENDOR_BEGIN
static ble_uuid_t const m_nus_uuid =
{
.uuid = BLE_UUID_TEST_SERVICE,
.type = TEST_SERVICE_UUID_TYPE
};
static void scan_init(void)
{
ret_code_t err_code;
nrf_ble_scan_init_t init_scan;
memset(&init_scan, 0, sizeof(init_scan));
init_scan.connect_if_match = true;
init_scan.conn_cfg_tag = APP_BLE_CONN_CFG_TAG;
err_code = nrf_ble_scan_init(&m_scan, &init_scan, scan_evt_handler);
APP_ERROR_CHECK(err_code);
err_code = nrf_ble_scan_filter_set(&m_scan, SCAN_UUID_FILTER, &m_nus_uuid);
APP_ERROR_CHECK(err_code);
err_code = nrf_ble_scan_filters_enable(&m_scan, NRF_BLE_SCAN_UUID_FILTER, false);
APP_ERROR_CHECK(err_code);
}
The 52832 custom board is the same as the example of the ble_app_uart, so if it set the ble_app_uart_c on the 52833 central board, the two devices connect well.
Then, there is no problem with the peripheral board, and the central board is paired with other devices, so it's the same that there's no problem, but I think there's something missing in the scan setting that I can't find my custom peripheral board.
Except for the uuid and uuid types, where else should I check?
BR,
lyrics