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