Compiling Marlin 2.0.9.3 problems
May 25, 2022 01:32AM
Hello, I have been attempting to compile Marlin 2.0.9.3 for use with my Anet A8. I have used the configuration files downloaded from Github and selected the Anet A8 files from those and pasted them in to my Marlin 2.0.9.3 folder. I can se from the files this configuration file was prepared by Bob Kuhn who I see is regularly represented in these chat rooms. My first problem is the following at line 22
#pragma once
#error "Don't build with import-2.0.x configurations!"
#error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version."

If I understand it is warning not to use the Config files included with the Marlin download which I understand. The second line is a bit more confusing as to what Config files I should be using. I have downloaded the Latest 2.0 marlin bugfix and config files bugfix and had no success with any of those so am now thinking I need to "Match my Marlin version" But how do I do that?

I am obviously doing something totally wrong here with my downloads, matchups and conversions but I am at a loss as to how to resolve them. If anyone has a suggestion for two downloads that will match and that might compile with my Anet ATmega1284P board (Sanguino1284P) then I would love to hear from you as currently I am getting nowhere but frustrated.

Thanks in advance

A bit more research and following the deciphered info I get has lead me to at least matching up the Config Version file with the Marlin Version file so have made some progress however not all there yet as when I compile the firmware I get the following message

Compiling .pio\build\sanguino1284p_optimized\src\src\lcd\menu\menu_mixer.cpp.o
Marlin\src\lcd\marlinui.cpp: In static member function 'static void ManualMove::task()':
Marlin\src\lcd\marlinui.cpp:796:60: error: 'manual_feedrate_mm_s' was not declared in this scope
const feedRate_t fr_mm_s = (axis < LOGICAL_AXES) ? manual_feedrate_mm_s[axis] : XY_PROBE_FEEDRATE_MM_S;
^~~~~~~~~~~~~~~~~~~~
feedrate_mm_s
*** [.pio\build\sanguino1284p_optimized\src\src\lcd\marlinui.cpp.o] Error 1


And this was using the Sanguino1284p_optimized although I am tottaly at a loss at what the optimized bit means. If I use the Sanguino1284p I get the following

Marlin\src\lcd\marlinui.cpp: In static member function 'static void ManualMove::task()':
Marlin\src\lcd\marlinui.cpp:796:60: error: 'manual_feedrate_mm_s' was not declared in this scope
const feedRate_t fr_mm_s = (axis < LOGICAL_AXES) ? manual_feedrate_mm_s[axis] : XY_PROBE_FEEDRATE_MM_S;
^~~~~~~~~~~~~~~~~~~~
Marlin\src\lcd\marlinui.cpp:796:60: note: suggested alternative: 'feedrate_mm_s'
const feedRate_t fr_mm_s = (axis < LOGICAL_AXES) ? manual_feedrate_mm_s[axis] : XY_PROBE_FEEDRATE_MM_S;
^~~~~~~~~~~~~~~~~~~~
feedrate_mm_s
*** [.pio\build\sanguino1284p\src\src\lcd\marlinui.cpp.o] Error 1

I hope this sheds some light on my problem. It is probably something very obvious and staring me in the face but I cant see it unfortunately.
Les

Edited 1 time(s). Last edit at 05/25/2022 02:27AM by Leslieval.
Re: Compiling Marlin 2.0.9.3 problems
May 25, 2022 02:15AM
go to [github.com]

As noted on that page
"Before downloading configurations in ZIP format using the CODE button above you must select the correct branch for your version of Marlin."

If you use the Code | Download Zip button on the top right you need to select the correct software branch first.
The default is import and you get that error
Use the pull down menu top right that says import 2.0.x and change it to the version of marlin you download. Ie release-2.0.9.3
Then use the Code | Download Zip button

Or use one of the direct download links listed further down the page for every version imaginable.

Edited 6 time(s). Last edit at 05/25/2022 02:21AM by Dust.
Re: Compiling Marlin 2.0.9.3 problems
May 25, 2022 03:07AM
Dust, thank you for your reply and help. After my post I did re-read the github page and as you have siad it was pretty clear. I had previous to your message downloaded the configs for 2.0.9.3 from the drop down list and received the error I posted in an edit to my earlier post. I then used the spreadsheet option on github and downloaded the zip for 2.0.9.3 and used that in a compile and unfortunately received the following error which I believe is the same as the previous

Marlin\src\lcd\marlinui.cpp:796:60: error: 'manual_feedrate_mm_s' was not declared in this scope
const feedRate_t fr_mm_s = (axis < LOGICAL_AXES) ? manual_feedrate_mm_s[axis] : XY_PROBE_FEEDRATE_MM_S;
^~~~~~~~~~~~~~~~~~~~
Marlin\src\lcd\marlinui.cpp:796:60: note: suggested alternative: 'feedrate_mm_s'
const feedRate_t fr_mm_s = (axis < LOGICAL_AXES) ? manual_feedrate_mm_s[axis] : XY_PROBE_FEEDRATE_MM_S;
^~~~~~~~~~~~~~~~~~~~
feedrate_mm_s
*** [.pio\build\sanguino1284p\src\src\lcd\marlinui.cpp.o] Error 1

Is this feedrate problem something I can fix or is it best left to those eho know what they are doing? Is it really a feedrate problem at all and just something else causing the problem. Should I try an earlier iteration say 2.0.9 with appropriate Marlin download of course. I really am not fussed about using the very latest just want to get away from my current Bugfix version to a known stable version.
Cheers Les
Re: Compiling Marlin 2.0.9.3 problems
May 25, 2022 04:00AM
Your running marlin 2.0.x not release 2.0.9.3, it is slightly newer than release 2.0.9.3

This needs a small change to Configuration_adv.h

Search for the line
#if ANY(HAS_LCD_MENU, EXTENSIBLE_UI, HAS_DWIN_E3V2)

and replace it with

#if HAS_MANUAL_MOVE_MENU
Re: Compiling Marlin 2.0.9.3 problems
May 25, 2022 06:39AM
Dust,
GENIUS. Made the change you gave me and it worked perfectly. Then edited configuration.h and enabled mesh-bed-levellin, Lcd-menu, level after g28 and it all compiled perfectly.
Thank you, thank you, thank you.
I have been wrestling with this and other problems in compiling Marlin using VSCode and Platformio off and on for a year but being forced to isolate as i fight off covid means i have had a few solid hours to put in to it and was able to get it to a point where i could ask a partially sensible question and now you solved it in 5 minutes. Fantastic and fantastic RepRap forum.
Re: Compiling Marlin 2.0.9.3 problems
May 25, 2022 09:27PM
Dust a follow up question if ok. I was fortunate to have you provide the advice and details for changing the line in the Configuration_adv.h file resolving my compiling issue with the marlin version and configuration files i had downloaded from Github. I am wondering what i had done incorrectly to require this code line change you provided or what i would be better to do in the future when downloading a newer version of Marlin so as not to require specialist advice from a knowledgeable source such as you to make it compile as that advice may not always be readily available.
Hope you can advise….again!
Cheers
Re: Compiling Marlin 2.0.9.3 problems
May 25, 2022 10:17PM
The marlin download page [marlinfw.org] is actually not 100% accurate (and deliberately so)



It says 2.0.9.3 but the download link is to 2.0.x.zip [github.com]
The real link is 2.0.9.3.zip [github.com] but you really should be using 2.0.x

Normally this is a good idea as you want latest version with additional patches, ie 2.0.x
But this version of 2.0.x requires a 2.0.x config file, which doesn't exists (its mid way between 2.0.9.3 and bugfix)

Will all be sorted on next 2.0.9.4 release

Edited 2 time(s). Last edit at 05/25/2022 10:18PM by Dust.
Re: Compiling Marlin 2.0.9.3 problems
May 26, 2022 03:35AM
Dust
Thank you for the explanation, now I understand.
Not important in some ways but I also notice the line 77
#define STRING_CONFIG_H_AUTHOR "(Bob Kuhn, Anet config)"
does not seem to translate to the LCD on my printer nor does it appear with an M115.
Cheers
Re: Compiling Marlin 2.0.9.3 problems
May 26, 2022 03:42AM
Its is printed on power-up/reboot over serial.

SERIAL_ECHOLNPGM("Marlin " SHORT_BUILD_VERSION);
  #if defined(STRING_DISTRIBUTION_DATE) && defined(STRING_CONFIG_H_AUTHOR)
    SERIAL_ECHO_MSG(
      " Last Updated: " STRING_DISTRIBUTION_DATE
      " | Author: " STRING_CONFIG_H_AUTHOR
    );
  #endif
  SERIAL_ECHO_MSG(" Compiled: " __DATE__);

Edited 2 time(s). Last edit at 05/26/2022 03:43AM by Dust.
Re: Compiling Marlin 2.0.9.3 problems
May 31, 2022 10:29AM
Hi Dust. I've encountered the same error when trying to compile 2.0.9.3. My Configuration_adv.h contains the following block:

#if HAS_MANUAL_MOVE_MENU
  #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel
  #define FINE_MANUAL_MOVE 0.025    // (mm) Smallest manual move (< 0.1mm) applying to Z on most machines
  #if IS_ULTIPANEL
    #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position"
    #define ULTIPANEL_FEEDMULTIPLY  // Encoder sets the feedrate multiplier on the Status Screen
  #endif
#endif

but I still get the error that manual_feedrate_mm_s is undefined.

Any ideas? Thanks for your help.
Re: Compiling Marlin 2.0.9.3 problems
May 31, 2022 02:45PM
Is HAS_MANUAL_MOVE_MENU enabled?
Re: Compiling Marlin 2.0.9.3 problems
May 31, 2022 05:12PM
I don’t think so. I don’t see it defined in either of the config files. Where should I look?
Re: Compiling Marlin 2.0.9.3 problems
May 31, 2022 06:21PM
Try adding #define HAS_MANUAL_MOVE_MENU 1 just before the IF statement.
Re: Compiling Marlin 2.0.9.3 problems
May 31, 2022 07:01PM
#if ANY(HAS_MARLINUI_MENU, EXTENSIBLE_UI, HAS_DWIN_E3V2)
#define HAS_MANUAL_MOVE_MENU 1
#endif

Ie it is automatically enabled when you have an LCD that requires it.
Re: Compiling Marlin 2.0.9.3 problems
May 31, 2022 08:07PM
I'm wondering if this is one of the cases where WHEN it's defined makes a difference. Worst case it just gives a warning about a duplicate definition.

Sorry - I was confused. I hadn't noticed a new user/problem jumped in.

Edited 2 time(s). Last edit at 05/31/2022 08:17PM by bob.kuhn@att.net.
Re: Compiling Marlin 2.0.9.3 problems
June 01, 2022 06:17AM
Thanks Bob and Dust for the quick responses. If I use the conditional,

#if ANY(HAS_MARLINUI_MENU, EXTENSIBLE_UI, HAS_DWIN_E3V2)

I get the same error. If I simply declare the constant with,

#define HAS_MANUAL_MOVE_MENU 1

it does compile.

This all has me a bit confused. Is not 9.0.3 supposed to be tested and stable?
Re: Compiling Marlin 2.0.9.3 problems
June 01, 2022 01:05PM
Marlin is always changing with bug fixes, improvements and new features. 2.0.9.3 is a snapshot that's had more time for testing and all known major bugs fixed.
Sorry, only registered users may post in this forum.

Click here to login