Browse Source

Apply physical limits to mesh bounds

Scott Lahteine 6 years ago
parent
commit
580b6e9089
78 changed files with 615 additions and 2157 deletions
  1. 1
    1
      Marlin/Configuration.h
  2. 15
    66
      Marlin/Configuration_adv.h
  3. 1
    1
      Marlin/src/config/default/Configuration.h
  4. 15
    66
      Marlin/src/config/default/Configuration_adv.h
  5. 1
    1
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h
  6. 15
    66
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  7. 1
    1
      Marlin/src/config/examples/AliExpress/CL-260/Configuration.h
  8. 1
    1
      Marlin/src/config/examples/Anet/A6/Configuration.h
  9. 15
    66
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  10. 1
    1
      Marlin/src/config/examples/Anet/A8/Configuration.h
  11. 15
    66
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  12. 1
    1
      Marlin/src/config/examples/BQ/Hephestos/Configuration.h
  13. 15
    66
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  14. 1
    1
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h
  15. 15
    66
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  16. 1
    1
      Marlin/src/config/examples/BQ/WITBOX/Configuration.h
  17. 15
    66
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  18. 1
    1
      Marlin/src/config/examples/Cartesio/Configuration.h
  19. 15
    66
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  20. 1
    1
      Marlin/src/config/examples/Creality/CR-10/Configuration.h
  21. 15
    66
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  22. 1
    1
      Marlin/src/config/examples/Felix/Configuration.h
  23. 15
    66
      Marlin/src/config/examples/Felix/Configuration_adv.h
  24. 1
    1
      Marlin/src/config/examples/Felix/DUAL/Configuration.h
  25. 1
    1
      Marlin/src/config/examples/Folger Tech/i3-2020/Configuration.h
  26. 15
    66
      Marlin/src/config/examples/Folger Tech/i3-2020/Configuration_adv.h
  27. 1
    1
      Marlin/src/config/examples/Geeetech/GT2560/Configuration.h
  28. 1
    1
      Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  29. 1
    1
      Marlin/src/config/examples/Infitary/i3-M508/Configuration.h
  30. 15
    66
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  31. 1
    1
      Marlin/src/config/examples/Malyan/M150/Configuration.h
  32. 15
    66
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  33. 1
    1
      Marlin/src/config/examples/Micromake/C1/basic/Configuration.h
  34. 1
    1
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h
  35. 1
    1
      Marlin/src/config/examples/Mks/Sbase/Configuration.h
  36. 15
    66
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  37. 1
    1
      Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h
  38. 1
    1
      Marlin/src/config/examples/RigidBot/Configuration.h
  39. 15
    66
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  40. 1
    1
      Marlin/src/config/examples/SCARA/Configuration.h
  41. 15
    66
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  42. 1
    1
      Marlin/src/config/examples/Sanguinololu/Configuration.h
  43. 15
    66
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  44. 1
    1
      Marlin/src/config/examples/TinyBoy2/Configuration.h
  45. 15
    66
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  46. 1
    1
      Marlin/src/config/examples/Velleman/K8200/Configuration.h
  47. 10
    63
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  48. 1
    1
      Marlin/src/config/examples/Velleman/K8400/Configuration.h
  49. 15
    66
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  50. 1
    1
      Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h
  51. 1
    1
      Marlin/src/config/examples/adafruit/ST7565/Configuration.h
  52. 1
    1
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
  53. 15
    66
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  54. 1
    1
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h
  55. 15
    66
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  56. 1
    1
      Marlin/src/config/examples/delta/generic/Configuration.h
  57. 15
    66
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  58. 1
    1
      Marlin/src/config/examples/delta/kossel_mini/Configuration.h
  59. 15
    66
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  60. 1
    1
      Marlin/src/config/examples/delta/kossel_pro/Configuration.h
  61. 15
    66
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  62. 1
    1
      Marlin/src/config/examples/delta/kossel_xl/Configuration.h
  63. 15
    66
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  64. 1
    1
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h
  65. 15
    66
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  66. 1
    1
      Marlin/src/config/examples/makibox/Configuration.h
  67. 15
    66
      Marlin/src/config/examples/makibox/Configuration_adv.h
  68. 1
    1
      Marlin/src/config/examples/stm32f103ret6/Configuration.h
  69. 1
    1
      Marlin/src/config/examples/tvrrug/Round2/Configuration.h
  70. 15
    66
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  71. 1
    1
      Marlin/src/config/examples/wt150/Configuration.h
  72. 15
    66
      Marlin/src/config/examples/wt150/Configuration_adv.h
  73. 4
    4
      Marlin/src/feature/bedlevel/ubl/ubl.cpp
  74. 24
    24
      Marlin/src/feature/bedlevel/ubl/ubl.h
  75. 12
    12
      Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
  76. 2
    2
      Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp
  77. 68
    31
      Marlin/src/inc/Conditionals_post.h
  78. 4
    0
      Marlin/src/inc/SanityCheck.h

