FastLED 3.9.15
Loading...
Searching...
No Matches
fl::RxDevice Class Referenceabstract

Detailed Description

Common interface for RX devices.

Provides a unified interface for platform-specific receivers:

  • ESP32: RMT and GPIO ISR-based receivers
  • Other platforms: Future implementations

Definition at line 256 of file rx.h.

#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, DecodeErrordecode (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< RxDevicecreate (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< RxDevicecreateDummy () FL_NOEXCEPT
 Create dummy RxDevice instance (default fallback)
 

Friends

class fl::shared_ptr< RxDevice >
 

The documentation for this class was generated from the following files: