From 4f459e473b6955393501611e3353a60f1c2a7ca6 Mon Sep 17 00:00:00 2001 From: Sonny Jeon Date: Sun, 6 Jan 2013 12:32:41 -0700 Subject: [PATCH] Fixed bug with homing and polling at the same time. Updated readme. --- README.md | 6 ++---- limits.c | 3 +-- motion_control.c | 2 ++ report.c | 1 + 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index faf38c2..286c634 100755 --- a/README.md +++ b/README.md @@ -11,12 +11,10 @@ Grbl includes full acceleration management with look ahead. That means the contr ##Downloads (Right-Click and Save-Link-As): _**Master Branch:**_ -* [Grbl v0.8c Atmega328p 16mhz 9600baud](http://bit.ly/SSdCJE) Last updated: 2012-12-16 +* [Grbl v0.8c Atmega328p 16mhz 9600baud](http://bit.ly/SSdCJE) Last updated: 2013-01-06 _**Edge/Development Branch:**_ -* [Grbl v0.9a Build 2012-12-21](http://bit.ly/VWe4VW) : For testing only. Automatic arc segment scaling by tolerance setting, leading to much faster feedrates. Axes acceleration and maximum velocity independence installed. 30kHz step rate max. Bugs still exist. Settings WILL be over-written. -* [Grbl v0.9a Build 2012-12-16](http://bit.ly/UUTOD4) : Axes acceleration and maximum velocity independence installed. Lowered 20kHz step rate max. Bugs still exist. For testing only. Settings WILL be over-written. -* [Grbl v0.9a Build 2012-12-10](http://bit.ly/UDBwpZ) : New experimental stepper algorithm. Smoother. 30kHz max. Bugs exist (Homing). For testing only. Settings WILL be over-written. +* [Grbl v0.9a Build 2012-12-21](http://bit.ly/VWe4VW) : For testing only. New experimental stepper algorithm. Smoother. Axes acceleration and maximum velocity limits. Automatic arc segment scaling by tolerance setting, leading to much faster feedrates about them. 30kHz step rate absolute max. CAUTION: Bugs still exist. Settings WILL be over-written. Please let us know of any lingering bugs (except with homing). _**Archives:**_ * [Grbl v0.8a Atmega328p 16mhz 9600baud](http://bit.ly/TVCTVv) diff --git a/limits.c b/limits.c index fe5cc9b..81280a3 100755 --- a/limits.c +++ b/limits.c @@ -187,8 +187,7 @@ static void homing_cycle(uint8_t cycle_mask, int8_t pos_dir, bool invert_pin, fl } // Check if we are done or for system abort - protocol_execute_runtime(); - if (!(cycle_mask) || sys.abort) { return; } + if (!(cycle_mask) || (sys.execute & EXEC_RESET)) { return; } // Perform step. STEPPING_PORT = (STEPPING_PORT & ~STEP_MASK) | (out_bits & STEP_MASK); diff --git a/motion_control.c b/motion_control.c index 2d595c8..be98600 100755 --- a/motion_control.c +++ b/motion_control.c @@ -218,6 +218,8 @@ void mc_go_home() LIMIT_PCMSK &= ~LIMIT_MASK; // Disable hard limits pin change register for cycle duration limits_go_home(); // Perform homing routine. + + protocol_execute_runtime(); // Check for reset and set system abort. if (sys.abort) { return; } // Did not complete. Alarm state set by mc_alarm. // The machine should now be homed and machine zero has been located. Upon completion, diff --git a/report.c b/report.c index 8b12243..a2602f4 100644 --- a/report.c +++ b/report.c @@ -90,6 +90,7 @@ void report_alarm_message(int8_t alarm_code) printPgmString(PSTR("Abort during cycle")); break; } printPgmString(PSTR(". MPos?\r\n")); + delay_ms(500); // Force delay to ensure message clears serial write buffer. } // Prints feedback messages. This serves as a centralized method to provide additional