Need Help Running DTM (Direct Test Mode) on a BlendMicro


#1

Hello!

My colleague and I are trying to successfully execute transmit and receive testing between two models using the current “ble_set_in_test_mode_ACI” code, with and the (completely unmodified) nAN34 Python script provided by Nordic, running on a Macbook Pro. We re-mapped the REQN and RDYN pins from 9 and 8 for the Redbearlab Shield to pins 6 and 7 required by the BlendMicro, and upon powering up the board, succesfully enter test mode, according to the serial output from the BlendMicro via the Arduino serial monitor:

Arduino setup
nRF8001 Reset done
Evt Device Started: Setup
Evt Device Started: Test
Device in DTM over ACI mode
Use DTM over UART with the Arduino serial interface to send DTM commands to the nRF8001

We have two boards running (a DUT and a “golden unit”, but really just two arbitrary units), and they’re both sending this back over serial, so we’re confident we have the nRF8001 talking to the 32U4 on each board. However, when running the Python script, we get the following result:

Running tests on channel 1
Transmitter test Reset TX Received less data than expected
TX PER: N/A%
RX PER: N/A%

Running over a series of channels
Transmitter test Reset TX Received less data than expected
Results for channel: 1
TX PER: N/A%
RX PER: N/A%
Transmitter test Reset TX Received less data than expected
Results for channel: 5
TX PER: N/A%
RX PER: N/A%
Transmitter test Reset TX Received less data than expected
Results for channel: 7
TX PER: N/A%
RX PER: N/A%
Transmitter test Reset TX Received less data than expected
Results for channel: 9
TX PER: N/A%
RX PER: N/A%
Total result:
TX PER: 100%
RX PER: 100%

Can anyone please point us in the right direction to resolve this? The main thing we’re after is the ability to spew data from our device over any given channel, and confirm transmission of said spew, the easiest way to achieve that being a successful transmit and receive test between two units coincidentally talking on the same frequency.

Thanks!

-Rodney Sparks


#2

We turned debug mode on, and now we get this. Thanks for any help!

-Rodney

Running tests on channel 1
Start TX
Com port: /dev/cu.usbmodem14111
Connect to port: /dev/cu.usbmodem14111
Sending command Reset  TX
1: 0 0b0  2: 0 0b0
Command:  Result: 2
Receive event: Reset TX
Transmitter test Reset TX Received less data than expected
TX PER: N/A%
RX PER: N/A%

Running over a series of channels
Start TX
Com port: /dev/cu.usbmodem14111
Connect to port: /dev/cu.usbmodem14111
Sending command Reset  TX
1: 0 0b0  2: 0 0b0
Command:  Result: 2
Receive event: Reset TX
Transmitter test Reset TX Received less data than expected
Results for channel: 1
TX PER: N/A%
RX PER: N/A%
Start TX
Com port: /dev/cu.usbmodem14111
Connect to port: /dev/cu.usbmodem14111
Sending command Reset  TX
1: 0 0b0  2: 0 0b0
Command:  Result: 2
Receive event: Reset TX
Transmitter test Reset TX Received less data than expected
Results for channel: 5
TX PER: N/A%
RX PER: N/A%
Start TX
Com port: /dev/cu.usbmodem14111
Connect to port: /dev/cu.usbmodem14111
Sending command Reset  TX
1: 0 0b0  2: 0 0b0
Command:  Result: 2
Receive event: Reset TX
Transmitter test Reset TX Received less data than expected
Results for channel: 7
TX PER: N/A%
RX PER: N/A%
Start TX
Com port: /dev/cu.usbmodem14111
Connect to port: /dev/cu.usbmodem14111
Sending command Reset  TX
1: 0 0b0  2: 0 0b0
Command:  Result: 2
Receive event: Reset TX
Transmitter test Reset TX Received less data than expected
Results for channel: 9
TX PER: N/A%
RX PER: N/A%
Total result:
TX PER: 100%
RX PER: 100%

Running Transmitter and receiver tests separately
Start TX
Com port: /dev/cu.usbmodem14111
Connect to port: /dev/cu.usbmodem14111
Sending command Reset  TX
1: 0 0b0  2: 0 0b0
Command:  Result: 2
Receive event: Reset TX
Transmitter test Reset TX Received less data than expected