Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

DTM Command

Hi,

I would like to ask two questions.

1)

I understand that the nrf52832 does not support the feature "Transmitter has a Stable Modulation Index".

But the component "ble_dtm.c" in the nRF52 SDK(version 15.3)  returns the value "0x0006" in the LE_Test_Status event.

According to "Direct Test Mode" in the Bluetooth specification(BLUETOOTH CORE SPECIFICATION Version 5.1 ),

bit2 and bit3 indicates these meanings. The component "ble_dtm.c" is correct?

bit2:LE 2M PHY supported

bit3:Transmitter has a Stable Modulation Index

-- ble_dtm.c --

else if (freq == LE_TEST_SETUP_READ_SUPPORTED)

{

       if (length != 0x00)

       {

             m_event = LE_TEST_STATUS_EVENT_ERROR;

             return DTM_ERROR_ILLEGAL_CONFIGURATION;

       }

       // 0XXXXXXXXXXX0110 indicate that 2Mbit and DLE is supported and stable modulation is not supported (No nRF5 device supports this).

       m_event = 0x0006;

}

---------------------------------------------------------------------------

2)

Also, I understand that nrf52832 supports the LE Data Packet Length Extension and does not support LE Coded PHY.

According to "Link Layer Specification" in the Bluetooth specification, if the device supports "LE Data Packet Length Extension feature" and does not support "LE Coded PHY feature",

Parameters with names ending in "Octets" need to have the range "27 - 251", Parameters with names ending in "Time" needs to have the range "328 - 2120".

But the component "ble_dtm.c" in the nRF52 SDK(version 15.3)  returns the value "0x01FE(decimal:510)" for Parameters with names ending in "Octets" and

returns "0x4290(decimal:17040)" for Parameters with names ending in "Time".

The component "ble_dtm.c" is correct?

-- ble_dtm.c --

else if (freq == LE_TEST_SETUP_READ_MAX)

{

      // Read max supported value.

      switch (length)

      {

             case 0x00:

                      // Read supportedMaxTxOctets

                      m_event = 0x01FE;

                      break;

            case 0x01:

                     // Read supportedMaxTxTime

                    m_event = 0x4290;

                    break;

            case 0x02:

                   // Read supportedMaxRxOctets

                  m_event = 0x01FE;

                  break;

            case 0x03:

                  // Read supportedMaxRxTime

                 m_event = 0x4290;

                 break;

---------------------------------------------------------------------------

Best Regards,

Manabu

Parents
  • Dear Manabu,

    bit2 and bit3 indicates these meanings. The component "ble_dtm.c" is correct?

     0x0006 is bit 1 and bit 2. Bit 0 is the status bit:

    We will then return that stable modulation index is not supported.

     

     

    But the component "ble_dtm.c" in the nRF52 SDK(version 15.3)  returns the value "0x01FE(decimal:510)" for Parameters with names ending in "Octets" and

    returns "0x4290(decimal:17040)" for Parameters with names ending in "Time".

    The component "ble_dtm.c" is correct?

    In case of DLE and coded PHY support, the returned value of 17040 is correct. However, when CodedPHY is not supported, it should return max. 2120.

    I will report this internally.

     

    Thank you for notifying us of this!

     

    Kind regards,

    Håkon

Reply
  • Dear Manabu,

    bit2 and bit3 indicates these meanings. The component "ble_dtm.c" is correct?

     0x0006 is bit 1 and bit 2. Bit 0 is the status bit:

    We will then return that stable modulation index is not supported.

     

     

    But the component "ble_dtm.c" in the nRF52 SDK(version 15.3)  returns the value "0x01FE(decimal:510)" for Parameters with names ending in "Octets" and

    returns "0x4290(decimal:17040)" for Parameters with names ending in "Time".

    The component "ble_dtm.c" is correct?

    In case of DLE and coded PHY support, the returned value of 17040 is correct. However, when CodedPHY is not supported, it should return max. 2120.

    I will report this internally.

     

    Thank you for notifying us of this!

     

    Kind regards,

    Håkon

Children
Related