Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG & Fix] LPC1768 and LPC1769 will not compile when trying to use Adafruit MAX31865 board & PT100 sensor #20132

Closed
GadgetAngel opened this issue Nov 13, 2020 · 10 comments
Assignees

Comments

@GadgetAngel
Copy link
Contributor

GadgetAngel commented Nov 13, 2020

Bug Description

When I compile Marlin for SKR PRO V1.x board and use TEMP_SENSOR_0 set to -5, I can compile without a problem because in .vscode\c_cpp_properties.json file for SKR PRO V1.x boards it includes an ARDUINO constant set for 10808. This ARDUINO constant is used in Adafruit MAX31865::Adafruit_MAX31865.h file which in turn is used by Marlin's temperature.cpp file.

The PROBLEM: If ARDUINO constant is not set then Adafruit_MAX31865.h will include WProgram.h which is not what we want for the LPC1768 and LPC769 environments. The Adafruit_MAX31865.h file has the following code:

#if (ARDUINO >= 100)
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif 

I am sure the above code was included to allow 8-bit boards to access the Adafruit MAX31865 library. But, it look like a problem arose and the .vscode\c_cpp_properties.json file for (SKR V1.3, SKR V1.4, SKR V1.4 TURBO,etc) LPC1768 and LPC1769 environments only have ARDUINOLPC constant set to 10805. The ARDUINO constant is NOT set for LPC1768 and LPC1769 envirnoments. In fact, the ARDUINO constant is NULL when the code hits the Adafruit_MAX31865.h file.

So when Marlin compiles and the compiler hits the include for the Adafruit MAX31865 library in temperature.cpp the Marlin code will load WProgram.h file instead of loading the correct Arduino.h file.

This means non of the LPC1768 or LPC1769 can use the PT100 with Adafruit MAX31865 boards on either TEMP_SENSOR_0 or TEMP_SENSOR_1. In other words, LPC1768 and LPC1769 can not use TEMP_SENSOR_0 set to -5 or TEMP_SENSOR_1 set to -5.

This bug report applies to both the release branch of Marlin and the bugfix-2.0.x branch of Marlin!

Configuration Files

Configuration files for LPC1768 env:
Configuration_files_LPC1768.zip

Configuration files for LPC1769 env:
Configuration_files_LPC1769.zip

In the above two zip files I also included the Adafruit_MAX31865.h file I changed to temporarily get around the problem:
Since Marlin defines the ARDUINOLPC constant instead of ARDUINO constant that the Adafruit Library wants I added code to the Adafruit_MAX31865.h header file :

#if (ARDUINO >= 100 || ARDUINOLPC >= 100)
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif 

I know this is a third party library. But the above fix allows the LPC1768 and LPC1769 environments to now compile without issue when they have TEMP_SENSOR_0 set to -5 in configuration.h file.

Here are the .vscode\c_cpp_properties.json files from LPC1768, LPC1769 and BIGTREE_SKR_PRO environments for your consideration:
c_cpp_properties.json files.zip

Steps to Reproduce

  1. Download either Marlin 2.0.7.2 release branch or the current Marlin bugfix-2.0.x branch
  2. Setup platformio.ini to use either LPC1768 or LPC1769, in configuration.h set the following:
#define TEMP_SENSOR_0 -5
#define MOTHERBOARD BOARD_BTT_SKR_V1_4_TURBO // for LPC1769

or

#define MOTHERBOARD BOARD_BTT_SKR_V1_4 // for LPC1768
  1. in the pins_BTT_SKR_common.h:
#define TEMP_0_PIN                    P0_23_A0
#ifndef MAX6675_SS_PIN
  #define MAX6675_SS_PIN              TEMP_0_PIN
  #define MAX31865_CS_PIN             MAX6675_SS_PIN
#endif 

Try to compile the code and you will get the following errors (below shows the LPC1769 environment compiler output):

Log Output
Executing task: C:\Users\joann\.platformio\penv\Scripts\pio.exe run <

Processing LPC1769 (platform: https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip; board: nxp_lpc1769; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
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.5
 - 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 3 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Servo> 1.0.0
|-- <Adafruit MAX31865 library> 1.1.0
|-- <U8glib-HAL> 0.4.3
Building in release mode
upload disk:  D:
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\DebugMonitor.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\HAL.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\fast_pwm.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\include\digipot_mcp4451_I2C_routines.c.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\include\i2c_util.c.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\u8g\LCD_I2C_routines.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\LCD_pin_routines.c.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_sw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\usb_serial.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\watchdog.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\HAL_spi_L6470.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\backtrace.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarm.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarm_arm.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarm_thumb.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarmbytab.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarmmem.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwinder.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwmemaccess.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\eeprom_api.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\eeprom_if_i2c.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\eeprom_if_spi.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
Compiling .pio\build\LPC1769\src\src\MarlinCore.cpp.o
Compiling .pio\build\LPC1769\src\src\core\serial.cpp.o
Compiling .pio\build\LPC1769\src\src\core\utility.cpp.o
Compiling .pio\build\LPC1769\src\src\feature\babystep.cpp.o
Compiling .pio\build\LPC1769\src\src\feature\bedlevel\bedlevel.cpp.o
Compiling .pio\build\LPC1769\src\src\feature\ethernet.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\calibrate\G28.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M200-M205.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M220.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M221.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M301.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M302.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M92.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M108_M112_M410.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M111.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M120_M121.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M17_M18_M84.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M211.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M280.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M350_M351.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M400.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M80_M81.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M85.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M993_M994.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M997.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M999.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\T.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\eeprom\M500-M504.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\feature\digipot\M907-M910.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\feature\network\M552-M554.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\gcode.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\gcode_d.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\geometry\G92.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\geometry\M206_M428.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M110.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M113.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M114.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M115.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M118.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M119.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M0_M1.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M117.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M145.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M300.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\G0_G1.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\G2_G3.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\G4.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\M290.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\parser.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\queue.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M1001.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M20.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M21_M22.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M23.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M24_M25.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M26.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M27.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M28_M29.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M30.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M32.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M33.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M34.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M524.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M928.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\stats\M31.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\stats\M75-M78.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M104_M109.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M105.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M106_M107.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M140_M190.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M141_M191.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M155.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M303.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\units\M82_M83.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\lcdprint_u8g.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\marlinui_DOGM.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\status_screen_DOGM.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\status_screen_lite_ST7920.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_ssd1306_sh1106_128x64_I2C.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_st7565_64128n_HAL.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_st7920_128x64_HAL.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_tft_upscale_from_128x64.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_uc1701_mini12864_HAL.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_fontutf8.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\ultralcd_st7920_u8glib_rrd_AVR.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\extui\ui_api.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\fontutils.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\lcdprint.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\marlinui.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_advanced.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_configuration.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_custom.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_game.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_info.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_main.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_media.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_mixer.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_motion.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_probe_offset.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_temperature.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_tune.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\buzzer.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\crc16.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\numtostr.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\stopwatch.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\vector_3.cpp.o
Compiling .pio\build\LPC1769\src\src\module\endstops.cpp.o
Compiling .pio\build\LPC1769\src\src\module\motion.cpp.o
Compiling .pio\build\LPC1769\src\src\module\planner.cpp.o
Compiling .pio\build\LPC1769\src\src\module\servo.cpp.o
Compiling .pio\build\LPC1769\src\src\module\settings.cpp.o
Compiling .pio\build\LPC1769\src\src\module\stepper.cpp.o
Compiling .pio\build\LPC1769\src\src\module\stepper\indirection.cpp.o
Compiling .pio\build\LPC1769\src\src\module\temperature.cpp.o
In file included from Marlin\src\module\temperature.cpp:48:
.pio\libdeps\LPC1769\Adafruit MAX31865 library/Adafruit_MAX31865.h:53:10: fatal error: WProgram.h: No such file or directory

******************************************************************
* Looking for WProgram.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:WProgram.h"
* Web  > https://platformio.org/lib/search?query=header:WProgram.h
*
******************************************************************

   53 | #include "WProgram.h"
      |          ^~~~~~~~~~~~
compilation terminated.
*** [.pio\build\LPC1769\src\src\module\temperature.cpp.o] Error 1
================================================================================ [FAILED] Took 68.11 seconds ================================================================================

Environment    Status    Duration
-------------  --------  ------------
LPC1769        FAILED    00:01:08.107
=========================================================================== 1 failed, 0 succeeded in 00:01:08.107 =========================================================================== 
The terminal process "C:\Users\joann\.platformio\penv\Scripts\pio.exe 'run'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

Expected behavior:

I expect the Marlin code to compile when I want use MAX31865 in hardware spi on a SKR V1.4, SKR V1.3 or SKR V1.4 Turbo board.

Actual behavior:

See the above compiler error.

Additional Information

Here is the configuration files for this bug report and a video showing the problem:
Configuration files:
Configuration_Issue#1.zip

Video of Issue#1: https://drive.google.com/file/d/1xdhI9QNYdjAKTzIfNopnHdkLFYAhaBGN/view?usp=sharing

When I try to add the compiler directive -DARDUINO=10808 to the LPC1768 environment the compile still gets a fatal error and the compiler throws a lot of warnings from the U8glib-HAL code:

Log Output
platformio.ini:

#################################
#                               #
#     LPC176x Architecture      #
#                               #
#################################

#
# NXP LPC176x ARM Cortex-M3
#
[common_LPC]
platform          = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip
platform_packages = framework-arduino-lpc176x@^0.2.5
board             = nxp_lpc1768
lib_ldf_mode      = off
lib_compat_mode   = strict
extra_scripts     = ${common.extra_scripts}
  Marlin/src/HAL/LPC1768/upload_extra_script.py
src_filter        = ${common.default_src_filter} +<src/HAL/LPC1768> +<src/HAL/shared/backtrace>
lib_deps          = ${common.lib_deps}
  Servo
custom_marlin.USES_LIQUIDCRYSTAL = [email protected]
custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip
build_flags       = ${common.build_flags} -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g -DARDUINO=10808
  # debug options for backtrace
  #-funwind-tables
  #-mpoke-function-name

#
# NXP LPC176x ARM Cortex-M3
#
[env:LPC1768]
platform = ${common_LPC.platform}
extends  = common_LPC
board    = nxp_lpc1768

> Executing task: C:\Users\joann\.platformio\penv\Scripts\pio.exe run <

Processing LPC1768 (platform: https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip; board: nxp_lpc1768; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/nxplpc-arduino-lpc176x/nxp_lpc1768.html
PLATFORM: NXP Arduino LPC176x (0.1.3) > NXP LPC1768
HARDWARE: LPC1768 100MHz, 31.97KB RAM, 464KB Flash
DEBUG: Current (cmsis-dap) On-board (cmsis-dap) External (blackmagic, jlink)
PACKAGES:
 - framework-arduino-lpc176x 0.2.5
 - toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
Scanning dependencies...
Dependency Graph
|-- <Servo> 1.0.0
|-- <Adafruit MAX31865 library> 1.1.0
|-- <U8glib-HAL> 0.4.3
Building in release mode
upload disk:  D:
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\DebugMonitor.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\HAL.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\HAL_SPI.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\MarlinSerial.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\eeprom_flash.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\eeprom_sdcard.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\eeprom_wired.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\fast_pwm.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\include\digipot_mcp4451_I2C_routines.c.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\include\i2c_util.c.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\main.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\tft\tft_spi.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\tft\xpt2046.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\timers.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\u8g\LCD_I2C_routines.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\u8g\LCD_pin_routines.c.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp.o
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:804: warning: "U8G_COM_SW_SPI" redefined
  804 | #define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp.o
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:40: note: this is the location of the previous definition
   40 | #define U8G_COM_SW_SPI u8g_com_HAL_LPC1768_sw_spi_fn  // use LPC1768 specific software SPI routine
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:805: warning: "U8G_COM_ST7920_SW_SPI" redefined
  805 | #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:42: note: this is the location of the previous definition
   42 | #define U8G_COM_ST7920_SW_SPI u8g_com_HAL_LPC1768_ST7920_sw_spi_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_sw_spi.cpp.o
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:835: warning: "U8G_COM_PARALLEL" redefined
  835 | #define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:46: note: this is the location of the previous definition
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\usb_serial.cpp.o
   46 | #define U8G_COM_PARALLEL u8g_com_null_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:836: warning: "U8G_COM_FAST_PARALLEL" redefined
  836 | #define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp:82:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:48: note: this is the location of the previous definition
   48 | #define U8G_COM_FAST_PARALLEL u8g_com_null_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:804: warning: "U8G_COM_SW_SPI" redefined
  804 | #define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:40: note: this is the location of the previous definition
   40 | #define U8G_COM_SW_SPI u8g_com_HAL_LPC1768_sw_spi_fn  // use LPC1768 specific software SPI routine
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:805: warning: "U8G_COM_ST7920_SW_SPI" redefined
  805 | #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:42: note: this is the location of the previous definition
   42 | #define U8G_COM_ST7920_SW_SPI u8g_com_HAL_LPC1768_ST7920_sw_spi_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:835: warning: "U8G_COM_PARALLEL" redefined
  835 | #define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:46: note: this is the location of the previous definition
   46 | #define U8G_COM_PARALLEL u8g_com_null_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:836: warning: "U8G_COM_FAST_PARALLEL" redefined
  836 | #define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
Compiling .pio\build\LPC1768\src\src\HAL\LPC1768\watchdog.cpp.o
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:48: note: this is the location of the previous definition
   48 | #define U8G_COM_FAST_PARALLEL u8g_com_null_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:804: warning: "U8G_COM_SW_SPI" redefined
Compiling .pio\build\LPC1768\src\src\HAL\shared\HAL_spi_L6470.cpp.o
  804 | #define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\backtrace.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarm.cpp.o
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:40: note: this is the location of the previous definition
   40 | #define U8G_COM_SW_SPI u8g_com_HAL_LPC1768_sw_spi_fn  // use LPC1768 specific software SPI routine
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:805: warning: "U8G_COM_ST7920_SW_SPI" redefined
  805 | #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarm_arm.cpp.o
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:42: note: this is the location of the previous definition
   42 | #define U8G_COM_ST7920_SW_SPI u8g_com_HAL_LPC1768_ST7920_sw_spi_fn
      | 
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarm_thumb.cpp.o
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarmbytab.cpp.o
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:835: warning: "U8G_COM_PARALLEL" redefined
  835 | #define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwarmmem.cpp.o
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:46: note: this is the location of the previous definition
   46 | #define U8G_COM_PARALLEL u8g_com_null_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwinder.cpp.o
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:836: warning: "U8G_COM_FAST_PARALLEL" redefined
  836 | #define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:48: note: this is the location of the previous definition
   48 | #define U8G_COM_FAST_PARALLEL u8g_com_null_fn
Compiling .pio\build\LPC1768\src\src\HAL\shared\backtrace\unwmemaccess.cpp.o
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:804: warning: "U8G_COM_SW_SPI" redefined
  804 | #define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn
      | 
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
Compiling .pio\build\LPC1768\src\src\HAL\shared\eeprom_api.cpp.o
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:40: note: this is the location of the previous definition
   40 | #define U8G_COM_SW_SPI u8g_com_HAL_LPC1768_sw_spi_fn  // use LPC1768 specific software SPI routine
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
Compiling .pio\build\LPC1768\src\src\HAL\shared\eeprom_if_i2c.cpp.o
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:805: warning: "U8G_COM_ST7920_SW_SPI" redefined
  805 | #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:42: note: this is the location of the previous definition
   42 | #define U8G_COM_ST7920_SW_SPI u8g_com_HAL_LPC1768_ST7920_sw_spi_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:835: warning: "U8G_COM_PARALLEL" redefined
  835 | #define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:46: note: this is the location of the previous definition
   46 | #define U8G_COM_PARALLEL u8g_com_null_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
.pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:836: warning: "U8G_COM_FAST_PARALLEL" redefined
  836 | #define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn
      |
In file included from .pio\libdeps\LPC1768\U8glib-HAL\src/clib/u8g.h:660,
                 from .pio\libdeps\LPC1768\U8glib-HAL\src/U8glib.h:47,
Compiling .pio\build\LPC1768\src\src\HAL\shared\eeprom_if_spi.cpp.o
                 from Marlin\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp:62:
Compiling .pio\build\LPC1768\src\src\HAL\shared\esp_wifi.cpp.o
Marlin\src\HAL\LPC1768\u8g/LCD_defines.h:48: note: this is the location of the previous definition
   48 | #define U8G_COM_FAST_PARALLEL u8g_com_null_fn
      |
Compiling .pio\build\LPC1768\src\src\HAL\shared\servo.cpp.o
Compiling .pio\build\LPC1768\src\src\MarlinCore.cpp.o
Compiling .pio\build\LPC1768\src\src\core\serial.cpp.o
Compiling .pio\build\LPC1768\src\src\core\utility.cpp.o
Compiling .pio\build\LPC1768\src\src\feature\babystep.cpp.o
Compiling .pio\build\LPC1768\src\src\feature\bedlevel\bedlevel.cpp.o
Marlin\src\MarlinCore.cpp:41:12: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!  
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

   41 |   #include <pins_arduino.h>
      |            ^~~~~~~~~~~~~~~~
compilation terminated.
Compiling .pio\build\LPC1768\src\src\feature\ethernet.cpp.o
*** [.pio\build\LPC1768\src\src\MarlinCore.cpp.o] Error 1
================================================================================ [FAILED] Took 34.69 seconds ================================================================================

Environment    Status    Duration
-------------  --------  ------------
LPC1768        FAILED    00:00:34.689
=========================================================================== 1 failed, 0 succeeded in 00:00:34.689 =========================================================================== 
The terminal process "C:\Users\joann\.platformio\penv\Scripts\pio.exe 'run'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.

When I apply my code fix to the Adafruit_MAX31865.h file:

In Adafruit MAX31865::Adafruit_MAX31865.h file:

Original statement:

#if (ARDUINO >= 100)
#include "Arduino.h"
#else
#include "WProgram.h"
#endif 

How I fixed the issue:

#if (ARDUINO >= 100 || ARDUINOLPC >= 100)
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

Compiler output (error free) when I added ARDUINOLPC compiler constant to Adafruit MAX31865::Adafruit_MAX31865.h file for LPC1769 environment is shown below::

Log Output
Executing task: C:\Users\joann\.platformio\penv\Scripts\pio.exe run <

Processing LPC1769 (platform: https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip; board: nxp_lpc1769; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
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.5
 - 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 3 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Servo> 1.0.0
|-- <Adafruit MAX31865 library> 1.1.0
|-- <U8glib-HAL> 0.4.3
Building in release mode
upload disk:  D:
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\DebugMonitor.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\HAL.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\fast_pwm.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\include\digipot_mcp4451_I2C_routines.c.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\include\i2c_util.c.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\u8g\LCD_I2C_routines.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\LCD_pin_routines.c.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_hw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_hw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_st7920_sw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\u8g\u8g_com_HAL_LPC1768_sw_spi.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\usb_serial.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\LPC1768\watchdog.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\HAL_spi_L6470.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\backtrace.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarm.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarm_arm.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarm_thumb.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarmbytab.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwarmmem.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwinder.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\backtrace\unwmemaccess.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\eeprom_api.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\eeprom_if_i2c.cpp.o
Compiling .pio\build\LPC1769\src\src\HAL\shared\eeprom_if_spi.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
Compiling .pio\build\LPC1769\src\src\MarlinCore.cpp.o
Compiling .pio\build\LPC1769\src\src\core\serial.cpp.o
Compiling .pio\build\LPC1769\src\src\core\utility.cpp.o
Compiling .pio\build\LPC1769\src\src\feature\babystep.cpp.o
Compiling .pio\build\LPC1769\src\src\feature\bedlevel\bedlevel.cpp.o
Compiling .pio\build\LPC1769\src\src\feature\ethernet.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\calibrate\G28.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M200-M205.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M220.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M221.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M301.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M302.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\config\M92.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M108_M112_M410.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M111.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M120_M121.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M17_M18_M84.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M211.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M280.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M350_M351.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M400.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M80_M81.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M85.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M993_M994.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M997.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\M999.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\control\T.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\eeprom\M500-M504.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\feature\digipot\M907-M910.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\feature\network\M552-M554.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\gcode.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\gcode_d.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\geometry\G92.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\geometry\M206_M428.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M110.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M113.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M114.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M115.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M118.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\host\M119.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M0_M1.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M117.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M145.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\lcd\M300.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\G0_G1.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\G2_G3.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\G4.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\motion\M290.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\parser.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\queue.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M1001.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M20.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M21_M22.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M23.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M24_M25.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M26.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M27.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M28_M29.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M30.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M32.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M33.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M34.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M524.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\sd\M928.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\stats\M31.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\stats\M75-M78.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M104_M109.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M105.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M106_M107.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M140_M190.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M141_M191.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M155.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\temp\M303.cpp.o
Compiling .pio\build\LPC1769\src\src\gcode\units\M82_M83.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\lcdprint_u8g.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\marlinui_DOGM.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\status_screen_DOGM.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\status_screen_lite_ST7920.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_ssd1306_sh1106_128x64_I2C.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_st7565_64128n_HAL.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_st7920_128x64_HAL.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_tft_upscale_from_128x64.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_uc1701_mini12864_HAL.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_fontutf8.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\dogm\ultralcd_st7920_u8glib_rrd_AVR.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\extui\ui_api.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\fontutils.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\lcdprint.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\marlinui.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_advanced.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_configuration.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_custom.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_game.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_info.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_main.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_media.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_mixer.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_motion.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_probe_offset.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_temperature.cpp.o
Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_tune.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\buzzer.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\crc16.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\numtostr.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\stopwatch.cpp.o
Compiling .pio\build\LPC1769\src\src\libs\vector_3.cpp.o
Compiling .pio\build\LPC1769\src\src\module\endstops.cpp.o
Compiling .pio\build\LPC1769\src\src\module\motion.cpp.o
Compiling .pio\build\LPC1769\src\src\module\planner.cpp.o
Compiling .pio\build\LPC1769\src\src\module\servo.cpp.o
Compiling .pio\build\LPC1769\src\src\module\settings.cpp.o
Compiling .pio\build\LPC1769\src\src\module\stepper.cpp.o
Compiling .pio\build\LPC1769\src\src\module\stepper\indirection.cpp.o
Compiling .pio\build\LPC1769\src\src\module\temperature.cpp.o
Compiling .pio\build\LPC1769\src\src\module\tool_change.cpp.o
Compiling .pio\build\LPC1769\src\src\sd\Sd2Card.cpp.o
Compiling .pio\build\LPC1769\src\src\sd\SdBaseFile.cpp.o
Compiling .pio\build\LPC1769\src\src\sd\SdFatUtil.cpp.o
Compiling .pio\build\LPC1769\src\src\sd\SdFile.cpp.o
Compiling .pio\build\LPC1769\src\src\sd\SdVolume.cpp.o
Compiling .pio\build\LPC1769\src\src\sd\cardreader.cpp.o
Compiling .pio\build\LPC1769\libf85\Servo\Servo.cpp.o
Compiling .pio\build\LPC1769\lib048\Adafruit MAX31865 library\Adafruit_MAX31865.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\U8glib.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\U8glibPrint.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\chessengine.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_bitmap.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_circle.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_clip.c.o
Archiving .pio\build\LPC1769\libf85\libServo.a
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_api.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_api_16gr.c.o
Archiving .pio\build\LPC1769\lib048\libAdafruit MAX31865 library.a
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_attiny85_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_common.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_fast_parallel.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_hw_usart_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_no_en_parallel.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_parallel.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_port_d_wr.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_ssd_i2c.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_st7920_custom.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_st7920_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_st7920_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_std_sw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_sw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_t6963.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_arduino_uc_i2c.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_atmega_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_atmega_parallel.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_atmega_st7920_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_atmega_st7920_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_atmega_sw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_atxmega_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_atxmega_st7920_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_esp32_ssd_i2c_fn.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_i2c.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_io.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_linux_ssd_i2c.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_msp430_hw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_null.c.o
.pio\libdeps\LPC1769\U8glib-HAL\src\clib\u8g_com_i2c.c:44:16: warning: 'u8g_i2c_opt' defined but not used [-Wunused-variable]
   44 | static uint8_t u8g_i2c_opt;   /* U8G_I2C_OPT_NO_ACK, SAM: U8G_I2C_OPT_DEV_1 */
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_psoc5_ssd_hw_parallel.c.o
      |                ^~~~Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_raspberrypi_hw_spi.c.o
~~Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_raspberrypi_ssd_i2c.c.o
~~~~~
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_samd51_hw_spi.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_samd51_st7920_hw_spi.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_std_sw_spi.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_stm32duino_hw_spi.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_com_stm32duino_ssd_i2c.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_cursor.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_delay.cpp.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_a2_micro_printer.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_flipdisc_2x7.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_gprof.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ht1632.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ili9325d_320x240.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ks0108_128x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_lc7981_160x80.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_lc7981_240x128.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_lc7981_240x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_lc7981_320x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ld7032_60x32.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_null.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_pcd8544_84x48.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_pcf8812_96x65.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_sbn1661_122x32.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1306_128x32.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1306_128x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1306_64x48.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1309_128x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1322_nhd31oled_bw.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1322_nhd31oled_gr.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1325_nhd27oled_bw.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1325_nhd27oled_bw_new.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1325_nhd27oled_gr.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1325_nhd27oled_gr_new.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1327_96x96_gr.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1351_128x128.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_ssd1353_160x128.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7565_64128n.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7565_dogm128.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7565_dogm132.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7565_lm6059.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7565_lm6063.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7565_nhd_c12832.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7565_nhd_c12864.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7687_c144mvgd.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7920_128x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7920_192x32.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_st7920_202x32.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_t6963_128x128.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_t6963_128x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_t6963_240x128.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_t6963_240x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_tls8204_84x48.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1601_c128032.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1608_240x128.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1608_240x64.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1610_dogxl160.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1611_dogm240.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1611_dogxl240.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1701_dogs102.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_dev_uc1701_mini12864.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_ellipse.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_04b.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_courier.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_fu.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_gd.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_helvetica.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_ncen.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_os.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_profont.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_symb.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_times.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_font_data_unifont.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_line.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_ll_api.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_page.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb14v1.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb16h1.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb16h2.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb16v1.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb16v2.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb32h1.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb8h1.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb8h1f.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb8h2.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb8h8.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb8v1.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pb8v2.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pbxh16.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_pbxh24.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_polygon.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_rect.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_rot.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_scale.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_state.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_u16toa.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_u8toa.c.o
Compiling .pio\build\LPC1769\lib03b\U8glib-HAL\clib\u8g_virtual_screen.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\debug_frmwrk.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_adc.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_can.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_clkpwr.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_dac.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_emac.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_exti.c.o
Archiving .pio\build\LPC1769\lib03b\libU8glib-HAL.a
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_gpdma.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_gpio.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_i2c.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_i2s.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_iap.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_libcfg_default.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_mcpwm.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_nvic.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_pinsel.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_pwm.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_qei.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_rit.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_rtc.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_spi.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_ssp.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_systick.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_timer.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_uart.c.o
Compiling .pio\build\LPC1769\CMSIS\driver\lpc17xx_wdt.c.o
Compiling .pio\build\LPC1769\CMSIS\lib\chanfs\ff.c.o
Compiling .pio\build\LPC1769\CMSIS\lib\chanfs\ffunicode.c.o
Compiling .pio\build\LPC1769\CMSIS\lib\chanfs\mmc_ssp.c.o
Compiling .pio\build\LPC1769\CMSIS\lib\chanfs\rtc176x.c.o
Compiling .pio\build\LPC1769\CMSIS\lib\usb\cdcuser.cpp.o
Compiling .pio\build\LPC1769\CMSIS\lib\usb\mscuser.cpp.o
Compiling .pio\build\LPC1769\CMSIS\lib\usb\usbcore.cpp.o
Compiling .pio\build\LPC1769\CMSIS\lib\usb\usbdesc.cpp.o
Compiling .pio\build\LPC1769\CMSIS\lib\usb\usbhw.cpp.o
Compiling .pio\build\LPC1769\CMSIS\lib\usb\usbuser.cpp.o
Compiling .pio\build\LPC1769\CMSIS\system\startup_LPC17xx.S.o
Compiling .pio\build\LPC1769\CMSIS\system\system_LPC17xx.c.o
Compiling .pio\build\LPC1769\lpc176x\HardwarePWM.cpp.o
Compiling .pio\build\LPC1769\lpc176x\SoftwarePWM.cpp.o
Compiling .pio\build\LPC1769\lpc176x\pwm.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\CDCSerial.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\HardwareSerial0.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\HardwareSerial1.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\HardwareSerial2.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\HardwareSerial3.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\Print.cpp.o
Archiving .pio\build\LPC1769\libCMSIS.a
Compiling .pio\build\LPC1769\FrameworkArduino\SoftwareSPI.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\SoftwareSerial.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\Stream.cpp.o
Archiving .pio\build\LPC1769\liblpc176x.a
Compiling .pio\build\LPC1769\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\WInterrupts.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\Wire.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\arduino.cpp.o
Compiling .pio\build\LPC1769\FrameworkArduino\main.cpp.o
Archiving .pio\build\LPC1769\libFrameworkArduino.a
Linking .pio\build\LPC1769\firmware.elf
Checking size .pio\build\LPC1769\firmware.elf
Building .pio\build\LPC1769\firmware.bin
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [====      ]  40.9% (used 13376 bytes from 32736 bytes)
Flash: [===       ]  33.5% (used 159176 bytes from 475136 bytes)
================================================================================ [SUCCESS] Took 62.15 seconds ================================================================================
Environment    Status    Duration
-------------  --------  ------------
LPC1769        SUCCESS   00:01:02.146
================================================================================ 1 succeeded in 00:01:02.146 ================================================================================ 
@GadgetAngel GadgetAngel changed the title LPC1768 and LPC1769 will not compile when trying to use Adafruit MAX31865 board & PT100 sensor [BUG] LPC1768 and LPC1769 will not compile when trying to use Adafruit MAX31865 board & PT100 sensor Nov 13, 2020
@GadgetAngel GadgetAngel changed the title [BUG] LPC1768 and LPC1769 will not compile when trying to use Adafruit MAX31865 board & PT100 sensor [BUG & Fix] LPC1768 and LPC1769 will not compile when trying to use Adafruit MAX31865 board & PT100 sensor Nov 13, 2020
@p3p
Copy link
Member

p3p commented Nov 13, 2020

This is actually expected behaviour, at least from my lpc176x frameworks point of view, it is not a standard compliant Arduino framework implementation so I don't advertise it as such by setting the ARDUINO definition.

Some general purpose Arduino libraries have been tested and/or modified to work with my framework but in general they don't tend to be supported.

Not sure what the correct solution for Marlin would be in this case, other than me making the framework actually Arduino compliant.

@GadgetAngel
Copy link
Contributor Author

@p3p I was not aware that LPC1768 and LPC1769 were not meant to run Adafruit MAX31865 boards.

Tomorrow, I will actual bench test my above suggestion just to see if a SKR V1.3 or SKR V1.4 or SKR 1.4 Turbo will work with the Adafruit MAX31865 library.

I will hook up an Adafruit MAX31865 with PT100 sensor via hardware spi to these boards one at a time. After I run the test, I will report my results back here.

Let me run the test to see if this hack will allow SKR V1.3 or SKR V14 or SKR V1.4 Turbo boards to work with the Adafruit MAX31865 library. So please leave this ticket open until I can document whether or not these boards from Bigtreetech can or can not work with Adafruit MAX31865.

Thank you for responding so quickly.

@GadgetAngel
Copy link
Contributor Author

@p3p I am still testing, please leave this open until I have told you I have given up trying. Thanks for your patience

@GadgetAngel
Copy link
Contributor Author

GadgetAngel commented Nov 16, 2020

@p3p I have a question for you: In Marlin/src/HAL/LPC1768/include/SPI.h file you have the CLASS SPISettings which has a Method called SPISettings. This is the method I am asking about:

  SPISettings(uint32_t spiRate, int inBitOrder, int inDataMode) {
    init_AlwaysInline(spiRate2Clock(spiRate), inBitOrder, inDataMode, DATA_SIZE_8BIT);
  }
.
.
.
  static inline uint32_t spiRate2Clock(uint32_t spiRate) {
    uint32_t Marlin_speed[7]; // CPSR is always 2
    Marlin_speed[0] = 8333333; //(SCR:  2)  desired: 8,000,000  actual: 8,333,333  +4.2%  SPI_FULL_SPEED
    Marlin_speed[1] = 4166667; //(SCR:  5)  desired: 4,000,000  actual: 4,166,667  +4.2%  SPI_HALF_SPEED
    Marlin_speed[2] = 2083333; //(SCR: 11)  desired: 2,000,000  actual: 2,083,333  +4.2%  SPI_QUARTER_SPEED
    Marlin_speed[3] = 1000000; //(SCR: 24)  desired: 1,000,000  actual: 1,000,000         SPI_EIGHTH_SPEED
    Marlin_speed[4] =  500000; //(SCR: 49)  desired:   500,000  actual:   500,000         SPI_SPEED_5
    Marlin_speed[5] =  250000; //(SCR: 99)  desired:   250,000  actual:   250,000         SPI_SPEED_6
    Marlin_speed[6] =  125000; //(SCR:199)  desired:   125,000  actual:   125,000         Default from HAL.h
    return Marlin_speed[spiRate > 6 ? 6 : spiRate];
  } 

This method or routine is called by the Adafruit_MAX31865.cpp code as shown below:

static SPISettings max31865_spisettings =
    SPISettings(500000, MSBFIRST, SPI_MODE1);

The thing that worries me is that your SPISettings calls spiRate2Clock(spiRate). The Adafruit_MAX31865.cpp is not aware that Marlin uses index to speed. It just provides the 500,000 as its SPI speed. So with your code when Adafruit_MAX31865 calls SPISettings the actual speed will be set to 125000 because the spiRate is greater than 6 in the call. This is 1/4 of the speed that it should be.

I am trying to decide if this is a non issue? I have changed the Adafruit call to SPISettings(4, MSBFIRST, SPI_MODE1); but I have not seen a difference. I am looking for your opinion. The maximums SPI speed the MAX31865 can do is 5MHz.

I am still testing. I want to see if I can now use TMC2130 in SPI mode and see how that effects my setup.

If you can get back to me about the above issue I would be grateful.

Also do you know of a way to get the linker to include the Arduino.h file without having to change the Adafruit_MAX31865.h file?

I am older than you and I might not be aware of new changes in compiler and linker directives so I am asking. In my time this was not possible.

@rhapsodyv
Copy link
Member

Marlin SPI usages is not very “standard” right now. We are working on in a better class and interface for that. But it’s a working in progress.
When I did that SPISettings, I really wasn’t aware of MAX31865. I did that class just for compatibility and didn’t pay too much attention for its interface.

I will take a look in your issue.

@GadgetAngel
Copy link
Contributor Author

GadgetAngel commented Nov 16, 2020

@rhapsodyv and @p3p I can get the SKR V1.4 Turbo to run the Adafruit MAX31865 board in software SPI and Hardware SPI when SDCARD_CONNECTION is set for LCD.

I have another question: if I change SDCARD_CONNECTION to ONBOARD does the default hardware SPI bus change from SPI-0 bus to SPI-1 bus (from "EXP2 connector" to "onboard SD card reader")?

EDIT: well I just tested it and this is what I found.
Default Hardware SPI for the SKR V1.4/V1.4 Turbo board:
If SDCARD_CONNECTION is LCD (with SDSUPPORT enabled or disabled) and If the SDCARD_CONNECTION is ONBOARD with SDSUPPORT disabled then the default SPI bus is SPI-0:

MOSI_PIN     P0_18
SCK_PIN      P0_15
MISO_PIN     P0_17

If SDCARD_CONNECTION is ONBOARD with SDSUPPORT enabled the default SPI bus is SPI-1:

MOSI_PIN     P0_09
SCK_PIN      P0_07
MISO_PIN     P0_08 

@github-actions
Copy link

This issue has had no activity in the last 30 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 7 days.

@GadgetAngel
Copy link
Contributor Author

This issue has had no activity in the last 30 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 7 days.

This issue is still under review because the pull request that fixes this issue is still going through the review process.

@GadgetAngel
Copy link
Contributor Author

This issue is resolved because the PR #20447 has now been merged in bugfix branch

@github-actions
Copy link

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

@github-actions github-actions bot locked and limited conversation to collaborators Apr 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants