|
|
@ -2728,18 +2728,18 @@ inline void gcode_G0_G1() {
|
|
|
|
* G4: Dwell S<seconds> or P<milliseconds>
|
|
|
|
* G4: Dwell S<seconds> or P<milliseconds>
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
inline void gcode_G4() {
|
|
|
|
inline void gcode_G4() {
|
|
|
|
millis_t codenum = 0;
|
|
|
|
millis_t dwell_ms = 0;
|
|
|
|
|
|
|
|
|
|
|
|
if (code_seen('P')) codenum = code_value_millis(); // milliseconds to wait
|
|
|
|
if (code_seen('P')) dwell_ms = code_value_millis(); // milliseconds to wait
|
|
|
|
if (code_seen('S')) codenum = code_value_millis_from_seconds(); // seconds to wait
|
|
|
|
if (code_seen('S')) dwell_ms = code_value_millis_from_seconds(); // seconds to wait
|
|
|
|
|
|
|
|
|
|
|
|
stepper.synchronize();
|
|
|
|
stepper.synchronize();
|
|
|
|
refresh_cmd_timeout();
|
|
|
|
refresh_cmd_timeout();
|
|
|
|
codenum += previous_cmd_ms; // keep track of when we started waiting
|
|
|
|
dwell_ms += previous_cmd_ms; // keep track of when we started waiting
|
|
|
|
|
|
|
|
|
|
|
|
if (!lcd_hasstatus()) LCD_MESSAGEPGM(MSG_DWELL);
|
|
|
|
if (!lcd_hasstatus()) LCD_MESSAGEPGM(MSG_DWELL);
|
|
|
|
|
|
|
|
|
|
|
|
while (PENDING(millis(), codenum)) idle();
|
|
|
|
while (PENDING(millis(), dwell_ms)) idle();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BEZIER_CURVE_SUPPORT)
|
|
|
|
#if ENABLED(BEZIER_CURVE_SUPPORT)
|
|
|
|