3ad336a1eb
* Fix 2063 - Do not free pins unless allocated * Fix 2064: Allocate pins used for Ethernet * Fix obvious compilation errors. * Fix multiple bugs... * pinsAllocated[2] set twice due to copy/paste bug. * wrong pin allocated for ETH_CLOCK_GPIO17_OUT due to copy/paste bug * Stylistic change per PR review * Stylistic change per PR review * attempt to allocate pin for "default" button * remove extra local variable * check return value from ETH.begin() Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
94 lines
2.5 KiB
C
94 lines
2.5 KiB
C
#ifndef WLED_ETHERNET_H
|
|
#define WLED_ETHERNET_H
|
|
|
|
#ifdef WLED_USE_ETHERNET
|
|
// settings for various ethernet boards
|
|
typedef struct EthernetSettings {
|
|
uint8_t eth_address;
|
|
int eth_power;
|
|
int eth_mdc;
|
|
int eth_mdio;
|
|
eth_phy_type_t eth_type;
|
|
eth_clock_mode_t eth_clk_mode;
|
|
} ethernet_settings;
|
|
|
|
ethernet_settings ethernetBoards[] = {
|
|
// None
|
|
{
|
|
},
|
|
|
|
// WT32-EHT01
|
|
// Please note, from my testing only these pins work for LED outputs:
|
|
// IO2, IO4, IO12, IO14, IO15
|
|
// Pins IO34 through IO39 are input-only on ESP32, so
|
|
// the following exposed pins won't work to drive WLEDs
|
|
// IO35(*), IO36, IO39
|
|
// The following pins are also exposed via the headers,
|
|
// and likely can be used as general purpose IO:
|
|
// IO05(*), IO32 (CFG), IO33 (485_EN), IO33 (TXD)
|
|
//
|
|
// (*) silkscreen on board revision v1.2 may be wrong:
|
|
// IO5 silkscreen on v1.2 says IO35
|
|
// IO35 silkscreen on v1.2 says RXD
|
|
{
|
|
1, // eth_address,
|
|
16, // eth_power,
|
|
23, // eth_mdc,
|
|
18, // eth_mdio,
|
|
ETH_PHY_LAN8720, // eth_type,
|
|
ETH_CLOCK_GPIO0_IN // eth_clk_mode
|
|
},
|
|
|
|
// ESP32-POE
|
|
{
|
|
0, // eth_address,
|
|
12, // eth_power,
|
|
23, // eth_mdc,
|
|
18, // eth_mdio,
|
|
ETH_PHY_LAN8720, // eth_type,
|
|
ETH_CLOCK_GPIO17_OUT // eth_clk_mode
|
|
},
|
|
|
|
// WESP32
|
|
{
|
|
0, // eth_address,
|
|
-1, // eth_power,
|
|
16, // eth_mdc,
|
|
17, // eth_mdio,
|
|
ETH_PHY_LAN8720, // eth_type,
|
|
ETH_CLOCK_GPIO0_IN // eth_clk_mode
|
|
},
|
|
|
|
// QuinLed-ESP32-Ethernet
|
|
{
|
|
0, // eth_address,
|
|
5, // eth_power,
|
|
23, // eth_mdc,
|
|
18, // eth_mdio,
|
|
ETH_PHY_LAN8720, // eth_type,
|
|
ETH_CLOCK_GPIO17_OUT // eth_clk_mode
|
|
},
|
|
|
|
// TwilightLord-ESP32 Ethernet Shield
|
|
{
|
|
0, // eth_address,
|
|
5, // eth_power,
|
|
23, // eth_mdc,
|
|
18, // eth_mdio,
|
|
ETH_PHY_LAN8720, // eth_type,
|
|
ETH_CLOCK_GPIO17_OUT // eth_clk_mode
|
|
},
|
|
|
|
// ESP3DEUXQuattro
|
|
{
|
|
1, // eth_address,
|
|
-1, // eth_power,
|
|
23, // eth_mdc,
|
|
18, // eth_mdio,
|
|
ETH_PHY_LAN8720, // eth_type,
|
|
ETH_CLOCK_GPIO17_OUT // eth_clk_mode
|
|
}
|
|
};
|
|
#endif
|
|
|
|
#endif |