arduino-audio-driver
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AudioDriverCS43l22Class Class Reference

Driver API for the CS43l22 codec chip on 0x94 (0x4A<<1) More...

#include <Driver.h>

Inheritance diagram for AudioDriverCS43l22Class:
AudioDriver

Public Member Functions

 AudioDriverCS43l22Class (uint16_t deviceAddr=0x4A)
 
virtual bool begin (CodecConfig codecCfg, DriverPins &pins)
 Starts the processing. More...
 
virtual bool end (void)
 Ends the processing: shut down dac and adc. More...
 
int getVolume ()
 Determines the actual volume (range: 0-100) More...
 
virtual 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...
 
void setI2CAddress (uint16_t adr)
 
virtual bool setInputVolume (int volume)
 Defines the input volume (range: 0-100) if supported. More...
 
bool setMute (bool mute)
 Mutes all output lines. More...
 
virtual 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)
 
bool setVolume (int volume)
 Defines the Volume (in %) if volume is 0, mute is enabled,range is 0-100. More...
 

Protected Member Functions

virtual bool configInterface (codec_mode_t mode, I2SDefinition iface)
 
virtual bool controlState (codec_mode_t mode)
 
bool deinit ()
 
uint32_t getFrequency (samplerate_t rateNum)
 
virtual TwoWire * getI2C ()
 Determine the TwoWire object from the I2C config or use Wire. More...
 
virtual int getI2CAddress ()
 
uint16_t getOutput (output_device_t output_device)
 
virtual bool init (codec_config_t codec_cfg)
 
int limitValue (int volume, int min=0, int max=100)
 

Protected Attributes

CodecConfig codec_cfg
 
uint16_t deviceAddr
 
DriverPinsp_pins = nullptr
 
int volume = 100
 

Detailed Description

Driver API for the CS43l22 codec chip on 0x94 (0x4A<<1)

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ AudioDriverCS43l22Class()

AudioDriverCS43l22Class ( uint16_t  deviceAddr = 0x4A)
inline

Member Function Documentation

◆ begin()

virtual bool begin ( CodecConfig  codecCfg,
DriverPins pins 
)
inlinevirtual

Starts the processing.

Reimplemented from AudioDriver.

◆ configInterface()

virtual bool configInterface ( codec_mode_t  mode,
I2SDefinition  iface 
)
inlineprotectedvirtualinherited

◆ controlState()

virtual bool controlState ( codec_mode_t  mode)
inlineprotectedvirtualinherited

◆ deinit()

bool deinit ( )
inlineprotectedvirtual

Reimplemented from AudioDriver.

◆ end()

virtual bool end ( void  )
inlinevirtualinherited

◆ getFrequency()

uint32_t getFrequency ( samplerate_t  rateNum)
inlineprotected

< set to 8k samples per second

< set to 11.025k samples per second

< set to 16k samples in per second

< set to 22.050k samples per second

< set to 24k samples in per second

< set to 32k samples in per second

< set to 44.1k samples per second

< set to 48k samples per second

◆ getI2C()

virtual TwoWire* getI2C ( )
inlineprotectedvirtualinherited

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

◆ getI2CAddress()

virtual int getI2CAddress ( )
inlineprotectedvirtualinherited

◆ getOutput()

uint16_t getOutput ( output_device_t  output_device)
inlineprotected

◆ getVolume()

int getVolume ( )
inlinevirtual

Determines the actual volume (range: 0-100)

Implements AudioDriver.

◆ init()

virtual bool init ( codec_config_t  codec_cfg)
inlineprotectedvirtualinherited

◆ isInputVolumeSupported()

virtual bool isInputVolumeSupported ( )
inlinevirtualinherited

◆ 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

◆ operator bool()

operator bool ( )
inlineinherited

◆ pins()

virtual DriverPins& pins ( )
inlinevirtualinherited

Provides the pin information.

Reimplemented in AudioDriverCS42448Class, and AudioDriverAD1938Class.

◆ setConfig()

virtual bool setConfig ( CodecConfig  codecCfg)
inlinevirtual

changes the configuration

Reimplemented from AudioDriver.

◆ setI2CAddress()

void setI2CAddress ( uint16_t  adr)
inline

◆ setInputVolume()

virtual bool setInputVolume ( int  volume)
inlinevirtualinherited

◆ setMute() [1/2]

bool setMute ( bool  enable)
inlinevirtual

Mutes all output lines.

Implements AudioDriver.

◆ setMute() [2/2]

virtual bool setMute ( bool  mute,
int  line 
)
inlinevirtualinherited

Mute individual lines: only supported for some rare DACs.

Reimplemented in AudioDriverWM8978Class, AudioDriverPCM3168Class, AudioDriverES8388Class, AudioDriverAD1938Class, and AudioDriverCS42448Class.

◆ setPAPower()

bool setPAPower ( bool  enable)
inlineinherited

Sets the PA Power pin to active or inactive.

◆ setPins()

void setPins ( DriverPins pins)
inlineinherited

◆ setVolume()

bool setVolume ( int  volume)
inlinevirtual

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

Implements AudioDriver.

Member Data Documentation

◆ codec_cfg

CodecConfig codec_cfg
protectedinherited

◆ deviceAddr

uint16_t deviceAddr
protected

◆ p_pins

DriverPins* p_pins = nullptr
protectedinherited

◆ volume

int volume = 100
protected

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