... and also "Add heuristic for detecting RFM01-framed FSK"
This reverts commits 3470b458 and 712f97e4 to remove the newly-added
pulse_demod_manchester_framed() functionality.
It turns out this isn't done by the hardware; it's application-specific.
The watchman code has been converted to use FSK_PULSE_PCM and handle the
framing and the Manchester decoding in the bitbuffer domain instead, and
this code can die since it wasn't as general-purpose as originally hoped.
See issue #224.
No level shift within the clock cycle translates to a logic 0
One level shift within the clock cycle translates to a logic 1
Each clock cycle begins with a level shift
+---+ +---+ +-------+ + high
| | | | | | |
| | | | | | |
+ +---+ +---+ +-------+ low
^ ^ ^ ^ ^ clock cycle
| 1 | 1 | 0 | 0 | translates as
Makes Chuango less noisy
Has provision for replacing ternary encoder (implements sync)
Can be expanded to include more selectivity (e.g. gap timing)
Can be expanded to include start bit removal (for replacing RAW)
Tested with the following data:
rtl_433 -r ~/rtl_433_tests/tests/lacrosse/01/gfile001.data
rtl_433 -r ~/rtl_433_tests/tests/lacrosse/01/gfile002.data
rtl_433 -r ~/rtl_433_tests/tests/lacrosse/01/gfile006.data
A pulse based Manchester demodulator is added based on the current
sample based manchester_decode() dunction.
The Ambient Weather sensor is converted and successfully tested to work.
With: rtl_433 -r ~/rtl_433_tests/tests/ambient_weather/01/f007th.data
The proofing of the new packet based pulse detection. The pulse
demodulator for PWM_RAW is added (with some minor corrections). The
fineoffset sensor is switched to the new decoder and tested to work
correctly (both with test data and live).
Made a prototype for a PWM pulse demodulator. Broke out bit_packet
functions into own file to avoid circular references and for clean up.
Compiles cleanly, but untested.