cyborg5 / IRLib2

Library for receiving, decoding, and sending infrared signals using Arduino
GNU General Public License v3.0
384 stars 138 forks source link

IR protocol for an RCA CRCRN04GR remote #65

Open dbhaig opened 5 years ago

dbhaig commented 5 years ago

This protocol is a bit old but I needed it. Others may find it useful.

cyborg5 commented 4 years ago

First of all thanks for contributing to IRLib2. I've been really tied up with other projects recently and haven't had time to go through contributions like yours. My standard reference for various protocols is http://www.hifi-remote.com/johnsfine/DecodeIR.html#RCA

And I think what you've implemented is in fact RCA-38 according to the above reference. I noticed you've implemented some timing changes for repeat frames that the reference doesn't mention. Have you tried operating your device without that extra repeat code?

Also the reference states that RCA protocol uses 58kHz modulation instead of 38kHz.

Most TSOP are tuned to 38 and although they will receive protocols that use 36-40 they generally will not reach all the way up to 57 or 58. So I'm going to presume that you have the RCA-38 and not the RCA original that uses 58 or you wouldn't of been able to decode it at all. If you can get your hands on a TSMP58000 sometime and try running frequency detection on your RCA remote I would be interested in seeing the results.

Probably what I will do is implement RCA according to the timing specifications in my reference document linked above. I will make it generic enough that it can use either 38 or 58 kHz depending on a parameter. I will then ask you to tested out and see if it operates your device. If it does, we will leave my version as official and of course you're free to use whatever version of code you want. I will get back to you on the other code you submitted. I don't recognize it in that reference I cited. It looks similar to DirecTV in that it uses 2 bits at a time but the timing values are way different than DirecTV. By the way you did right by using ABS_MATCH. If I can find out more about that protocol I will be much more likely to make it official as well. Feel free to contact me directly at cy_borg5@cyborg5.com