Arduino PulseWire Transceiver Library
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes
pulsewire::TxProtocolESP32 Class Referenceabstract

ESP32-specific TxProtocol implementation using RMT for precise timing and DMA support. More...

#include <TxDriverESP32.h>

Inheritance diagram for pulsewire::TxProtocolESP32:
Inheritance graph
[legend]
Collaboration diagram for pulsewire::TxProtocolESP32:
Collaboration graph
[legend]

Public Member Functions

void setFrameSize (uint16_t size)
 
bool begin (Codec *p_codec, uint8_t pin)
 
void sendPreamble () override
 
void sendData (const uint8_t *data, uint8_t len) override
 
void sendEnd (bool &useChecksum, bool isDelayAfterFrame)
 
bool isFrameClosed () const override
 
virtual bool begin (uint16_t bitFrequencyHz, Codec *p_codec, uint8_t pin)=0
 

Protected Attributes

Codec_codec = nullptr
 
uint8_t _txPin
 
uint16_t _frameSize = 64
 
rmt_channel_handle_t _txChannel = nullptr
 
Vector< rmt_symbol_word_t_itemsBuffer
 
rmt_encoder_handle_t _txEncoder = nullptr
 
rmt_transmit_config_t _txTransmitConfig = {}
 
Vector< OutputEdgeoutput
 
uint8_t sum = 0
 
bool is_frame_closed = true
 

Detailed Description

ESP32-specific TxProtocol implementation using RMT for precise timing and DMA support.

Definition at line 26 of file TxDriverESP32.h.

Member Function Documentation

◆ begin() [1/2]

bool pulsewire::TxProtocolESP32::begin ( Codec p_codec,
uint8_t  pin 
)
inline

Definition at line 36 of file TxDriverESP32.h.

◆ begin() [2/2]

virtual bool pulsewire::TxProtocol::begin ( uint16_t  bitFrequencyHz,
Codec p_codec,
uint8_t  pin 
)
pure virtualinherited

◆ isFrameClosed()

bool pulsewire::TxProtocolESP32::isFrameClosed ( ) const
inlineoverridevirtual

Implements pulsewire::TxProtocol.

Definition at line 149 of file TxDriverESP32.h.

◆ sendData()

void pulsewire::TxProtocolESP32::sendData ( const uint8_t data,
uint8_t  len 
)
inlineoverridevirtual

Implements pulsewire::TxProtocol.

Definition at line 86 of file TxDriverESP32.h.

◆ sendEnd()

void pulsewire::TxProtocolESP32::sendEnd ( bool useChecksum,
bool  isDelayAfterFrame 
)
inlinevirtual

Implements pulsewire::TxProtocol.

Definition at line 116 of file TxDriverESP32.h.

◆ sendPreamble()

void pulsewire::TxProtocolESP32::sendPreamble ( )
inlineoverridevirtual

Implements pulsewire::TxProtocol.

Definition at line 75 of file TxDriverESP32.h.

◆ setFrameSize()

void pulsewire::TxProtocolESP32::setFrameSize ( uint16_t  size)
inlinevirtual

Implements pulsewire::TxProtocol.

Definition at line 30 of file TxDriverESP32.h.

Field Documentation

◆ _codec

Codec* pulsewire::TxProtocolESP32::_codec = nullptr
protected

Definition at line 152 of file TxDriverESP32.h.

◆ _frameSize

uint16_t pulsewire::TxProtocolESP32::_frameSize = 64
protected

Definition at line 154 of file TxDriverESP32.h.

◆ _itemsBuffer

Vector<rmt_symbol_word_t> pulsewire::TxProtocolESP32::_itemsBuffer
protected

Definition at line 156 of file TxDriverESP32.h.

◆ _txChannel

rmt_channel_handle_t pulsewire::TxProtocolESP32::_txChannel = nullptr
protected

Definition at line 155 of file TxDriverESP32.h.

◆ _txEncoder

rmt_encoder_handle_t pulsewire::TxProtocolESP32::_txEncoder = nullptr
protected

Definition at line 157 of file TxDriverESP32.h.

◆ _txPin

uint8_t pulsewire::TxProtocolESP32::_txPin
protected

Definition at line 153 of file TxDriverESP32.h.

◆ _txTransmitConfig

rmt_transmit_config_t pulsewire::TxProtocolESP32::_txTransmitConfig = {}
protected

Definition at line 158 of file TxDriverESP32.h.

◆ is_frame_closed

bool pulsewire::TxProtocolESP32::is_frame_closed = true
protected

Definition at line 161 of file TxDriverESP32.h.

◆ output

Vector<OutputEdge> pulsewire::TxProtocolESP32::output
protected

Definition at line 159 of file TxDriverESP32.h.

◆ sum

uint8_t pulsewire::TxProtocolESP32::sum = 0
protected

Definition at line 160 of file TxDriverESP32.h.


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