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

RP2040-specific TxDriver implementation that uses TxProtocolRP2040 for transmission. More...

#include <TxDriverRP2040.h>

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

Public Member Functions

 TxDriverRP2040 (Codec &codec, uint8_t pin, uint32_t carrierHz=CARRIER_HZ, uint32_t freqHz=DEFAULT_BIT_FREQ_HZ, bool useChecksum=false)
 
bool begin (Codec &codec, uint8_t pin, uint32_t carrierHz=CARRIER_HZ, uint32_t freqHz=DEFAULT_BIT_FREQ_HZ, 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

TxProtocolRP2040 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

RP2040-specific TxDriver implementation that uses TxProtocolRP2040 for transmission.

Definition at line 170 of file TxDriverRP2040.h.

Constructor & Destructor Documentation

◆ TxDriverRP2040()

pulsewire::TxDriverRP2040::TxDriverRP2040 ( Codec codec,
uint8_t  pin,
uint32_t  carrierHz = CARRIER_HZ,
uint32_t  freqHz = DEFAULT_BIT_FREQ_HZ,
bool  useChecksum = false 
)
inline

Definition at line 172 of file TxDriverRP2040.h.

Member Function Documentation

◆ begin() [1/2]

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

Definition at line 178 of file TxDriverRP2040.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::TxDriverRP2040::sendData ( const uint8_t data,
uint8_t  len 
)
inlineprotected

Definition at line 196 of file TxDriverRP2040.h.

◆ sendEnd()

void pulsewire::TxDriverRP2040::sendEnd ( )
inlineprotected

Definition at line 200 of file TxDriverRP2040.h.

◆ sendPreamble()

void pulsewire::TxDriverRP2040::sendPreamble ( )
inlineprotected

Definition at line 194 of file TxDriverRP2040.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

TxProtocolRP2040 pulsewire::TxDriverRP2040::protocol
protected

Definition at line 192 of file TxDriverRP2040.h.


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