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

[BUG] simulator not build on windows10 #22429

Closed
sl1pkn07 opened this issue Jul 24, 2021 · 8 comments · Fixed by #22516
Closed

[BUG] simulator not build on windows10 #22429

sl1pkn07 opened this issue Jul 24, 2021 · 8 comments · Fixed by #22516
Labels
Bug: Confirmed ! C: Build / Toolchain T: Development Makefiles, PlatformIO, Python scripts, etc.

Comments

@sl1pkn07
Copy link
Contributor

sl1pkn07 commented Jul 24, 2021

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

simulator for windows(10) not build

Bug Timeline

new

Expected behavior

build ok

Actual behavior

fail build

Steps to Reproduce

1 -> download marlin souurces from git and checkout bugfix-2.0.x branch
2 -> set default_envs = simulator_windows in the platformio.ini
3 -> set BOARD_LINUX_RAMPS in canfiguration.h
4 -> install msys2 and perform system upgrade. and install the simulator dependiences
4 -> run pio run

Version of Marlin Firmware

git

Printer model

simulator

Electronics

simulator

Add-ons

none

Your Slicer

No response

Host Software

No response

Additional information & file uploads

Log Output
PS C:\Users\sL1pKn07\Documents\marlin-orig> pio run
Processing simulator_windows (platform: native; framework: )
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ off
Library Manager: Installing git+https:/p3p/MarlinSimUI.git
git version 2.32.0.windows.2
Cloning into 'C:\Users\sL1pKn07\.platformio\.cache\tmp\pkg-installing-1hzwg65w'...
Library Manager: MarlinSimUI @ 0.0.1+sha.0e047cc has been installed!
Library Manager: Installing dependencies...
Library Manager: Installing git+https:/p3p/imgui.git#pio_docking
git version 2.32.0.windows.2
Cloning into 'C:\Users\sL1pKn07\.platformio\.cache\tmp\pkg-installing-hm90q3bz'...
Library Manager: imgui @ 1.81.1+sha.0ab0689 has been installed!
Library Manager: Installing git+https:/p3p/implot.git#pio_master
git version 2.32.0.windows.2
Cloning into 'C:\Users\sL1pKn07\.platformio\.cache\tmp\pkg-installing-3bijdz0i'...
Library Manager: implot @ 0.8.1+sha.d26e0f5 has been installed!
Library Manager: Installing dependencies...
Library Manager: Installing https:/p3p/Adafruit_NeoPixel/archive/marlin_sim_native.zip
Downloading...
Library Manager: Adafruit NeoPixel @ 1.5.0 has been installed!
Library Manager: Installing https:/p3p/LiquidCrystal/archive/master.zip
Downloading...
Library Manager: LiquidCrystal @ 1.0.0 has been installed!
Found 5 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <MarlinSimulator> 0.0.1+sha.0e047cc
|   |-- <ImGui> 1.81.1+sha.0ab0689
|   |-- <ImPlot> 0.8.1+sha.d26e0f5
|   |   |-- <ImGui> 1.81.1+sha.0ab0689
|-- <Adafruit NeoPixel> 1.5.0
|   |-- <MarlinSimulator> 0.0.1+sha.0e047cc
|   |   |-- <ImGui> 1.81.1+sha.0ab0689
|   |   |-- <ImPlot> 0.8.1+sha.d26e0f5
|   |   |   |-- <ImGui> 1.81.1+sha.0ab0689
|-- <LiquidCrystal> 1.0.0
|   |-- <MarlinSimulator> 0.0.1+sha.0e047cc
|   |   |-- <ImGui> 1.81.1+sha.0ab0689
|   |   |-- <ImPlot> 0.8.1+sha.d26e0f5
|   |   |   |-- <ImGui> 1.81.1+sha.0ab0689
Building in debug mode
Compiling .pio\build\simulator_windows\debug\src\src\HAL\NATIVE_SIM\u8g\LCD_I2C_routines.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\NATIVE_SIM\u8g\LCD_pin_routines.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\NATIVE_SIM\u8g\u8g_com_st7920_sw_spi.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\NATIVE_SIM\u8g\u8g_com_sw_spi.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\shared\Delay.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\shared\HAL_MinSerial.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\shared\eeprom_api.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\shared\esp_wifi.o
Compiling .pio\build\simulator_windows\debug\src\src\HAL\shared\servo.o
Compiling .pio\build\simulator_windows\debug\src\src\MarlinCore.o
Compiling .pio\build\simulator_windows\debug\src\src\core\serial.o
Compiling .pio\build\simulator_windows\debug\src\src\core\utility.o
Compiling .pio\build\simulator_windows\debug\src\src\feature\ammeter.o
Compiling .pio\build\simulator_windows\debug\src\src\gcode\calibrate\G28.o
Compiling .pio\build\simulator_windows\debug\src\src\gcode\config\M200-M205.o
Compiling .pio\build\simulator_windows\debug\src\src\gcode\config\M220.o
Compiling .pio\build\simulator_windows\debug\src\src\gcode\config\M221.o
Compiling .pio\build\simulator_windows\debug\src\src\gcode\config\M301.o
In file included from Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/MarlinConfig.h:55,
                 from Marlin\src\HAL\NATIVE_SIM\u8g\u8g_com_st7920_sw_spi.cpp:58:
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/MarlinConfig.h:55,
                 from Marlin\src\HAL\NATIVE_SIM\u8g\u8g_com_sw_spi.cpp:58:
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\NATIVE_SIM\u8g\../../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
Compiling .pio\build\simulator_windows\debug\src\src\gcode\config\M302.o
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:55,
                 from Marlin\src\HAL\shared\esp_wifi.cpp:23:
Marlin\src\HAL\shared\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\HAL\shared\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\HAL\shared\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\HAL\shared\HAL_MinSerial.h:24,
                 from Marlin\src\HAL\shared\HAL_MinSerial.cpp:22:
Marlin\src\HAL\shared\../../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\HAL\shared\../../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\HAL\shared\../../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:55,
                 from Marlin\src\HAL\shared\Delay.cpp:24:
Marlin\src\HAL\shared\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\HAL\shared\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\HAL\shared\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\simulator_windows\debug\src\src\HAL\NATIVE_SIM\u8g\u8g_com_st7920_sw_spi.o] Error 1
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:55,
                 from Marlin\src\HAL\shared\servo.cpp:53:
Marlin\src\HAL\shared\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\HAL\shared\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\HAL\shared\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\shared\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\simulator_windows\debug\src\src\HAL\NATIVE_SIM\u8g\u8g_com_sw_spi.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\HAL\shared\HAL_MinSerial.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\HAL\shared\esp_wifi.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\HAL\shared\Delay.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\HAL\shared\servo.o] Error 1
In file included from Marlin\src\core\serial.cpp:23:
Marlin\src\core\serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\core\serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\core\serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\core\../inc/MarlinConfig.h:55,
                 from Marlin\src\core\../MarlinCore.h:24,
                 from Marlin\src\core\utility.cpp:25:
Marlin\src\core\../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\core\../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\core\../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\core\../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\feature\../inc/MarlinConfig.h:55,
                 from Marlin\src\feature\ammeter.cpp:23:
Marlin\src\feature\../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\feature\../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\feature\../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:55,
                 from Marlin\src\gcode\config\../gcode.h:308,
                 from Marlin\src\gcode\config\M220.cpp:23:
Marlin\src\gcode\config\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\gcode\config\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\gcode\config\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\simulator_windows\debug\src\src\core\serial.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\core\utility.o] Error 1
In file included from Marlin\src\inc/MarlinConfig.h:55,
                 from Marlin\src\MarlinCore.h:24,
                 from Marlin\src\MarlinCore.cpp:31:
Marlin\src\inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\simulator_windows\debug\src\src\feature\ammeter.o] Error 1
In file included from Marlin\src\inc/MarlinConfigPre.h:37,
                 from Marlin\src\inc/MarlinConfig.h:28,
                 from Marlin\src\MarlinCore.h:24,
                 from Marlin\src\MarlinCore.cpp:31:
Marlin\src\MarlinCore.cpp: In function 'void setup()':
Marlin\src\inc/../core/serial.h:207:64: error: call of overloaded 'serial_echopair_PGM(const char [23], long long unsigned int)' is ambiguous
  207 | #define _SELP_2(s,v)              serial_echopair_PGM(PSTR(s),v); SERIAL_EOL();
      |                                                                ^
Marlin\src\inc/../core/macros.h:579:24: note: in definition of macro 'EVAL1'
  579 | #define EVAL1(V...)    V
      |                        ^
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:24: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:24: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:30: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:576:24: note: in expansion of macro 'EVAL4'
  576 | #define EVAL8(V...)    EVAL4(EVAL4(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:24: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:24: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:24: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:30: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:576:30: note: in expansion of macro 'EVAL4'
  576 | #define EVAL8(V...)    EVAL4(EVAL4(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:575:24: note: in expansion of macro 'EVAL8'
  575 | #define EVAL16(V...)   EVAL8(EVAL8(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:24: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:24: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:24: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:30: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:576:24: note: in expansion of macro 'EVAL4'
  576 | #define EVAL8(V...)    EVAL4(EVAL4(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:24: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:24: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:24: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                        ^~~~~
Marlin\src\inc/../core/macros.h:578:30: note: in expansion of macro 'EVAL1'
  578 | #define EVAL2(V...)    EVAL1(EVAL1(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:577:30: note: in expansion of macro 'EVAL2'
  577 | #define EVAL4(V...)    EVAL2(EVAL2(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:576:30: note: in expansion of macro 'EVAL4'
  576 | #define EVAL8(V...)    EVAL4(EVAL4(V))
      |                              ^~~~~
