No, it does not recover.
The Problem is not easy to debug. I now want to build a serial gateway. With that, I am more flexible to test. Maybe to run MySensors on a second raspberry pi with a standard Home Assistant HASS-Os image. Or I check the MySensors network with MyController.
At this moment i run the whole system on 64 Bit raspbian, with HA in docker, which is a little bit experimental and i had to fix some lines in the ethernet gateway to compile it for 64 bit. So this is experimental, too.
I've found that:
char *protocolMyMessage2Serial(const MyMessage &message)
{
(void)snprintf_P(_fmtBuffer, (uint8_t)MY_GATEWAY_MAX_SEND_LENGTH,
PSTR("%" PRIu8 ";%" PRIu8 ";%" PRIu8 ";%" PRIu8 ";%" PRIu8 ";%s\n"), message.getSender(),
message.getSensor(), message.getCommand(), message.isEcho(), message.getType(),
message.getString(_convBuffer));
return _fmtBuffer;
}
We put in the print "message.getEcho()", but this isn't echoed message.
I think we should put "message.getRequestEcho()" here.
I have mixed Nanos, Pro Minis, ESP8266 and Unos and no problem. I do however have mixed NRF24L01 and NRF24L01+ due to a bad AliExpress saler that stated he sold NRF24L01+ which in fact were not the + version. So I have set my baudrate on all nodes to 1mb.
In order to be helpful we need the log on the Uno.