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

[FR] Creality Sermoon D1 + BLTouch #542

Closed
Valexxia opened this issue Jul 16, 2021 · 58 comments
Closed

[FR] Creality Sermoon D1 + BLTouch #542

Valexxia opened this issue Jul 16, 2021 · 58 comments
Assignees

Comments

@Valexxia
Copy link

Description

Uses the same board as the ender 6 however it seems that creality simply has no support for the sermoon D1, It does have a extension board with a bltouch port on it however there is no firmware from the standard 1.1.1 that comes preloaded on the machine.

Configuration Details

apoligies for the lack of information, i am happy to try and find anything that is needed. just not sure what to look for

  • Manufacturer: Creality
  • Model: Sermoon D1
  • Motherboard: Creality 4.3.1

Additional Information

  • Provide links to the requested printer/configuration.
@thinkyhead
Copy link
Member

You may be able to enable pins-debugging and then use M43 to figure out which pins are associated with the BLTouch.

@Valexxia
Copy link
Author

oh ok, how would i go about enabling pin debugging ?

@tpruvot
Copy link
Contributor

tpruvot commented Jul 16, 2021

Marlin/Configuration_adv.h

// M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe
//
#define PINS_DEBUGGING

@Valexxia
Copy link
Author

sorry to be a pain, the firmware file is a .bin file, how would i go about opening that to be able to edit it ?

@ellensp
Copy link
Contributor

ellensp commented Jul 17, 2021

you don't edit bin files.
You edit Configuration files and recompile

@Valexxia
Copy link
Author

ok great to know, but how do i get the configuration files to begin with ?

@ellensp
Copy link
Contributor

ellensp commented Jul 17, 2021

You ask Creality nicely for them, and when they refuse, you remind them they are in violation of the licensing and ask again.
When they refuse that you set the lawyers on them. (Which is also futile, unless your a Chinese company)

@ellensp
Copy link
Contributor

ellensp commented Jul 17, 2021

Then you open up the machine and trace all the wires and document what is plugged into where.

@Valexxia
Copy link
Author

so if thats the case would tham mean that i could use the configuration files from the ender 6 as its the same board used between both machines or would that complicate things too much ?

@ellensp
Copy link
Contributor

ellensp commented Jul 17, 2021

The Config files describes way more than just the motherboard. Egs build size, direction to move the steppers, homing direction. LCD.Screen settings
Although it will boot up if it is the same motherboard and talk over serial/usb it is unlikely to do anything positive for your machine and could damage things

@Valexxia
Copy link
Author

ok, well i messaged Creality two days ago so if i hear back from them ill post it up here

@mcecchi
Copy link

mcecchi commented Aug 11, 2021

Hi @Valexxia, any updates? I wrote to Creality today for my CR-200B to claim Marlin source code.

@Valexxia
Copy link
Author

Valexxia commented Aug 11, 2021 via email

@ellensp
Copy link
Contributor

ellensp commented Aug 27, 2021

Someone managed to get source out of Creality! Well done them.
Here it is. Sermoon-D1.zip
You can get the LCD DWIN_SET from the binary firmware release
Sermoon-D1 latest firmware ---V1.1.10.zip

So enabling Bltouch should be easy now, and in time can be added to current Marlin

@ellensp
Copy link
Contributor

ellensp commented Oct 17, 2021

The provided source takes some tricks to compile as its so old and has not locked down the versions of things it needs.
Also has case sensitivity bugs! (wont compile on linux without changes)

In platfomio.ini

Change the [env:STM32F1_base] section to

#
# STM32F1 base
#
[env:STM32F1_base]
platform      = ststm32@~9
board_build.core  = maple
build_flags   = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py
  ${common.build_flags} -std=gnu++14
build_unflags = -std=gnu++11
src_filter    = ${common.default_src_filter} +<src/HAL/HAL_STM32F1>
lib_ignore    = Adafruit NeoPixel, SPI, Adafruit MAX31865 library
monitor_speed = 250000

Change [common] section to

[common]
default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants
lib_deps =
  U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip
  [email protected]
  TMCStepper@=0.5.2
  Adafruit [email protected]
  Adafruit_MAX31865=https://github.com/adafruit/Adafruit_MAX31865/archive/master.zip
  LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip
  Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip
  SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
  SailfishRGB_LED=https://github.com/mikeshub/SailfishRGB_LED/archive/master.zip
  SlowSoftI2CMaster=https://github.com/mikeshub/SlowSoftI2CMaster/archive/master.zip

Then fix the case sensitivity bugs

In Marlin/src/lcd/dwin/LCD_RTS.h
Change #include <arduino.h> to #include <Arduino.h>

In Marlin/src/lcd/dwin/LCD_RTS.cpp
Change #include <wstring.h> to #include <WString.h>

@Fisheye3D
Copy link

@ellensp Have you managed to compile BL touch enabled in firmware using breakout board on Sermoon? If so do you mind sharing?

@ellensp
Copy link
Contributor

ellensp commented Oct 17, 2021

or if you prefer a DIFF

diff --git a/Marlin/src/lcd/dwin/LCD_RTS.cpp b/Marlin/src/lcd/dwin/LCD_RTS.cpp
index f863173..14e92c5 100644
--- a/Marlin/src/lcd/dwin/LCD_RTS.cpp
+++ b/Marlin/src/lcd/dwin/LCD_RTS.cpp
@@ -1,5 +1,5 @@
 #include "LCD_RTS.h"
-#include <wstring.h>
+#include <WString.h>
 #include <stdio.h>
 #include <string.h>
 #include <Arduino.h>
diff --git a/Marlin/src/lcd/dwin/LCD_RTS.h b/Marlin/src/lcd/dwin/LCD_RTS.h
index 1f8d73f..47ed1da 100644
--- a/Marlin/src/lcd/dwin/LCD_RTS.h
+++ b/Marlin/src/lcd/dwin/LCD_RTS.h
@@ -2,7 +2,7 @@
 #define	RTS_H
 
 #include "string.h"
-#include <arduino.h>
+#include <Arduino.h>
 
 #include "i2c_eeprom.h"
 
diff --git a/platformio.ini b/platformio.ini
index 1bae5b0..f41520f 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -27,7 +27,7 @@ build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants
 lib_deps =
   U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip
   [email protected]
-  TMCStepper@>=0.5.2,<1.0.0
+  TMCStepper@=0.5.2
   Adafruit [email protected]
   Adafruit_MAX31865=https://github.com/adafruit/Adafruit_MAX31865/archive/master.zip
   LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip
@@ -197,12 +197,13 @@ board             = nxp_lpc1769
 # STM32F1 base
 #
 [env:STM32F1_base]
-platform      = ststm32
+platform      = ststm32@~9
+board_build.core  = maple
 build_flags   = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py
   ${common.build_flags} -std=gnu++14
 build_unflags = -std=gnu++11
 src_filter    = ${common.default_src_filter} +<src/HAL/HAL_STM32F1>
-lib_ignore    = Adafruit NeoPixel, SPI
+lib_ignore    = Adafruit NeoPixel, SPI, Adafruit MAX31865 library
 monitor_speed = 250000
 
 #

@ellensp
Copy link
Contributor

ellensp commented Oct 17, 2021

@Randy1727 with the patches above if you enbale #define BLTOUCH, it still compiles
I dont have any of this hardware, I cant test it beyond compiling

@InsanityAutomation
Copy link
Contributor

I've got a current code base synced as of Friday that has the board and touchscreen working, but I don't have a Sermoon to physically test on. I'll be cleaning things up over the next day or two and can drop it over if you want to test.

@Fisheye3D
Copy link

@InsanityAutomation I was able to compile it last night but the touchscreen wont work still. Yes if you want to send over to me to test that would be awsome.

@InsanityAutomation
Copy link
Contributor

InsanityAutomation commented Oct 18, 2021

https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin2.0_Bleeding

Code is here, Dwin files in the Creality Combined archive, as my understanding is its the same part number LCD from the 10S Pro / CRX / E6 etc

Should be able to just use the PIO environment for it without touching the config files

@Fisheye3D
Copy link

Thanks, Ill give it a try this week!

@Fisheye3D
Copy link

@InsanityAutomation Being im a total noob when it comes to changing confg files and compiling firmware please excuse my ignorance. The only things I enabled are #define MachineSermoonD1 #define HotendStock #define DirectDrive #define BedDC #define ABL_BLTOUCH #define GraphicLCD #define MeshFine, Is there anything else that needs to activated for the Sermoon, Also In the zip there are 3 DWIN folders, I take it the Sermoon will use the Combinedscreens one?

Thank you for your help, Im still learning/.

@Fisheye3D
Copy link

Fisheye3D commented Oct 20, 2021

@InsanityAutomation These are the errors im getting

Log Output
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
Environment: LPC1769
CONFIGURATION: https://docs.platformio.org/page/boards/nxplpc-arduino-lpc176x/nxp_lpc1769.html
PLATFORM: NXP Arduino LPC176x (0.1.3) > NXP LPC1769
HARDWARE: LPC1769 120MHz, 31.97KB RAM, 464KB Flash
DEBUG: Current (cmsis-dap) On-board (cmsis-dap) External (blackmagic, jlink)
PACKAGES:
 - framework-arduino-lpc176x 0.2.9
 - toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ off, Compatibility ~ strict
Found 1 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Servo> 1.0.0
Building in release mode
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\HAL.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\HAL_MinSerial.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\HAL_SPI.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\MarlinSerial.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\eeprom_flash.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\eeprom_sdcard.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\eeprom_wired.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\main.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\tft\tft_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\tft\xpt2046.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\timers.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\watchdog.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\Delay.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\HAL_MinSerial.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\backtrace.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwmemaccess.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\esp_wifi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\servo.cpp.o
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\HAL.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\HAL_MinSerial.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\HAL.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\HAL_SPI.cpp:51:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\HAL_MinSerial.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\MarlinSerial.cpp:26:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\eeprom_sdcard.cpp:29:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\eeprom_flash.cpp:39:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\HAL_SPI.cpp:51:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\HAL.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\MarlinSerial.cpp:26:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\HAL_MinSerial.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\eeprom_flash.cpp:39:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\eeprom_wired.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\eeprom_sdcard.cpp:29:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\HAL_SPI.cpp:51:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\MarlinSerial.cpp:26:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\eeprom_wired.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\eeprom_flash.cpp:39:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\eeprom_sdcard.cpp:29:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\main.cpp:34:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\tft\../../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\tft\../../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\tft\../../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\tft\tft_spi.cpp:23:
Marlin\src\HAL\LPC1768\tft\../../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\eeprom_wired.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\tft\../../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\tft\../../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\tft\../../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\tft\xpt2046.cpp:23:
Marlin\src\HAL\LPC1768\tft\../../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\main.cpp:34:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\timers.cpp:31:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\tft\../../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\tft\tft_spi.cpp:23:
Marlin\src\HAL\LPC1768\tft\../../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
Compiling .pio\build\LPC1769\src\src\MarlinCore.cpp.o
In file included from Marlin\src\HAL\LPC1768\tft\../../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\tft\xpt2046.cpp:23:
Marlin\src\HAL\LPC1768\tft\../../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
Compiling .pio\build\LPC1769\src\src\core\serial.cpp.o
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\timers.cpp:31:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\main.cpp:34:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\tft\../../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\tft\tft_spi.cpp:23:
Marlin\src\HAL\LPC1768\tft\../../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\tft\../../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\LPC1768\watchdog.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\tft\../../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\tft\xpt2046.cpp:23:
Marlin\src\HAL\LPC1768\tft\../../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\tft\../../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\shared\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\shared\Delay.cpp:25:
Marlin\src\HAL\shared\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\timers.cpp:31:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../core/../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\shared\../../core/../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\shared\../../core/../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\shared\../../core/serial.h:24,
                 from Marlin\src\HAL\shared\HAL_MinSerial.h:24,
                 from Marlin\src\HAL\shared\HAL_MinSerial.cpp:22:
Marlin\src\HAL\shared\../../core/../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\LPC1768\watchdog.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\backtrace\../../../core/../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\shared\backtrace\../../../core/../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\shared\backtrace\../../../core/../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\shared\backtrace\../../../core/serial.h:24,
                 from Marlin\src\HAL\shared\backtrace\../HAL_MinSerial.h:24,
                 from Marlin\src\HAL\shared\backtrace\backtrace.cpp:28:
Marlin\src\HAL\shared\backtrace\../../../core/../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"       
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\shared\Delay.cpp:25:
Marlin\src\HAL\shared\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../core/../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\shared\../../core/serial.h:24,
                 from Marlin\src\HAL\shared\HAL_MinSerial.h:24,
                 from Marlin\src\HAL\shared\HAL_MinSerial.cpp:22:
Marlin\src\HAL\shared\../../core/../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\LPC1768\watchdog.cpp:24:
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\backtrace\../../../core/../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\shared\backtrace\../../../core/serial.h:24,
                 from Marlin\src\HAL\shared\backtrace\../HAL_MinSerial.h:24,
                 from Marlin\src\HAL\shared\backtrace\backtrace.cpp:28:
Marlin\src\HAL\shared\backtrace\../../../core/../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\shared\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\shared\esp_wifi.cpp:23:
Marlin\src\HAL\shared\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\shared\backtrace\../../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\shared\backtrace\../../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\shared\backtrace\../../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\shared\backtrace\unwmemaccess.cpp:18:
Marlin\src\HAL\shared\backtrace\../../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\shared\Delay.cpp:25:
Marlin\src\HAL\shared\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\shared\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../core/../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\shared\../../core/serial.h:24,
                 from Marlin\src\HAL\shared\HAL_MinSerial.h:24,
                 from Marlin\src\HAL\shared\HAL_MinSerial.cpp:22:
Marlin\src\HAL\shared\../../core/../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\shared\../../core/../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\shared\esp_wifi.cpp:23:
Marlin\src\HAL\shared\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\backtrace\../../../core/../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\shared\backtrace\../../../core/serial.h:24,
                 from Marlin\src\HAL\shared\backtrace\../HAL_MinSerial.h:24,
                 from Marlin\src\HAL\shared\backtrace\backtrace.cpp:28:
Marlin\src\HAL\shared\backtrace\../../../core/../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\shared\backtrace\../../../core/../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"   
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\backtrace\../../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\shared\backtrace\unwmemaccess.cpp:18:
Marlin\src\HAL\shared\backtrace\../../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\shared\esp_wifi.cpp:23:
Marlin\src\HAL\shared\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\shared\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\backtrace\../../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\shared\backtrace\unwmemaccess.cpp:18:
Marlin\src\HAL\shared\backtrace\../../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\shared\backtrace\../../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\HAL\shared\../../inc/../pins/pins.h:547,
                 from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:34,
                 from Marlin\src\HAL\shared\servo.cpp:53:
Marlin\src\HAL\shared\../../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:49,
                 from Marlin\src\HAL\shared\servo.cpp:53:
Marlin\src\HAL\shared\../../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\HAL\shared\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\shared\servo.cpp:53:
Marlin\src\HAL\shared\../../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\HAL\shared\../../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\core\../inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\core\../inc/../pins/pins.h:547,
                 from Marlin\src\core\../inc/MarlinConfig.h:34,
                 from Marlin\src\core\serial.h:24,
                 from Marlin\src\core\serial.cpp:23:
Marlin\src\core\../inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\HAL.cpp.o] Error 1
In file included from Marlin\src\HAL\LPC1768\../../inc/../HAL/./LPC1768/HAL.h:42,
                 from Marlin\src\HAL\LPC1768\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\LPC1768\main.cpp:34:
Marlin\src\HAL\LPC1768\main.cpp: In function 'void HAL_init()':
Marlin\src\HAL\LPC1768\../../inc/../pins/stm32f1/pins_CREALITY_V4.h:64:45: error: 'PB0' was not declared in this scope; did you mean 'B0'?
   64 |     #define SERVO0_PIN                      PB0   // BLTouch OUT
      |                                             ^~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/./LPC1768/fastio.h:52:49: note: in definition of macro 'WRITE_PIN'
   52 | #define WRITE_PIN(IO,V)       LPC176x::gpio_set(IO, V)
      |                                                 ^~
Marlin\src\HAL\LPC1768\../../inc/../HAL/./LPC1768/fastio.h:105:35: note: in expansion of macro '_WRITE'
  105 | #define SET_OUTPUT(IO)        do{ _WRITE(IO, _READ(IO)); _SET_OUTPUT(IO); }while(0)
      |                                   ^~~~~~
Marlin\src\HAL\LPC1768\../../inc/../HAL/./LPC1768/fastio.h:115:35: note: in expansion of macro 'SET_OUTPUT'
  115 | #define OUT_WRITE(IO,V)       do{ SET_OUTPUT(IO); WRITE(IO,V); }while(0)
      |                                   ^~~~~~~~~~
Marlin\src\HAL\LPC1768\main.cpp:78:25: note: in expansion of macro 'OUT_WRITE'
   78 |   #define INIT_SERVO(N) OUT_WRITE(SERVO##N##_PIN, LOW)
      |                         ^~~~~~~~~
Marlin\src\HAL\LPC1768\main.cpp:78:35: note: in expansion of macro 'SERVO0_PIN'
   78 |   #define INIT_SERVO(N) OUT_WRITE(SERVO##N##_PIN, LOW)
      |                                   ^~~~~
Marlin\src\HAL\LPC1768\main.cpp:80:5: note: in expansion of macro 'INIT_SERVO'
   80 |     INIT_SERVO(0);
      |     ^~~~~~~~~~
compilation terminated due to -fmax-errors=5.
In file included from Marlin\src\core\../inc/MarlinConfig.h:49,
                 from Marlin\src\core\serial.h:24,
                 from Marlin\src\core\serial.cpp:23:
Marlin\src\core\../inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\HAL_MinSerial.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\eeprom_flash.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\HAL_SPI.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\eeprom_sdcard.cpp.o] Error 1
In file included from Marlin\src\inc/../pins/stm32f1/pins_CREALITY_V4.h:28,
                 from Marlin\src\inc/../pins/pins.h:547,
                 from Marlin\src\inc/MarlinConfig.h:34,
                 from Marlin\src\MarlinCore.h:24,
                 from Marlin\src\MarlinCore.cpp:31:
Marlin\src\inc/../pins/stm32f1/env_validate.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
   25 |   #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
      |    ^~~~~
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\main.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\MarlinSerial.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\eeprom_wired.cpp.o] Error 1
In file included from Marlin\src\core\../inc/MarlinConfig.h:50,
                 from Marlin\src\core\serial.h:24,
                 from Marlin\src\core\serial.cpp:23:
Marlin\src\core\../inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\core\../inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
In file included from Marlin\src\inc/MarlinConfig.h:49,
                 from Marlin\src\MarlinCore.h:24,
                 from Marlin\src\MarlinCore.cpp:31:
Marlin\src\inc/SanityCheck.h:681:6: error: #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
  681 |     #error "Use SERIAL_PORT_2 before using SERIAL_PORT_3"
      |      ^~~~~
In file included from Marlin\src\inc/MarlinConfig.h:50,
                 from Marlin\src\MarlinCore.h:24,
                 from Marlin\src\MarlinCore.cpp:31:
Marlin\src\inc/../HAL/LPC1768/inc/SanityCheck.h:36:4: error: #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
   36 |   #error "TEMP_BED_PIN must be defined using the Pn_nn or Pn_nn_An format. (See the included pins files)."
      |    ^~~~~
Marlin\src\inc/../HAL/LPC1768/inc/SanityCheck.h:168:6: error: #error "Serial port pins (3) conflict with X endstop pins!"
  168 |     #error "Serial port pins (3) conflict with X endstop pins!"
      |      ^~~~~
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\tft\tft_spi.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\tft\xpt2046.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\timers.cpp.o] Error 1
Marlin\src\MarlinCore.cpp:1172:8: error: #error "DISABLE_(DEBUG|JTAG) is not supported for the selected MCU/Board."
 1172 |       #error "DISABLE_(DEBUG|JTAG) is not supported for the selected MCU/Board."
      |        ^~~~~
