-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sixth node does not receive an address #218
Comments
RF24Mesh does not allow for 6 child nodes; it only allows up to 5. This is because RF24Netowk uses pipe 0 to listen for messages from the parent node. I understand that the master node cannot have a parent node, but |
Reviewing the pyrf24 topology document should be enlightening. (It uses the same C++ code under the hood). |
If you’ve given them all unique ids with RF24Mesh the 6th node should attach through one of the other 5. I think Brendan might be misunderstanding the question.Are you sure the 6th node is working? Have you powered them up in separate orders?On Feb 15, 2023, at 11:06 AM, Brendan ***@***.***> wrote:
Closed #218 as not planned.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Thank you, I did not know about this https://pyrf24.readthedocs.io/en/latest/topology.html, very interesting article. |
Use Ultimately, RF24Mesh doesn't use timed leases for addresses that are assigned to nodes. So, a keep-alive message can be useful (via I am grateful that you're taking the time to read docs. ❤️ |
@TMRh20 Would it make sense for the master node to have an overloaded |
I’m not sure of how that would work. I think I’d need more info on how it would work. Users can set also manually set the network address to 0 when a node goes inactive.On Feb 15, 2023, at 3:03 PM, Brendan ***@***.***> wrote:
@TMRh20 Would it make sense for the master node to have an overloaded releaseAddress(uint8_t node_id) to foolproof managing the addrList array?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
The way I'm thinking is basically an abstraction of the following code into a function. Lines 91 to 98 in 780fa08
And gaurd it with #ifndef MESH_NO_MASTER .
|
The pseudo code for implementing a keep-alive message would look like:
This way we don't offload bounds checking to users (requiring knowledge of |
@2bndy5 Oh, I see what you mean. Yeah, I think that could work. @QBGROUP Yeah RF24Mesh doesn't have any built in functionality to remove non-active nodes. You would have to implement something yourself depending on how you want it to work. With what Brendan is suggesting, it would be a bit easier, but for now you can edit the address list manually, and set the inactive nodes RF24Network address to 0 when they go inactive or time-out. |
Implementing good expiricy that works generally is hard, adding it to the library would probably be too much effort. The first thing being that nodes probably need different expiricies... It's relatively easy to add that pseudocode, but it's way harder if you need to fine-tune it (and eventually you will). Then it's a mix of your own and the library's keep-alive/expiricy code - not very pretty. |
aka "logical address" -- not to be confused with a mesh node's ID number (set with or |
Also if a level 1 child is "expired", then all children of that node will become expired as well. |
Are you sure you can use mesh.releaseAddress(node_n.address);? From docs releaseAddress does not take any argument.
I free the address and can be used again it should do what I need. |
It is an idea that hasn't been implemented in code yet. |
I tried this way and works. This question is off topic, but related to network management. thank you all!!! |
If the meetings are really long, then yes a power efficient solution is best. I wouldn't worry about the frequency of movement, but the speed of movement may be a detriment. You should be fine as long as the nodes aren't attached to race cars or something that can traverse a great distance in a fraction of a second. I only took interest in this radio because the latency of WiFi and Bluetooth is too high for remotely-controlled robotics. Unfortunately, ESP chips don't expose the low level machinery required to make them OTA compatible with this radio. |
I am using the "mesh_example_master" and "mesh_example" examples. When I start the first node with a its unique id it gets a network address 05, the second 04, the third 03 until the fifth gets 01, the sixth gets no address.
Am I doing something wrong? the code is exactly as in the examples
The text was updated successfully, but these errors were encountered: