Skip to content

馃悰 Restore WEBSUPPORT / OTASUPPORT for ESP3D_WIFISUPPORT - #28738

Open
ellensp wants to merge 1 commit into
MarlinFirmware:bugfix-2.1.xfrom
ellensp:fix-esp3d-websupport
Open

ellensp wants to merge 1 commit into
MarlinFirmware:bugfix-2.1.xfrom
ellensp:fix-esp3d-websupport

Conversation

@ellensp

@ellensp ellensp commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Description

#28558 put WEBSUPPORT and OTASUPPORT inside #if ENABLED(WIFISUPPORT) in Configuration_adv.h, and added warnings that WEBSUPPORT, OTASUPPORT, WIFI_SSID and WIFI_PWD do nothing with ESP3D_WIFISUPPORT. That was wrong. ESP3DLib builds its web server only when WEBSUPPORT is defined and its OTA only when OTASUPPORT is defined, and it uses WIFI_SSID / WIFI_PWD as its station-mode defaults (src/esp3dlibconfig.h in the ESP3DLib version Marlin pins). So since #28558 an ESP3D_WIFISUPPORT build can't enable the ESP3D web interface or OTA from the configuration, and the warnings tell users to remove the options that would.

This PR:

  • Makes WEBSUPPORT, OTASUPPORT and Configuration_Secure.h available with either WIFISUPPORT or ESP3D_WIFISUPPORT again, with comments saying what each does for ESP3D. WIFI_CUSTOM_COMMAND stays under ESP3D_WIFISUPPORT.
  • Removes the three ESP3D warnings from Warnings.cpp.
  • Names both options in the SanityCheck.h errors for these options with no WiFi enabled.
  • Adds WEBSUPPORT and OTASUPPORT to the mks_tinybee config-01 ESP3D build test.

Marlin's own webserver and OTA (HAL/ESP32/wifi/) are unchanged: they still build only with WIFISUPPORT.

Requirements

An ESP32 board with ESP3D_WIFISUPPORT.

Benefits

ESP3D builds have a web interface, OTA updates and compile-time WiFi credentials again.

Tested on an MKS TinyBee (mks_tinybee, ESP3DLib 1.0), with ESP3D_WIFISUPPORT, WEBSUPPORT, OTASUPPORT and WIFI_CUSTOM_COMMAND set in the configuration. Each firmware was built from an empty build directory and accessed from a PC over WiFi:

bugfix-2.1.x This PR
Web_Server:: / ArduinoOTAClass:: symbols in the ELF 0 / 0 33 / 17
ESP3D web page (GET /) no answer 200
ArduinoOTA (UDP 3232) no answer replies; a firmware uploaded with espota.py installs and boots
WIFI_SSID / WIFI_PWD from Configuration_Secure.h ignored, starts its own AP joins that network as a station
Warnings with WEBSUPPORT, OTASUPPORT, WIFI_SSID / WIFI_PWD 3 "does nothing" warnings none

With no WiFi enabled (mega2560), WEBSUPPORT, OTASUPPORT, WIFI_SSID and WIFI_CUSTOM_COMMAND each still stop the build, with the updated messages.

Builds: mks_tinybee config-01, and esp32 config-01 (WIFISUPPORT + WEBSUPPORT + OTASUPPORT, Marlin's own webserver).

PlatformIO doesn't rebuild ESP3DLib when only the Marlin configuration changes, because ESP3DLib includes MarlinConfig.h through a macro. After toggling WEBSUPPORT or OTASUPPORT, do a clean build to see the change.

Configurations

buildroot/tests/mks_tinybee/config-01.ini

Related Issues

Fixes a regression from #28558.

ESP3DLib builds its web server only with WEBSUPPORT and its OTA only
with OTASUPPORT, and uses WIFI_SSID / WIFI_PWD as its station-mode
defaults. MarlinFirmware#28558 made these options WIFISUPPORT-only and warned that
they do nothing with ESP3D_WIFISUPPORT, so ESP3D builds lost their web
interface and OTA.

Make WEBSUPPORT, OTASUPPORT and Configuration_Secure.h available with
either WiFi option again, drop the ESP3D warnings, name both options in
the sanity check errors, and build the TinyBee ESP3D test with
WEBSUPPORT and OTASUPPORT.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant