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:
@@ -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
|
Date: 2016-03-16
|
||||||
Author: Sonny Jeon
|
Author: Sonny Jeon
|
||||||
|
|||||||
@@ -72,8 +72,8 @@
|
|||||||
// on separate pin, but homed in one cycle. Also, it should be noted that the function of hard limits
|
// 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.
|
// 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.
|
// 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_0 (1<<Z_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_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
|
// #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.
|
// 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)
|
// #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
|
// 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
|
// 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.
|
// 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
|
// 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.
|
// you can use normally-closed switches, rather than the default normally-open switches.
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
// Grbl versioning system
|
// Grbl versioning system
|
||||||
#define GRBL_VERSION "0.9j"
|
#define GRBL_VERSION "0.9j"
|
||||||
#define GRBL_VERSION_BUILD "20160317"
|
#define GRBL_VERSION_BUILD "20160726"
|
||||||
|
|
||||||
// Define standard libraries used by Grbl.
|
// Define standard libraries used by Grbl.
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
|
|||||||
@@ -265,9 +265,9 @@ float system_convert_axis_steps_to_mpos(int32_t *steps, uint8_t idx)
|
|||||||
float pos;
|
float pos;
|
||||||
#ifdef COREXY
|
#ifdef COREXY
|
||||||
if (idx==X_AXIS) {
|
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) {
|
} 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 {
|
} else {
|
||||||
pos = steps[idx]/settings.steps_per_mm[idx];
|
pos = steps[idx]/settings.steps_per_mm[idx];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user