Hi<br><br>(Damien: see we were listening :) )<br><br>For my sins I have spent a LOT of time working with these in the past (in a weak sense it is one of my area of expertise).<br><br>This http://www.aqdi.com/golay.htm should give you a very useful understanding.<br><br>When we used this approach we were working with a VERY VERY noisy channel and with copious processing capability. As an approach it was very effective, but only because we had a very good understanding of the channel characteristics to begin with.<br><br>I think the key consideration here is only responding to the observed and well understood noise characteristics of your channel. Until the channel is well understood/characterised then solution approaches (e.g. golay) should not be selected. First understand the problem, only then consider the solutions.<br><br>Given the limited amount of channel information captured by OpenTRV I would suggest the key issues presently are monitoring and loss rather than corruption e.g. too early to worry about these solutions.<br><br>Loss and understanding its cause should be addressed first.<br>    o) A channel or protocol being lossy is not the same as it should necessarily suffer loss - first thoroughly understand each loss since it is unbeleivably human to attribute loss to the channel rather than an imperfection in the mechanism which is often the true cause.  <br>    o) Capture timestamped evidence as a matter of course (it takes a lot of human real time and effort to identify and resolve these issues - log whatever you can whenever you can as much as you can)<br>    o) Have a (preferably independant) channel monitor to help seperate transmit and receive concerns.<br>    o) Monitor and report RSSI at the point of transmit.<br>    o) Monitor and report RSSI periodically and whilst receiving. (NB probably worth collating as part of stats.)<br>    o) If you are looking for solutions I suspect that LBT (Listen Before Transmit) would be a more rewarding starting point (given my experiences with OpenTRV - see emails). Most of the observed Rx failures in my experience are preamble problems rather than payload corruptions (unless the corruption is so bad it is corrupting the preamble) and beyond that losses (i.e. no reception) are more common. This implies to me that resolving the losses is far more important and potentially rewarding than resolving the corruptions especially when both could have the same underlying cause.<br>    o) Whatever recovery mechanisms exist make it possible to turn each off independently - recovery mechanisms tend to obscure fundemental faults. This is especially true when multi-level recovery mechanisms interact. Log active recovery mechanisms and their activity.<br><br>I hope that helps even if OpenTRV was not your prime concern.<br><br>Regards Gary