mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-07-28 04:07:47 +00:00
[ESP32P4] Add more warnings for specific GPIO pins
This commit is contained in:
@@ -166,7 +166,7 @@ extra_scripts = ${esp82xx_common.extra_scripts}
|
||||
; ESP_IDF 5.4.1
|
||||
[core_esp32_IDF5_4_1__3_2_0_LittleFS]
|
||||
platform = https://github.com/Jason2866/platform-espressif32.git#Arduino/IDF54
|
||||
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/3765/framework-arduinoespressif32-all-release_v5.4-3138bf0e.zip
|
||||
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/3772/framework-arduinoespressif32-all-release_v5.4-ef69115d.zip
|
||||
build_flags = -DESP32_STAGE
|
||||
-DESP_IDF_VERSION_MAJOR=5
|
||||
-DLIBRARIES_NO_LOG=1
|
||||
@@ -195,7 +195,7 @@ lib_extra_dirs =
|
||||
; ESP_IDF 5.5.0
|
||||
[core_esp32_IDF5_5_0__3_2_0_LittleFS]
|
||||
platform = https://github.com/Jason2866/platform-espressif32.git#Arduino/IDF55
|
||||
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/3770/framework-arduinoespressif32-all-release_v5.5-1bc6b44d.zip
|
||||
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/3774/framework-arduinoespressif32-all-release_v5.5-29017369.zip
|
||||
build_flags = -DESP32_STAGE
|
||||
-DESP_IDF_VERSION_MAJOR=5
|
||||
-DLIBRARIES_NO_LOG=1
|
||||
|
||||
@@ -2,3 +2,4 @@ platformio==6.1.18
|
||||
pygit2>=1.10.1
|
||||
cryptography==44.0.1
|
||||
setuptools>=75.8
|
||||
uv
|
||||
@@ -27,6 +27,10 @@
|
||||
#include "include/esp32x_fixes.h"
|
||||
#endif
|
||||
|
||||
#if CONFIG_ETH_USE_ESP32_EMAC
|
||||
#include <pins_arduino.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
// VariousBits1 defaults to 0, keep in mind when adding bit lookups.
|
||||
template<unsigned int N_TASKS>
|
||||
@@ -1207,12 +1211,31 @@ bool SettingsStruct_tmpl<N_TASKS>::isEthernetPin(int8_t pin) const {
|
||||
if (pin < 0) return false;
|
||||
if (NetworkMedium == NetworkMedium_t::Ethernet &&
|
||||
!isSPI_EthernetType(ETH_Phy_Type)) {
|
||||
#if CONFIG_ETH_USE_ESP32_EMAC
|
||||
#ifdef ESP32P4
|
||||
switch (pin) {
|
||||
// MDC/MDIO/Power can be configured by user
|
||||
//case ETH_PHY_MDC :
|
||||
//case ETH_PHY_MDIO :
|
||||
//case ETH_PHY_POWER :
|
||||
case ETH_RMII_TX_EN :
|
||||
case ETH_RMII_TX0 :
|
||||
case ETH_RMII_TX1 :
|
||||
case ETH_RMII_RX0 :
|
||||
case ETH_RMII_RX1_EN :
|
||||
case ETH_RMII_CRS_DV :
|
||||
case ETH_RMII_CLK :
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
if (19 == pin) return true; // ETH TXD0
|
||||
if (21 == pin) return true; // ETH TX EN
|
||||
if (22 == pin) return true; // ETH TXD1
|
||||
if (25 == pin) return true; // ETH RXD0
|
||||
if (26 == pin) return true; // ETH RXD1
|
||||
if (27 == pin) return true; // ETH CRS_DV
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif // if FEATURE_ETHERNET
|
||||
return false;
|
||||
|
||||
@@ -150,6 +150,9 @@ void WiFiEvent(WiFiEvent_t event_id, arduino_event_info_t info) {
|
||||
addLog(LOG_LEVEL_INFO, F("WIFI : AP got IP6"));
|
||||
break;
|
||||
# endif // if FEATURE_USE_IPV6
|
||||
case ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED:
|
||||
addLog(LOG_LEVEL_INFO, F("WIFI : AP assigned IP to STA"));
|
||||
break;
|
||||
case ARDUINO_EVENT_WIFI_AP_STACONNECTED:
|
||||
WiFiEventData.markConnectedAPmode(info.wifi_ap_staconnected.mac);
|
||||
break;
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
# include "../Globals/Settings.h"
|
||||
# include "../Helpers/Hardware_device_info.h"
|
||||
|
||||
#include <pins_arduino.h>
|
||||
|
||||
// ********************************************************************************
|
||||
// Get info of a specific GPIO pin
|
||||
// ********************************************************************************
|
||||
@@ -24,26 +26,30 @@ bool getGpioInfo(int gpio, int& pinnr, bool& input, bool& output, bool& warning)
|
||||
# if FEATURE_ETHERNET
|
||||
|
||||
// Check pins used for RMII Ethernet PHY
|
||||
if (NetworkMedium_t::Ethernet == Settings.NetworkMedium) {
|
||||
switch (gpio) {
|
||||
case 28: // RMII_RXDV
|
||||
case 29: // RMII_RXD0
|
||||
case 30: // RMII_RXD1
|
||||
case 34: // RMII_TXD0
|
||||
case 35: // RMII_TXD1
|
||||
case 49: // RMII_TXEN
|
||||
case 50: // RMII_CLK
|
||||
case 51: // PHY_RSTN
|
||||
case 52: // MDIO
|
||||
warning = true;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// FIXME TD-er: Must we also check for pins used for MDC/MDIO and Eth PHY power?
|
||||
if (Settings.isEthernetPin(gpio) || Settings.isEthernetPinOptional(gpio))
|
||||
{
|
||||
warning = true;
|
||||
}
|
||||
# endif // if FEATURE_ETHERNET
|
||||
|
||||
#ifdef BOARD_HAS_SDIO_ESP_HOSTED
|
||||
// TODO TD-er: Make this configurable as we can set this via WiFi.setPins
|
||||
switch (gpio) {
|
||||
case BOARD_SDIO_ESP_HOSTED_CLK :
|
||||
case BOARD_SDIO_ESP_HOSTED_CMD :
|
||||
case BOARD_SDIO_ESP_HOSTED_D0 :
|
||||
case BOARD_SDIO_ESP_HOSTED_D1 :
|
||||
case BOARD_SDIO_ESP_HOSTED_D2 :
|
||||
case BOARD_SDIO_ESP_HOSTED_D3 :
|
||||
case BOARD_SDIO_ESP_HOSTED_RESET :
|
||||
{
|
||||
warning = true;
|
||||
// if (gpio != BOARD_SDIO_ESP_HOSTED_RESET) { return false; }
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return (input || output);
|
||||
}
|
||||
|
||||
@@ -55,8 +61,11 @@ bool isBootModePin(int gpio)
|
||||
|
||||
bool isBootStrapPin(int gpio)
|
||||
{
|
||||
|
||||
return false;
|
||||
// Boot mode | GPIO35 | GPIO36 | GPIO37 | GPIO38
|
||||
//
|
||||
// SPI Boot | 1 | Any | Any | Any
|
||||
// Joint Download Boot | 0 | 1 | Any | Any
|
||||
return gpio >= 35 && gpio <= 38;
|
||||
}
|
||||
|
||||
bool getGpioPullResistor(int gpio, bool& hasPullUp, bool& hasPullDown) {
|
||||
@@ -103,20 +112,20 @@ bool getADC_gpio_info(int gpio_pin, int& adc, int& ch, int& t)
|
||||
t = -1;
|
||||
|
||||
switch (gpio_pin) {
|
||||
case 16: adc = 1; ch = 0; break;
|
||||
case 17: adc = 1; ch = 1; break;
|
||||
case 18: adc = 1; ch = 2; break;
|
||||
case 19: adc = 1; ch = 3; break;
|
||||
case 20: adc = 1; ch = 4; break;
|
||||
case 21: adc = 1; ch = 5; break;
|
||||
case 22: adc = 1; ch = 6; break;
|
||||
case 23: adc = 1; ch = 7; break;
|
||||
case 49: adc = 2; ch = 0; break;
|
||||
case 50: adc = 2; ch = 1; break;
|
||||
case 51: adc = 2; ch = 2; break;
|
||||
case 52: adc = 2; ch = 3; break;
|
||||
case 53: adc = 2; ch = 4; break;
|
||||
case 54: adc = 2; ch = 5; break;
|
||||
case A0: adc = 1; ch = 0; break;
|
||||
case A1: adc = 1; ch = 1; break;
|
||||
case A2: adc = 1; ch = 2; break;
|
||||
case A3: adc = 1; ch = 3; break;
|
||||
case A4: adc = 1; ch = 4; break;
|
||||
case A5: adc = 1; ch = 5; break;
|
||||
case A6: adc = 1; ch = 6; break;
|
||||
case A7: adc = 1; ch = 7; break;
|
||||
case A8: adc = 2; ch = 0; break;
|
||||
case A9: adc = 2; ch = 1; break;
|
||||
case A10: adc = 2; ch = 2; break;
|
||||
case A11: adc = 2; ch = 3; break;
|
||||
case A12: adc = 2; ch = 4; break;
|
||||
case A13: adc = 2; ch = 5; break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
#include "../Helpers/StringConverter.h"
|
||||
#include "../../ESPEasy_common.h"
|
||||
|
||||
#ifdef ESP32P4
|
||||
#include <pins_arduino.h>
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************************************\
|
||||
Device GPIO name functions to share flash strings
|
||||
\*********************************************************************************************/
|
||||
@@ -361,6 +366,20 @@ const __FlashStringHelper* getConflictingUse(int gpio, PinSelectPurpose purpose,
|
||||
if (Settings.isEthernetPin(gpio)) {
|
||||
return F("Eth");
|
||||
}
|
||||
#ifdef ESP32P4
|
||||
#ifdef BOARD_HAS_SDIO_ESP_HOSTED
|
||||
// TODO TD-er: Make this configurable as we can set this via WiFi.setPins
|
||||
switch (gpio) {
|
||||
case BOARD_SDIO_ESP_HOSTED_CLK : return F("SDIO_CLK");
|
||||
case BOARD_SDIO_ESP_HOSTED_CMD : return F("SDIO_CMD");
|
||||
case BOARD_SDIO_ESP_HOSTED_D0 : return F("SDIO_D0");
|
||||
case BOARD_SDIO_ESP_HOSTED_D1 : return F("SDIO_D1");
|
||||
case BOARD_SDIO_ESP_HOSTED_D2 : return F("SDIO_D2");
|
||||
case BOARD_SDIO_ESP_HOSTED_D3 : return F("SDIO_D3");
|
||||
case BOARD_SDIO_ESP_HOSTED_RESET : return F("SDIO_RESET");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (includeEthernet && Settings.isEthernetPinOptional(gpio)) {
|
||||
if (isGpioUsedInETHClockMode(Settings.ETH_Clock_Mode, gpio)) { return F("Eth Clock"); }
|
||||
|
||||
Reference in New Issue
Block a user