Просмотр исходного кода

Apply physical limits to mesh bounds

Scott Lahteine 7 лет назад
Родитель
Сommit
f06f4b40b8
73 измененных файлов: 578 добавлений и 2020 удалений
  1. 64
    29
      Marlin/Conditionals_post.h
  2. 1
    1
      Marlin/Configuration.h
  3. 15
    66
      Marlin/Configuration_adv.h
  4. 4
    0
      Marlin/SanityCheck.h
  5. 1
    1
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h
  6. 15
    66
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h
  7. 1
    1
      Marlin/example_configurations/AliExpress/CL-260/Configuration.h
  8. 1
    1
      Marlin/example_configurations/Anet/A6/Configuration.h
  9. 15
    66
      Marlin/example_configurations/Anet/A6/Configuration_adv.h
  10. 1
    1
      Marlin/example_configurations/Anet/A8/Configuration.h
  11. 15
    66
      Marlin/example_configurations/Anet/A8/Configuration_adv.h
  12. 1
    1
      Marlin/example_configurations/BQ/Hephestos/Configuration.h
  13. 15
    66
      Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h
  14. 1
    1
      Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
  15. 15
    66
      Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
  16. 1
    1
      Marlin/example_configurations/BQ/WITBOX/Configuration.h
  17. 15
    66
      Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h
  18. 1
    1
      Marlin/example_configurations/Cartesio/Configuration.h
  19. 15
    66
      Marlin/example_configurations/Cartesio/Configuration_adv.h
  20. 1
    1
      Marlin/example_configurations/Creality/CR-10/Configuration.h
  21. 15
    66
      Marlin/example_configurations/Creality/CR-10/Configuration_adv.h
  22. 1
    1
      Marlin/example_configurations/Felix/Configuration.h
  23. 15
    66
      Marlin/example_configurations/Felix/Configuration_adv.h
  24. 1
    1
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  25. 1
    1
      Marlin/example_configurations/Folger Tech/i3-2020/Configuration.h
  26. 15
    66
      Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h
  27. 1
    1
      Marlin/example_configurations/Geeetech/GT2560/Configuration.h
  28. 1
    1
      Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h
  29. 1
    1
      Marlin/example_configurations/Infitary/i3-M508/Configuration.h
  30. 15
    66
      Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h
  31. 1
    1
      Marlin/example_configurations/Malyan/M150/Configuration.h
  32. 15
    66
      Marlin/example_configurations/Malyan/M150/Configuration_adv.h
  33. 1
    1
      Marlin/example_configurations/Micromake/C1/basic/Configuration.h
  34. 1
    1
      Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h
  35. 1
    1
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  36. 1
    1
      Marlin/example_configurations/RigidBot/Configuration.h
  37. 15
    66
      Marlin/example_configurations/RigidBot/Configuration_adv.h
  38. 1
    1
      Marlin/example_configurations/SCARA/Configuration.h
  39. 15
    66
      Marlin/example_configurations/SCARA/Configuration_adv.h
  40. 1
    1
      Marlin/example_configurations/Sanguinololu/Configuration.h
  41. 15
    66
      Marlin/example_configurations/Sanguinololu/Configuration_adv.h
  42. 1
    1
      Marlin/example_configurations/TinyBoy2/Configuration.h
  43. 15
    66
      Marlin/example_configurations/TinyBoy2/Configuration_adv.h
  44. 1
    1
      Marlin/example_configurations/Velleman/K8200/Configuration.h
  45. 10
    63
      Marlin/example_configurations/Velleman/K8200/Configuration_adv.h
  46. 1
    1
      Marlin/example_configurations/Velleman/K8400/Configuration.h
  47. 15
    66
      Marlin/example_configurations/Velleman/K8400/Configuration_adv.h
  48. 1
    1
      Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h
  49. 1
    1
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  50. 1
    1
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
  51. 15
    66
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h
  52. 1
    1
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
  53. 15
    66
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h
  54. 1
    1
      Marlin/example_configurations/delta/generic/Configuration.h
  55. 15
    66
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  56. 1
    1
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  57. 15
    66
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  58. 1
    1
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  59. 15
    66
      Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h
  60. 1
    1
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  61. 15
    66
      Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h
  62. 1
    1
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h
  63. 15
    66
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h
  64. 1
    1
      Marlin/example_configurations/makibox/Configuration.h
  65. 15
    66
      Marlin/example_configurations/makibox/Configuration_adv.h
  66. 1
    1
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  67. 15
    66
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  68. 1
    1
      Marlin/example_configurations/wt150/Configuration.h
  69. 15
    66
      Marlin/example_configurations/wt150/Configuration_adv.h
  70. 4
    4
      Marlin/ubl.cpp
  71. 24
    24
      Marlin/ubl.h
  72. 12
    12
      Marlin/ubl_G29.cpp
  73. 2
    2
      Marlin/ubl_motion.cpp

+ 64
- 29
Marlin/Conditionals_post.h Просмотреть файл

796
   #endif
796
   #endif
797
 
797
 
798
   /**
798
   /**
799
+   * Bed Probing rectangular bounds
800
+   * These can be further constrained in code for Delta and SCARA
801
+   */
802
+  #if ENABLED(DELTA)
803
+    // Probing points may be verified at compile time within the radius
804
+    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
805
+    // so that may be added to SanityCheck.h in the future.
806
+    #define MIN_PROBE_X (X_CENTER - (DELTA_PROBEABLE_RADIUS))
807
+    #define MIN_PROBE_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS))
808
+    #define MAX_PROBE_X (X_CENTER +  DELTA_PROBEABLE_RADIUS)
809
+    #define MAX_PROBE_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS)
810
+  #elif IS_SCARA
811
+    #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
812
+    #define MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS))
813
+    #define MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS))
814
+    #define MAX_PROBE_X (X_CENTER +  SCARA_PRINTABLE_RADIUS)
815
+    #define MAX_PROBE_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS)
816
+  #else
817
+    // Boundaries for Cartesian probing based on bed limits
818
+    #define MIN_PROBE_X (max(X_MIN_BED, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
819
+    #define MIN_PROBE_Y (max(Y_MIN_BED, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
820
+    #define MAX_PROBE_X (min(X_MAX_BED, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
821
+    #define MAX_PROBE_Y (min(Y_MAX_BED, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
822
+  #endif
823
+
824
+  /**
825
+   * Default mesh area is an area with an inset margin on the print area.
826
+   */
827
+  #if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
828
+    #if IS_KINEMATIC
829
+      // Probing points may be verified at compile time within the radius
830
+      // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
831
+      // so that may be added to SanityCheck.h in the future.
832
+      #define _MESH_MIN_X (MIN_PROBE_X + MESH_INSET)
833
+      #define _MESH_MIN_Y (MIN_PROBE_Y + MESH_INSET)
834
+      #define _MESH_MAX_X (MAX_PROBE_X - (MESH_INSET))
835
+      #define _MESH_MAX_Y (MAX_PROBE_Y - (MESH_INSET))
836
+    #else
837
+      // Boundaries for Cartesian probing based on set limits
838
+      #define _MESH_MIN_X (max(X_MIN_BED + MESH_INSET, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
839
+      #define _MESH_MIN_Y (max(Y_MIN_BED + MESH_INSET, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
840
+      #define _MESH_MAX_X (min(X_MAX_BED - (MESH_INSET), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
841
+      #define _MESH_MAX_Y (min(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
842
+    #endif
843
+    /**
844
+     * These may be overridden in Configuration if a smaller area is wanted
845
+     */
846
+    #if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
847
+      #ifndef MESH_MIN_X
848
+        #define MESH_MIN_X _MESH_MIN_X
849
+      #endif
850
+      #ifndef MESH_MIN_Y
851
+        #define MESH_MIN_Y _MESH_MIN_Y
852
+      #endif
853
+      #ifndef MESH_MAX_X
854
+        #define MESH_MAX_X _MESH_MAX_X
855
+      #endif
856
+      #ifndef MESH_MAX_Y
857
+        #define MESH_MAX_Y _MESH_MAX_Y
858
+      #endif
859
+    #endif
860
+  #endif // MESH_BED_LEVELING || AUTO_BED_LEVELING_UBL
861
+
862
+  /**
799
    * Buzzer/Speaker
863
    * Buzzer/Speaker
800
    */
864
    */
801
   #if ENABLED(LCD_USE_I2C_BUZZER)
865
   #if ENABLED(LCD_USE_I2C_BUZZER)
833
     #define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT
897
     #define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT
834
   #endif
898
   #endif
835
 
899
 
836
-  /**
837
-   * Bed Probing rectangular bounds
838
-   * These can be further constrained in code for Delta and SCARA
839
-   */
840
-  #if ENABLED(DELTA)
841
-    #ifndef DELTA_PROBEABLE_RADIUS
842
-      #define DELTA_PROBEABLE_RADIUS DELTA_PRINTABLE_RADIUS
843
-    #endif
844
-    // Probing points may be verified at compile time within the radius
845
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
846
-    // so that may be added to SanityCheck.h in the future.
847
-    #define MIN_PROBE_X (X_CENTER - (DELTA_PROBEABLE_RADIUS))
848
-    #define MIN_PROBE_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS))
849
-    #define MAX_PROBE_X (X_CENTER +  DELTA_PROBEABLE_RADIUS)
850
-    #define MAX_PROBE_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS)
851
-  #elif IS_SCARA
852
-    #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
853
-    #define MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS))
854
-    #define MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS))
855
-    #define MAX_PROBE_X (X_CENTER +  SCARA_PRINTABLE_RADIUS)
856
-    #define MAX_PROBE_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS)
857
-  #else
858
-    // Boundaries for Cartesian probing based on set limits
859
-    #define MIN_PROBE_X (max(X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER, X_MIN_BED))
860
-    #define MIN_PROBE_Y (max(Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER, Y_MIN_BED))
861
-    #define MAX_PROBE_X (min(X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER, X_MAX_BED))
862
-    #define MAX_PROBE_Y (min(Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER, Y_MAX_BED))
863
-  #endif
864
-
865
   // Stepper pulse duration, in cycles
900
   // Stepper pulse duration, in cycles
866
   #define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
901
   #define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
867
 
902
 

+ 1
- 1
Marlin/Configuration.h Просмотреть файл

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/Configuration_adv.h Просмотреть файл

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

+ 4
- 0
Marlin/SanityCheck.h Просмотреть файл

212
   #error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
212
   #error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
213
 #elif defined(NEOPIXEL_RGBW_LED)
213
 #elif defined(NEOPIXEL_RGBW_LED)
214
   #error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. Please update your configuration."
214
   #error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. Please update your configuration."
215
+#elif defined(UBL_MESH_INSET)
216
+  #error "UBL_MESH_INSET is now just MESH_INSET. Please update your configuration."
217
+#elif defined(UBL_MESH_MIN_X) || defined(UBL_MESH_MIN_Y) || defined(UBL_MESH_MAX_X)  || defined(UBL_MESH_MAX_Y)
218
+  #error "UBL_MESH_(MIN|MAX)_[XY] is now just MESH_(MIN|MAX)_[XY]. Please update your configuration."
215
 #endif
219
 #endif
216
 
220
 
