Commit Graph

8 Commits

Author SHA1 Message Date
Sébastien Millet 9071e2d9d2 Manages compact integers in the test plan
*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.
2022-09-17 19:03:29 +02:00
Sébastien Millet 84cb6a6132 Updates bare minimum initseq to 2000 us
- 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
2022-01-16 09:34:06 +01:00
Sébastien Millet e345c00fed Debug Serial renamed RF433Debug RF433Serial resp.
- 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.
2021-07-17 16:37:15 +02:00
Sébastien Millet f535d56cdb Implements callbacks tied to specific codes
- 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).
2021-07-11 18:59:25 +02:00
Sébastien Millet 386e52e1e2 Provides a way to build BitVector data directly
- Also provides wait_free_433(), that will execute so long as there is a
  signal received (whatever it is).
2021-07-03 17:17:56 +02:00
Sébastien Millet c88ebb74cf Removes assert from RF433any.h
- 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.
2021-06-10 08:05:25 +02:00
Sébastien Millet 5230785d3f Adds one example and normalizes names
- There are now two examples in the examples directory.

- Adds RF433ANY_ prefix to macros as needed.

- Passes arduino-lint check.
2021-06-04 15:55:01 +02:00
Sébastien Millet 1497821b2e Initial Upload 2021-06-04 11:57:28 +02:00