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

Header-only driver class for the ES8374 codec chip. More...

#include <ES8374.h>

Public Member Functions

 ES8374 ()=default
 
error_t configFmt (codec_mode_t mode, i2s_format_t fmt)
 Configure ES8374 I2S format.
 
error_t configI2S (codec_mode_t mode, I2SDefinition *iface)
 Configure ES8374 codec mode and I2S interface.
 
error_t configInputDevice ()
 Set ES8374 ADC input mode.
 
error_t configOutputDevice ()
 Set ES8374 DAC output mode.
 
error_t ctrlStateActive (codec_mode_t mode, bool ctrl_state_active)
 Control ES8374 codec chip.
 
error_t deinit (void)
 Deinitialize ES8374 codec chip.
 
error_t getVoiceMute (void)
 Get ES8374 DAC mute status.
 
error_t getVoiceVolume (int *volume)
 Get voice volume (0~100)
 
error_t i2sConfigClock (es_i2s_clock_t cfg)
 Configure I2S clock in MASTER mode.
 
error_t init (codec_config_t *cfg, codec_mode_t codec_mode)
 Initialize ES8374 codec chip.
 
error_t initReg (codec_mode_t ms_mode, i2s_format_t fmt, es_i2s_clock_t cfg)
 
void readAll ()
 Print all ES8374 registers.
 
int readReg (uint8_t reg_add, uint8_t *regv)
 
error_t setAdcDacVolume (int mode, int volume, int dot)
 
void setAddress (int addr)
 Defines the I2C device address.
 
error_t setBitsPerSample (codec_mode_t mode, sample_bits_t bit_per_sample)
 Configure ES8374 data sample bits.
 
error_t setD2sePga (es_d2se_pga_t gain)
 
error_t setMicGain (es_mic_gain_t gain)
 Set ES8374 mic gain.
 
error_t setVoiceMute (bool enable)
 Mute or unmute ES8374 DAC.
 
error_t setVoiceVolume (int volume)
 Set voice volume (0~100)
 
void setWire (i2c_bus_handle_t handle)
 Defines the I2C bus instance to be used.
 
error_t start (codec_mode_t mode)
 Start ES8374 codec chip.
 
error_t stop (codec_mode_t mode)
 Stop ES8374 codec chip.
 
error_t writeReg (uint8_t reg_add, uint8_t data)
 

Static Public Attributes

static constexpr int ES8374_ADDR = 0x10
 

Protected Attributes

int i2c_addr = ES8374_ADDR
 
i2c_bus_handle_t i2c_handle = nullptr
 
bool initialized = false
 

Detailed Description

Header-only driver class for the ES8374 codec chip.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ ES8374()

ES8374 ( )
default

Member Function Documentation

◆ configFmt()

error_t configFmt ( codec_mode_t  mode,
i2s_format_t  fmt 
)
inline

Configure ES8374 I2S format.

◆ configI2S()

error_t configI2S ( codec_mode_t  mode,
I2SDefinition *  iface 
)
inline

Configure ES8374 codec mode and I2S interface.

◆ configInputDevice()

error_t configInputDevice ( )
inline

Set ES8374 ADC input mode.

◆ configOutputDevice()

error_t configOutputDevice ( )
inline

Set ES8374 DAC output mode.

◆ ctrlStateActive()

error_t ctrlStateActive ( codec_mode_t  mode,
bool  ctrl_state_active 
)
inline

Control ES8374 codec chip.

◆ deinit()

error_t deinit ( void  )
inline

Deinitialize ES8374 codec chip.

◆ getVoiceMute()

error_t getVoiceMute ( void  )
inline

Get ES8374 DAC mute status.

◆ getVoiceVolume()

error_t getVoiceVolume ( int *  volume)
inline

Get voice volume (0~100)

◆ i2sConfigClock()

error_t i2sConfigClock ( es_i2s_clock_t  cfg)
inline

Configure I2S clock in MASTER mode.

◆ init()

error_t init ( codec_config_t *  cfg,
codec_mode_t  codec_mode 
)
inline

Initialize ES8374 codec chip.

◆ initReg()

error_t initReg ( codec_mode_t  ms_mode,
i2s_format_t  fmt,
es_i2s_clock_t  cfg 
)
inline

◆ readAll()

void readAll ( )
inline

Print all ES8374 registers.

◆ readReg()

int readReg ( uint8_t  reg_add,
uint8_t *  regv 
)
inline

◆ setAdcDacVolume()

error_t setAdcDacVolume ( int  mode,
int  volume,
int  dot 
)
inline

◆ setAddress()

void setAddress ( int  addr)
inline

Defines the I2C device address.

◆ setBitsPerSample()

error_t setBitsPerSample ( codec_mode_t  mode,
sample_bits_t  bit_per_sample 
)
inline

Configure ES8374 data sample bits.

◆ setD2sePga()

error_t setD2sePga ( es_d2se_pga_t  gain)
inline

◆ setMicGain()

error_t setMicGain ( es_mic_gain_t  gain)
inline

Set ES8374 mic gain.

◆ setVoiceMute()

error_t setVoiceMute ( bool  enable)
inline

Mute or unmute ES8374 DAC.

◆ setVoiceVolume()

error_t setVoiceVolume ( int  volume)
inline

Set voice volume (0~100)

◆ setWire()

void setWire ( i2c_bus_handle_t  handle)
inline

Defines the I2C bus instance to be used.

◆ start()

error_t start ( codec_mode_t  mode)
inline

Start ES8374 codec chip.

◆ stop()

error_t stop ( codec_mode_t  mode)
inline

Stop ES8374 codec chip.

◆ writeReg()

error_t writeReg ( uint8_t  reg_add,
uint8_t  data 
)
inline

Member Data Documentation

◆ ES8374_ADDR

constexpr int ES8374_ADDR = 0x10
staticconstexpr

◆ i2c_addr

int i2c_addr = ES8374_ADDR
protected

◆ i2c_handle

i2c_bus_handle_t i2c_handle = nullptr
protected

◆ initialized

bool initialized = false
protected

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