217
 /**
221
 /**

+ 1
- 1
Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h Просмотреть файл

961
   //========================= Unified Bed Leveling ============================
961
   //========================= Unified Bed Leveling ============================
962
   //===========================================================================
962
   //===========================================================================
963
 
963
 
964
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
964
+  #define MESH_INSET 1              // Mesh inset margin on print area
965
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
965
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
966
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
966
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
967
 
967
 

+ 15
- 66
Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/AliExpress/CL-260/Configuration.h Просмотреть файл

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/example_configurations/Anet/A6/Configuration.h Просмотреть файл

1084
   //========================= Unified Bed Leveling ============================
1084
   //========================= Unified Bed Leveling ============================
1085
   //===========================================================================
1085
   //===========================================================================
1086
 
1086
 
1087
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1087
+  #define MESH_INSET 1              // Mesh inset margin on print area
1088
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1088
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1089
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1089
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1090
 
1090
 

+ 15
- 66
Marlin/example_configurations/Anet/A6/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Anet/A8/Configuration.h Просмотреть файл

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/example_configurations/Anet/A8/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/BQ/Hephestos/Configuration.h Просмотреть файл

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/example_configurations/BQ/Hephestos/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/BQ/Hephestos_2/Configuration.h Просмотреть файл

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/example_configurations/BQ/Hephestos_2/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/BQ/WITBOX/Configuration.h Просмотреть файл

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/example_configurations/BQ/WITBOX/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Cartesio/Configuration.h Просмотреть файл

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/example_configurations/Cartesio/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Creality/CR-10/Configuration.h Просмотреть файл

951
   //========================= Unified Bed Leveling ============================
951
   //========================= Unified Bed Leveling ============================
952
   //===========================================================================
952
   //===========================================================================
953
 
953
 
954
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
954
+  #define MESH_INSET 1              // 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/example_configurations/Creality/CR-10/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Felix/Configuration.h Просмотреть файл

923
   //========================= Unified Bed Leveling ============================
923
   //========================= Unified Bed Leveling ============================
924
   //===========================================================================
924
   //===========================================================================
925
 
925
 
926
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
926
+  #define MESH_INSET 1              // Mesh inset margin on print area
927
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
927
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
928
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
928
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
929
 
929
 

+ 15
- 66
Marlin/example_configurations/Felix/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Felix/DUAL/Configuration.h Просмотреть файл

923
   //========================= Unified Bed Leveling ============================
923
   //========================= Unified Bed Leveling ============================
924
   //===========================================================================
924
   //===========================================================================
925
 
925
 
926
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
926
+  #define MESH_INSET 1              // Mesh inset margin on print area
927
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
927
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
928
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
928
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
929
 
929
 

+ 1
- 1
Marlin/example_configurations/Folger Tech/i3-2020/Configuration.h Просмотреть файл

946
   //========================= Unified Bed Leveling ============================
946
   //========================= Unified Bed Leveling ============================
947
   //===========================================================================
947
   //===========================================================================
948
 
948
 
949
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
949
+  #define MESH_INSET 1              // Mesh inset margin on print area
950
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
950
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
951
   #define GRID_MAX_POINTS_Y 10
951
   #define GRID_MAX_POINTS_Y 10
952
 
952
 

+ 15
- 66
Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Geeetech/GT2560/Configuration.h Просмотреть файл

956
   //========================= Unified Bed Leveling ============================
956
   //========================= Unified Bed Leveling ============================
957
   //===========================================================================
957
   //===========================================================================
958
 
958
 
959
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
959
+  #define MESH_INSET 1              // Mesh inset margin on print area
960
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
960
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
961
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
961
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
962
 
962
 

+ 1
- 1
Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h Просмотреть файл

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/example_configurations/Infitary/i3-M508/Configuration.h Просмотреть файл

945
   //========================= Unified Bed Leveling ============================
945
   //========================= Unified Bed Leveling ============================
946
   //===========================================================================
946
   //===========================================================================
947
 
947
 
948
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
948
+  #define MESH_INSET 1              // Mesh inset margin on print area
949
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
949
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
950
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
950
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
951
 
951
 

+ 15
- 66
Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Malyan/M150/Configuration.h Просмотреть файл

969
   //========================= Unified Bed Leveling ============================
969
   //========================= Unified Bed Leveling ============================
970
   //===========================================================================
970
   //===========================================================================
971
 
971
 
972
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
972
+  #define MESH_INSET 1              // Mesh inset margin on print area
973
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
973
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
974
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
974
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
975
 
975
 

+ 15
- 66
Marlin/example_configurations/Malyan/M150/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Micromake/C1/basic/Configuration.h Просмотреть файл

945
   //========================= Unified Bed Leveling ============================
945
   //========================= Unified Bed Leveling ============================
946
   //===========================================================================
946
   //===========================================================================
947
 
947
 
948
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
948
+  #define MESH_INSET 1              // Mesh inset margin on print area
949
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
949
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
950
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
950
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
951
 
951
 

+ 1
- 1
Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h Просмотреть файл

945
   //========================= Unified Bed Leveling ============================
945
   //========================= Unified Bed Leveling ============================
946
   //===========================================================================
946
   //===========================================================================
947
 
947
 
948
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
948
+  #define MESH_INSET 1              // Mesh inset margin on print area
949
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
949
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
950
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
950
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
951
 
951
 

+ 1
- 1
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h Просмотреть файл

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/example_configurations/RigidBot/Configuration.h Просмотреть файл

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/example_configurations/RigidBot/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/SCARA/Configuration.h Просмотреть файл

953
   //========================= Unified Bed Leveling ============================
953
   //========================= Unified Bed Leveling ============================
954
   //===========================================================================
954
   //===========================================================================
955
 
955
 
956
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
956
+  #define MESH_INSET 1              // Mesh inset margin on print area
957
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
957
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
958
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
958
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
959
 
959
 

+ 15
- 66
Marlin/example_configurations/SCARA/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Sanguinololu/Configuration.h Просмотреть файл

972
   //========================= Unified Bed Leveling ============================
972
   //========================= Unified Bed Leveling ============================
973
   //===========================================================================
973
   //===========================================================================
974
 
974
 
975
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
975
+  #define MESH_INSET 1              // Mesh inset margin on print area
976
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
976
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
977
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
977
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
978
 
978
 

+ 15
- 66
Marlin/example_configurations/Sanguinololu/Configuration_adv.h Просмотреть файл

464
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
464
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
465
   #define SD_DETECT_INVERTED
465
   #define SD_DETECT_INVERTED
466
 
466
 
467
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
467
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
468
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
468
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
469
 
469
 
470
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
471
-  // 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.
472
-  // using:
470
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
471
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
472
+  #define SDCARD_RATHERRECENTFIRST
473
+
474
+  // Add an option in the menu to run all auto#.g files
473
   //#define MENU_ADDAUTOSTART
475
   //#define MENU_ADDAUTOSTART
474
 
476
 
475
   /**
477
   /**
659
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
661
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
660
 #endif
662
 #endif
661
 
663
 
662
-// Default mesh area is an area with an inset margin on the print area.
663
-// Below are the macros that are used to define the borders for the mesh area,
664
-// made available here for specialized needs, ie dual extruder setup.
665
-#if ENABLED(MESH_BED_LEVELING)
666
-  #if ENABLED(DELTA)
667
-    // Probing points may be verified at compile time within the radius
668
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
669
-    // so that may be added to SanityCheck.h in the future.
670
-    #define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
671
-    #define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
672
-    #define MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
673
-    #define MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (MESH_INSET))
674
-  #elif IS_SCARA
675
-    #define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
676
-    #define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
677
-    #define MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
678
-    #define MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MESH_INSET))
679
-  #else
680
-    // Boundaries for Cartesian probing based on set limits
681
-    #if ENABLED(BED_CENTER_AT_0_0)
682
-      #define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
683
-      #define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
684
-      #define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
685
-      #define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
686
-    #else
687
-      #define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
688
-      #define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
689
-      #define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
690
-      #define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
691
-    #endif
692
-  #endif
693
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
694
-  #if ENABLED(DELTA)
695
-    // Probing points may be verified at compile time within the radius
696
-    // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
697
-    // so that may be added to SanityCheck.h in the future.
698
-    #define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
699
-    #define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
700
-    #define UBL_MESH_MAX_X (X_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
701
-    #define UBL_MESH_MAX_Y (Y_CENTER +  DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
702
-  #elif IS_SCARA
703
-    #define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
704
-    #define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
705
-    #define UBL_MESH_MAX_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
706
-    #define UBL_MESH_MAX_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
707
-  #else
708
-    // Boundaries for Cartesian probing based on set limits
709
-    #if ENABLED(BED_CENTER_AT_0_0)
710
-      #define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
711
-      #define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
712
-      #define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
713
-      #define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
714
-    #else
715
-      #define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
716
-      #define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
717
-      #define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
718
-      #define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
719
-    #endif
720
-  #endif
664
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
665
+  // Override the mesh area if the automatic (max) area is too large
666
+  //#define MESH_MIN_X MESH_INSET
667
+  //#define MESH_MIN_Y MESH_INSET
668
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
669
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
721
 
670
 
722
-  // If this is defined, the currently active mesh will be saved in the
723
-  // current slot on M500.
724
-  #define UBL_SAVE_ACTIVE_ON_M500
671
+  #if ENABLED(AUTO_BED_LEVELING_UBL)
672
+    #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
673
+  #endif
725
 #endif
674
 #endif
726
 
675
 
727
 // @section extras
676
 // @section extras

+ 1
- 1
Marlin/example_configurations/TinyBoy2/Configuration.h Просмотреть файл

997
   //========================= Unified Bed Leveling ============================
997
   //========================= Unified Bed Leveling ============================
998
   //===========================================================================
998
   //===========================================================================
999
 
999
 
1000
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1000
+  #define MESH_INSET 1              // Mesh inset margin on print area
1001
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1001
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1002
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1002
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1003
 
1003
 

+ 15
- 66
Marlin/example_configurations/TinyBoy2/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Velleman/K8200/Configuration.h Просмотреть файл

971
   //========================= Unified Bed Leveling ============================
971
   //========================= Unified Bed Leveling ============================
972
   //===========================================================================
972
   //===========================================================================
973
 
973
 
974
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
974
+  #define MESH_INSET 1              // Mesh inset margin on print area
975
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
975
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
976
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
976
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
977
 
977
 

+ 10
- 63
Marlin/example_configurations/Velleman/K8200/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Velleman/K8400/Configuration.h Просмотреть файл

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/example_configurations/Velleman/K8400/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h Просмотреть файл

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/example_configurations/adafruit/ST7565/Configuration.h Просмотреть файл

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/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h Просмотреть файл

1067
   //========================= Unified Bed Leveling ============================
1067
   //========================= Unified Bed Leveling ============================
1068
   //===========================================================================
1068
   //===========================================================================
1069
 
1069
 
1070
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1070
+  #define MESH_INSET 1              // Mesh inset margin on print area
1071
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1071
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1072
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1072
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1073
 
1073
 

+ 15
- 66
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h Просмотреть файл

1061
   //========================= Unified Bed Leveling ============================
1061
   //========================= Unified Bed Leveling ============================
1062
   //===========================================================================
1062
   //===========================================================================
1063
 
1063
 
1064
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1064
+  #define MESH_INSET 1              // Mesh inset margin on print area
1065
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1065
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1066
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1066
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1067
 
1067
 

+ 15
- 66
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/delta/generic/Configuration.h Просмотреть файл

1056
   //========================= Unified Bed Leveling ============================
1056
   //========================= Unified Bed Leveling ============================
1057
   //===========================================================================
1057
   //===========================================================================
1058
 
1058
 
1059
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1059
+  #define MESH_INSET 1              // Mesh inset margin on print area
1060
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1060
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1061
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1061
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1062
 
1062
 

+ 15
- 66
Marlin/example_configurations/delta/generic/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/delta/kossel_mini/Configuration.h Просмотреть файл

1059
   //========================= Unified Bed Leveling ============================
1059
   //========================= Unified Bed Leveling ============================
1060
   //===========================================================================
1060
   //===========================================================================
1061
 
1061
 
1062
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1062
+  #define MESH_INSET 1              // Mesh inset margin on print area
1063
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1063
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1064
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1064
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1065
 
1065
 

+ 15
- 66
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/delta/kossel_pro/Configuration.h Просмотреть файл

1059
   //========================= Unified Bed Leveling ============================
1059
   //========================= Unified Bed Leveling ============================
1060
   //===========================================================================
1060
   //===========================================================================
1061
 
1061
 
1062
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1062
+  #define MESH_INSET 1              // Mesh inset margin on print area
1063
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1063
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1064
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1064
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1065
 
1065
 

+ 15
- 66
Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/delta/kossel_xl/Configuration.h Просмотреть файл

1068
   //========================= Unified Bed Leveling ============================
1068
   //========================= Unified Bed Leveling ============================
1069
   //===========================================================================
1069
   //===========================================================================
1070
 
1070
 
1071
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
1071
+  #define MESH_INSET 1              // Mesh inset margin on print area
1072
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1072
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
1073
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1073
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1074
 
1074
 

+ 15
- 66
Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h Просмотреть файл

955
   //========================= Unified Bed Leveling ============================
955
   //========================= Unified Bed Leveling ============================
956
   //===========================================================================
956
   //===========================================================================
957
 
957
 
958
-  #define UBL_MESH_INSET 45         // Mesh inset margin on print area
958
+  #define MESH_INSET 45             // Mesh inset margin on print area
959
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
959
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
960
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
960
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
961
 
961
 

+ 15
- 66
Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/makibox/Configuration.h Просмотреть файл

944
   //========================= Unified Bed Leveling ============================
944
   //========================= Unified Bed Leveling ============================
945
   //===========================================================================
945
   //===========================================================================
946
 
946
 
947
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
947
+  #define MESH_INSET 1              // Mesh inset margin on print area
948
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
948
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
949
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
949
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
950
 
950
 

+ 15
- 66
Marlin/example_configurations/makibox/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/tvrrug/Round2/Configuration.h Просмотреть файл

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/example_configurations/tvrrug/Round2/Configuration_adv.h Просмотреть файл

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

+ 1
- 1
Marlin/example_configurations/wt150/Configuration.h Просмотреть файл

946
   //========================= Unified Bed Leveling ============================
946
   //========================= Unified Bed Leveling ============================
947
   //===========================================================================
947
   //===========================================================================
948
 
948
 
949
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
949
+  #define MESH_INSET 1              // Mesh inset margin on print area
950
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
950
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
951
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
951
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
952
 
952
 

+ 15
- 66
Marlin/example_configurations/wt150/Configuration_adv.h Просмотреть файл

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

+ 4
- 4
Marlin/ubl.cpp Просмотреть файл

117
       SERIAL_ECHO_SP(spaces + 3);
117
       SERIAL_ECHO_SP(spaces + 3);
118
       serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
118
       serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
119
       SERIAL_EOL();
119
       SERIAL_EOL();
120
-      serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MAX_Y);
120
+      serial_echo_xy(MESH_MIN_X, MESH_MAX_Y);
121
       SERIAL_ECHO_SP(spaces);
121
       SERIAL_ECHO_SP(spaces);
122
-      serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MAX_Y);
122
+      serial_echo_xy(MESH_MAX_X, MESH_MAX_Y);
123
       SERIAL_EOL();
123
       SERIAL_EOL();
124
     }
124
     }
125
     else {
125
     else {
166
     }
166
     }
167
 
167
 
168
     if (map_type == 0) {
168
     if (map_type == 0) {
169
-      serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MIN_Y);
169
+      serial_echo_xy(MESH_MIN_X, MESH_MIN_Y);
170
       SERIAL_ECHO_SP(spaces + 4);
170
       SERIAL_ECHO_SP(spaces + 4);
171
-      serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MIN_Y);
171
+      serial_echo_xy(MESH_MAX_X, MESH_MIN_Y);
172
       SERIAL_EOL();
172
       SERIAL_EOL();
173
       serial_echo_xy(0, 0);
173
       serial_echo_xy(0, 0);
174
       SERIAL_ECHO_SP(spaces + 5);
174
       SERIAL_ECHO_SP(spaces + 5);

+ 24
- 24
Marlin/ubl.h Просмотреть файл

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

+ 12
- 12
Marlin/ubl_G29.cpp Просмотреть файл

414
           z2 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_2_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_2_Y)) /* + zprobe_zoffset */ ;
414
           z2 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_2_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_2_Y)) /* + zprobe_zoffset */ ;
415
           z3 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_3_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_3_Y)) /* + zprobe_zoffset */ ;
415
           z3 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_3_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_3_Y)) /* + zprobe_zoffset */ ;
416
 
416
 
417
-          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)));
417
+          do_blocking_move_to_xy(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)));
418
           tilt_mesh_based_on_3pts(z1, z2, z3);
418
           tilt_mesh_based_on_3pts(z1, z2, z3);
419
           restore_ubl_active_state_and_leave();
419
           restore_ubl_active_state_and_leave();
420
         }
420
         }
773
       restore_ubl_active_state_and_leave();
773
       restore_ubl_active_state_and_leave();
774
 
774
 
775
       do_blocking_move_to_xy(
775
       do_blocking_move_to_xy(
776
-        constrain(lx - (X_PROBE_OFFSET_FROM_EXTRUDER), UBL_MESH_MIN_X, UBL_MESH_MAX_X),
777
-        constrain(ly - (Y_PROBE_OFFSET_FROM_EXTRUDER), UBL_MESH_MIN_Y, UBL_MESH_MAX_Y)
776
+        constrain(lx - (X_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_X, MESH_MAX_X),
777
+        constrain(ly - (Y_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_Y, MESH_MAX_Y)
778
       );
778
       );
779
     }
779
     }
