arduino-audio-tools
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AnalogDriverESP32V1 Class Referenceabstract

AnalogAudioStream: A very fast DAC using DMA using the new dac_continuous API. More...

#include <AnalogDriverESP32V1.h>

Inheritance diagram for AnalogDriverESP32V1:
AnalogDriverBase

Classes

class  FIFO
 Custom FIFO class. More...
 
class  IO16Bit
 

Public Member Functions

 AnalogDriverESP32V1 ()
 Default constructor.
 
virtual ~AnalogDriverESP32V1 ()
 Destructor.
 
int available () override
 
virtual int availableForWrite ()
 
virtual bool begin (AnalogConfig cfg)=0
 
bool begin (AnalogConfigESP32V1 cfg)
 
void end () override
 
size_t readBytes (uint8_t *dest, size_t size_bytes) override
 
size_t write (const uint8_t *src, size_t size_bytes) override
 

Protected Member Functions

int availableFramesFromFifos () const
 
int availableFromFifoBytes () const
 
bool checkADCBitsPerSample ()
 
bool checkADCBitWidth ()
 
bool checkADCChannels ()
 
bool checkADCSampleRate ()
 
bool cleanup_rx ()
 Cleanup Analog to Digital Converter.
 
bool cleanup_tx ()
 Cleanup dac.
 
void cleanupADCCalibration ()
 
void cleanupFifoBuffers ()
 
void cleanupScratchBuffer ()
 
int configuredRxBytes () const
 
int emitFramesFromFifos (int16_t *dest, int max_frames)
 
size_t fifoCapacityFromConvFrameBytes (size_t conv_frame_bytes) const
 
int getChannelIndex (ADC_CHANNEL_TYPE chan_num) const
 
int16_t getOutputSample (ADC_DATA_TYPE data)
 
bool isValidType2Record (const adc_digi_output_data_t &sample) const
 
bool pushAdcChunkToReorderBuffers (const adc_digi_output_data_t *data, int samples_read)
 
void resetReorderState ()
 
bool setup_rx ()
 
bool setup_tx ()
 
bool setupADCCalibration ()
 

Protected Attributes

bool active = false
 
bool active_rx = false
 
bool active_tx = false
 
adc_cali_handle_t adc_cali_handle = nullptr
 
bool adc_cali_handle_active = false
 
adc_continuous_handle_t adc_handle = nullptr
 
ConverterAutoCenter auto_center
 
AnalogConfigESP32V1 cfg
 
NumberFormatConverterStream converter {io}
 
FIFO< ADC_DATA_TYPE > ** fifo_buffers = nullptr
 
int rx_pins_attached = 0
 
adc_digi_output_data_trx_result_buffer = nullptr
 
size_t rx_result_buffer_bytes = 0
 
size_t rx_result_buffer_samples = 0
 
bool rx_started = false
 
audio_tools::AnalogDriverESP32V1::IO16Bit this
 

Detailed Description

AnalogAudioStream: A very fast DAC using DMA using the new dac_continuous API.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ AnalogDriverESP32V1()

AnalogDriverESP32V1 ( )
inline

Default constructor.

◆ ~AnalogDriverESP32V1()

virtual ~AnalogDriverESP32V1 ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ available()

int available ( )
inlineoverridevirtual

Implements AnalogDriverBase.

◆ availableForWrite()

virtual int availableForWrite ( )
inlinevirtualinherited

Reimplemented in AnalogDriverMBED, and AnalogDriverArduino.

◆ availableFramesFromFifos()

int availableFramesFromFifos ( ) const
inlineprotected

◆ availableFromFifoBytes()

int availableFromFifoBytes ( ) const
inlineprotected

◆ begin() [1/2]

virtual bool begin ( AnalogConfig  cfg)
pure virtualinherited

◆ begin() [2/2]

bool begin ( AnalogConfigESP32V1  cfg)
inline

Start the Analog driver

◆ checkADCBitsPerSample()

bool checkADCBitsPerSample ( )
inlineprotected

◆ checkADCBitWidth()

bool checkADCBitWidth ( )
inlineprotected

◆ checkADCChannels()

bool checkADCChannels ( )
inlineprotected

◆ checkADCSampleRate()

bool checkADCSampleRate ( )
inlineprotected

◆ cleanup_rx()

bool cleanup_rx ( )
inlineprotected

Cleanup Analog to Digital Converter.

◆ cleanup_tx()

bool cleanup_tx ( )
inlineprotected

Cleanup dac.

◆ cleanupADCCalibration()

void cleanupADCCalibration ( )
inlineprotected

◆ cleanupFifoBuffers()

void cleanupFifoBuffers ( )
inlineprotected

◆ cleanupScratchBuffer()

void cleanupScratchBuffer ( )
inlineprotected

◆ configuredRxBytes()

int configuredRxBytes ( ) const
inlineprotected

◆ emitFramesFromFifos()

int emitFramesFromFifos ( int16_t dest,
int  max_frames 
)
inlineprotected

◆ end()

void end ( )
inlineoverridevirtual

Stop and uninstalls the driver

Implements AnalogDriverBase.

◆ fifoCapacityFromConvFrameBytes()

size_t fifoCapacityFromConvFrameBytes ( size_t  conv_frame_bytes) const
inlineprotected

◆ getChannelIndex()

int getChannelIndex ( ADC_CHANNEL_TYPE  chan_num) const
inlineprotected

◆ getOutputSample()

int16_t getOutputSample ( ADC_DATA_TYPE  data)
inlineprotected

◆ isValidType2Record()

bool isValidType2Record ( const adc_digi_output_data_t sample) const
inlineprotected

◆ pushAdcChunkToReorderBuffers()

bool pushAdcChunkToReorderBuffers ( const adc_digi_output_data_t data,
int  samples_read 
)
inlineprotected

◆ readBytes()

size_t readBytes ( uint8_t dest,
size_t  size_bytes 
)
inlineoverridevirtual

Implements AnalogDriverBase.

◆ resetReorderState()

void resetReorderState ( )
inlineprotected

◆ setup_rx()

bool setup_rx ( )
inlineprotected

◆ setup_tx()

bool setup_tx ( )
inlineprotected

◆ setupADCCalibration()

bool setupADCCalibration ( )
inlineprotected

◆ write()

size_t write ( const uint8_t src,
size_t  size_bytes 
)
inlineoverridevirtual

Reimplemented from AnalogDriverBase.

Member Data Documentation

◆ active

bool active = false
protected

◆ active_rx

bool active_rx = false
protected

◆ active_tx

bool active_tx = false
protected

◆ adc_cali_handle

adc_cali_handle_t adc_cali_handle = nullptr
protected

◆ adc_cali_handle_active

bool adc_cali_handle_active = false
protected

◆ adc_handle

adc_continuous_handle_t adc_handle = nullptr
protected

◆ auto_center

ConverterAutoCenter auto_center
protected

◆ cfg

AnalogConfigESP32V1 cfg
protected

◆ converter

NumberFormatConverterStream converter {io}
protected

◆ fifo_buffers

FIFO<ADC_DATA_TYPE>** fifo_buffers = nullptr
protected

◆ rx_pins_attached

int rx_pins_attached = 0
protected

◆ rx_result_buffer

adc_digi_output_data_t* rx_result_buffer = nullptr
protected

◆ rx_result_buffer_bytes

size_t rx_result_buffer_bytes = 0
protected

◆ rx_result_buffer_samples

size_t rx_result_buffer_samples = 0
protected

◆ rx_started

bool rx_started = false
protected

◆ this


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