Procházet zdrojové kódy

Merge pull request #8044 from thinkyhead/bf2_mesh_consolidate

[2.0.x] Simplify mesh bounds config
Scott Lahteine před 7 roky
rodič
revize
f65fc7ffab
85 změnil soubory, kde provedl 1903 přidání a 3490 odebrání
  1. 2
    1
      Marlin/Configuration.h
  2. 12
    67
      Marlin/Configuration_adv.h
  3. 1
    1
      Marlin/src/HAL/HAL.h
  4. 1
    1
      Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp
  5. 78
    0
      Marlin/src/HAL/SPI.h
  6. 2
    1
      Marlin/src/config/default/Configuration.h
  7. 12
    67
      Marlin/src/config/default/Configuration_adv.h
  8. 2
    1
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h
  9. 12
    67
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  10. 2
    1
      Marlin/src/config/examples/AliExpress/CL-260/Configuration.h
  11. 2
    1
      Marlin/src/config/examples/Anet/A6/Configuration.h
  12. 12
    67
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  13. 2
    1
      Marlin/src/config/examples/Anet/A8/Configuration.h
  14. 12
    67
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  15. 2
    1
      Marlin/src/config/examples/BQ/Hephestos/Configuration.h
  16. 12
    67
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  17. 2
    1
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h
  18. 12
    67
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  19. 2
    1
      Marlin/src/config/examples/BQ/WITBOX/Configuration.h
  20. 12
    67
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  21. 2
    1
      Marlin/src/config/examples/Cartesio/Configuration.h
  22. 12
    67
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  23. 2
    1
      Marlin/src/config/examples/Creality/CR-10/Configuration.h
  24. 12
    67
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  25. 2
    1
      Marlin/src/config/examples/Felix/Configuration.h
  26. 12
    67
      Marlin/src/config/examples/Felix/Configuration_adv.h
  27. 2
    1
      Marlin/src/config/examples/Felix/DUAL/Configuration.h
  28. 2
    1
      Marlin/src/config/examples/Folger Tech/i3-2020/Configuration.h
  29. 12
    67
      Marlin/src/config/examples/Folger Tech/i3-2020/Configuration_adv.h
  30. 2
    1
      Marlin/src/config/examples/Geeetech/GT2560/Configuration.h
  31. 2
    1
      Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  32. 2
    1
      Marlin/src/config/examples/Infitary/i3-M508/Configuration.h
  33. 12
    67
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  34. 2
    1
      Marlin/src/config/examples/Malyan/M150/Configuration.h
  35. 12
    67
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  36. 2
    1
      Marlin/src/config/examples/Micromake/C1/basic/Configuration.h
  37. 2
    1
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h
  38. 2
    1
      Marlin/src/config/examples/Mks/Sbase/Configuration.h
  39. 12
    67
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  40. 2
    1
      Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h
  41. 2
    1
      Marlin/src/config/examples/RigidBot/Configuration.h
  42. 12
    67
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  43. 2
    1
      Marlin/src/config/examples/SCARA/Configuration.h
  44. 12
    67
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  45. 2
    1
      Marlin/src/config/examples/Sanguinololu/Configuration.h
  46. 12
    67
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  47. 2
    1
      Marlin/src/config/examples/TinyBoy2/Configuration.h
  48. 12
    67
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  49. 2
    1
      Marlin/src/config/examples/Velleman/K8200/Configuration.h
  50. 7
    64
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  51. 2
    1
      Marlin/src/config/examples/Velleman/K8400/Configuration.h
  52. 12
    67
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  53. 2
    1
      Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h
  54. 2
    1
      Marlin/src/config/examples/adafruit/ST7565/Configuration.h
  55. 2
    1
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
  56. 12
    67
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  57. 2
    1
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h
  58. 12
    67
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  59. 2
    1
      Marlin/src/config/examples/delta/generic/Configuration.h
  60. 12
    67
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  61. 2
    1
      Marlin/src/config/examples/delta/kossel_mini/Configuration.h
  62. 12
    67
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  63. 2
    1
      Marlin/src/config/examples/delta/kossel_pro/Configuration.h
  64. 12
    67
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  65. 2
    1
      Marlin/src/config/examples/delta/kossel_xl/Configuration.h
  66. 12
    67
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  67. 2
    1
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h
  68. 12
    67
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  69. 2
    1
      Marlin/src/config/examples/makibox/Configuration.h
  70. 12
    67
      Marlin/src/config/examples/makibox/Configuration_adv.h
  71. 2
    1
      Marlin/src/config/examples/stm32f103ret6/Configuration.h
  72. 2
    1
      Marlin/src/config/examples/tvrrug/Round2/Configuration.h
  73. 12
    67
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  74. 2
    1
      Marlin/src/config/examples/wt150/Configuration.h
  75. 12
    67
      Marlin/src/config/examples/wt150/Configuration_adv.h
  76. 4
    4
      Marlin/src/feature/bedlevel/ubl/ubl.cpp
  77. 24
    24
      Marlin/src/feature/bedlevel/ubl/ubl.h
  78. 12
    12
      Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
  79. 2
    2
      Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp
  80. 385
    385
      Marlin/src/inc/Conditionals_LCD.h
  81. 929
    891
      Marlin/src/inc/Conditionals_post.h
  82. 1
    1
      Marlin/src/inc/MarlinConfig.h
  83. 0
    52
      Marlin/src/inc/SPI.h
  84. 9
    1
      Marlin/src/inc/SanityCheck.h
  85. 8
    1
      Marlin/src/inc/Version.h

+ 2
- 1
Marlin/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 12
- 67
Marlin/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -685,69 +687,12 @@
685 687
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686 688
 #endif
687 689
 
688
-// Default mesh area is an area with an inset margin on the print area.
689
-// Below are the macros that are used to define the borders for the mesh area,
690
-// made available here for specialized needs, ie dual extruder setup.
691
-#if ENABLED(MESH_BED_LEVELING)
692
-  #if ENABLED(DELTA)
693
-    // Probing points may be verified at compile time within the radius
694
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
695
-    // so that may be added to SanityCheck.h in the future.
696
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-  #elif IS_SCARA
701
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-  #else
706
-    // Boundaries for Cartesian probing based on set limits
707
-    #if ENABLED(BED_CENTER_AT_0_0)
708
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
709
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
710
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
711
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
712
-    #else
713
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
716
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
717
-    #endif
718
-  #endif
719
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
720
-  #if ENABLED(DELTA)
721
-    // Probing points may be verified at compile time within the radius
722
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
723
-    // so that may be added to SanityCheck.h in the future.
724
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-  #elif IS_SCARA
729
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-  #else
734
-    // Boundaries for Cartesian probing based on set limits
735
-    #if ENABLED(BED_CENTER_AT_0_0)
736
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
737
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
740
-    #else
741
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
744
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
745
-    #endif
746
-  #endif
747
-
748
-  // If this is defined, the currently active mesh will be saved in the
749
-  // current slot on M500.
750
-  #define UBL_SAVE_ACTIVE_ON_M500
690
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
691
+  // Override the mesh area if the automatic (max) area is too large
692
+  //#define MESH_MIN_X MESH_INSET
693
+  //#define MESH_MIN_Y MESH_INSET
694
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
695
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
751 696
 #endif
752 697
 
753 698
 // @section extras

+ 1
- 1
Marlin/src/HAL/HAL.h Zobrazit soubor

@@ -29,7 +29,7 @@
29 29
 #ifndef _HAL_H
30 30
 #define _HAL_H
31 31
 
32
-#include "../inc/SPI.h"
32
+#include "SPI.h"
33 33
 
34 34
 #ifdef __AVR__
35 35
   #include "HAL_AVR/HAL_AVR.h"

+ 1
- 1
Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp Zobrazit soubor

@@ -37,7 +37,7 @@
37 37
 // --------------------------------------------------------------------------
38 38
 
39 39
 #include "../HAL.h"
40
-#include "SPI.h"
40
+#include "../SPI.h"
41 41
 #include "pins_arduino.h"
42 42
 #include "spi_pins.h"
43 43
 #include "../../core/macros.h"

+ 78
- 0
Marlin/src/HAL/SPI.h Zobrazit soubor

@@ -0,0 +1,78 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * HAL/SPI.h
25
+ * Core Marlin definitions for SPI, implemented in the HALs
26
+ */
27
+
28
+#ifndef _SPI_H_
29
+#define _SPI_H_
30
+
31
+//#include "../inc/MarlinConfig.h"
32
+
33
+#include <stdint.h>
34
+
35
+#ifndef SPI_FULL_SPEED
36
+
37
+/**
38
+ * SPI speed where 0 <= index <= 6
39
+ *
40
+ * Approximate rates :
41
+ *
42
+ *  0 :  8 - 10 MHz
43
+ *  1 :  4 - 5 MHz
44
+ *  2 :  2 - 2.5 MHz
45
+ *  3 :  1 - 1.25 MHz
46
+ *  4 :  500 - 625 kHz
47
+ *  5 :  250 - 312 kHz
48
+ *  6 :  125 - 156 kHz
49
+ *
50
+ *  On AVR, actual speed is F_CPU/2^(1 + index).
51
+ *  On other platforms, speed should be in range given above where possible.
52
+ */
53
+
54
+#define SPI_FULL_SPEED      0   // Set SCK to max rate
55
+#define SPI_HALF_SPEED      1   // Set SCK rate to half of max rate
56
+#define SPI_QUARTER_SPEED   2   // Set SCK rate to quarter of max rate
57
+#define SPI_EIGHTH_SPEED    3   // Set SCK rate to 1/8 of max rate
58
+#define SPI_SIXTEENTH_SPEED 4   // Set SCK rate to 1/16 of max rate
59
+#define SPI_SPEED_5         5   // Set SCK rate to 1/32 of max rate
60
+#define SPI_SPEED_6         6   // Set SCK rate to 1/64 of max rate
61
+
62
+// Standard SPI functions
63
+/** Initialise SPI bus */
64
+void spiBegin(void);
65
+/** Configure SPI for specified SPI speed */
66
+void spiInit(uint8_t spiRate);
67
+/** Write single byte to SPI */
68
+void spiSend(uint8_t b);
69
+/** Read single byte from SPI */
70
+uint8_t spiRec(void);
71
+/** Read from SPI into buffer */
72
+void spiRead(uint8_t* buf, uint16_t nbyte);
73
+/** Write token and then write from 512 byte buffer to SPI (for SD card) */
74
+void spiSendBlock(uint8_t token, const uint8_t* buf);
75
+
76
+#endif // SPI_FULL_SPEED
77
+
78
+#endif // _SPI_H_

+ 2
- 1
Marlin/src/config/default/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 12
- 67
Marlin/src/config/default/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -685,69 +687,12 @@
685 687
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686 688
 #endif
687 689
 
688
-// Default mesh area is an area with an inset margin on the print area.
689
-// Below are the macros that are used to define the borders for the mesh area,
690
-// made available here for specialized needs, ie dual extruder setup.
691
-#if ENABLED(MESH_BED_LEVELING)
692
-  #if ENABLED(DELTA)
693
-    // Probing points may be verified at compile time within the radius
694
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
695
-    // so that may be added to SanityCheck.h in the future.
696
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-  #elif IS_SCARA
701
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-  #else
706
-    // Boundaries for Cartesian probing based on set limits
707
-    #if ENABLED(BED_CENTER_AT_0_0)
708
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
709
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
710
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
711
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
712
-    #else
713
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
716
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
717
-    #endif
718
-  #endif
719
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
720
-  #if ENABLED(DELTA)
721
-    // Probing points may be verified at compile time within the radius
722
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
723
-    // so that may be added to SanityCheck.h in the future.
724
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-  #elif IS_SCARA
729
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-  #else
734
-    // Boundaries for Cartesian probing based on set limits
735
-    #if ENABLED(BED_CENTER_AT_0_0)
736
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
737
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
740
-    #else
741
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
744
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
745
-    #endif
746
-  #endif
747
-
748
-  // If this is defined, the currently active mesh will be saved in the
749
-  // current slot on M500.
750
-  #define UBL_SAVE_ACTIVE_ON_M500
690
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
691
+  // Override the mesh area if the automatic (max) area is too large
692
+  //#define MESH_MIN_X MESH_INSET
693
+  //#define MESH_MIN_Y MESH_INSET
694
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
695
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
751 696
 #endif
752 697
 
753 698
 // @section extras

+ 2
- 1
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h Zobrazit soubor

@@ -957,7 +957,7 @@
957 957
   //========================= Unified Bed Leveling ============================
958 958
   //===========================================================================
959 959
 
960
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
960
+  #define MESH_INSET 1              // Mesh inset margin on print area
961 961
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
962 962
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
963 963
 
@@ -970,6 +970,7 @@
970 970
 
971 971
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
972 972
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
973
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
973 974
 
974 975
 #elif ENABLED(MESH_BED_LEVELING)
975 976
 

+ 12
- 67
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 2
- 1
Marlin/src/config/examples/Anet/A6/Configuration.h Zobrazit soubor

@@ -1080,7 +1080,7 @@
1080 1080
   //========================= Unified Bed Leveling ============================
1081 1081
   //===========================================================================
1082 1082
 
1083
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1083
+  #define MESH_INSET 1              // Mesh inset margin on print area
1084 1084
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1085 1085
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1086 1086
 
@@ -1093,6 +1093,7 @@
1093 1093
 
1094 1094
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1095 1095
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1096
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1096 1097
 
1097 1098
 #elif ENABLED(MESH_BED_LEVELING)
1098 1099
 

+ 12
- 67
Marlin/src/config/examples/Anet/A6/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   //#define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Anet/A8/Configuration.h Zobrazit soubor

@@ -943,7 +943,7 @@
943 943
   //========================= Unified Bed Leveling ============================
944 944
   //===========================================================================
945 945
 
946
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
946
+  #define MESH_INSET 1              // Mesh inset margin on print area
947 947
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
948 948
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
949 949
 
@@ -956,6 +956,7 @@
956 956
 
957 957
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
958 958
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
959
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
959 960
 
960 961
 #elif ENABLED(MESH_BED_LEVELING)
961 962
 

+ 12
- 67
Marlin/src/config/examples/Anet/A8/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   //#define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/BQ/Hephestos/Configuration.h Zobrazit soubor

@@ -928,7 +928,7 @@
928 928
   //========================= Unified Bed Leveling ============================
929 929
   //===========================================================================
930 930
 
931
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
931
+  #define MESH_INSET 1              // Mesh inset margin on print area
932 932
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
933 933
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
934 934
 
@@ -941,6 +941,7 @@
941 941
 
942 942
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
943 943
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
944
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
944 945
 
945 946
 #elif ENABLED(MESH_BED_LEVELING)
946 947
 

+ 12
- 67
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h Zobrazit soubor

@@ -938,7 +938,7 @@
938 938
   //========================= Unified Bed Leveling ============================
939 939
   //===========================================================================
940 940
 
941
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
941
+  #define MESH_INSET 1              // Mesh inset margin on print area
942 942
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
943 943
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
944 944
 
@@ -951,6 +951,7 @@
951 951
 
952 952
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
953 953
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
954
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
954 955
 
955 956
 #elif ENABLED(MESH_BED_LEVELING)
956 957
 

+ 12
- 67
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M104 S0\nM84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -681,69 +683,12 @@
681 683
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
682 684
 #endif
683 685
 
