arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ESPNowStream Class Reference

ESPNow as Arduino Stream. More...

#include <ESPNowStream.h>

Inheritance diagram for ESPNowStream:
BaseStream Stream Print

Public Member Functions

bool addPeer (const char *address)
 Adds a peer to which we can send info or from which we can receive info.
 
bool addPeer (esp_now_peer_info_t &peer)
 Adds a peer to which we can send info or from which we can receive info.
 
template<size_t size>
bool addPeers (const char *(&array)[size])
 Adds an array of.
 
int available () override
 
int availableForWrite () override
 
bool begin ()
 Initialization of ESPNow.
 
bool begin (ESPNowStreamConfig cfg)
 Initialization of ESPNow incl WIFI.
 
ESPNowStreamConfig defaultConfig ()
 
void end ()
 DeInitialization.
 
virtual void flush () override
 
float getBufferPercent ()
 provides how much the receive buffer is filled (in percent)
 
const charmacAddress ()
 Returns the mac address of the current ESP32.
 
 operator bool ()
 
size_t readBytes (uint8_t *data, size_t len) override
 Reeds the data from the peers.
 
void setReceiveCallback (esp_now_recv_cb_t cb)
 
void setSendCallback (esp_now_send_cb_t cb)
 Defines an alternative send callback.
 
size_t write (const uint8_t *data, size_t len) override
 Writes the data - sends it to all the peers.
 
virtual size_t write (uint8_t ch) override
 

Protected Member Functions

wifi_interface_t getInterface ()
 
bool isEncrypted ()
 
const charmac2str (const uint8_t *array)
 
void refillReadBuffer ()
 
void resetAvailableToWrite ()
 
bool setup ()
 Initialization.
 
void setupReceiveBuffer ()
 
void setupSemaphore ()
 
bool str2mac (const char *mac, uint8_t *values)
 

Static Protected Member Functions

static int bufferAvailableForWrite ()
 
static void default_recv_cb (const esp_now_recv_info *info, const uint8_t *data, int data_len)
 
static void default_send_cb (const uint8_t *mac_addr, esp_now_send_status_t status)
 

Protected Attributes

int _timeout = 10
 
volatile size_t available_to_write = 0
 
BufferRTOS< uint8_tbuffer {0}
 
ESPNowStreamConfig cfg
 
bool is_init = false
 
esp_now_recv_cb_t receive = default_recv_cb
 
esp_now_send_cb_t send = default_send_cb
 
RingBuffer< uint8_ttmp_in {0}
 
RingBuffer< uint8_ttmp_out {0}
 
SemaphoreHandle_t xSemaphore = nullptr
 

Detailed Description

ESPNow as Arduino Stream.

Author
Phil Schatzmann

Member Function Documentation

◆ available()

int available ( )
inlineoverridevirtual

Reimplemented from BaseStream.

◆ availableForWrite()

int availableForWrite ( )
inlineoverridevirtual

Reimplemented from BaseStream.

◆ begin()

bool begin ( )
inlinevirtual

Initialization of ESPNow.

Reimplemented from BaseStream.

◆ end()

void end ( )
inlinevirtual

DeInitialization.

Reimplemented from BaseStream.

◆ flush()

virtual void flush ( )
inlineoverridevirtualinherited

Reimplemented from Print.

Reimplemented in ResampleStream, BufferedTaskStream, and BufferedStream.

◆ readBytes()

size_t readBytes ( uint8_t data,
size_t  len 
)
inlineoverridevirtual

Reeds the data from the peers.

Implements BaseStream.

◆ setReceiveCallback()

void setReceiveCallback ( esp_now_recv_cb_t  cb)
inline

Defines the Receive Callback - Deactivates the readBytes and available() methods!

◆ write() [1/2]

size_t write ( const uint8_t data,
size_t  len 
)
inlineoverridevirtual

Writes the data - sends it to all the peers.

Implements BaseStream.

◆ write() [2/2]

virtual size_t write ( uint8_t  ch)
inlineoverridevirtualinherited

Reimplemented in BufferedTaskStream, and BufferedStream.


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