arduino-audio-driver
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AudioDriverES8388Class Class Reference

Driver API for ES8388 codec chip. More...

#include <Driver.h>

Inheritance diagram for AudioDriverES8388Class:
AudioDriver

Public Member Functions

 AudioDriverES8388Class ()
 
virtual bool begin (CodecConfig codecCfg, DriverPins &pins)
 Starts the processing. More...
 
virtual bool end (void)
 Ends the processing: shut down dac and adc. More...
 
virtual int getI2CAddress ()
 Provides the i2c address. More...
 
int getVolume ()
 Determines the actual volume (range: 0-100) More...
 
bool isInputVolumeSupported ()
 Determines if setInputVolume() is supported. More...
 
virtual bool isVolumeSupported ()
 Determines if setVolume() is suppored. More...
 
 operator bool ()
 
virtual DriverPinspins ()
 Provides the pin information. More...
 
virtual bool setConfig (CodecConfig codecCfg)
 changes the configuration More...
 
virtual bool setI2CAddress (uint16_t adr)
 Defines the i2c address. More...
 
bool setInputVolume (int volume)
 Defines the input volume (range: 0-100) if supported. More...
 
bool setMicrophoneGain (es_mic_gain_t gain)
 
bool setMute (bool mute)
 Mutes all output lines. More...
 
bool setMute (bool mute, int line)
 Mute individual lines: only supported for some rare DACs. More...
 
bool setPAPower (bool enable)
 Sets the PA Power pin to active or inactive. More...
 
void setPins (DriverPins &pins)
 
void setupI2CAddress ()
 If no address is defined in the pins we provide it here. More...
 
bool setVolume (int volume)
 Defines the Volume (in %) if volume is 0, mute is enabled,range is 0-100. More...
 

Protected Member Functions

bool configInterface (codec_mode_t mode, I2SDefinition iface)
 
bool controlState (codec_mode_t mode)
 
bool deinit ()
 
virtual i2c_bus_handle_t getI2C ()
 Determine the TwoWire object from the I2C config or use Wire. More...
 
bool init (codec_config_t codec_cfg)
 
int limitValue (int volume, int min=0, int max=100)
 
int mapVolume (int x, int in_min, int in_max, int out_min, int out_max)
 

Protected Attributes

CodecConfig codec_cfg
 
int i2c_default_address = -1
 
bool line_active [2] = {true}
 
DriverPinsp_pins = nullptr
 

Detailed Description

Driver API for ES8388 codec chip.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ AudioDriverES8388Class()

Member Function Documentation

◆ begin()

virtual bool begin ( CodecConfig  codecCfg,
DriverPins pins 
)
inlinevirtualinherited

◆ configInterface()

bool configInterface ( codec_mode_t  mode,
I2SDefinition  iface 
)
inlineprotectedvirtual

< error_t value indicating success (no error)

Reimplemented from AudioDriver.

◆ controlState()

bool controlState ( codec_mode_t  mode)
inlineprotectedvirtual

< error_t value indicating success (no error)

Reimplemented from AudioDriver.

◆ deinit()

bool deinit ( )
inlineprotectedvirtual

< error_t value indicating success (no error)

Reimplemented from AudioDriver.

◆ end()

virtual bool end ( void  )
inlinevirtualinherited

Ends the processing: shut down dac and adc.

Reimplemented in AudioDriverCS42448Class, AudioDriverLyratMiniClass, AudioDriverWM8960Class, NoDriverClass, and AudioDriverWM8978Class.

◆ getI2C()

virtual i2c_bus_handle_t getI2C ( )
inlineprotectedvirtualinherited

Determine the TwoWire object from the I2C config or use Wire.

◆ getI2CAddress()

virtual int getI2CAddress ( )
inlinevirtualinherited

Provides the i2c address.

◆ getVolume()

int getVolume ( )
inlinevirtual

Determines the actual volume (range: 0-100)

Implements AudioDriver.

◆ init()

bool init ( codec_config_t  codec_cfg)
inlineprotectedvirtual

< error_t value indicating success (no error)

Reimplemented from AudioDriver.

◆ isInputVolumeSupported()

bool isInputVolumeSupported ( )
inlinevirtual

Determines if setInputVolume() is supported.

Reimplemented from AudioDriver.

◆ isVolumeSupported()

virtual bool isVolumeSupported ( )
inlinevirtualinherited

◆ limitValue()

int limitValue ( int  volume,
int  min = 0,
int  max = 100 
)
inlineprotectedinherited

make sure that value is in range

Parameters
volume
Returns

◆ mapVolume()

int mapVolume ( int  x,
int  in_min,
int  in_max,
int  out_min,
int  out_max 
)
inlineprotectedinherited

◆ operator bool()

operator bool ( )
inlineinherited

◆ pins()

virtual DriverPins& pins ( )
inlinevirtualinherited

Provides the pin information.

Reimplemented in AudioDriverCS42448Class.

◆ setConfig()

virtual bool setConfig ( CodecConfig  codecCfg)
inlinevirtualinherited

◆ setI2CAddress()

virtual bool setI2CAddress ( uint16_t  adr)
inlinevirtualinherited

Defines the i2c address.

◆ setInputVolume()

bool setInputVolume ( int  volume)
inlinevirtual

Defines the input volume (range: 0-100) if supported.

Reimplemented from AudioDriver.

◆ setMicrophoneGain()

bool setMicrophoneGain ( es_mic_gain_t  gain)
inline

< error_t value indicating success (no error)

◆ setMute() [1/2]

bool setMute ( bool  enable)
inlinevirtual

Mutes all output lines.

< error_t value indicating success (no error)

Implements AudioDriver.

◆ setMute() [2/2]

bool setMute ( bool  mute,
int  line 
)
inlinevirtual

Mute individual lines: only supported for some rare DACs.

< error_t value indicating success (no error)

< error_t value indicating success (no error)

< error_t value indicating success (no error)

< error_t value indicating success (no error)

Reimplemented from AudioDriver.

◆ setPAPower()

bool setPAPower ( bool  enable)
inlineinherited

Sets the PA Power pin to active or inactive.

◆ setPins()

void setPins ( DriverPins pins)
inlineinherited

◆ setupI2CAddress()

void setupI2CAddress ( )
inlineinherited

If no address is defined in the pins we provide it here.

◆ setVolume()

bool setVolume ( int  volume)
inlinevirtual

Defines the Volume (in %) if volume is 0, mute is enabled,range is 0-100.

< error_t value indicating success (no error)

Implements AudioDriver.

Member Data Documentation

◆ codec_cfg

CodecConfig codec_cfg
protectedinherited

◆ i2c_default_address

int i2c_default_address = -1
protectedinherited

◆ line_active

bool line_active[2] = {true}
protected

◆ p_pins

DriverPins* p_pins = nullptr
protectedinherited

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