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
  • Hi

    Since the project in the case I linked to is for SDK v16.0.0 there are some migration actions necessary to make it run correctly. Please check out the migration guide here and get back to me if you run into trouble.

    The RAM1_segment_end error I recognize, and I think this is due to the RAM changing from RAM1 to RAM in either the Memory Segments or Section Placement Macros in SEGGER Embedded Studios Project options > Linker at some point. Please try changing RAM1 to RAM or the other way around in Memory Segments. (It's been a while so I don't remember which of the two is correct to use unfortunately.

    Best regards,

    Simon

Reply
  • Hi

    Since the project in the case I linked to is for SDK v16.0.0 there are some migration actions necessary to make it run correctly. Please check out the migration guide here and get back to me if you run into trouble.

    The RAM1_segment_end error I recognize, and I think this is due to the RAM changing from RAM1 to RAM in either the Memory Segments or Section Placement Macros in SEGGER Embedded Studios Project options > Linker at some point. Please try changing RAM1 to RAM or the other way around in Memory Segments. (It's been a while so I don't remember which of the two is correct to use unfortunately.

    Best regards,

    Simon

Children
No Data
Related