MKS-Robin-Nano-V3.X
MKS-Robin-Nano-V3.X copied to clipboard
Not able to compile if using "M600" and "TFT_LVGL_UI"
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 '
Any idea?
Sorry, looks really ugly, no Idea why, not so familiar with github. Now removed code tags.
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.
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?
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.
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
Друзья, включение M600 возможно для платы Robin Nano v2 +ts35? Скажите пожалуйста как сделать!
@MKS-Sean @mks-viva Is anyone working to enable M600 with the Robin Nano V2 ?
I have the same problem
I think, it won't be changed anymore.
Well if they do not fix, vote with your wallets. Do not buy MKS in the future
Unfortunately, MKS support services are very poor I finally uncomment #define TFT_COLOR_UI
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.
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
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
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?
You miss a little step. You have to use "TFT_COLOR_UI" with Filament runout detection