소스 검색

Merge pull request #8044 from thinkyhead/bf2_mesh_consolidate

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

+ 2
- 1
Marlin/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/Configuration_adv.h 파일 보기

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

+ 1
- 1
Marlin/src/HAL/HAL.h 파일 보기

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

+ 1
- 1
Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp 파일 보기

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

+ 78
- 0
Marlin/src/HAL/SPI.h 파일 보기

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

+ 2
- 1
Marlin/src/config/default/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/default/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Anet/A6/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/Anet/A6/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Anet/A8/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/Anet/A8/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/BQ/Hephestos/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/BQ/WITBOX/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Cartesio/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
 
949
 
949
 
950
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
950
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
951
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
951
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
952
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
952
 
953
 
953
 #elif ENABLED(MESH_BED_LEVELING)
954
 #elif ENABLED(MESH_BED_LEVELING)
954
 
955
 

+ 12
- 67
Marlin/src/config/examples/Cartesio/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Creality/CR-10/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
 
960
 
960
 
961
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
961
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
962
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
962
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
963
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
963
 
964
 
964
 #elif ENABLED(MESH_BED_LEVELING)
965
 #elif ENABLED(MESH_BED_LEVELING)
965
 
966
 

+ 12
- 67
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Felix/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/Felix/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Felix/DUAL/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Folger Tech/i3-2020/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/Folger Tech/i3-2020/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Infitary/i3-M508/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
 
954
 
954
 
955
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
955
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
957
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
957
 
958
 
958
 #elif ENABLED(MESH_BED_LEVELING)
959
 #elif ENABLED(MESH_BED_LEVELING)
959
 
960
 

+ 12
- 67
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Malyan/M150/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Micromake/C1/basic/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
 
954
 
954
 
955
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
955
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
957
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
957
 
958
 
958
 #elif ENABLED(MESH_BED_LEVELING)
959
 #elif ENABLED(MESH_BED_LEVELING)
959
 
960
 

+ 2
- 1
Marlin/src/config/examples/Micromake/C1/enhanced/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
 
954
 
954
 
955
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
955
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
956
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
957
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
957
 
958
 
958
 #elif ENABLED(MESH_BED_LEVELING)
959
 #elif ENABLED(MESH_BED_LEVELING)
959
 
960
 

+ 2
- 1
Marlin/src/config/examples/Mks/Sbase/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
 
952
 
952
 
953
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
953
   //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
954
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
954
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
955
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
955
 
956
 
956
 #elif ENABLED(MESH_BED_LEVELING)
957
 #elif ENABLED(MESH_BED_LEVELING)
957
 
958
 

+ 12
- 67
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/RigidBot/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/RigidBot/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/SCARA/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/SCARA/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Sanguinololu/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/TinyBoy2/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Velleman/K8200/Configuration.h 파일 보기

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

+ 7
- 64
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Velleman/K8400/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/adafruit/ST7565/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/delta/generic/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/delta/generic/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/delta/kossel_mini/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/delta/kossel_pro/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/delta/kossel_xl/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h 파일 보기

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

+ 12
- 67
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/makibox/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
 
953
 
953
 
954
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
954
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
955
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
955
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
956
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
956
 
957
 
957
 #elif ENABLED(MESH_BED_LEVELING)
958
 #elif ENABLED(MESH_BED_LEVELING)
958
 
959
 

+ 12
- 67
Marlin/src/config/examples/makibox/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/stm32f103ret6/Configuration.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/tvrrug/Round2/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
 
945
 
945
 
946
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
946
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
947
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
947
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
948
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
948
 
949
 
949
 #elif ENABLED(MESH_BED_LEVELING)
950
 #elif ENABLED(MESH_BED_LEVELING)
950
 
951
 

+ 12
- 67
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h 파일 보기

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

+ 2
- 1
Marlin/src/config/examples/wt150/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
 
955
 
955
 
956
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
956
   #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
957
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
957
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
958
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
958
 
959
 
959
 #elif ENABLED(MESH_BED_LEVELING)
960
 #elif ENABLED(MESH_BED_LEVELING)
960
 
961
 

+ 12
- 67
Marlin/src/config/examples/wt150/Configuration_adv.h 파일 보기

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

+ 4
- 4
Marlin/src/feature/bedlevel/ubl/ubl.cpp 파일 보기

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

+ 24
- 24
Marlin/src/feature/bedlevel/ubl/ubl.h 파일 보기

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

+ 12
- 12
Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp 파일 보기

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

+ 2
- 2
Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp 파일 보기

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

+ 385
- 385
Marlin/src/inc/Conditionals_LCD.h 파일 보기

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

+ 929
- 891
Marlin/src/inc/Conditionals_post.h
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 1
- 1
Marlin/src/inc/MarlinConfig.h 파일 보기

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

+ 0
- 52
Marlin/src/inc/SPI.h 파일 보기

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

+ 9
- 1
Marlin/src/inc/SanityCheck.h 파일 보기

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

+ 8
- 1
Marlin/src/inc/Version.h 파일 보기

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

Loading…
취소
저장