684
-// Default mesh area is an area with an inset margin on the print area.
685
-// Below are the macros that are used to define the borders for the mesh area,
686
-// made available here for specialized needs, ie dual extruder setup.
687
-#if ENABLED(MESH_BED_LEVELING)
688
-  #if ENABLED(DELTA)
689
-    // Probing points may be verified at compile time within the radius
690
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
691
-    // so that may be added to SanityCheck.h in the future.
692
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
693
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
694
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
695
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
696
-  #elif IS_SCARA
697
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
699
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
700
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
701
-  #else
702
-    // Boundaries for Cartesian probing based on set limits
703
-    #if ENABLED(BED_CENTER_AT_0_0)
704
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
705
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
706
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
707
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
708
-    #else
709
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
710
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
711
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
712
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
713
-    #endif
714
-  #endif
715
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
716
-  #if ENABLED(DELTA)
717
-    // Probing points may be verified at compile time within the radius
718
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
719
-    // so that may be added to SanityCheck.h in the future.
720
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
721
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
722
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
723
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
724
-  #elif IS_SCARA
725
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
727
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
728
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
729
-  #else
730
-    // Boundaries for Cartesian probing based on set limits
731
-    #if ENABLED(BED_CENTER_AT_0_0)
732
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
733
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
734
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
735
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
736
-    #else
737
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
738
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
739
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
740
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
741
-    #endif
742
-  #endif
743
-
744
-  // If this is defined, the currently active mesh will be saved in the
745
-  // current slot on M500.
746
-  #define UBL_SAVE_ACTIVE_ON_M500
686
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
687
+  // Override the mesh area if the automatic (max) area is too large
688
+  //#define MESH_MIN_X MESH_INSET
689
+  //#define MESH_MIN_Y MESH_INSET
690
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
691
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
747 692
 #endif
748 693
 
749 694
 // @section extras

+ 2
- 1
Marlin/src/config/examples/BQ/WITBOX/Configuration.h Zobrazit soubor

@@ -928,7 +928,7 @@
928 928
   //========================= Unified Bed Leveling ============================
929 929
   //===========================================================================
930 930
 
931
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
931
+  #define MESH_INSET 1              // Mesh inset margin on print area
932 932
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
933 933
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
934 934
 
@@ -941,6 +941,7 @@
941 941
 
942 942
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
943 943
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
944
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
944 945
 
945 946
 #elif ENABLED(MESH_BED_LEVELING)
946 947
 

+ 12
- 67
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Cartesio/Configuration.h Zobrazit soubor

@@ -936,7 +936,7 @@
936 936
   //========================= Unified Bed Leveling ============================
937 937
   //===========================================================================
938 938
 
939
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
939
+  #define MESH_INSET 1              // Mesh inset margin on print area
940 940
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941 941
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942 942
 
@@ -949,6 +949,7 @@
949 949
 
950 950
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
951 951
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
952
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
952 953
 
953 954
 #elif ENABLED(MESH_BED_LEVELING)
954 955
 

+ 12
- 67
Marlin/src/config/examples/Cartesio/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Creality/CR-10/Configuration.h Zobrazit soubor

@@ -947,7 +947,7 @@
947 947
   //========================= Unified Bed Leveling ============================
948 948
   //===========================================================================
949 949
 
950
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
950
+  #define MESH_INSET 1              // Mesh inset margin on print area
951 951
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
952 952
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
953 953
 
@@ -960,6 +960,7 @@
960 960
 
961 961
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
962 962
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
963
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
963 964
 
964 965
 #elif ENABLED(MESH_BED_LEVELING)
965 966
 

+ 12
- 67
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Felix/Configuration.h Zobrazit soubor

@@ -919,7 +919,7 @@
919 919
   //========================= Unified Bed Leveling ============================
920 920
   //===========================================================================
921 921
 
922
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
922
+  #define MESH_INSET 1              // Mesh inset margin on print area
923 923
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
924 924
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
925 925
 
@@ -932,6 +932,7 @@
932 932
 
933 933
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
934 934
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
935
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
935 936
 
936 937
 #elif ENABLED(MESH_BED_LEVELING)
937 938
 

+ 12
- 67
Marlin/src/config/examples/Felix/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Felix/DUAL/Configuration.h Zobrazit soubor

@@ -919,7 +919,7 @@
919 919
   //========================= Unified Bed Leveling ============================
920 920
   //===========================================================================
921 921
 
922
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
922
+  #define MESH_INSET 1              // Mesh inset margin on print area
923 923
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
924 924
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
925 925
 
@@ -932,6 +932,7 @@
932 932
 
933 933
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
934 934
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
935
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
935 936
 
936 937
 #elif ENABLED(MESH_BED_LEVELING)
937 938
 

+ 2
- 1
Marlin/src/config/examples/Folger Tech/i3-2020/Configuration.h Zobrazit soubor

@@ -934,7 +934,7 @@
934 934
   //========================= Unified Bed Leveling ============================
935 935
   //===========================================================================
936 936
 
937
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
937
+  #define MESH_INSET 1              // Mesh inset margin on print area
938 938
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
939 939
   #define GRID_MAX_POINTS_Y 10
940 940
 
@@ -947,6 +947,7 @@
947 947
 
948 948
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
949 949
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
950
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
950 951
 
951 952
 #elif ENABLED(MESH_BED_LEVELING)
952 953
 

+ 12
- 67
Marlin/src/config/examples/Folger Tech/i3-2020/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -685,69 +687,12 @@
685 687
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686 688
 #endif
687 689
 
688
-// Default mesh area is an area with an inset margin on the print area.
689
-// Below are the macros that are used to define the borders for the mesh area,
690
-// made available here for specialized needs, ie dual extruder setup.
691
-#if ENABLED(MESH_BED_LEVELING)
692
-  #if ENABLED(DELTA)
693
-    // Probing points may be verified at compile time within the radius
694
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
695
-    // so that may be added to SanityCheck.h in the future.
696
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-  #elif IS_SCARA
701
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-  #else
706
-    // Boundaries for Cartesian probing based on set limits
707
-    #if ENABLED(BED_CENTER_AT_0_0)
708
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
709
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
710
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
711
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
712
-    #else
713
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
716
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
717
-    #endif
718
-  #endif
719
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
720
-  #if ENABLED(DELTA)
721
-    // Probing points may be verified at compile time within the radius
722
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
723
-    // so that may be added to SanityCheck.h in the future.
724
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-  #elif IS_SCARA
729
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-  #else
734
-    // Boundaries for Cartesian probing based on set limits
735
-    #if ENABLED(BED_CENTER_AT_0_0)
736
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
737
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
740
-    #else
741
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
744
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
745
-    #endif
746
-  #endif
747
-
748
-  // If this is defined, the currently active mesh will be saved in the
749
-  // current slot on M500.
750
-  #define UBL_SAVE_ACTIVE_ON_M500
690
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
691
+  // Override the mesh area if the automatic (max) area is too large
692
+  //#define MESH_MIN_X MESH_INSET
693
+  //#define MESH_MIN_Y MESH_INSET
694
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
695
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
751 696
 #endif
752 697
 
753 698
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h Zobrazit soubor

@@ -952,7 +952,7 @@
952 952
   //========================= Unified Bed Leveling ============================
953 953
   //===========================================================================
954 954
 
955
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
955
+  #define MESH_INSET 1              // Mesh inset margin on print area
956 956
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
957 957
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
958 958
 
@@ -965,6 +965,7 @@
965 965
 
966 966
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
967 967
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
968
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 969
 
969 970
 #elif ENABLED(MESH_BED_LEVELING)
970 971
 

+ 2
- 1
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 2
- 1
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h Zobrazit soubor

@@ -941,7 +941,7 @@
941 941
   //========================= Unified Bed Leveling ============================
942 942
   //===========================================================================
943 943
 
944
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
944
+  #define MESH_INSET 1              // Mesh inset margin on print area
945 945
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
946 946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
947 947
 
@@ -954,6 +954,7 @@
954 954
 
955 955
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
956 956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
957
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
957 958
 
958 959
 #elif ENABLED(MESH_BED_LEVELING)
959 960
 

+ 12
- 67
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Malyan/M150/Configuration.h Zobrazit soubor

@@ -965,7 +965,7 @@
965 965
   //========================= Unified Bed Leveling ============================
966 966
   //===========================================================================
967 967
 
968
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
968
+  #define MESH_INSET 1              // Mesh inset margin on print area
969 969
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
970 970
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
971 971
 
@@ -978,6 +978,7 @@
978 978
 
979 979
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
980 980
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
981
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
981 982
 
982 983
 #elif ENABLED(MESH_BED_LEVELING)
983 984
 

+ 12
- 67
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -681,69 +683,12 @@
681 683
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
682 684
 #endif
683 685
 
684
-// Default mesh area is an area with an inset margin on the print area.
685
-// Below are the macros that are used to define the borders for the mesh area,
686
-// made available here for specialized needs, ie dual extruder setup.
687
-#if ENABLED(MESH_BED_LEVELING)
688
-  #if ENABLED(DELTA)
689
-    // Probing points may be verified at compile time within the radius
690
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
691
-    // so that may be added to SanityCheck.h in the future.
692
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
693
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
694
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
695
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
696
-  #elif IS_SCARA
697
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
699
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
700
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
701
-  #else
702
-    // Boundaries for Cartesian probing based on set limits
703
-    #if ENABLED(BED_CENTER_AT_0_0)
704
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
705
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
706
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
707
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
708
-    #else
709
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
710
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
711
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
712
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
713
-    #endif
714
-  #endif
715
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
716
-  #if ENABLED(DELTA)
717
-    // Probing points may be verified at compile time within the radius
718
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
719
-    // so that may be added to SanityCheck.h in the future.
720
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
721
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
722
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
723
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
724
-  #elif IS_SCARA
725
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
727
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
728
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
729
-  #else
730
-    // Boundaries for Cartesian probing based on set limits
731
-    #if ENABLED(BED_CENTER_AT_0_0)
732
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
733
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
734
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
735
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
736
-    #else
737
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
738
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
739
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
740
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
741
-    #endif
742
-  #endif
743
-
744
-  // If this is defined, the currently active mesh will be saved in the
745
-  // current slot on M500.
746
-  #define UBL_SAVE_ACTIVE_ON_M500
686
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
687
+  // Override the mesh area if the automatic (max) area is too large
688
+  //#define MESH_MIN_X MESH_INSET
689
+  //#define MESH_MIN_Y MESH_INSET
690
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
691
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
747 692
 #endif
748 693
 
749 694
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h Zobrazit soubor

@@ -941,7 +941,7 @@
941 941
   //========================= Unified Bed Leveling ============================
942 942
   //===========================================================================
943 943
 
944
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
944
+  #define MESH_INSET 1              // Mesh inset margin on print area
945 945
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
946 946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
947 947
 
@@ -954,6 +954,7 @@
954 954
 
955 955
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
956 956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
957
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
957 958
 
958 959
 #elif ENABLED(MESH_BED_LEVELING)
959 960
 

+ 2
- 1
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h Zobrazit soubor

@@ -941,7 +941,7 @@
941 941
   //========================= Unified Bed Leveling ============================
942 942
   //===========================================================================
943 943
 
944
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
944
+  #define MESH_INSET 1              // Mesh inset margin on print area
945 945
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
946 946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
947 947
 
@@ -954,6 +954,7 @@
954 954
 
955 955
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
956 956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
957
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
957 958
 
958 959
 #elif ENABLED(MESH_BED_LEVELING)
959 960
 

+ 2
- 1
Marlin/src/config/examples/Mks/Sbase/Configuration.h Zobrazit soubor

@@ -939,7 +939,7 @@
939 939
   //========================= Unified Bed Leveling ============================
940 940
   //===========================================================================
941 941
 
942
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
942
+  #define MESH_INSET 1              // Mesh inset margin on print area
943 943
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
944 944
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
945 945
 
@@ -952,6 +952,7 @@
952 952
 
953 953
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
954 954
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
955
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
955 956
 
956 957
 #elif ENABLED(MESH_BED_LEVELING)
957 958
 

+ 12
- 67
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -705,69 +707,12 @@
705 707
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
706 708
 #endif
707 709
 
708
-// Default mesh area is an area with an inset margin on the print area.
709
-// Below are the macros that are used to define the borders for the mesh area,
710
-// made available here for specialized needs, ie dual extruder setup.
711
-#if ENABLED(MESH_BED_LEVELING)
712
-  #if ENABLED(DELTA)
713
-    // Probing points may be verified at compile time within the radius
714
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
715
-    // so that may be added to SanityCheck.h in the future.
716
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
717
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
718
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
719
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
720
-  #elif IS_SCARA
721
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
722
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
723
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
724
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
725
-  #else
726
-    // Boundaries for Cartesian probing based on set limits
727
-    #if ENABLED(BED_CENTER_AT_0_0)
728
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
729
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
730
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
731
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
732
-    #else
733
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
734
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
735
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
736
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
737
-    #endif
738
-  #endif
739
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
740
-  #if ENABLED(DELTA)
741
-    // Probing points may be verified at compile time within the radius
742
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
743
-    // so that may be added to SanityCheck.h in the future.
744
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
745
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
746
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
747
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
748
-  #elif IS_SCARA
749
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
750
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
751
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
752
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
753
-  #else
754
-    // Boundaries for Cartesian probing based on set limits
755
-    #if ENABLED(BED_CENTER_AT_0_0)
756
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
757
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
758
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
759
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
760
-    #else
761
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
762
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
763
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
764
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
765
-    #endif
766
-  #endif
767
-
768
-  // If this is defined, the currently active mesh will be saved in the
769
-  // current slot on M500.
770
-  #define UBL_SAVE_ACTIVE_ON_M500
710
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
711
+  // Override the mesh area if the automatic (max) area is too large
712
+  //#define MESH_MIN_X MESH_INSET
713
+  //#define MESH_MIN_Y MESH_INSET
714
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
715
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
771 716
 #endif
772 717
 
773 718
 // @section extras

+ 2
- 1
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 2
- 1
Marlin/src/config/examples/RigidBot/Configuration.h Zobrazit soubor

@@ -935,7 +935,7 @@
935 935
   //========================= Unified Bed Leveling ============================
936 936
   //===========================================================================
937 937
 
938
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
938
+  #define MESH_INSET 1              // Mesh inset margin on print area
939 939
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
940 940
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
941 941
 
@@ -948,6 +948,7 @@
948 948
 
949 949
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
950 950
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
951
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
951 952
 
952 953
 #elif ENABLED(MESH_BED_LEVELING)
953 954
 

+ 12
- 67
Marlin/src/config/examples/RigidBot/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/SCARA/Configuration.h Zobrazit soubor

@@ -949,7 +949,7 @@
949 949
   //========================= Unified Bed Leveling ============================
950 950
   //===========================================================================
951 951
 
952
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
952
+  #define MESH_INSET 1              // Mesh inset margin on print area
953 953
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
954 954
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
955 955
 
@@ -962,6 +962,7 @@
962 962
 
963 963
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
964 964
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
965
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
965 966
 
966 967
 #elif ENABLED(MESH_BED_LEVELING)
967 968
 

+ 12
- 67
Marlin/src/config/examples/SCARA/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Sanguinololu/Configuration.h Zobrazit soubor

@@ -968,7 +968,7 @@
968 968
   //========================= Unified Bed Leveling ============================
969 969
   //===========================================================================
970 970
 
971
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
971
+  #define MESH_INSET 1              // Mesh inset margin on print area
972 972
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
973 973
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
974 974
 
