Procházet zdrojové kódy

Bring Malyan M200 config up to date

Scott Lahteine před 7 roky
rodič
revize
2b7db90340

+ 201
- 92
Marlin/src/config/examples/Malyan/M200/Configuration.h Zobrazit soubor

@@ -91,15 +91,14 @@
91 91
 // example configuration folder.
92 92
 //
93 93
 //#define SHOW_CUSTOM_BOOTSCREEN
94
-
95 94
 // @section machine
96 95
 
97 96
 /**
98
- * Select which serial port on the board will be used for communication with the host.
97
+ * Select the serial port on the board to use for communication with the host.
99 98
  * This allows the connection of wireless adapters (for instance) to non-default port pins.
100
- * Serial port 0 is always used by the Arduino bootloader regardless of this setting.
99
+ * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
101 100
  *
102
- * :[0, 1, 2, 3, 4, 5, 6, 7]
101
+ * :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
103 102
  */
104 103
 #define SERIAL_PORT 0
105 104
 
@@ -137,6 +136,9 @@
137 136
 // :[1, 2, 3, 4, 5]
138 137
 #define EXTRUDERS 1
139 138
 
139
+// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
140
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
141
+
140 142
 // For Cyclops or any "multi-extruder" that shares a single nozzle.
141 143
 //#define SINGLENOZZLE
142 144
 
@@ -337,8 +339,9 @@
337 339
 
338 340
 // Comment the following line to disable PID and enable bang-bang.
339 341
 #define PIDTEMP
340
-#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
341
-#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
342
+#define BANG_MAX 255     // Limits current to nozzle while in bang-bang mode; 255=full current
343
+#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
344
+#define PID_K1 0.95      // Smoothing factor within any PID loop
342 345
 #if ENABLED(PIDTEMP)
343 346
   //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
344 347
   //#define PID_DEBUG // Sends debug data to the serial port.
@@ -348,7 +351,6 @@
348 351
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
349 352
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
350 353
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
351
-  #define K1 0.95 //smoothing factor within the PID
352 354
 
353 355
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
354 356
 
@@ -428,12 +430,13 @@
428 430
 //===========================================================================
429 431
 
430 432
 /**
431
- * Thermal Protection protects your printer from damage and fire if a
432
- * thermistor falls out or temperature sensors fail in any way.
433
+ * Thermal Protection provides additional protection to your printer from damage
434
+ * and fire. Marlin always includes safe min and max temperature ranges which
435
+ * protect against a broken or disconnected thermistor wire.
433 436
  *
434
- * The issue: If a thermistor falls out or a temperature sensor fails,
435
- * Marlin can no longer sense the actual temperature. Since a disconnected
436
- * thermistor reads as a low temperature, the firmware will keep the heater on.
437
+ * The issue: If a thermistor falls out, it will report the much lower
438
+ * temperature of the air in the room, and the the firmware will keep
439
+ * the heater on.
437 440
  *
438 441
  * If you get "Thermal Runaway" or "Heating failed" errors the
439 442
  * details can be tuned in Configuration_adv.h
@@ -573,7 +576,7 @@
573 576
 // @section probes
574 577
 
575 578
 //
576
-// See http://marlinfw.org/configuration/probes.html
579
+// See http://marlinfw.org/docs/configuration/probes.html
577 580
 //
578 581
 
579 582
 /**
@@ -622,7 +625,7 @@
622 625
  * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
623 626
  *   (e.g., an inductive probe or a nozzle-based probe-switch.)
624 627
  */
625
-// #define FIX_MOUNTED_PROBE
628
+//#define FIX_MOUNTED_PROBE
626 629
 
627 630
 /**
628 631
  * Z Servo Probe, such as an endstop switch on a rotating arm.
@@ -686,14 +689,16 @@
686 689
 // X and Y axis travel speed (mm/m) between probes
687 690
 #define XY_PROBE_SPEED 8000
688 691
 
689
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
692
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
690 693
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
691 694
 
692 695
 // Speed for the "accurate" probe of each point
693 696
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
694 697
 
695
-// Use double touch for probing
696
-//#define PROBE_DOUBLE_TOUCH
698
+// The number of probes to perform at each point.
699
+//   Set to 2 for a fast/slow probe, using the second probe result.
700
+//   Set to 3 or more for slow probes, averaging the results.
701
+//#define MULTIPLE_PROBING 2
697 702
 
698 703
 /**
699 704
  * Z probes require clearance when deploying, stowing, and moving between
@@ -785,10 +790,30 @@
785 790
 #define Y_MAX_POS Y_BED_SIZE
786 791
 #define Z_MAX_POS 200
787 792
 
788
-// If enabled, axes won't move below MIN_POS in response to movement commands.
793
+/**
794
+ * Software Endstops
795
+ *
796
+ * - Prevent moves outside the set machine bounds.
797
+ * - Individual axes can be disabled, if desired.
798
+ * - X and Y only apply to Cartesian robots.
799
+ * - Use 'M211' to set software endstops on/off or report current state
800
+ */
801
+
802
+// Min software endstops constrain movement within minimum coordinate bounds
789 803
 #define MIN_SOFTWARE_ENDSTOPS
790
-// If enabled, axes won't move above MAX_POS in response to movement commands.
804
+#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
805
+  #define MIN_SOFTWARE_ENDSTOP_X
806
+  #define MIN_SOFTWARE_ENDSTOP_Y
807
+  #define MIN_SOFTWARE_ENDSTOP_Z
808
+#endif
809
+
810
+// Max software endstops constrain movement within maximum coordinate bounds
791 811
 #define MAX_SOFTWARE_ENDSTOPS
812
+#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
813
+  #define MAX_SOFTWARE_ENDSTOP_X
814
+  #define MAX_SOFTWARE_ENDSTOP_Y
815
+  #define MAX_SOFTWARE_ENDSTOP_Z
816
+#endif
792 817
 
793 818
 /**
794 819
  * Filament Runout Sensor
@@ -808,7 +833,7 @@
808 833
 //===========================================================================
809 834
 //=============================== Bed Leveling ==============================
810 835
 //===========================================================================
811
-// @section bedlevel
836
+// @section calibrate
812 837
 
813 838
 /**
814 839
  * Choose one of the options below to enable G29 Bed Leveling. The parameters
@@ -834,12 +859,7 @@
834 859
  * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling)
835 860
  *   A comprehensive bed leveling system combining the features and benefits
836 861
  *   of other systems. UBL also includes integrated Mesh Generation, Mesh
837
- *   Validation and Mesh Editing systems. Currently, UBL is only checked out
838
- *   for Cartesian Printers. That said, it was primarily designed to correct
839
- *   poor quality Delta Printers. If you feel adventurous and have a Delta,
840
- *   please post an issue if something doesn't work correctly. Initially,
841
- *   you will need to set a reduced bed size so you have a rectangular area
842
- *   to test on.
862
+ *   Validation and Mesh Editing systems.
843 863
  *
844 864
  * - MESH_BED_LEVELING
845 865
  *   Probe a grid manually
@@ -859,13 +879,31 @@
859 879
  * Turn on with the command 'M111 S32'.
860 880
  * NOTE: Requires a lot of PROGMEM!
861 881
  */
862
-#define DEBUG_LEVELING_FEATURE
882
+//#define DEBUG_LEVELING_FEATURE
863 883
 
864 884
 #if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL)
865 885
   // Gradually reduce leveling correction until a set height is reached,
866 886
   // at which point movement will be level to the machine's XY plane.
867 887
   // The height can be set with M420 Z<height>
868 888
   #define ENABLE_LEVELING_FADE_HEIGHT
889
+
890
+  // For Cartesian machines, instead of dividing moves on mesh boundaries,
891
+  // split up moves into short segments like a Delta. This follows the
892
+  // contours of the bed more closely than edge-to-edge straight moves.
893
+  #define SEGMENT_LEVELED_MOVES
894
+  #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one)
895
+
896
+  /**
897
+   * Enable the G26 Mesh Validation Pattern tool.
898
+   */
899
+  //#define G26_MESH_VALIDATION
900
+  #if ENABLED(G26_MESH_VALIDATION)
901
+    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
902
+    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
903
+    #define MESH_TEST_HOTEND_TEMP  205.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
904
+    #define MESH_TEST_BED_TEMP      60.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
905
+  #endif
906
+
869 907
 #endif
870 908
 
871 909
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -921,7 +959,9 @@
921 959
   //========================= Unified Bed Leveling ============================
922 960
   //===========================================================================
923 961
 
924
-  #define UBL_MESH_INSET 1          // Mesh inset margin on print area
962
+  //#define MESH_EDIT_GFX_OVERLAY   // Display a graphics overlay while editing the mesh
963
+
964
+  #define MESH_INSET 1              // Mesh inset margin on print area
925 965
   #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
926 966
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
927 967
 
@@ -932,8 +972,8 @@
932 972
   #define UBL_PROBE_PT_3_X 180
933 973
   #define UBL_PROBE_PT_3_Y 20
934 974
 
935
-  //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
936 975
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
976
+  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
937 977
 
938 978
 #elif ENABLED(MESH_BED_LEVELING)
939 979
 
@@ -993,14 +1033,71 @@
993 1033
 //#define Z_SAFE_HOMING
994 1034
 
995 1035
 #if ENABLED(Z_SAFE_HOMING)
996
-  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axis (G28).
997
-  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axis (G28).
1036
+  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
1037
+  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
998 1038
 #endif
999 1039
 
1000 1040
 // Homing speeds (mm/m)
1001 1041
 #define HOMING_FEEDRATE_XY (50*60)
1002 1042
 #define HOMING_FEEDRATE_Z  (4*60)
1003 1043
 
