From a0bbdde4218395ba61538a32c0ace5b3f1b44ac3 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Mon, 22 Jun 2020 21:28:04 -0500
Subject: [PATCH] Use libraries from the registry

---
 .github/workflows/test-builds.yml    |  4 +-
 buildroot/share/git/mftest           |  3 +-
 buildroot/share/tests/.gitattributes |  1 -
 platformio.ini                       | 60 ++++++++++++++++------------
 4 files changed, 38 insertions(+), 30 deletions(-)
 delete mode 100644 buildroot/share/tests/.gitattributes

diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml
index d4ca0726baa..2a5cc4a54dd 100644
--- a/.github/workflows/test-builds.yml
+++ b/.github/workflows/test-builds.yml
@@ -106,6 +106,6 @@ jobs:
         # Inline tests script
         [[ "$GITHUB_REPOSITORY" == "MarlinFirmware/Marlin" ]] || exit 0
         chmod +x buildroot/bin/*
-        chmod +x buildroot/share/tests/*
-        export PATH=./buildroot/bin/:./buildroot/share/tests/:${PATH}
+        chmod +x buildroot/tests/*
+        export PATH=./buildroot/bin/:./buildroot/tests/:${PATH}
         run_tests . ${{ matrix.test-platform }}
diff --git a/buildroot/share/git/mftest b/buildroot/share/git/mftest
index 62186a5f820..3a88bf5f286 100755
--- a/buildroot/share/git/mftest
+++ b/buildroot/share/git/mftest
@@ -9,7 +9,8 @@
 MFINFO=$(mfinfo) || exit 1
 [[ -d Marlin/src ]] || { echo "Please 'cd' up to repo root." ; exit 1 ; }
 
-TESTPATH=buildroot/share/tests
+TESTPATH=buildroot/tests
+
 STATE_FILE=$( echo ./.pio/.mftestrc )
 SED=$(which gsed || which sed)
 
diff --git a/buildroot/share/tests/.gitattributes b/buildroot/share/tests/.gitattributes
deleted file mode 100644
index 6313b56c578..00000000000
--- a/buildroot/share/tests/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-* text=auto eol=lf
diff --git a/platformio.ini b/platformio.ini
index 3461d195cc5..dab718cd84d 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -25,18 +25,18 @@ default_envs = mega2560
 #
 [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 =
-  LiquidCrystal
-  TMCStepper@>=0.7.0
-  Adafruit MAX31865 library@>=1.1,<1.2
-  Adafruit NeoPixel
-  U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip
-  LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip
-  Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/0.8.0.zip
+extra_scripts      = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
+build_flags        = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants
+lib_deps           =
+  LiquidCrystal@1.5.0
+  TMCStepper@~0.7.0
+  Adafruit MAX31865 library@~1.1.0
+  Adafruit NeoPixel@1.5.0
+  U8glib-HAL@0.4.1
+  Arduino-L6470@0.8.0
+  SlowSoftI2CMaster
+  LiquidTWI2@1.2.7
   SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
-  SlowSoftI2CMaster=https://github.com/mikeshub/SlowSoftI2CMaster/archive/master.zip
 
 #
 # Default values apply to all 'env:' prefixed environments
@@ -283,20 +283,20 @@ debug_tool     = jlink
 [common_LPC]
 platform          = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.2.zip
 board             = nxp_lpc1768
-build_flags       = -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g ${common.build_flags}
 lib_ldf_mode      = off
 lib_compat_mode   = strict
 extra_scripts     = Marlin/src/HAL/LPC1768/upload_extra_script.py
 src_filter        = ${common.default_src_filter} +<src/HAL/LPC1768>
 lib_deps          = Servo
-  LiquidCrystal
-  U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip
-  TMCStepper@>=0.6.2
-  Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/release.zip
+  LiquidCrystal@1.0.0
+  U8glib-HAL@0.4.1
+  TMCStepper@~0.7.0
+  Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip
   SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
-# debug options for backtrace
-#  -funwind-tables
-#  -mpoke-function-name
+build_flags       = -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g ${common.build_flags}
+  # debug options for backtrace
+  #-funwind-tables
+  #-mpoke-function-name
 
 #
 # NXP LPC176x ARM Cortex-M3
@@ -376,10 +376,18 @@ build_flags       = ${common_stm32f1.build_flags}
                     -DGENERIC_BOOTLOADER
 extra_scripts     = pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py
     buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py
-lib_deps          = ${common_stm32f1.lib_deps}
-    USBComposite for STM32F1@==0.91
-    Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use
-lib_ignore        = SPI, LiquidCrystal
+lib_deps          =
+  TMCStepper@~0.7.0
+  Adafruit MAX31865 library@~1.1.0
+  U8glib-HAL@0.4.1
+  Arduino-L6470@0.8.0
+  SlowSoftI2CMaster
+  LiquidTWI2@1.2.7
+  Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use
+  SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
+  SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip
+  USBComposite for STM32F1@0.91
+lib_ignore        = SPI
 debug_tool        = stlink
 upload_protocol   = dfu
 
@@ -417,7 +425,7 @@ platform          = ${common_stm32f1.platform}
 extends           = env:STM32F103RC_btt
 build_flags       = ${env:STM32F103RC_btt.build_flags} -DUSE_USB_COMPOSITE
 lib_deps          = ${env:STM32F103RC_btt.lib_deps}
-  USBComposite for STM32F1@==0.91
+  USBComposite for STM32F1@0.91
 
 [env:STM32F103RC_btt_512K]
 platform          = ${common_stm32f1.platform}
@@ -430,7 +438,7 @@ platform          = ${common_stm32f1.platform}
 extends           = env:STM32F103RC_btt_512K
 build_flags       = ${env:STM32F103RC_btt_512K.build_flags} -DUSE_USB_COMPOSITE
 lib_deps          = ${env:STM32F103RC_btt_512K.lib_deps}
-  USBComposite for STM32F1@==0.91
+  USBComposite for STM32F1@0.91
 
 #
 # STM32F103RE
@@ -459,7 +467,7 @@ platform          = ${common_stm32f1.platform}
 extends           = env:STM32F103RE_btt
 build_flags       = ${env:STM32F103RE_btt.build_flags} -DUSE_USB_COMPOSITE
 lib_deps          = ${common_stm32f1.lib_deps}
-  USBComposite for STM32F1@==0.91
+  USBComposite for STM32F1@0.91
 
 #
 # STM32F4 with STM32GENERIC