Ioannis,
I have always thought that Thessalonika (sorry for dodgy spelling) was a wonderful name and was aghast at the ugly industrial developement around the place - how could you do that?

On to things Radio,

It seems to me that the views to date cover:

1. On a good link with high SNR, the SERIN command is OK for most purposes.
2. On a poor link, or at range limits, SERIN (even with 200, Lost_Signal and WAIT("!")) wont work.
3. Some communication systems overcome this by transmitting Data + Some additional bits to check the veracity and, in some case, provide error correction as well. For example CRC, Hamming code and so on.
4. In this case the receiver has to take all the received bits, find the start of frame, apply the checks - and take appropriate action.
5. This sort of complexity is now well known and used.

However, running SERIN2 RxPin, 200, Lost_Signal,[WAIT("!"), My_data] inside a stop-watch timed event would seem a simple and reasonably reliable way to overcome many radio link problems (the '200, Lost_Signal' achieves nothing unless the link is rock solid).

I think I will set up a radio loop and pass data around and run some tests:

1. Change the range to go from good to poor SNR.
2. Change data rates to determine BW issues.
3. Fiddle with the WAIT("XXXXXXXX").
4. Vary the stop-watch time.

And plot all this against error/error rates. I'll come back to you all in 2020 with the results - but I bet all this is already well tabulated somewhere!

Regards Bill Legge