libNeon
Loading...
Searching...
No Matches
neo::strip< Led > Class Template Referencefinal

#include <strip.hpp>

Inheritance diagram for neo::strip< Led >:
Collaboration diagram for neo::strip< Led >:

Classes

class  const_iterator
 
class  iterator
 
class  iterator_base
 

Public Member Functions

 strip (std::pair< rmt_item32_t, rmt_item32_t > zero_one, std::size_t size=0, float gamma=default_gamma)
 
 strip (rmt_manager const &manager, controller chip, std::size_t size=0, bool inverted=false, float gamma=default_gamma)
 
esp_err_t update (std::vector< rgb > const &colors, rmt_channel_t channel, bool wait_tx_done) override
 
esp_err_t update (rgb color, rmt_channel_t channel, bool wait_tx_done) override
 
esp_err_t transmit (rmt_channel_t channel, bool wait_tx_done) const
 
rmt_item32_t zero () const
 
rmt_item32_t one () const
 
std::size_t size () const override
 
bool empty () const
 
float gamma () const
 
gamma_table const * get_gamma_table () const
 
void set_gamma (float gamma)
 
void clear ()
 
void resize (std::size_t new_size)
 
void resize (std::size_t new_size, Led led)
 
ref< Led > operator[] (std::size_t i)
 
cref< Led > operator[] (std::size_t i) const
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator end () const
 
const_iterator cend () const
 
iterator begin ()
 
iterator end ()
 
- Public Member Functions inherited from neo::transmittable_rgb_strip
virtual esp_err_t update (std::vector< rgb > const &colors, rmt_channel_t channel, bool wait_tx_done)=0
 
virtual esp_err_t update (rgb color, rmt_channel_t channel, bool wait_tx_done)=0
 
virtual std::size_t size () const =0
 
virtual ~transmittable_rgb_strip ()=default
 

Static Public Attributes

static constexpr float default_gamma = 2.8f
 
static constexpr float no_gamma = std::numeric_limits<float>::quiet_NaN()
 

Private Attributes

rmt_item32_t _zero
 
rmt_item32_t _one
 
float _gamma
 
gamma_table const * _gamma_table
 
std::vector< Led > _pixels
 
std::vector< rmt_item32_t > _rmt_buffer
 

Constructor & Destructor Documentation

◆ strip() [1/2]

template<class Led >
neo::strip< Led >::strip ( std::pair< rmt_item32_t, rmt_item32_t >  zero_one,
std::size_t  size = 0,
float  gamma = default_gamma 
)
explicit

◆ strip() [2/2]

template<class Led >
neo::strip< Led >::strip ( rmt_manager const &  manager,
controller  chip,
std::size_t  size = 0,
bool  inverted = false,
float  gamma = default_gamma 
)

Member Function Documentation

◆ begin() [1/2]

template<class Led >
strip< Led >::iterator neo::strip< Led >::begin
inline

◆ begin() [2/2]

template<class Led >
strip< Led >::const_iterator neo::strip< Led >::begin
inline

◆ cbegin()

template<class Led >
strip< Led >::const_iterator neo::strip< Led >::cbegin
inline

◆ cend()

template<class Led >
strip< Led >::const_iterator neo::strip< Led >::cend
inline

◆ clear()

template<class Led >
void neo::strip< Led >::clear

◆ empty()

template<class Led >
bool neo::strip< Led >::empty
inline

◆ end() [1/2]

template<class Led >
strip< Led >::iterator neo::strip< Led >::end
inline

◆ end() [2/2]

template<class Led >
strip< Led >::const_iterator neo::strip< Led >::end
inline

◆ gamma()

template<class Led >
float neo::strip< Led >::gamma
inline

◆ get_gamma_table()

template<class Led >
gamma_table const * neo::strip< Led >::get_gamma_table
inline

◆ one()

template<class Led >
rmt_item32_t neo::strip< Led >::one
inline

◆ operator[]() [1/2]

template<class Led >
ref< Led > neo::strip< Led >::operator[] ( std::size_t  i)
inline

◆ operator[]() [2/2]

template<class Led >
cref< Led > neo::strip< Led >::operator[] ( std::size_t  i) const
inline

◆ resize() [1/2]

template<class Led >
void neo::strip< Led >::resize ( std::size_t  new_size)
inline

◆ resize() [2/2]

template<class Led >
void neo::strip< Led >::resize ( std::size_t  new_size,
Led  led 
)

◆ set_gamma()

template<class Led >
void neo::strip< Led >::set_gamma ( float  gamma)
inline

◆ size()

template<class Led >
std::size_t neo::strip< Led >::size
inlineoverridevirtual

◆ transmit()

template<class Led >
esp_err_t neo::strip< Led >::transmit ( rmt_channel_t  channel,
bool  wait_tx_done 
) const

◆ update() [1/2]

template<class Led >
esp_err_t neo::strip< Led >::update ( rgb  color,
rmt_channel_t  channel,
bool  wait_tx_done 
)
overridevirtual

◆ update() [2/2]

template<class Led >
esp_err_t neo::strip< Led >::update ( std::vector< rgb > const &  colors,
rmt_channel_t  channel,
bool  wait_tx_done 
)
overridevirtual

◆ zero()

template<class Led >
rmt_item32_t neo::strip< Led >::zero
inline

Member Data Documentation

◆ _gamma

template<class Led >
float neo::strip< Led >::_gamma
private

◆ _gamma_table

template<class Led >
gamma_table const* neo::strip< Led >::_gamma_table
private

◆ _one

template<class Led >
rmt_item32_t neo::strip< Led >::_one
private

◆ _pixels

template<class Led >
std::vector<Led> neo::strip< Led >::_pixels
private

◆ _rmt_buffer

template<class Led >
std::vector<rmt_item32_t> neo::strip< Led >::_rmt_buffer
private

◆ _zero

template<class Led >
rmt_item32_t neo::strip< Led >::_zero
private

◆ default_gamma

template<class Led >
constexpr float neo::strip< Led >::default_gamma = 2.8f
staticconstexpr

◆ no_gamma

template<class Led >
constexpr float neo::strip< Led >::no_gamma = std::numeric_limits<float>::quiet_NaN()
staticconstexpr

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