Skip to content

Commit

Permalink
🔧 Fix up WiFi options (MarlinFirmware#25586)
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkyhead authored and ernisv committed Nov 23, 2023
1 parent 72ab8c4 commit a14d9e1
Show file tree
Hide file tree
Showing 17 changed files with 217 additions and 183 deletions.
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 @@ -1268,7 +1272,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 @@ -4166,10 +4166,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 @@ -544,26 +544,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 @@ -547,22 +547,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

0 comments on commit a14d9e1

Please sign in to comment.