780
 
780
 
908
       save_ubl_active_state_and_disable();   // Disable bed level correction for probing
908
       save_ubl_active_state_and_disable();   // Disable bed level correction for probing
909
 
909
 
910
       do_blocking_move_to_z(in_height);
910
       do_blocking_move_to_z(in_height);
911
-      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)));
911
+      do_blocking_move_to_xy(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)));
912
         //, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
912
         //, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
913
       stepper.synchronize();
913
       stepper.synchronize();
914
 
914
 
1215
       SERIAL_EOL();
1215
       SERIAL_EOL();
1216
     #endif
1216
     #endif
1217
 
1217
 
1218
-    SERIAL_ECHOLNPAIR("UBL_MESH_MIN_X  " STRINGIFY(UBL_MESH_MIN_X) "=", UBL_MESH_MIN_X);
1219
-    SERIAL_ECHOLNPAIR("UBL_MESH_MIN_Y  " STRINGIFY(UBL_MESH_MIN_Y) "=", UBL_MESH_MIN_Y);
1218
+    SERIAL_ECHOLNPAIR("MESH_MIN_X  " STRINGIFY(MESH_MIN_X) "=", MESH_MIN_X);
1219
+    SERIAL_ECHOLNPAIR("MESH_MIN_Y  " STRINGIFY(MESH_MIN_Y) "=", MESH_MIN_Y);
1220
     safe_delay(25);
