This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Trouble analysing Mesh test results.

Hi all,

I'm currently testing my Mesh network on a small scale. I'm sending messages every 25ms with different TTL values in an environment as visualised below.

The bar chart below shows the results for the tests for different TTL values.

Now, I know that messages with either TTL 0 or 1 won't get relayed, which can been seen in the chart (the blue bars at TTL 0 and TTL 1). However, I don't get why the other connection has a big decrease in the percentage, but the increases again with TTL 2 and 3. 

All results are the average of multiple tests where the spread between results was never larger than a couple of percents. I also tested the same with a different interval between sending with the same kind of result. 

Can someone help me explain how this could happen?

Best regards, 

Jan Kappé

Parents
  • Hi Jan,

    Is the total purple value the average between Node 0->2 & node 1->3? How far apart are nodes 0 & 2 & nodes 1 & 3? Could it be that node 0 is relaying some of the unicast messages via 1 or 3 to node 2 (hence the better results for TTL 2 & 3). It seems that there is a wall between nodes 0 & 2, so this may explain the better results (no wall between nodes 1->2 & 3->2).

    Kind Regards,

    Bjørn

Reply
  • Hi Jan,

    Is the total purple value the average between Node 0->2 & node 1->3? How far apart are nodes 0 & 2 & nodes 1 & 3? Could it be that node 0 is relaying some of the unicast messages via 1 or 3 to node 2 (hence the better results for TTL 2 & 3). It seems that there is a wall between nodes 0 & 2, so this may explain the better results (no wall between nodes 1->2 & 3->2).

    Kind Regards,

    Bjørn

Children
  • Hi Bjørn, 

    Yes, the purple value is the average of both connections. Between node 0 and 2 was approx. 4 meters and 16 meters between node 1 and 3.

    I do understand why the percentage goes up for Time to Live (TTL) values 2 and 3. 

    However, I don't understand why there is a difference between TTL 0 and TTL 1 for the "0 to 2" connection. Is there an explanation for this? Is there possibly a difference between receiving or sending a message with a TTL of 0 or 1?

    Best regards,

    Jan 

  • Hi Jan,

    That's a good question. You are correct that messages with a TTL of 0 or 1 do not get relayed (network.c, mesh sdk v3.0.0):

    What kind of unicast messages are you sending? Are you using generic_onoff_client_set_unack() or generic_onoff_client_set()?

    What retransmit count have you chosen for these connections? The standard one? I guess this count has remained constant throughout, correct?

    How big is the payload you are sending? Can everything fit in a 11 byte packet?

    Also, have you set this network up with the nRF Mesh application? Which mesh sdk version are you currently using?

Related