After a few years I finally noticed that XF1 never repeats packets from XF10, XF11 and so on – the current code prevents this (arduino_repeater.ino), because "XF10" contains the string "XF1".
// Need to take the recieved buffer and decode it and add a reference
if (buf[0] > '0' && end_bracket != -1 && strstr((const char *)&buf[start_bracket], id) == NULL) {
It should instead check if XF1 hasn't already repeated this packet – if the packet does not contain "XF1,".
I'm not sure if this is the best way to solve it, but "it works for me". :)
// node ID with appended comma
char tmpid[sizeof(id)+1];
sprintf(tmpid, "%s,", id);
And then use tmpid variable in that if condition above.
After a few years I finally noticed that XF1 never repeats packets from XF10, XF11 and so on – the current code prevents this (arduino_repeater.ino), because "XF10" contains the string "XF1".
It should instead check if XF1 hasn't already repeated this packet – if the packet does not contain "XF1,".
I'm not sure if this is the best way to solve it, but "it works for me". :)
And then use
tmpidvariable in thatifcondition above.