This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2541: Direct Test Mode (DTM) - Determining Pass/Fail for HCI_LE_Receiver_Test (ETSI EN 300 328 V2.2.2)

Part Number: CC2541
Other Parts Discussed in Thread: CC2652R

I have a custom board with an MSP430 micro that talks to my CC2541 over SPI.  I can successfully issue HCI commands and command my CC2541 into DTM with HCI_LE_Receiver_Test command (PRBS9, 37-byte length, any channel).

I can use HCI_LE_Test_End to exit the test mode, and I received number of packets in the event response.

My question is, how can I determine whether or not the test is a pass or fail?

The signal generator sends 1500 PRBS9-37 packets.  Is the number of packets returned in the event response the number of packets received without error, where we can take (Number_Of_Packets / 1500) to get an error rate?  Or, will the event return status returned from the call to HCI_LE_Test_End provide me with an error?

keywords: rx blocking, receiver blocking, HCI_LE_Transmitter_Test

  • Additionally, is there anyway to determine that there is an ongoing connection/packets being received from the device that is in Receiver mode, or is it a synchronous operation--device must enter receiver test mode, then exit test mode, and read the number of packets received?

  • Hey KL,

    I've assigned this post to a colleague to comment on.

  • Hi,

    My question is, how can I determine whether or not the test is a pass or fail?

    I am not very familiar with the older CC2541 family of devices, but the HCI_LE_Receiver_Test API should simply return a PASS/FAIL return code according to the Bluetooth Spec.Check Part E section 7.8.28, which can be downloaded from:

    https://www.bluetooth.com/specifications/specs/core-specification-4-2/ 

    In a similar fashion, section 7.8.30 mentions the HCI_LE_Test_End should return both status and number of packets.

    Is the number of packets returned in the event response the number of packets received without error, where we can take (Number_Of_Packets / 1500) to get an error rate?

    Indeed. The LE controller will not acknowledge a malformed package as "received".

    I have experience using a complete BT testset on our newer devices (CC2640R2, CC2652R), where all this is done for you automatically.

    Hope this helps,

    Rafael

  • The HCI_LE_Receiver_Test API response tells you if it successfully entered the mode, not if the test passes or fails.

    I will use the HCI_LE_Test_End event status response to calculate the number of received packets compared to the number of packets sent to determine if the boards PASS/FAILS according to ETSI EN 328 V2.2.2 RX Blocking tests.

    Thank you,

    Kevin