Add PROBE_Y_FIRST option for probe order
This commit is contained in:
parent
c8c57e59fc
commit
2d2c9bdf92
|
@ -789,6 +789,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -3771,30 +3771,48 @@ inline void gcode_G28() {
|
||||||
|
|
||||||
#endif // AUTO_BED_LEVELING_LINEAR
|
#endif // AUTO_BED_LEVELING_LINEAR
|
||||||
|
|
||||||
bool zig = abl_grid_points_y & 1; //always end at [RIGHT_PROBE_BED_POSITION, BACK_PROBE_BED_POSITION]
|
#if ENABLED(PROBE_Y_FIRST)
|
||||||
|
#define PR_OUTER_VAR xCount
|
||||||
|
#define PR_OUTER_END abl_grid_points_x
|
||||||
|
#define PR_INNER_VAR yCount
|
||||||
|
#define PR_INNER_END abl_grid_points_y
|
||||||
|
#else
|
||||||
|
#define PR_OUTER_VAR yCount
|
||||||
|
#define PR_OUTER_END abl_grid_points_y
|
||||||
|
#define PR_INNER_VAR xCount
|
||||||
|
#define PR_INNER_END abl_grid_points_x
|
||||||
|
#endif
|
||||||
|
|
||||||
for (uint8_t yCount = 0; yCount < abl_grid_points_y; yCount++) {
|
#if ENABLED(MAKERARM_SCARA)
|
||||||
float yBase = front_probe_bed_position + yGridSpacing * yCount;
|
bool zig = true;
|
||||||
yProbe = floor(yBase + (yBase < 0 ? 0 : 0.5));
|
#else
|
||||||
|
bool zig = PR_OUTER_END & 1; //always end at [RIGHT_PROBE_BED_POSITION, BACK_PROBE_BED_POSITION]
|
||||||
|
#endif
|
||||||
|
|
||||||
int8_t xStart, xStop, xInc;
|
for (uint8_t PR_OUTER_VAR = 0; PR_OUTER_VAR < PR_OUTER_END; PR_OUTER_VAR++) {
|
||||||
|
|
||||||
|
int8_t inStart, inStop, inInc;
|
||||||
|
|
||||||
if (zig) {
|
if (zig) {
|
||||||
xStart = 0;
|
inStart = 0;
|
||||||
xStop = abl_grid_points_x;
|
inStop = PR_INNER_END;
|
||||||
xInc = 1;
|
inInc = 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
xStart = abl_grid_points_x - 1;
|
inStart = PR_INNER_END - 1;
|
||||||
xStop = -1;
|
inStop = -1;
|
||||||
xInc = -1;
|
inInc = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
zig = !zig;
|
zig = !zig;
|
||||||
|
|
||||||
for (int8_t xCount = xStart; xCount != xStop; xCount += xInc) {
|
for (int8_t PR_INNER_VAR = inStart; PR_INNER_VAR != inStop; PR_INNER_VAR += inInc) {
|
||||||
float xBase = left_probe_bed_position + xGridSpacing * xCount;
|
|
||||||
|
float xBase = left_probe_bed_position + xGridSpacing * xCount,
|
||||||
|
yBase = front_probe_bed_position + yGridSpacing * yCount;
|
||||||
|
|
||||||
xProbe = floor(xBase + (xBase < 0 ? 0 : 0.5));
|
xProbe = floor(xBase + (xBase < 0 ? 0 : 0.5));
|
||||||
|
yProbe = floor(yBase + (yBase < 0 ? 0 : 0.5));
|
||||||
|
|
||||||
#if ENABLED(AUTO_BED_LEVELING_LINEAR)
|
#if ENABLED(AUTO_BED_LEVELING_LINEAR)
|
||||||
indexIntoAB[xCount][yCount] = ++probePointCounter;
|
indexIntoAB[xCount][yCount] = ++probePointCounter;
|
||||||
|
|
|
@ -789,6 +789,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -772,6 +772,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -770,6 +770,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -781,6 +781,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -783,6 +783,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -806,6 +806,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -789,6 +789,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -789,6 +789,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -789,6 +789,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -787,6 +787,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -804,6 +804,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -810,6 +810,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -781,6 +781,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -789,6 +789,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -881,6 +881,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -875,6 +875,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -878,6 +878,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -879,6 +879,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -881,6 +881,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -792,6 +792,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
|
@ -785,6 +785,9 @@
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 10
|
||||||
|
|
||||||
|
// Probe along the Y axis, advancing X after each column
|
||||||
|
//#define PROBE_Y_FIRST
|
||||||
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// 3 arbitrary points to probe.
|
// 3 arbitrary points to probe.
|
||||||
|
|
Loading…
Reference in a new issue