*** [.pio\build\LPC1769\src\src\HAL\LPC1768\watchdog.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\shared\Delay.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\shared\HAL_MinSerial.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\shared\backtrace\backtrace.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\shared\backtrace\unwmemaccess.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\shared\esp_wifi.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\HAL\shared\servo.cpp.o] Error 1
*** [.pio\build\LPC1769\src\src\core\serial.cpp.o] Error 1
compilation terminated due to -fmax-errors=5.
*** [.pio\build\LPC1769\src\src\MarlinCore.cpp.o] Error 1
=================================================================== [FAILED] Took 2.97 seconds ===================================================================
Environment    Status    Duration
-------------  --------  ------------
LPC1769        FAILED    00:00:02.968
============================================================= 1 failed, 0 succeeded in 00:00:02.968 =============================================================
</details>

@ellensp
Copy link
Contributor

ellensp commented Oct 20, 2021

the controller is not a LPC1769 based
Change the default_envs line in platfomio.ini to default_envs = STM32F103RET6_creality

@Fisheye3D
Copy link

Got it working, compiled and screen is working. Im a idiot and didnt see the zip of precompiled firmware.

@Fisheye3D
Copy link

Ok, Installed the firmware and dwin from combined screens v5.7 and some buttons such as move, motor control dont work, Level and info do come up but unable to back out.

@InsanityAutomation
Copy link
Contributor

Are you able to get a serial log when browsing the screen? Almost sounds like serial communication isn't stable for some reason. If it boots, it has communication, so it's odd movement isn't working. Will it move from Gcode on the terminal?

@Fisheye3D
Copy link

Fisheye3D commented Oct 20, 2021

@InsanityAutomation Language and printer info work and let you back out, Move, motor, refuel, print and temp dont work at all, Leveling lets you enter but not back out. Also had someone else check with Creality screen firmware still installed just to try and no button works at all Movement commands from octoprint do work, I sent you a msg on discord,

@meddle99
Copy link

did this work? can i get in on the testing?

@ernanilm
Copy link

I am waiting for this firmware

@InsanityAutomation
Copy link
Contributor

Good news is I have the majority of it working... A few screens arnt behaving completely correctly bringing my 10s pro project files over to the newer dwinos but it isn't far off Bad news is it'll be a few days till I can sit down to it again.

@ernanilm
Copy link

I think creality posted a BL Touch firmware im acessories session. https://www.creality.com/download

@thisiskeithb
Copy link
Member

I think creality posted a BL Touch firmware im acessories session. https://www.creality.com/download

Indeed.

STRING_DISTRIBUTION_DATE "2020-08-24":

Sermoon-D1 Source code.zip

@InsanityAutomation
Copy link
Contributor

Ive got a build working for it, granted a bit rough with a few bits to tweak on the screen (overlapping text etc). If you hop on the discord, ill send over the current setup for testing.

@ernanilm
Copy link

Ive got a build working for it, granted a bit rough with a few bits to tweak on the screen (overlapping text etc). If you hop on the discord, ill send over the current setup for testing.

Cool, send the project for testing

@mikeroxy2019
Copy link

heyo, im also kind of a noob, but my D1 sermoon is coming tomorrow in the mail. Ive been reading up, glad to see creality released the source. I grabbed it and changed to the older platformio configs above and got it to compile. But I see the lcd isn't loving you guys. Can I ask how the progression goes ? I downloaded the latest hex files from insanity but im reluctant to flash tomorrow if my screen won't work right and id be stuck trying to use octprint solely. thanks again for your awesome work !

@InsanityAutomation
Copy link
Contributor

Still a few more things to work out, so I'd hold off for a little while. Unfortunately day job has me working all weekend again so it'll be a little bit until I can wrap it up.

@mikeroxy2019
Copy link

No rush man. I’m excited that you’ll get it working soon. Glad I got the printer once the source code was actually released. Crazy that these high end creality printers don’t come with an ABL sensor in the box. Or official downloadable factory firmware to add one. Creality should pay you!