1044
+// @section calibrate
1045
+
1046
+/**
1047
+ * Bed Skew Compensation
1048
+ *
1049
+ * This feature corrects for misalignment in the XYZ axes.
1050
+ *
1051
+ * Take the following steps to get the bed skew in the XY plane:
1052
+ *  1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185)
1053
+ *  2. For XY_DIAG_AC measure the diagonal A to C
1054
+ *  3. For XY_DIAG_BD measure the diagonal B to D
1055
+ *  4. For XY_SIDE_AD measure the edge A to D
1056
+ *
1057
+ * Marlin automatically computes skew factors from these measurements.
1058
+ * Skew factors may also be computed and set manually:
1059
+ *
1060
+ *  - Compute AB     : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2
1061
+ *  - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD)))
1062
+ *
1063
+ * If desired, follow the same procedure for XZ and YZ.
1064
+ * Use these diagrams for reference:
1065
+ *
1066
+ *    Y                     Z                     Z
1067
+ *    ^     B-------C       ^     B-------C       ^     B-------C
1068
+ *    |    /       /        |    /       /        |    /       /
1069
+ *    |   /       /         |   /       /         |   /       /
1070
+ *    |  A-------D          |  A-------D          |  A-------D
1071
+ *    +-------------->X     +-------------->X     +-------------->Y
1072
+ *     XY_SKEW_FACTOR        XZ_SKEW_FACTOR        YZ_SKEW_FACTOR
1073
+ */
1074
+//#define SKEW_CORRECTION
1075
+
1076
+#if ENABLED(SKEW_CORRECTION)
1077
+  // Input all length measurements here:
1078
+  #define XY_DIAG_AC 282.8427124746
1079
+  #define XY_DIAG_BD 282.8427124746
1080
+  #define XY_SIDE_AD 200
1081
+
1082
+  // Or, set the default skew factors directly here
1083
+  // to override the above measurements:
1084
+  #define XY_SKEW_FACTOR 0.0
1085
+
1086
+  //#define SKEW_CORRECTION_FOR_Z
1087
+  #if ENABLED(SKEW_CORRECTION_FOR_Z)
1088
+    #define XZ_DIAG_AC 282.8427124746
1089
+    #define XZ_DIAG_BD 282.8427124746
1090
+    #define YZ_DIAG_AC 282.8427124746
1091
+    #define YZ_DIAG_BD 282.8427124746
1092
+    #define YZ_SIDE_AD 200
1093
+    #define XZ_SKEW_FACTOR 0.0
1094
+    #define YZ_SKEW_FACTOR 0.0
1095
+  #endif
1096
+
1097
+  // Enable this option for M852 to set skew at runtime
1098
+  //#define SKEW_CORRECTION_GCODE
1099
+#endif
1100
+
1004 1101
 //=============================================================================
1005 1102
 //============================= Additional Features ===========================
1006 1103
 //=============================================================================
@@ -1032,7 +1129,7 @@
1032 1129
 //
1033 1130
 // M100 Free Memory Watcher
1034 1131
 //
1035
-//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
1132
+//#define M100_FREE_MEMORY_WATCHER    // Add M100 (Free Memory Watcher) to debug memory usage
1036 1133
 
1037 1134
 //
1038 1135
 // G20/G21 Inch mode support
@@ -1177,11 +1274,11 @@
1177 1274
  *
1178 1275
  * Select the language to display on the LCD. These languages are available:
1179 1276
  *
1180
- *    en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, eu, fi, fr, gl, hr,
1181
- *    it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8,
1277
+ *    en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, eu, fi, fr, fr_utf8, gl,
1278
+ *    hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8,
1182 1279
  *    tr, uk, zh_CN, zh_TW, test
1183 1280
  *
1184
- * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' }
1281
+ * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' }
1185 1282
  */
1186 1283
 #define LCD_LANGUAGE en
1187 1284
 
@@ -1235,9 +1332,8 @@
1235 1332
  * SD CARD: SPI SPEED
1236 1333
  *
1237 1334
  * Enable one of the following items for a slower SPI transfer speed.
1238
- * This may be required to resolve "volume init" errors or LCD issues.
1335
+ * This may be required to resolve "volume init" errors.
1239 1336
  */
1240
-
1241 1337
 //#define SPI_SPEED SPI_HALF_SPEED
1242 1338
 //#define SPI_SPEED SPI_QUARTER_SPEED
1243 1339
 #define SPI_SPEED SPI_EIGHTH_SPEED
@@ -1310,8 +1406,8 @@
1310 1406
 // Note: Test audio output with the G-Code:
1311 1407
 //  M300 S<frequency Hz> P<duration ms>
1312 1408
 //
1313
-//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
1314
-//#define LCD_FEEDBACK_FREQUENCY_HZ 1000
1409
+//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
1410
+//#define LCD_FEEDBACK_FREQUENCY_HZ 5000
1315 1411
 
1316 1412
 //
1317 1413
 // CONTROLLER TYPE: Standard
@@ -1504,6 +1600,46 @@
1504 1600
 //
1505 1601
 //#define OLED_PANEL_TINYBOY2
1506 1602
 
1603
+//
1604
+// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller
1605
+// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html
1606
+//
1607
+//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602
1608
+
1609
+//
1610
+// MKS MINI12864 with graphic controller and SD support
1611
+// http://reprap.org/wiki/MKS_MINI_12864
1612
+//
1613
+//#define MKS_MINI_12864
1614
+
1615
+//
1616
+// Factory display for Creality CR-10
1617
+// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html
1618
+//
1619
+// This is RAMPS-compatible using a single 10-pin connector.
1620
+// (For CR-10 owners who want to replace the Melzi Creality board but retain the display)
1621
+//
1622
+//#define CR10_STOCKDISPLAY
1623
+
1624
+//
1625
+// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER
1626
+// http://reprap.org/wiki/MKS_12864OLED
1627
+//
1628
+// Tiny, but very sharp OLED display
1629
+//
1630
+//#define MKS_12864OLED
1631
+
1632
+//
1633
+// AZSMZ 12864 LCD with SD
1634
+// https://www.aliexpress.com/store/product/3D-printer-smart-controller-SMART-RAMPS-OR-RAMPS-1-4-LCD-12864-LCD-control-panel-green/2179173_32213636460.html
1635
+//
1636
+//#define AZSMZ_12864
1637
+
1638
+// Silvergate GLCD controller
1639
+// http://github.com/android444/Silvergate
1640
+//
1641
+//#define SILVER_GATE_GLCD_CONTROLLER
1642
+
1507 1643
 //=============================================================================
1508 1644
 //=============================== Extra Features ==============================
