ARDUINO + D52QD2M4IA (nRF52832) - protocol help…

Hi.

I develop an application in the past with ARDUINO and a nRF24AP2 module with great success. I can read 8 heart rate monitors ANT+ sensors in the same time, with 8 differents channels.

Now I am trying to upgrade my application using a D52QD2M4IA (nRF52832) to read 15 or many sensors in the same time.

The main problem I have is a protocol issue.

According to ANT Message Protocol and Usage 5.1 I wrote an ARDUINO library to connect with nRF24AP2. It works. But not with D52QD2M4IA.

I report a protocol dump report between ARDUINO (the Host) and the ANT+ Nordic Modules:

----------------------------------------------- nRF24AP2 started

RX <<< [ A4 1 6F 0 CA ]
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
RX <<< [ A4 6 54 8 3 0 B2 36 0 79 ]
Canali massimi disponibili sul modulo :8
100) SET NETWORK KEY - network #: 0 ...
TX >>> [ A4 9 46 0 B9 A5 21 FB BD 72 C3 45 64 ] len=13
RX <<< [ A4 3 40 0 46 0 A1 ]
101) CHANNEL ASSIGN - channel #: 0 - channel type: 64 - network #: 0
TX >>> [ A4 3 42 0 40 0 A5 ] len=7
RX <<< [ A4 3 40 0 42 0 A5 ]
102) SET CHANNEL - channel #: 0 - device number: 0 - device type: 120 - transmission type: 0
TX >>> [ A4 5 51 0 0 0 78 0 88 ] len=9
RX <<< [ A4 3 40 0 51 0 B6 ]
103) SET CHANNEL FREQUENCY - channel #: 0 - frequency: 57
TX >>> [ A4 2 45 0 39 DA ] len=6
RX <<< [ A4 3 40 0 45 0 A2 ]
104) SET RX EXT MESSAGE ENABLE - enable: 1
TX >>> [ A4 2 66 0 1 C1 ] len=6
RX <<< [ A4 3 40 0 66 0 81 ]
105) OPEN SCAN MODE (CONTINUOUS)
TX >>> [ A4 1 5B 0 FE ] len=5
RX <<< [ A4 3 40 0 5B 0 BC ]
106) 106) 106) 106) 106) 106) 106



----------------------------------------------- D52QD2M4IA started

RX <<< [ A4 1 6F 1 CB ]
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 84 2A 8 4 BA 9B 0 7D 68 FE 0 0 0 0 0 0 0 54 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 66 8F 0 0 0 0 0 1 9E 5 0 0 E8 3 0 0 0 0 0 0 8 1 23 0 2 25 0 6B 0 1 1 0 1D 0 D 0 1F 0 0 10 10 A4 1 6F 1 CB A4 84 2A 8 4 BA 9B 0 7D 68 FE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
Messaggio non atteso!: 2A - Messaggio atteso era: 54
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 8 4A 8 4 BA 36 0 7D 68 FC 0 ]
Messaggio non atteso!: 4A - Messaggio atteso era: 54
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 8 4A 8 4 BA 9B 80 FD 43 FC 0 ]
Messaggio non atteso!: 4A - Messaggio atteso era: 54
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 84 AA 8 4 BA 36 0 7D 68 FE 0 0 0 0 0 0 0 54 0 1 0 1 0 0 0 4 0 0 0 1 0 0 0 0 0 0 66 8F 0 0 0 0 0 1 9E 5 0 0 E8 3 0 0 0 0 0 0 8 1 23 0 2 25 0 6B 0 1 1 0 1D 0 D 0 1F 0 0 31 31 A4 1 6F 1 CB A4 84 2A 8 4 BA 9B 0 7D 68 FE A4 8 4A 8 4 BA 36 0 7D 68 FC A4 8 4A 8 4 BA 9B 80 FD 43 FC A4 84 AA 8 4 BA 36 0 7D 68 FE 0 0 0 0 0 0 0 0 0 ]
Messaggio non atteso!: AA - Messaggio atteso era: 54
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 84 AA 8 4 BA 9B 80 FD 43 FC 0 0 0 0 0 0 0 54 0 1 0 1 0 0 0 5 0 0 0 1 0 0 0 0 0 0 66 8F 0 0 0 0 0 1 9E 5 0 0 E8 3 0 0 0 0 0 0 8 1 23 0 2 25 0 6B 0 1 1 0 1D 0 D 0 1F 0 0 3C 3C A4 1 6F 1 CB A4 84 2A 8 4 BA 9B 0 7D 68 FE A4 8 4A 8 4 BA 36 0 7D 68 FC A4 8 4A 8 4 BA 9B 80 FD 43 FC A4 84 AA 8 4 BA 36 0 7D 68 FE A4 84 AA 8 4 BA 9B 80 FD ]
Messaggio non atteso!: AA - Messaggio atteso era: 54
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 84 AA 8 4 BA 3B 0 7D 68 FC 0 0 0 0 0 0 0 54 0 1 0 1 0 0 0 6 0 0 0 1 0 0 0 0 0 0 66 8F 0 0 0 0 0 1 9E 5 0 0 E8 3 0 0 0 0 0 0 8 1 23 0 2 25 0 6B 0 1 1 0 1D 0 D 0 1F 0 0 7 7 4 BA 3B 0 7D 68 FC 2A 8 4 BA 9B 0 7D 68 FE A4 8 4A 8 4 BA 36 0 7D 68 FC A4 8 4A 8 4 BA 9B 80 FD 43 FC A4 84 AA 8 4 BA 36 0 7D 68 FE A4 84 AA 8 4 BA 9B 80 FD ]
Messaggio non atteso!: AA - Messaggio atteso era: 54
1) GETTING CAPABILITIES
TX >>> [ A4 2 4D 0 54 BF ] len=6
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 84 54 8 4 BA 36 0 F6 1D 8B 0 0 0 0 0 0 0 54 0 1 0 1 0 0 0 7 0 0 0 1 0 0 0 0 0 0 66 8F 0 0 0 0 0 1 9E 5 0 0 E8 3 0 0 0 0 0 0 8 1 23 0 2 25 0 6B 0 1 1 0 1D 0 D 0 1F 0 0 12 12 4 BA 3B 0 7D 68 FC A4 84 54 8 4 BA 36 0 F6 1D 8B 4A 8 4 BA 36 0 7D 68 FC A4 8 4A 8 4 BA 9B 80 FD 43 FC A4 84 AA 8 4 BA 36 0 7D 68 FE A4 84 AA 8 4 BA 9B 80 FD ]
Canali massimi disponibili sul modulo :8
100) SET NETWORK KEY - network #: 0 ...
TX >>> [ A4 9 46 0 B9 A5 21 FB BD 72 C3 45 64 ] len=13
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 20 0 46 0 D0 36 0 F6 1D 8B 0 0 0 0 0 0 0 40 0 1 0 1 0 0 0 8 0 0 0 1 0 0 0 0 8 ]
Messaggio non atteso!: 0 - Messaggio atteso era: 40
100) SET NETWORK KEY - network #: 0 ...
TX >>> [ A4 9 46 0 B9 A5 21 FB BD 72 C3 45 64 ] len=13
MESSAGE_READ_INFO_TIMEOUT_MIDMESSAGE
RX <<< [ A4 20 0 46 0 A1 36 0 F6 1D 8B 0 0 0 0 0 0 0 40 0 1 0 1 0 0 0 9 0 0 0 1 0 0 0 0 8 ]
Messaggio non atteso!: 0 - Messaggio atteso era: 40
[...]

How I can solve this problem? It seems to using extended message but also if I try to disable them the module seems to ignore it. Many thanks.