|
FastLED 3.9.15
|
Common interface for RX devices.
Provides a unified interface for platform-specific receivers:
#include <rx.h>
Public Member Functions | |
| virtual bool | begin (const RxConfig &config) FL_NOEXCEPT=0 |
| Initialize (or re-arm) RX channel with configuration. | |
| virtual fl::result< u32, DecodeError > | decode (const ChipsetTiming4Phase &timing, fl::span< u8 > out) FL_NOEXCEPT=0 |
| Decode captured data to bytes into a span. | |
| virtual bool | finished () const FL_NOEXCEPT=0 |
| Check if receive operation is complete. | |
| virtual int | getPin () const FL_NOEXCEPT=0 |
| Get GPIO pin number. | |
| virtual size_t | getRawEdgeTimes (fl::span< EdgeTime > out, size_t offset=0) FL_NOEXCEPT=0 |
| Get raw edge timings in universal format (for debugging) | |
| virtual bool | injectEdges (fl::span< const EdgeTime > edges) FL_NOEXCEPT=0 |
| Manually inject edge timings for testing (Phase 1 - PARLIO gap simulation) | |
| virtual const char * | name () const FL_NOEXCEPT=0 |
| Get device type name. | |
| virtual RxWaitResult | wait (u32 timeout_ms) FL_NOEXCEPT=0 |
| Wait for data with timeout. | |
Static Public Member Functions | |
| template<RxDeviceType TYPE> | |
| static fl::shared_ptr< RxDevice > | create (int pin) FL_NOEXCEPT |
| Template factory method to create RX device by type. | |
Protected Member Functions | |
| RxDevice () FL_NOEXCEPT=default | |
| virtual | ~RxDevice () FL_NOEXCEPT=default |
Static Private Member Functions | |
| static fl::shared_ptr< RxDevice > | createDummy () FL_NOEXCEPT |
| Create dummy RxDevice instance (default fallback) | |
Friends | |
| class | fl::shared_ptr< RxDevice > |