1#ifndef SENSESP_NET_ETHERNET_PROVISIONER_H_
2#define SENSESP_NET_ETHERNET_PROVISIONER_H_
21#if defined(CONFIG_IDF_TARGET_ESP32P4)
30class EthernetProvisioner;
44struct EthernetConfig {
47 using ProvisionerType = EthernetProvisioner;
49 eth_phy_type_t phy_type = ETH_PHY_IP101;
54 eth_clock_mode_t clock_mode = EMAC_CLK_EXT_IN;
61 static EthernetConfig waveshare_esp32p4_poe() {
63 cfg.phy_type = ETH_PHY_IP101;
68 cfg.clock_mode = EMAC_CLK_EXT_IN;
87 explicit EthernetProvisioner(
const EthernetConfig& config);
88 ~EthernetProvisioner()
override;
91 IPAddress local_ip()
const override;
92 IPAddress gateway_ip()
const override;
93 String mac_address()
const override;
94 bool is_connected()
const override;
98 int link_speed_mbps()
const;
101 bool is_full_duplex()
const;
104 EthernetConfig config_;
Transport-agnostic network provisioner interface.