Spindle speed bug fix.
- Spindle speed updating wasn’t working in the g-code parser due to some borked up logic on my part. Fixed it and should be operating as intended for both normal and laser spindle modes. - Elaborated a little more on the new sleep mode in the documentation.
This commit is contained in:
parent
d1037268c8
commit
6ab3cfbe7d
@ -1,3 +1,41 @@
|
|||||||
|
----------------
|
||||||
|
Date: 2016-10-11
|
||||||
|
Author: Sonny Jeon
|
||||||
|
Subject: v1.1c: New sleep mode. Laser mode and other bug fixes.
|
||||||
|
|
||||||
|
- New $SLP sleep mode that will disable spindle, coolant, and stepper
|
||||||
|
enable pins. Allows users to disable their steppers without having to
|
||||||
|
alter their settings. A reset is required to exit and re-initializes in
|
||||||
|
alarm state.
|
||||||
|
|
||||||
|
- Laser mode wasn’t updating the spindle PWM correctly (effected
|
||||||
|
spindle speed overrides) and not checking for modal states either.
|
||||||
|
Fixed both issues.
|
||||||
|
|
||||||
|
- While in laser mode, parking motions are ignored, since the power off
|
||||||
|
delay with the retract motion would burn the material. It will just
|
||||||
|
turn off and not move. A restore immediately powers up and resumes. No
|
||||||
|
delays.
|
||||||
|
|
||||||
|
- Changing rpm max and min settings did not update the spindle PWM
|
||||||
|
calculations. Now fixed.
|
||||||
|
|
||||||
|
- Increased default planner buffer from 16 to 17 block. It seems to be
|
||||||
|
stable, but need to monitor this carefully.
|
||||||
|
|
||||||
|
- Removed software debounce routine for limit pins. Obsolete.
|
||||||
|
|
||||||
|
- Fixed a couple parking motion bugs. One related to restoring
|
||||||
|
incorrectly and the other the parking rate wasn’t compatible with the
|
||||||
|
planner structs.
|
||||||
|
|
||||||
|
- Fixed a bug caused by refactoring the critical alarms in a recent
|
||||||
|
push. Soft limits weren’t invoking a critical alarm.
|
||||||
|
|
||||||
|
- Updated the documentation with the new sleep feature and added some
|
||||||
|
more details to the change summary.
|
||||||
|
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
Date: 2016-09-28
|
Date: 2016-09-28
|
||||||
Author: Sonny Jeon
|
Author: Sonny Jeon
|
||||||
|
@ -250,7 +250,8 @@ Feedback messages provide non-critical information on what Grbl is doing, what i
|
|||||||
|
|
||||||
- `[MSG:Restoring defaults]` - Appears as an acknowledgement message when restoring EEPROM defaults via a `$RST=` command. An 'ok' still appears immediately after to denote the `$RST=` was parsed and executed.
|
- `[MSG:Restoring defaults]` - Appears as an acknowledgement message when restoring EEPROM defaults via a `$RST=` command. An 'ok' still appears immediately after to denote the `$RST=` was parsed and executed.
|
||||||
|
|
||||||
- `[MSG:Sleeping]` - Appears as an acknowledgement message when Grbl's sleep mode is invoked by issuing a `$SLP` command when idle. Note that Grbl-Mega may invoke this at any time when the sleep timer option has been enabled and the timeout has been exceeded. Grbl may only be exited by a reset in the sleep state and will automatically enter an alarm state since the steppers were disabled.
|
- `[MSG:Sleeping]` - Appears as an acknowledgement message when Grbl's sleep mode is invoked by issuing a `$SLP` command when in IDLE or ALARM states. Note that Grbl-Mega may invoke this at any time when the sleep timer option has been enabled and the timeout has been exceeded. Grbl may only be exited by a reset in the sleep state and will automatically enter an alarm state since the steppers were disabled.
|
||||||
|
- NOTE: Sleep will also invoke the parking motion, if it's enabled. However, if sleep is commanded during an ALARM, Grbl will not park and will simply de-energize everything and go to sleep.
|
||||||
|
|
||||||
- **Queried Feedback Messages:**
|
- **Queried Feedback Messages:**
|
||||||
|
|
||||||
|
14
grbl/gcode.c
14
grbl/gcode.c
@ -900,11 +900,15 @@ uint8_t gc_execute_line(char *line)
|
|||||||
// [4. Set spindle speed ]:
|
// [4. Set spindle speed ]:
|
||||||
if (gc_state.spindle_speed != gc_block.values.s) {
|
if (gc_state.spindle_speed != gc_block.values.s) {
|
||||||
#ifdef VARIABLE_SPINDLE
|
#ifdef VARIABLE_SPINDLE
|
||||||
// Do not stop motion if in laser mode and a G1, G2, or G3 motion is being executed.
|
if (gc_state.modal.spindle != SPINDLE_DISABLE) {
|
||||||
if ( (bit_isfalse(settings.flags,BITFLAG_LASER_MODE) && (axis_command == AXIS_COMMAND_MOTION_MODE) &&
|
if ( bit_istrue(settings.flags, BITFLAG_LASER_MODE) ) {
|
||||||
((gc_block.modal.motion == MOTION_MODE_LINEAR ) || (gc_block.modal.motion == MOTION_MODE_CW_ARC) || (gc_block.modal.motion == MOTION_MODE_CCW_ARC)) ) ) {
|
// Do not stop motion if in laser mode and a G1, G2, or G3 motion is being executed.
|
||||||
// Update running spindle only if not in check mode and not already enabled.
|
if (!( (axis_command == AXIS_COMMAND_MOTION_MODE) && ((gc_block.modal.motion == MOTION_MODE_LINEAR ) || (gc_block.modal.motion == MOTION_MODE_CW_ARC) || (gc_block.modal.motion == MOTION_MODE_CCW_ARC)) ) ) {
|
||||||
if (gc_state.modal.spindle != SPINDLE_DISABLE) { spindle_run(gc_state.modal.spindle, gc_block.values.s); }
|
spindle_run(gc_state.modal.spindle, gc_block.values.s);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
spindle_run(gc_state.modal.spindle, gc_block.values.s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (gc_state.modal.spindle != SPINDLE_DISABLE) { spindle_run(gc_state.modal.spindle, gc_block.values.s); }
|
if (gc_state.modal.spindle != SPINDLE_DISABLE) { spindle_run(gc_state.modal.spindle, gc_block.values.s); }
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
// Grbl versioning system
|
// Grbl versioning system
|
||||||
#define GRBL_VERSION "1.1c"
|
#define GRBL_VERSION "1.1c"
|
||||||
#define GRBL_VERSION_BUILD "20161011"
|
#define GRBL_VERSION_BUILD "20161012"
|
||||||
|
|
||||||
// Define standard libraries used by Grbl.
|
// Define standard libraries used by Grbl.
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user