RF24Network Addressing Example - Checking it for correctness

Hello everyone

I’m looking at using the RF24 library to do a project and I think that I now understand the addressing of each node in a network.

I’ve compiled a little drawing detailing a substantial network and addressed each node. Could you guys please confirm for me that I’ve done the addressing correctly?

The actual network won’t be this size. This is just a representation for me to better understand it and to be able to visualize it.

Thanks in advance.

Regards
Dirk

There are many RF24 libraries. You need to specify which library. You should also link to the pages u are getting your info from.

Judging by your number and depth of levels, I am going to hazard a guess that you are NOT referring to the Tmrh20 RF24Network fork.

Hello AISC

I was looking at using ManiacBug's RF24Network library or Tmrh20's fork of it. My apologies for not mentioning it in the original post.

Is there a limit on the amount of layers / levels that I can have? Is this why you've mentioned mentioned that you don't think that I'm using the RF24Network library?

Furthermore, is my addressing of the nodes at least correct for what is required by the library?

Thanks

Firstly, to my knowledge for a while the Tmrh20 fork was more up to date and is presently actively maintained. I believe maniacbug may have recently done some updates, but I am unsure how actively his original library is being maintained.

I will focus on the Tmrh20 fork, since there is a bit more info readily available.

I will try to answer your questions, but at the same time I am raising some issues and asking some questions of Tmrh20.

Dirka: Is there a limit on the amount of layers / levels that I can have? Is this why you've mentioned mentioned that you don't think that I'm using the RF24Network library? Thanks

Yes.

Refer to this page and look at the table on addressing.

One thing to note is that an NRFL2401+ can actually listen to 6 pipes concurrently. However, the library appears to utilize only 5 pipes.

IMHO there are some ambiguaties in the information provided.

Two specific pieces of information are provided viz.

  • largest node address of 05555
  • up to 3,125 nodes per channel

Note the table only goes down 4 levels below the master. 4 levels would be consistent with a max address of 05555 as stipulated, but not consistent with the max number of 3,125 nodes. Using 4 levels and five pipes, the largest address would be 05555 with a max of 625 nodes.

However, I also note the following in the address table: Levels 1 and 2 have leading zeros. Levels 3 and 4 do not have leading zeros.

So according to the table and based on only 4 levels, the largest address should really be 5555.

However, for there to be 3,125 nodes, the largest address should in fact be 55555. But to get to 55555, you need a level 5.

So either the 3,125 is an incorrect extrapolation and the max nodes should read 625, or there are in fact 5 levels with a max of 3,125 nodes.

But we will probably need Tmrh20 himself to clarify the situation.

My advice would be to design for 5 pipes and 4 levels until more info is available.

Dirka: Furthermore, is my addressing of the nodes at least correct for what is required by the library? Thanks

I think not. I believe the library is written with the addressing as specified in the linked table.

The question in my mind is whether leading zeros are required or not.