@@ -981,6 +981,7 @@
981 981
 
982 982
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
983 983
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
984
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
984 985
 
985 986
 #elif ENABLED(MESH_BED_LEVELING)
986 987
 

+ 12
- 67
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h Zobrazit soubor

@@ -478,12 +478,14 @@
478 478
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
479 479
   #define SD_DETECT_INVERTED
480 480
 
481
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
481
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
482 482
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
483 483
 
484
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
485
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
486
-  // using:
484
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
485
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
486
+  #define SDCARD_RATHERRECENTFIRST
487
+
488
+  // Add an option in the menu to run all auto#.g files
487 489
   //#define MENU_ADDAUTOSTART
488 490
 
489 491
   /**
@@ -673,69 +675,12 @@
673 675
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
674 676
 #endif
675 677
 
676
-// Default mesh area is an area with an inset margin on the print area.
677
-// Below are the macros that are used to define the borders for the mesh area,
678
-// made available here for specialized needs, ie dual extruder setup.
679
-#if ENABLED(MESH_BED_LEVELING)
680
-  #if ENABLED(DELTA)
681
-    // Probing points may be verified at compile time within the radius
682
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
683
-    // so that may be added to SanityCheck.h in the future.
684
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
685
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
686
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
687
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
688
-  #elif IS_SCARA
689
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
690
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
691
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
692
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
693
-  #else
694
-    // Boundaries for Cartesian probing based on set limits
695
-    #if ENABLED(BED_CENTER_AT_0_0)
696
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
697
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
698
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
699
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
700
-    #else
701
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
702
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
703
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
704
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
705
-    #endif
706
-  #endif
707
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
708
-  #if ENABLED(DELTA)
709
-    // Probing points may be verified at compile time within the radius
710
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
711
-    // so that may be added to SanityCheck.h in the future.
712
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
713
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
714
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
715
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
716
-  #elif IS_SCARA
717
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
718
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
719
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
720
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
721
-  #else
722
-    // Boundaries for Cartesian probing based on set limits
723
-    #if ENABLED(BED_CENTER_AT_0_0)
724
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
725
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
726
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
727
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
728
-    #else
729
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
730
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
731
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
732
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
733
-    #endif
734
-  #endif
735
-
736
-  // If this is defined, the currently active mesh will be saved in the
737
-  // current slot on M500.
738
-  #define UBL_SAVE_ACTIVE_ON_M500
678
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
679
+  // Override the mesh area if the automatic (max) area is too large
680
+  //#define MESH_MIN_X MESH_INSET
681
+  //#define MESH_MIN_Y MESH_INSET
682
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
683
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
739 684
 #endif
740 685
 
741 686
 // @section extras

+ 2
- 1
Marlin/src/config/examples/TinyBoy2/Configuration.h Zobrazit soubor

@@ -993,7 +993,7 @@
993 993
   //========================= Unified Bed Leveling ============================
994 994
   //===========================================================================
995 995
 
996
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
996
+  #define MESH_INSET 1              // Mesh inset margin on print area
997 997
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
998 998
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
999 999
 
@@ -1006,6 +1006,7 @@
1006 1006
 
1007 1007
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1008 1008
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1009
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1009 1010
 
1010 1011
 #elif ENABLED(MESH_BED_LEVELING)
1011 1012
 

+ 12
- 67
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Velleman/K8200/Configuration.h Zobrazit soubor

@@ -967,7 +967,7 @@
967 967
   //========================= Unified Bed Leveling ============================
968 968
   //===========================================================================
969 969
 
970
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
970
+  #define MESH_INSET 1              // Mesh inset margin on print area
971 971
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
972 972
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
973 973
 
@@ -980,6 +980,7 @@
980 980
 
981 981
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
982 982
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
983
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
983 984
 
984 985
 #elif ENABLED(MESH_BED_LEVELING)
985 986
 

+ 7
- 64
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h Zobrazit soubor

@@ -502,7 +502,7 @@
502 502
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
503 503
   #define SD_DETECT_INVERTED
504 504
 
505
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
505
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
506 506
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
507 507
 
508 508
   #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
@@ -694,69 +694,12 @@
694 694
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
695 695
 #endif
696 696
 
697
-// Default mesh area is an area with an inset margin on the print area.
698
-// Below are the macros that are used to define the borders for the mesh area,
699
-// made available here for specialized needs, ie dual extruder setup.
700
-#if ENABLED(MESH_BED_LEVELING)
701
-  #if ENABLED(DELTA)
702
-    // Probing points may be verified at compile time within the radius
703
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
704
-    // so that may be added to SanityCheck.h in the future.
705
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
706
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
707
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
708
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
709
-  #elif IS_SCARA
710
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
711
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
712
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
713
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
714
-  #else
715
-    // Boundaries for Cartesian probing based on set limits
716
-    #if ENABLED(BED_CENTER_AT_0_0)
717
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
718
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
719
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
720
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
721
-    #else
722
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
723
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
724
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
725
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
726
-    #endif
727
-  #endif
728
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
729
-  #if ENABLED(DELTA)
730
-    // Probing points may be verified at compile time within the radius
731
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
732
-    // so that may be added to SanityCheck.h in the future.
733
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
734
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
735
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
736
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
737
-  #elif IS_SCARA
738
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
739
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
740
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
741
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
742
-  #else
743
-    // Boundaries for Cartesian probing based on set limits
744
-    #if ENABLED(BED_CENTER_AT_0_0)
745
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
746
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
747
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
748
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
749
-    #else
750
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
751
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
752
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
753
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
754
-    #endif
755
-  #endif
756
-
757
-  // If this is defined, the currently active mesh will be saved in the
758
-  // current slot on M500.
759
-  #define UBL_SAVE_ACTIVE_ON_M500
697
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
698
+  // Override the mesh area if the automatic (max) area is too large
699
+  //#define MESH_MIN_X MESH_INSET
700
+  //#define MESH_MIN_Y MESH_INSET
701
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
702
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
760 703
 #endif
761 704
 
762 705
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Velleman/K8400/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 12
- 67
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 2
- 1
Marlin/src/config/examples/adafruit/ST7565/Configuration.h Zobrazit soubor

@@ -937,7 +937,7 @@
937 937
   //========================= Unified Bed Leveling ============================
938 938
   //===========================================================================
939 939
 
940
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
940
+  #define MESH_INSET 1              // Mesh inset margin on print area
941 941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942 942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943 943
 
@@ -950,6 +950,7 @@
950 950
 
951 951
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
952 952
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
953
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
953 954
 
954 955
 #elif ENABLED(MESH_BED_LEVELING)
955 956
 

+ 2
- 1
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h Zobrazit soubor

@@ -1063,7 +1063,7 @@
1063 1063
   //========================= Unified Bed Leveling ============================
1064 1064
   //===========================================================================
1065 1065
 
1066
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1066
+  #define MESH_INSET 1              // Mesh inset margin on print area
1067 1067
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1068 1068
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1069 1069
 
@@ -1078,6 +1078,7 @@
1078 1078
 
1079 1079
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1080 1080
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1081
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1081 1082
 
1082 1083
 #elif ENABLED(MESH_BED_LEVELING)
1083 1084
 

+ 12
- 67
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h Zobrazit soubor

@@ -491,12 +491,14 @@
491 491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492 492
   #define SD_DETECT_INVERTED
493 493
 
494
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
494
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
495 495
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
496 496
 
497
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
498
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
499
-  // using:
497
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
498
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
499
+  #define SDCARD_RATHERRECENTFIRST
500
+
501
+  // Add an option in the menu to run all auto#.g files
500 502
   //#define MENU_ADDAUTOSTART
501 503
 
502 504
   /**
@@ -686,69 +688,12 @@
686 688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687 689
 #endif
688 690
 
689
-// Default mesh area is an area with an inset margin on the print area.
690
-// Below are the macros that are used to define the borders for the mesh area,
691
-// made available here for specialized needs, ie dual extruder setup.
692
-#if ENABLED(MESH_BED_LEVELING)
693
-  #if ENABLED(DELTA)
694
-    // Probing points may be verified at compile time within the radius
695
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
696
-    // so that may be added to SanityCheck.h in the future.
697
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
699
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
701
-  #elif IS_SCARA
702
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
704
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
706
-  #else
707
-    // Boundaries for Cartesian probing based on set limits
708
-    #if ENABLED(BED_CENTER_AT_0_0)
709
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
710
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
711
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
712
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
713
-    #else
714
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
716
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
717
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
718
-    #endif
719
-  #endif
720
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
721
-  #if ENABLED(DELTA)
722
-    // Probing points may be verified at compile time within the radius
723
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
724
-    // so that may be added to SanityCheck.h in the future.
725
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
727
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
729
-  #elif IS_SCARA
730
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
732
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
734
-  #else
735
-    // Boundaries for Cartesian probing based on set limits
736
-    #if ENABLED(BED_CENTER_AT_0_0)
737
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
740
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
741
-    #else
742
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
744
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
745
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
746
-    #endif
747
-  #endif
748
-
749
-  // If this is defined, the currently active mesh will be saved in the
750
-  // current slot on M500.
751
-  #define UBL_SAVE_ACTIVE_ON_M500
691
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
692
+  // Override the mesh area if the automatic (max) area is too large
693
+  //#define MESH_MIN_X MESH_INSET
694
+  //#define MESH_MIN_Y MESH_INSET
695
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
696
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
752 697
 #endif
753 698
 
754 699
 // @section extras

+ 2
- 1
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h Zobrazit soubor

@@ -1057,7 +1057,7 @@
1057 1057
   //========================= Unified Bed Leveling ============================
1058 1058
   //===========================================================================
1059 1059
 
1060
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1060
+  #define MESH_INSET 1              // Mesh inset margin on print area
1061 1061
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1062 1062
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1063 1063
 
@@ -1072,6 +1072,7 @@
1072 1072
 
1073 1073
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1074 1074
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1075
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1075 1076
 
1076 1077
 #elif ENABLED(MESH_BED_LEVELING)
1077 1078
 

+ 12
- 67
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h Zobrazit soubor

@@ -491,12 +491,14 @@
491 491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492 492
   #define SD_DETECT_INVERTED
493 493
 
494
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
494
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
495 495
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
496 496
 
497
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
498
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
499
-  // using:
497
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
498
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
499
+  #define SDCARD_RATHERRECENTFIRST
500
+
501
+  // Add an option in the menu to run all auto#.g files
500 502
   //#define MENU_ADDAUTOSTART
501 503
 
502 504
   /**
@@ -686,69 +688,12 @@
686 688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687 689
 #endif
688 690
 
689
-// Default mesh area is an area with an inset margin on the print area.
690
-// Below are the macros that are used to define the borders for the mesh area,
691
-// made available here for specialized needs, ie dual extruder setup.
692
-#if ENABLED(MESH_BED_LEVELING)
693
-  #if ENABLED(DELTA)
694
-    // Probing points may be verified at compile time within the radius
695
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
696
-    // so that may be added to SanityCheck.h in the future.
697
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
699
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
701
-  #elif IS_SCARA
702
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
704
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
706
-  #else
707
-    // Boundaries for Cartesian probing based on set limits
708
-    #if ENABLED(BED_CENTER_AT_0_0)
709
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
710
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
711
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
712
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
713
-    #else
714
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
716
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
717
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
718
-    #endif
719
-  #endif
720
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
721
-  #if ENABLED(DELTA)
722
-    // Probing points may be verified at compile time within the radius
723
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
724
-    // so that may be added to SanityCheck.h in the future.
725
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
727
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
729
-  #elif IS_SCARA
730
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
732
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
734
-  #else
735
-    // Boundaries for Cartesian probing based on set limits
736
-    #if ENABLED(BED_CENTER_AT_0_0)
737
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
740
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
741
-    #else
742
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
744
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
745
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
746
-    #endif
747
-  #endif
748
-
749
-  // If this is defined, the currently active mesh will be saved in the
750
-  // current slot on M500.
751
-  #define UBL_SAVE_ACTIVE_ON_M500
691
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
692
+  // Override the mesh area if the automatic (max) area is too large
693
+  //#define MESH_MIN_X MESH_INSET
694
+  //#define MESH_MIN_Y MESH_INSET
695
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
696
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
752 697
 #endif
753 698
 
754 699
 // @section extras

+ 2
- 1
Marlin/src/config/examples/delta/generic/Configuration.h Zobrazit soubor

@@ -1052,7 +1052,7 @@
1052 1052
   //========================= Unified Bed Leveling ============================
1053 1053
   //===========================================================================
1054 1054
 
1055
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1055
+  #define MESH_INSET 1              // Mesh inset margin on print area
1056 1056
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1057 1057
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1058 1058
 
@@ -1067,6 +1067,7 @@
1067 1067
 
1068 1068
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1069 1069
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1070
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1070 1071
 
1071 1072
 #elif ENABLED(MESH_BED_LEVELING)
1072 1073
 

+ 12
- 67
Marlin/src/config/examples/delta/generic/Configuration_adv.h Zobrazit soubor

@@ -491,12 +491,14 @@
491 491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492 492
   #define SD_DETECT_INVERTED
493 493
 
494
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
494
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
495 495
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
496 496
 
497
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
498
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
499
-  // using:
497
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
498
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
499
+  #define SDCARD_RATHERRECENTFIRST
500
+
501
+  // Add an option in the menu to run all auto#.g files
500 502
   //#define MENU_ADDAUTOSTART
501 503
 
502 504
   /**
@@ -686,69 +688,12 @@
686 688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687 689
 #endif
688 690
 
689
-// Default mesh area is an area with an inset margin on the print area.
690
-// Below are the macros that are used to define the borders for the mesh area,
691
-// made available here for specialized needs, ie dual extruder setup.
692
-#if ENABLED(MESH_BED_LEVELING)
693
-  #if ENABLED(DELTA)
694
-    // Probing points may be verified at compile time within the radius
695
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
696
-    // so that may be added to SanityCheck.h in the future.
697
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
699
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
701
-  #elif IS_SCARA
702
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
704
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
706
-  #else
707
-    // Boundaries for Cartesian probing based on set limits
708
-    #if ENABLED(BED_CENTER_AT_0_0)
709
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
710
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
711
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
712
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
713
-    #else
714
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
716
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
717
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
718
-    #endif
719
-  #endif
720
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
721
-  #if ENABLED(DELTA)
722
-    // Probing points may be verified at compile time within the radius
723
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
724
-    // so that may be added to SanityCheck.h in the future.
725
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
727
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
729
-  #elif IS_SCARA
730
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
732
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
734
-  #else
735
-    // Boundaries for Cartesian probing based on set limits
736
-    #if ENABLED(BED_CENTER_AT_0_0)
737
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
740
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
741
-    #else
742
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
744
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
745
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
746
-    #endif
747
-  #endif
748
-
749
-  // If this is defined, the currently active mesh will be saved in the
750
-  // current slot on M500.
751
-  #define UBL_SAVE_ACTIVE_ON_M500
691
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
692
+  // Override the mesh area if the automatic (max) area is too large
693
+  //#define MESH_MIN_X MESH_INSET
694
+  //#define MESH_MIN_Y MESH_INSET
695
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
696
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
752 697
 #endif
753 698
 
754 699
 // @section extras

+ 2
- 1
Marlin/src/config/examples/delta/kossel_mini/Configuration.h Zobrazit soubor

@@ -1055,7 +1055,7 @@
1055 1055
   //========================= Unified Bed Leveling ============================
1056 1056
   //===========================================================================
1057 1057
 
1058
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1058
+  #define MESH_INSET 1              // Mesh inset margin on print area
1059 1059
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1060 1060
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1061 1061
 
@@ -1070,6 +1070,7 @@
1070 1070
 
1071 1071
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1072 1072
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1073
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1073 1074
 
1074 1075
 #elif ENABLED(MESH_BED_LEVELING)
1075 1076
 

+ 12
- 67
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h Zobrazit soubor

@@ -491,12 +491,14 @@
491 491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492 492
   #define SD_DETECT_INVERTED
493 493
 
494
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
494
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
495 495
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
496 496
 
497
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
498
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
499
-  // using:
497
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
498
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
499
+  #define SDCARD_RATHERRECENTFIRST
500
+
501
+  // Add an option in the menu to run all auto#.g files
500 502
   //#define MENU_ADDAUTOSTART
501 503
 
502 504
   /**
@@ -686,69 +688,12 @@
686 688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687 689
 #endif
688 690
 
689
-// Default mesh area is an area with an inset margin on the print area.
690
-// Below are the macros that are used to define the borders for the mesh area,
691
-// made available here for specialized needs, ie dual extruder setup.
692
-#if ENABLED(MESH_BED_LEVELING)
693
-  #if ENABLED(DELTA)
694
-    // Probing points may be verified at compile time within the radius
695
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
696
-    // so that may be added to SanityCheck.h in the future.
697
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
699
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
701
-  #elif IS_SCARA
702
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
704
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
706
-  #else
707
-    // Boundaries for Cartesian probing based on set limits
708
-    #if ENABLED(BED_CENTER_AT_0_0)
709
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
710
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
711
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
712
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
713
-    #else
714
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
716
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
717
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
718
-    #endif
719
-  #endif
720
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
721
-  #if ENABLED(DELTA)
722
-    // Probing points may be verified at compile time within the radius
723
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
724
-    // so that may be added to SanityCheck.h in the future.
725
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
727
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
729
-  #elif IS_SCARA
730
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
732
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
734
-  #else
735
-    // Boundaries for Cartesian probing based on set limits
736
-    #if ENABLED(BED_CENTER_AT_0_0)
737
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
740
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
741
-    #else
742
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
744
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
745
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
746
-    #endif
747
-  #endif
748
-
749
-  // If this is defined, the currently active mesh will be saved in the
750
-  // current slot on M500.
751
-  #define UBL_SAVE_ACTIVE_ON_M500
691
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
692
+  // Override the mesh area if the automatic (max) area is too large
693
+  //#define MESH_MIN_X MESH_INSET
694
+  //#define MESH_MIN_Y MESH_INSET
695
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
696
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
752 697
 #endif
753 698
 
754 699
 // @section extras

+ 2
- 1
Marlin/src/config/examples/delta/kossel_pro/Configuration.h Zobrazit soubor

@@ -1055,7 +1055,7 @@
1055 1055
   //========================= Unified Bed Leveling ============================
1056 1056
   //===========================================================================
1057 1057
 
1058
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1058
+  #define MESH_INSET 1              // Mesh inset margin on print area
1059 1059
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1060 1060
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1061 1061
 
@@ -1070,6 +1070,7 @@
1070 1070
 
1071 1071
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1072 1072
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1073
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1073 1074
 
1074 1075
 #elif ENABLED(MESH_BED_LEVELING)
1075 1076
 

+ 12
- 67
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h Zobrazit soubor

@@ -496,12 +496,14 @@
496 496
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
497 497
   #define SD_DETECT_INVERTED
498 498
 
499
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
499
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
500 500
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
501 501
 
502
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
503
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
504
-  // using:
502
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
503
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
504
+  #define SDCARD_RATHERRECENTFIRST
505
+
506
+  // Add an option in the menu to run all auto#.g files
505 507
   //#define MENU_ADDAUTOSTART
506 508
 
507 509
   /**
@@ -691,69 +693,12 @@
691 693
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
692 694
 #endif
693 695
 
694
-// Default mesh area is an area with an inset margin on the print area.
695
-// Below are the macros that are used to define the borders for the mesh area,
696
-// made available here for specialized needs, ie dual extruder setup.
697
-#if ENABLED(MESH_BED_LEVELING)
698
-  #if ENABLED(DELTA)
699
-    // Probing points may be verified at compile time within the radius
700
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
701
-    // so that may be added to SanityCheck.h in the future.
702
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
704
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
705
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
706
-  #elif IS_SCARA
707
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
708
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
709
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
710
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
711
-  #else
712
-    // Boundaries for Cartesian probing based on set limits
713
-    #if ENABLED(BED_CENTER_AT_0_0)
714
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
715
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
716
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
717
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
718
-    #else
719
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
720
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
721
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
722
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
723
-    #endif
724
-  #endif
725
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
726
-  #if ENABLED(DELTA)
727
-    // Probing points may be verified at compile time within the radius
728
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
729
-    // so that may be added to SanityCheck.h in the future.
730
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
732
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
733
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
734
-  #elif IS_SCARA
735
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
736
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
737
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
738
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
739
-  #else
740
-    // Boundaries for Cartesian probing based on set limits
741
-    #if ENABLED(BED_CENTER_AT_0_0)
742
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
743
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
744
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
745
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
746
-    #else
747
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
748
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
749
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
750
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
751
-    #endif
752
-  #endif
753
-
754
-  // If this is defined, the currently active mesh will be saved in the
755
-  // current slot on M500.
756
-  #define UBL_SAVE_ACTIVE_ON_M500
696
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
697
+  // Override the mesh area if the automatic (max) area is too large
698
+  //#define MESH_MIN_X MESH_INSET
699
+  //#define MESH_MIN_Y MESH_INSET
700
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
701
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
757 702
 #endif
758 703
 
759 704
 // @section extras

+ 2
- 1
Marlin/src/config/examples/delta/kossel_xl/Configuration.h Zobrazit soubor

@@ -1064,7 +1064,7 @@
1064 1064
   //========================= Unified Bed Leveling ============================
1065 1065
   //===========================================================================
1066 1066
 
1067
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1067
+  #define MESH_INSET 1              // Mesh inset margin on print area
1068 1068
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1069 1069
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1070 1070
 
@@ -1079,6 +1079,7 @@
1079 1079
 
1080 1080
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1081 1081
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1082
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1082 1083
 
1083 1084
 #elif ENABLED(MESH_BED_LEVELING)
1084 1085
 

+ 12
- 67
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h Zobrazit soubor

@@ -491,12 +491,14 @@
491 491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492 492
   #define SD_DETECT_INVERTED
493 493
 
494
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
494
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
495 495
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
496 496
 
497
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
498
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
499
-  // using:
497
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
498
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
499
+  #define SDCARD_RATHERRECENTFIRST
500
+
501
+  // Add an option in the menu to run all auto#.g files
500 502
   //#define MENU_ADDAUTOSTART
501 503
 
502 504
   /**
@@ -686,69 +688,12 @@
686 688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687 689
 #endif
688 690
 
689
-// Default mesh area is an area with an inset margin on the print area.
690
-// Below are the macros that are used to define the borders for the mesh area,
691
-// made available here for specialized needs, ie dual extruder setup.
692
-#if ENABLED(MESH_BED_LEVELING)
693
-  #if ENABLED(DELTA)
694
-    // Probing points may be verified at compile time within the radius
695
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
696
-    // so that may be added to SanityCheck.h in the future.
697
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
698
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
699
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
700
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
701
-  #elif IS_SCARA
702
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
703
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
704
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
705
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
706
-  #else
707
-    // Boundaries for Cartesian probing based on set limits
708
-    #if ENABLED(BED_CENTER_AT_0_0)
709
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
710
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
711
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
712
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
713
-    #else
714
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
715
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
716
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
717
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
718
-    #endif
719
-  #endif
720
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
721
-  #if ENABLED(DELTA)
722
-    // Probing points may be verified at compile time within the radius
723
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
724
-    // so that may be added to SanityCheck.h in the future.
725
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
726
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
727
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
728
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
729
-  #elif IS_SCARA
730
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
731
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
732
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
733
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
734
-  #else
735
-    // Boundaries for Cartesian probing based on set limits
736
-    #if ENABLED(BED_CENTER_AT_0_0)
737
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
739
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
740
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
741
-    #else
742
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
743
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
744
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
745
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
746
-    #endif
747
-  #endif
748
-
749
-  // If this is defined, the currently active mesh will be saved in the
750
-  // current slot on M500.
751
-  #define UBL_SAVE_ACTIVE_ON_M500
691
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
692
+  // Override the mesh area if the automatic (max) area is too large
693
+  //#define MESH_MIN_X MESH_INSET
694
+  //#define MESH_MIN_Y MESH_INSET
695
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
696
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
752 697
 #endif
753 698
 
754 699
 // @section extras

+ 2
- 1
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h Zobrazit soubor

@@ -951,7 +951,7 @@
951 951
   //========================= Unified Bed Leveling ============================
952 952
   //===========================================================================
953 953
 
954
-  #define UBL_MESH_INSET 45         // Mesh inset margin on print area
954
+  #define MESH_INSET 45         // Mesh inset margin on print area
955 955
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
956 956
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
957 957
 
@@ -964,6 +964,7 @@
964 964
 
965 965
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
966 966
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
967 968
 
968 969
 #elif ENABLED(MESH_BED_LEVELING)
969 970
 

+ 12
- 67
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/makibox/Configuration.h Zobrazit soubor

@@ -940,7 +940,7 @@
940 940
   //========================= Unified Bed Leveling ============================
941 941
   //===========================================================================
942 942
 
943
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
943
+  #define MESH_INSET 1              // Mesh inset margin on print area
944 944
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
945 945
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
946 946
 
@@ -953,6 +953,7 @@
953 953
 
954 954
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
955 955
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
956
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
956 957
 
957 958
 #elif ENABLED(MESH_BED_LEVELING)
958 959
 

+ 12
- 67
Marlin/src/config/examples/makibox/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   //#define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/stm32f103ret6/Configuration.h Zobrazit soubor

@@ -924,7 +924,7 @@
924 924
   //========================= Unified Bed Leveling ============================
925 925
   //===========================================================================
926 926
 
927
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
927
+  #define MESH_INSET 1              // Mesh inset margin on print area
928 928
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
929 929
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
930 930
 
@@ -937,6 +937,7 @@
937 937
 
938 938
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
939 939
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
940
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
940 941
 
941 942
 #elif ENABLED(MESH_BED_LEVELING)
942 943
 

+ 2
- 1
Marlin/src/config/examples/tvrrug/Round2/Configuration.h Zobrazit soubor

@@ -932,7 +932,7 @@
932 932
   //========================= Unified Bed Leveling ============================
933 933
   //===========================================================================
934 934
 
935
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
935
+  #define MESH_INSET 1              // Mesh inset margin on print area
936 936
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
937 937
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
938 938
 
@@ -945,6 +945,7 @@
945 945
 
946 946
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
947 947
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
948
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
948 949
 
949 950
 #elif ENABLED(MESH_BED_LEVELING)
950 951
 

+ 12
- 67
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 2
- 1
Marlin/src/config/examples/wt150/Configuration.h Zobrazit soubor

@@ -942,7 +942,7 @@
942 942
   //========================= Unified Bed Leveling ============================
943 943
   //===========================================================================
944 944
 
945
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
945
+  #define MESH_INSET 1              // Mesh inset margin on print area
946 946
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
947 947
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
948 948
 
@@ -955,6 +955,7 @@
955 955
 
956 956
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
957 957
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
958
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
958 959
 
959 960
 #elif ENABLED(MESH_BED_LEVELING)
960 961
 

+ 12
- 67
Marlin/src/config/examples/wt150/Configuration_adv.h Zobrazit soubor

@@ -489,12 +489,14 @@
489 489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490 490
   #define SD_DETECT_INVERTED
491 491
 
492
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
492
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
493 493
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
494 494
 
495
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
496
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
497
-  // using:
495
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
496
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
497
+  #define SDCARD_RATHERRECENTFIRST
498
+
499
+  // Add an option in the menu to run all auto#.g files
498 500
   //#define MENU_ADDAUTOSTART
499 501
 
500 502
   /**
@@ -684,69 +686,12 @@
684 686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685 687
 #endif
686 688
 
687
-// Default mesh area is an area with an inset margin on the print area.
688
-// Below are the macros that are used to define the borders for the mesh area,
689
-// made available here for specialized needs, ie dual extruder setup.
690
-#if ENABLED(MESH_BED_LEVELING)
691
-  #if ENABLED(DELTA)
692
-    // Probing points may be verified at compile time within the radius
693
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
694
-    // so that may be added to SanityCheck.h in the future.
695
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
696
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
697
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
698
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
699
-  #elif IS_SCARA
700
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
701
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
702
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
703
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
704
-  #else
705
-    // Boundaries for Cartesian probing based on set limits
706
-    #if ENABLED(BED_CENTER_AT_0_0)
707
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
708
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
709
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
710
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
711
-    #else
712
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
713
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
714
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
715
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
716
-    #endif
717
-  #endif
718
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
719
-  #if ENABLED(DELTA)
720
-    // Probing points may be verified at compile time within the radius
721
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
722
-    // so that may be added to SanityCheck.h in the future.
723
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
724
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
725
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
726
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
727
-  #elif IS_SCARA
728
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
729
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
730
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
731
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
732
-  #else
733
-    // Boundaries for Cartesian probing based on set limits
734
-    #if ENABLED(BED_CENTER_AT_0_0)
735
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
736
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
737
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
738
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
739
-    #else
740
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
741
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
742
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
743
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
744
-    #endif
745
-  #endif
746
-
747
-  // If this is defined, the currently active mesh will be saved in the
748
-  // current slot on M500.
749
-  #define UBL_SAVE_ACTIVE_ON_M500
689
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
690
+  // Override the mesh area if the automatic (max) area is too large
691
+  //#define MESH_MIN_X MESH_INSET
692
+  //#define MESH_MIN_Y MESH_INSET
693
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
694
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
750 695
 #endif
751 696
 
752 697
 // @section extras

+ 4
- 4
Marlin/src/feature/bedlevel/ubl/ubl.cpp Zobrazit soubor

@@ -125,9 +125,9 @@
125 125
       SERIAL_ECHO_SP(spaces + 3);
126 126
       serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
127 127
       SERIAL_EOL();
128
-      serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MAX_Y);
128
+      serial_echo_xy(MESH_MIN_X, MESH_MAX_Y);
129 129
       SERIAL_ECHO_SP(spaces);
130
-      serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MAX_Y);
130
+      serial_echo_xy(MESH_MAX_X, MESH_MAX_Y);
131 131
       SERIAL_EOL();
132 132
     }
133 133
     else {
@@ -174,9 +174,9 @@
174 174
     }
175 175
 
176 176
     if (map_type == 0) {
177
-      serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MIN_Y);
177
+      serial_echo_xy(MESH_MIN_X, MESH_MIN_Y);
178 178
       SERIAL_ECHO_SP(spaces + 4);
179
-      serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MIN_Y);
179
+      serial_echo_xy(MESH_MAX_X, MESH_MIN_Y);
180 180
       SERIAL_EOL();
181 181
       serial_echo_xy(0, 0);
182 182
       SERIAL_ECHO_SP(spaces + 5);

+ 24
- 24
Marlin/src/feature/bedlevel/ubl/ubl.h Zobrazit soubor

@@ -67,8 +67,8 @@ extern uint8_t ubl_cnt;
67 67
   void lcd_quick_feedback();
68 68
 #endif
69 69
 
70
-#define MESH_X_DIST (float(UBL_MESH_MAX_X - (UBL_MESH_MIN_X)) / float(GRID_MAX_POINTS_X - 1))
71
-#define MESH_Y_DIST (float(UBL_MESH_MAX_Y - (UBL_MESH_MIN_Y)) / float(GRID_MAX_POINTS_Y - 1))
70
+#define MESH_X_DIST (float(MESH_MAX_X - (MESH_MIN_X)) / float(GRID_MAX_POINTS_X - 1))
71
+#define MESH_Y_DIST (float(MESH_MAX_Y - (MESH_MIN_Y)) / float(GRID_MAX_POINTS_Y - 1))
72 72
 
73 73
 class unified_bed_leveling {
74 74
   private:
@@ -162,25 +162,25 @@ class unified_bed_leveling {
162 162
     // 15 is the maximum nubmer of grid points supported + 1 safety margin for now,
163 163
     // until determinism prevails
164 164
     constexpr static float _mesh_index_to_xpos[16] PROGMEM = {
165
-                              UBL_MESH_MIN_X +  0 * (MESH_X_DIST), UBL_MESH_MIN_X +  1 * (MESH_X_DIST),
166
-                              UBL_MESH_MIN_X +  2 * (MESH_X_DIST), UBL_MESH_MIN_X +  3 * (MESH_X_DIST),
167
-                              UBL_MESH_MIN_X +  4 * (MESH_X_DIST), UBL_MESH_MIN_X +  5 * (MESH_X_DIST),
168
-                              UBL_MESH_MIN_X +  6 * (MESH_X_DIST), UBL_MESH_MIN_X +  7 * (MESH_X_DIST),
169
-                              UBL_MESH_MIN_X +  8 * (MESH_X_DIST), UBL_MESH_MIN_X +  9 * (MESH_X_DIST),
170
-                              UBL_MESH_MIN_X + 10 * (MESH_X_DIST), UBL_MESH_MIN_X + 11 * (MESH_X_DIST),
171
-                              UBL_MESH_MIN_X + 12 * (MESH_X_DIST), UBL_MESH_MIN_X + 13 * (MESH_X_DIST),
172
-                              UBL_MESH_MIN_X + 14 * (MESH_X_DIST), UBL_MESH_MIN_X + 15 * (MESH_X_DIST)
165
+                              MESH_MIN_X +  0 * (MESH_X_DIST), MESH_MIN_X +  1 * (MESH_X_DIST),
166
+                              MESH_MIN_X +  2 * (MESH_X_DIST), MESH_MIN_X +  3 * (MESH_X_DIST),
167
+                              MESH_MIN_X +  4 * (MESH_X_DIST), MESH_MIN_X +  5 * (MESH_X_DIST),
168
+                              MESH_MIN_X +  6 * (MESH_X_DIST), MESH_MIN_X +  7 * (MESH_X_DIST),
169
+                              MESH_MIN_X +  8 * (MESH_X_DIST), MESH_MIN_X +  9 * (MESH_X_DIST),
170
+                              MESH_MIN_X + 10 * (MESH_X_DIST), MESH_MIN_X + 11 * (MESH_X_DIST),
171
+                              MESH_MIN_X + 12 * (MESH_X_DIST), MESH_MIN_X + 13 * (MESH_X_DIST),
172
+                              MESH_MIN_X + 14 * (MESH_X_DIST), MESH_MIN_X + 15 * (MESH_X_DIST)
173 173
                             };
174 174
 
175 175
     constexpr static float _mesh_index_to_ypos[16] PROGMEM = {
176
-                              UBL_MESH_MIN_Y +  0 * (MESH_Y_DIST), UBL_MESH_MIN_Y +  1 * (MESH_Y_DIST),
177
-                              UBL_MESH_MIN_Y +  2 * (MESH_Y_DIST), UBL_MESH_MIN_Y +  3 * (MESH_Y_DIST),
178
-                              UBL_MESH_MIN_Y +  4 * (MESH_Y_DIST), UBL_MESH_MIN_Y +  5 * (MESH_Y_DIST),
179
-                              UBL_MESH_MIN_Y +  6 * (MESH_Y_DIST), UBL_MESH_MIN_Y +  7 * (MESH_Y_DIST),
180
-                              UBL_MESH_MIN_Y +  8 * (MESH_Y_DIST), UBL_MESH_MIN_Y +  9 * (MESH_Y_DIST),
181
-                              UBL_MESH_MIN_Y + 10 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 11 * (MESH_Y_DIST),
182
-                              UBL_MESH_MIN_Y + 12 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 13 * (MESH_Y_DIST),
183
-                              UBL_MESH_MIN_Y + 14 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 15 * (MESH_Y_DIST)
176
+                              MESH_MIN_Y +  0 * (MESH_Y_DIST), MESH_MIN_Y +  1 * (MESH_Y_DIST),
177
+                              MESH_MIN_Y +  2 * (MESH_Y_DIST), MESH_MIN_Y +  3 * (MESH_Y_DIST),
178
+                              MESH_MIN_Y +  4 * (MESH_Y_DIST), MESH_MIN_Y +  5 * (MESH_Y_DIST),
179
+                              MESH_MIN_Y +  6 * (MESH_Y_DIST), MESH_MIN_Y +  7 * (MESH_Y_DIST),
180
+                              MESH_MIN_Y +  8 * (MESH_Y_DIST), MESH_MIN_Y +  9 * (MESH_Y_DIST),
181
+                              MESH_MIN_Y + 10 * (MESH_Y_DIST), MESH_MIN_Y + 11 * (MESH_Y_DIST),
182
+                              MESH_MIN_Y + 12 * (MESH_Y_DIST), MESH_MIN_Y + 13 * (MESH_Y_DIST),
183
+                              MESH_MIN_Y + 14 * (MESH_Y_DIST), MESH_MIN_Y + 15 * (MESH_Y_DIST)
184 184
                             };
185 185
 
186 186
     static bool g26_debug_flag, has_control_of_lcd_panel;
@@ -196,14 +196,14 @@ class unified_bed_leveling {
196 196
     FORCE_INLINE static void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; }
197 197
 
198 198
     static int8_t get_cell_index_x(const float &x) {
199
-      const int8_t cx = (x - (UBL_MESH_MIN_X)) * (1.0 / (MESH_X_DIST));
199
+      const int8_t cx = (x - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST));
200 200
       return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1);   // -1 is appropriate if we want all movement to the X_MAX
201 201
     }                                                     // position. But with this defined this way, it is possible
202 202
                                                           // to extrapolate off of this point even further out. Probably
203 203
                                                           // that is OK because something else should be keeping that from
204 204
                                                           // happening and should not be worried about at this level.
205 205
     static int8_t get_cell_index_y(const float &y) {
206
-      const int8_t cy = (y - (UBL_MESH_MIN_Y)) * (1.0 / (MESH_Y_DIST));
206
+      const int8_t cy = (y - (MESH_MIN_Y)) * (1.0 / (MESH_Y_DIST));
207 207
       return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 1);   // -1 is appropriate if we want all movement to the Y_MAX
208 208
     }                                                     // position. But with this defined this way, it is possible
209 209
                                                           // to extrapolate off of this point even further out. Probably
@@ -211,12 +211,12 @@ class unified_bed_leveling {
211 211
                                                           // happening and should not be worried about at this level.
212 212
 
213 213
     static int8_t find_closest_x_index(const float &x) {
214
-      const int8_t px = (x - (UBL_MESH_MIN_X) + (MESH_X_DIST) * 0.5) * (1.0 / (MESH_X_DIST));
214
+      const int8_t px = (x - (MESH_MIN_X) + (MESH_X_DIST) * 0.5) * (1.0 / (MESH_X_DIST));
215 215
       return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1;
216 216
     }
217 217
 
218 218
     static int8_t find_closest_y_index(const float &y) {
219
-      const int8_t py = (y - (UBL_MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * (1.0 / (MESH_Y_DIST));
219
+      const int8_t py = (y - (MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * (1.0 / (MESH_Y_DIST));
220 220
       return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1;
221 221
     }
222 222
 
@@ -362,11 +362,11 @@ class unified_bed_leveling {
362 362
     }
363 363
 
364 364
     FORCE_INLINE static float mesh_index_to_xpos(const uint8_t i) {
365
-      return i < GRID_MAX_POINTS_X ? pgm_read_float(&_mesh_index_to_xpos[i]) : UBL_MESH_MIN_X + i * (MESH_X_DIST);
365
+      return i < GRID_MAX_POINTS_X ? pgm_read_float(&_mesh_index_to_xpos[i]) : MESH_MIN_X + i * (MESH_X_DIST);
366 366
     }
367 367
 
368 368
     FORCE_INLINE static float mesh_index_to_ypos(const uint8_t i) {
369
-      return i < GRID_MAX_POINTS_Y ? pgm_read_float(&_mesh_index_to_ypos[i]) : UBL_MESH_MIN_Y + i * (MESH_Y_DIST);
369
+      return i < GRID_MAX_POINTS_Y ? pgm_read_float(&_mesh_index_to_ypos[i]) : MESH_MIN_Y + i * (MESH_Y_DIST);
370 370
     }
371 371
 
372 372
     static bool prepare_segmented_line_to(const float ltarget[XYZE], const float &feedrate);

+ 12
- 12
Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp Zobrazit soubor

@@ -415,7 +415,7 @@
415 415
           z2 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_2_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_2_Y)) /* + zprobe_zoffset */ ;
416 416
           z3 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_3_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_3_Y)) /* + zprobe_zoffset */ ;
417 417
 
418
-          do_blocking_move_to_xy(0.5 * (UBL_MESH_MAX_X - (UBL_MESH_MIN_X)), 0.5 * (UBL_MESH_MAX_Y - (UBL_MESH_MIN_Y)));
418
+          do_blocking_move_to_xy(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)));
419 419
           tilt_mesh_based_on_3pts(z1, z2, z3);
420 420
           restore_ubl_active_state_and_leave();
421 421
         }
@@ -778,8 +778,8 @@
778 778
       restore_ubl_active_state_and_leave();
779 779
 
780 780
       do_blocking_move_to_xy(
781
-        constrain(lx - (X_PROBE_OFFSET_FROM_EXTRUDER), UBL_MESH_MIN_X, UBL_MESH_MAX_X),
782
-        constrain(ly - (Y_PROBE_OFFSET_FROM_EXTRUDER), UBL_MESH_MIN_Y, UBL_MESH_MAX_Y)
781
+        constrain(lx - (X_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_X, MESH_MAX_X),
782
+        constrain(ly - (Y_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_Y, MESH_MAX_Y)
783 783
       );
784 784
     }
785 785
 
@@ -915,7 +915,7 @@
915 915
       save_ubl_active_state_and_disable();   // Disable bed level correction for probing
916 916
 
917 917
       do_blocking_move_to_z(in_height);
918
-      do_blocking_move_to_xy(0.5 * (UBL_MESH_MAX_X - (UBL_MESH_MIN_X)), 0.5 * (UBL_MESH_MAX_Y - (UBL_MESH_MIN_Y)));
918
+      do_blocking_move_to_xy(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)));
919 919
         //, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
