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

ESP32-specific TxDriver implementation that uses TxProtocolESP32 for transmission. More...

#include <TxDriverESP32.h>

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

Public Member Functions

 TxDriverESP32 (Codec &codec, uint8_t pin, uint32_t carrierHz=CARRIER_HZ, uint32_t freqHz=DEFAULT_BIT_FREQ_HZ, uint8_t duty=33, bool useChecksum=false)
 
bool begin (Codec &codec, uint8_t pin, uint32_t carrierHz=CARRIER_HZ, uint32_t freqHz=DEFAULT_BIT_FREQ_HZ, uint8_t duty=33, bool useChecksum=false)
 
virtual void init (TxProtocol &protocol, Codec &codec, uint8_t pin, bool useChecksum=false)
 
bool begin (uint16_t bitFrequencyHz) override
 
void setFrameSize (uint16_t size)
 Set the expected frame size for dynamic data transmission.
 
void setFramingMode (FramingMode mode) override
 
int write (uint8_t byte) override
 
size_t write (const uint8_t *data, size_t len)
 Build frames in the buffer and send when full.
 
void flush () override
 
virtual void end ()
 

Protected Member Functions

void sendPreamble ()
 
void sendData (const uint8_t *data, uint8_t len)
 
void sendEnd ()
 

Protected Attributes

TxProtocolESP32 protocol
 
Codec_codec = nullptr
 
TxProtocol_protocol = nullptr
 
RingBuffer< uint8_t_byteBuffer
 
uint16_t _frameSize = DEFAULT_FRAME_SIZE
 
FramingMode _framingMode = FramingMode::WriteBytes
 
uint16_t _bitFrequencyHz = DEFAULT_BIT_FREQ_HZ
 
bool _useChecksum = false
 
uint8_t check_sum = 0
 
uint8_t _pin = -1
 

Detailed Description

ESP32-specific TxDriver implementation that uses TxProtocolESP32 for transmission.

Definition at line 168 of file TxDriverESP32.h.

Constructor & Destructor Documentation

◆ TxDriverESP32()

pulsewire::TxDriverESP32::TxDriverESP32 ( Codec codec,
uint8_t  pin,
uint32_t  carrierHz = CARRIER_HZ,
uint32_t  freqHz = DEFAULT_BIT_FREQ_HZ,
uint8_t  duty = 33,
bool  useChecksum = false 
)
inline
Parameters
codecIR codec
pinTX pin
carrierHzCarrier frequency
freqHzBit frequency
dutyDuty cycle
useChecksumIf true, append checksum to frame (default: false)

Definition at line 178 of file TxDriverESP32.h.

Member Function Documentation

◆ begin() [1/2]

bool pulsewire::TxDriverESP32::begin ( Codec codec,
uint8_t  pin,
uint32_t  carrierHz = CARRIER_HZ,
uint32_t  freqHz = DEFAULT_BIT_FREQ_HZ,
uint8_t  duty = 33,
bool  useChecksum = false 
)
inline

Definition at line 184 of file TxDriverESP32.h.

◆ begin() [2/2]

bool pulsewire::TxDriverCommon::begin ( uint16_t  bitFrequencyHz)
inlineoverridevirtualinherited

Implements pulsewire::TxDriver.

Definition at line 62 of file TxDriverCommon.h.

◆ end()

virtual void pulsewire::TxDriver::end ( )
inlinevirtualinherited

Definition at line 26 of file TxDriver.h.

◆ flush()

void pulsewire::TxDriverCommon::flush ( )
inlineoverridevirtualinherited

Reimplemented from pulsewire::TxDriver.

Definition at line 133 of file TxDriverCommon.h.

◆ init()

virtual void pulsewire::TxDriverCommon::init ( TxProtocol protocol,
Codec codec,
uint8_t  pin,
bool  useChecksum = false 
)
inlinevirtualinherited

Definition at line 52 of file TxDriverCommon.h.

◆ sendData()

void pulsewire::TxDriverESP32::sendData ( const uint8_t data,
uint8_t  len 
)
inlineprotected

Definition at line 202 of file TxDriverESP32.h.

◆ sendEnd()

void pulsewire::TxDriverESP32::sendEnd ( )
inlineprotected

Definition at line 206 of file TxDriverESP32.h.

◆ sendPreamble()

void pulsewire::TxDriverESP32::sendPreamble ( )
inlineprotected

Definition at line 200 of file TxDriverESP32.h.

◆ setFrameSize()

void pulsewire::TxDriverCommon::setFrameSize ( uint16_t  size)
inlinevirtualinherited

Set the expected frame size for dynamic data transmission.

Implements pulsewire::TxDriver.

Definition at line 72 of file TxDriverCommon.h.

◆ setFramingMode()

void pulsewire::TxDriverCommon::setFramingMode ( FramingMode  mode)
inlineoverridevirtualinherited

Set the framing mode for how data is sent (e.g., fixed-size frames, immediate write, or flush)

Implements pulsewire::TxDriver.

Definition at line 82 of file TxDriverCommon.h.

◆ write() [1/2]

size_t pulsewire::TxDriverCommon::write ( const uint8_t data,
size_t  len 
)
inlinevirtualinherited

Build frames in the buffer and send when full.

Implements pulsewire::TxDriver.

Definition at line 102 of file TxDriverCommon.h.

◆ write() [2/2]

int pulsewire::TxDriverCommon::write ( uint8_t  byte)
inlineoverridevirtualinherited

Implements pulsewire::TxDriver.

Definition at line 84 of file TxDriverCommon.h.

Field Documentation

◆ _bitFrequencyHz

uint16_t pulsewire::TxDriverCommon::_bitFrequencyHz = DEFAULT_BIT_FREQ_HZ
protectedinherited

Definition at line 148 of file TxDriverCommon.h.

◆ _byteBuffer

RingBuffer<uint8_t> pulsewire::TxDriverCommon::_byteBuffer
protectedinherited

Definition at line 145 of file TxDriverCommon.h.

◆ _codec

Codec* pulsewire::TxDriverCommon::_codec = nullptr
protectedinherited

Definition at line 143 of file TxDriverCommon.h.

◆ _frameSize

uint16_t pulsewire::TxDriverCommon::_frameSize = DEFAULT_FRAME_SIZE
protectedinherited

Definition at line 146 of file TxDriverCommon.h.

◆ _framingMode

FramingMode pulsewire::TxDriverCommon::_framingMode = FramingMode::WriteBytes
protectedinherited

Definition at line 147 of file TxDriverCommon.h.

◆ _pin

uint8_t pulsewire::TxDriverCommon::_pin = -1
protectedinherited

Definition at line 151 of file TxDriverCommon.h.

◆ _protocol

TxProtocol* pulsewire::TxDriverCommon::_protocol = nullptr
protectedinherited

Definition at line 144 of file TxDriverCommon.h.

◆ _useChecksum

bool pulsewire::TxDriverCommon::_useChecksum = false
protectedinherited

Definition at line 149 of file TxDriverCommon.h.

◆ check_sum

uint8_t pulsewire::TxDriverCommon::check_sum = 0
protectedinherited

Definition at line 150 of file TxDriverCommon.h.

◆ protocol

TxProtocolESP32 pulsewire::TxDriverESP32::protocol
protected

Definition at line 198 of file TxDriverESP32.h.


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