pycom / pycom-libraries

MicroPython libraries and examples that work out of the box on Pycom's IoT modules
333 stars 375 forks source link

Pymesh leader doesn't find nodes that aren't direct neighbors #112

Open JamieMenard opened 4 years ago

JamieMenard commented 4 years ago

What are the steps to reproduce this issue?

  1. Have three Lopy4s and Pytracks
  2. Set two up line of sight, and one out of sight of the first one.
  3. Turn everything on, let them connect.

What happens?

Node 1 (leader) and 2 will connect, 3 will not be shown as connected on "mml" or "mp", but if you send a message from 1 or 2 with "s" "3" "words" you'll get an ACK back. Then going to node 1 and running "self" there's no listing of 3, but 2 and 3 do list each other under "self". Seems the leader isn't properly polling neighbors for their neighbors and adding the the "mml".

What were you expecting to happen?

Nodes 1 (leader) and 2 should connect, 2 should connect to 3, all mesh info should be passed to 1 and distributed to all nodes.

Any logs, error output, etc?

Attach screen caps of data for node 1, node 2 and node 3 showing the above.

Though a note to be confusing, in my example node 1 = mac 5, node 2 = mac 2, and node 3 = mac 1. So mac 5 is the leader. Node 1 (mac5) connected to node 2 (mac2) node1mmlself

Node 2 (mac2) connected to node 1(mac5) and node 3 (mac1) mac2selfmml

Node 3 sending and receiving an ACK from Node 1 onecantalkbutnomp

Node 3 "self" only showing a connection to node 2 selfandmml

Any other comments?

What versions of software are you using?