920 920
       stepper.synchronize();
921 921
 
@@ -1221,11 +1221,11 @@
1221 1221
       SERIAL_EOL();
1222 1222
     #endif
1223 1223
 
1224
-    SERIAL_ECHOLNPAIR("UBL_MESH_MIN_X  " STRINGIFY(UBL_MESH_MIN_X) "=", UBL_MESH_MIN_X);
1225
-    SERIAL_ECHOLNPAIR("UBL_MESH_MIN_Y  " STRINGIFY(UBL_MESH_MIN_Y) "=", UBL_MESH_MIN_Y);
1224
+    SERIAL_ECHOLNPAIR("MESH_MIN_X  " STRINGIFY(MESH_MIN_X) "=", MESH_MIN_X);
1225
+    SERIAL_ECHOLNPAIR("MESH_MIN_Y  " STRINGIFY(MESH_MIN_Y) "=", MESH_MIN_Y);
1226 1226
     safe_delay(25);
1227
-    SERIAL_ECHOLNPAIR("UBL_MESH_MAX_X  " STRINGIFY(UBL_MESH_MAX_X) "=", UBL_MESH_MAX_X);
1228
-    SERIAL_ECHOLNPAIR("UBL_MESH_MAX_Y  " STRINGIFY(UBL_MESH_MAX_Y) "=", UBL_MESH_MAX_Y);
1227
+    SERIAL_ECHOLNPAIR("MESH_MAX_X  " STRINGIFY(MESH_MAX_X) "=", MESH_MAX_X);
1228
+    SERIAL_ECHOLNPAIR("MESH_MAX_Y  " STRINGIFY(MESH_MAX_Y) "=", MESH_MAX_Y);
1229 1229
     safe_delay(25);
1230 1230
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_X  ", GRID_MAX_POINTS_X);
1231 1231
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_Y  ", GRID_MAX_POINTS_Y);
@@ -1641,10 +1641,10 @@
1641 1641
   #if HAS_BED_PROBE
1642 1642
 
1643 1643
     void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_ubl_mesh_map) {
1644
-      constexpr int16_t x_min = max(MIN_PROBE_X, UBL_MESH_MIN_X),
1645
-                        x_max = min(MAX_PROBE_X, UBL_MESH_MAX_X),
1646
-                        y_min = max(MIN_PROBE_Y, UBL_MESH_MIN_Y),
1647
-                        y_max = min(MAX_PROBE_Y, UBL_MESH_MAX_Y);
1644
+      constexpr int16_t x_min = max(MIN_PROBE_X, MESH_MIN_X),
1645
+                        x_max = min(MAX_PROBE_X, MESH_MAX_X),
1646
+                        y_min = max(MIN_PROBE_Y, MESH_MIN_Y),
1647
+                        y_max = min(MAX_PROBE_Y, MESH_MAX_Y);
1648 1648
 
1649 1649
       const float dx = float(x_max - x_min) / (g29_grid_size - 1.0),
1650 1650
                   dy = float(y_max - y_min) / (g29_grid_size - 1.0);

+ 2
- 2
Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp Zobrazit soubor

@@ -622,8 +622,8 @@
622 622
         // in top of loop and again re-find same adjacent cell and use it, just less efficient
623 623
         // for mesh inset area.
624 624
 
625
-        int8_t cell_xi = (seg_rx - (UBL_MESH_MIN_X)) * (1.0 / (MESH_X_DIST)),
626
-               cell_yi = (seg_ry - (UBL_MESH_MIN_Y)) * (1.0 / (MESH_X_DIST));
625
+        int8_t cell_xi = (seg_rx - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST)),
626
+               cell_yi = (seg_ry - (MESH_MIN_Y)) * (1.0 / (MESH_X_DIST));
627 627
 
628 628
         cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1);
629 629
         cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1);

+ 385
- 385
Marlin/src/inc/Conditionals_LCD.h Zobrazit soubor

@@ -28,468 +28,468 @@
28 28
 #ifndef CONDITIONALS_LCD_H // Get the LCD defines which are needed first
29 29
 #define CONDITIONALS_LCD_H
30 30
 
