MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.28k stars 19.24k forks source link

[BUG] HOMING_FEEDRATE_XY was not declared in this scope #20618

Closed reallymello closed 3 years ago

reallymello commented 3 years ago

Bug Description

When compiling with platformio I get errors

In file included from Marlin\src\lcd\dwin\e3v2../../../inc/MarlinConfig.h:47:0, from Marlin\src\lcd\dwin\e3v2\rotary_encoder.h:32, from Marlin\src\lcd\dwin\e3v2\dwin.h:29, from Marlin\src\lcd\dwin\e3v2\dwin.cpp:31: Compiling .pio\build\STM32F103RET6_creality\src\src\libs\numtostr.cpp.o Marlin\src\lcd\dwin\e3v2\dwin.cpp: In function 'void HMI_Move_X()': Marlin\src\lcd\dwin\e3v2\dwin.cpp:1167:58: error: 'HOMING_FEEDRATE_XY' was not declared in this scope planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp:1167:58: note: suggested alternative: 'HOMING_FEEDRATE_MM_M' planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp: In function 'void HMI_Move_Y()': Marlin\src\lcd\dwin\e3v2\dwin.cpp:1190:58: error: 'HOMING_FEEDRATE_XY' was not declared in this scope planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp:1190:58: note: suggested alternative: 'HOMING_FEEDRATE_MM_M' planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp: In function 'void HMI_Move_Z()': Marlin\src\lcd\dwin\e3v2\dwin.cpp:1213:58: error: 'HOMING_FEEDRATE_Z' was not declared in this scope planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_Z), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp:1213:58: note: suggested alternative: 'HOMING_FEEDRATE_MM_M' planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_Z), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ *** [.pio\build\STM32F103RET6_creality\src\src\lcd\dwin\e3v2\dwin.cpp.o] Error 1

Configuration Files

myConfigurations.zip

I'm using the configuration files from https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.0.x/config/examples/Creality/Ender-3%20V2

Steps to Reproduce

  1. Cloned latest Marlin bugfix branch
  2. Opened Marlin folder in VSCode
  3. Using the PlatformIO plugin opened a project to the folder containing platformio.ini
  4. Modified the [platformio] section in platformio.ini to be

[platformio] src_dir = Marlin boards_dir = buildroot/share/PlatformIO/boards default_envs = STM32F103RET6_creality include_dir = Marlin

  1. Overwrote the config files in the Marlin subdirectory with the ones from https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.0.x/config/examples/Creality/Ender-3%20V2
  2. Clicked the check icon on the bottom of VSCode to compile.

Expected behavior: Successful compilation message

Actual behavior:

In file included from Marlin\src\lcd\dwin\e3v2../../../inc/MarlinConfig.h:47:0, from Marlin\src\lcd\dwin\e3v2\rotary_encoder.h:32, from Marlin\src\lcd\dwin\e3v2\dwin.h:29, from Marlin\src\lcd\dwin\e3v2\dwin.cpp:31: Compiling .pio\build\STM32F103RET6_creality\src\src\libs\numtostr.cpp.o Marlin\src\lcd\dwin\e3v2\dwin.cpp: In function 'void HMI_Move_X()': Marlin\src\lcd\dwin\e3v2\dwin.cpp:1167:58: error: 'HOMING_FEEDRATE_XY' was not declared in this scope planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp:1167:58: note: suggested alternative: 'HOMING_FEEDRATE_MM_M' planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp: In function 'void HMI_Move_Y()': Marlin\src\lcd\dwin\e3v2\dwin.cpp:1190:58: error: 'HOMING_FEEDRATE_XY' was not declared in this scope planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp:1190:58: note: suggested alternative: 'HOMING_FEEDRATE_MM_M' planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_XY), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp: In function 'void HMI_Move_Z()': Marlin\src\lcd\dwin\e3v2\dwin.cpp:1213:58: error: 'HOMING_FEEDRATE_Z' was not declared in this scope planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_Z), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ Marlin\src\lcd\dwin\e3v2\dwin.cpp:1213:58: note: suggested alternative: 'HOMING_FEEDRATE_MM_M' planner.buffer_line(current_position, MMM_TO_MMS(HOMING_FEEDRATE_Z), active_extruder); ^ Marlin\src\lcd\dwin\e3v2../../../inc/../core/types.h:76:43: note: in definition of macro 'MMM_TO_MMS'

define MMM_TO_MMS(MM_M) feedRate_t(float(MM_M) / 60.0f)

^~~~ *** [.pio\build\STM32F103RET6_creality\src\src\lcd\dwin\e3v2\dwin.cpp.o] Error 1 ============================================== [FAILED] Took 28.22 seconds ==============================================

Additional Information

I'm using Windows 10 to compile this on if it matters.

image

sjasonsmith commented 3 years ago

This is a mismatch between Marlin and example versions.

Your Marlin source is not the latest bugfix-2.0.x source. The HOMING_FEEDRATE_XY and HOMING_FEEDRATE_Z constants no longer exist anywhere in the Marlin codebase.

This Issue Queue is for Marlin bug reports and development-related issues, and we prefer not to handle user-support questions here. (As noted on this page.) For best results getting help with configuration and troubleshooting, please use the following resources:

After seeking help from the community, if the consensus points to a bug in Marlin, then you should post a bug report.

sjasonsmith commented 3 years ago

To correct my earlier statement: They do still exist, but only in SanityChecks.h to tell you that they should no longer be used.

github-actions[bot] commented 3 years ago

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.