<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Hi Rob,<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Feel free to ask me questions if something’s unclear. In personal projects my code is often a bit experimental in style </span><span style='font-family:"Segoe UI Emoji",sans-serif;mso-fareast-language:EN-US'>😊</span><span style='mso-fareast-language:EN-US'><o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>To be honest, it took me a fair amount of time to find a working configuration (and the one I have for the RFM69 still isn’t working quite as well as it should). There is a lot of code in the OpenTRV repos, which I got a rough idea from, then combined that with an RTL-SDR to get a frequency spectrum plot during transmission to get the frequencies and deviation, then some messages from the mailing lists and Wikis to get the frame format right. And Damon also answered a few questions I had (e.g. </span><a href="https://github.com/opentrv/OTWiki/issues/2">Radbot Radio · Issue #2 · opentrv/OTWiki (github.com)</a>)<span style='mso-fareast-language:EN-US'>. The most annoying part was that I had to wait for 2 minutes between transmissions though!<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>In the CC1101 config, you can ignore most of the settings; there’s plenty of stuff that applies only to transmission (which I also play with sometimes) and unused features like address-filtering. The crucial bits are, I think, the DEVIATN, FREQ*, MDMCFG*, and PKTCTRL* registers. Those settings also translate easily to other devices, while some others do not, e.g. the automatic gain control settings. Initially, my plan was to add more information about the registers in the register table definitions (e.g. cc1101_rt.h) so it can be displayed and changed easily in the monitor application, but I didn’t quite get there yet. <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Cheers,<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Christoph<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US>From:</span></b><span lang=EN-US> OpenTRV-dev <opentrv-dev-bounces@lists.opentrv.org.uk> <b>On Behalf Of </b>Robert May<br><b>Sent:</b> 19 February 2021 12:22<br><b>To:</b> Closed list for developer discussions <opentrv-dev@lists.opentrv.org.uk><br><b>Subject:</b> Re: [OpenTRV-dev] RadBot Radio Protocol<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Thanks Christophe - I'm currently reverse engineering your CC1101 configuration (BTW I have your code working and decrypting a single value), but would like to have a deeper understanding rather than blindly copying ....<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Could you point me at the version of the radio code that you used to generate your configuration, even if it's difficult to follow?<o:p></o:p></p></div><div><p class=MsoNormal>Thanks,<o:p></o:p></p></div><div><p class=MsoNormal>Rob.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Fri, 19 Feb 2021 at 11:49, <<a href="mailto:christoph@winterstiger.at">christoph@winterstiger.at</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Yes, those parameters are wrong, but the frame format is correct, I think. It took me quite a while to figure out the right radio parameters the first time around because the code isn’t easy to read either (seems to support multiple old/different formats).<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Damon: I think it would be great if we could set up a Wiki page with clear and up-to-date information. Possibly even a specific page just for the Radbot (2) as it’s being sold? I’m sure all of the information is somewhere, it’s just very hard to find it.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Cheers,<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Christoph<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span lang=EN-US>From:</span></b><span lang=EN-US> OpenTRV-dev <</span><a href="mailto:opentrv-dev-bounces@lists.opentrv.org.uk" target="_blank"><span lang=EN-US>opentrv-dev-bounces@lists.opentrv.org.uk</span></a><span lang=EN-US>> <b>On Behalf Of </b>Robert May<br><b>Sent:</b> 19 February 2021 11:26<br><b>To:</b> Closed list for developer discussions <</span><a href="mailto:opentrv-dev@lists.opentrv.org.uk" target="_blank"><span lang=EN-US>opentrv-dev@lists.opentrv.org.uk</span></a><span lang=EN-US>><br><b>Subject:</b> [OpenTRV-dev] RadBot Radio Protocol</span><o:p></o:p></p></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'>I found this <a href="https://github.com/opentrv/OpenTRV-standards/blob/master/standards/protocol/IoTCommsFrameFormat/SecureBasicFrame-V0.1-201601.txt" target="_blank">https://github.com/opentrv/OpenTRV-standards/blob/master/standards/protocol/IoTCommsFrameFormat/SecureBasicFrame-V0.1-201601.txt</a><br><br>But don't think that this paragraph<o:p></o:p></p><blockquote style='margin-left:30.0pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b>868.35MHz 5kbps OOK "FS20" carrier, unwhitened, no hardware CRC/checksum,  with a preamble of aaaaaaaa and sync of cccccc. In this case the payloads should avoid long runs of 0x00 or 0xff bytes, and there should be no more than one trailing 0x00 (more may be stripped), ie should be somewhat self-whitened. Note however that the leading length byte may make for tricky interop with existing FS20-carrier OpenTRV comms.</b><o:p></o:p></p></blockquote><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>reflects the current Radbot Radio parameters.  Is there another document I'm missing, or do I need to dig into the code and reverse engineer from the transmitter setup?<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Thanks for any pointers,<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Rob.<o:p></o:p></p></div></div></div></div><p class=MsoNormal>_______________________________________________<br>OpenTRV-dev mailing list<br><a href="mailto:OpenTRV-dev@lists.opentrv.org.uk" target="_blank">OpenTRV-dev@lists.opentrv.org.uk</a><br><a href="http://lists.opentrv.org.uk/listinfo/opentrv-dev" target="_blank">http://lists.opentrv.org.uk/listinfo/opentrv-dev</a><o:p></o:p></p></blockquote></div></div></body></html>