merbanan / rtl_433

Program to decode radio transmissions from devices on the ISM bands (and other frequencies)
GNU General Public License v2.0
6.17k stars 1.33k forks source link

RollEaseAcmedia pulse time refinement #3055

Closed bdnstn closed 2 months ago

bdnstn commented 2 months ago

Refine the pulse timing by exploring the limits of pulse timings that work and choosing the mid points. Tested an verified against 10 different blind motors on 2 different address and found improved (now 100%) reliability.

zuckschwerdt commented 2 months ago

Appreciated, thanks! Can you document your findings about the timings ranges?

bdnstn commented 2 months ago

Sure, in the conf file? I built a transmitter using Liligo LoRa ESP32 to operate my blinds. I found the original timings were failing about 3% of operations. By experimentation, I found that the upper and lower limits of short pulses for successful operation were 460 and 350 us respectively. In all test I just made the long pulse timing 2short pulse. I then chose the mid-point between upper and lower limits (460+350)/2=405us for short and `2405=810us` for long. Subsequent testing of transitions with these timings has been 100% reliable over about 100 cycles.

zuckschwerdt commented 2 months ago

Yes, a line of something like "short pulses have been found to work between 350 to 460 us, with long pulses twice that."

Note that for the simple case (no tolerance set) the slicer determines short/long at the mid-point between short and long, i.e. for s=352, l=725 it's 538.5 µs and for the new s=405, l=810 it's 607.5 µs. I'd say that both timings should work the same for the decoder, assuming there are no pulses in that mid range of 500-600 µs.

bdnstn commented 2 months ago

Sorry, it looks like the new conf I have created for OMA controller has got muddled with the PR for the amendment to the rolleasacmedia.conf. I'm a NOOB with github :-(

zuckschwerdt commented 2 months ago

I'll see if I can fix that with a manual merge.

zuckschwerdt commented 2 months ago

manually merged, also changed the line endings from DOS (CR+LF) to UNIX (LF).