#Marlin Build Error

1 messages · Page 1 of 1 (latest)

kind junco
#

I changed a fan value on my build of marlin, and now it won't build. This is the error it is providing, but I'm too smooth brained to figure it out. Would appreciate help

`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;
| ^~~~~~~~~~
Marlin\src\HAL\STM32\HAL_SPI.cpp: In function 'void spiSendBlock(uint8_t, const uint8_t*)':
Marlin\src\HAL\STM32\HAL_SPI.cpp:225:44: error: no matching function for call to 'SPIClass::transfer(uint8_t*, uint8_t ()[512], int)'
225 | SPI.transfer((uint8_t
)buf, &rxBuf, 512);
| ^
In file included from Marlin\src\HAL\STM32\HAL_SPI.cpp:29:
C:\Users\me.platformio\packages\framework-arduinoststm32\libraries\SPI\src/SPI.h:202:21: note: candidate: 'virtual uint8_t SPIClass::transfer(uint8_t)'
202 | virtual uint8_t transfer(uint8_t _data);
| ^~~~~~~~
C:\Users\me.platformio\packages\framework-arduinoststm32\libraries\SPI\src/SPI.h:202:21: note: candidate expects 1 argument, 3 provided
C:\Users\me.platformio\packages\framework-arduinoststm32\libraries\SPI\src/SPI.h:204:18: note: candidate: 'virtual void SPIClass::transfer(void*, size_t)'
204 | virtual void transfer(void *buf, size_t count);
| ^~~~~~~~
C:\Users\johne.platformio\packages\framework-arduinoststm32\libraries\SPI\src/SPI.h:204:18: note: candidate expects 2 arguments, 3 provided
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\STM32G0B1RE_btt\src\src\HAL\STM32\MarlinSPI.cpp.o] Error 1
*** [.pio\build\STM32G0B1RE_btt\src\src\HAL\STM32\HAL_SPI.cpp.o] Error 1
================================== [FAILED] Took 7.45 seconds ==================================

Environment Status Duration


STM32G0B1RE_btt FAILED 00:00:07.451
============================= 1 failed, 0 succeeded in 00:00:07.451 =============================`

trail ridgeBOT
#
AI Help

The error message indicates that there is a problem with the SPI (Serial Peripheral Interface) configuration in your Marlin firmware. Specifically, it seems that the 'spi_mode_e' type is not being recognized, which is causing issues with the SPI transfer function.

To resolve this issue, you can try the following steps:

  1. Double-check your changes to the fan value and make sure you haven't accidentally modified any other parts of the code related to SPI.

  2. Verify that you have the correct version of Marlin firmware for your printer and ensure that you have made any necessary modifications or additions to the platformio.ini or configuration.h files.

  3. Check if there are any conflicting libraries or dependencies that may be causing the issue. Make sure you have the correct versions of the libraries required by your firmware version.

  4. If you made changes to the firmware code, carefully review your modifications and make sure you haven't introduced any syntax errors or typos. P...

kind junco
#

This is on firware that was last built in august. It worked fine then