1509 1645
 //=============================================================================
@@ -1560,14 +1696,20 @@
1560 1696
  * Adds the M150 command to set the LED (or LED strip) color.
1561 1697
  * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of
1562 1698
  * luminance values can be set from 0 to 255.
1699
+ * For Neopixel LED an overall brightness parameter is also available.
1563 1700
  *
1564 1701
  * *** CAUTION ***
1565 1702
  *  LED Strips require a MOFSET Chip between PWM lines and LEDs,
1566 1703
  *  as the Arduino cannot handle the current the LEDs will require.
1567 1704
  *  Failure to follow this precaution can destroy your Arduino!
1705
+ *  NOTE: A separate 5V power supply is required! The Neopixel LED needs
1706
+ *  more current than the Arduino 5V linear regulator can produce.
1568 1707
  * *** CAUTION ***
1569 1708
  *
1709
+ * LED Type. Enable only one of the following two options.
1710
+ *
1570 1711
  */
1712
+
1571 1713
 //#define RGB_LED
1572 1714
 //#define RGBW_LED
1573 1715
 #if ENABLED(RGB_LED) || ENABLED(RGBW_LED)
@@ -1578,11 +1720,14 @@
1578 1720
 #endif
1579 1721
 
1580 1722
 // Support for Adafruit Neopixel LED driver
1581
-//#define NEOPIXEL_RGBW_LED
1582
-#if ENABLED(NEOPIXEL_RGBW_LED)
1583
-  #define NEOPIXEL_PIN    4       // D4 (EXP2-5 on Printrboard)
1584
-  #define NEOPIXEL_PIXELS 3
1585
-  //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
1723
+//#define NEOPIXEL_LED
1724
+#if ENABLED(NEOPIXEL_LED)
1725
+  #define NEOPIXEL_TYPE   NEO_GRB  // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
1726
+  #define NEOPIXEL_PIN    4        // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba)
1727
+  #define NEOPIXEL_PIXELS 30       // Number of LEDs in the strip
1728
+  #define NEOPIXEL_IS_SEQUENTIAL   // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
1729
+  #define NEOPIXEL_BRIGHTNESS 255  // Initial brightness 0-255
1730
+  //#define NEOPIXEL_STARTUP_TEST  // Cycle through colors at startup
1586 1731
 #endif
1587 1732
 
1588 1733
 /**
@@ -1596,22 +1741,22 @@
1596 1741
  *  - Change to green once print has finished
1597 1742
  *  - Turn off after the print has finished and the user has pushed a button
1598 1743
  */
1599
-#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_RGBW_LED)
1744
+#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED)
1600 1745
   #define PRINTER_EVENT_LEDS
1601 1746
 #endif
1602 1747
 
1603
-/*********************************************************************\
1604
-* R/C SERVO support
1605
-* Sponsored by TrinityLabs, Reworked by codexmas
1606
-**********************************************************************/
1748
+/**
1749
+ * R/C SERVO support
1750
+ * Sponsored by TrinityLabs, Reworked by codexmas
1751
+ */
1607 1752
 
1608
-// Number of servos
1609
-//
1610
-// If you select a configuration below, this will receive a default value and does not need to be set manually
1611
-// set it manually if you have more servos than extruders and wish to manually control some
1612
-// leaving it undefined or defining as 0 will disable the servo subsystem
1613
-// If unsure, leave commented / disabled
1614
-//
1753
+/**
1754
+ * Number of servos
1755
+ *
1756
+ * For some servo-related options NUM_SERVOS will be set automatically.
1757
+ * Set this manually if there are extra servos needing manual control.
1758
+ * Leave undefined or set to 0 to entirely disable the servo subsystem.
1759
+ */
1615 1760
 //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
1616 1761
 
1617 1762
 // Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
@@ -1624,40 +1769,4 @@
1624 1769
 // With this option servos are powered only during movement, then turned off to prevent jitter.
1625 1770
 //#define DEACTIVATE_SERVOS_AFTER_MOVE
1626 1771
 
1627
-/**
1628
- * Filament Width Sensor
1629
- *
1630
- * Measures the filament width in real-time and adjusts
1631
- * flow rate to compensate for any irregularities.
1632
- *
1633
- * Also allows the measured filament diameter to set the
1634
- * extrusion rate, so the slicer only has to specify the
1635
- * volume.
1636
- *
1637
- * Only a single extruder is supported at this time.
1638
- *
1639
- *  34 RAMPS_14    : Analog input 5 on the AUX2 connector
1640
- *  81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E)
1641
- * 301 RAMBO       : Analog input 3
1642
- *
1643
- * Note: May require analog pins to be defined for other boards.
1644
- */
1645
-//#define FILAMENT_WIDTH_SENSOR
1646
-
1647
-#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00   // (mm) Diameter of the filament generally used (3.0 or 1.75mm), also used in the slicer. Used to validate sensor reading.
1648
-
1649
-#if ENABLED(FILAMENT_WIDTH_SENSOR)
1650
-  #define FILAMENT_SENSOR_EXTRUDER_NUM 0    // Index of the extruder that has the filament sensor (0,1,2,3)
1651
-  #define MEASUREMENT_DELAY_CM        14    // (cm) The distance from the filament sensor to the melting chamber
1652
-
1653
-  #define MEASURED_UPPER_LIMIT         3.30 // (mm) Upper limit used to validate sensor reading
1654
-  #define MEASURED_LOWER_LIMIT         1.90 // (mm) Lower limit used to validate sensor reading
1655
-  #define MAX_MEASUREMENT_DELAY       20    // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
1656
-
1657
-  #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially
1658
-
1659
-  // Display filament width on the LCD status line. Status messages will expire after 5 seconds.
1660
-  //#define FILAMENT_LCD_DISPLAY
1661
-#endif
1662
-
1663 1772
 #endif // CONFIGURATION_H