+ 1
- 1
Marlin/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 15
- 66
Marlin/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
685
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
 #endif
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
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)
747
 
696
 
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
697
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
698
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
699
+  #endif
751
 #endif
700
 #endif
752
 
701
 
753
 // @section extras
702
 // @section extras

+ 1
- 1
Marlin/src/config/default/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 15
- 66
Marlin/src/config/default/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
685
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
 #endif
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
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)
747
 
696
 
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
697
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
698
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
699
+  #endif
751
 #endif
700
 #endif
752
 
701
 
753
 // @section extras
702
 // @section extras

+ 1
- 1
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h View File

957
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
961
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
962
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
962
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
963
 
963
 

+ 15
- 66
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 1
- 1
Marlin/src/config/examples/Anet/A6/Configuration.h View File

1080
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1084
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1085
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1085
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1086
 
1086
 

+ 15
- 66
Marlin/src/config/examples/Anet/A6/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   //#define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Anet/A8/Configuration.h View File

943
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
947
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
948
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
948
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
949
 
949
 

+ 15
- 66
Marlin/src/config/examples/Anet/A8/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   //#define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/BQ/Hephestos/Configuration.h View File

928
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
932
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
933
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
933
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
934
 
934
 

+ 15
- 66
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h View File

938
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
943
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
944
 
944
 

+ 15
- 66
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #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.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
681
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
683
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
682
 #endif
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
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)
743
 
692
 
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
693
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
694
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
695
+  #endif
747
 #endif
696
 #endif
748
 
697
 
749
 // @section extras
698
 // @section extras

+ 1
- 1
Marlin/src/config/examples/BQ/WITBOX/Configuration.h View File

928
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
932
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
933
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
933
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
934
 
934
 

+ 15
- 66
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Cartesio/Configuration.h View File

936
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
940
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
941
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
 
942
 

+ 15
- 66
Marlin/src/config/examples/Cartesio/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Creality/CR-10/Configuration.h View File

947
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
951
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
952
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
952
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
953
 
953
 

+ 15
- 66
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Felix/Configuration.h View File

919
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
923
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
924
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
924
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
925
 
925
 

+ 15
- 66
Marlin/src/config/examples/Felix/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Felix/DUAL/Configuration.h View File

919
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
923
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
924
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
924
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
925
 
925
 

+ 1
- 1
Marlin/src/config/examples/Folger Tech/i3-2020/Configuration.h View File

934
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
938
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
939
   #define GRID_MAX_POINTS_Y 10
939
   #define GRID_MAX_POINTS_Y 10
940
 
940
 

+ 15
- 66
Marlin/src/config/examples/Folger Tech/i3-2020/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
685
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
 #endif
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
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)
747
 
696
 
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
697
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
698
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
699
+  #endif
751
 #endif
700
 #endif
752
 
701
 
753
 // @section extras
702
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h View File

952
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
956
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
957
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
957
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
958
 
958
 

+ 1
- 1
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 1
- 1
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h View File

941
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
945
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
947
 
947
 

+ 15
- 66
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Malyan/M150/Configuration.h View File

965
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
969
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
970
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
970
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
971
 
971
 