Marlin\src\inc/../core/macros.h:575:30: note: in expansion of macro 'EVAL8'
  575 | #define EVAL16(V...)   EVAL8(EVAL8(V))
      |                              ^~~~~
Marlin\src\inc/../core/serial.h:203:35: note: in expansion of macro '_SELP_2'
  203 | #define __SELP_N(N,V...)          _SELP_##N(V)
      |                                   ^~~~~~
Marlin\src\inc/../core/serial.h:204:35: note: in expansion of macro '__SELP_N'
  204 | #define _SELP_N(N,V...)           __SELP_N(N,V)
      |                                   ^~~~~~~~
Marlin\src\inc/../core/serial.h:205:35: note: in expansion of macro '_SELP_N'
  205 | #define _SELP_N_REF()             _SELP_N
      |                                   ^~~~~~~
Marlin\src\inc/../core/macros.h:575:36: note: in expansion of macro '_SELP_N_REF'
  575 | #define EVAL16(V...)   EVAL8(EVAL8(V))
      |                                    ^
Marlin\src\inc/../core/macros.h:568:24: note: in expansion of macro 'EVAL16'
  568 | #define EVAL(V...)     EVAL16(V)
      |                        ^~~~~~
Marlin\src\inc/../core/serial.h:209:39: note: in expansion of macro 'EVAL'
  209 | #define SERIAL_ECHOLNPAIR(V...)   do{ EVAL(_SELP_N(TWO_ARGS(V),V)); }while(0)
      |                                       ^~~~
Marlin\src\inc/../core/serial.h:208:48: note: in expansion of macro 'DEFER2'
  208 | #define _SELP_3(s,v,V...)         _SEP_2(s,v); DEFER2(_SELP_N_REF)()(TWO_ARGS(V),V);
      |                                                ^~~~~~
Marlin\src\inc/../core/serial.h:203:35: note: in expansion of macro '_SELP_3'
  203 | #define __SELP_N(N,V...)          _SELP_##N(V)
      |                                   ^~~~~~
Marlin\src\inc/../core/serial.h:204:35: note: in expansion of macro '__SELP_N'
  204 | #define _SELP_N(N,V...)           __SELP_N(N,V)
      |                                   ^~~~~~~~
Marlin\src\inc/../core/serial.h:209:44: note: in expansion of macro '_SELP_N'
  209 | #define SERIAL_ECHOLNPAIR(V...)   do{ EVAL(_SELP_N(TWO_ARGS(V),V)); }while(0)
      |                                            ^~~~~~~
Marlin\src\inc/../core/serial.h:279:62: note: in expansion of macro 'SERIAL_ECHOLNPAIR'
  279 | #define SERIAL_ECHO_MSG(V...)       do{ SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(V); }while(0)
      |                                                              ^~~~~~~~~~~~~~~~~
Marlin\src\MarlinCore.cpp:1286:3: note: in expansion of macro 'SERIAL_ECHO_MSG'
 1286 |   SERIAL_ECHO_MSG(STR_FREE_MEMORY, freeMemory(), STR_PLANNER_BUFFER_BYTES, sizeof(block_t) * (BLOCK_BUFFER_SIZE));
      |   ^~~~~~~~~~~~~~~
In file included from Marlin\src\inc/MarlinConfig.h:55,
                 from Marlin\src\MarlinCore.h:24,
                 from Marlin\src\MarlinCore.cpp:31:
Marlin\src\inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:55,
                 from Marlin\src\gcode\config\M301.cpp:23:
Marlin\src\gcode\config\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\gcode\config\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\gcode\config\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:55,
                 from Marlin\src\gcode\config\../gcode.h:308,
                 from Marlin\src\gcode\config\M200-M205.cpp:23:
Marlin\src\gcode\config\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\gcode\config\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\gcode\config\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\simulator_windows\debug\src\src\gcode\config\M220.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\MarlinCore.o] Error 1
In file included from Marlin\src\gcode\calibrate\../../inc/MarlinConfig.h:55,
                 from Marlin\src\gcode\calibrate\G28.cpp:23:
Marlin\src\gcode\calibrate\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\calibrate\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:55,
                 from Marlin\src\gcode\config\../gcode.h:308,
                 from Marlin\src\gcode\config\M221.cpp:23:
Marlin\src\gcode\config\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\gcode\config\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\gcode\config\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
  305 | inline void serial_echopair_PGM(PGM_P const s_P, bool v)    { serial_echopair_PGM(s_P, (int)v); }
      |             ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\simulator_windows\debug\src\src\gcode\config\M301.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\gcode\config\M200-M205.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\gcode\config\M221.o] Error 1
