ESPHome  2024.7.0
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
esphome::ethernet::EthernetComponent Class Reference

#include <ethernet_component.h>

Inheritance diagram for esphome::ethernet::EthernetComponent:

Public Member Functions

 EthernetComponent ()
void setup () override
void loop () override
void dump_config () override
float get_setup_priority () const override
bool can_proceed () override
void on_shutdown () override
bool is_connected ()
void set_clk_pin (uint8_t clk_pin)
void set_miso_pin (uint8_t miso_pin)
void set_mosi_pin (uint8_t mosi_pin)
void set_cs_pin (uint8_t cs_pin)
void set_interrupt_pin (uint8_t interrupt_pin)
void set_reset_pin (uint8_t reset_pin)
void set_clock_speed (int clock_speed)
void set_phy_addr (uint8_t phy_addr)
void set_power_pin (int power_pin)
void set_mdc_pin (uint8_t mdc_pin)
void set_mdio_pin (uint8_t mdio_pin)
void set_clk_mode (emac_rmii_clock_mode_t clk_mode, emac_rmii_clock_gpio_t clk_gpio)
void add_phy_register (PHYRegister register_value)
void set_type (EthernetType type)
void set_manual_ip (const ManualIP &manual_ip)
network::IPAddresses get_ip_addresses ()
network::IPAddress get_dns_address (uint8_t num)
std::string get_use_address () const
void set_use_address (const std::string &use_address)
void get_eth_mac_address_raw (uint8_t *mac)
std::string get_eth_mac_address_pretty ()
eth_duplex_t get_duplex_mode ()
eth_speed_t get_link_speed ()
bool powerdown ()
- Public Member Functions inherited from esphome::Component
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_safe_shutdown ()
uint32_t get_component_state () const
virtual void mark_failed ()
 Mark this component as failed. More...
bool is_failed () const
bool is_ready () const
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...

Protected Member Functions

void start_connect_ ()
void dump_connect_params_ ()
void ksz8081_set_clock_reference_ (esp_eth_mac_t *mac)
 Set RMII Reference Clock Select bit for KSZ8081. More...
void write_phy_register_ (esp_eth_mac_t *mac, PHYRegister register_data)
 Set arbitratry PHY registers from config. More...
- Protected Member Functions inherited from esphome::Component
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 void eth_event_handler (void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)
static void got_ip_event_handler (void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)
static void got_ip6_event_handler (void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)

Protected Attributes

std::string use_address_
uint8_t clk_pin_
uint8_t miso_pin_
uint8_t mosi_pin_
uint8_t cs_pin_
uint8_t interrupt_pin_
int reset_pin_ {-1}
int phy_addr_spi_ {-1}
int clock_speed_
uint8_t phy_addr_ {0}
int power_pin_ {-1}
uint8_t mdc_pin_ {23}
uint8_t mdio_pin_ {18}
emac_rmii_clock_mode_t clk_mode_ {EMAC_CLK_EXT_IN}
emac_rmii_clock_gpio_t clk_gpio_ {EMAC_CLK_IN_GPIO}
std::vector< PHYRegisterphy_registers_ {}
EthernetType type_ {ETHERNET_TYPE_UNKNOWN}
optional< ManualIPmanual_ip_ {}
bool started_ {false}
bool connected_ {false}
bool got_ipv4_address_ {false}
uint8_t ipv6_count_ {0}
EthernetComponentState state_ {EthernetComponentState::STOPPED}
uint32_t connect_begin_
esp_netif_t * eth_netif_ {nullptr}
esp_eth_handle_t eth_handle_
esp_eth_phy_t * phy_ {nullptr}
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
float setup_priority_override_ {NAN}
const char * component_source_ {nullptr}

Detailed Description

Definition at line 50 of file ethernet_component.h.

Constructor & Destructor Documentation

◆ EthernetComponent()

esphome::ethernet::EthernetComponent::EthernetComponent ( )