+ 15
- 66
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
681
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
683
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
682
 #endif
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
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)
743
 
692
 
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
693
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
694
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
695
+  #endif
747
 #endif
696
 #endif
748
 
697
 
749
 // @section extras
698
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h View File

941
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
945
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
947
 
947
 

+ 1
- 1
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h View File

941
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
945
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
946
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
947
 
947
 

+ 1
- 1
Marlin/src/config/examples/Mks/Sbase/Configuration.h View File

939
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
943
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
944
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
944
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
945
 
945
 

+ 15
- 66
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
705
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
707
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
706
 #endif
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
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)
767
 
716
 
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
717
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
718
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
719
+  #endif
771
 #endif
720
 #endif
772
 
721
 
773
 // @section extras
722
 // @section extras

+ 1
- 1
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 1
- 1
Marlin/src/config/examples/RigidBot/Configuration.h View File

935
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
939
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
940
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
940
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
941
 
941
 

+ 15
- 66
Marlin/src/config/examples/RigidBot/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/SCARA/Configuration.h View File

949
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
953
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
954
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
954
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
955
 
955
 

+ 15
- 66
Marlin/src/config/examples/SCARA/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Sanguinololu/Configuration.h View File

968
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
972
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
973
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
973
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
974
 
974
 

+ 15
- 66
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h View File

478
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
478
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
479
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
489
   //#define MENU_ADDAUTOSTART
488
 
490
 