31
-  #define LCD_HAS_DIRECTIONAL_BUTTONS (BUTTON_EXISTS(UP) || BUTTON_EXISTS(DWN) || BUTTON_EXISTS(LFT) || BUTTON_EXISTS(RT))
31
+#define LCD_HAS_DIRECTIONAL_BUTTONS (BUTTON_EXISTS(UP) || BUTTON_EXISTS(DWN) || BUTTON_EXISTS(LFT) || BUTTON_EXISTS(RT))
32 32
 
33
-  #if ENABLED(CARTESIO_UI)
33
+#if ENABLED(CARTESIO_UI)
34 34
 
35
-    #define DOGLCD
36
-    #define ULTIPANEL
37
-    #define DEFAULT_LCD_CONTRAST 90
38
-    #define LCD_CONTRAST_MIN 60
39
-    #define LCD_CONTRAST_MAX 140
35
+  #define DOGLCD
36
+  #define ULTIPANEL
37
+  #define DEFAULT_LCD_CONTRAST 90
38
+  #define LCD_CONTRAST_MIN 60
39
+  #define LCD_CONTRAST_MAX 140
40 40
 
41
-  #elif ENABLED(MAKRPANEL)
41
+#elif ENABLED(MAKRPANEL)
42 42
 
43
-    #define U8GLIB_ST7565_64128N
44
-
45
-  #elif ENABLED(ANET_KEYPAD_LCD)
46
-
47
-    #define REPRAPWORLD_KEYPAD
48
-    #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
49
-    #define ADC_KEYPAD
50
-    #define ADC_KEY_NUM 8
51
-    #define ULTIPANEL
52
-
53
-    // this helps to implement ADC_KEYPAD menus
54
-    #define ENCODER_PULSES_PER_STEP 1
55
-    #define ENCODER_STEPS_PER_MENU_ITEM 1
56
-    #define REVERSE_MENU_DIRECTION
43
+  #define U8GLIB_ST7565_64128N
57 44
 
58
-  #elif ENABLED(ANET_FULL_GRAPHICS_LCD)
45
+#elif ENABLED(ANET_KEYPAD_LCD)
59 46
 
60
-    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
47
+  #define REPRAPWORLD_KEYPAD
48
+  #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
49
+  #define ADC_KEYPAD
50
+  #define ADC_KEY_NUM 8
51
+  #define ULTIPANEL
61 52
 
62
-  #elif ENABLED(BQ_LCD_SMART_CONTROLLER)
53
+  // this helps to implement ADC_KEYPAD menus
54
+  #define ENCODER_PULSES_PER_STEP 1
55
+  #define ENCODER_STEPS_PER_MENU_ITEM 1
56
+  #define REVERSE_MENU_DIRECTION
63 57
 
64
-    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
58
+#elif ENABLED(ANET_FULL_GRAPHICS_LCD)
65 59
 
66
-  #elif ENABLED(miniVIKI) || ENABLED(VIKI2) || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) || ENABLED(AZSMZ_12864)
60
+  #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
67 61
 
68
-    #define ULTRA_LCD  //general LCD support, also 16x2
69
-    #define DOGLCD  // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
70
-    #define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
71
-
72
-    #if ENABLED(miniVIKI)
73
-      #define LCD_CONTRAST_MIN  75
74
-      #define LCD_CONTRAST_MAX 115
75
-      #define DEFAULT_LCD_CONTRAST 95
76
-      #define U8GLIB_ST7565_64128N
77
-    #elif ENABLED(VIKI2)
78
-      #define LCD_CONTRAST_MIN 0
79
-      #define LCD_CONTRAST_MAX 255
80
-      #define DEFAULT_LCD_CONTRAST 140
81
-      #define U8GLIB_ST7565_64128N
82
-    #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
83
-      #define LCD_CONTRAST_MIN  90
84
-      #define LCD_CONTRAST_MAX 130
85
-      #define DEFAULT_LCD_CONTRAST 110
86
-      #define U8GLIB_LM6059_AF
87
-      #define SD_DETECT_INVERTED
88
-    #elif ENABLED(AZSMZ_12864)
89
-      #define LCD_CONTRAST_MIN  120
90
-      #define LCD_CONTRAST_MAX 255
91
-      #define DEFAULT_LCD_CONTRAST 190
92
-      #define U8GLIB_ST7565_64128N
93
-    #endif
62
+#elif ENABLED(BQ_LCD_SMART_CONTROLLER)
94 63
 
95
-  #elif ENABLED(OLED_PANEL_TINYBOY2)
64
+  #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
96 65
 
97
-    #define U8GLIB_SSD1306
98
-    #define ULTIPANEL
99
-    #define REVERSE_ENCODER_DIRECTION
100
-    #define REVERSE_MENU_DIRECTION
66
+#elif ENABLED(miniVIKI) || ENABLED(VIKI2) || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) || ENABLED(AZSMZ_12864)
101 67
 
102
-  #elif ENABLED(RA_CONTROL_PANEL)
68
+  #define ULTRA_LCD  //general LCD support, also 16x2
69
+  #define DOGLCD  // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
70
+  #define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
103 71
 
104
-    #define LCD_I2C_TYPE_PCA8574
105
-    #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
106
-    #define ULTIPANEL
72
+  #if ENABLED(miniVIKI)
73
+    #define LCD_CONTRAST_MIN  75
74
+    #define LCD_CONTRAST_MAX 115
75
+    #define DEFAULT_LCD_CONTRAST 95
76
+    #define U8GLIB_ST7565_64128N
77
+  #elif ENABLED(VIKI2)
78
+    #define LCD_CONTRAST_MIN 0
79
+    #define LCD_CONTRAST_MAX 255
80
+    #define DEFAULT_LCD_CONTRAST 140
81
+    #define U8GLIB_ST7565_64128N
82
+  #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
83
+    #define LCD_CONTRAST_MIN  90
84
+    #define LCD_CONTRAST_MAX 130
85
+    #define DEFAULT_LCD_CONTRAST 110
86
+    #define U8GLIB_LM6059_AF
87
+    #define SD_DETECT_INVERTED
88
+  #elif ENABLED(AZSMZ_12864)
89
+    #define LCD_CONTRAST_MIN  120
90
+    #define LCD_CONTRAST_MAX 255
91
+    #define DEFAULT_LCD_CONTRAST 190
92
+    #define U8GLIB_ST7565_64128N
93
+  #endif
107 94
 
108
-  #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
95
+#elif ENABLED(OLED_PANEL_TINYBOY2)
109 96
 
110
-    #define DOGLCD
111
-    #define U8GLIB_ST7920
112
-    #define ULTIPANEL
97
+  #define U8GLIB_SSD1306
98
+  #define ULTIPANEL
99
+  #define REVERSE_ENCODER_DIRECTION
100
+  #define REVERSE_MENU_DIRECTION
113 101
 
114
-  #elif ENABLED(CR10_STOCKDISPLAY)
102
+#elif ENABLED(RA_CONTROL_PANEL)
115 103
 
116
-    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
117
-    #ifndef ST7920_DELAY_1
118
-      #define ST7920_DELAY_1 DELAY_2_NOP
119
-    #endif
120
-    #ifndef ST7920_DELAY_2
121
-      #define ST7920_DELAY_2 DELAY_2_NOP
122
-    #endif
123
-    #ifndef ST7920_DELAY_3
124
-      #define ST7920_DELAY_3 DELAY_2_NOP
125
-    #endif
104
+  #define LCD_I2C_TYPE_PCA8574
105
+  #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
106
+  #define ULTIPANEL
126 107
 
127
-  #elif ENABLED(MKS_12864OLED)
108
+#elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
128 109
 
129
-    #define REPRAP_DISCOUNT_SMART_CONTROLLER
130
-    #define U8GLIB_SH1106
110
+  #define DOGLCD
111
+  #define U8GLIB_ST7920
112
+  #define ULTIPANEL
131 113
 
132
-  #elif ENABLED(MKS_MINI_12864)
133
-
134
-    #define MINIPANEL
114
+#elif ENABLED(CR10_STOCKDISPLAY)
135 115
 
116
+  #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
117
+  #ifndef ST7920_DELAY_1
118
+    #define ST7920_DELAY_1 DELAY_2_NOP
136 119
   #endif
137
-
138
-  #if ENABLED(MAKRPANEL) || ENABLED(MINIPANEL)
139
-    #define DOGLCD
140
-    #define ULTIPANEL
141
-    #define DEFAULT_LCD_CONTRAST 17
120
+  #ifndef ST7920_DELAY_2
121
+    #define ST7920_DELAY_2 DELAY_2_NOP
142 122
   #endif
143
-
144
-  // Generic support for SSD1306 / SH1106 OLED based LCDs.
145
-  #if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106)
146
-    #define ULTRA_LCD  //general LCD support, also 16x2
147
-    #define DOGLCD  // Support for I2C LCD 128x64 (Controller SSD1306 / SH1106 graphic Display Family)
123
+  #ifndef ST7920_DELAY_3
124
+    #define ST7920_DELAY_3 DELAY_2_NOP
148 125
   #endif
149 126
 
150
-  #if ENABLED(PANEL_ONE) || ENABLED(U8GLIB_SH1106)
127
+#elif ENABLED(MKS_12864OLED)
151 128
 
152
-    #define ULTIMAKERCONTROLLER
129
+  #define REPRAP_DISCOUNT_SMART_CONTROLLER
130
+  #define U8GLIB_SH1106
153 131
 
154
-  #elif ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602)
132
+#elif ENABLED(MKS_MINI_12864)
155 133
 
156
-    #define REPRAP_DISCOUNT_SMART_CONTROLLER
157
-    #define LCD_WIDTH 16
158
-    #define LCD_HEIGHT 2
134
+  #define MINIPANEL
159 135
 
160
-  #endif
136
+#endif
161 137
 
162
-  #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(LCD_FOR_MELZI)
163
-    #define DOGLCD
164
-    #define U8GLIB_ST7920
165
-    #define REPRAP_DISCOUNT_SMART_CONTROLLER
166
-  #endif
138
+#if ENABLED(MAKRPANEL) || ENABLED(MINIPANEL)
139
+  #define DOGLCD
140
+  #define ULTIPANEL
141
+  #define DEFAULT_LCD_CONTRAST 17
142
+#endif
167 143
 
168
-  #if ENABLED(ULTIMAKERCONTROLLER)              \
169
-   || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \
170
-   || ENABLED(G3D_PANEL)                        \
171
-   || ENABLED(RIGIDBOT_PANEL)
172
-    #define ULTIPANEL
173
-  #endif
144
+// Generic support for SSD1306 / SH1106 OLED based LCDs.
145
+#if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106)
146
+  #define ULTRA_LCD  //general LCD support, also 16x2
147
+  #define DOGLCD  // Support for I2C LCD 128x64 (Controller SSD1306 / SH1106 graphic Display Family)
148
+#endif
174 149
 
175
-  #if ENABLED(REPRAPWORLD_KEYPAD)
176
-    #define NEWPANEL
177
-    #if ENABLED(ULTIPANEL) && !defined(REPRAPWORLD_KEYPAD_MOVE_STEP)
178
-      #define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
179
-    #endif
180
-  #endif
150
+#if ENABLED(PANEL_ONE) || ENABLED(U8GLIB_SH1106)
181 151
 
182
-  /**
183
-   * I2C PANELS
184
-   */
152
+  #define ULTIMAKERCONTROLLER
185 153
 
186
-  #if ENABLED(LCD_I2C_SAINSMART_YWROBOT)
154
+#elif ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602)
187 155
 
188
-    // Note: This controller requires F.Malpartida's LiquidCrystal_I2C library
189
-    // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
156
+  #define REPRAP_DISCOUNT_SMART_CONTROLLER
157
+  #define LCD_WIDTH 16
158
+  #define LCD_HEIGHT 2
190 159
 
191
-    #define LCD_I2C_TYPE_PCF8575
192
-    #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
193
-    #define ULTIPANEL
160
+#endif
194 161
 
195
-  #elif ENABLED(LCD_I2C_PANELOLU2)
162
+#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(LCD_FOR_MELZI)
163
+  #define DOGLCD
164
+  #define U8GLIB_ST7920
165
+  #define REPRAP_DISCOUNT_SMART_CONTROLLER
166
+#endif
196 167
 
197
-    // PANELOLU2 LCD with status LEDs, separate encoder and click inputs
168
+#if ENABLED(ULTIMAKERCONTROLLER)              \
169
+ || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \
170
+ || ENABLED(G3D_PANEL)                        \
171
+ || ENABLED(RIGIDBOT_PANEL)
172
+  #define ULTIPANEL
173
+#endif
198 174
 
199
-    #define LCD_I2C_TYPE_MCP23017
200
-    #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
201
-    #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
202
-    #define ULTIPANEL
175
+#if ENABLED(REPRAPWORLD_KEYPAD)
176
+  #define NEWPANEL
177
+  #if ENABLED(ULTIPANEL) && !defined(REPRAPWORLD_KEYPAD_MOVE_STEP)
178
+    #define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
179
+  #endif
180
+#endif
203 181
 
204
-  #elif ENABLED(LCD_I2C_VIKI)
182
+/**
183
+ * I2C PANELS
184
+ */
205 185
 
206
-    /**
207
-     * Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
208
-     *
209
-     * This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
210
-     * Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
211
-     * Note: The pause/stop/resume LCD button pin should be connected to the Arduino
212
-     *       BTN_ENC pin (or set BTN_ENC to -1 if not used)
213
-     */
214
-    #define LCD_I2C_TYPE_MCP23017
215
-    #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
216
-    #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
217
-    #define ULTIPANEL
186
+#if ENABLED(LCD_I2C_SAINSMART_YWROBOT)
218 187
 
219
-    #define ENCODER_FEEDRATE_DEADZONE 4
188
+  // Note: This controller requires F.Malpartida's LiquidCrystal_I2C library
189
+  // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
220 190
 
221
-    #define STD_ENCODER_PULSES_PER_STEP 1
222
-    #define STD_ENCODER_STEPS_PER_MENU_ITEM 2
191
+  #define LCD_I2C_TYPE_PCF8575
192
+  #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
193
+  #define ULTIPANEL
223 194
 
224
-  #elif ENABLED(G3D_PANEL)
195
+#elif ENABLED(LCD_I2C_PANELOLU2)
225 196
 
226
-    #define STD_ENCODER_PULSES_PER_STEP 2
227
-    #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
197
+  // PANELOLU2 LCD with status LEDs, separate encoder and click inputs
228 198
 
229
-  #elif ENABLED(miniVIKI) || ENABLED(VIKI2) \
230
-     || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
231
-     || ENABLED(AZSMZ_12864) \
232
-     || ENABLED(OLED_PANEL_TINYBOY2) \
233
-     || ENABLED(BQ_LCD_SMART_CONTROLLER) \
234
-     || ENABLED(LCD_I2C_PANELOLU2) \
235
-     || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
236
-    #define STD_ENCODER_PULSES_PER_STEP 4
237
-    #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
238
-  #endif
199
+  #define LCD_I2C_TYPE_MCP23017
200
+  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
201
+  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
202
+  #define ULTIPANEL
239 203
 
