PronterFace M105 work around (#9227)

PronterFace keeps sending M105 requests during long operations like G29 P1, G29 P2, G29 P4 and G26. The serial buffer fills up before the operation is complete. The problem is, a corrupted command gets executed. It is very typical for the M105 to turn into a M1 (actually... M1M105 is typical).

This causes the printer to say "Click to resume..."

This is a temporary fix until we figure out the correct way to resolve the issue.

More work needed for G26.
This commit is contained in:
Roxy-3D
2018-01-17 22:51:19 -06:00
committed by GitHub
parent 80c1afde0f
commit cbdbeb3e69
5 changed files with 32 additions and 16 deletions

View File

@@ -34,6 +34,7 @@
#include "temperature.h"
#include "ultralcd.h"
#include "gcode.h"
#include "serial.h"
#include "bitmap_flags.h"
#if ENABLED(MESH_BED_LEVELING)
@@ -499,6 +500,9 @@
SERIAL_EOL();
}
idle();
MYSERIAL.flush(); // G26 takes a long time to complete. PronterFace can
// over run the serial character buffer with M105's without
// this fix
}
#if ENABLED(ULTRA_LCD)
}
@@ -521,8 +525,11 @@
SERIAL_EOL();
}
idle();
}
MYSERIAL.flush(); // G26 takes a long time to complete. PronterFace can
// over run the serial character buffer with M105's without
// this fix
}
#if ENABLED(ULTRA_LCD)
lcd_reset_status();
lcd_quick_feedback(true);
@@ -820,6 +827,9 @@
if (look_for_lines_to_connect())
goto LEAVE;
}
MYSERIAL.flush(); // G26 takes a long time to complete. PronterFace can
// over run the serial character buffer with M105's without
// this fix
} while (--g26_repeats && location.x_index >= 0 && location.y_index >= 0);
LEAVE: