Open MCFFHAB opened 4 days ago
Minimal Config to trigger this issue
set #define TEMP_SENSOR_0 1 and #define HEATER_0_MAXTEMP 275 and it builds!
Seems to be https://github.com/MarlinFirmware/Marlin/pull/27111
Added Marlin/src/HAL/STM32/dogm/u8g_com_stm32duino_swspi.cpp which is being activated when it shouldn't be
I think this should be the fix, but need to recheck it when im a bit more awake, Your configs now build with this patch.
diff --git a/Marlin/src/HAL/STM32/dogm/u8g_com_stm32duino_swspi.cpp b/Marlin/src/HAL/STM32/dogm/u8g_com_stm32duino_swspi.cpp
index 68c6430538..93733d8165 100644
--- a/Marlin/src/HAL/STM32/dogm/u8g_com_stm32duino_swspi.cpp
+++ b/Marlin/src/HAL/STM32/dogm/u8g_com_stm32duino_swspi.cpp
@@ -24,7 +24,7 @@
#include "../../../inc/MarlinConfig.h"
-#if ALL(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI)
+#if ENABLED(SKR_MINI_SCREEN_ADAPTER) && ALL(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI)
#include <U8glib-HAL.h>
#include "../../shared/HAL_SPI.h"
Great news. Thank you very much!
Although this is a workaround I notice that this code is replicated on 3 different platforms, so It needs further investigation.
Ok, will put this workaround on my branch until it gets resolved on the upstream branch. Thank you again.
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
Marlin
bugfix-2.1.x
not compiling correctly since 3 weeks ago - BTT Octopus Pro V1.1 board.Expand me for log:
```prolog Verbose mode can be enabled via `-v, --verbose` option Copying variant MARLIN_H723ZE to framework directory... CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/marlin_STM32H723ZE.html PLATFORM: ST STM32 (15.4.1) > STM32H723ZE (564k RAM. 512k Flash) HARDWARE: STM32H723ZET6 550MHz, 564KB RAM, 512KB Flash DEBUG: Current (cmsis-dap) External (cmsis-dap, jlink, stlink) PACKAGES: - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) - framework-cmsis @ 2.50700.210515 (5.7.0) - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1) Converting Marlin.ino LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 15 compatible libraries Scanning dependencies... Dependency Graph |-- TMCStepper @ 0.7.3 |-- U8glib-HAL @ 0.5.4 |-- SlowSoftI2CMaster @ 1.0.0 |-- SlowSoftWire @ 0.0.0+20240627232322 |-- IWatchdog @ 1.0.0 |-- SPI @ 1.0 |-- EEPROM @ 2.0.1 |-- SoftwareSerial @ 1.0 |-- Wire @ 1.0 |-- Servo @ 1.1.2 Building in release mode Compiling .pio\build\STM32H723ZE_btt\FrameworkArduinoVariant\PeripheralPins.c.o Compiling .pio\build\STM32H723ZE_btt\FrameworkArduinoVariant\variant_MARLIN_STM32H723ZE.cpp.o Compiling .pio\build\STM32H723ZE_btt\SrcWrapper\src\HAL\stm32yyxx_hal.c.o several lines Compiling .pio\build\STM32H723ZE_btt\src\src\feature\runout.cpp.o Compiling .pio\build\STM32H723ZE_btt\src\src\feature\tmc_util.cpp.o Compiling .pio\build\STM32H723ZE_btt\src\src\feature\tramming.cpp.o In file included from Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/HAL.h:31, from Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/HAL.h:30, from Marlin\src\HAL\STM32\dogm\../../../inc/MarlinConfig.h:33, from Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:25: Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp: In function 'void swSpiInit()': Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:68:14: error: 'DOGLCD_A0' was not declared in this scope; did you mean 'DOGLCD'? 68 | SET_OUTPUT(DOGLCD_A0); | ^~~~~~~~~ Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/fastio.h:66:41: note: in definition of macro '_SET_OUTPUT' 66 | #define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) //!< Output Push Pull Mode & GPIO_NOPULL | ^~ Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/fastio.h:79:33: note: in expansion of macro 'OUT_WRITE' 79 | #define SET_OUTPUT(IO) OUT_WRITE(IO, LOW) | ^~~~~~~~~ Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:68:3: note: in expansion of macro 'SET_OUTPUT' 68 | SET_OUTPUT(DOGLCD_A0); | ^~~~~~~~~~ Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:71:13: error: 'DOGLCD_CS' was not declared in this scope; did you mean 'DOGLCD_SCK'? 71 | OUT_WRITE(DOGLCD_CS, HIGH); | ^~~~~~~~~ Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/fastio.h:66:41: note: in definition of macro '_SET_OUTPUT' 66 | #define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) //!< Output Push Pull Mode & GPIO_NOPULL | ^~ Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:71:3: note: in expansion of macro 'OUT_WRITE' 71 | OUT_WRITE(DOGLCD_CS, HIGH); | ^~~~~~~~~ In file included from C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32/PinNames.h:4, from C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32/pinmap.h:22, from C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32/PeripheralPins.h:34, from C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32/analog.h:44, from C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino/board.h:8, from C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:41, from C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36, from d:\users\zeus\documents\github\marlin\marlin\src\hal\shared\marduino.h:36, from Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/HAL.h:27, from Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/HAL.h:30, from Marlin\src\HAL\STM32\dogm\../../../inc/MarlinConfig.h:33, from Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:25: Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp: In function 'uint8_t u8g_com_HAL_STM32_sw_spi_fn(u8g_t*, uint8_t, uint8_t, void*)': Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:103:15: error: 'DOGLCD_CS' was not declared in this scope; did you mean 'DOGLCD_SCK'? 103 | WRITE(DOGLCD_CS, !arg_val); | ^~~~~~~~~ C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32/PinNamesTypes.h:120:34: note: in definition of macro 'STM_PORT' 120 | #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF) | ^ Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/fastio.h:58:49: note: in expansion of macro 'digitalPinToPinName' 58 | #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BSRR = _BV32(STM_PIN(digitalPinToPinName(IO)) + ((V) ? 0 : 16))) | ^~~~~~~~~~~~~~~~~~~ Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/fastio.h:69:33: note: in expansion of macro '_WRITE' 69 | #define WRITE(IO,V) _WRITE(IO,V) | ^~~~~~ Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:103:9: note: in expansion of macro 'WRITE' 103 | WRITE(DOGLCD_CS, !arg_val); | ^~~~~ Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:129:13: error: 'DOGLCD_A0' was not declared in this scope; did you mean 'DOGLCD'? 129 | WRITE(DOGLCD_A0, arg_val); | ^~~~~~~~~ C:\Users\Zeus\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32/PinNamesTypes.h:120:34: note: in definition of macro 'STM_PORT' 120 | #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF) | ^ Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/fastio.h:58:49: note: in expansion of macro 'digitalPinToPinName' 58 | #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BSRR = _BV32(STM_PIN(digitalPinToPinName(IO)) + ((V) ? 0 : 16))) | ^~~~~~~~~~~~~~~~~~~ Marlin\src\HAL\STM32\dogm\../../../inc/../HAL/../HAL/STM32/fastio.h:69:33: note: in expansion of macro '_WRITE' 69 | #define WRITE(IO,V) _WRITE(IO,V) | ^~~~~~ Marlin\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp:129:7: note: in expansion of macro 'WRITE' 129 | WRITE(DOGLCD_A0, arg_val); | ^~~~~ *** [.pio\build\STM32H723ZE_btt\src\src\HAL\STM32\dogm\u8g_com_stm32duino_swspi.cpp.o] Error 1 ==================================================== [FAILED] Took 60.45 seconds ==================================================== Environment Status Duration --------------- -------- ------------ STM32H723ZE_btt FAILED 00:01:00.447 ```
Bug Timeline
Started around 3 weeks ago
Expected behavior
I expected to compile clean. Did not made any changes to any files (configuration, pins, etc) before problem started occuring. Problem started after updating
bugfix-2.1.x
branch to the latest commits. To make sure there was no corruption, deleted repository and started a new repository but problem persists.Actual behavior
Did not compile clean. error shown on log above
Steps to Reproduce
Compile Marlin bugfix-2.1.x with board BTT Octopus Pro V1.1 (config and pins file attached.
Version of Marlin Firmware
bugfix-2.1.x
Printer model
Ender 5 Plus
Electronics
board BTT Octopus Pro V1.1
LCD/Controller
BigTreeTech TFT Touchscreen BTT_GD_TFT50_V3.0
Other add-ons
N/A
Bed Leveling
ABL Bilinear mesh
Your Slicer
Cura
Host Software
SD Card (headless)
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Config and Pins Files.zip