1220
     safe_delay(25);
1221
-    SERIAL_ECHOLNPAIR("UBL_MESH_MAX_X  " STRINGIFY(UBL_MESH_MAX_X) "=", UBL_MESH_MAX_X);
1222
-    SERIAL_ECHOLNPAIR("UBL_MESH_MAX_Y  " STRINGIFY(UBL_MESH_MAX_Y) "=", UBL_MESH_MAX_Y);
1221
+    SERIAL_ECHOLNPAIR("MESH_MAX_X  " STRINGIFY(MESH_MAX_X) "=", MESH_MAX_X);
1222
+    SERIAL_ECHOLNPAIR("MESH_MAX_Y  " STRINGIFY(MESH_MAX_Y) "=", MESH_MAX_Y);
1223
     safe_delay(25);
1223
     safe_delay(25);
1224
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_X  ", GRID_MAX_POINTS_X);
1224
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_X  ", GRID_MAX_POINTS_X);
1225
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_Y  ", GRID_MAX_POINTS_Y);
1225
     SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_Y  ", GRID_MAX_POINTS_Y);
1597
   #if HAS_BED_PROBE
1597
   #if HAS_BED_PROBE
1598
 
1598
 
1599
     void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_ubl_mesh_map) {
1599
     void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_ubl_mesh_map) {
1600
-      constexpr int16_t x_min = max(MIN_PROBE_X, UBL_MESH_MIN_X),
1601
-                        x_max = min(MAX_PROBE_X, UBL_MESH_MAX_X),
1602
-                        y_min = max(MIN_PROBE_Y, UBL_MESH_MIN_Y),
1603
-                        y_max = min(MAX_PROBE_Y, UBL_MESH_MAX_Y);
1600
+      constexpr int16_t x_min = max(MIN_PROBE_X, MESH_MIN_X),
1601
+                        x_max = min(MAX_PROBE_X, MESH_MAX_X),
1602
+                        y_min = max(MIN_PROBE_Y, MESH_MIN_Y),
1603
+                        y_max = min(MAX_PROBE_Y, MESH_MAX_Y);
1604
 
1604
 
1605
       const float dx = float(x_max - x_min) / (g29_grid_size - 1.0),
1605
       const float dx = float(x_max - x_min) / (g29_grid_size - 1.0),
1606
                   dy = float(y_max - y_min) / (g29_grid_size - 1.0);
1606
                   dy = float(y_max - y_min) / (g29_grid_size - 1.0);

+ 2
- 2
Marlin/ubl_motion.cpp Просмотреть файл

645
         // in top of loop and again re-find same adjacent cell and use it, just less efficient
645
         // in top of loop and again re-find same adjacent cell and use it, just less efficient
646
         // for mesh inset area.
646
         // for mesh inset area.
647
 
647
 
648
-        int8_t cell_xi = (seg_rx - (UBL_MESH_MIN_X)) * (1.0 / (MESH_X_DIST)),
649
-               cell_yi = (seg_ry - (UBL_MESH_MIN_Y)) * (1.0 / (MESH_X_DIST));
648
+        int8_t cell_xi = (seg_rx - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST)),
649
+               cell_yi = (seg_ry - (MESH_MIN_Y)) * (1.0 / (MESH_X_DIST));
650
 
650
 
651
         cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1);
651
         cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1);
652
         cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1);
652
         cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1);

Загрузка…
Отмена
Сохранить