grbl-imbus/grbl
Sonny Jeon b75e5571ee Dual motor support for self-squaring gantry homing.
- New dual motor support feature for gantry CNC machines. An axis motor is  efficiently mirrored to a dedicated set of step and direction pins (D12/D13 or A3/A4) with no detectable loss of performance. Primarily used to independently home both sides of a dual-motor gantry with a pair of limit switches (second shared with Z-axis limit pin). When the limit switches are setup correctly, Grbl will self-square the gantry (and stay square if $1=255 is programmed). Beware use at your own risk! Grbl is not responsible for any damage to any machines.

- Dual axis motors is only supported on the X-axis or Y-axis. And deletes the spindle direction(D13) and optional coolant mist (A4) features to make room for the dual motor step and direction pins.

- Dual axis homing will automatically abort homing if one limit switch triggers and travels more than 5% (default) of the non-dual axis max travel setting. For example, if the X-axis has dual motors and one X-axis triggers during homing, Grbl will abort 5% of the Y-axis max travel and the other X-axis limit fails to trigger. This will help keep any misconfigurations or failed limit switches from damaging the machine, but not completely eliminate this risk. Please take all precautions and test thouroughly before using this.

- Dual axis motors supports two configurations:

- Support for Arduino CNC shield clones. For these, step/dir on pins D12/D13, and spindle enable is moved to A3 (old coolant enable), while coolant enable is moved to A4 (SDA pin). Variable spindle/laser mode option is NOT supported for this shield.

- Support for Protoneer CNC Shield v3.51. Step/dir on pins A3/A4, and  coolant enable is moved to D13 (old spindle direction pin). Variable spindle/laser mode option IS supported for this shield.

- Added Bob's CNC E3 and E4 CNC machine defaults.
2019-07-30 21:51:49 -04:00
..
examples Grbl v1.0e huge beta release. Overrides and new reporting. 2016-09-21 19:08:24 -06:00
config.h Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
coolant_control.c Spindle/coolant rare bug fixes. Free more flash. 2018-06-14 10:10:58 -06:00
coolant_control.h Spindle/coolant rare bug fixes. Free more flash. 2018-06-14 10:10:58 -06:00
cpu_map.h Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
defaults.h Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
eeprom.c File re-organization. New Makefile. 2015-02-10 19:30:40 -07:00
eeprom.h Homing alarm upon no switch. Licensing update. 2015-02-15 17:36:08 -07:00
gcode.c Update gcode.c 2018-11-12 08:20:45 -07:00
gcode.h Tidying up parking override control implementation 2017-01-29 11:35:51 -07:00
grbl.h Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
jog.c Removed classic GUI interface. Fixed typo with line number support. 2016-12-08 23:17:45 -07:00
jog.h v1.1e: New laser features. G-code parser refactoring. CoreXY homing fix. 2016-12-03 18:02:45 -07:00
limits.c Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
limits.h Grbl v1.0e huge beta release. Overrides and new reporting. 2016-09-21 19:08:24 -06:00
main.c Clean up and new streaming script check-mode feature. 2017-07-17 21:25:42 -06:00
motion_control.c Restrict coincident target updates to M3 constant laser only. 2017-02-23 12:52:35 -07:00
motion_control.h v1.1f. Parking override control. Spindle enable pin option. 2017-01-28 17:13:06 -07:00
nuts_bolts.c Grbl v1.0e huge beta release. Overrides and new reporting. 2016-09-21 19:08:24 -06:00
nuts_bolts.h v1.1b: Tweaked Bf reports, jogging doc, saved another 160 bytes, minor bug fixes 2016-09-26 22:33:19 -06:00
planner.c Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
planner.h Spindle/coolant rare bug fixes. Free more flash. 2018-06-14 10:10:58 -06:00
print.c v1.1d: Tweaked interface a bit. Added realtime spindle speed and build option data. Minor bug fixes. 2016-10-17 23:48:25 -06:00
print.h Addressed much larger flash size with avr-gcc v4.9.2. Refactored reports to save 160KB. 2016-09-25 00:05:25 -06:00
probe.c Grbl v1.0e huge beta release. Overrides and new reporting. 2016-09-21 19:08:24 -06:00
probe.h Grbl v1.0e huge beta release. Overrides and new reporting. 2016-09-21 19:08:24 -06:00
protocol.c Spindle/coolant rare bug fixes. Free more flash. 2018-06-14 10:10:58 -06:00
protocol.h Grbl v1.0e huge beta release. Overrides and new reporting. 2016-09-21 19:08:24 -06:00
report.c Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
report.h Added an error code for laser mode when VARIABLE_SPINDLE is disabled. 2017-03-24 20:18:54 -06:00
serial.c v1.1c: New sleep mode. Laser mode and other bug fixes. 2016-10-11 17:07:44 -06:00
serial.h v1.1d: Tweaked interface a bit. Added realtime spindle speed and build option data. Minor bug fixes. 2016-10-17 23:48:25 -06:00
settings.c Spindle/coolant rare bug fixes. Free more flash. 2018-06-14 10:10:58 -06:00
settings.h Spindle/coolant rare bug fixes. Free more flash. 2018-06-14 10:10:58 -06:00
spindle_control.c Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
spindle_control.h Minor VARIABLE_SPINDLE feature toggle refactoring (#16) 2016-10-22 13:28:05 -06:00
stepper.c Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00
stepper.h Grbl v1.0e huge beta release. Overrides and new reporting. 2016-09-21 19:08:24 -06:00
system.c Update system.c 2018-11-12 08:25:32 -07:00
system.h Dual motor support for self-squaring gantry homing. 2019-07-30 21:51:49 -04:00