Browse Source

🚸 Tweak MKS UI G-code console

vanilla_fb_2.0.x
Scott Lahteine 3 years ago
committed by Scott Lahteine
parent
commit
af08f16efc
  1. 2
      Marlin/src/gcode/queue.h
  2. 2
      Marlin/src/lcd/extui/mks_ui/draw_gcode.cpp
  3. 10
      Marlin/src/lcd/extui/mks_ui/draw_keyboard.cpp

2
Marlin/src/gcode/queue.h

@ -133,7 +133,7 @@ public:
* Enqueue command(s) to run from SRAM. Drained by process_injected_command().
* Aborts the current SRAM queue so only use for one or two commands.
*/
static inline void inject(char * const gcode) {
static inline void inject(const char * const gcode) {
strncpy(injected_commands, gcode, sizeof(injected_commands) - 1);
}

2
Marlin/src/lcd/extui/mks_ui/draw_gcode.cpp

@ -82,8 +82,6 @@ void lv_serial_capt_hook(void * userPointer, uint8_t c) {
void lv_eom_hook(void *) {
// Message is done, let's remove the hook now
MYSERIAL1.setHook();
// We are back from the keyboard, so let's redraw ourselves
draw_return_ui();
}
void lv_draw_gcode(bool clear) {

10
Marlin/src/lcd/extui/mks_ui/draw_keyboard.cpp

@ -164,13 +164,13 @@ static void lv_kb_event_cb(lv_obj_t *kb, lv_event_t event) {
draw_return_ui();
break;
case GCodeCommand:
if (!queue.ring_buffer.full(3)) {
// Hook anything that goes to the serial port
if (ret_ta_txt[0] && !queue.ring_buffer.full(3)) {
// Hook for the next bytes to arrive from the serial port
MYSERIAL1.setHook(lv_serial_capt_hook, lv_eom_hook, 0);
queue.enqueue_one_now(ret_ta_txt);
// Run the command as soon as possible
queue.inject(ret_ta_txt);
}
lv_clear_keyboard();
// draw_return_ui is called in the end of message hook
goto_previous_ui();
break;
default: break;
}

Loading…
Cancel
Save