+ 190
- 103
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h Zobrazit soubor

@@ -48,31 +48,36 @@
48 48
 #endif
49 49
 
50 50
 /**
51
- * Thermal Protection protects your printer from damage and fire if a
52
- * thermistor falls out or temperature sensors fail in any way.
51
+ * Thermal Protection provides additional protection to your printer from damage
52
+ * and fire. Marlin always includes safe min and max temperature ranges which
53
+ * protect against a broken or disconnected thermistor wire.
53 54
  *
54
- * The issue: If a thermistor falls out or a temperature sensor fails,
55
- * Marlin can no longer sense the actual temperature. Since a disconnected
56
- * thermistor reads as a low temperature, the firmware will keep the heater on.
55
+ * The issue: If a thermistor falls out, it will report the much lower
56
+ * temperature of the air in the room, and the the firmware will keep
57
+ * the heater on.
57 58
  *
58 59
  * The solution: Once the temperature reaches the target, start observing.
59
- * If the temperature stays too far below the target (hysteresis) for too long (period),
60
- * the firmware will halt the machine as a safety precaution.
60
+ * If the temperature stays too far below the target (hysteresis) for too
61
+ * long (period), the firmware will halt the machine as a safety precaution.
61 62
  *
62
- * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
63
+ * If you get false positives for "Thermal Runaway", increase
64
+ * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
63 65
  */
64 66
 #if ENABLED(THERMAL_PROTECTION_HOTENDS)
65 67
   #define THERMAL_PROTECTION_PERIOD 40        // Seconds
66 68
   #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
67 69
 
68 70
   /**
69
-   * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
70
-   * WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
71
-   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
72
-   * but only if the current temperature is far enough below the target for a reliable test.
71
+   * Whenever an M104, M109, or M303 increases the target temperature, the
72
+   * firmware will wait for the WATCH_TEMP_PERIOD to expire. If the temperature
73
+   * hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted and
74
+   * requires a hard reset. This test restarts with any M104/M109/M303, but only
75
+   * if the current temperature is far enough below the target for a reliable
76
+   * test.
73 77
    *
74
-   * If you get false positives for "Heating failed" increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE
75
-   * WATCH_TEMP_INCREASE should not be below 2.
78
+   * If you get false positives for "Heating failed", increase WATCH_TEMP_PERIOD
79
+   * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
80
+   * below 2.
76 81
    */
77 82
   #define WATCH_TEMP_PERIOD 20                // Seconds
78 83
   #define WATCH_TEMP_INCREASE 2               // Degrees Celsius
@@ -86,13 +91,7 @@
86 91
   #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
87 92
 
88 93
   /**
89
-   * Whenever an M140 or M190 increases the target temperature the firmware will wait for the
90
-   * WATCH_BED_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_BED_TEMP_INCREASE
91
-   * degrees, the machine is halted, requiring a hard reset. This test restarts with any M140/M190,
92
-   * but only if the current temperature is far enough below the target for a reliable test.
93
-   *
94
-   * If you get too many "Heating failed" errors, increase WATCH_BED_TEMP_PERIOD and/or decrease
95
-   * WATCH_BED_TEMP_INCREASE. (WATCH_BED_TEMP_INCREASE should not be below 2.)
94
+   * As described above, except for the bed (M140/M190/M303).
96 95
    */
97 96
   #define WATCH_BED_TEMP_PERIOD 60                // Seconds
98 97
   #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
@@ -123,6 +122,9 @@
123 122
   #define AUTOTEMP_OLDWEIGHT 0.98
124 123
 #endif
125 124
 
125
+// Show extra position information in M114
126
+//#define M114_DETAIL
127
+
126 128
 // Show Temperature ADC value
127 129
 // Enable for M105 to include ADC values read from temperature sensors.
128 130
 //#define SHOW_TEMP_ADC_VALUES
@@ -257,48 +259,49 @@
257 259
 
258 260
 #define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 261
 
260
-// Dual X Steppers
261
-// Uncomment this option to drive two X axis motors.
262
-// The next unused E driver will be assigned to the second X stepper.
262
+/**
263
+ * Dual Steppers / Dual Endstops
264
+ *
265
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
266
+ *
267
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
268
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
269
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
270
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
271
+ *
272
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
273
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
274
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
275
+ */
276
+
263 277
 //#define X_DUAL_STEPPER_DRIVERS
264 278
 #if ENABLED(X_DUAL_STEPPER_DRIVERS)
265
-  // Set true if the two X motors need to rotate in opposite directions
266
-  #define INVERT_X2_VS_X_DIR true
279
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
280
+  //#define X_DUAL_ENDSTOPS
281
+  #if ENABLED(X_DUAL_ENDSTOPS)
282
+    #define X2_USE_ENDSTOP _XMAX_
283
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
284
+  #endif
267 285
 #endif
268 286
 
269
-// Dual Y Steppers
270
-// Uncomment this option to drive two Y axis motors.
271
-// The next unused E driver will be assigned to the second Y stepper.
272 287
 //#define Y_DUAL_STEPPER_DRIVERS
273 288
 #if ENABLED(Y_DUAL_STEPPER_DRIVERS)
274
-  // Set true if the two Y motors need to rotate in opposite directions
275
-  #define INVERT_Y2_VS_Y_DIR true
289
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
290
+  //#define Y_DUAL_ENDSTOPS
291
+  #if ENABLED(Y_DUAL_ENDSTOPS)
292
+    #define Y2_USE_ENDSTOP _YMAX_
293
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
294
+  #endif
276 295
 #endif
277 296
 
278
-// A single Z stepper driver is usually used to drive 2 stepper motors.
279
-// Uncomment this option to use a separate stepper driver for each Z axis motor.
280
-// The next unused E driver will be assigned to the second Z stepper.
281 297
 //#define Z_DUAL_STEPPER_DRIVERS
282
-
283 298
 #if ENABLED(Z_DUAL_STEPPER_DRIVERS)
284
-
285
-  // Z_DUAL_ENDSTOPS is a feature to enable the use of 2 endstops for both Z steppers - Let's call them Z stepper and Z2 stepper.
286
-  // That way the machine is capable to align the bed during home, since both Z steppers are homed.
287
-  // There is also an implementation of M666 (software endstops adjustment) to this feature.
288
-  // After Z homing, this adjustment is applied to just one of the steppers in order to align the bed.
289
-  // One just need to home the Z axis and measure the distance difference between both Z axis and apply the math: Z adjust = Z - Z2.
290
-  // If the Z stepper axis is closer to the bed, the measure Z > Z2 (yes, it is.. think about it) and the Z adjust would be positive.
291
-  // Play a little bit with small adjustments (0.5mm) and check the behaviour.
292
-  // The M119 (endstops report) will start reporting the Z2 Endstop as well.
293
-
294 299
   //#define Z_DUAL_ENDSTOPS
295
-
296 300
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 301
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
302
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 303
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
304
+#endif
302 305
 
303 306
 // Enable this for dual x-carriage printers.
304 307
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which
@@ -345,12 +348,12 @@
345 348
 
346 349
 // @section homing
347 350
 
348
-//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
351
+// Homing hits each endstop, retracts by these distances, then does a slower bump.
349 352
 #define X_HOME_BUMP_MM 5
350 353
 #define Y_HOME_BUMP_MM 5
351 354
 #define Z_HOME_BUMP_MM 2
352
-#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
353
-//#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
355
+#define HOMING_BUMP_DIVISOR { 2, 2, 4 }  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
356
+//#define QUICK_HOME                     // If homing includes X and Y, do a diagonal move initially
354 357
 
355 358
 // When G28 is called, this option will make Y home before X
356 359
 //#define HOME_Y_BEFORE_X
@@ -434,8 +437,21 @@
434 437
 //#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 }   // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
435 438
 //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 }    // Default drive percent - X, Y, Z, E axis
436 439
 
437
-// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
440
+// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro)
438 441
 //#define DIGIPOT_I2C
442
+#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A)
443
+  /**
444
+   * Common slave addresses:
445
+   *
446
+   *                    A   (A shifted)   B   (B shifted)  IC
447
+   * Smoothie          0x2C (0x58)       0x2D (0x5A)       MCP4451
448
+   * AZTEEG_X3_PRO     0x2C (0x58)       0x2E (0x5C)       MCP4451
449
+   * MIGHTYBOARD_REVE  0x2F (0x5E)                         MCP4018
450
+   */
451
+  #define DIGIPOT_I2C_ADDRESS_A 0x2C  // unshifted slave address for first DIGIPOT
452
+  #define DIGIPOT_I2C_ADDRESS_B 0x2D  // unshifted slave address for second DIGIPOT
453
+#endif
454
+
439 455
 //#define DIGIPOT_MCP4018          // Requires library from https://github.com/stawel/SlowSoftI2CMaster
440 456
 #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4     AZTEEG_X3_PRO: 8
441 457
 // Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
@@ -466,6 +482,23 @@
466 482
 // The timeout (in ms) to return to the status screen from sub-menus
467 483
 //#define LCD_TIMEOUT_TO_STATUS 15000
468 484
 
485
+/**
486
+ * LED Control Menu
487
+ * Enable this feature to add LED Control to the LCD menu
488
+ */
489
+//#define LED_CONTROL_MENU
490
+#if ENABLED(LED_CONTROL_MENU)
491
+  #define LED_COLOR_PRESETS                 // Enable the Preset Color menu option
492
+  #if ENABLED(LED_COLOR_PRESETS)
493
+    #define LED_USER_PRESET_RED        255  // User defined RED value
494
+    #define LED_USER_PRESET_GREEN      128  // User defined GREEN value
495
+    #define LED_USER_PRESET_BLUE         0  // User defined BLUE value
496
+    #define LED_USER_PRESET_WHITE      255  // User defined WHITE value
497
+    #define LED_USER_PRESET_BRIGHTNESS 255  // User defined intensity
498
+    //#define LED_USER_PRESET_STARTUP       // Have the printer display the user preset color on startup
499
+  #endif
500
+#endif // LED_CONTROL_MENU
501
+
469 502
 #if ENABLED(SDSUPPORT)
470 503
 
471 504
   // Some RAMPS and other boards don't detect when an SD card is inserted. You can work
@@ -475,12 +508,14 @@
475 508
   // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
476 509
   #define SD_DETECT_INVERTED
477 510
 
478
-  #define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
511
+  #define SD_FINISHED_STEPPERRELEASE true          // Disable steppers when SD Print is finished
479 512
   #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
480 513
 
481
-  #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
482
-  // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
483
-  // using:
514
+  // Reverse SD sort to show "more recent" files first, according to the card's FAT.
515
+  // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
516
+  #define SDCARD_RATHERRECENTFIRST
517
+
518
+  // Add an option in the menu to run all auto#.g files
484 519
   //#define MENU_ADDAUTOSTART
485 520
 
486 521
   /**
@@ -517,6 +552,8 @@
517 552
     #define SDSORT_USES_STACK  false  // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.)
518 553
     #define SDSORT_CACHE_NAMES false  // Keep sorted items in RAM longer for speedy performance. Most expensive option.
519 554
     #define SDSORT_DYNAMIC_RAM false  // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use!
555
+    #define SDSORT_CACHE_VFATS 2      // Maximum number of 13-byte VFAT entries to use for sorting.
556
+                                      // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM.
520 557
   #endif
521 558
 
522 559
   // Show a progress bar on HD44780 LCDs for SD printing
@@ -535,14 +572,29 @@
535 572
     //#define LCD_PROGRESS_BAR_TEST
536 573
   #endif
537 574
 
575
+  // Add an 'M73' G-code to set the current percentage
576
+  //#define LCD_SET_PROGRESS_MANUALLY
577
+
538 578
   // This allows hosts to request long names for files and folders with M33
539 579
   #define LONG_FILENAME_HOST_SUPPORT
540 580
 
541
-  // This option allows you to abort SD printing when any endstop is triggered.
542
-  // This feature must be enabled with "M540 S1" or from the LCD menu.
543
-  // To have any effect, endstops must be enabled during SD printing.
581
+  // Enable this option to scroll long filenames in the SD card menu
582
+  //#define SCROLL_LONG_FILENAMES
583
+
584
+  /**
585
+   * This option allows you to abort SD printing when any endstop is triggered.
586
+   * This feature must be enabled with "M540 S1" or from the LCD menu.
587
+   * To have any effect, endstops must be enabled during SD printing.
588
+   */
544 589
   //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
545 590
 
591
+  /**
592
+   * This option makes it easier to print the same SD Card file again.
593
+   * On print completion the LCD Menu will open with the file selected.
594
+   * You can just click to start the print, or navigate elsewhere.
595
+   */
596
+  //#define SD_REPRINT_LAST_SELECTED_FILE
597
+
546 598
 #endif // SDSUPPORT
547 599
 
