From ddbd4b73e081e1c47383cffdd8a9425369d9a1c8 Mon Sep 17 00:00:00 2001
From: Thomas Moore <tcm0116@gmail.com>
Date: Tue, 19 Sep 2017 19:25:59 -0500
Subject: [PATCH] Move LPC1768 framework out of Marlin source folder

---
 .../HAL/HAL_LPC1768/{ => include}/arduino.h    |  0
 .../src/HAL/HAL_LPC1768/lpc1768_flag_script.py | 14 +++++++++-----
 Marlin/src/module/probe.cpp                    |  4 ++++
 .../CMSIS/LPC1768/Re-ARM/LPC1768.ld            |  0
 .../CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S     |  0
 .../CMSIS/LPC1768/Re-ARM/system_LPC17xx.c      |  0
 .../CMSIS/LPC1768/driver/debug_frmwrk.c        |  0
 .../CMSIS/LPC1768/driver/lpc17xx_adc.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_can.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_clkpwr.c      |  0
 .../CMSIS/LPC1768/driver/lpc17xx_dac.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_emac.c        |  0
 .../CMSIS/LPC1768/driver/lpc17xx_exti.c        |  0
 .../CMSIS/LPC1768/driver/lpc17xx_gpdma.c       |  0
 .../CMSIS/LPC1768/driver/lpc17xx_gpio.c        |  0
 .../CMSIS/LPC1768/driver/lpc17xx_i2c.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_i2s.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_iap.c         |  0
 .../LPC1768/driver/lpc17xx_libcfg_default.c    |  0
 .../CMSIS/LPC1768/driver/lpc17xx_mcpwm.c       |  0
 .../CMSIS/LPC1768/driver/lpc17xx_nvic.c        |  0
 .../CMSIS/LPC1768/driver/lpc17xx_pinsel.c      |  0
 .../CMSIS/LPC1768/driver/lpc17xx_pwm.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_qei.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_rit.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_rtc.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_spi.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_ssp.c         |  0
 .../CMSIS/LPC1768/driver/lpc17xx_systick.c     |  0
 .../CMSIS/LPC1768/driver/lpc17xx_timer.c       |  0
 .../CMSIS/LPC1768/driver/lpc17xx_uart.c        |  0
 .../CMSIS/LPC1768/driver/lpc17xx_wdt.c         |  0
 .../CMSIS/LPC1768/include/LPC17xx.h            |  0
 .../CMSIS/LPC1768/include/arm_common_tables.h  |  0
 .../CMSIS/LPC1768/include/arm_math.h           |  0
 .../CMSIS/LPC1768/include/core_cm3.h           |  0
 .../CMSIS/LPC1768/include/core_cmFunc.h        |  0
 .../CMSIS/LPC1768/include/core_cmInstr.h       |  0
 .../CMSIS/LPC1768/include/debug_frmwrk.h       |  0
 .../CMSIS/LPC1768/include/lpc17xx_adc.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_can.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_clkpwr.h     |  0
 .../CMSIS/LPC1768/include/lpc17xx_dac.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_emac.h       |  0
 .../CMSIS/LPC1768/include/lpc17xx_exti.h       |  0
 .../CMSIS/LPC1768/include/lpc17xx_gpdma.h      |  0
 .../CMSIS/LPC1768/include/lpc17xx_gpio.h       |  0
 .../CMSIS/LPC1768/include/lpc17xx_i2c.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_i2s.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_iap.h        |  0
 .../LPC1768/include/lpc17xx_libcfg_default.h   |  0
 .../CMSIS/LPC1768/include/lpc17xx_mcpwm.h      |  0
 .../CMSIS/LPC1768/include/lpc17xx_nvic.h       |  0
 .../CMSIS/LPC1768/include/lpc17xx_pinsel.h     |  0
 .../CMSIS/LPC1768/include/lpc17xx_pwm.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_qei.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_rit.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_rtc.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_spi.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_ssp.h        |  0
 .../CMSIS/LPC1768/include/lpc17xx_systick.h    |  0
 .../CMSIS/LPC1768/include/lpc17xx_timer.h      |  0
 .../CMSIS/LPC1768/include/lpc17xx_uart.h       |  0
 .../CMSIS/LPC1768/include/lpc17xx_wdt.h        |  0
 .../CMSIS/LPC1768/include/lpc_types.h          |  0
 .../CMSIS/LPC1768/include/system_LPC17xx.h     |  0
 .../CMSIS/LPC1768/lib/LiquidCrystal.cpp        |  2 +-
 .../CMSIS/LPC1768/lib/LiquidCrystal.h          |  0
 .../CMSIS/LPC1768/lib/Print.cpp                |  0
 .../CMSIS/LPC1768/lib/Print.h                  |  0
 .../CMSIS/LPC1768/lib/Printable.h              |  0
 .../CMSIS/LPC1768/lib/Stream.cpp               |  2 +-
 .../CMSIS/LPC1768/lib/Stream.h                 |  0
 .../CMSIS/LPC1768/lib/WString.h                |  0
 .../CMSIS/LPC1768/lib/binary.h                 |  0
 .../CMSIS/LPC1768/lib/chanfs/LPC176x.h         |  0
 .../CMSIS/LPC1768/lib/chanfs/diskio.h          |  0
 .../CMSIS/LPC1768/lib/chanfs/ff.c              |  0
 .../CMSIS/LPC1768/lib/chanfs/ff.h              |  0
 .../CMSIS/LPC1768/lib/chanfs/ffconf.h          |  0
 .../CMSIS/LPC1768/lib/chanfs/ffunicode.c       |  0
 .../CMSIS/LPC1768/lib/chanfs/integer.h         |  0
 .../CMSIS/LPC1768/lib/chanfs/mmc_ssp.c         |  0
 .../CMSIS/LPC1768/lib/chanfs/rtc176x.c         |  0
 .../CMSIS/LPC1768/lib/chanfs/rtc176x.h         |  0
 .../LPC1768/lib/usb/Re-ARM_usb_driver.inf      |  0
 .../CMSIS/LPC1768/lib/usb/cdc.h                |  0
 .../CMSIS/LPC1768/lib/usb/cdcuser.cpp          |  0
 .../CMSIS/LPC1768/lib/usb/cdcuser.h            |  0
 .../CMSIS/LPC1768/lib/usb/msc.h                |  0
 .../CMSIS/LPC1768/lib/usb/mscuser.cpp          |  0
 .../CMSIS/LPC1768/lib/usb/mscuser.h            |  0
 .../CMSIS/LPC1768/lib/usb/usb.h                |  0
 .../CMSIS/LPC1768/lib/usb/usbcfg.h             |  0
 .../CMSIS/LPC1768/lib/usb/usbcore.cpp          |  0
 .../CMSIS/LPC1768/lib/usb/usbcore.h            |  0
 .../CMSIS/LPC1768/lib/usb/usbdesc.cpp          |  0
 .../CMSIS/LPC1768/lib/usb/usbdesc.h            |  0
 .../CMSIS/LPC1768/lib/usb/usbhw.cpp            |  0
 .../CMSIS/LPC1768/lib/usb/usbhw.h              |  0
 .../CMSIS/LPC1768/lib/usb/usbreg.h             |  0
 .../CMSIS/LPC1768/lib/usb/usbuser.cpp          |  0
 .../CMSIS/LPC1768/lib/usb/usbuser.h            |  0
 frameworks/CMSIS/library.json                  | 18 ++++++++++++++++++
 platformio.ini                                 |  8 +++++---
 105 files changed, 38 insertions(+), 10 deletions(-)
 rename Marlin/src/HAL/HAL_LPC1768/{ => include}/arduino.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/Re-ARM/LPC1768.ld (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/debug_frmwrk.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_adc.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_can.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_clkpwr.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_dac.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_emac.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_exti.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_gpdma.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_gpio.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_i2c.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_i2s.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_iap.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_libcfg_default.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_mcpwm.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_nvic.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_pinsel.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_pwm.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_qei.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_rit.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_rtc.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_spi.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_ssp.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_systick.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_timer.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_uart.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/driver/lpc17xx_wdt.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/LPC17xx.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/arm_common_tables.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/arm_math.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/core_cm3.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/core_cmFunc.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/core_cmInstr.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/debug_frmwrk.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_adc.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_can.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_clkpwr.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_dac.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_emac.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_exti.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_gpdma.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_gpio.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_i2c.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_i2s.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_iap.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_libcfg_default.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_mcpwm.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_nvic.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_pinsel.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_pwm.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_qei.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_rit.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_rtc.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_spi.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_ssp.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_systick.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_timer.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_uart.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc17xx_wdt.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/lpc_types.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/include/system_LPC17xx.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/LiquidCrystal.cpp (99%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/LiquidCrystal.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/Print.cpp (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/Print.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/Printable.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/Stream.cpp (99%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/Stream.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/WString.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/binary.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/LPC176x.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/diskio.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/ff.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/ff.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/ffconf.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/ffunicode.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/integer.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/mmc_ssp.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/rtc176x.c (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/chanfs/rtc176x.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/Re-ARM_usb_driver.inf (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/cdc.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/cdcuser.cpp (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/cdcuser.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/msc.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/mscuser.cpp (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/mscuser.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usb.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbcfg.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbcore.cpp (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbcore.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbdesc.cpp (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbdesc.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbhw.cpp (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbhw.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbreg.h (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbuser.cpp (100%)
 rename {Marlin/frameworks => frameworks}/CMSIS/LPC1768/lib/usb/usbuser.h (100%)
 create mode 100644 frameworks/CMSIS/library.json

diff --git a/Marlin/src/HAL/HAL_LPC1768/arduino.h b/Marlin/src/HAL/HAL_LPC1768/include/arduino.h
similarity index 100%
rename from Marlin/src/HAL/HAL_LPC1768/arduino.h
rename to Marlin/src/HAL/HAL_LPC1768/include/arduino.h
diff --git a/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py b/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py
index 47e5bf1e22..1c9ab42468 100644
--- a/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py
+++ b/Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py
@@ -1,6 +1,8 @@
+import sys
+
 #dynamic build flags for generic compile options
 if __name__ == "__main__":
-  print " ".join([  "-std=gnu11",
+  args = " ".join([ "-std=gnu11",
                     "-std=gnu++11",
                     "-Os",
                     "-mcpu=cortex-m3",
@@ -10,13 +12,11 @@ if __name__ == "__main__":
                     "-fsigned-char",
                     "-fno-move-loop-invariants",
 
-                    "-Wall",
                     "--specs=nano.specs",
                     "--specs=nosys.specs",
 
-                    "-IMarlin/frameworks/CMSIS/LPC1768/include",
-                    "-IMarlin/frameworks/CMSIS/LPC1768/lib",
                     "-IMarlin/src/HAL",
+                    "-IMarlin/src/HAL/HAL_LPC1768/include",
 
                     "-MMD",
                     "-MP",
@@ -24,6 +24,11 @@ if __name__ == "__main__":
                     "-DIS_REARM"
                   ])
 
+  for i in range(1, len(sys.argv)):
+    args += " " + sys.argv[i]
+
+  print args
+
 # extra script for linker options
 else:
   from SCons.Script import DefaultEnvironment
@@ -46,6 +51,5 @@ else:
           "--specs=nano.specs",
           "--specs=nosys.specs",
           "-u_printf_float",
-          "-Wl,-TMarlin/frameworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld,--gc-sections"
       ],
   )
diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp
index 9689a90755..9c044b0d37 100644
--- a/Marlin/src/module/probe.cpp
+++ b/Marlin/src/module/probe.cpp
@@ -46,6 +46,10 @@
   #include "../module/delta.h"
 #endif
 
+#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
+  #include "planner.h"
+#endif
+
 float zprobe_zoffset; // Initialized by settings.load()
 
 #if HAS_Z_SERVO_ENDSTOP
diff --git a/Marlin/frameworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld b/frameworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld
rename to frameworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld
diff --git a/Marlin/frameworks/CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S b/frameworks/CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S
rename to frameworks/CMSIS/LPC1768/Re-ARM/startup_LPC17xx.S
diff --git a/Marlin/frameworks/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c b/frameworks/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c
rename to frameworks/CMSIS/LPC1768/Re-ARM/system_LPC17xx.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/debug_frmwrk.c b/frameworks/CMSIS/LPC1768/driver/debug_frmwrk.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/debug_frmwrk.c
rename to frameworks/CMSIS/LPC1768/driver/debug_frmwrk.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_adc.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_adc.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_adc.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_adc.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_can.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_can.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_can.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_can.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_clkpwr.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_clkpwr.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_clkpwr.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_clkpwr.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_dac.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_dac.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_dac.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_dac.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_emac.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_emac.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_emac.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_emac.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_exti.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_exti.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_exti.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_exti.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_gpdma.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_gpdma.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_gpdma.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_gpdma.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_gpio.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_gpio.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_gpio.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_gpio.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_i2c.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_i2c.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_i2c.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_i2c.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_i2s.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_i2s.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_i2s.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_i2s.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_iap.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_iap.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_iap.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_iap.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_libcfg_default.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_libcfg_default.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_libcfg_default.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_libcfg_default.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_mcpwm.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_mcpwm.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_mcpwm.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_mcpwm.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_nvic.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_nvic.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_nvic.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_nvic.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_pinsel.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_pinsel.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_pinsel.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_pinsel.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_pwm.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_pwm.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_pwm.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_pwm.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_qei.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_qei.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_qei.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_qei.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_rit.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_rit.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_rit.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_rit.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_rtc.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_rtc.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_rtc.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_rtc.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_spi.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_spi.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_spi.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_spi.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_ssp.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_ssp.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_ssp.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_ssp.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_systick.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_systick.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_systick.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_systick.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_timer.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_timer.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_timer.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_timer.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_uart.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_uart.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_uart.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_uart.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_wdt.c b/frameworks/CMSIS/LPC1768/driver/lpc17xx_wdt.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/driver/lpc17xx_wdt.c
rename to frameworks/CMSIS/LPC1768/driver/lpc17xx_wdt.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/LPC17xx.h b/frameworks/CMSIS/LPC1768/include/LPC17xx.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/LPC17xx.h
rename to frameworks/CMSIS/LPC1768/include/LPC17xx.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/arm_common_tables.h b/frameworks/CMSIS/LPC1768/include/arm_common_tables.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/arm_common_tables.h
rename to frameworks/CMSIS/LPC1768/include/arm_common_tables.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/arm_math.h b/frameworks/CMSIS/LPC1768/include/arm_math.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/arm_math.h
rename to frameworks/CMSIS/LPC1768/include/arm_math.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/core_cm3.h b/frameworks/CMSIS/LPC1768/include/core_cm3.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/core_cm3.h
rename to frameworks/CMSIS/LPC1768/include/core_cm3.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/core_cmFunc.h b/frameworks/CMSIS/LPC1768/include/core_cmFunc.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/core_cmFunc.h
rename to frameworks/CMSIS/LPC1768/include/core_cmFunc.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/core_cmInstr.h b/frameworks/CMSIS/LPC1768/include/core_cmInstr.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/core_cmInstr.h
rename to frameworks/CMSIS/LPC1768/include/core_cmInstr.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/debug_frmwrk.h b/frameworks/CMSIS/LPC1768/include/debug_frmwrk.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/debug_frmwrk.h
rename to frameworks/CMSIS/LPC1768/include/debug_frmwrk.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_adc.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_adc.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_adc.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_adc.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_can.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_can.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_can.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_can.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_clkpwr.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_clkpwr.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_clkpwr.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_clkpwr.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_dac.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_dac.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_dac.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_dac.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_emac.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_emac.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_emac.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_emac.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_exti.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_exti.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_exti.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_exti.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_gpdma.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_gpdma.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_gpdma.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_gpdma.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_gpio.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_gpio.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_gpio.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_gpio.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_i2c.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_i2c.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_i2c.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_i2c.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_i2s.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_i2s.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_i2s.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_i2s.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_iap.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_iap.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_iap.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_iap.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_libcfg_default.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_libcfg_default.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_libcfg_default.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_libcfg_default.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_mcpwm.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_mcpwm.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_mcpwm.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_mcpwm.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_nvic.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_nvic.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_nvic.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_nvic.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_pinsel.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_pinsel.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_pinsel.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_pinsel.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_pwm.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_pwm.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_pwm.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_pwm.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_qei.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_qei.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_qei.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_qei.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_rit.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_rit.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_rit.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_rit.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_rtc.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_rtc.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_rtc.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_rtc.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_spi.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_spi.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_spi.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_spi.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_ssp.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_ssp.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_ssp.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_ssp.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_systick.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_systick.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_systick.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_systick.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_timer.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_timer.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_timer.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_timer.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_uart.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_uart.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_uart.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_uart.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_wdt.h b/frameworks/CMSIS/LPC1768/include/lpc17xx_wdt.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc17xx_wdt.h
rename to frameworks/CMSIS/LPC1768/include/lpc17xx_wdt.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/lpc_types.h b/frameworks/CMSIS/LPC1768/include/lpc_types.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/lpc_types.h
rename to frameworks/CMSIS/LPC1768/include/lpc_types.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/include/system_LPC17xx.h b/frameworks/CMSIS/LPC1768/include/system_LPC17xx.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/include/system_LPC17xx.h
rename to frameworks/CMSIS/LPC1768/include/system_LPC17xx.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.cpp b/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.cpp
similarity index 99%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.cpp
rename to frameworks/CMSIS/LPC1768/lib/LiquidCrystal.cpp
index fdac562961..e017d11d4c 100644
--- a/Marlin/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.cpp
+++ b/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.cpp
@@ -3,7 +3,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <inttypes.h>
-#include <HAL_LPC1768/arduino.h>
+#include "arduino.h"
 
 // When the display powers up, it is configured as follows:
 //
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.h b/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/LiquidCrystal.h
rename to frameworks/CMSIS/LPC1768/lib/LiquidCrystal.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/Print.cpp b/frameworks/CMSIS/LPC1768/lib/Print.cpp
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/Print.cpp
rename to frameworks/CMSIS/LPC1768/lib/Print.cpp
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/Print.h b/frameworks/CMSIS/LPC1768/lib/Print.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/Print.h
rename to frameworks/CMSIS/LPC1768/lib/Print.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/Printable.h b/frameworks/CMSIS/LPC1768/lib/Printable.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/Printable.h
rename to frameworks/CMSIS/LPC1768/lib/Printable.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/Stream.cpp b/frameworks/CMSIS/LPC1768/lib/Stream.cpp
similarity index 99%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/Stream.cpp
rename to frameworks/CMSIS/LPC1768/lib/Stream.cpp
index 6a54327d28..809a79c529 100644
--- a/Marlin/frameworks/CMSIS/LPC1768/lib/Stream.cpp
+++ b/frameworks/CMSIS/LPC1768/lib/Stream.cpp
@@ -23,7 +23,7 @@
  */
 
 #include <stdlib.h>
-#include <HAL_LPC1768/arduino.h>
+#include <arduino.h>
 
 #include "Stream.h"
 
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/Stream.h b/frameworks/CMSIS/LPC1768/lib/Stream.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/Stream.h
rename to frameworks/CMSIS/LPC1768/lib/Stream.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/WString.h b/frameworks/CMSIS/LPC1768/lib/WString.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/WString.h
rename to frameworks/CMSIS/LPC1768/lib/WString.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/binary.h b/frameworks/CMSIS/LPC1768/lib/binary.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/binary.h
rename to frameworks/CMSIS/LPC1768/lib/binary.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/LPC176x.h b/frameworks/CMSIS/LPC1768/lib/chanfs/LPC176x.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/LPC176x.h
rename to frameworks/CMSIS/LPC1768/lib/chanfs/LPC176x.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/diskio.h b/frameworks/CMSIS/LPC1768/lib/chanfs/diskio.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/diskio.h
rename to frameworks/CMSIS/LPC1768/lib/chanfs/diskio.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ff.c b/frameworks/CMSIS/LPC1768/lib/chanfs/ff.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ff.c
rename to frameworks/CMSIS/LPC1768/lib/chanfs/ff.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ff.h b/frameworks/CMSIS/LPC1768/lib/chanfs/ff.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ff.h
rename to frameworks/CMSIS/LPC1768/lib/chanfs/ff.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ffconf.h b/frameworks/CMSIS/LPC1768/lib/chanfs/ffconf.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ffconf.h
rename to frameworks/CMSIS/LPC1768/lib/chanfs/ffconf.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ffunicode.c b/frameworks/CMSIS/LPC1768/lib/chanfs/ffunicode.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/ffunicode.c
rename to frameworks/CMSIS/LPC1768/lib/chanfs/ffunicode.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/integer.h b/frameworks/CMSIS/LPC1768/lib/chanfs/integer.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/integer.h
rename to frameworks/CMSIS/LPC1768/lib/chanfs/integer.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/mmc_ssp.c b/frameworks/CMSIS/LPC1768/lib/chanfs/mmc_ssp.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/mmc_ssp.c
rename to frameworks/CMSIS/LPC1768/lib/chanfs/mmc_ssp.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.c b/frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.c
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.c
rename to frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.c
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.h b/frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.h
rename to frameworks/CMSIS/LPC1768/lib/chanfs/rtc176x.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/Re-ARM_usb_driver.inf b/frameworks/CMSIS/LPC1768/lib/usb/Re-ARM_usb_driver.inf
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/Re-ARM_usb_driver.inf
rename to frameworks/CMSIS/LPC1768/lib/usb/Re-ARM_usb_driver.inf
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/cdc.h b/frameworks/CMSIS/LPC1768/lib/usb/cdc.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/cdc.h
rename to frameworks/CMSIS/LPC1768/lib/usb/cdc.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp b/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp
rename to frameworks/CMSIS/LPC1768/lib/usb/cdcuser.cpp
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.h b/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/cdcuser.h
rename to frameworks/CMSIS/LPC1768/lib/usb/cdcuser.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/msc.h b/frameworks/CMSIS/LPC1768/lib/usb/msc.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/msc.h
rename to frameworks/CMSIS/LPC1768/lib/usb/msc.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/mscuser.cpp b/frameworks/CMSIS/LPC1768/lib/usb/mscuser.cpp
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/mscuser.cpp
rename to frameworks/CMSIS/LPC1768/lib/usb/mscuser.cpp
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/mscuser.h b/frameworks/CMSIS/LPC1768/lib/usb/mscuser.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/mscuser.h
rename to frameworks/CMSIS/LPC1768/lib/usb/mscuser.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usb.h b/frameworks/CMSIS/LPC1768/lib/usb/usb.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usb.h
rename to frameworks/CMSIS/LPC1768/lib/usb/usb.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbcfg.h b/frameworks/CMSIS/LPC1768/lib/usb/usbcfg.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbcfg.h
rename to frameworks/CMSIS/LPC1768/lib/usb/usbcfg.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbcore.cpp b/frameworks/CMSIS/LPC1768/lib/usb/usbcore.cpp
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbcore.cpp
rename to frameworks/CMSIS/LPC1768/lib/usb/usbcore.cpp
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbcore.h b/frameworks/CMSIS/LPC1768/lib/usb/usbcore.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbcore.h
rename to frameworks/CMSIS/LPC1768/lib/usb/usbcore.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbdesc.cpp b/frameworks/CMSIS/LPC1768/lib/usb/usbdesc.cpp
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbdesc.cpp
rename to frameworks/CMSIS/LPC1768/lib/usb/usbdesc.cpp
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbdesc.h b/frameworks/CMSIS/LPC1768/lib/usb/usbdesc.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbdesc.h
rename to frameworks/CMSIS/LPC1768/lib/usb/usbdesc.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp b/frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp
rename to frameworks/CMSIS/LPC1768/lib/usb/usbhw.cpp
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbhw.h b/frameworks/CMSIS/LPC1768/lib/usb/usbhw.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbhw.h
rename to frameworks/CMSIS/LPC1768/lib/usb/usbhw.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbreg.h b/frameworks/CMSIS/LPC1768/lib/usb/usbreg.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbreg.h
rename to frameworks/CMSIS/LPC1768/lib/usb/usbreg.h
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbuser.cpp b/frameworks/CMSIS/LPC1768/lib/usb/usbuser.cpp
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbuser.cpp
rename to frameworks/CMSIS/LPC1768/lib/usb/usbuser.cpp
diff --git a/Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbuser.h b/frameworks/CMSIS/LPC1768/lib/usb/usbuser.h
similarity index 100%
rename from Marlin/frameworks/CMSIS/LPC1768/lib/usb/usbuser.h
rename to frameworks/CMSIS/LPC1768/lib/usb/usbuser.h
diff --git a/frameworks/CMSIS/library.json b/frameworks/CMSIS/library.json
new file mode 100644
index 0000000000..4edc7226c7
--- /dev/null
+++ b/frameworks/CMSIS/library.json
@@ -0,0 +1,18 @@
+{
+  "name": "CMSIS-LPC1768", 
+  "version": "0.0.0",
+  "frameworks": [], 
+  "platforms": [
+      "nxplpc", 
+      "ststm32"
+  ],
+  "description": "CMSIS library for LPC1768",
+  "build": {
+      "src_filter": "+<LPC1768/*>",
+      "flags": [
+        "-ILPC1768/include",
+        "-ILPC1768/lib",
+        "-Wl,-Tframeworks/CMSIS/LPC1768/Re-ARM/LPC1768.ld,--gc-sections"
+    ]
+  }
+}
diff --git a/platformio.ini b/platformio.ini
index 672e0098c0..7d871f4f37 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -27,7 +27,7 @@ lib_deps =
   https://github.com/trinamic/TMC26XStepper.git
   https://github.com/adafruit/Adafruit_NeoPixel.git
   https://github.com/ameyer/Arduino-L6470.git
-default_src_filter = +<*> -<src/config/examples> -<frameworks>
+default_src_filter = +<*> -<src/config/examples>
 
 [env:megaatmega2560]
 platform = atmelavr
@@ -115,7 +115,9 @@ src_filter = ${common.default_src_filter}
 platform = nxplpc
 board_f_cpu = 100000000L
 build_flags = !python Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py
+src_build_flags = -Wall
+build_unflags = -Wall
 lib_ldf_mode = off
-lib_deps = U8glib-ARM
-src_filter = ${common.default_src_filter} +<frameworks/CMSIS/LPC1768>
+lib_extra_dirs = frameworks
+lib_deps = U8glib-ARM, CMSIS-LPC1768
 extra_scripts = Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py