240
-  #ifndef STD_ENCODER_PULSES_PER_STEP
241
-    #define STD_ENCODER_PULSES_PER_STEP 5
242
-  #endif
243
-  #ifndef STD_ENCODER_STEPS_PER_MENU_ITEM
244
-    #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
204
+#elif ENABLED(LCD_I2C_VIKI)
205
+
206
+  /**
207
+   * Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
208
+   *
209
+   * This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
210
+   * Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
211
+   * Note: The pause/stop/resume LCD button pin should be connected to the Arduino
212
+   *       BTN_ENC pin (or set BTN_ENC to -1 if not used)
213
+   */
214
+  #define LCD_I2C_TYPE_MCP23017
215
+  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
216
+  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
217
+  #define ULTIPANEL
218
+
219
+  #define ENCODER_FEEDRATE_DEADZONE 4
220
+
221
+  #define STD_ENCODER_PULSES_PER_STEP 1
222
+  #define STD_ENCODER_STEPS_PER_MENU_ITEM 2
223
+
224
+#elif ENABLED(G3D_PANEL)
225
+
226
+  #define STD_ENCODER_PULSES_PER_STEP 2
227
+  #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
228
+
229
+#elif ENABLED(miniVIKI) || ENABLED(VIKI2) \
230
+   || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
231
+   || ENABLED(AZSMZ_12864) \
232
+   || ENABLED(OLED_PANEL_TINYBOY2) \
233
+   || ENABLED(BQ_LCD_SMART_CONTROLLER) \
234
+   || ENABLED(LCD_I2C_PANELOLU2) \
235
+   || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
236
+  #define STD_ENCODER_PULSES_PER_STEP 4
237
+  #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
238
+#endif
239
+
240
+#ifndef STD_ENCODER_PULSES_PER_STEP
241
+  #define STD_ENCODER_PULSES_PER_STEP 5
242
+#endif
243
+#ifndef STD_ENCODER_STEPS_PER_MENU_ITEM
244
+  #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
245
+#endif
246
+#ifndef ENCODER_PULSES_PER_STEP
247
+  #define ENCODER_PULSES_PER_STEP STD_ENCODER_PULSES_PER_STEP
248
+#endif
249
+#ifndef ENCODER_STEPS_PER_MENU_ITEM
250
+  #define ENCODER_STEPS_PER_MENU_ITEM STD_ENCODER_STEPS_PER_MENU_ITEM
251
+#endif
252
+#ifndef ENCODER_FEEDRATE_DEADZONE
253
+  #define ENCODER_FEEDRATE_DEADZONE 6
254
+#endif
255
+
256
+// Shift register panels
257
+// ---------------------
258
+// 2 wire Non-latching LCD SR from:
259
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
260
+
261
+#if ENABLED(SAV_3DLCD)
262
+  #define SR_LCD_2W_NL    // Non latching 2 wire shift register
263
+  #define ULTIPANEL
264
+#endif
265
+
266
+#if ENABLED(DOGLCD) // Change number of lines to match the DOG graphic display
267
+  #ifndef LCD_WIDTH
268
+    #define LCD_WIDTH 22
245 269
   #endif
246
-  #ifndef ENCODER_PULSES_PER_STEP
247
-    #define ENCODER_PULSES_PER_STEP STD_ENCODER_PULSES_PER_STEP
270
+  #ifndef LCD_HEIGHT
271
+    #define LCD_HEIGHT 5
248 272
   #endif
249
-  #ifndef ENCODER_STEPS_PER_MENU_ITEM
250
-    #define ENCODER_STEPS_PER_MENU_ITEM STD_ENCODER_STEPS_PER_MENU_ITEM
273
+#endif
274
+
275
+#if ENABLED(ULTIPANEL)
276
+  #define NEWPANEL  // Disable this if you actually have no click-encoder panel
277
+  #define ULTRA_LCD
278
+  #ifndef LCD_WIDTH
279
+    #define LCD_WIDTH 20
251 280
   #endif
252
-  #ifndef ENCODER_FEEDRATE_DEADZONE
253
-    #define ENCODER_FEEDRATE_DEADZONE 6
281
+  #ifndef LCD_HEIGHT
282
+    #define LCD_HEIGHT 4
254 283
   #endif
255
-
256
-  // Shift register panels
257
-  // ---------------------
258
-  // 2 wire Non-latching LCD SR from:
259
-  // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
260
-
261
-  #if ENABLED(SAV_3DLCD)
262
-    #define SR_LCD_2W_NL    // Non latching 2 wire shift register
263
-    #define ULTIPANEL
284
+#elif ENABLED(ULTRA_LCD)  // no panel but just LCD
285
+  #ifndef LCD_WIDTH
286
+    #define LCD_WIDTH 16
264 287
   #endif
265
-
266
-  #if ENABLED(DOGLCD) // Change number of lines to match the DOG graphic display
267
-    #ifndef LCD_WIDTH
268
-      #define LCD_WIDTH 22
269
-    #endif
270
-    #ifndef LCD_HEIGHT
271
-      #define LCD_HEIGHT 5
272
-    #endif
288
+  #ifndef LCD_HEIGHT
289
+    #define LCD_HEIGHT 2
273 290
   #endif
291
+#endif
292
+
293
+#if ENABLED(DOGLCD)
294
+  /* Custom characters defined in font dogm_font_data_Marlin_symbols.h / Marlin_symbols.fon */
295
+  // \x00 intentionally skipped to avoid problems in strings
296
+  #define LCD_STR_REFRESH     "\x01"
297
+  #define LCD_STR_FOLDER      "\x02"
298
+  #define LCD_STR_ARROW_RIGHT "\x03"
299
+  #define LCD_STR_UPLEVEL     "\x04"
300
+  #define LCD_STR_CLOCK       "\x05"
301
+  #define LCD_STR_FEEDRATE    "\x06"
302
+  #define LCD_STR_BEDTEMP     "\x07"
303
+  #define LCD_STR_THERMOMETER "\x08"
304
+  #define LCD_STR_DEGREE      "\x09"
305
+
306
+  #define LCD_STR_SPECIAL_MAX '\x09'
307
+  // Maximum here is 0x1F because 0x20 is ' ' (space) and the normal charsets begin.
308
+  // Better stay below 0x10 because DISPLAY_CHARSET_HD44780_WESTERN begins here.
309
+
310
+  // Symbol characters
311
+  #define LCD_STR_FILAM_DIA   "\xf8"
312
+  #define LCD_STR_FILAM_MUL   "\xa4"
313
+#else
314
+  /* Custom characters defined in the first 8 characters of the LCD */
315
+  #define LCD_BEDTEMP_CHAR     0x00  // Print only as a char. This will have 'unexpected' results when used in a string!
316
+  #define LCD_DEGREE_CHAR      0x01
317
+  #define LCD_STR_THERMOMETER "\x02" // Still used with string concatenation
318
+  #define LCD_UPLEVEL_CHAR     0x03
319
+  #define LCD_STR_REFRESH     "\x04"
320
+  #define LCD_STR_FOLDER      "\x05"
321
+  #define LCD_FEEDRATE_CHAR    0x06
322
+  #define LCD_CLOCK_CHAR       0x07
323
+  #define LCD_STR_ARROW_RIGHT ">"  /* from the default character set */
324
+#endif
274 325
 
275
-  #if ENABLED(ULTIPANEL)
276
-    #define NEWPANEL  // Disable this if you actually have no click-encoder panel
277
-    #define ULTRA_LCD
278
-    #ifndef LCD_WIDTH
279
-      #define LCD_WIDTH 20
280
-    #endif
281
-    #ifndef LCD_HEIGHT
282
-      #define LCD_HEIGHT 4
326
+/**
327
+ * Default LCD contrast for dogm-like LCD displays
328
+ */
329
+#if ENABLED(DOGLCD)
330
+
331
+  #define HAS_LCD_CONTRAST ( \
332
+      ENABLED(MAKRPANEL) \
333
+   || ENABLED(CARTESIO_UI) \
334
+   || ENABLED(VIKI2) \
335
+   || ENABLED(AZSMZ_12864) \
336
+   || ENABLED(miniVIKI) \
337
+   || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
338
+  )
339
+
340
+  #if HAS_LCD_CONTRAST
341
+    #ifndef LCD_CONTRAST_MIN
342
+      #define LCD_CONTRAST_MIN 0
283 343
     #endif
284
-  #elif ENABLED(ULTRA_LCD)  // no panel but just LCD
285
-    #ifndef LCD_WIDTH
286
-      #define LCD_WIDTH 16
344
+    #ifndef LCD_CONTRAST_MAX
345
+      #define LCD_CONTRAST_MAX 63
287 346
     #endif
288
-    #ifndef LCD_HEIGHT
289
-      #define LCD_HEIGHT 2
347
+    #ifndef DEFAULT_LCD_CONTRAST
348
+      #define DEFAULT_LCD_CONTRAST 32
290 349
     #endif
291 350
   #endif
351
+#endif
292 352
 
293
-  #if ENABLED(DOGLCD)
294
-    /* Custom characters defined in font dogm_font_data_Marlin_symbols.h / Marlin_symbols.fon */
295
-    // \x00 intentionally skipped to avoid problems in strings
296
-    #define LCD_STR_REFRESH     "\x01"
297
-    #define LCD_STR_FOLDER      "\x02"
298
-    #define LCD_STR_ARROW_RIGHT "\x03"
299
-    #define LCD_STR_UPLEVEL     "\x04"
300
-    #define LCD_STR_CLOCK       "\x05"
301
-    #define LCD_STR_FEEDRATE    "\x06"
302
-    #define LCD_STR_BEDTEMP     "\x07"
303
-    #define LCD_STR_THERMOMETER "\x08"
304
-    #define LCD_STR_DEGREE      "\x09"
305
-
306
-    #define LCD_STR_SPECIAL_MAX '\x09'
307
-    // Maximum here is 0x1F because 0x20 is ' ' (space) and the normal charsets begin.
308
-    // Better stay below 0x10 because DISPLAY_CHARSET_HD44780_WESTERN begins here.
309
-
310
-    // Symbol characters
311
-    #define LCD_STR_FILAM_DIA   "\xf8"
312
-    #define LCD_STR_FILAM_MUL   "\xa4"
313
-  #else
314
-    /* Custom characters defined in the first 8 characters of the LCD */
315
-    #define LCD_BEDTEMP_CHAR     0x00  // Print only as a char. This will have 'unexpected' results when used in a string!
316
-    #define LCD_DEGREE_CHAR      0x01
317
-    #define LCD_STR_THERMOMETER "\x02" // Still used with string concatenation
318
-    #define LCD_UPLEVEL_CHAR     0x03
319
-    #define LCD_STR_REFRESH     "\x04"
320
-    #define LCD_STR_FOLDER      "\x05"
321
-    #define LCD_FEEDRATE_CHAR    0x06
322
-    #define LCD_CLOCK_CHAR       0x07
323
-    #define LCD_STR_ARROW_RIGHT ">"  /* from the default character set */
324
-  #endif
325
-
326
-  /**
327
-   * Default LCD contrast for dogm-like LCD displays
328
-   */
329
-  #if ENABLED(DOGLCD)
330
-
331
-    #define HAS_LCD_CONTRAST ( \
332
-        ENABLED(MAKRPANEL) \
333
-     || ENABLED(CARTESIO_UI) \
334
-     || ENABLED(VIKI2) \
335
-     || ENABLED(AZSMZ_12864) \
336
-     || ENABLED(miniVIKI) \
337
-     || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
338
-    )
339
-
340
-    #if HAS_LCD_CONTRAST
341
-      #ifndef LCD_CONTRAST_MIN
342
-        #define LCD_CONTRAST_MIN 0
343
-      #endif
344
-      #ifndef LCD_CONTRAST_MAX
345
-        #define LCD_CONTRAST_MAX 63
346
-      #endif
347
-      #ifndef DEFAULT_LCD_CONTRAST
348
-        #define DEFAULT_LCD_CONTRAST 32
349
-      #endif
350
-    #endif
351
-  #endif
353
+// Boot screens
354
+#if DISABLED(ULTRA_LCD)
355
+  #undef SHOW_BOOTSCREEN
356
+#elif !defined(BOOTSCREEN_TIMEOUT)
357
+  #define BOOTSCREEN_TIMEOUT 2500
358
+#endif
352 359
 
353
-  // Boot screens
354
-  #if DISABLED(ULTRA_LCD)
355
-    #undef SHOW_BOOTSCREEN
356
-  #elif !defined(BOOTSCREEN_TIMEOUT)
357
-    #define BOOTSCREEN_TIMEOUT 2500
358
-  #endif
360
+#define HAS_DEBUG_MENU ENABLED(LCD_PROGRESS_BAR_TEST)
359 361
 
360
-  #define HAS_DEBUG_MENU ENABLED(LCD_PROGRESS_BAR_TEST)
362
+// MK2 Multiplexer forces SINGLENOZZLE to be enabled
363
+#if ENABLED(MK2_MULTIPLEXER)
364
+  #define SINGLENOZZLE
365
+#endif
361 366
 
362
-  // MK2 Multiplexer forces SINGLENOZZLE to be enabled
363
-  #if ENABLED(MK2_MULTIPLEXER)
364
-    #define SINGLENOZZLE
367
+/**
368
+ * Extruders have some combination of stepper motors and hotends
369
+ * so we separate these concepts into the defines:
370
+ *
371
+ *  EXTRUDERS    - Number of Selectable Tools
372
+ *  HOTENDS      - Number of hotends, whether connected or separate
373
+ *  E_STEPPERS   - Number of actual E stepper motors
374
+ *  E_MANUAL     - Number of E steppers for LCD move options
375
+ *  TOOL_E_INDEX - Index to use when getting/setting the tool state
376
+ *
377
+ */
378
+#if ENABLED(SINGLENOZZLE) || ENABLED(MIXING_EXTRUDER)         // One hotend, one thermistor, no XY offset
379
+  #define HOTENDS       1
380
+  #undef TEMP_SENSOR_1_AS_REDUNDANT
381
+  #undef HOTEND_OFFSET_X
382
+  #undef HOTEND_OFFSET_Y
383
+#else                                                         // Two hotends
384
+  #define HOTENDS       EXTRUDERS
385
+  #if ENABLED(SWITCHING_NOZZLE) && !defined(HOTEND_OFFSET_Z)
386
+    #define HOTEND_OFFSET_Z { 0 }
365 387
   #endif
388
+#endif
366 389
 
367
-  /**
368
-   * Extruders have some combination of stepper motors and hotends
369
-   * so we separate these concepts into the defines:
370
-   *
371
-   *  EXTRUDERS    - Number of Selectable Tools
372
-   *  HOTENDS      - Number of hotends, whether connected or separate
373
-   *  E_STEPPERS   - Number of actual E stepper motors
374
-   *  E_MANUAL     - Number of E steppers for LCD move options
375
-   *  TOOL_E_INDEX - Index to use when getting/setting the tool state
376
-   *
377
-   */
378
-  #if ENABLED(SINGLENOZZLE) || ENABLED(MIXING_EXTRUDER)         // One hotend, one thermistor, no XY offset
379
-    #define HOTENDS       1
380
-    #undef TEMP_SENSOR_1_AS_REDUNDANT
381
-    #undef HOTEND_OFFSET_X
382
-    #undef HOTEND_OFFSET_Y
383
-  #else                                                         // Two hotends
384
-    #define HOTENDS       EXTRUDERS
385
-    #if ENABLED(SWITCHING_NOZZLE) && !defined(HOTEND_OFFSET_Z)
386
-      #define HOTEND_OFFSET_Z { 0 }
387
-    #endif
388
-  #endif
390
+#define HOTEND_LOOP() for (int8_t e = 0; e < HOTENDS; e++)
389 391
 
