10#ifndef PICO_DRIVER_SRC_CODEC_ADAU1361LOWER_HPP_
11#define PICO_DRIVER_SRC_CODEC_ADAU1361LOWER_HPP_
12#if __has_include(<hardware/i2c.h>) || __has_include(<gmock/gmock.h>) || DOXYGEN_COMPILE
16#if __has_include(<gmock/gmock.h>)
17#include <gmock/gmock.h>
59 unsigned int i2c_device_addr);
234#if __has_include(<gmock/gmock.h>) || DOXYGEN_COMPILE
243 MOCK_METHOD2(
SendCommand,
void(
const uint8_t command[],
int size));
249 MOCK_METHOD2(
ConfigurePll,
void(
unsigned int fs,
unsigned int master_clock));
255 void(
float left_gain,
float right_gain,
bool mute));
257 void(
float left_gain,
float right_gain,
bool mute));
259 void(
float left_gain,
float right_gain,
bool mute));
261 void(
float left_gain,
float right_gain,
bool mute));
lower part of the Adau1361 CODEC controller class.
Definition: adau1361lower.hpp:49
virtual void InitializeCore()
Reset the core for fresh procedure.
virtual void SetAuxInputGain(float left_gain, float right_gain, bool mute)
Set the aux input gain and enable the relevant mixer.
virtual void EnableCore()
Initialize the core part of the ADAU1361A.
virtual void WaitPllLock(void)
wait until PLL locks.
virtual void SendCommand(const uint8_t command[], int size)
send one command to ADAU1361.
virtual void SendCommandTable(const uint8_t table[][3], int rows)
Send multiple commands to ADAU1361.
virtual void DisablePLL()
stop PLL to re-program.
Adau1361Lower(::rpp_driver::I2cMaster &controller, unsigned int i2c_device_addr)
Construct a new object.
virtual void InitializeRegisters()
Initialize registers for the chip operation.
virtual void SetLineInputGain(float left_gain, float right_gain, bool mute)
Set the line input gain and enable the relevant mixer.
const unsigned int device_addr_
Internal variable to hold the I2C device address.
Definition: adau1361lower.hpp:230
virtual bool IsI2CDeviceExisting()
Check whether I2C device exist or not.
virtual void SetHpOutputGain(float left_gain, float right_gain, bool mute)
Set the headphone output gain and enable the relevant mixer.
virtual void ConfigureSrc(unsigned int fs)
Initialize the SRC with given fs clock.
virtual void ConfigurePll(unsigned int fs, unsigned int master_clock)
Initialize the PLL with given fs and master clock.
virtual void SetLineOutputGain(float left_gain, float right_gain, bool mute)
Set the line output gain and enable the relevant mixer.
::rpp_driver::I2cMaster & i2c_
Internal variable to hold the I2C controller variable.
Definition: adau1361lower.hpp:228
virtual void ConfigureSignalPath()=0
Initialize registers for the signal routing.
I2C Master controller class.
Definition: i2cmaster.hpp:83
Mock class for test.
Definition: adau1361lower.hpp:239
Collection of the RP2040/RP2350 control.
Definition: adau1361.hpp:17