@meddle99
Copy link

meddle99 commented Nov 4, 2021

I designed a mount for the CR-Touch on the sermoon. The regular mounts didn't work. https://www.thingiverse.com/thing:5050263
I've had my sermoon for 2 weeks and now I think the main board is dead. It worked perfectly up until the weekend, but now any print longer than an hour seems to crash.

Anyone have any hints on how to get help from Creality support? They don't seem to answer emails.

@mikeroxy2019
Copy link

I already downloaded the mount a few hours ago ;) I’m reading that this 4.3.1 board isn’t so great. Only has silent steppers on x and y? I’ll refrain from what I think about that. Think it’s worth it to swap it for a 4.2.7? Would there be any problems with firmware .. besides swapping board declaration?

@meddle99
Copy link

meddle99 commented Nov 4, 2021

There are many people on this board who are imminently more qualified to answer that question, I'm just a newbie in this area. Although if I were to buy a new board I'm not sure I would get the creality.

@InsanityAutomation
Copy link
Contributor

I did find the power supply was drastically undersized on the Ender 7 causing occasional shutdowns when the driver pulled the voltage down too low... First I would check cooling on the main board and then the power supply before assuming the board is dead.

@meddle99
Copy link

meddle99 commented Nov 4, 2021

Any idea what the power capacity was on the undersized supply? I just checked and the one in the D1 is 24V 14.6A. I'll hook up my meters and measure input and output current during a print tomorrow.

@meddle99
Copy link

meddle99 commented Nov 5, 2021

While the bed and hot end were heating, I measured 12.5A. While printing, current stayed around 6A most of the time, but peaked a couple of times to 13. Maybe it's not in the danger zone, but a little undersized for my comfort. I don't like seeing sustained current over 80% of the capacity.

@mikeroxy2019, even without the silent stepper on the X, the printer is still very quiet. I don't think it's a big deal.

@ETE-Design
Copy link

@thinkyhead Will the Sermoon D1 be added to Configuration soon? Or is there still a lot of work to do on the Screen Part?

@InsanityAutomation
Copy link
Contributor

@rmurilo
Copy link

rmurilo commented Dec 24, 2021

Still a few more things to work out, so I'd hold off for a little while. Unfortunately day job has me working all weekend again so it'll be a little bit until I can wrap it up.

Any luck on getting this working I would love to add the touch to it and have u any idea how to do the e steps o can we really not do it on this machine

@InsanityAutomation
Copy link
Contributor

@rmurilo see the link in the comment above, code is up and working. I'll be adding the cr5 and cr10 smart shortly as well hopefully.

@rmurilo
Copy link

rmurilo commented Dec 25, 2021

@InsanityAutomation Sorry so just to confirm the same file works for all the machines listed I don’t see the sermoon d1 listed in there from the link above could u post a direct link to the specific download for the sermoon d1 please and happy holidays

@rmurilo
Copy link

rmurilo commented Dec 26, 2021

I joined the discord group thank you for all you do for these machines

@ETE-Design
Copy link

@InsanityAutomation Is it possible to add BLTouch with your firmware? And if so, where to find a wire diagram for it?

@mikeroxy2019
Copy link

mikeroxy2019 commented Jan 2, 2022 via email

@thinkyhead thinkyhead changed the title Creality Sermoon D1 - BLTouch Support [FR] Creality Sermoon D1 + BLTouch Jan 5, 2022
@ETE-Design
Copy link

@InsanityAutomation The Screen on the Sermoon D1 is it a DWIN T5UID1?

@FeLiXXX81
Copy link

FeLiXXX81 commented Feb 18, 2022

¸can someone please help me with compiling firmware for sermoon d1?
I downloaded it from creality but it have errors when I try to compile surce code.
I add code as ellensp post
It compile sucess but with errors...is this ok?
sermoon1
sermoon

@thinkyhead
Copy link
Member

You should ignore messages under the "Problems" tab, which are generated by other VSCode extensions.

@thinkyhead
Copy link
Member

Duplicate of #649

@thinkyhead thinkyhead marked this as a duplicate of #649 Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests