MKS-Robin-Nano-V3.X icon indicating copy to clipboard operation
MKS-Robin-Nano-V3.X copied to clipboard

Not able to compile if using "M600" and "TFT_LVGL_UI"

Open t0mx opened this issue 3 years ago • 15 comments

Hello,

as I would like to be able to change filament I configured "M600" and was not able to use TFT_LVGL_UI as UI (TFT_COLOR_UI works):

Compiling .pio\build\mks_robin_nano_v3_usb_flash_drive_msc\src\src\lcd\extui\lib\mks_ui\draw_error_message.cpp.o Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp: In function 'void btn_ok_event_cb(lv_obj_t*, lv_event_t)': Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp:167:7: error: 'pause_menu_response' was not declared in this scope; did you mean 'pause_menu_disp'? 167 | pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE; | ^~~~~~~~~~~~~~~~~~~ | pause_menu_disp Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp:167:29: error: 'PAUSE_RESPONSE_EXTRUDE_MORE' was not declared in this scope 167 | pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/boards.h:24, from Marlin\src\lcd\extui\lib\mks_ui../../../../inc/MarlinConfigPre.h:37, from Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp:27: Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp: In function 'void btn_cancel_event_cb(lv_obj_t*, lv_event_t)': Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp:226:35: error: 'pause_menu_response' was not declared in this scope; did you mean 'pause_menu_disp'? 226 | TERN_(ADVANCED_PAUSE_FEATURE, pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT); | ^~~~~~~~~~~~~~~~~~~ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:443:26: note: in definition of macro 'THIRD' 443 | #define THIRD(a,b,c,...) c | ^ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:192:29: note: in expansion of macro '___TERN' 192 | #define __TERN(T,V...) ___TERN(_CAT(_NO,T),V) // Prepend '_NO' to get '_NOT_0' or '_NOT_1' | ^~~~~~~ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:191:29: note: in expansion of macro '__TERN' 191 | #define _TERN(E,V...) TERN(CAT(T,E),V) // Prepend 'T' to get 'T_0' or 'T_1' | ^~~~~~ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:190:29: note: in expansion of macro 'TERN' 190 | #define TERN(O,A) TERN(ENA_1(O),,A) // OPTION converted to A or '' | ^~~~~ Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp:226:5: note: in expansion of macro 'TERN' 226 | TERN(ADVANCED_PAUSE_FEATURE, pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT); | ^~~~~ Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp:226:57: error: 'PAUSE_RESPONSE_RESUME_PRINT' was not declared in this scope 226 | TERN(ADVANCED_PAUSE_FEATURE, pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:443:26: note: in definition of macro 'THIRD' 443 | #define THIRD(a,b,c,...) c | ^ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:192:29: note: in expansion of macro '___TERN' 192 | #define __TERN(T,V...) ___TERN(_CAT(_NO,T),V) // Prepend '_NO' to get '_NOT_0' or '_NOT_1' | ^~~~~~~ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:191:29: note: in expansion of macro '__TERN' 191 | #define _TERN(E,V...) _TERN(CAT(T,E),V) // Prepend 'T' to get 'T_0' or 'T_1' | ^~~~~~ Marlin\src\lcd\extui\lib\mks_ui../../../../inc/../core/macros.h:190:29: note: in expansion of macro 'TERN' 190 | #define TERN(O,A) TERN(ENA_1(O),,A) // OPTION converted to A or '' | ^~~~~ Marlin\src\lcd\extui\lib\mks_ui\draw_dialog.cpp:226:5: note: in expansion of macro 'TERN' 226 | TERN(ADVANCED_PAUSE_FEATURE, pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT); | ^~~~~ *** [.pio\build\mks_robin_nano_v3_usb_flash_drive_msc\src\src\lcd\extui\lib\mks_ui\draw_dialog.cpp.o] Error 1

Any idea?

Sorry, looks really ugly, no Idea why, not so familiar with github. Now removed code tags.

t0mx avatar Apr 11 '21 21:04 t0mx

It's a classic... LVGL can't be compiled with M600. You must use substitute M600 by M25. I can't understand the reason to don't doing a bit of work here by MKS.

ColdBeer72 avatar Apr 13 '21 06:04 ColdBeer72

Thanks, good to know... Is there anywhere more information about this issue? How to substitute M600 by M25? Must it also be known to the slicer or is it transparent for the slicer?

t0mx avatar Apr 14 '21 11:04 t0mx

You need to change this in configuration.h: #define FILAMENT_RUNOUT_SCRIPT "M600" by this: #define FILAMENT_RUNOUT_SCRIPT "M25"

It's not transparent for the slicer. I use CURA, so you must go to extensions // postprocessing // modify gcode. Right there, there is an option called "Filament change", but you can't use it now, because it uses M600. But you could use "Pause at Height", where you could select which type of pause to use.

ColdBeer72 avatar Apr 15 '21 16:04 ColdBeer72

Thanks, maybe I'll give them a chance but currently I'm doing well using Marlin Color UI.

Hopefully MKS can fix this problem soon!

Found in another Repo: https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware/issues/152 https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware/issues/100

t0mx avatar Apr 17 '21 09:04 t0mx

Друзья, включение M600 возможно для платы Robin Nano v2 +ts35? Скажите пожалуйста как сделать!

artdezigner avatar Nov 30 '21 18:11 artdezigner

@MKS-Sean @mks-viva Is anyone working to enable M600 with the Robin Nano V2 ?

n9jcv avatar Mar 17 '22 04:03 n9jcv

I have the same problem

rouhit110 avatar Jun 22 '22 16:06 rouhit110

I think, it won't be changed anymore.

t0mx avatar Jun 22 '22 17:06 t0mx

Well if they do not fix, vote with your wallets. Do not buy MKS in the future

n9jcv avatar Jun 22 '22 17:06 n9jcv

Unfortunately, MKS support services are very poor I finally uncomment #define TFT_COLOR_UI

rouhit110 avatar Jun 22 '22 19:06 rouhit110

That's also my opinion. They make good electronics, but are not able to complete their work to integrate their UI in Marlin.

But they could at least state: we are not going to fix that, use either the workaround using M25 or don't use TFT_LVGL_UI at all.

t0mx avatar Jun 23 '22 11:06 t0mx

eneble EMERGENCY_PARSER and HOST_PROMPT_SUPPORT - probably marlin fault, there is OR in comment, but AND in Conditionals_post.h, line 3433 (marlin 2.1.1), same line is probably responsible for not recognising TFT.

  • there is fault in draw_dialog.cpp - add advanced_pause_support #if ANY(PARK_HEAD_ON_PAUSE, ADVANCED_PAUSE_FEATURE) #include "../../../feature/pause.h" #endif

barkh avatar Oct 29 '22 12:10 barkh

I Have enabled NOZZLE_PARK_FEATURE, EMERGENCY_PARSER, HOST_ACTION_COMMANDS and HOST_PROMPT_SUPPORT in Configuration.h and Configuration_adv.h and at least it is compiling I'll be checking if it is working

danielscatigno-ncpc avatar Mar 30 '23 17:03 danielscatigno-ncpc

I'm stuck at this part too and I'm getting the same error. I updated the part from "M600" to "M25", but it still didn't work, I got the same error. What am I missing?

ysnuysl avatar Dec 27 '23 21:12 ysnuysl

You miss a little step. You have to use "TFT_COLOR_UI" with Filament runout detection

Mr-Tri-Luc avatar Jun 01 '24 16:06 Mr-Tri-Luc