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

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)
 
void setCarrierHz (uint32_t carrierHz)
 
bool begin (uint32_t bitFrequencyHz, Codec *p_codec, uint8_t pin)
 
void sendPreamble () override
 
void sendData (const uint8_t *data, uint8_t len) override
 
void sendEnd (bool &useChecksum)
 
bool isFrameClosed () const override
 

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
 
uint32_t _carrierHz = 0
 

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()

bool pulsewire::TxProtocolESP32::begin ( uint32_t  bitFrequencyHz,
Codec p_codec,
uint8_t  pin 
)
inlinevirtual

Implements pulsewire::TxProtocol.

Definition at line 38 of file TxDriverESP32.h.

◆ isFrameClosed()

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

Implements pulsewire::TxProtocol.

Definition at line 167 of file TxDriverESP32.h.

◆ sendData()

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

Implements pulsewire::TxProtocol.

Definition at line 71 of file TxDriverESP32.h.

◆ sendEnd()

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

Implements pulsewire::TxProtocol.

Definition at line 116 of file TxDriverESP32.h.

◆ sendPreamble()

void pulsewire::TxProtocolESP32::sendPreamble ( )
inlineoverridevirtual

Implements pulsewire::TxProtocol.

Definition at line 56 of file TxDriverESP32.h.

◆ setCarrierHz()

void pulsewire::TxProtocolESP32::setCarrierHz ( uint32_t  carrierHz)
inline

Definition at line 36 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

◆ _carrierHz

uint32_t pulsewire::TxProtocolESP32::_carrierHz = 0
protected

Definition at line 180 of file TxDriverESP32.h.

◆ _codec

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

Definition at line 170 of file TxDriverESP32.h.

◆ _frameSize

uint16_t pulsewire::TxProtocolESP32::_frameSize = 64
protected

Definition at line 172 of file TxDriverESP32.h.

◆ _itemsBuffer

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

Definition at line 174 of file TxDriverESP32.h.

◆ _txChannel

rmt_channel_handle_t pulsewire::TxProtocolESP32::_txChannel = nullptr
protected

Definition at line 173 of file TxDriverESP32.h.

◆ _txEncoder

rmt_encoder_handle_t pulsewire::TxProtocolESP32::_txEncoder = nullptr
protected

Definition at line 175 of file TxDriverESP32.h.

◆ _txPin

uint8_t pulsewire::TxProtocolESP32::_txPin
protected

Definition at line 171 of file TxDriverESP32.h.

◆ _txTransmitConfig

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

Definition at line 176 of file TxDriverESP32.h.

◆ is_frame_closed

bool pulsewire::TxProtocolESP32::is_frame_closed = true
protected

Definition at line 179 of file TxDriverESP32.h.

◆ output

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

Definition at line 177 of file TxDriverESP32.h.

◆ sum

uint8_t pulsewire::TxProtocolESP32::sum = 0
protected

Definition at line 178 of file TxDriverESP32.h.


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