|
@@ -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
|