*** [.pio\build\simulator_windows\debug\src\src\gcode\calibrate\G28.o] Error 1
In file included from Marlin\src\gcode\config\../../inc/MarlinConfig.h:55,
                 from Marlin\src\gcode\config\M302.cpp:23:
Marlin\src\gcode\config\../../inc/../core/serial.h: In function 'void serial_echopair_PGM(const char*, void*)':
Marlin\src\gcode\config\../../inc/../core/serial.h:306:100: error: call of overloaded 'serial_echopair_PGM(const char* const&, uintptr_t)' is ambiguous
  306 | inline void serial_echopair_PGM(PGM_P const s_P, void *v)   { serial_echopair_PGM(s_P, (uintptr_t)v); }
      |                                                                                                    ^
Marlin\src\gcode\config\../../inc/../core/serial.h:295:6: note: candidate: 'void serial_echopair_PGM(const char*, serial_char_t)'
  295 | void serial_echopair_PGM(PGM_P const s_P, serial_char_t v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:297:6: note: candidate: 'void serial_echopair_PGM(const char*, char)'
  297 | void serial_echopair_PGM(PGM_P const s_P, char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:298:6: note: candidate: 'void serial_echopair_PGM(const char*, int)'
  298 | void serial_echopair_PGM(PGM_P const s_P, int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:299:6: note: candidate: 'void serial_echopair_PGM(const char*, long int)'
  299 | void serial_echopair_PGM(PGM_P const s_P, long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:300:6: note: candidate: 'void serial_echopair_PGM(const char*, float)'
  300 | void serial_echopair_PGM(PGM_P const s_P, float v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:301:6: note: candidate: 'void serial_echopair_PGM(const char*, double)'
  301 | void serial_echopair_PGM(PGM_P const s_P, double v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:302:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned char)'
  302 | void serial_echopair_PGM(PGM_P const s_P, unsigned char v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:303:6: note: candidate: 'void serial_echopair_PGM(const char*, unsigned int)'
  303 | void serial_echopair_PGM(PGM_P const s_P, unsigned int v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:304:6: note: candidate: 'void serial_echopair_PGM(const char*, long unsigned int)'
  304 | void serial_echopair_PGM(PGM_P const s_P, unsigned long v);
      |      ^~~~~~~~~~~~~~~~~~~
Marlin\src\gcode\config\../../inc/../core/serial.h:305:13: note: candidate: 'void serial_echopair_PGM(const char*, bool)'
      |             ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\simulator_windows\debug\src\src\gcode\config\M302.o] Error 1

platformio.zip

@sl1pkn07
Copy link
Contributor Author

sl1pkn07 commented Jul 24, 2021

as note. same steps in WSL2(archlinux) the build is OK (but fails run about GL things)

@p3p
Copy link
Member

p3p commented Jul 24, 2021

https:/p3p/Marlin/tree/pr_sim_win_fix is hacky but should fix the build for now as long as you set the sdl lib path to wherever yours is.

There is still also an issue with sdl_net not being able to open a port for listening though which will stop the sim starting, you need to comment out net_serial.listen_on_port(8099); in.pio\libdeps\simulator_windows\MarlinSimUI\src\MarlinSimulator\main.cpp to disable the network serial port.

also added a missing lib to the pacman example.

There are probably more issues on Windows, the sim hasn't been getting used on it, just tried to stream a file for printing and nothing was sent to the serial port.

@sl1pkn07
Copy link
Contributor Author

https:/p3p/Marlin/tree/pr_sim_win_fix is hacky but should fix the build for now as long as you set the sdl lib path to wherever yours is.

thanks. now i can able to build the sim.

greetings

PS: is possible use pkgconfig for get the SDL include path instead hardcoded one?

@thisiskeithb thisiskeithb added the T: Development Makefiles, PlatformIO, Python scripts, etc. label Jul 25, 2021
@thinkyhead
Copy link
Member

It looks like pr_sim_win_fix will get submitted as a PR soon. So if you want to close this, that's fine.

@sjasonsmith
Copy link
Contributor

I posted a PR to the simulator repo to resolve the problem with net_serial.listen_on_port, and crashes which occurred when it failed.

p3p/MarlinSimUI#3

@sjasonsmith
Copy link
Contributor

@sl1pkn07 with the latest updates to Marlin and MarlinSimulator this now builds and launches cleanly. I'm going to go ahead and close this, let us know if you still have trouble with it.

@sjasonsmith
Copy link
Contributor

@thinkyhead I also verified that your example in the Configs repo builds cleanly and can launch on Windows.

@github-actions
Copy link

github-actions bot commented Oct 8, 2021

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Oct 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Bug: Confirmed ! C: Build / Toolchain T: Development Makefiles, PlatformIO, Python scripts, etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants