Nordic UART 2MBit

Dear Forum,

I am using the provided BLE-NUS UART examples (central/peripheral) to create a COM link via bluetooth.

As I failed to generate a setup which directly operates on 2MBit (including advertising), I considered the following threads:

 Fatal error while adding 2Mbps PHY 

AND:

 how to enable 2mbps 

Now, ending up as described in Thread #2, I did use the following code in ble_evt_handler:

            case BLE_GAP_EVT_CONNECTED:
                NRF_LOG_INFO("Connected");
                m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle;
                //err_code = nrf_ble_qwr_conn_handle_assign(&m_qwr, m_conn_handle);
                APP_ERROR_CHECK(err_code);
                myTrans.nusAct[0]|=2;
                myTrans.fDisconn=0;

                ble_gap_phys_t const phys =
                {
                    .rx_phys = BLE_GAP_PHY_2MBPS,
                    .tx_phys = BLE_GAP_PHY_2MBPS,
                };
                err_code = sd_ble_gap_phy_update(m_conn_handle, &phys);
                APP_ERROR_CHECK(err_code);

                break;

(I do not use the qwr, I have working code which was assured during tests with 1MBit mode).

The strange thing is now:

Everything seems to work fine, but I do not see an increase in transmission speed, whereas using the same code and switching to coded_phy (128k) renders a transmission speed of approximately the expected 1/8th of standard 1MBit mode.

So I wonder, if there are special settings required to activate 2MBit and be able to USE the double transfer rate?

FYI: I use NRF DK52833 (peripheral) and EV-BM833 (central) as hardware.

Best regards,

Richard

Parents Reply Children
  • Hello Simon,

    Thank you for the suggestion. I downloaded the zip, extracted (in the correct path relation to libs) to SDK_17.0.2_d674dde which I'm using and compiling ble_app_uart_c, I got the following errors after successful compilation during linking with SES:


      Generating linker script 'ble_app_uart_c_pca10056_s140.ld'
      Linking ble_app_uart_c_pca10056_s140.elf
        Output/Release/Obj/ble_app_uart_c_pca10056_s140/ses_startup_nrf_common.o: in function `InitializeUserMemorySections':
        undefined reference to `__RAM1_segment_end__'
        Output/Release/Obj/ble_app_uart_c_pca10056_s140/main.o: in function `main':
        undefined reference to `ble_nus_c_string_send_old'
    Build failed

    The ___RAM1_segment_end__ error also applies to the ble_app_uart.

    Additional info: I used the pca10056_s140 definitions for usage, because these are most similar to the projects I used for my development.

    I use SES 5.44 on Xubuntu 20.04 LTS.

    Maybe Edwin could take a look and suggest solutions?

    Best regards,

    Richard

Related