Definition at line 38 of file ethernet_component.cpp.

Member Function Documentation

◆ add_phy_register()

void esphome::ethernet::EthernetComponent::add_phy_register ( PHYRegister  register_value)

Definition at line 535 of file ethernet_component.cpp.

◆ can_proceed()

bool esphome::ethernet::EthernetComponent::can_proceed ( )

Reimplemented from esphome::Component.

Definition at line 333 of file ethernet_component.cpp.

◆ dump_config()

void esphome::ethernet::EthernetComponent::dump_config ( )

Reimplemented from esphome::Component.

Definition at line 270 of file ethernet_component.cpp.

◆ dump_connect_params_()

void esphome::ethernet::EthernetComponent::dump_connect_params_ ( )

Definition at line 489 of file ethernet_component.cpp.

◆ eth_event_handler()

void esphome::ethernet::EthernetComponent::eth_event_handler ( void *  arg,
esp_event_base_t  event_base,
int32_t  event_id,
void *  event_data 

Definition at line 364 of file ethernet_component.cpp.

◆ get_dns_address()

network::IPAddress esphome::ethernet::EthernetComponent::get_dns_address ( uint8_t  num)

Definition at line 359 of file ethernet_component.cpp.

◆ get_duplex_mode()

eth_duplex_t esphome::ethernet::EthernetComponent::get_duplex_mode ( )

Definition at line 561 of file ethernet_component.cpp.

◆ get_eth_mac_address_pretty()

std::string esphome::ethernet::EthernetComponent::get_eth_mac_address_pretty ( )

Definition at line 555 of file ethernet_component.cpp.

◆ get_eth_mac_address_raw()

void esphome::ethernet::EthernetComponent::get_eth_mac_address_raw ( uint8_t *  mac)

Definition at line 549 of file ethernet_component.cpp.

◆ get_ip_addresses()

network::IPAddresses esphome::ethernet::EthernetComponent::get_ip_addresses ( )

Definition at line 335 of file ethernet_component.cpp.

◆ get_link_speed()

eth_speed_t esphome::ethernet::EthernetComponent::get_link_speed ( )

Definition at line 569 of file ethernet_component.cpp.

◆ get_setup_priority()

float esphome::ethernet::EthernetComponent::get_setup_priority ( ) const

Reimplemented from esphome::Component.

Definition at line 331 of file ethernet_component.cpp.

◆ get_use_address()

std::string esphome::ethernet::EthernetComponent::get_use_address ( ) const

Definition at line 540 of file ethernet_component.cpp.

◆ got_ip6_event_handler()

void esphome::ethernet::EthernetComponent::got_ip6_event_handler ( void *  arg,
esp_event_base_t  event_base,
int32_t  event_id,
void *  event_data 

Definition at line 405 of file ethernet_component.cpp.

◆ got_ip_event_handler()

void esphome::ethernet::EthernetComponent::got_ip_event_handler ( void *  arg,
esp_event_base_t  event_base,
int32_t  event_id,
void *  event_data 

Definition at line 391 of file ethernet_component.cpp.

◆ is_connected()

bool esphome::ethernet::EthernetComponent::is_connected ( )

Definition at line 487 of file ethernet_component.cpp.

◆ ksz8081_set_clock_reference_()

void esphome::ethernet::EthernetComponent::ksz8081_set_clock_reference_ ( esp_eth_mac_t *  mac)

Set RMII Reference Clock Select bit for KSZ8081.

Definition at line 596 of file ethernet_component.cpp.

◆ loop()

void esphome::ethernet::EthernetComponent::loop ( )

Reimplemented from esphome::Component.

Definition at line 230 of file ethernet_component.cpp.

◆ on_shutdown()

void esphome::ethernet::EthernetComponent::on_shutdown ( )

Reimplemented from esphome::Component.

Definition at line 58 of file ethernet_component.h.

◆ powerdown()

bool esphome::ethernet::EthernetComponent::powerdown ( )

Definition at line 577 of file ethernet_component.cpp.

◆ set_clk_mode()

void esphome::ethernet::EthernetComponent::set_clk_mode ( emac_rmii_clock_mode_t  clk_mode,
emac_rmii_clock_gpio_t  clk_gpio 

Definition at line 531 of file ethernet_component.cpp.

◆ set_clk_pin()

void esphome::ethernet::EthernetComponent::set_clk_pin ( uint8_t  clk_pin)

Definition at line 519 of file ethernet_component.cpp.

◆ set_clock_speed()

void esphome::ethernet::EthernetComponent::set_clock_speed ( int  clock_speed)

Definition at line 525 of file ethernet_component.cpp.

◆ set_cs_pin()

void esphome::ethernet::EthernetComponent::set_cs_pin ( uint8_t  cs_pin)

Definition at line 522 of file ethernet_component.cpp.

◆ set_interrupt_pin()

void esphome::ethernet::EthernetComponent::set_interrupt_pin ( uint8_t  interrupt_pin)

Definition at line 523 of file ethernet_component.cpp.

◆ set_manual_ip()

void esphome::ethernet::EthernetComponent::set_manual_ip ( const ManualIP manual_ip)

Definition at line 538 of file ethernet_component.cpp.

◆ set_mdc_pin()

void esphome::ethernet::EthernetComponent::set_mdc_pin ( uint8_t  mdc_pin)

Definition at line 529 of file ethernet_component.cpp.

◆ set_mdio_pin()

void esphome::ethernet::EthernetComponent::set_mdio_pin ( uint8_t  mdio_pin)

Definition at line 530 of file ethernet_component.cpp.

◆ set_miso_pin()

void esphome::ethernet::EthernetComponent::set_miso_pin ( uint8_t  miso_pin)

Definition at line 520 of file ethernet_component.cpp.

◆ set_mosi_pin()

void esphome::ethernet::EthernetComponent::set_mosi_pin ( uint8_t  mosi_pin)

Definition at line 521 of file ethernet_component.cpp.

◆ set_phy_addr()

void esphome::ethernet::EthernetComponent::set_phy_addr ( uint8_t  phy_addr)

Definition at line 527 of file ethernet_component.cpp.

◆ set_power_pin()

void esphome::ethernet::EthernetComponent::set_power_pin ( int  power_pin)

Definition at line 528 of file ethernet_component.cpp.

◆ set_reset_pin()

void esphome::ethernet::EthernetComponent::set_reset_pin ( uint8_t  reset_pin)

Definition at line 524 of file ethernet_component.cpp.

◆ set_type()

void esphome::ethernet::EthernetComponent::set_type ( EthernetType  type)

Definition at line 537 of file ethernet_component.cpp.

◆ set_use_address()

void esphome::ethernet::EthernetComponent::set_use_address ( const std::string &  use_address)

Definition at line 547 of file ethernet_component.cpp.

◆ setup()

void esphome::ethernet::EthernetComponent::setup ( )

Reimplemented from esphome::Component.

Definition at line 40 of file ethernet_component.cpp.

◆ start_connect_()

void esphome::ethernet::EthernetComponent::start_connect_ ( )

Definition at line 419 of file ethernet_component.cpp.

◆ write_phy_register_()

void esphome::ethernet::EthernetComponent::write_phy_register_ ( esp_eth_mac_t *  mac,
PHYRegister  register_data 

Set arbitratry PHY registers from config.

Definition at line 623 of file ethernet_component.cpp.

Field Documentation

◆ clk_gpio_

emac_rmii_clock_gpio_t esphome::ethernet::EthernetComponent::clk_gpio_ {EMAC_CLK_IN_GPIO}

Definition at line 120 of file ethernet_component.h.

◆ clk_mode_

emac_rmii_clock_mode_t esphome::ethernet::EthernetComponent::clk_mode_ {EMAC_CLK_EXT_IN}

Definition at line 119 of file ethernet_component.h.

◆ clk_pin_

uint8_t esphome::ethernet::EthernetComponent::clk_pin_

Definition at line 106 of file ethernet_component.h.

◆ clock_speed_

int esphome::ethernet::EthernetComponent::clock_speed_

Definition at line 113 of file ethernet_component.h.

◆ connect_begin_

uint32_t esphome::ethernet::EthernetComponent::connect_begin_

Definition at line 133 of file ethernet_component.h.

◆ connected_

bool esphome::ethernet::EthernetComponent::connected_ {false}

Definition at line 127 of file ethernet_component.h.

◆ cs_pin_

uint8_t esphome::ethernet::EthernetComponent::cs_pin_

Definition at line 109 of file ethernet_component.h.

◆ eth_handle_

esp_eth_handle_t esphome::ethernet::EthernetComponent::eth_handle_

Definition at line 135 of file ethernet_component.h.

◆ eth_netif_

esp_netif_t* esphome::ethernet::EthernetComponent::eth_netif_ {nullptr}

Definition at line 134 of file ethernet_component.h.

◆ got_ipv4_address_

bool esphome::ethernet::EthernetComponent::got_ipv4_address_ {false}

Definition at line 128 of file ethernet_component.h.

◆ interrupt_pin_

uint8_t esphome::ethernet::EthernetComponent::interrupt_pin_

Definition at line 110 of file ethernet_component.h.

◆ ipv6_count_

uint8_t esphome::ethernet::EthernetComponent::ipv6_count_ {0}

Definition at line 130 of file ethernet_component.h.

◆ manual_ip_

optional<ManualIP> esphome::ethernet::EthernetComponent::manual_ip_ {}

Definition at line 124 of file ethernet_component.h.

◆ mdc_pin_

uint8_t esphome::ethernet::EthernetComponent::mdc_pin_ {23}

Definition at line 117 of file ethernet_component.h.

◆ mdio_pin_

uint8_t esphome::ethernet::EthernetComponent::mdio_pin_ {18}

Definition at line 118 of file ethernet_component.h.

◆ miso_pin_

uint8_t esphome::ethernet::EthernetComponent::miso_pin_

Definition at line 107 of file ethernet_component.h.

◆ mosi_pin_

uint8_t esphome::ethernet::EthernetComponent::mosi_pin_

Definition at line 108 of file ethernet_component.h.

◆ phy_

esp_eth_phy_t* esphome::ethernet::EthernetComponent::phy_ {nullptr}

Definition at line 136 of file ethernet_component.h.

◆ phy_addr_

uint8_t esphome::ethernet::EthernetComponent::phy_addr_ {0}

Definition at line 115 of file ethernet_component.h.

◆ phy_addr_spi_

int esphome::ethernet::EthernetComponent::phy_addr_spi_ {-1}

Definition at line 112 of file ethernet_component.h.

◆ phy_registers_

std::vector<PHYRegister> esphome::ethernet::EthernetComponent::phy_registers_ {}

Definition at line 121 of file ethernet_component.h.

◆ power_pin_

int esphome::ethernet::EthernetComponent::power_pin_ {-1}

Definition at line 116 of file ethernet_component.h.

◆ reset_pin_

int esphome::ethernet::EthernetComponent::reset_pin_ {-1}

Definition at line 111 of file ethernet_component.h.

◆ started_

bool esphome::ethernet::EthernetComponent::started_ {false}

Definition at line 126 of file ethernet_component.h.

◆ state_

EthernetComponentState esphome::ethernet::EthernetComponent::state_ {EthernetComponentState::STOPPED}

Definition at line 132 of file ethernet_component.h.

◆ type_

EthernetType esphome::ethernet::EthernetComponent::type_ {ETHERNET_TYPE_UNKNOWN}

Definition at line 123 of file ethernet_component.h.

◆ use_address_

std::string esphome::ethernet::EthernetComponent::use_address_

Definition at line 104 of file ethernet_component.h.

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