Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

Why acknowledged message is always followed by a same broadcast message?

Rank

Total Posts: 2

Joined 2016-08-17

PM

Hi all,

I'm using ANT+ Verification Tool to test my product, which has a nRF51422 chip inside. The softdevice we're using is S310 v3.0.

From the log of ANT+ Verification Tool, I noticed that if I send an acknowledged message, there is always a broadcast message following it with the same payload. Here is part of the log:


32588.406 { 188314312} Tx - [A4][01][4C][00][E9][00][00]
32588.406 { 188314312} Tx - [A4][01][41][00][E4][00][00]
32588.406 { 188314312} Rx - [A4][03][40][00][4C][15][BE]
32588.406 { 188314312} Tx - [A4][01][4A][00][EF][00][00]
32588.406 { 188314312} Rx - [A4][03][40][00][41][15][B3]
32588.406 { 188314312} Rx - [A4][01][6F][20][EA]
32588.906 { 188314812} Tx - [A4][02][6E][00][00][C8][00][00]
32588.906 { 188314812} Rx - [A4][03][40][00][6E][00][89]
32588.906 { 188314812} Tx - [A4][09][46][00][00][00][00][00][00][00][00][00][64][00][00]
32588.906 { 188314812} Rx - [A4][03][40][00][46][00][A1]
32588.906 { 188314812} Tx - [A4][03][42][00][00][00][E5][00][00]
32588.922 { 188314828} Rx - [A4][03][40][00][42][00][A5]
32588.922 { 188314828} Tx - [A4][05][51][00][00][00][11][00][E1][00][00]
32588.922 { 188314828} Rx - [A4][03][40][00][51][00][B6]
32588.922 { 188314828} Tx - [A4][02][45][00][39][DA][00][00]
32588.922 { 188314828} Rx - [A4][03][40][00][45][00][A2]
32588.922 { 188314828} Tx - [A4][03][43][00][00][20][C4][00][00]
32588.922 { 188314828} Rx - [A4][03][40][00][43][00][A4]
32588.922 { 188314828} Tx - [A4][01][4B][00][EE][00][00]
32588.922 { 188314828} Rx - [A4][03][40][00][4B][00][AC]
32590.172 { 188316078} Rx - [A4][09][4E][00][19][00][00][00][00][00][D0][30][1A]
32590.172 { 188316078} Tx - [A4][09][4F][00][46][FF][FF][FF][FF][02][50][01][F7][00][00]
32590.422 { 188316328} Rx - [A4][09][4F][00][19][00][00][00][00][00][D0][30][1B]
32590.437 { 188316343} Rx - [A4][03][40][00][01][05][E3]
32590.672 { 188316578} Rx - [A4][09][4E][00][19][00][00][00][00][00][D0][30][1A]
32590.922 { 188316828} Rx - [A4][09][4F][00][50][FF][FF][7F][AA][AA][55][55][CD]
32591.172 { 188317078} Rx - [A4][09][4E][00][50][FF][FF][7F][AA][AA][55][55][CC]
32591.422 { 188317328} Rx - [A4][09][4F][00][50][FF][FF][7F][AA][AA][55][55][CD]
32591.672 { 188317578} Rx - [A4][09][4E][00][50][FF][FF][7F][AA][AA][55][55][CC]
32591.922 { 188317828} Rx - [A4][09][4F][00][51][FF][07][01][55][AA][55][AA][4A]
32592.172 { 188318078} Rx - [A4][09][4E][00][51][FF][07][01][55][AA][55][AA][4B]
32592.172 { 188318078} Tx - [A4][09][4F][00][46][FF][FF][FF][FF][82][50][01][77][00][00]
32592.422 { 188318328} Rx - [A4][09][4F][00][51][FF][07][01][55][AA][55][AA][4A]
32592.437 { 188318343} Rx - [A4][03][40][00][01][05][E3]
32592.672 { 188318578} Rx - [A4][09][4E][00][51][FF][07][01][55][AA][55][AA][4B]
32592.922 { 188318828} Rx - [A4][09][4F][00][50][FF][FF][7F][AA][AA][55][55][CD]
32593.172 { 188319078} Rx - [A4][09][4E][00][50][FF][FF][7F][AA][AA][55][55][CC]
32593.422 { 188319328} Rx - [A4][09][4F][00][50][FF][FF][7F][AA][AA][55][55][CD]
32593.672 { 188319578} Rx - [A4][03][40][00][01][02][E4]
32593.922 { 188319828} Rx - [A4][09][4F][00][10][19][5C][00][00][00][FF][34][7C]
32594.172 { 188320078} Rx - [A4][09][4E][00][10][19][5C][00][00][00][FF][34][7D]
32594.422 { 188320328} Rx - [A4][09][4F][00][10][19][1C][00][00][00][FF][34][3C]
32594.422 { 188320328} Tx - [A4][09][4F][00][46][FF][FF][FF][FF][80][50][01][75][00][00]
32594.672 { 188320578} Rx - [A4][09][4E][00][10][19][1C][00][00][00][FF][34][3D]
32594.672 { 188320578} Rx - [A4][03][40][00][01][05][E3]



My question is if it is reasonable. I can't find any explanation about this in the protocol document. Any suggestion is appreciated.      
Avatar
RankRankRankRank

Total Posts: 745

Joined 2012-09-14

PM

Hi,

This looks like something the application itself is doing, rather than anything related to the ANT protocol. If it's not affecting your testing you should be able to safely ignore it.

