124 return volume > 100 ? 255 : (uint8_t)((volume * 255) / 100);
138 uint32_t
init(uint16_t outputDevice, uint8_t volume, uint32_t audioFreq) {
139 uint32_t counter = 0;
145 switch (outputDevice) {
225 uint32_t
play(uint16_t* pBuffer, uint16_t size) {
226 uint32_t counter = 0;
246 uint32_t counter = 0;
260 uint32_t counter = 0;
278 uint32_t counter = 0;
297 uint32_t counter = 0;
300 if (convertedvol > 0xE6) {
320 uint32_t counter = 0;
341 uint32_t counter = 0;
#define RESULT_OK
Definition DriverCommon.h:74
Header-only driver class for the CS43L22 codec chip.
Definition CS43L22.h:55
uint32_t setFrequency(uint32_t audioFreq)
Sets new frequency: not implemented for this codec, as it is automatically detected by the codec.
Definition CS43L22.h:314
static constexpr uint8_t cs43l22VolumeConvert(uint8_t volume)
Definition CS43L22.h:123
static constexpr uint8_t CS43L22_REG_PASSTHR_A_VOL
Definition CS43L22.h:94
static constexpr uint8_t CS43L22_REG_PLAYBACK_CTL1
Definition CS43L22.h:91
static constexpr uint8_t CS43L22_REG_PCMA_VOL
Definition CS43L22.h:96
uint32_t stop(uint32_t cmd)
Definition CS43L22.h:277
static constexpr int CODEC_PDWN_HW
Definition CS43L22.h:77
AudioFrequency
Definition CS43L22.h:57
@ AUDIO_FREQUENCY_22K
Definition CS43L22.h:63
@ AUDIO_FREQUENCY_32K
Definition CS43L22.h:62
@ AUDIO_FREQUENCY_96K
Definition CS43L22.h:59
@ AUDIO_FREQUENCY_44K
Definition CS43L22.h:61
@ AUDIO_FREQUENCY_16K
Definition CS43L22.h:64
@ AUDIO_FREQUENCY_8K
Definition CS43L22.h:66
@ AUDIO_FREQUENCY_192K
Definition CS43L22.h:58
@ AUDIO_FREQUENCY_11K
Definition CS43L22.h:65
@ AUDIO_FREQUENCY_48K
Definition CS43L22.h:60
static constexpr uint8_t CS43L22_REG_MASTER_A_VOL
Definition CS43L22.h:102
uint32_t init(uint16_t outputDevice, uint8_t volume, uint32_t audioFreq)
Definition CS43L22.h:138
static constexpr uint8_t CODEC_STANDARD
Definition CS43L22.h:119
static constexpr uint8_t CS43L22_REG_BATT_COMPENSATION
Definition CS43L22.h:113
static constexpr uint8_t CS43L22_REG_SPEAKER_STATUS
Definition CS43L22.h:115
static constexpr uint8_t CS43L22_REG_PASSTHR_GANG_CTL
Definition CS43L22.h:90
static constexpr uint8_t CS43L22_REG_SPEAKER_A_VOL
Definition CS43L22.h:106
uint32_t readID()
Get the CS43L22 ID.
Definition CS43L22.h:216
static constexpr uint8_t CS43L22_REG_HEADPHONE_B_VOL
Definition CS43L22.h:105
uint32_t resume()
Resumes playing on the audio codec.
Definition CS43L22.h:259
static constexpr uint8_t CS43L22_REG_OVF_CLK_STATUS
Definition CS43L22.h:112
static constexpr uint8_t CS43L22_REG_TEMPMONITOR_CTL
Definition CS43L22.h:116
static constexpr uint8_t CS43L22_REG_VP_BATTERY_LEVEL
Definition CS43L22.h:114
static constexpr uint8_t DEFAULT_VOLMIN
Definition CS43L22.h:72
static constexpr uint8_t DEFAULT_VOLSTEP
Definition CS43L22.h:74
static constexpr uint8_t OUTPUT_DEVICE_BOTH
Definition CS43L22.h:70
uint32_t setVolume(uint8_t volume)
Definition CS43L22.h:296
static constexpr uint8_t CS43L22_REG_PASSTHR_B_VOL
Definition CS43L22.h:95
volatile uint8_t output_dev
Definition CS43L22.h:388
static constexpr uint8_t CS43L22_ID
Definition CS43L22.h:120
uint32_t setMute(uint32_t cmd)
Definition CS43L22.h:319
static constexpr uint8_t CS43L22_REG_CLOCKING_CTL
Definition CS43L22.h:84
uint32_t pause()
Pauses playing on the audio codec.
Definition CS43L22.h:245
static constexpr uint8_t CS43L22_REG_BEEP_TONE_CFG
Definition CS43L22.h:100
static constexpr uint8_t OUTPUT_DEVICE_AUTO
Definition CS43L22.h:71
uint8_t writeReg(uint8_t reg, uint8_t value)
Definition CS43L22.h:379
static constexpr uint8_t CS43L22_REG_PCMB_VOL
Definition CS43L22.h:97
static constexpr uint8_t CS43L22_REG_TONE_CTL
Definition CS43L22.h:101
uint16_t device_addr
Definition CS43L22.h:386
void setWire(i2c_bus_handle_t handle)
Defines the I2C bus instance to be used.
Definition CS43L22.h:129
static constexpr uint8_t OUTPUT_DEVICE_SPEAKER
Definition CS43L22.h:68
static constexpr uint8_t CS43L22_REG_INTERFACE_CTL2
Definition CS43L22.h:86
static constexpr uint8_t CS43L22_REG_PASSTHR_B_SELECT
Definition CS43L22.h:88
static constexpr uint8_t CS43L22_REG_THERMAL_FOLDBACK
Definition CS43L22.h:117
static constexpr int AUDIO_MUTE_ON
Definition CS43L22.h:79
void deinit()
Deinitializes the audio codec.
Definition CS43L22.h:213
static constexpr uint8_t CS43L22_REG_LIMIT_CTL2
Definition CS43L22.h:110
static constexpr uint8_t CS43L22_REG_BEEP_FREQ_ON_TIME
Definition CS43L22.h:98
uint32_t reset()
Resets cs43l22 registers.
Definition CS43L22.h:378
static constexpr uint8_t CS43L22_REG_MISC_CTL
Definition CS43L22.h:92
i2c_bus_handle_t i2c_handle
Definition CS43L22.h:385
static constexpr uint8_t CS43L22_REG_HEADPHONE_A_VOL
Definition CS43L22.h:104
static constexpr int AUDIO_RESUME
Definition CS43L22.h:76
uint32_t setOutputMode(uint8_t output)
Definition CS43L22.h:340
static constexpr uint8_t CS43L22_REG_INTERFACE_CTL1
Definition CS43L22.h:85
static constexpr uint8_t CS43L22_REG_LIMIT_ATTACK_RATE
Definition CS43L22.h:111
static constexpr int CODEC_PDWN_SW
Definition CS43L22.h:78
static constexpr uint8_t CS43L22_ID_MASK
Definition CS43L22.h:121
static constexpr uint8_t DEFAULT_VOLMAX
Definition CS43L22.h:73
static constexpr uint8_t CS43L22_REG_BEEP_VOL_OFF_TIME
Definition CS43L22.h:99
static constexpr uint8_t CS43L22_REG_CHARGE_PUMP_FREQ
Definition CS43L22.h:118
uint8_t is_stop
Definition CS43L22.h:387
static constexpr uint8_t CS43L22_REG_PLAYBACK_CTL2
Definition CS43L22.h:93
static constexpr uint8_t CS43L22_REG_MASTER_B_VOL
Definition CS43L22.h:103
static constexpr uint8_t CS43L22_REG_PASSTHR_A_SELECT
Definition CS43L22.h:87
static constexpr uint8_t CS43L22_REG_SPEAKER_B_VOL
Definition CS43L22.h:107
uint32_t play(uint16_t *pBuffer, uint16_t size)
Definition CS43L22.h:225
static constexpr int AUDIO_PAUSE
Definition CS43L22.h:75
static constexpr int AUDIO_MUTE_OFF
Definition CS43L22.h:80
static constexpr uint8_t CS43L22_REG_ID
Definition CS43L22.h:81
static constexpr uint8_t CS43L22_REG_POWER_CTL2
Definition CS43L22.h:83
static constexpr uint8_t CS43L22_REG_LIMIT_CTL1
Definition CS43L22.h:109
static constexpr uint8_t CS43L22_REG_ANALOG_ZC_SR_SETT
Definition CS43L22.h:89
static constexpr uint8_t CS43L22_REG_CH_MIXER_SWAP
Definition CS43L22.h:108
static constexpr uint8_t CS43L22_CHIPID_ADDR
Definition CS43L22.h:122
static constexpr uint8_t CS43L22_REG_POWER_CTL1
Definition CS43L22.h:82
static constexpr uint8_t OUTPUT_DEVICE_HEADPHONE
Definition CS43L22.h:69
void setAddress(uint16_t addr)
Defines the I2C device address.
Definition CS43L22.h:132
Namespace for audio driver components.
Definition AudioBoard.h:5
void delayMs(unsigned long ms)
Definition API_Delay.h:19
int error_t
Definition DriverCommon.h:150
void * i2c_bus_handle_t
Definition DriverCommon.h:155