I obtained this Marlin source code from Artillery (after quite the argument…) - and I cannot get it to compile. I’d appreciate any direction that can be offered. (End goal is to enable Host Action Commands for my machine, but I can’t even get it to compile as they sent it to me)
https://drive.google.com/drive/folders/1LHze5McnA4xxd4xf8HlQYnBzJQdnl96Y?usp=drive_link
Thank you!
edit
I suppose I should include what I’ve tried, what failed, etc.
I tried building it as it is, of course, and that failed. I don’t remember the error codes, but my research indicated I needed to edit ini/stm324f.ini line 744 “platform_packages” to version 2.6.0 - which I did and ended up with another error.
I tried reverting PlatformIO Core and Python to a version predating the last successful build (Oct 2023, according to AutoBuild Marlin). That also didn’t work.
This is the error I’m currently getting with the firmware as it was given and all settings in VS back to normal:
> In file included from Marlin\src\HAL\STM32\MarlinSPI.cpp:27:
> Marlin\src\HAL\STM32\MarlinSPI.h:99:3: error: 'spi_mode_e' does not name a type
> 99 | spi_mode_e _dataMode;
> | ^~~~~~~~~~
> In file included from Marlin\src\HAL\STM32\MarlinSPI.cpp:27:
> Marlin\src\HAL\STM32\MarlinSPI.h: In constructor 'MarlinSPI::MarlinSPI()':
> Marlin\src\HAL\STM32\MarlinSPI.h:55:27: warning: overflow in conversion from 'PinName' to 'pin_t' {aka 'short int'} changes value from 'NC' to '-1' [-Woverflow]
> 55 | MarlinSPI() : MarlinSPI(NC, NC, NC, NC) {}
> | ^~
> Marlin\src\HAL\STM32\MarlinSPI.h:55:31: warning: overflow in conversion from 'PinName' to 'pin_t' {aka 'short int'} changes value from 'NC' to '-1' [-Woverflow]
> 55 | MarlinSPI() : MarlinSPI(NC, NC, NC, NC) {}
> | ^~
> Marlin\src\HAL\STM32\MarlinSPI.h:55:35: warning: overflow in conversion from 'PinName' to 'pin_t' {aka 'short int'} changes value from 'NC' to '-1' [-Woverflow]
> 55 | MarlinSPI() : MarlinSPI(NC, NC, NC, NC) {}
> | ^~
> Marlin\src\HAL\STM32\MarlinSPI.h:55:39: warning: overflow in conversion from 'PinName' to 'pin_t' {aka 'short int'} changes value from 'NC' to '-1' [-Woverflow]
> 55 | MarlinSPI() : MarlinSPI(NC, NC, NC, NC) {}
> | ^~
> In file included from Marlin\src\HAL\STM32\MarlinSPI.cpp:27:
> Marlin\src\HAL\STM32\MarlinSPI.h: In constructor 'MarlinSPI::MarlinSPI(pin_t, pin_t, pin_t, pin_t)':
> Marlin\src\HAL\STM32\MarlinSPI.h:64:5: error: '_dataMode' was not declared in this scope; did you mean '_dataSize'?
> 64 | _dataMode = SPI_MODE_0;
> | ^~~~~~~~~
> | _dataSize
> Marlin\src\HAL\STM32\MarlinSPI.h:64:17: error: 'SPI_MODE_0' was not declared in this scope; did you mean 'SPI_MODE0'?
> 64 | _dataMode = SPI_MODE_0;
> | ^~~~~~~~~~
> | SPI_MODE0
> Marlin\src\HAL\STM32\MarlinSPI.h: In member function 'void MarlinSPI::setDataMode(uint8_t)':
> Marlin\src\HAL\STM32\MarlinSPI.h:83:23: error: '_dataMode' was not declared in this scope; did you mean '_dataSize'?
> 83 | case SPI_MODE0: _dataMode = SPI_MODE_0; break;
> | ^~~~~~~~~
> | _dataSize
> Marlin\src\HAL\STM32\MarlinSPI.h:83:35: error: 'SPI_MODE_0' was not declared in this scope; did you mean 'SPI_MODE0'?
> 83 | case SPI_MODE0: _dataMode = SPI_MODE_0; break;
> | ^~~~~~~~~~
> | SPI_MODE0
> compilation terminated due to -fmax-errors=5.
> *** [.pio\build\mks_yuntu_tjc\src\src\HAL\STM32\MarlinSPI.cpp.o] Error 1