This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NFC url with ble_stack

Hi all,

I'm working on a implementation of the nfc url to my custom nrf52832 product.

I would like to run the record_url example on my custom application. I made a library which is basically the same code as the example :

err_code = nfc_t2t_setup(nfc_callback, NULL);
VERIFY_SUCCESS(err_code);

uint32_t len = sizeof(m_ndef_msg_buf);

// Encode URI message into buffer
err_code = nfc_uri_msg_encode(NFC_URI_HTTP_WWW,
                               m_url,
                               sizeof(m_url),
                               m_ndef_msg_buf,
                               &len);
VERIFY_SUCCESS(err_code);

// Set created message as the NFC payload
err_code = nfc_t2t_payload_set(m_ndef_msg_buf, len);
VERIFY_SUCCESS(err_code);

err_code = nfc_t2t_emulation_start();
APP_ERROR_CHECK(err_code);

This is perfectly working alone. Let me explain : When I launch my code with only NFC, it's works ! But when I add "ble_stack_init()", the nfc seems to stop working.

ble_stack_init() :

	err_code = nrf_sdh_enable_request();
APP_ERROR_CHECK(err_code);

// Configure the BLE stack using the default settings.
// Fetch the start address of the application RAM.
uint32_t ram_start = 0;
err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &ram_start);
APP_ERROR_CHECK(err_code);

// Enable BLE stack.
err_code = nrf_sdh_ble_enable(&ram_start);
APP_ERROR_CHECK(err_code);

// Register a handler for BLE events.
NRF_SDH_BLE_OBSERVER(m_ble_observer, APP_BLE_OBSERVER_PRIO, on_ble_evt, NULL);

On debug, I have nfc init and start ok! But when I come with the polling device, the library says : "nfc_hal: Reinitialize".

Do you have any ideas of what can cause that ? Maybe the ble stack is stoping HFCLK ? CLOCK_ENABLED is correctly define.

Thanks in advance for your help.

Related