Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔧 Fix up WiFi support #25586

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions Marlin/src/HAL/ESP32/HAL.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,12 @@

#define MYSERIAL1 flushableSerial

#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)
#if ENABLED(ESP3D_WIFISUPPORT)
typedef ForwardSerial1Class< decltype(Serial2Socket) > DefaultSerial1;
extern DefaultSerial1 MSerial0;
#define MYSERIAL2 MSerial0
#else
#define MYSERIAL2 webSocketSerial
#endif
#if ENABLED(ESP3D_WIFISUPPORT)
typedef ForwardSerial1Class< decltype(Serial2Socket) > DefaultSerial1;
extern DefaultSerial1 MSerial0;
#define MYSERIAL2 MSerial0
#elif ENABLED(WIFISUPPORT)
#define MYSERIAL2 webSocketSerial
#endif

#define CRITICAL_SECTION_START() portENTER_CRITICAL(&hal.spinlock)
Expand Down
5 changes: 5 additions & 0 deletions Marlin/src/HAL/shared/esp_wifi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
*/

#include "../../inc/MarlinConfig.h"

#if ENABLED(WIFISUPPORT)

#include "Delay.h"

void esp_wifi_init(void) { // init ESP01 WIFI module pins
Expand All @@ -41,3 +44,5 @@ void esp_wifi_init(void) { // init ESP01 WIFI module pi
OUT_WRITE(ESP_WIFI_MODULE_ENABLE_PIN, HIGH);
#endif
}

#endif // WIFISUPPORT
8 changes: 7 additions & 1 deletion Marlin/src/MarlinCore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
#include "HAL/shared/esp_wifi.h"
#include "HAL/shared/cpu_exception/exception_hook.h"

#if ENABLED(WIFISUPPORT)
#include "HAL/shared/esp_wifi.h"
#endif

#ifdef ARDUINO
#include <pins_arduino.h>
#endif
Expand Down Expand Up @@ -1270,7 +1274,9 @@ void setup() {

SETUP_RUN(hal.init_board());

SETUP_RUN(esp_wifi_init());
#if ENABLED(WIFISUPPORT)
SETUP_RUN(esp_wifi_init());
#endif

// Report Reset Reason
if (mcu & RST_POWER_ON) SERIAL_ECHOLNPGM(STR_POWERUP);
Expand Down
10 changes: 7 additions & 3 deletions Marlin/src/inc/SanityCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -4307,10 +4307,14 @@ static_assert(_PLUS_TEST(4), "HOMING_FEEDRATE_MM_M values must be positive.");
#endif

/**
* Sanity check for WIFI
* Sanity check WiFi options
*/
#if EITHER(ESP3D_WIFISUPPORT, WIFISUPPORT) && DISABLED(ARDUINO_ARCH_ESP32)
#error "ESP3D_WIFISUPPORT or WIFISUPPORT requires an ESP32 MOTHERBOARD."
#if ENABLED(ESP3D_WIFISUPPORT) && DISABLED(ARDUINO_ARCH_ESP32)
#error "ESP3D_WIFISUPPORT requires an ESP32 MOTHERBOARD."
#elif ENABLED(WEBSUPPORT) && NONE(ARDUINO_ARCH_ESP32, WIFISUPPORT)
#error "WEBSUPPORT requires WIFISUPPORT and an ESP32 MOTHERBOARD."
#elif BOTH(ESP3D_WIFISUPPORT, WIFISUPPORT)
#error "Enable only one of ESP3D_WIFISUPPORT or WIFISUPPORT."
#endif

/**
Expand Down
12 changes: 7 additions & 5 deletions Marlin/src/pins/sam/pins_RURAMPS4D_11.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,13 @@
#define TFT_LCD_MODULE_COM 1
#define TFT_LCD_MODULE_BAUDRATE 115600

// ESP WiFi Use internal USART-2
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115600
#define ESP_WIFI_MODULE_RESET_PIN -1
#define PIGGY_GPIO_PIN -1
#if ENABLED(WIFISUPPORT)
// ESP WiFi Use internal USART-2
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115600
#define ESP_WIFI_MODULE_RESET_PIN -1
#define PIGGY_GPIO_PIN -1
#endif

//
// EEPROM
Expand Down
12 changes: 7 additions & 5 deletions Marlin/src/pins/sam/pins_RURAMPS4D_13.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,13 @@
#define TFT_LCD_MODULE_COM 1
#define TFT_LCD_MODULE_BAUDRATE 115200

// ESP WiFi Use internal USART-2
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#define PIGGY_GPIO_PIN -1
#if ENABLED(WIFISUPPORT)
// ESP WiFi Use internal USART-2
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#define PIGGY_GPIO_PIN -1
#endif

//
// EEPROM
Expand Down
44 changes: 23 additions & 21 deletions Marlin/src/pins/stm32f1/pins_FLSUN_HISPEED.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,27 +138,29 @@
#define DEFAULT_PWM_MOTOR_CURRENT { 800, 800, 800 }
#endif

/**
* MKS Robin_Wifi or another ESP8266 module
*
* __ESP(M1)__ -J1-
* GND| 15 | | 08 |+3v3 (22) RXD1 (PA10)
* | 16 | | 07 |MOSI (21) TXD1 (PA9) Active LOW, probably OK to leave floating
* IO2| 17 | | 06 |MISO (19) IO1 (PC7) Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating)
* IO0| 18 | | 05 |CLK (18) IO0 (PA8) Must be HIGH (ESP3D software configures this with a pullup so OK to leave as floating)
* IO1| 19 | | 03 |EN (03) WIFI_EN Must be HIGH for module to run
* | nc | | nc | (01) WIFI_CTRL (PA5)
* RX| 21 | | nc |
* TX| 22 | | 01 |RST
*  ̄ ̄ AE ̄ ̄
*/
// Module ESP-WIFI
#define ESP_WIFI_MODULE_COM 2 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PA5 // WIFI CTRL/RST
#define ESP_WIFI_MODULE_ENABLE_PIN -1
#define ESP_WIFI_MODULE_TXD_PIN PA9 // MKS or ESP WIFI RX PIN
#define ESP_WIFI_MODULE_RXD_PIN PA10 // MKS or ESP WIFI TX PIN
#if ENABLED(WIFISUPPORT)
/**
* MKS Robin_Wifi or another ESP8266 module
*
* __ESP(M1)__ -J1-
* GND| 15 | | 08 |+3v3 (22) RXD1 (PA10)
* | 16 | | 07 |MOSI (21) TXD1 (PA9) Active LOW, probably OK to leave floating
* IO2| 17 | | 06 |MISO (19) IO1 (PC7) Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating)
* IO0| 18 | | 05 |CLK (18) IO0 (PA8) Must be HIGH (ESP3D software configures this with a pullup so OK to leave as floating)
* IO1| 19 | | 03 |EN (03) WIFI_EN Must be HIGH for module to run
* | nc | | nc | (01) WIFI_CTRL (PA5)
* RX| 21 | | nc |
* TX| 22 | | 01 |RST
*  ̄ ̄ AE ̄ ̄
*/
// Module ESP-WIFI
#define ESP_WIFI_MODULE_COM 2 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PA5 // WIFI CTRL/RST
#define ESP_WIFI_MODULE_ENABLE_PIN -1
#define ESP_WIFI_MODULE_TXD_PIN PA9 // MKS or ESP WIFI RX PIN
#define ESP_WIFI_MODULE_RXD_PIN PA10 // MKS or ESP WIFI TX PIN
#endif
#endif

//
Expand Down
15 changes: 8 additions & 7 deletions Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,10 +226,11 @@

#define SDSS SD_SS_PIN

//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
// Must define WIFISUPPORT in Configuration.h for the printer.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#if ENABLED(WIFISUPPORT)
//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#endif
15 changes: 8 additions & 7 deletions Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
Original file line number Diff line number Diff line change
Expand Up @@ -220,10 +220,11 @@

#define SDSS SD_SS_PIN

//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
// Must define WIFISUPPORT in Configuration.h for the printer.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#if ENABLED(WIFISUPPORT)
//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#endif
15 changes: 8 additions & 7 deletions Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,11 @@

#define SDSS SD_SS_PIN

//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
// Must define WIFISUPPORT in Configuration.h for the printer.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#if ENABLED(WIFISUPPORT)
//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#endif
15 changes: 8 additions & 7 deletions Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
Original file line number Diff line number Diff line change
Expand Up @@ -223,10 +223,11 @@

#define SDSS SD_SS_PIN

//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
// Must define WIFISUPPORT in Configuration.h for the printer.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#if ENABLED(WIFISUPPORT)
//
// ESP WiFi can be soldered to J9 connector which is wired to USART2.
//
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#endif
19 changes: 10 additions & 9 deletions Marlin/src/pins/stm32f4/pins_BTT_E3_RRF.h
Original file line number Diff line number Diff line change
Expand Up @@ -390,15 +390,16 @@
#error "SD CUSTOM_CABLE is not compatible with BTT E3 RRF."
#endif

//
// WIFI
//

#define ESP_WIFI_MODULE_COM 3 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PA4
#define ESP_WIFI_MODULE_ENABLE_PIN PA5
#define ESP_WIFI_MODULE_GPIO0_PIN PA6
#if ENABLED(WIFISUPPORT)
//
// WIFI
//
#define ESP_WIFI_MODULE_COM 3 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PA4
#define ESP_WIFI_MODULE_ENABLE_PIN PA5
#define ESP_WIFI_MODULE_GPIO0_PIN PA6
#endif

#if ENABLED(BTT_E3_RRF_IDEX_BOARD)
#define FPC2_PIN PB11
Expand Down
46 changes: 24 additions & 22 deletions Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -542,26 +542,28 @@
#define NEOPIXEL_PIN PB0
#endif

//
// WIFI
//
#if ENABLED(WIFISUPPORT)
//
// WIFI
//

/**
* -------
* GND | 9 | | 8 | 3.3V
* (ESP-CS) PB12 | 10 | | 7 | PB15 (ESP-MOSI)
* 3.3V | 11 | | 6 | PB14 (ESP-MISO)
* (ESP-IO0) PD7 | 12 | | 5 | PB13 (ESP-CLK)
* (ESP-IO4) PD10 | 13 | | 4 | --
* -- | 14 | | 3 | PE15 (ESP-EN)
* (ESP-RX) PD8 | 15 | | 2 | --
* (ESP-TX) PD9 | 16 | | 1 | PE14 (ESP-RST)
* -------
* WIFI
*/
#define ESP_WIFI_MODULE_COM 3 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PG7
#define ESP_WIFI_MODULE_ENABLE_PIN PG8
#define ESP_WIFI_MODULE_GPIO0_PIN PD7
#define ESP_WIFI_MODULE_GPIO4_PIN PD10
/**
* -------
* GND | 9 | | 8 | 3.3V
* (ESP-CS) PB12 | 10 | | 7 | PB15 (ESP-MOSI)
* 3.3V | 11 | | 6 | PB14 (ESP-MISO)
* (ESP-IO0) PD7 | 12 | | 5 | PB13 (ESP-CLK)
* (ESP-IO4) PD10 | 13 | | 4 | --
* -- | 14 | | 3 | PE15 (ESP-EN)
* (ESP-RX) PD8 | 15 | | 2 | --
* (ESP-TX) PD9 | 16 | | 1 | PE14 (ESP-RST)
* -------
* WIFI
*/
#define ESP_WIFI_MODULE_COM 3 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PG7
#define ESP_WIFI_MODULE_ENABLE_PIN PG8
#define ESP_WIFI_MODULE_GPIO0_PIN PD7
#define ESP_WIFI_MODULE_GPIO4_PIN PD10
#endif
38 changes: 20 additions & 18 deletions Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -545,22 +545,24 @@
#endif
#endif

//
// WIFI
//
#if ENABLED(WIFISUPPORT)
//
// WIFI
//

/**
* ------
* RX | 8 7 | 3.3V GPIO0 PF14 ... Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating)
* GPIO0 | 6 5 | Reset GPIO2 PF15 ... must be high (ESP3D software configures this with a pullup so OK to leave as floating)
* GPIO2 | 4 3 | Enable Reset PG0 ... active low, probably OK to leave floating
* GND | 2 1 | TX Enable PG1 ... Must be high for module to run
* ------
* W1
*/
#define ESP_WIFI_MODULE_COM 6 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PG0
#define ESP_WIFI_MODULE_ENABLE_PIN PG1
#define ESP_WIFI_MODULE_GPIO0_PIN PF14
#define ESP_WIFI_MODULE_GPIO2_PIN PF15
/**
* ------
* RX | 8 7 | 3.3V GPIO0 PF14 ... Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating)
* GPIO0 | 6 5 | Reset GPIO2 PF15 ... must be high (ESP3D software configures this with a pullup so OK to leave as floating)
* GPIO2 | 4 3 | Enable Reset PG0 ... active low, probably OK to leave floating
* GND | 2 1 | TX Enable PG1 ... Must be high for module to run
* ------
* W1
*/
#define ESP_WIFI_MODULE_COM 6 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this
#define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2
#define ESP_WIFI_MODULE_RESET_PIN PG0
#define ESP_WIFI_MODULE_ENABLE_PIN PG1
#define ESP_WIFI_MODULE_GPIO0_PIN PF14
#define ESP_WIFI_MODULE_GPIO2_PIN PF15
#endif
Loading