- arduino-lint complains about symlinks in the repo and this leads
to github updates NOT being taken into account by the Arduino
Library Manager.
The symlinks were all about am2 and Makefile. Although result is
not ideal, I've replaced symlinks with hardlinks.
- This switch is done by the new script 'am2' (replacing 'am') and
updated Makefiles.
- Also fixes a bug in RF433Debug where the buffer used to copy strings
from PROGMEM was not big enough. To ensure such a bug does not
re-occur, now RF433Debug lib checks this condition and should that be
the case, it prints out a fatal error and stops.
*WARNING*
Actual code *DOES NOT PASS* tests 3 and above.
It only passes test 1 and 2
- In order to save memory during the test plan, the read durations are
saved in 'compact' form, using compact() to reduce their size and
uncompact() to get their 'original' value (not exactly 'original' as
some precision is lost on the way).
Durations (without compact) are typically uint16_t whereas in compact
form, it is uint8_t, saving 50% of space.
The precision loss (see comment written on top of compact()) is fine
with the code logic.
- Previous value was 4000 us (4000 microseconds). This was too short to
identify certain RCSwitch protocols (like protocol 7).
- Also a few minor updates in README and example code
- last_low could be (wrongly) equal to zero.
- Also creates a fifth example, found in
examples/05_print_code_for_RF433recv_lib
- Fixes a minor issue (a bug? almost) where the separator could be
bigger than the initialization sequence. Now sep will always be lower
than, or equal to, initseq.
- Debug lib could clash with other lib users, and has been renamed into
RF433Debug.
Same with Serial, renamed into RF433Serial.
- Some constants/classes used inside these libs, have also been renamed
to have RF433 prefix.
- The new function register_callback allows to call a function when a
given code is received. Allows to:
- Register as many callbacks as needed
- Optionally call wait_free_433() before calling callback
- Provide a minimum delay betwen two consecutive calls of the
callback, allowing to de-duplicate code reception (a very common
situation with RF 433 Mhz code reception).
- RF433any uses its own assert mechanism. I had made it available in
RF433any.h so that test.ino could use it, but it is not logical (an
RF433any user could face a conflict if using RF433any and their own,
or the default, assert).
Now assert is defined only in RF433any.cpp.
This of course requested test.ino to define its own assert, that was
done, too.