ESPHome
2025.4.0
|
#include <es8311.h>
Public Member Functions | |
void | setup () override |
float | get_setup_priority () const override |
void | dump_config () override |
bool | set_volume (float volume) override |
Writes the volume out to the DAC. More... | |
float | volume () override |
Gets the current volume out from the DAC. More... | |
bool | set_mute_off () override |
Disables mute for audio out. More... | |
bool | set_mute_on () override |
Enables mute for audio out. More... | |
bool | is_muted () override |
void | set_use_mclk (bool use_mclk) |
void | set_bits_per_sample (ES8311Resolution resolution) |
void | set_sample_frequency (uint32_t sample_frequency) |
void | set_use_mic (bool use_mic) |
void | set_mic_gain (ES8311MicGain mic_gain) |
![]() | |
virtual void | loop () |
This method will be called repeatedly. More... | |
float | get_actual_setup_priority () const |
void | set_setup_priority (float priority) |
virtual float | get_loop_priority () const |
priority of loop(). More... | |
void | call () |
virtual void | on_shutdown () |
virtual void | on_safe_shutdown () |
uint32_t | get_component_state () const |
virtual void | mark_failed () |
Mark this component as failed. More... | |
void | mark_failed (const char *message) |
bool | is_failed () const |
bool | is_ready () const |
virtual bool | can_proceed () |
bool | status_has_warning () const |
bool | status_has_error () const |
void | status_set_warning (const char *message="unspecified") |
void | status_set_error (const char *message="unspecified") |
void | status_clear_warning () |
void | status_clear_error () |
void | status_momentary_warning (const std::string &name, uint32_t length=5000) |
void | status_momentary_error (const std::string &name, uint32_t length=5000) |
bool | has_overridden_loop () const |
void | set_component_source (const char *source) |
Set where this component was loaded from for some debug messages. More... | |
const char * | get_component_source () const |
Get the integration where this component was declared as a string. More... | |
![]() | |
I2CDevice ()=default | |
we use the C++ default constructor More... | |
void | set_i2c_address (uint8_t address) |
We store the address of the device on the bus. More... | |
void | set_i2c_bus (I2CBus *bus) |
we store the pointer to the I2CBus to use More... | |
I2CRegister | reg (uint8_t a_register) |
calls the I2CRegister constructor More... | |
I2CRegister16 | reg16 (uint16_t a_register) |
calls the I2CRegister16 constructor More... | |
ErrorCode | read (uint8_t *data, size_t len) |
reads an array of bytes from the device using an I2CBus More... | |
ErrorCode | read_register (uint8_t a_register, uint8_t *data, size_t len, bool stop=true) |
reads an array of bytes from a specific register in the I²C device More... | |
ErrorCode | read_register16 (uint16_t a_register, uint8_t *data, size_t len, bool stop=true) |
reads an array of bytes from a specific register in the I²C device More... | |
ErrorCode | write (const uint8_t *data, size_t len, bool stop=true) |
writes an array of bytes to a device using an I2CBus More... | |
ErrorCode | write_register (uint8_t a_register, const uint8_t *data, size_t len, bool stop=true) |
writes an array of bytes to a specific register in the I²C device More... | |
ErrorCode | write_register16 (uint16_t a_register, const uint8_t *data, size_t len, bool stop=true) |
write an array of bytes to a specific register in the I²C device More... | |
bool | read_bytes (uint8_t a_register, uint8_t *data, uint8_t len) |
Compat APIs All methods below have been added for compatibility reasons. More... | |
bool | read_bytes_raw (uint8_t *data, uint8_t len) |
template<size_t N> | |
optional< std::array< uint8_t, N > > | read_bytes (uint8_t a_register) |
template<size_t N> | |
optional< std::array< uint8_t, N > > | read_bytes_raw () |
bool | read_bytes_16 (uint8_t a_register, uint16_t *data, uint8_t len) |
bool | read_byte (uint8_t a_register, uint8_t *data, bool stop=true) |
optional< uint8_t > | read_byte (uint8_t a_register) |
bool | read_byte_16 (uint8_t a_register, uint16_t *data) |
bool | write_bytes (uint8_t a_register, const uint8_t *data, uint8_t len, bool stop=true) |
bool | write_bytes (uint8_t a_register, const std::vector< uint8_t > &data) |
template<size_t N> | |
bool | write_bytes (uint8_t a_register, const std::array< uint8_t, N > &data) |
bool | write_bytes_16 (uint8_t a_register, const uint16_t *data, uint8_t len) |
bool | write_byte (uint8_t a_register, uint8_t data, bool stop=true) |
bool | write_byte_16 (uint8_t a_register, uint16_t data) |
Protected Member Functions | |
bool | configure_clock_ () |
Configures the ES8311 registers for the chosen sample rate. More... | |
bool | configure_format_ () |
Configures the ES8311 registers for the chosen bits per sample. More... | |
bool | configure_mic_ () |
Configures the ES8311 microphone registers. More... | |
bool | set_mute_state_ (bool mute_state) |
Mutes or unmute the DAC audio out. More... | |
![]() | |
virtual void | call_loop () |
virtual void | call_setup () |
virtual void | call_dump_config () |
void | set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f) |
Set an interval function with a unique name. More... | |
void | set_interval (uint32_t interval, std::function< void()> &&f) |
bool | cancel_interval (const std::string &name) |
Cancel an interval function. More... | |
void | set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
Set an retry function with a unique name. More... | |
void | set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
bool | cancel_retry (const std::string &name) |
Cancel a retry function. More... | |
void | set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f) |
Set a timeout function with a unique name. More... | |
void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
bool | cancel_timeout (const std::string &name) |
Cancel a timeout function. More... | |
void | defer (const std::string &name, std::function< void()> &&f) |
Defer a callback to the next loop() call. More... | |
void | defer (std::function< void()> &&f) |
Defer a callback to the next loop() call. More... | |
bool | cancel_defer (const std::string &name) |
Cancel a defer callback using the specified name, name must not be empty. More... | |
Static Protected Member Functions | |
static uint8_t | calculate_resolution_value (ES8311Resolution resolution) |
Computes the register value for the configured resolution (bits per sample) More... | |
static const ES8311Coefficient * | get_coefficient (uint32_t mclk, uint32_t rate) |
Retrieves the appropriate registers values for the configured mclk and rate. More... | |
Protected Attributes | |
bool | use_mic_ |
ES8311MicGain | mic_gain_ |
bool | use_mclk_ |
bool | sclk_inverted_ {false} |
bool | mclk_inverted_ {false} |
uint32_t | mclk_multiple_ {256} |
uint32_t | sample_frequency_ |
ES8311Resolution | resolution_in_ |
ES8311Resolution | resolution_out_ |
![]() | |
bool | is_muted_ {false} |
![]() | |
uint32_t | component_state_ {0x0000} |
State of this component. More... | |
float | setup_priority_override_ {NAN} |
const char * | component_source_ {nullptr} |
std::string | error_message_ {} |
![]() | |
uint8_t | address_ {0x00} |
store the address of the device on the bus More... | |
I2CBus * | bus_ {nullptr} |
pointer to I2CBus instance More... | |
|
staticprotected |
Computes the register value for the configured resolution (bits per sample)
resolution | bits per sample enum for both audio in and audio out |
Definition at line 79 of file es8311.cpp.
|
protected |
Configures the ES8311 registers for the chosen sample rate.
Definition at line 104 of file es8311.cpp.
|
protected |
Configures the ES8311 registers for the chosen bits per sample.
Definition at line 175 of file es8311.cpp.
|
protected |
Configures the ES8311 microphone registers.
Definition at line 194 of file es8311.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 54 of file es8311.cpp.
|
staticprotected |
Retrieves the appropriate registers values for the configured mclk and rate.
mclk | mlck frequency in Hz |
rate | sample rate frequency in Hz |
Definition at line 96 of file es8311.cpp.
|
inlineoverridevirtual |
Reimplemented from esphome::Component.
|
inlineoverridevirtual |
Implements esphome::audio_dac::AudioDac.
|
inline |
|
inline |
|
inlineoverridevirtual |
Disables mute for audio out.
Implements esphome::audio_dac::AudioDac.
|
inlineoverridevirtual |
Enables mute for audio out.
Implements esphome::audio_dac::AudioDac.
|
protected |
Mutes or unmute the DAC audio out.
mute_state | True to mute, false to unmute |
Definition at line 208 of file es8311.cpp.
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Writes the volume out to the DAC.
volume | floating point between 0.0 and 1.0 |
Implements esphome::audio_dac::AudioDac.
Definition at line 67 of file es8311.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 24 of file es8311.cpp.
|
overridevirtual |
Gets the current volume out from the DAC.
Implements esphome::audio_dac::AudioDac.
Definition at line 73 of file es8311.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |