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 firmware possible bug

Hello,

I'm checking the DTM code from nRF5 SDK15.2.0. 

In the ble_dtm.c file, line 763:

if ((m_radio_mode == RADIO_MODE_MODE_Ble_1Mbit || m_radio_mode == RADIO_MODE_MODE_Ble_2Mbit) && payload == DTM_PKT_VENDORSPECIFIC)
    {
        /* Note that in a HCI adaption layer, as well as in the DTM PDU format,
           the value 0x03 is a distinct bit pattern (PRBS15). Even though BLE does not
           support PRBS15, this implementation re-maps 0x03 to DTM_PKT_VENDORSPECIFIC,
           to avoid the risk of confusion, should the code be extended to greater coverage.
        */
        m_packet_type = DTM_PKT_TYPE_VENDORSPECIFIC;
    }

And in the ble_dtm.h file lines 104-110:

#define DTM_PKT_0XFF                    0x03                                /**< Bit pattern 11111111 (Used only for coded PHY). */
#define DTM_PKT_VENDORSPECIFIC          0x03                                /**< Vendor specific PKT field value. Nordic: Continuous carrier test, or configuration. */
#define DTM_PKT_TYPE_VENDORSPECIFIC     0xFF                                /**< Vendor specific packet type for internal use. */

DTM_PKT_0XFF and DTM_PKT_VENDORSPECIFIC have the same value.

In my opinion if the command being sent is LE_TRANSMITTER_TEST then you cannot do a DTM_PKT_0XFF transmitter test as it's recognized as a vendor specific packet. Is this true?

Would changing the DTM_PKT_VENDORSPECIFIC to 0x04 break anything else or would be an ok fix for this bug?

Thank you

Parents
  • Hi,

    In my opinion if the command being sent is LE_TRANSMITTER_TEST then you cannot do a DTM_PKT_0XFF transmitter test as it's recognized as a vendor specific packet. Is this true?

    Yes, this is true if you are running in 1MBIT or 2MBIT PHY mode. This is also mentioned in the commend ("Bit pattern 11111111 (Used only for coded PHY)"). This is intentional, this packet type is only used for BLE Coded PHY.

    Best regards,
    Jørgen

Reply
  • Hi,

    In my opinion if the command being sent is LE_TRANSMITTER_TEST then you cannot do a DTM_PKT_0XFF transmitter test as it's recognized as a vendor specific packet. Is this true?

    Yes, this is true if you are running in 1MBIT or 2MBIT PHY mode. This is also mentioned in the commend ("Bit pattern 11111111 (Used only for coded PHY)"). This is intentional, this packet type is only used for BLE Coded PHY.

    Best regards,
    Jørgen

Children
No Data
Related