|
@@ -100,19 +100,29 @@
|
100
|
100
|
/**
|
101
|
101
|
* Select the serial port on the board to use for communication with the host.
|
102
|
102
|
* This allows the connection of wireless adapters (for instance) to non-default port pins.
|
103
|
|
- * Serial port 0 is always used by the Arduino bootloader regardless of this setting.
|
|
103
|
+ * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
|
104
|
104
|
*
|
105
|
|
- * :[0, 1, 2, 3, 4, 5, 6, 7]
|
|
105
|
+ * :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
|
106
|
106
|
*/
|
107
|
107
|
#define SERIAL_PORT 0
|
108
|
108
|
|
109
|
109
|
/**
|
|
110
|
+ * Select a secondary serial port on the board to use for communication with the host.
|
|
111
|
+ * This allows the connection of wireless adapters (for instance) to non-default port pins.
|
|
112
|
+ * Serial port -1 is the USB emulated serial port, if avaialble.
|
|
113
|
+ *
|
|
114
|
+ * :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
|
|
115
|
+ */
|
|
116
|
+#define SERIAL_PORT_2 -1
|
|
117
|
+
|
|
118
|
+/**
|
110
|
119
|
* This setting determines the communication speed of the printer.
|
111
|
120
|
*
|
112
|
121
|
* 250000 works in most cases, but you might try a lower speed if
|
113
|
122
|
* you commonly experience drop-outs during host printing.
|
|
123
|
+ * You may try up to 1000000 to speed up SD file transfer.
|
114
|
124
|
*
|
115
|
|
- * :[2400, 9600, 19200, 38400, 57600, 115200, 250000]
|
|
125
|
+ * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
|
116
|
126
|
*/
|
117
|
127
|
#define BAUDRATE 250000
|
118
|
128
|
|
|
@@ -139,6 +149,9 @@
|
139
|
149
|
// :[1, 2, 3, 4, 5]
|
140
|
150
|
#define EXTRUDERS 1
|
141
|
151
|
|
|
152
|
+// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
|
|
153
|
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
|
|
154
|
+
|
142
|
155
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
143
|
156
|
//#define SINGLENOZZLE
|
144
|
157
|
|
|
@@ -180,6 +193,21 @@
|
180
|
193
|
#endif
|
181
|
194
|
|
182
|
195
|
/**
|
|
196
|
+ * Two separate X-carriages with extruders that connect to a moving part
|
|
197
|
+ * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN.
|
|
198
|
+ */
|
|
199
|
+//#define PARKING_EXTRUDER
|
|
200
|
+#if ENABLED(PARKING_EXTRUDER)
|
|
201
|
+ #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage
|
|
202
|
+ #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil
|
|
203
|
+ #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined.
|
|
204
|
+ #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
|
|
205
|
+ #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
|
|
206
|
+ #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
|
|
207
|
+ #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0.
|
|
208
|
+#endif
|
|
209
|
+
|
|
210
|
+/**
|
183
|
211
|
* "Mixing Extruder"
|
184
|
212
|
* - Adds a new code, M165, to set the current mix factors.
|
185
|
213
|
* - Extends the stepping routines to move multiple steppers in proportion to the mix.
|
|
@@ -335,8 +363,9 @@
|
335
|
363
|
|
336
|
364
|
// Comment the following line to disable PID and enable bang-bang.
|
337
|
365
|
#define PIDTEMP
|
338
|
|
-#define BANG_MAX 180 // limits current to nozzle while in bang-bang mode; 255=full current
|
339
|
|
-#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
|
366
|
+#define BANG_MAX 180 // Limits current to nozzle while in bang-bang mode; 255=full current
|
|
367
|
+#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
|
368
|
+#define PID_K1 0.95 // Smoothing factor within any PID loop
|
340
|
369
|
#if ENABLED(PIDTEMP)
|
341
|
370
|
#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
342
|
371
|
//#define PID_DEBUG // Sends debug data to the serial port.
|
|
@@ -346,7 +375,6 @@
|
346
|
375
|
// Set/get with gcode: M301 E[extruder number, 0-2]
|
347
|
376
|
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
|
348
|
377
|
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
|
349
|
|
- #define K1 0.95 //smoothing factor within the PID
|
350
|
378
|
|
351
|
379
|
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
|
352
|
380
|
|
|
@@ -427,12 +455,13 @@
|
427
|
455
|
//===========================================================================
|
428
|
456
|
|
429
|
457
|
/**
|
430
|
|
- * Thermal Protection protects your printer from damage and fire if a
|
431
|
|
- * thermistor falls out or temperature sensors fail in any way.
|
|
458
|
+ * Thermal Protection provides additional protection to your printer from damage
|
|
459
|
+ * and fire. Marlin always includes safe min and max temperature ranges which
|
|
460
|
+ * protect against a broken or disconnected thermistor wire.
|
432
|
461
|
*
|
433
|
|
- * The issue: If a thermistor falls out or a temperature sensor fails,
|
434
|
|
- * Marlin can no longer sense the actual temperature. Since a disconnected
|
435
|
|
- * thermistor reads as a low temperature, the firmware will keep the heater on.
|
|
462
|
+ * The issue: If a thermistor falls out, it will report the much lower
|
|
463
|
+ * temperature of the air in the room, and the the firmware will keep
|
|
464
|
+ * the heater on.
|
436
|
465
|
*
|
437
|
466
|
* If you get "Thermal Runaway" or "Heating failed" errors the
|
438
|
467
|
* details can be tuned in Configuration_adv.h
|
|
@@ -567,14 +596,13 @@
|
567
|
596
|
#define DEFAULT_ZJERK 0.3
|
568
|
597
|
#define DEFAULT_EJERK 5.0
|
569
|
598
|
|
570
|
|
-
|
571
|
599
|
//===========================================================================
|
572
|
600
|
//============================= Z Probe Options =============================
|
573
|
601
|
//===========================================================================
|
574
|
602
|
// @section probes
|
575
|
603
|
|
576
|
604
|
//
|
577
|
|
-// See http://marlinfw.org/configuration/probes.html
|
|
605
|
+// See http://marlinfw.org/docs/configuration/probes.html
|
578
|
606
|
//
|
579
|
607
|
|
580
|
608
|
/**
|
|
@@ -609,7 +637,7 @@
|
609
|
637
|
* Probe Type
|
610
|
638
|
*
|
611
|
639
|
* Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
|
612
|
|
- * You must activate one of these to use Auto Bed Leveling below.
|
|
640
|
+ * Activate one of these to use Auto Bed Leveling below.
|
613
|
641
|
*/
|
614
|
642
|
|
615
|
643
|
/**
|
|
@@ -640,11 +668,11 @@
|
640
|
668
|
#endif
|
641
|
669
|
|
642
|
670
|
/**
|
643
|
|
- * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
|
644
|
|
- * options selected below - will be disabled during probing so as to minimize
|
645
|
|
- * potential EM interference by quieting/silencing the source of the 'noise' (the change
|
646
|
|
- * in current flowing through the wires). This is likely most useful to users of the
|
647
|
|
- * BLTouch probe, but may also help those with inductive or other probe types.
|
|
671
|
+ * Enable one or more of the following if probing seems unreliable.
|
|
672
|
+ * Heaters and/or fans can be disabled during probing to minimize electrical
|
|
673
|
+ * noise. A delay can also be added to allow noise and vibration to settle.
|
|
674
|
+ * These options are most useful for the BLTouch probe, but may also improve
|
|
675
|
+ * readings with inductive probes and piezo sensors.
|
648
|
676
|
*/
|
649
|
677
|
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
650
|
678
|
//#define PROBING_FANS_OFF // Turn fans off when probing
|
|
@@ -686,14 +714,16 @@
|
686
|
714
|
// X and Y axis travel speed (mm/m) between probes
|
687
|
715
|
#define XY_PROBE_SPEED 8000
|
688
|
716
|
|
689
|
|
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
|
|
717
|
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
|
690
|
718
|
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
|
691
|
719
|
|
692
|
720
|
// Speed for the "accurate" probe of each point
|
693
|
721
|
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
|
694
|
722
|
|
695
|
|
-// Use double touch for probing
|
696
|
|
-//#define PROBE_DOUBLE_TOUCH
|
|
723
|
+// The number of probes to perform at each point.
|
|
724
|
+// Set to 2 for a fast/slow probe, using the second probe result.
|
|
725
|
+// Set to 3 or more for slow probes, averaging the results.
|
|
726
|
+//#define MULTIPLE_PROBING 2
|
697
|
727
|
|
698
|
728
|
/**
|
699
|
729
|
* Z probes require clearance when deploying, stowing, and moving between
|
|
@@ -760,6 +790,8 @@
|
760
|
790
|
|
761
|
791
|
// @section homing
|
762
|
792
|
|
|
793
|
+//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
|
|
794
|
+
|
763
|
795
|
//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
|
764
|
796
|
// Be sure you have this distance over your Z_MAX_POS in case.
|
765
|
797
|
|
|
@@ -783,10 +815,30 @@
|
783
|
815
|
#define Y_MAX_POS Y_BED_SIZE
|
784
|
816
|
#define Z_MAX_POS 180
|
785
|
817
|
|
786
|
|
-// If enabled, axes won't move below MIN_POS in response to movement commands.
|
|
818
|
+/**
|
|
819
|
+ * Software Endstops
|
|
820
|
+ *
|
|
821
|
+ * - Prevent moves outside the set machine bounds.
|
|
822
|
+ * - Individual axes can be disabled, if desired.
|
|
823
|
+ * - X and Y only apply to Cartesian robots.
|
|
824
|
+ * - Use 'M211' to set software endstops on/off or report current state
|
|
825
|
+ */
|
|
826
|
+
|
|
827
|
+// Min software endstops constrain movement within minimum coordinate bounds
|
787
|
828
|
#define MIN_SOFTWARE_ENDSTOPS
|
788
|
|
-// If enabled, axes won't move above MAX_POS in response to movement commands.
|
|
829
|
+#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
|
|
830
|
+ #define MIN_SOFTWARE_ENDSTOP_X
|
|
831
|
+ #define MIN_SOFTWARE_ENDSTOP_Y
|
|
832
|
+ #define MIN_SOFTWARE_ENDSTOP_Z
|
|
833
|
+#endif
|
|
834
|
+
|
|
835
|
+// Max software endstops constrain movement within maximum coordinate bounds
|
789
|
836
|
#define MAX_SOFTWARE_ENDSTOPS
|
|
837
|
+#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
|
|
838
|
+ #define MAX_SOFTWARE_ENDSTOP_X
|
|
839
|
+ #define MAX_SOFTWARE_ENDSTOP_Y
|
|
840
|
+ #define MAX_SOFTWARE_ENDSTOP_Z
|
|
841
|
+#endif
|
790
|
842
|
|
791
|
843
|
/**
|
792
|
844
|
* Filament Runout Sensor
|
|
@@ -806,7 +858,7 @@
|
806
|
858
|
//===========================================================================
|
807
|
859
|
//=============================== Bed Leveling ==============================
|
808
|
860
|
//===========================================================================
|
809
|
|
-// @section bedlevel
|
|
861
|
+// @section calibrate
|
810
|
862
|
|
811
|
863
|
/**
|
812
|
864
|
* Choose one of the options below to enable G29 Bed Leveling. The parameters
|
|
@@ -832,12 +884,7 @@
|
832
|
884
|
* - AUTO_BED_LEVELING_UBL (Unified Bed Leveling)
|
833
|
885
|
* A comprehensive bed leveling system combining the features and benefits
|
834
|
886
|
* of other systems. UBL also includes integrated Mesh Generation, Mesh
|
835
|
|
- * Validation and Mesh Editing systems. Currently, UBL is only checked out
|
836
|
|
- * for Cartesian Printers. That said, it was primarily designed to correct
|
837
|
|
- * poor quality Delta Printers. If you feel adventurous and have a Delta,
|
838
|
|
- * please post an issue if something doesn't work correctly. Initially,
|
839
|
|
- * you will need to set a reduced bed size so you have a rectangular area
|
840
|
|
- * to test on.
|
|
887
|
+ * Validation and Mesh Editing systems.
|
841
|
888
|
*
|
842
|
889
|
* - MESH_BED_LEVELING
|
843
|
890
|
* Probe a grid manually
|
|
@@ -864,6 +911,24 @@
|
864
|
911
|
// at which point movement will be level to the machine's XY plane.
|
865
|
912
|
// The height can be set with M420 Z<height>
|
866
|
913
|
#define ENABLE_LEVELING_FADE_HEIGHT
|
|
914
|
+
|
|
915
|
+ // For Cartesian machines, instead of dividing moves on mesh boundaries,
|
|
916
|
+ // split up moves into short segments like a Delta. This follows the
|
|
917
|
+ // contours of the bed more closely than edge-to-edge straight moves.
|
|
918
|
+ #define SEGMENT_LEVELED_MOVES
|
|
919
|
+ #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one)
|
|
920
|
+
|
|
921
|
+ /**
|
|
922
|
+ * Enable the G26 Mesh Validation Pattern tool.
|
|
923
|
+ */
|
|
924
|
+ //#define G26_MESH_VALIDATION
|
|
925
|
+ #if ENABLED(G26_MESH_VALIDATION)
|
|
926
|
+ #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle.
|
|
927
|
+ #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool.
|
|
928
|
+ #define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
|
|
929
|
+ #define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool.
|
|
930
|
+ #endif
|
|
931
|
+
|
867
|
932
|
#endif
|
868
|
933
|
|
869
|
934
|
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
|
@@ -919,7 +984,9 @@
|
919
|
984
|
//========================= Unified Bed Leveling ============================
|
920
|
985
|
//===========================================================================
|
921
|
986
|
|
922
|
|
- #define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
|
987
|
+ //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
|
|
988
|
+
|
|
989
|
+ #define MESH_INSET 1 // Mesh inset margin on print area
|
923
|
990
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
924
|
991
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
925
|
992
|
|
|
@@ -930,8 +997,8 @@
|
930
|
997
|
#define UBL_PROBE_PT_3_X 180
|
931
|
998
|
#define UBL_PROBE_PT_3_Y 20
|
932
|
999
|
|
933
|
|
- #define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
934
|
1000
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
|
1001
|
+ #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
935
|
1002
|
|
936
|
1003
|
#elif ENABLED(MESH_BED_LEVELING)
|
937
|
1004
|
|
|
@@ -958,6 +1025,9 @@
|
958
|
1025
|
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
959
|
1026
|
#endif
|
960
|
1027
|
|
|
1028
|
+// Add a menu item to move between bed corners for manual bed adjustment
|
|
1029
|
+//#define LEVEL_BED_CORNERS
|
|
1030
|
+
|
961
|
1031
|
/**
|
962
|
1032
|
* Commands to execute at the end of G29 probing.
|
963
|
1033
|
* Useful to retract or move the Z probe out of the way.
|
|
@@ -988,14 +1058,71 @@
|
988
|
1058
|
//#define Z_SAFE_HOMING
|
989
|
1059
|
|
990
|
1060
|
#if ENABLED(Z_SAFE_HOMING)
|
991
|
|
- #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axis (G28).
|
992
|
|
- #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axis (G28).
|
|
1061
|
+ #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28).
|
|
1062
|
+ #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28).
|
993
|
1063
|
#endif
|
994
|
1064
|
|
995
|
1065
|
// Homing speeds (mm/m)
|
996
|
1066
|
#define HOMING_FEEDRATE_XY (50*60)
|
997
|
1067
|
#define HOMING_FEEDRATE_Z (4*60)
|
998
|
1068
|
|
|
1069
|
+// @section calibrate
|
|
1070
|
+
|
|
1071
|
+/**
|
|
1072
|
+ * Bed Skew Compensation
|
|
1073
|
+ *
|
|
1074
|
+ * This feature corrects for misalignment in the XYZ axes.
|
|
1075
|
+ *
|
|
1076
|
+ * Take the following steps to get the bed skew in the XY plane:
|
|
1077
|
+ * 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185)
|
|
1078
|
+ * 2. For XY_DIAG_AC measure the diagonal A to C
|
|
1079
|
+ * 3. For XY_DIAG_BD measure the diagonal B to D
|
|
1080
|
+ * 4. For XY_SIDE_AD measure the edge A to D
|
|
1081
|
+ *
|
|
1082
|
+ * Marlin automatically computes skew factors from these measurements.
|
|
1083
|
+ * Skew factors may also be computed and set manually:
|
|
1084
|
+ *
|
|
1085
|
+ * - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2
|
|
1086
|
+ * - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD)))
|
|
1087
|
+ *
|
|
1088
|
+ * If desired, follow the same procedure for XZ and YZ.
|
|
1089
|
+ * Use these diagrams for reference:
|
|
1090
|
+ *
|
|
1091
|
+ * Y Z Z
|
|
1092
|
+ * ^ B-------C ^ B-------C ^ B-------C
|
|
1093
|
+ * | / / | / / | / /
|
|
1094
|
+ * | / / | / / | / /
|
|
1095
|
+ * | A-------D | A-------D | A-------D
|
|
1096
|
+ * +-------------->X +-------------->X +-------------->Y
|
|
1097
|
+ * XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR
|
|
1098
|
+ */
|
|
1099
|
+//#define SKEW_CORRECTION
|
|
1100
|
+
|
|
1101
|
+#if ENABLED(SKEW_CORRECTION)
|
|
1102
|
+ // Input all length measurements here:
|
|
1103
|
+ #define XY_DIAG_AC 282.8427124746
|
|
1104
|
+ #define XY_DIAG_BD 282.8427124746
|
|
1105
|
+ #define XY_SIDE_AD 200
|
|
1106
|
+
|
|
1107
|
+ // Or, set the default skew factors directly here
|
|
1108
|
+ // to override the above measurements:
|
|
1109
|
+ #define XY_SKEW_FACTOR 0.0
|
|
1110
|
+
|
|
1111
|
+ //#define SKEW_CORRECTION_FOR_Z
|
|
1112
|
+ #if ENABLED(SKEW_CORRECTION_FOR_Z)
|
|
1113
|
+ #define XZ_DIAG_AC 282.8427124746
|
|
1114
|
+ #define XZ_DIAG_BD 282.8427124746
|
|
1115
|
+ #define YZ_DIAG_AC 282.8427124746
|
|
1116
|
+ #define YZ_DIAG_BD 282.8427124746
|
|
1117
|
+ #define YZ_SIDE_AD 200
|
|
1118
|
+ #define XZ_SKEW_FACTOR 0.0
|
|
1119
|
+ #define YZ_SKEW_FACTOR 0.0
|
|
1120
|
+ #endif
|
|
1121
|
+
|
|
1122
|
+ // Enable this option for M852 to set skew at runtime
|
|
1123
|
+ //#define SKEW_CORRECTION_GCODE
|
|
1124
|
+#endif
|
|
1125
|
+
|
999
|
1126
|
//=============================================================================
|
1000
|
1127
|
//============================= Additional Features ===========================
|
1001
|
1128
|
//=============================================================================
|
|
@@ -1174,11 +1301,11 @@
|
1174
|
1301
|
*
|
1175
|
1302
|
* Select the language to display on the LCD. These languages are available:
|
1176
|
1303
|
*
|
1177
|
|
- * en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, eu, fi, fr, gl, hr,
|
1178
|
|
- * it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk,
|
1179
|
|
- * zh_CN, zh_TW, test
|
|
1304
|
+ * en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, eu, fi, fr, fr_utf8, gl,
|
|
1305
|
+ * hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8,
|
|
1306
|
+ * tr, uk, zh_CN, zh_TW, test
|
1180
|
1307
|
*
|
1181
|
|
- * :{ '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', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' }
|
|
1308
|
+ * :{ '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' }
|
1182
|
1309
|
*/
|
1183
|
1310
|
#define LCD_LANGUAGE en
|
1184
|
1311
|
|
|
@@ -1200,7 +1327,7 @@
|
1200
|
1327
|
* - Click the controller to view the LCD menu
|
1201
|
1328
|
* - The LCD will display Japanese, Western, or Cyrillic text
|
1202
|
1329
|
*
|
1203
|
|
- * See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
|
|
1330
|
+ * See http://marlinfw.org/docs/development/lcd_language.html
|
1204
|
1331
|
*
|
1205
|
1332
|
* :['JAPANESE', 'WESTERN', 'CYRILLIC']
|
1206
|
1333
|
*/
|
|
@@ -1333,12 +1460,6 @@
|
1333
|
1460
|
//#define ULTIPANEL
|
1334
|
1461
|
|
1335
|
1462
|
//
|
1336
|
|
-// Cartesio UI
|
1337
|
|
-// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface
|
1338
|
|
-//
|
1339
|
|
-//#define CARTESIO_UI
|
1340
|
|
-
|
1341
|
|
-//
|
1342
|
1463
|
// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
|
1343
|
1464
|
// http://reprap.org/wiki/PanelOne
|
1344
|
1465
|
//
|
|
@@ -1421,6 +1542,12 @@
|
1421
|
1542
|
//#define BQ_LCD_SMART_CONTROLLER
|
1422
|
1543
|
|
1423
|
1544
|
//
|
|
1545
|
+// Cartesio UI
|
|
1546
|
+// http://mauk.cc/webshop/cartesio-shop/electronics/user-interface
|
|
1547
|
+//
|
|
1548
|
+//#define CARTESIO_UI
|
|
1549
|
+
|
|
1550
|
+//
|
1424
|
1551
|
// ANET and Tronxy Controller supported displays.
|
1425
|
1552
|
//
|
1426
|
1553
|
//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin.
|
|
@@ -1520,6 +1647,47 @@
|
1520
|
1647
|
//
|
1521
|
1648
|
//#define OLED_PANEL_TINYBOY2
|
1522
|
1649
|
|
|
1650
|
+//
|
|
1651
|
+// Makeboard 3D Printer Parts 3D Printer Mini Display 1602 Mini Controller
|
|
1652
|
+// https://www.aliexpress.com/item/Micromake-Makeboard-3D-Printer-Parts-3D-Printer-Mini-Display-1602-Mini-Controller-Compatible-with-Ramps-1/32765887917.html
|
|
1653
|
+//
|
|
1654
|
+//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602
|
|
1655
|
+
|
|
1656
|
+//
|
|
1657
|
+// MKS MINI12864 with graphic controller and SD support
|
|
1658
|
+// http://reprap.org/wiki/MKS_MINI_12864
|
|
1659
|
+//
|
|
1660
|
+//#define MKS_MINI_12864
|
|
1661
|
+
|
|
1662
|
+//
|
|
1663
|
+// Factory display for Creality CR-10
|
|
1664
|
+// https://www.aliexpress.com/item/Universal-LCD-12864-3D-Printer-Display-Screen-With-Encoder-For-CR-10-CR-7-Model/32833148327.html
|
|
1665
|
+//
|
|
1666
|
+// This is RAMPS-compatible using a single 10-pin connector.
|
|
1667
|
+// (For CR-10 owners who want to replace the Melzi Creality board but retain the display)
|
|
1668
|
+//
|
|
1669
|
+//#define CR10_STOCKDISPLAY
|
|
1670
|
+
|
|
1671
|
+//
|
|
1672
|
+// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER
|
|
1673
|
+// http://reprap.org/wiki/MKS_12864OLED
|
|
1674
|
+//
|
|
1675
|
+// Tiny, but very sharp OLED display
|
|
1676
|
+//
|
|
1677
|
+//#define MKS_12864OLED // Uses the SH1106 controller (default)
|
|
1678
|
+//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller
|
|
1679
|
+
|
|
1680
|
+//
|
|
1681
|
+// AZSMZ 12864 LCD with SD
|
|
1682
|
+// 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
|
|
1683
|
+//
|
|
1684
|
+//#define AZSMZ_12864
|
|
1685
|
+
|
|
1686
|
+// Silvergate GLCD controller
|
|
1687
|
+// http://github.com/android444/Silvergate
|
|
1688
|
+//
|
|
1689
|
+//#define SILVER_GATE_GLCD_CONTROLLER
|
|
1690
|
+
|
1523
|
1691
|
//=============================================================================
|
1524
|
1692
|
//=============================== Extra Features ==============================
|
1525
|
1693
|
//=============================================================================
|
|
@@ -1576,16 +1744,22 @@
|
1576
|
1744
|
* Adds the M150 command to set the LED (or LED strip) color.
|
1577
|
1745
|
* If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of
|
1578
|
1746
|
* luminance values can be set from 0 to 255.
|
|
1747
|
+ * For Neopixel LED an overall brightness parameter is also available.
|
1579
|
1748
|
*
|
1580
|
1749
|
* *** CAUTION ***
|
1581
|
1750
|
* LED Strips require a MOFSET Chip between PWM lines and LEDs,
|
1582
|
1751
|
* as the Arduino cannot handle the current the LEDs will require.
|
1583
|
1752
|
* Failure to follow this precaution can destroy your Arduino!
|
|
1753
|
+ * NOTE: A separate 5V power supply is required! The Neopixel LED needs
|
|
1754
|
+ * more current than the Arduino 5V linear regulator can produce.
|
1584
|
1755
|
* *** CAUTION ***
|
1585
|
1756
|
*
|
|
1757
|
+ * LED Type. Enable only one of the following two options.
|
|
1758
|
+ *
|
1586
|
1759
|
*/
|
1587
|
1760
|
//#define RGB_LED
|
1588
|
1761
|
//#define RGBW_LED
|
|
1762
|
+
|
1589
|
1763
|
#if ENABLED(RGB_LED) || ENABLED(RGBW_LED)
|
1590
|
1764
|
#define RGB_LED_R_PIN 34
|
1591
|
1765
|
#define RGB_LED_G_PIN 43
|
|
@@ -1594,11 +1768,14 @@
|
1594
|
1768
|
#endif
|
1595
|
1769
|
|
1596
|
1770
|
// Support for Adafruit Neopixel LED driver
|
1597
|
|
-//#define NEOPIXEL_RGBW_LED
|
1598
|
|
-#if ENABLED(NEOPIXEL_RGBW_LED)
|
1599
|
|
- #define NEOPIXEL_PIN 4 // D4 (EXP2-5 on Printrboard)
|
1600
|
|
- #define NEOPIXEL_PIXELS 3
|
1601
|
|
- //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
|
|
1771
|
+//#define NEOPIXEL_LED
|
|
1772
|
+#if ENABLED(NEOPIXEL_LED)
|
|
1773
|
+ #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
|
|
1774
|
+ #define NEOPIXEL_PIN 4 // LED driving pin on motherboard 4 => D4 (EXP2-5 on Printrboard) / 30 => PC7 (EXP3-13 on Rumba)
|
|
1775
|
+ #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip
|
|
1776
|
+ #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
|
|
1777
|
+ #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255)
|
|
1778
|
+ //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
|
1602
|
1779
|
#endif
|
1603
|
1780
|
|
1604
|
1781
|
/**
|
|
@@ -1612,67 +1789,32 @@
|
1612
|
1789
|
* - Change to green once print has finished
|
1613
|
1790
|
* - Turn off after the print has finished and the user has pushed a button
|
1614
|
1791
|
*/
|
1615
|
|
-#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_RGBW_LED)
|
|
1792
|
+#if ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED)
|
1616
|
1793
|
#define PRINTER_EVENT_LEDS
|
1617
|
1794
|
#endif
|
1618
|
1795
|
|
1619
|
|
-/*********************************************************************\
|
1620
|
|
-* R/C SERVO support
|
1621
|
|
-* Sponsored by TrinityLabs, Reworked by codexmas
|
1622
|
|
-**********************************************************************/
|
|
1796
|
+/**
|
|
1797
|
+ * R/C SERVO support
|
|
1798
|
+ * Sponsored by TrinityLabs, Reworked by codexmas
|
|
1799
|
+ */
|
1623
|
1800
|
|
1624
|
|
-// Number of servos
|
1625
|
|
-//
|
1626
|
|
-// If you select a configuration below, this will receive a default value and does not need to be set manually
|
1627
|
|
-// set it manually if you have more servos than extruders and wish to manually control some
|
1628
|
|
-// leaving it undefined or defining as 0 will disable the servo subsystem
|
1629
|
|
-// If unsure, leave commented / disabled
|
1630
|
|
-//
|
|
1801
|
+/**
|
|
1802
|
+ * Number of servos
|
|
1803
|
+ *
|
|
1804
|
+ * For some servo-related options NUM_SERVOS will be set automatically.
|
|
1805
|
+ * Set this manually if there are extra servos needing manual control.
|
|
1806
|
+ * Leave undefined or set to 0 to entirely disable the servo subsystem.
|
|
1807
|
+ */
|
1631
|
1808
|
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
|
1632
|
1809
|
|
1633
|
1810
|
// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
|
1634
|
1811
|
// 300ms is a good value but you can try less delay.
|
1635
|
1812
|
// If the servo can't reach the requested position, increase it.
|
1636
|
|
-#define SERVO_DELAY 300
|
|
1813
|
+#define SERVO_DELAY { 300 }
|
1637
|
1814
|
|
1638
|
1815
|
// Servo deactivation
|
1639
|
1816
|
//
|
1640
|
1817
|
// With this option servos are powered only during movement, then turned off to prevent jitter.
|
1641
|
1818
|
//#define DEACTIVATE_SERVOS_AFTER_MOVE
|
1642
|
1819
|
|
1643
|
|
-/**
|
1644
|
|
- * Filament Width Sensor
|
1645
|
|
- *
|
1646
|
|
- * Measures the filament width in real-time and adjusts
|
1647
|
|
- * flow rate to compensate for any irregularities.
|
1648
|
|
- *
|
1649
|
|
- * Also allows the measured filament diameter to set the
|
1650
|
|
- * extrusion rate, so the slicer only has to specify the
|
1651
|
|
- * volume.
|
1652
|
|
- *
|
1653
|
|
- * Only a single extruder is supported at this time.
|
1654
|
|
- *
|
1655
|
|
- * 34 RAMPS_14 : Analog input 5 on the AUX2 connector
|
1656
|
|
- * 81 PRINTRBOARD : Analog input 2 on the Exp1 connector (version B,C,D,E)
|
1657
|
|
- * 301 RAMBO : Analog input 3
|
1658
|
|
- *
|
1659
|
|
- * Note: May require analog pins to be defined for other boards.
|
1660
|
|
- */
|
1661
|
|
-//#define FILAMENT_WIDTH_SENSOR
|
1662
|
|
-
|
1663
|
|
-#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 // (mm) Diameter of the filament generally used (3.0 or 1.75mm), also used in the slicer. Used to validate sensor reading.
|
1664
|
|
-
|
1665
|
|
-#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
1666
|
|
- #define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor (0,1,2,3)
|
1667
|
|
- #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber
|
1668
|
|
-
|
1669
|
|
- #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it
|
1670
|
|
- #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
|
1671
|
|
-
|
1672
|
|
- #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially
|
1673
|
|
-
|
1674
|
|
- // Display filament width on the LCD status line. Status messages will expire after 5 seconds.
|
1675
|
|
- //#define FILAMENT_LCD_DISPLAY
|
1676
|
|
-#endif
|
1677
|
|
-
|
1678
|
1820
|
#endif // CONFIGURATION_H
|