Skip to content

Marlin FW 2.0.5.4 and HardwareTimer::attachInterrupt error #1120

Closed
@happy77fr

Description

@happy77fr

Hello,

I am trying to compile the marlin FW for a STM32F7 board (Remramv1) but I get the following error:

"C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\tools\xpack-arm-none-eabi-gcc\9.2.1-1.1/bin/arm-none-eabi-g++" -mcpu=cortex-m7 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb "@C:\Temp/sketch/build_opt.h" -c -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -fno-use-cxa-atexit -MMD "-IX:\Marlin" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/avr" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32/LL" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32/usb" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32/OpenAMP" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32/usb/hid" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32/usb/cdc" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Drivers/STM32F7xx_HAL_Driver/Inc" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Drivers/STM32F7xx_HAL_Driver/Src" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/STM32F7xx" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Middlewares/ST/STM32_USB_Device_Library/Core/Src" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Middlewares/OpenAMP" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Middlewares/OpenAMP/open-amp/lib/include" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Middlewares/OpenAMP/libmetal/lib/include" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Middlewares/OpenAMP/virtual_driver" -DSTM32F7xx -DARDUINO=10813 -DARDUINO_REMRAM_V1 -DARDUINO_ARCH_STM32 "-DBOARD_NAME="REMRAM_V1"" -DSTM32F765xx -DUSBCON -DUSBD_VID=0 -DUSBD_PID=0 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\tools\CMSIS\5.5.1/CMSIS/Core/Include/" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Drivers/CMSIS/Device/ST/STM32F7xx/Include/" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\system/Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\tools\CMSIS\5.5.1/CMSIS/DSP/Include" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\variants\REMRAM_V1" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\SrcWrapper\src" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\SPI\src" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\IWatchdog\src" "-IC:\Users\xxxx\OneDrive - Intel Corporation\Documents\Arduino\libraries\U8glib\src" "-IC:\Users\xxxx\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino_571695\src" "-IC:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\SoftwareSerial\src" "C:\Temp\sketch\src\HAL\shared\backtrace\backtrace.cpp" -o "C:\Temp\sketch\src\HAL\shared\backtrace\backtrace.cpp.o"
C:\Temp\sketch\src\HAL\STM32\timers.cpp: In function 'void HAL_timer_enable_interrupt(uint8_t)':
C:\Temp\sketch\src\HAL\STM32\timers.cpp:110:62: error: no matching function for call to 'HardwareTimer::attachInterrupt(void (&)(HardwareTimer*))'
110 | timer_instance[timer_num]->attachInterrupt(Step_Handler);
| ^
In file included from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32/analog.h:45,
from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/board.h:8,
from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/wiring.h:41,
from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/Arduino.h:36,
from c:\temp\sketch\src\hal\shared\marduino.h:36,
from C:\Temp\sketch\src\HAL\STM32\HAL.h:28,
from C:\Temp\sketch\src\HAL\STM32\timers.cpp:25:
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:134:10: note: candidate: 'void HardwareTimer::attachInterrupt(callback_function_t)'
134 | void attachInterrupt(callback_function_t callback); // Attach interrupt callback which will be called upon update event (timer rollover)
| ^~~~~~~~~~~~~~~
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:134:46: note: no known conversion for argument 1 from 'void(HardwareTimer*)' to 'callback_function_t' {aka 'std::function<void()>'}
134 | void attachInterrupt(callback_function_t callback); // Attach interrupt callback which will be called upon update event (timer rollover)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:138:10: note: candidate: 'void HardwareTimer::attachInterrupt(uint32_t, callback_function_t)'
138 | void attachInterrupt(uint32_t channel, callback_function_t callback); // Attach interrupt callback which will be called upon compare match event of specified channel
| ^~~~~~~~~~~~~~~
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:138:10: note: candidate expects 2 arguments, 1 provided
C:\Temp\sketch\src\HAL\STM32\timers.cpp:113:62: error: no matching function for call to 'HardwareTimer::attachInterrupt(void (&)(HardwareTimer*))'
113 | timer_instance[timer_num]->attachInterrupt(Temp_Handler);
| ^
In file included from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/stm32/analog.h:45,
from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/board.h:8,
from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/wiring.h:41,
from C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/Arduino.h:36,
from c:\temp\sketch\src\hal\shared\marduino.h:36,
from C:\Temp\sketch\src\HAL\STM32\HAL.h:28,
from C:\Temp\sketch\src\HAL\STM32\timers.cpp:25:
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:134:10: note: candidate: 'void HardwareTimer::attachInterrupt(callback_function_t)'
134 | void attachInterrupt(callback_function_t callback); // Attach interrupt callback which will be called upon update event (timer rollover)
| ^~~~~~~~~~~~~~~
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:134:46: note: no known conversion for argument 1 from 'void(HardwareTimer*)' to 'callback_function_t' {aka 'std::function<void()>'}
134 | void attachInterrupt(callback_function_t callback); // Attach interrupt callback which will be called upon update event (timer rollover)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:138:10: note: candidate: 'void HardwareTimer::attachInterrupt(uint32_t, callback_function_t)'
138 | void attachInterrupt(uint32_t channel, callback_function_t callback); // Attach interrupt callback which will be called upon compare match event of specified channel
| ^~~~~~~~~~~~~~~
C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\cores\arduino/HardwareTimer.h:138:10: note: candidate expects 2 arguments, 1 provided
Using previously compiled file: C:\Temp\sketch\src\HAL\shared\backtrace\unwarm.cpp.o
Using library SrcWrapper at version 1.0.1 in folder: C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\SrcWrapper
Using library SPI at version 1.0 in folder: C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\SPI
Using library IWatchdog at version 1.0.0 in folder: C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\IWatchdog
Using library U8glib at version 1.19.1 in folder: C:\Users\xxxx\OneDrive - Intel Corporation\Documents\Arduino\libraries\U8glib
Using library arduino_571695 at version 0.7.1 in folder: C:\Users\xxxx\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino_571695
Using library SoftwareSerial at version 1.0 in folder: C:\Users\xxxx\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.8.0\libraries\SoftwareSerial
exit status 1
Error compiling for board 3D printer boards.

Don't get fooled by the 1.8.0 core version. I copied the last core version of today and renamed it to 1.8.0.

Yesturday, I tried with the core 1.9.0 and got the same issue.

I am not quite sure what to do next.
I am using the latest arduino core stm32 and marling fw 2.0.5.4

Thank you for your guidance

C.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions