Browse Source

Add PROBE_Y_FIRST option for probe order

pull/1/head
Scott Lahteine 8 years ago
parent
commit
2d2c9bdf92
  1. 3
      Marlin/Configuration.h
  2. 44
      Marlin/Marlin_main.cpp
  3. 3
      Marlin/example_configurations/Cartesio/Configuration.h
  4. 3
      Marlin/example_configurations/Felix/Configuration.h
  5. 3
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  6. 3
      Marlin/example_configurations/Hephestos/Configuration.h
  7. 3
      Marlin/example_configurations/Hephestos_2/Configuration.h
  8. 3
      Marlin/example_configurations/K8200/Configuration.h
  9. 3
      Marlin/example_configurations/K8400/Configuration.h
  10. 3
      Marlin/example_configurations/K8400/Dual-head/Configuration.h
  11. 3
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  12. 3
      Marlin/example_configurations/RigidBot/Configuration.h
  13. 3
      Marlin/example_configurations/SCARA/Configuration.h
  14. 3
      Marlin/example_configurations/TAZ4/Configuration.h
  15. 3
      Marlin/example_configurations/WITBOX/Configuration.h
  16. 3
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  17. 3
      Marlin/example_configurations/delta/biv2.5/Configuration.h
  18. 3
      Marlin/example_configurations/delta/generic/Configuration.h
  19. 3
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  20. 3
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  21. 3
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  22. 3
      Marlin/example_configurations/makibox/Configuration.h
  23. 3
      Marlin/example_configurations/tvrrug/Round2/Configuration.h

3
Marlin/Configuration.h

@ -789,6 +789,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

44
Marlin/Marlin_main.cpp

@ -3771,30 +3771,48 @@ inline void gcode_G28() {
#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++) {
float yBase = front_probe_bed_position + yGridSpacing * yCount;
yProbe = floor(yBase + (yBase < 0 ? 0 : 0.5));
#if ENABLED(MAKERARM_SCARA)
bool zig = true;
#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) {
xStart = 0;
xStop = abl_grid_points_x;
xInc = 1;
inStart = 0;
inStop = PR_INNER_END;
inInc = 1;
}
else {
xStart = abl_grid_points_x - 1;
xStop = -1;
xInc = -1;
inStart = PR_INNER_END - 1;
inStop = -1;
inInc = -1;
}
zig = !zig;
for (int8_t xCount = xStart; xCount != xStop; xCount += xInc) {
float xBase = left_probe_bed_position + xGridSpacing * xCount;
for (int8_t PR_INNER_VAR = inStart; PR_INNER_VAR != inStop; PR_INNER_VAR += inInc) {
float xBase = left_probe_bed_position + xGridSpacing * xCount,
yBase = front_probe_bed_position + yGridSpacing * yCount;
xProbe = floor(xBase + (xBase < 0 ? 0 : 0.5));
yProbe = floor(yBase + (yBase < 0 ? 0 : 0.5));
#if ENABLED(AUTO_BED_LEVELING_LINEAR)
indexIntoAB[xCount][yCount] = ++probePointCounter;

3
Marlin/example_configurations/Cartesio/Configuration.h

@ -789,6 +789,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/Felix/Configuration.h

@ -772,6 +772,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/Felix/DUAL/Configuration.h

@ -770,6 +770,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/Hephestos/Configuration.h

@ -781,6 +781,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/Hephestos_2/Configuration.h

@ -783,6 +783,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/K8200/Configuration.h

@ -806,6 +806,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/K8400/Configuration.h

@ -789,6 +789,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/K8400/Dual-head/Configuration.h

@ -789,6 +789,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h

@ -789,6 +789,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/RigidBot/Configuration.h

@ -787,6 +787,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/SCARA/Configuration.h

@ -804,6 +804,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/TAZ4/Configuration.h

@ -810,6 +810,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/WITBOX/Configuration.h

@ -781,6 +781,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/adafruit/ST7565/Configuration.h

@ -789,6 +789,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/delta/biv2.5/Configuration.h

@ -881,6 +881,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/delta/generic/Configuration.h

@ -875,6 +875,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/delta/kossel_mini/Configuration.h

@ -878,6 +878,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/delta/kossel_pro/Configuration.h

@ -879,6 +879,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/delta/kossel_xl/Configuration.h

@ -881,6 +881,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/makibox/Configuration.h

@ -792,6 +792,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

3
Marlin/example_configurations/tvrrug/Round2/Configuration.h

@ -785,6 +785,9 @@
// The Z probe minimum outer margin (to validate G29 parameters).
#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)
// 3 arbitrary points to probe.

Loading…
Cancel
Save