I’m looking in packet data dictionary and i saw a variable called hopLimit, looking a bit deeper i saw hopLimit changing. I’m not sure about hopLimit Behaviour:
is hopLimit decreasing at each hop (hopLimit=3 is directly received and hopLimit=1 is packet two times repeated)?
From the above document: “Each node in the mesh, if it sees a packet on the ether with HopLimit set to a value other than zero, it will decrement that HopLimit and attempt retransmission on behalf of the original sending node.”
I believe you are correct, but I am not the most knowledgeable on this subject.
SO I am attempting to transmit from my house > big hill > big hill > friends house. 4 total nodes, is the hop limit why I’m not getting a message to him?
I was back up on the 2nd hill closest to my friends house today. When I’m up there I can communicate with my friends house and with the router on hill one. But I don’t see my home node. Back at home I see only the node on hill one. I even brought a 2nd unit with me and switched them out so I’m pretty confident it’s not the hardware. I can see all the nodes I should from each location. But not the next hop nodes.
I’m not ruling out interference, but if I can see the next location being signaled from each place I go I’m not sure why messages aren’t being delivered. Btw all nodes are on 1.1.50
If I were to use the signal test plugin which nodes should I configure as transmitter and receiver?
Oh and to answer directly my friends node has a LOS to the hill, 67% signal
I just tried it and it didn’t error for me. Can’t quite tell if it actually changed the hoplimit because I’m struggling with other 1.2.6 difficulties. The code is pretty straight forward.
def sendText(self, text: AnyStr,
destinationId=BROADCAST_ADDR,
wantAck=False,
wantResponse=False,
hopLimit=defaultHopLimit,
onResponse=None):
"""Send a utf8 string to some other node, if the node has a display it will also be shown on the device.
Arguments:
text {string} -- The text to send
Keyword Arguments:
destinationId {nodeId or nodeNum} -- where to send this message (default: {BROADCAST_ADDR})
portNum -- the application portnum (similar to IP port numbers) of the destination, see portnums.proto for a list
wantAck -- True if you want the message sent in a reliable manner (with retries and ack/nak provided for delivery)
wantResponse -- True if you want the service on the other side to send an application layer response
I guess I need to update all my nodes over to 1.2? Will I be able to change the hop limit on each of them permanently? I am not able to send a python message with hoplimit 4 as it continues to return an error to me, so I’m still being limited to 2 hops I think.