489
   /**
491
   /**
673
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
675
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
674
 #endif
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
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)
735
 
684
 
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
685
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
686
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
687
+  #endif
739
 #endif
688
 #endif
740
 
689
 
741
 // @section extras
690
 // @section extras

+ 1
- 1
Marlin/src/config/examples/TinyBoy2/Configuration.h View File

993
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
997
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
998
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
998
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
999
 
999
 

+ 15
- 66
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Velleman/K8200/Configuration.h View File

967
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
971
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
972
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
972
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
973
 
973
 

+ 10
- 63
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h View File

502
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
502
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
503
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
508
   #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
694
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
694
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
695
 #endif
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
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)
756
 
703
 
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
704
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
705
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
706
+  #endif
760
 #endif
707
 #endif
761
 
708
 
762
 // @section extras
709
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Velleman/K8400/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 15
- 66
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 1
- 1
Marlin/src/config/examples/adafruit/ST7565/Configuration.h View File

937
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
941
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
942
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
943
 
943
 

+ 1
- 1
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h View File

1063
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1067
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1068
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1068
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1069
 
1069
 

+ 15
- 66
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
502
   //#define MENU_ADDAUTOSTART
501
 
503
 
502
   /**
504
   /**
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
 #endif
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
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)
748
 
697
 
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
698
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
699
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
700
+  #endif
752
 #endif
701
 #endif
753
 
702
 
754
 // @section extras
703
 // @section extras

+ 1
- 1
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h View File

1057
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1061
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1062
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1062
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1063
 
1063
 

+ 15
- 66
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h View File

491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
502
   //#define MENU_ADDAUTOSTART
501
 
503
 
502
   /**
504
   /**
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
 #endif
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
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)
748
 
697
 
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
698
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
699
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
700
+  #endif
752
 #endif
701
 #endif
753
 
702
 
754
 // @section extras
703
 // @section extras

+ 1
- 1
Marlin/src/config/examples/delta/generic/Configuration.h View File

1052
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1056
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1057
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1057
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1058
 
1058
 

+ 15
- 66
Marlin/src/config/examples/delta/generic/Configuration_adv.h View File

491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
502
   //#define MENU_ADDAUTOSTART
501
 
503
 
502
   /**
504
   /**
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
 #endif
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
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)
748
 
697
 
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
698
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
699
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
700
+  #endif
752
 #endif
701
 #endif
753
 
702
 
754
 // @section extras
703
 // @section extras

+ 1
- 1
Marlin/src/config/examples/delta/kossel_mini/Configuration.h View File

1055
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1059
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1060
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1060
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1061
 
1061
 

+ 15
- 66
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h View File

491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
502
   //#define MENU_ADDAUTOSTART
501
 
503
 
502
   /**
504
   /**
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
 #endif
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
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)
748
 
697
 
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
698
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
699
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
700
+  #endif
752
 #endif
701
 #endif
753
 
702
 
754
 // @section extras
703
 // @section extras

+ 1
- 1
Marlin/src/config/examples/delta/kossel_pro/Configuration.h View File

1055
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1059
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1060
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1060
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1061
 
1061
 

+ 15
- 66
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h View File

496
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
496
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
497
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
507
   //#define MENU_ADDAUTOSTART
506
 
508
 
507
   /**
509
   /**
691
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
693
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
692
 #endif
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
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)
753
 
702
 
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
703
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
704
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
705
+  #endif
757
 #endif
706
 #endif
758
 
707
 
759
 // @section extras
708
 // @section extras

+ 1
- 1
Marlin/src/config/examples/delta/kossel_xl/Configuration.h View File

1064
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1068
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1069
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1069
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1070
 
1070
 

+ 15
- 66
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h View File

491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
491
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
492
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
502
   //#define MENU_ADDAUTOSTART
501
 
503
 
502
   /**
504
   /**
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
688
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
687
 #endif
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
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)
748
 
697
 
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
698
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
699
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
700
+  #endif
752
 #endif
701
 #endif
753
 
702
 
754
 // @section extras
703
 // @section extras

+ 1
- 1
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h View File

951
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
955
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
956
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
956
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
957
 
957
 

+ 15
- 66
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/makibox/Configuration.h View File

940
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
944
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
945
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
945
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
946
 
946
 

+ 15
- 66
Marlin/src/config/examples/makibox/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   //#define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/stm32f103ret6/Configuration.h View File

924
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
928
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
929
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
929
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
930
 
930
 

+ 1
- 1
Marlin/src/config/examples/tvrrug/Round2/Configuration.h View File

932
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
936
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
937
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
937
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
938
 
938
 

+ 15
- 66
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 1
- 1
Marlin/src/config/examples/wt150/Configuration.h View File

942
   //========================= Unified Bed Leveling ============================
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
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
946
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
947
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
947
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
948
 
948
 

+ 15
- 66
Marlin/src/config/examples/wt150/Configuration_adv.h View File

489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
489
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
490
   #define SD_DETECT_INVERTED
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
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
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
   //#define MENU_ADDAUTOSTART
500
   //#define MENU_ADDAUTOSTART
499
 
501
 
500
   /**
502
   /**
684
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
686
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
685
 #endif
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
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)
746
 
695
 
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
696
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
697
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
698
+  #endif
750
 #endif
699
 #endif
751
 
700
 
752
 // @section extras
701
 // @section extras

+ 4
- 4
Marlin/src/feature/bedlevel/ubl/ubl.cpp View File

125
       SERIAL_ECHO_SP(spaces + 3);
125
       SERIAL_ECHO_SP(spaces + 3);
126
       serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
126
       serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
127
       SERIAL_EOL();
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
       SERIAL_ECHO_SP(spaces);
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
       SERIAL_EOL();
131
       SERIAL_EOL();
132
     }
132
     }
133
     else {
133
     else {
174
     }
174
     }
175
 
175
 
176
     if (map_type == 0) {
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
       SERIAL_ECHO_SP(spaces + 4);
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
       SERIAL_EOL();
180
       SERIAL_EOL();
181
       serial_echo_xy(0, 0);
181
       serial_echo_xy(0, 0);
182
       SERIAL_ECHO_SP(spaces + 5);
182
       SERIAL_ECHO_SP(spaces + 5);

+ 24
- 24
Marlin/src/feature/bedlevel/ubl/ubl.h View File

67
   void lcd_quick_feedback();
67
   void lcd_quick_feedback();
68
 #endif
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
 class unified_bed_leveling {
73
 class unified_bed_leveling {
74
   private:
74
   private:
162
     // 15 is the maximum nubmer of grid points supported + 1 safety margin for now,
162
     // 15 is the maximum nubmer of grid points supported + 1 safety margin for now,
163
     // until determinism prevails
163
     // until determinism prevails
164
     constexpr static float _mesh_index_to_xpos[16] PROGMEM = {
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
     constexpr static float _mesh_index_to_ypos[16] PROGMEM = {
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
     static bool g26_debug_flag, has_control_of_lcd_panel;
186
     static bool g26_debug_flag, has_control_of_lcd_panel;
196
     FORCE_INLINE static void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; }
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
     static int8_t get_cell_index_x(const float &x) {
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
       return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1);   // -1 is appropriate if we want all movement to the X_MAX
200
       return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1);   // -1 is appropriate if we want all movement to the X_MAX
201
     }                                                     // position. But with this defined this way, it is possible
201
     }                                                     // position. But with this defined this way, it is possible
202
                                                           // to extrapolate off of this point even further out. Probably
202
                                                           // to extrapolate off of this point even further out. Probably
203
                                                           // that is OK because something else should be keeping that from
203
                                                           // that is OK because something else should be keeping that from
204
                                                           // happening and should not be worried about at this level.
204
                                                           // happening and should not be worried about at this level.
205
     static int8_t get_cell_index_y(const float &y) {
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
       return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 1);   // -1 is appropriate if we want all movement to the Y_MAX
207
       return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 1);   // -1 is appropriate if we want all movement to the Y_MAX
208
     }                                                     // position. But with this defined this way, it is possible
208
     }                                                     // position. But with this defined this way, it is possible
209
                                                           // to extrapolate off of this point even further out. Probably
209
                                                           // to extrapolate off of this point even further out. Probably
211
                                                           // happening and should not be worried about at this level.
211
                                                           // happening and should not be worried about at this level.
212
 
212
 
213
     static int8_t find_closest_x_index(const float &x) {
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
       return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1;
215
       return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1;
216
     }
216
     }
217
 
217
 
218
     static int8_t find_closest_y_index(const float &y) {
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
       return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1;
220
       return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1;
221
     }
221
     }
222
 
222
 
362
     }
362
     }
363
 
363
 
364
     FORCE_INLINE static float mesh_index_to_xpos(const uint8_t i) {
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
     FORCE_INLINE static float mesh_index_to_ypos(const uint8_t i) {
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
     static bool prepare_segmented_line_to(const float ltarget[XYZE], const float &feedrate);
372
     static bool prepare_segmented_line_to(const float ltarget[XYZE], const float &feedrate);

+ 12
- 12
Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp View File

415
           z2 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_2_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_2_Y)) /* + zprobe_zoffset */ ;
415
           z2 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_2_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_2_Y)) /* + zprobe_zoffset */ ;
416
           z3 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_3_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_3_Y)) /* + zprobe_zoffset */ ;
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
           tilt_mesh_based_on_3pts(z1, z2, z3);
419
           tilt_mesh_based_on_3pts(z1, z2, z3);
420
           restore_ubl_active_state_and_leave();
420
           restore_ubl_active_state_and_leave();
421
         }
421
         }
778
       restore_ubl_active_state_and_leave();
778
       restore_ubl_active_state_and_leave();
779
 
779
 
780
       do_blocking_move_to_xy(
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
       save_ubl_active_state_and_disable();   // Disable bed level correction for probing
915
       save_ubl_active_state_and_disable();   // Disable bed level correction for probing
916
 
916
 
917
       do_blocking_move_to_z(in_height);
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
         //, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
919
         //, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
920
       stepper.synchronize();
920
       stepper.synchronize();
921
 
921
 
1221
       SERIAL_EOL();
1221
       SERIAL_EOL();
1222
     #endif
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
     safe_delay(25);
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
     safe_delay(25);
1229
     safe_delay(25);
1230
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_X  ", GRID_MAX_POINTS_X);
1230
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_X  ", GRID_MAX_POINTS_X);
1231
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_Y  ", GRID_MAX_POINTS_Y);
1231
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_Y  ", GRID_MAX_POINTS_Y);
1641
   #if HAS_BED_PROBE
1641
   #if HAS_BED_PROBE
1642
 
1642
 
1643
     void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_ubl_mesh_map) {
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
       const float dx = float(x_max - x_min) / (g29_grid_size - 1.0),
1649
       const float dx = float(x_max - x_min) / (g29_grid_size - 1.0),
1650
                   dy = float(y_max - y_min) / (g29_grid_size - 1.0);
1650
                   dy = float(y_max - y_min) / (g29_grid_size - 1.0);

+ 2
- 2
Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp View File

622
         // in top of loop and again re-find same adjacent cell and use it, just less efficient
622
         // in top of loop and again re-find same adjacent cell and use it, just less efficient
623
         // for mesh inset area.
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
         cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1);
