WS2812 RMT Driver
API reference
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ws2812::RmtRx Class Reference

#include <rmt_wrapper.hpp>

Public Member Functions

 RmtRx (gpio_num_t gpio, uint32_t resolution_hz=10 '000 '000, size_t mem_symbols=64, uint32_t idle_threshold_us=1000, uint32_t filter_ns=200, rmt_clock_source_t clk_src=RMT_CLK_SRC_DEFAULT, int channel_id=-1)
 
 RmtRx (const RmtRx &)=delete
 
RmtRx & operator= (const RmtRx &)=delete
 
 RmtRx (RmtRx &&o) noexcept
 
RmtRx & operator= (RmtRx &&o) noexcept
 
 ~RmtRx ()
 
esp_err_t receive (rmt_symbol_word_t *buffer, size_t buffer_symbols, size_t *out_symbols, TickType_t timeout=portMAX_DELAY)
 Start a single receive transaction and block until it completes.
 
rmt_channel_handle_t handle () const
 

Constructor & Destructor Documentation

◆ RmtRx() [1/3]

ws2812::RmtRx::RmtRx ( gpio_num_t  gpio,
uint32_t  resolution_hz = 10'000'000,
size_t  mem_symbols = 64,
uint32_t  idle_threshold_us = 1000,
uint32_t  filter_ns = 200,
rmt_clock_source_t  clk_src = RMT_CLK_SRC_DEFAULT,
int  channel_id = -1 
)
inlineexplicit

◆ RmtRx() [2/3]

ws2812::RmtRx::RmtRx ( const RmtRx &  )
delete

◆ RmtRx() [3/3]

ws2812::RmtRx::RmtRx ( RmtRx &&  o)
inlinenoexcept

◆ ~RmtRx()

ws2812::RmtRx::~RmtRx ( )
inline

Member Function Documentation

◆ handle()

rmt_channel_handle_t ws2812::RmtRx::handle ( ) const
inline

◆ operator=() [1/2]

RmtRx & ws2812::RmtRx::operator= ( const RmtRx &  )
delete

◆ operator=() [2/2]

RmtRx & ws2812::RmtRx::operator= ( RmtRx &&  o)
inlinenoexcept

◆ receive()

esp_err_t ws2812::RmtRx::receive ( rmt_symbol_word_t *  buffer,
size_t  buffer_symbols,
size_t *  out_symbols,
TickType_t  timeout = portMAX_DELAY 
)
inline

Start a single receive transaction and block until it completes.

The caller must provide a buffer sized to hold buffer_symbols symbols.


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