Fixed homing on CoreXY machines only.

- The homing routine for CoreXY/H-Bot CNC machines has been fixed.

- Version date bumped, but this update does NOT effect any normal
users. Only CoreXY users.
This commit is contained in:
chamnit
2016-07-26 11:32:33 -06:00
parent 85ca858f47
commit 66a64af239
4 changed files with 36 additions and 7 deletions

View File

@@ -1,3 +1,32 @@
----------------
Date: 2016-07-26
Author: chamnit
Subject: Merge branch 'master-corexy'
----------------
Date: 2016-07-25
Author: chamnit
Subject: CoreXY homing bug fix attempt 2.
----------------
Date: 2016-07-25
Author: chamnit
Subject: CoreXY homing fix attempt.
----------------
Date: 2016-03-17
Author: Sonny Jeon
Subject: No variable spindle and spindle speed fix.
- When VARIABLE_SPINDLE output is disabled in config.h, the last commit
would keep the spindle enable pin disabled when spindle speed is not
defined (S0). This is now ignored and will enable with S0, as spindle
speed is ignored in this mode.
----------------
Date: 2016-03-16
Author: Sonny Jeon

View File

@@ -72,8 +72,8 @@
// on separate pin, but homed in one cycle. Also, it should be noted that the function of hard limits
// will not be affected by pin sharing.
// NOTE: Defaults are set for a traditional 3-axis CNC machine. Z-axis first to clear, followed by X & Y.
#define HOMING_CYCLE_0 (1<<X_AXIS) // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 (1<<Y_AXIS) // OPTIONAL: Then move X,Y at the same time.
#define HOMING_CYCLE_0 (1<<Z_AXIS) // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // OPTIONAL: Then move X,Y at the same time.
// #define HOMING_CYCLE_2 // OPTIONAL: Uncomment and add axes mask to enable
// Number of homing cycles performed after when the machine initially jogs to limit switches.
@@ -147,9 +147,9 @@
// #define HOMING_CYCLE_0 (1<<X_AXIS) and #define HOMING_CYCLE_1 (1<<Y_AXIS)
// NOTE: This configuration option alters the motion of the X and Y axes to principle of operation
// defined at (http://corexy.com/theory.html). Motors are assumed to positioned and wired exactly as
// described, if not, motions may move in strange directions. Grbl assumes the CoreXY A and B motors
// described, if not, motions may move in strange directions. Grbl requires the CoreXY A and B motors
// have the same steps per mm internally.
#define COREXY // Default disabled. Uncomment to enable.
// #define COREXY // Default disabled. Uncomment to enable.
// Inverts pin logic of the control command pins. This essentially means when this option is enabled
// you can use normally-closed switches, rather than the default normally-open switches.

View File

@@ -23,7 +23,7 @@
// Grbl versioning system
#define GRBL_VERSION "0.9j"
#define GRBL_VERSION_BUILD "20160317"
#define GRBL_VERSION_BUILD "20160726"
// Define standard libraries used by Grbl.
#include <avr/io.h>

View File

@@ -265,9 +265,9 @@ float system_convert_axis_steps_to_mpos(int32_t *steps, uint8_t idx)
float pos;
#ifdef COREXY
if (idx==X_AXIS) {
pos = (float)system_convert_corexy_to_x_axis_steps(steps) / settings.steps_per_mm[idx];
pos = (float)system_convert_corexy_to_x_axis_steps(steps) / settings.steps_per_mm[A_MOTOR];
} else if (idx==Y_AXIS) {
pos = (float)system_convert_corexy_to_y_axis_steps(steps) / settings.steps_per_mm[idx];
pos = (float)system_convert_corexy_to_y_axis_steps(steps) / settings.steps_per_mm[B_MOTOR];
} else {
pos = steps[idx]/settings.steps_per_mm[idx];
}