628
         cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1);
629
         cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1);
629
         cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1);

+ 68
- 31
Marlin/src/inc/Conditionals_post.h View File

810
 #endif
810
 #endif
811
 
811
 
812
 /**
812
 /**
813
- * Delta endstops, radius/rod trimmers, angle trimmers
813
+ * Delta radius/rod trimmers/angle trimmers
814
  */
814
  */
815
 #if ENABLED(DELTA)
815
 #if ENABLED(DELTA)
816
+  #ifndef DELTA_PROBEABLE_RADIUS
817
+    #define DELTA_PROBEABLE_RADIUS DELTA_PRINTABLE_RADIUS
818
+  #endif
816
   #ifndef DELTA_CALIBRATION_RADIUS
819
   #ifndef DELTA_CALIBRATION_RADIUS
817
     #define DELTA_CALIBRATION_RADIUS DELTA_PRINTABLE_RADIUS - 10
820
     #define DELTA_CALIBRATION_RADIUS DELTA_PRINTABLE_RADIUS - 10
818
   #endif
821
   #endif
833
 /**
836
 /**
834
  * Set granular options based on the specific type of leveling
837
  * Set granular options based on the specific type of leveling
835
  */
838
  */
836
-
837
 #define UBL_DELTA  (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA) || ENABLED(UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN)))
839
 #define UBL_DELTA  (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA) || ENABLED(UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN)))
838
 #define ABL_PLANAR (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT))
840
 #define ABL_PLANAR (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT))
839
 #define ABL_GRID   (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR))
841
 #define ABL_GRID   (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR))
850
 #endif
852
 #endif
851
 
853
 
852
 /**
854
 /**
855
+ * Bed Probing rectangular bounds
856
+ * These can be further constrained in code for Delta and SCARA
857
+ */
858
+#if ENABLED(DELTA)
859
+  // Probing points may be verified at compile time within the radius
860
+  // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
861
+  // so that may be added to SanityCheck.h in the future.
862
+  #define MIN_PROBE_X (X_CENTER - (DELTA_PROBEABLE_RADIUS))
863
+  #define MIN_PROBE_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS))
864
+  #define MAX_PROBE_X (X_CENTER +  DELTA_PROBEABLE_RADIUS)
865
+  #define MAX_PROBE_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS)
866
+#elif IS_SCARA
867
+  #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
868
+  #define MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS))
869
+  #define MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS))
870
+  #define MAX_PROBE_X (X_CENTER +  SCARA_PRINTABLE_RADIUS)
871
+  #define MAX_PROBE_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS)
872
+#else
873
+  // Boundaries for Cartesian probing based on bed limits
874
+  #define MIN_PROBE_X (max(X_MIN_BED, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
875
+  #define MIN_PROBE_Y (max(Y_MIN_BED, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
876
+  #define MAX_PROBE_X (min(X_MAX_BED, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
877
+  #define MAX_PROBE_Y (min(Y_MAX_BED, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
878
+#endif
879
+
880
+/**
881
+ * Default mesh area is an area with an inset margin on the print area.
882
+ */
883
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
884
+  #if IS_KINEMATIC
885
+    // Probing points may be verified at compile time within the radius
886
+    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
887
+    // so that may be added to SanityCheck.h in the future.
888
+    #define _MESH_MIN_X (MIN_PROBE_X + MESH_INSET)
889
+    #define _MESH_MIN_Y (MIN_PROBE_Y + MESH_INSET)
890
+    #define _MESH_MAX_X (MAX_PROBE_X - (MESH_INSET))
891
+    #define _MESH_MAX_Y (MAX_PROBE_Y - (MESH_INSET))
892
+  #else
893
+    // Boundaries for Cartesian probing based on set limits
894
+    #define _MESH_MIN_X (max(X_MIN_BED + MESH_INSET, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
895
+    #define _MESH_MIN_Y (max(Y_MIN_BED + MESH_INSET, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
896
+    #define _MESH_MAX_X (min(X_MAX_BED - (MESH_INSET), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
897
+    #define _MESH_MAX_Y (min(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
898
+  #endif
899
+  /**
900
+   * These may be overridden in Configuration if a smaller area is wanted
901
+   */
902
+  #if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
903
+    #ifndef MESH_MIN_X
904
+      #define MESH_MIN_X _MESH_MIN_X
905
+    #endif
906
+    #ifndef MESH_MIN_Y
907
+      #define MESH_MIN_Y _MESH_MIN_Y
908
+    #endif
909
+    #ifndef MESH_MAX_X
910
+      #define MESH_MAX_X _MESH_MAX_X
911
+    #endif
912
+    #ifndef MESH_MAX_Y
913
+      #define MESH_MAX_Y _MESH_MAX_Y
914
+    #endif
915
+  #endif
916
+#endif // MESH_BED_LEVELING || AUTO_BED_LEVELING_UBL
917
+
918
+/**
853
  * Buzzer/Speaker
919
  * Buzzer/Speaker
854
  */
