|
@@ -307,17 +307,8 @@ Here are some standard links for getting your machine calibrated:
|
307
|
307
|
* the firmware will halt as a safety precaution.
|
308
|
308
|
*/
|
309
|
309
|
|
310
|
|
-#define THERMAL_RUNAWAY_PROTECTION_HOTENDS // Enable thermal protection for all extruders
|
311
|
|
-#define THERMAL_RUNAWAY_PROTECTION_BED // Enable thermal protection for the heated bed
|
312
|
|
-// Parameters for all extruder heaters
|
313
|
|
-#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 // in seconds
|
314
|
|
-#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius
|
315
|
|
-
|
316
|
|
-// To enable for the bed heater, uncomment the two defines below:
|
317
|
|
-
|
318
|
|
-// Parameters for the bed heater
|
319
|
|
-#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 // in seconds
|
320
|
|
-#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius
|
|
310
|
+#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
|
|
311
|
+#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
|
321
|
312
|
|
322
|
313
|
//===========================================================================
|
323
|
314
|
//============================= Mechanical Settings =========================
|
|
@@ -379,18 +370,10 @@ Here are some standard links for getting your machine calibrated:
|
379
|
370
|
// #define ENDSTOPPULLUP_XMIN
|
380
|
371
|
// #define ENDSTOPPULLUP_YMIN
|
381
|
372
|
// #define ENDSTOPPULLUP_ZMIN
|
|
373
|
+ // #define ENDSTOPPULLUP_ZPROBE
|
382
|
374
|
#endif
|
383
|
375
|
|
384
|
|
-#ifdef ENDSTOPPULLUPS
|
385
|
|
- #define ENDSTOPPULLUP_XMAX
|
386
|
|
- #define ENDSTOPPULLUP_YMAX
|
387
|
|
- #define ENDSTOPPULLUP_ZMAX
|
388
|
|
- #define ENDSTOPPULLUP_XMIN
|
389
|
|
- #define ENDSTOPPULLUP_YMIN
|
390
|
|
- #define ENDSTOPPULLUP_ZMIN
|
391
|
|
-#endif
|
392
|
|
-
|
393
|
|
-// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
|
|
376
|
+// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
|
394
|
377
|
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
395
|
378
|
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
396
|
379
|
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
|
@@ -401,10 +384,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
401
|
384
|
//#define DISABLE_MAX_ENDSTOPS
|
402
|
385
|
//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
|
403
|
386
|
|
404
|
|
-// Disable max endstops for compatibility with endstop checking routine
|
405
|
|
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
|
406
|
|
- #define DISABLE_MAX_ENDSTOPS
|
407
|
|
-#endif
|
|
387
|
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
|
|
388
|
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
|
|
389
|
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
|
|
390
|
+// this has no effect.
|
|
391
|
+//#define DISABLE_Z_PROBE_ENDSTOP
|
408
|
392
|
|
409
|
393
|
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
|
410
|
394
|
// :{0:'Low',1:'High'}
|
|
@@ -477,9 +461,23 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
477
|
461
|
//===========================================================================
|
478
|
462
|
//=========================== Manual Bed Leveling ===========================
|
479
|
463
|
//===========================================================================
|
480
|
|
-#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
|
481
|
|
-#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
|
482
|
|
-#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
|
|
464
|
+
|
|
465
|
+// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling
|
|
466
|
+// #define MESH_BED_LEVELING // Enable mesh bed leveling
|
|
467
|
+
|
|
468
|
+#ifdef MANUAL_BED_LEVELING
|
|
469
|
+ #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis
|
|
470
|
+#endif // MANUAL_BED_LEVELING
|
|
471
|
+
|
|
472
|
+#ifdef MESH_BED_LEVELING
|
|
473
|
+ #define MESH_MIN_X 10
|
|
474
|
+ #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
|
|
475
|
+ #define MESH_MIN_Y 10
|
|
476
|
+ #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
|
|
477
|
+ #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited
|
|
478
|
+ #define MESH_NUM_Y_POINTS 3
|
|
479
|
+ #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0
|
|
480
|
+#endif // MESH_BED_LEVELING
|
483
|
481
|
|
484
|
482
|
//===========================================================================
|
485
|
483
|
//============================ Bed Auto Leveling ============================
|
|
@@ -507,10 +505,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
507
|
505
|
// Note: this feature generates 10KB extra code size
|
508
|
506
|
#define AUTO_BED_LEVELING_GRID // Deltas only support grid mode
|
509
|
507
|
|
510
|
|
- // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
|
511
|
|
- // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
|
512
|
|
- // and least squares solution is calculated
|
513
|
|
- // Note: this feature occupies 10'206 byte
|
514
|
508
|
#ifdef AUTO_BED_LEVELING_GRID
|
515
|
509
|
|
516
|
510
|
// set the rectangle in which to probe
|
|
@@ -521,16 +515,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
521
|
515
|
#define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
|
522
|
516
|
|
523
|
517
|
#define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
|
524
|
|
- // probe at the points of a lattice grid
|
525
|
|
- #define AUTO_BED_LEVELING_GRID_POINTS 7
|
526
|
|
- #define AUTO_BED_LEVELING_GRID_X ((RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION) / (AUTO_BED_LEVELING_GRID_POINTS - 1))
|
527
|
|
- #define AUTO_BED_LEVELING_GRID_Y ((BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION) / (AUTO_BED_LEVELING_GRID_POINTS - 1))
|
528
|
518
|
|
529
|
|
- // Non-linear bed leveling will be used.
|
530
|
|
- // Compensate by interpolating between the nearest four Z probe values for each point.
|
531
|
|
- // Useful for deltas where the print surface may appear like a bowl or dome shape.
|
532
|
|
- // Works best with ACCURATE_BED_LEVELING_POINTS 5 or higher.
|
533
|
|
- #define NONLINEAR_BED_LEVELING
|
|
519
|
+ // Set the number of grid points per dimension
|
|
520
|
+ // You probably don't need more than 3 (squared=9)
|
|
521
|
+ #define AUTO_BED_LEVELING_GRID_POINTS 7
|
534
|
522
|
|
535
|
523
|
#else // !AUTO_BED_LEVELING_GRID
|
536
|
524
|
|
|
@@ -710,8 +698,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
710
|
698
|
* MOVEMENT SETTINGS
|
711
|
699
|
*/
|
712
|
700
|
|
713
|
|
- ////// #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
|
714
|
|
-// set the homing speeds (mm/min)
|
715
|
701
|
/// delta homing speeds must be the same on xyz
|
716
|
702
|
#define HOMING_FEEDRATE_X (200*60)
|
717
|
703
|
#define HOMING_FEEDRATE_Y (200*60)
|
|
@@ -735,12 +721,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
735
|
721
|
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration in mm/s^2 for retracts
|
736
|
722
|
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
|
737
|
723
|
|
738
|
|
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
|
739
|
|
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
|
740
|
|
-// For the other hotends it is their distance from the extruder 0 hotend.
|
741
|
|
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
|
742
|
|
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
|
743
|
|
-
|
744
|
724
|
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
|
745
|
725
|
#define DEFAULT_XYJERK 20.0 // (mm/sec)
|
746
|
726
|
#define DEFAULT_ZJERK 20.0 // (mm/sec) Must be same as XY for delta
|
|
@@ -771,6 +751,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
771
|
751
|
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
|
772
|
752
|
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
|
773
|
753
|
//define this to enable EEPROM support
|
|
754
|
+//#define EEPROM_SETTINGS
|
|
755
|
+
|
774
|
756
|
#ifdef EEPROM_SETTINGS
|
775
|
757
|
// To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
|
776
|
758
|
#define EEPROM_CHITCHAT // Please keep turned on if you can.
|
|
@@ -814,6 +796,9 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
814
|
796
|
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
|
815
|
797
|
//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
|
816
|
798
|
// 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
|
|
799
|
+// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
|
|
800
|
+// http://reprap.org/wiki/PanelOne
|
|
801
|
+//#define PANEL_ONE
|
817
|
802
|
|
818
|
803
|
// The MaKr3d Makr-Panel with graphic controller and SD support
|
819
|
804
|
// http://reprap.org/wiki/MaKr3d_MaKrPanel
|
|
@@ -829,6 +814,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
829
|
814
|
//
|
830
|
815
|
// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
|
831
|
816
|
//#define ELB_FULL_GRAPHIC_CONTROLLER
|
|
817
|
+//#define SDCARDDETECTINVERTED
|
832
|
818
|
|
833
|
819
|
// The RepRapDiscount Smart Controller (white PCB)
|
834
|
820
|
// http://reprap.org/wiki/RepRapDiscount_Smart_Controller
|
|
@@ -854,136 +840,37 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
|
854
|
840
|
// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C
|
855
|
841
|
//#define RA_CONTROL_PANEL
|
856
|
842
|
|
857
|
|
-//automatic expansion
|
858
|
|
-#if defined (MAKRPANEL)
|
859
|
|
- #define DOGLCD
|
860
|
|
- #define SDSUPPORT
|
861
|
|
- #define ULTIPANEL
|
862
|
|
- #define NEWPANEL
|
863
|
|
- #define DEFAULT_LCD_CONTRAST 17
|
864
|
|
-#endif
|
865
|
|
-
|
866
|
|
-#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
|
867
|
|
- #define DOGLCD
|
868
|
|
- #define U8GLIB_ST7920
|
869
|
|
- #define REPRAP_DISCOUNT_SMART_CONTROLLER
|
870
|
|
-#endif
|
871
|
|
-
|
872
|
|
-#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
|
873
|
|
- #define ULTIPANEL
|
874
|
|
- #define NEWPANEL
|
875
|
|
-#endif
|
876
|
|
-
|
877
|
|
-#if defined(REPRAPWORLD_KEYPAD)
|
878
|
|
- #define NEWPANEL
|
879
|
|
- #define ULTIPANEL
|
880
|
|
-#endif
|
881
|
|
-#if defined(RA_CONTROL_PANEL)
|
882
|
|
- #define ULTIPANEL
|
883
|
|
- #define NEWPANEL
|
884
|
|
- #define LCD_I2C_TYPE_PCA8574
|
885
|
|
- #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
|
886
|
|
-#endif
|
|
843
|
+// Delta calibration menu
|
|
844
|
+// uncomment to add three points calibration menu option.
|
|
845
|
+// See http://minow.blogspot.com/index.html#4918805519571907051
|
|
846
|
+// If needed, adjust the X, Y, Z calibration coordinates
|
|
847
|
+// in ultralcd.cpp@lcd_delta_calibrate_menu()
|
|
848
|
+// #define DELTA_CALIBRATION_MENU
|
887
|
849
|
|
888
|
850
|
/**
|
889
|
851
|
* I2C Panels
|
890
|
852
|
*/
|
891
|
853
|
|
892
|
854
|
//#define LCD_I2C_SAINSMART_YWROBOT
|
893
|
|
-#ifdef LCD_I2C_SAINSMART_YWROBOT
|
894
|
|
- // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home )
|
895
|
|
- // Make sure it is placed in the Arduino libraries directory.
|
896
|
|
- #define LCD_I2C_TYPE_PCF8575
|
897
|
|
- #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
|
898
|
|
- #define NEWPANEL
|
899
|
|
- #define ULTIPANEL
|
900
|
|
-#endif
|
901
|
855
|
|
902
|
856
|
// PANELOLU2 LCD with status LEDs, separate encoder and click inputs
|
903
|
857
|
//#define LCD_I2C_PANELOLU2
|
904
|
|
-#ifdef LCD_I2C_PANELOLU2
|
905
|
|
- // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
|
906
|
|
- // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
|
907
|
|
- // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file)
|
908
|
|
- // Note: The PANELOLU2 encoder click input can either be directly connected to a pin
|
909
|
|
- // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1).
|
910
|
|
- #define LCD_I2C_TYPE_MCP23017
|
911
|
|
- #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
|
912
|
|
- #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
|
913
|
|
- #define NEWPANEL
|
914
|
|
- #define ULTIPANEL
|
915
|
|
-
|
916
|
|
- #ifndef ENCODER_PULSES_PER_STEP
|
917
|
|
- #define ENCODER_PULSES_PER_STEP 4
|
918
|
|
- #endif
|
919
|
|
-
|
920
|
|
- #ifndef ENCODER_STEPS_PER_MENU_ITEM
|
921
|
|
- #define ENCODER_STEPS_PER_MENU_ITEM 1
|
922
|
|
- #endif
|
923
|
|
-
|
924
|
|
-
|
925
|
|
- #ifdef LCD_USE_I2C_BUZZER
|
926
|
|
- #define LCD_FEEDBACK_FREQUENCY_HZ 1000
|
927
|
|
- #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
|
928
|
|
- #endif
|
929
|
|
-
|
930
|
|
-#endif
|
931
|
858
|
|
932
|
859
|
// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
|
933
|
860
|
//#define LCD_I2C_VIKI
|
934
|
|
-#ifdef LCD_I2C_VIKI
|
935
|
|
- // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
|
936
|
|
- // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
|
937
|
|
- // Note: The pause/stop/resume LCD button pin should be connected to the Arduino
|
938
|
|
- // BTN_ENC pin (or set BTN_ENC to -1 if not used)
|
939
|
|
- #define LCD_I2C_TYPE_MCP23017
|
940
|
|
- #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
|
941
|
|
- #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
|
942
|
|
- #define NEWPANEL
|
943
|
|
- #define ULTIPANEL
|
944
|
|
-#endif
|
|
861
|
+
|
|
862
|
+// SSD1306 OLED generic display support
|
|
863
|
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
|
|
864
|
+//#define U8GLIB_SSD1306
|
945
|
865
|
|
946
|
866
|
// Shift register panels
|
947
|
867
|
// ---------------------
|
948
|
868
|
// 2 wire Non-latching LCD SR from:
|
949
|
869
|
// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
|
950
|
|
-//#define SR_LCD
|
951
|
|
-#ifdef SR_LCD
|
952
|
|
- #define SR_LCD_2W_NL // Non latching 2 wire shift register
|
953
|
|
- //#define NEWPANEL
|
954
|
|
-#endif
|
955
|
|
-
|
|
870
|
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
|
|
871
|
+//#define SAV_3DLCD
|
956
|
872
|
|
957
|
873
|
// @section extras
|
958
|
|
-#ifdef ULTIPANEL
|
959
|
|
-// #define NEWPANEL //enable this if you have a click-encoder panel
|
960
|
|
- #define SDSUPPORT
|
961
|
|
- #define ULTRA_LCD
|
962
|
|
- #ifdef DOGLCD // Change number of lines to match the DOG graphic display
|
963
|
|
- #define LCD_WIDTH 20
|
964
|
|
- #define LCD_HEIGHT 5
|
965
|
|
- #else
|
966
|
|
- #define LCD_WIDTH 20
|
967
|
|
- #define LCD_HEIGHT 4
|
968
|
|
- #endif
|
969
|
|
-#else //no panel but just LCD
|
970
|
|
- #ifdef ULTRA_LCD
|
971
|
|
- #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
|
972
|
|
- #define LCD_WIDTH 20
|
973
|
|
- #define LCD_HEIGHT 5
|
974
|
|
- #else
|
975
|
|
- #define LCD_WIDTH 16
|
976
|
|
- #define LCD_HEIGHT 2
|
977
|
|
- #endif
|
978
|
|
- #endif
|
979
|
|
-#endif
|
980
|
|
-
|
981
|
|
-// default LCD contrast for dogm-like LCD displays
|
982
|
|
-#ifdef DOGLCD
|
983
|
|
-# ifndef DEFAULT_LCD_CONTRAST
|
984
|
|
-# define DEFAULT_LCD_CONTRAST 32
|
985
|
|
-# endif
|
986
|
|
-#endif
|
987
|
874
|
|
988
|
875
|
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
|
989
|
876
|
//#define FAST_PWM_FAN
|