548 600
 /**
@@ -576,11 +628,8 @@
576 628
   // The normal delay is 10µs. Use the lowest value that still gives a reliable display.
577 629
   //#define DOGM_SPI_DELAY_US 5
578 630
 
579
-  // VIKI2 and miniVIKI require DOGLCD_SCK and DOGLCD_MOSI to be defined.
580
-  #if ENABLED(VIKI2) || ENABLED(miniVIKI)
581
-    #define DOGLCD_SCK SCK_PIN
582
-    #define DOGLCD_MOSI MOSI_PIN
583
-  #endif
631
+  // Swap the CW/CCW indicators in the graphics overlay
632
+  //#define OVERLAY_GFX_REVERSE
584 633
 
585 634
 #endif // DOGLCD
586 635
 
@@ -610,31 +659,16 @@
610 659
 #if ENABLED(BABYSTEPPING)
611 660
   //#define BABYSTEP_XY              // Also enable X/Y Babystepping. Not supported on DELTA!
612 661
   #define BABYSTEP_INVERT_Z false    // Change if Z babysteps should go the other way
613
-  #define BABYSTEP_MULTIPLICATOR 100 // Babysteps are very small. Increase for faster motion.
662
+  #define BABYSTEP_MULTIPLICATOR 1   // Babysteps are very small. Increase for faster motion.
614 663
   //#define BABYSTEP_ZPROBE_OFFSET   // Enable to combine M851 and Babystepping
615 664
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
616 665
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
617 666
                                         // Note: Extra time may be added to mitigate controller latency.
618 667
   //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
619
-  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
620 668
 #endif
621 669
 
622 670
 // @section extruder
623 671
 
624
-// extruder advance constant (s2/mm3)
625
-//
626
-// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
627
-//
628
-// Hooke's law says:    force = k * distance
629
-// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
630
-// so: v ^ 2 is proportional to number of steps we advance the extruder
631
-//#define ADVANCE
632
-
633
-#if ENABLED(ADVANCE)
634
-  #define EXTRUDER_ADVANCE_K .0
635
-  #define D_FILAMENT 2.85
636
-#endif
637
-
638 672
 /**
639 673
  * Implementation of linear pressure control
640 674
  *
@@ -677,23 +711,18 @@
677 711
 
678 712
 // @section leveling
679 713
 
680
-// Default mesh area is an area with an inset margin on the print area.
681
-// Below are the macros that are used to define the borders for the mesh area,
682
-// made available here for specialized needs, ie dual extruder setup.
683
-#if ENABLED(MESH_BED_LEVELING)
684
-  #define MESH_MIN_X MESH_INSET
685
-  #define MESH_MAX_X (X_BED_SIZE - (MESH_INSET))
686
-  #define MESH_MIN_Y MESH_INSET
687
-  #define MESH_MAX_Y (Y_BED_SIZE - (MESH_INSET))
688
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
689
-  #define UBL_MESH_MIN_X UBL_MESH_INSET
690
-  #define UBL_MESH_MAX_X (X_BED_SIZE - (UBL_MESH_INSET))
691
-  #define UBL_MESH_MIN_Y UBL_MESH_INSET
692
-  #define UBL_MESH_MAX_Y (Y_BED_SIZE - (UBL_MESH_INSET))
693
-
694
-  // If this is defined, the currently active mesh will be saved in the
695
-  // current slot on M500.
696
-  #define UBL_SAVE_ACTIVE_ON_M500
714
+#if ENABLED(DELTA) && !defined(DELTA_PROBEABLE_RADIUS)
715
+  #define DELTA_PROBEABLE_RADIUS DELTA_PRINTABLE_RADIUS
716
+#elif IS_SCARA && !defined(SCARA_PRINTABLE_RADIUS)
717
+  #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
718
+#endif
719
+
720
+#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
721
+  // Override the mesh area if the automatic (max) area is too large
722
+  //#define MESH_MIN_X MESH_INSET
723
+  //#define MESH_MIN_Y MESH_INSET
724
+  //#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
725
+  //#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
697 726
 #endif
698 727
 
699 728
 // @section extras
@@ -713,7 +742,7 @@
713 742
 //#define BEZIER_CURVE_SUPPORT
714 743
 
715 744
 // G38.2 and G38.3 Probe Target
716
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
717 746
 //#define G38_PROBE_TARGET
718 747
 #if ENABLED(G38_PROBE_TARGET)
719 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
@@ -738,7 +767,7 @@
738 767
 // @section hidden
739 768
 
740 769
 // The number of linear motions that can be in the plan at any give time.
741
-// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
770
+// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2 (e.g. 8, 16, 32) because shifts and ors are used to do the ring-buffering.
742 771
 #if ENABLED(SDSUPPORT)
743 772
   #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
744 773
 #else
@@ -747,9 +776,6 @@
747 776
 
748 777
 // @section serial
749 778
 
750
-// Number of seconds to wait for serial attach at startup
751
-#define WAIT_FOR_SERIAL_STARTUP 15
752
-
753 779
 // The ASCII buffer for serial input
754 780
 #define MAX_CMD_SIZE 96
755 781
 #define BUFSIZE 4
@@ -832,6 +858,15 @@
832 858
 #endif
833 859
 
834 860
 /**
861
+ * Extra Fan Speed
862
+ * Adds a secondary fan speed for each print-cooling fan.
863
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
864
+ *   'M106 P<fan> T2'     : Use the set secondary speed
865
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
866
+ */
867
+//#define EXTRA_FAN_SPEED
868
+
869
+/**
835 870
  * Advanced Pause
836 871
  * Experimental feature for filament change support and for parking the nozzle when paused.
837 872
  * Adds the GCode M600 for initiating filament change.
@@ -1273,6 +1308,48 @@
1273 1308
 #endif
1274 1309
 
1275 1310
 /**
1311
+ * Filament Width Sensor
1312
+ *
1313
+ * Measures the filament width in real-time and adjusts
1314
+ * flow rate to compensate for any irregularities.
1315
+ *
1316
+ * Also allows the measured filament diameter to set the
1317
+ * extrusion rate, so the slicer only has to specify the
1318
+ * volume.
1319
+ *
1320
+ * Only a single extruder is supported at this time.
1321
+ *
1322
+ *  34 RAMPS_14    : Analog input 5 on the AUX2 connector
1323
+ *  81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E)
1324
+ * 301 RAMBO       : Analog input 3
1325
+ *
1326
+ * Note: May require analog pins to be defined for other boards.
1327
+ */
1328
+//#define FILAMENT_WIDTH_SENSOR
1329
+
1330
+#if ENABLED(FILAMENT_WIDTH_SENSOR)
1331
+  #define FILAMENT_SENSOR_EXTRUDER_NUM 0    // Index of the extruder that has the filament sensor. :[0,1,2,3,4]
1332
+  #define MEASUREMENT_DELAY_CM        14    // (cm) The distance from the filament sensor to the melting chamber
1333
+
1334
+  #define MEASURED_UPPER_LIMIT         3.30 // (mm) Upper limit used to validate sensor reading
1335
+  #define MEASURED_LOWER_LIMIT         1.90 // (mm) Lower limit used to validate sensor reading
1336
+  #define MAX_MEASUREMENT_DELAY       20    // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
1337
+
1338
+  #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially
1339
+
1340
+  // Display filament width on the LCD status line. Status messages will expire after 5 seconds.
1341
+  //#define FILAMENT_LCD_DISPLAY
1342
+#endif
1343
+
1344
+/**
1345
+ * CNC Coordinate Systems
1346
+ *
1347
+ * Enables G53 and G54-G59.3 commands to select coordinate systems
1348
+ * and G92.1 to reset the workspace to native machine space.
1349
+ */
1350
+//#define CNC_COORDINATE_SYSTEMS
1351
+
1352
+/**
1276 1353
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1277 1354
  */
1278 1355
 //#define PINS_DEBUGGING
@@ -1463,4 +1540,14 @@
1463 1540
                                          // tweaks made to the configuration are affecting the printer in real-time.
1464 1541
 #endif
1465 1542
 
1543
+/**
1544
+ * NanoDLP Synch support
1545
+ *
1546
+ * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp"
1547
+ * string to enable synchronization with DLP projector exposure. This change will allow to use
1548
+ * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands
1549
+ *
1550
+ */
1551
+ //#define NANODLP_Z_SYNC
1552
+
1466 1553
 #endif // CONFIGURATION_ADV_H

Loading…
Zrušit
Uložit