390
-  #define HOTEND_LOOP() for (int8_t e = 0; e < HOTENDS; e++)
392
+#if HOTENDS == 1
393
+  #define HOTEND_INDEX  0
394
+#else
395
+  #define HOTEND_INDEX  e
396
+#endif
391 397
 
392
-  #if HOTENDS == 1
393
-    #define HOTEND_INDEX  0
398
+#if ENABLED(SWITCHING_EXTRUDER) || ENABLED(MIXING_EXTRUDER)   // Unified E axis
399
+  #if ENABLED(MIXING_EXTRUDER)
400
+    #define E_STEPPERS  MIXING_STEPPERS
394 401
   #else
395
-    #define HOTEND_INDEX  e
402
+    #define E_STEPPERS  1                                     // One E stepper
396 403
   #endif
404
+  #define E_MANUAL      1
405
+  #define TOOL_E_INDEX  0
406
+#else
407
+  #define E_STEPPERS    EXTRUDERS
408
+  #define E_MANUAL      EXTRUDERS
409
+  #define TOOL_E_INDEX  current_block->active_extruder
410
+#endif
397 411
 
398
-  #if ENABLED(SWITCHING_EXTRUDER) || ENABLED(MIXING_EXTRUDER)   // Unified E axis
399
-    #if ENABLED(MIXING_EXTRUDER)
400
-      #define E_STEPPERS  MIXING_STEPPERS
401
-    #else
402
-      #define E_STEPPERS  1                                     // One E stepper
403
-    #endif
404
-    #define E_MANUAL      1
405
-    #define TOOL_E_INDEX  0
406
-  #else
407
-    #define E_STEPPERS    EXTRUDERS
408
-    #define E_MANUAL      EXTRUDERS
409
-    #define TOOL_E_INDEX  current_block->active_extruder
410
-  #endif
412
+/**
413
+ * DISTINCT_E_FACTORS affects how some E factors are accessed
414
+ */
415
+#if ENABLED(DISTINCT_E_FACTORS) && E_STEPPERS > 1
416
+  #define XYZE_N (XYZ + E_STEPPERS)
417
+  #define E_AXIS_N (E_AXIS + extruder)
418
+#else
419
+  #undef DISTINCT_E_FACTORS
420
+  #define XYZE_N XYZE
421
+  #define E_AXIS_N E_AXIS
422
+#endif
411 423
 
412
-  /**
413
-   * DISTINCT_E_FACTORS affects how some E factors are accessed
414
-   */
415
-  #if ENABLED(DISTINCT_E_FACTORS) && E_STEPPERS > 1
416
-    #define XYZE_N (XYZ + E_STEPPERS)
417
-    #define E_AXIS_N (E_AXIS + extruder)
418
-  #else
419
-    #undef DISTINCT_E_FACTORS
420
-    #define XYZE_N XYZE
421
-    #define E_AXIS_N E_AXIS
424
+/**
425
+ * The BLTouch Probe emulates a servo probe
426
+ * and uses "special" angles for its state.
427
+ */
428
+#if ENABLED(BLTOUCH)
429
+  #ifndef Z_ENDSTOP_SERVO_NR
430
+    #define Z_ENDSTOP_SERVO_NR 0
422 431
   #endif
423
-
424
-  /**
425
-   * The BLTouch Probe emulates a servo probe
426
-   * and uses "special" angles for its state.
427
-   */
428
-  #if ENABLED(BLTOUCH)
429
-    #ifndef Z_ENDSTOP_SERVO_NR
430
-      #define Z_ENDSTOP_SERVO_NR 0
431
-    #endif
432
-    #ifndef NUM_SERVOS
433
-      #define NUM_SERVOS (Z_ENDSTOP_SERVO_NR + 1)
434
-    #endif
435
-    #undef DEACTIVATE_SERVOS_AFTER_MOVE
436
-    #if NUM_SERVOS == 1
437
-      #undef SERVO_DELAY
438
-      #define SERVO_DELAY { 50 }
439
-    #endif
440
-    #ifndef BLTOUCH_DELAY
441
-      #define BLTOUCH_DELAY 375
442
-    #endif
443
-    #undef Z_SERVO_ANGLES
444
-    #define Z_SERVO_ANGLES { BLTOUCH_DEPLOY, BLTOUCH_STOW }
445
-
446
-    #define BLTOUCH_DEPLOY    10
447
-    #define BLTOUCH_STOW      90
448
-    #define BLTOUCH_SELFTEST 120
449
-    #define BLTOUCH_RESET    160
450
-    #define _TEST_BLTOUCH(P) (READ(P##_PIN) != P##_ENDSTOP_INVERTING)
451
-
452
-    // Always disable probe pin inverting for BLTouch
453
-    #undef Z_MIN_PROBE_ENDSTOP_INVERTING
454
-    #define Z_MIN_PROBE_ENDSTOP_INVERTING false
455
-
456
-    #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
457
-      #undef Z_MIN_ENDSTOP_INVERTING
458
-      #define Z_MIN_ENDSTOP_INVERTING false
459
-      #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN)
460
-    #else
461
-      #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN_PROBE)
462
-    #endif
432
+  #ifndef NUM_SERVOS
433
+    #define NUM_SERVOS (Z_ENDSTOP_SERVO_NR + 1)
463 434
   #endif
464
-
465
-  /**
466
-   * Set a flag for a servo probe
467
-   */
468
-  #define HAS_Z_SERVO_ENDSTOP (defined(Z_ENDSTOP_SERVO_NR) && Z_ENDSTOP_SERVO_NR >= 0)
469
-
470
-  /**
471
-   * UBL has its own manual probing, so this just causes trouble.
472
-   */
473
-  #if ENABLED(AUTO_BED_LEVELING_UBL)
474
-    #undef PROBE_MANUALLY
435
+  #undef DEACTIVATE_SERVOS_AFTER_MOVE
436
+  #if NUM_SERVOS == 1
437
+    #undef SERVO_DELAY
438
+    #define SERVO_DELAY { 50 }
439
+  #endif
440
+  #ifndef BLTOUCH_DELAY
441
+    #define BLTOUCH_DELAY 375
475 442
   #endif
443
+  #undef Z_SERVO_ANGLES
444
+  #define Z_SERVO_ANGLES { BLTOUCH_DEPLOY, BLTOUCH_STOW }
445
+
446
+  #define BLTOUCH_DEPLOY    10
447
+  #define BLTOUCH_STOW      90
448
+  #define BLTOUCH_SELFTEST 120
449
+  #define BLTOUCH_RESET    160
450
+  #define _TEST_BLTOUCH(P) (READ(P##_PIN) != P##_ENDSTOP_INVERTING)
451
+
452
+  // Always disable probe pin inverting for BLTouch
453
+  #undef Z_MIN_PROBE_ENDSTOP_INVERTING
454
+  #define Z_MIN_PROBE_ENDSTOP_INVERTING false
455
+
456
+  #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
457
+    #undef Z_MIN_ENDSTOP_INVERTING
458
+    #define Z_MIN_ENDSTOP_INVERTING false
459
+    #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN)
460
+  #else
461
+    #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN_PROBE)
462
+  #endif
463
+#endif
476 464
 
477
-  /**
478
-   * Set a flag for any enabled probe
479
-   */
480
-  #define PROBE_SELECTED (ENABLED(PROBE_MANUALLY) || ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE))
465
+/**
466
+ * Set a flag for a servo probe
467
+ */
468
+#define HAS_Z_SERVO_ENDSTOP (defined(Z_ENDSTOP_SERVO_NR) && Z_ENDSTOP_SERVO_NR >= 0)
481 469
 
482
-  /**
483
-   * Clear probe pin settings when no probe is selected
484
-   */
485
-  #if !PROBE_SELECTED || ENABLED(PROBE_MANUALLY)
486
-    #undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
487
-    #undef Z_MIN_PROBE_ENDSTOP
488
-  #endif
470
+/**
471
+ * UBL has its own manual probing, so this just causes trouble.
472
+ */
473
+#if ENABLED(AUTO_BED_LEVELING_UBL)
474
+  #undef PROBE_MANUALLY
475
+#endif
476
+
477
+/**
478
+ * Set a flag for any enabled probe
479
+ */
480
+#define PROBE_SELECTED (ENABLED(PROBE_MANUALLY) || ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE))
489 481
 
490
-  #define HAS_SOFTWARE_ENDSTOPS (ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS))
491
-  #define HAS_RESUME_CONTINUE (ENABLED(NEWPANEL) || ENABLED(EMERGENCY_PARSER))
492
-  #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED))
482
+/**
483
+ * Clear probe pin settings when no probe is selected
484
+ */
485
+#if !PROBE_SELECTED || ENABLED(PROBE_MANUALLY)
486
+  #undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
487
+  #undef Z_MIN_PROBE_ENDSTOP
488
+#endif
489
+
490
+#define HAS_SOFTWARE_ENDSTOPS (ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS))
491
+#define HAS_RESUME_CONTINUE (ENABLED(NEWPANEL) || ENABLED(EMERGENCY_PARSER))
492
+#define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED))
493 493
 
494 494
   // For Re-ARM boards, always use the USB Emulated Serial Port unless RE_ARM_FORCE_SERIAL_PORT is defined
495 495
   #if MB(RAMPS_14_RE_ARM_EFB) || MB(RAMPS_14_RE_ARM_EEB) || MB(RAMPS_14_RE_ARM_EFF) || MB(RAMPS_14_RE_ARM_EEF) || MB(RAMPS_14_RE_ARM_SF)

+ 929
- 891
Marlin/src/inc/Conditionals_post.h
Diff nebyl zobrazen, protože je příliš veliký
Zobrazit soubor


+ 1
- 1
Marlin/src/inc/MarlinConfig.h Zobrazit soubor

@@ -26,7 +26,7 @@
26 26
 #include "../core/boards.h"
27 27
 #include "../core/macros.h"
28 28
 #include "Version.h"
29
-#include "SPI.h"
29
+#include "../HAL/SPI.h"
30 30
 #include "../../Configuration.h"
31 31
 #include "Conditionals_LCD.h"
32 32
 #include "../../Configuration_adv.h"

+ 0
- 52
Marlin/src/inc/SPI.h Zobrazit soubor

@@ -1,52 +0,0 @@
1
-#include <stdint.h>
2
-
3
-
4
-#ifndef SPI_FULL_SPEED
5
-
6
-/**
7
- * SPI speed where 0 <= index <= 6
8
- *
9
- * Approximate rates :
10
- *
11
- *  0 :  8 - 10 MHz
12
- *  1 :  4 - 5 MHz
13
- *  2 :  2 - 2.5 MHz
14
- *  3 :  1 - 1.25 MHz
15
- *  4 :  500 - 625 kHz
16
- *  5 :  250 - 312 kHz
17
- *  6 :  125 - 156 kHz
18
- *
19
- *  On AVR, actual speed is F_CPU/2^(1 + index).
20
- *  On other platforms, speed should be in range given above where possible.
21
- */
22
-
23
-/** Set SCK to max rate */
24
-#define SPI_FULL_SPEED 0
25
-/** Set SCK rate to half max rate. */
26
-#define SPI_HALF_SPEED 1
27
-/** Set SCK rate to quarter max rate. */
28
-#define SPI_QUARTER_SPEED 2
29
-/** Set SCK rate to 1/8 max rate. */
30
-#define SPI_EIGHTH_SPEED 3
31
-/** Set SCK rate to 1/16 of max rate. */
32
-#define SPI_SIXTEENTH_SPEED 4
33
-/** Set SCK rate to 1/32 of max rate. */
34
-#define SPI_SPEED_5 5
35
-/** Set SCK rate to 1/64 of max rate. */
36
-#define SPI_SPEED_6 6
37
-
38
-// Standard SPI functions
39
-/** Initialise SPI bus */
40
-void spiBegin(void);
41
-/** Configure SPI for specified SPI speed */
42
-void spiInit(uint8_t spiRate);
43
-/** Write single byte to SPI */
44
-void spiSend(uint8_t b);
45
-/** Read single byte from SPI */
46
-uint8_t spiRec(void);
47
-/** Read from SPI into buffer */
48
-void spiRead(uint8_t* buf, uint16_t nbyte);
49
-/** Write token and then write from 512 byte buffer to SPI (for SD card) */
50
-void spiSendBlock(uint8_t token, const uint8_t* buf);
51
-
52
-#endif

+ 9
- 1
Marlin/src/inc/SanityCheck.h Zobrazit soubor

@@ -26,6 +26,9 @@
26 26
  * Test configuration values for errors at compile-time.
27 27
  */
28 28
 
29
+#ifndef _SANITYCHECK_H_
30
+#define _SANITYCHECK_H_
31
+
29 32
 /**
30 33
  * Require gcc 4.7 or newer (first included with Arduino 1.6.8) for C++11 features.
31 34
  */
@@ -212,6 +215,10 @@
212 215
   #error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
213 216
 #elif defined(NEOPIXEL_RGBW_LED)
214 217
   #error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. Please update your configuration."
218
+#elif defined(UBL_MESH_INSET)
219
+  #error "UBL_MESH_INSET is now just MESH_INSET. Please update your configuration."
220
+#elif defined(UBL_MESH_MIN_X) || defined(UBL_MESH_MIN_Y) || defined(UBL_MESH_MAX_X)  || defined(UBL_MESH_MAX_Y)
221
+  #error "UBL_MESH_(MIN|MAX)_[XY] is now just MESH_(MIN|MAX)_[XY]. Please update your configuration."
215 222
 #endif
216 223
 
217 224
 /**
@@ -1379,5 +1386,6 @@ static_assert(COUNT(sanity_arr_1) <= XYZE_N, "DEFAULT_AXIS_STEPS_PER_UNIT has to
1379 1386
 static_assert(COUNT(sanity_arr_2) <= XYZE_N, "DEFAULT_MAX_FEEDRATE has too many elements.");
1380 1387
 static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too many elements.");
1381 1388
 
1382
-
1383 1389
 #include "../HAL/HAL_SanityCheck.h"  // get CPU specific checks
1390
+
1391
+#endif // _SANITYCHECK_H_

+ 8
- 1
Marlin/src/inc/Version.h Zobrazit soubor

@@ -20,6 +20,11 @@
20 20
  *
21 21
  */
22 22
 
23
+#ifndef _VERSION_H_
24
+#define _VERSION_H_
25
+
26
+#include "MarlinConfig.h"
27
+
23 28
 /**
24 29
  * This file is the standard Marlin version identifier file, all fields can be
25 30
  * overriden by the ones defined on _Version.h by using the Configuration.h
@@ -48,7 +53,7 @@
48 53
    * here we define this default string as the date where the latest release
49 54
    * version was tagged.
50 55
    */
51
-  #define STRING_DISTRIBUTION_DATE "2017-07-27 12:00"
56
+  #define STRING_DISTRIBUTION_DATE "2017-10-19 12:00"
52 57
 
53 58
   /**
54 59
    * Required minimum Configuration.h and Configuration_adv.h file versions.
@@ -92,3 +97,5 @@
92 97
   #define WEBSITE_URL "http://marlinfw.org"
93 98
 
94 99
 #endif // USE_AUTOMATIC_VERSIONING
100
+
101
+#endif // _VERSION_H_

Loading…
Zrušit
Uložit