920
  */
855
 #if ENABLED(LCD_USE_I2C_BUZZER)
921
 #if ENABLED(LCD_USE_I2C_BUZZER)
899
   #define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT
965
   #define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT
900
 #endif
966
 #endif
901
 
967
 
902
-/**
903
- * Bed Probing rectangular bounds
904
- * These can be further constrained in code for Delta and SCARA
905
- */
906
-#if ENABLED(DELTA)
907
-  #ifndef DELTA_PROBEABLE_RADIUS
908
-    #define DELTA_PROBEABLE_RADIUS DELTA_PRINTABLE_RADIUS
909
-  #endif
910
-  // Probing points may be verified at compile time within the radius
911
-  // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
912
-  // so that may be added to SanityCheck.h in the future.
913
-  #define MIN_PROBE_X (X_CENTER - (DELTA_PROBEABLE_RADIUS))
914
-  #define MIN_PROBE_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS))
915
-  #define MAX_PROBE_X (X_CENTER +  DELTA_PROBEABLE_RADIUS)
916
-  #define MAX_PROBE_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS)
917
-#elif IS_SCARA
918
-  #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
919
-  #define MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS))
920
-  #define MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS))
921
-  #define MAX_PROBE_X (X_CENTER +  SCARA_PRINTABLE_RADIUS)
922
-  #define MAX_PROBE_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS)
923
-#else
924
-  // Boundaries for Cartesian probing based on bed limits
925
-  #define MIN_PROBE_X (max(X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER, X_MIN_BED))
926
-  #define MIN_PROBE_Y (max(Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER, Y_MIN_BED))
927
-  #define MAX_PROBE_X (min(X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER, X_MAX_BED))
928
-  #define MAX_PROBE_Y (min(Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER, Y_MAX_BED))
929
-#endif
930
-
931
 // Stepper pulse duration, in cycles
968
 // Stepper pulse duration, in cycles
932
 #define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
969
 #define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
933
 #ifdef CPU_32_BIT
970
 #ifdef CPU_32_BIT

+ 4
- 0
Marlin/src/inc/SanityCheck.h View File

215
   #error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
215
   #error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
216
 #elif defined(NEOPIXEL_RGBW_LED)
216
 #elif defined(NEOPIXEL_RGBW_LED)
217
   #error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. Please update your configuration."
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."
218
 #endif
222
 #endif
219
 
223
 
220
 /**
224
 /**

Loading…
Cancel
Save