3 #include <freertos/FreeRTOS.h>
5 #include <driver/i2s.h>
8 #include <initializer_list>
18 const std::initializer_list<int> data_pins,
21 const int test_pin = -1,
22 const int frequency = 20000,
36 static volatile void* i2snum2struct(
const int num);
38 static constexpr
int sc_buffers = 2;
39 static constexpr
int sc_resolution = 100;
43 i2s_parallel_buffer_desc_t* m_buffer_descriptors[sc_buffers];
44 uint8_t* m_buffer[sc_buffers][sc_resolution];
46 std::vector<value_type> m_pwm;
Definition: RBControl_serialPWM.hpp:13
value_type & operator[](size_t index)
Definition: RBControl_serialPWM.cpp:99
static int resolution()
Definition: RBControl_serialPWM.cpp:115
int value_type
Definition: RBControl_serialPWM.hpp:15
SerialPWM(const int channels, const std::initializer_list< int > data_pins, const int latch_pin, const int clock_pin, const int test_pin=-1, const int frequency=20000, const int i2s=1)
Definition: RBControl_serialPWM.cpp:22
void update()
Definition: RBControl_serialPWM.cpp:101
~SerialPWM()
Definition: RBControl_serialPWM.cpp:87
The base namespace. Contains some logging functions, too.
Definition: half_duplex_uart.cpp:53