If you do a continuous scan (rx-only) with synchronous only messages disabled, then you would see that the acknowledgement sent back from the device which received an ACK message, sends back effectively the same message to act as the confirmation.

We are planning to replace the current ANT+ Verification Tool with one based on SimulANT+ soon after the ANT+ Symposium, as it's Python Scripting Engine is far more robust for this type of testing.      
Rank

Total Posts: 2

Joined 2016-08-17

PM

@Harrison Thank you for the information.

Actually this situation leads to a failed result of ANT+ Verification Tool. Here is the failed result:

Test#9: MD_0013 Page Request Test
Please wait for the test result...

Requesting page 80: Broadcast, 2 Responses
Requesting page 80: Acknowledged, 2 Responses
Requesting page 80: Acknowledged, At Least One Response
Requesting page 80: Broadcast, 2 Responses, No reserved bytes
Requesting page 80: Acknowledged, 2 Responses, No reserved bytes
Requesting page 80: Acknowledged, At Least One Response, No reserved bytes

Result: Fail!

There were issues with the following page requests:
Requested page 80:
Request type: Broadcast, 2 Responses
Passed
Request type: Acknowledged, 2 Responses
Failed
Times Requested: 2 Times Received: 2
Requested Ack: True Received Ack: False
All response IDs match: True
Request type: Acknowledged, At Least One Response
Failed
Times Requested: Once or more Times Received: 4
Requested Ack: True Received Ack: True
All response IDs match: False
Request type: Broadcast, 2 Responses, No reserved bytes
Passed
Request type: Acknowledged, 2 Responses, No reserved bytes
Failed
Times Requested: 2 Times Received: 2
Requested Ack: True Received Ack: False
All response IDs match: True
Request type: Acknowledged, At Least One Response, No reserved bytes
Failed
Times Requested: Once or more Times Received: 4
Requested Ack: True Received Ack: True
All response IDs match: False


And the log of the first two tests:


72496.031 { 228221937} Tx - [A4][09][4F][00][46][FF][FF][FF][FF][02][50][01][F7][00][00]
72496.281 { 228222187} Rx - [A4][09][4E][00][19][00][00][00][00][00][00][30][CA]
72496.297 { 228222203} Rx - [A4][03][40][00][01][05][E3]
72496.531 { 228222437} Rx - [A4][09][4E][00][10][19][98][00][00][00][FF][34][B9]
72496.781 { 228222687} Rx - [A4][09][4E][00][50][FF][FF][7F][AA][AA][55][55][CC]
72497.031 { 228222937} Rx - [A4][09][4E][00][50][FF][FF][7F][AA][AA][55][55][CC]
72497.281 { 228223187} Rx - [A4][09][4E][00][10][19][38][00][00][00][FF][34][19]
72497.531 { 228223437} Rx - [A4][09][4E][00][19][00][00][00][00][00][00][30][CA]
72497.781 { 228223687} Rx - [A4][09][4E][00][19][00][00][00][00][00][00][30][CA]
72498.031 { 228223937} Rx - [A4][09][4E][00][10][19][D8][00][00][00][FF][34][F9]
72498.031 { 228223937} Tx - [A4][09][4F][00][46][FF][FF][FF][FF][82][50][01][77][00][00]
72498.281 { 228224187} Rx - [A4][09][4E][00][10][19][B8][00][00][00][FF][34][99]
72498.297 { 228224203} Rx - [A4][03][40][00][01][05][E3]
72498.531 { 228224437} Rx - [A4][09][4E][00][19][00][00][00][00][00][00][30][CA]
72498.781 { 228224687} Rx - [A4][09][4F][00][50][FF][FF][7F][AA][AA][55][55][CD]
72499.031 { 228224937} Rx - [A4][09][4E][00][50][FF][FF][7F][AA][AA][55][55][CC]
72499.281 { 228225187} Rx - [A4][09][4F][00][50][FF][FF][7F][AA][AA][55][55][CD]
72499.531 { 228225437} Rx - [A4][09][4E][00][50][FF][FF][7F][AA][AA][55][55][CC]

72499.781 { 228225687} Rx - [A4][09][4E][00][19][00][00][00][00][00][00][30][CA]
72500.031 { 228225937} Rx - [A4][09][4E][00][10][19][DC][00][00][00][FF][34][FD]


The test result and log message in bold are the problems.

I'm sure I didn't send the following broadcast message in my code, but not sure if it's the behavior of the softdevice. If it is, how should I pass the test?

As you've mentioned, you will reimplement the ANT+ Verification Tool, and maybe this behavior of our product will pass the test then, because our product does send two ack messages as required. But considering our product's release date, I think it will be too late. So do you have any other advice?

BTW, the log in my first post is just an attempt to confirm that every acknowledged message is followed by a broadcast message. In that attempt, I changed the product's behavior to always send acknowledged message. So it's not a "real" test. The test result and log message within this post correspond to each other.      
Rank

Total Posts: 26

Joined 2012-11-15

PM

Hello,
The UUT responded with two extra broadcast messages. I do not think it is implemented by the softdevice.
Can you please verify it by using SimulANT+? See the attached screen shot for the brief instruction:

The MD_0013 test is optional for ANT+ certification, to pass the test, the UUT should be:
- either no response at all, or responded as the requests.
In your case, if the UUT is just responded with two extra broadcast messages, there is no other functionality affected when servicing a requested page, it should pass this test.
Cheers,
Kebin