Richard Wackerbarth 10 лет назад
Родитель
Сommit
c2cef42f8e

+ 0
- 1
Marlin/Conditionals.h Просмотреть файл

@@ -257,7 +257,6 @@
257 257
 
258 258
   /**
259 259
    * AUTOSET LOCATIONS OF LIMIT SWITCHES
260
-   * Added by ZetaPhoenix 09-15-2012
261 260
    */
262 261
   #ifdef MANUAL_HOME_POSITIONS  // Use manual limit switch locations
263 262
     #define X_HOME_POS MANUAL_X_HOME_POS

+ 41
- 40
Marlin/Configuration.h Просмотреть файл

@@ -97,7 +97,7 @@ Here are some standard links for getting your machine calibrated:
97 97
 #define POWER_SUPPLY 1
98 98
 
99 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
100
-// #define PS_DEFAULT_OFF
100
+//#define PS_DEFAULT_OFF
101 101
 
102 102
 // @section temperature
103 103
 
@@ -205,21 +205,22 @@ Here are some standard links for getting your machine calibrated:
205 205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
206 206
   #define K1 0.95 //smoothing factor within the PID
207 207
 
208
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
-// Ultimaker
210
-    #define  DEFAULT_Kp 22.2
211
-    #define  DEFAULT_Ki 1.08
212
-    #define  DEFAULT_Kd 114
213
-
214
-// MakerGear
215
-//    #define  DEFAULT_Kp 7.0
216
-//    #define  DEFAULT_Ki 0.1
217
-//    #define  DEFAULT_Kd 12
218
-
219
-// Mendel Parts V9 on 12V
220
-//    #define  DEFAULT_Kp 63.0
221
-//    #define  DEFAULT_Ki 2.25
222
-//    #define  DEFAULT_Kd 440
208
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
+  // Ultimaker
210
+  #define  DEFAULT_Kp 22.2
211
+  #define  DEFAULT_Ki 1.08
212
+  #define  DEFAULT_Kd 114
213
+
214
+  // MakerGear
215
+  //#define  DEFAULT_Kp 7.0
216
+  //#define  DEFAULT_Ki 0.1
217
+  //#define  DEFAULT_Kd 12
218
+
219
+  // Mendel Parts V9 on 12V
220
+  //#define  DEFAULT_Kp 63.0
221
+  //#define  DEFAULT_Ki 2.25
222
+  //#define  DEFAULT_Kd 440
223
+
223 224
 #endif // PIDTEMP
224 225
 
225 226
 //===========================================================================
@@ -235,7 +236,7 @@ Here are some standard links for getting your machine calibrated:
235 236
 // shouldn't use bed PID until someone else verifies your hardware works.
236 237
 // If this is enabled, find your own PID constants below.
237 238
 //#define PIDTEMPBED
238
-//
239
+
239 240
 //#define BED_LIMIT_SWITCHING
240 241
 
241 242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -247,21 +248,22 @@ Here are some standard links for getting your machine calibrated:
247 248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248 249
 
249 250
 #ifdef PIDTEMPBED
250
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
251 251
 
252
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
253
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
254
-    #define  DEFAULT_bedKp 10.00
255
-    #define  DEFAULT_bedKi .023
256
-    #define  DEFAULT_bedKd 305.4
252
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
257 253
 
258
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
259
-//from pidautotune
260
-//    #define  DEFAULT_bedKp 97.1
261
-//    #define  DEFAULT_bedKi 1.41
262
-//    #define  DEFAULT_bedKd 1675.16
254
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
255
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
256
+  #define  DEFAULT_bedKp 10.00
257
+  #define  DEFAULT_bedKi .023
258
+  #define  DEFAULT_bedKd 305.4
263 259
 
264
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
260
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
261
+  //from pidautotune
262
+  //#define  DEFAULT_bedKp 97.1
263
+  //#define  DEFAULT_bedKi 1.41
264
+  //#define  DEFAULT_bedKd 1675.16
265
+
266
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
265 267
 #endif // PIDTEMPBED
266 268
 
267 269
 // @section extruder
@@ -305,7 +307,7 @@ Here are some standard links for getting your machine calibrated:
305 307
 // #define COREXY
306 308
 
307 309
 // Enable this option for Toshiba steppers
308
-// #define CONFIG_STEPPERS_TOSHIBA
310
+//#define CONFIG_STEPPERS_TOSHIBA
309 311
 
310 312
 // @section homing
311 313
 
@@ -334,7 +336,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
334 336
 //#define DISABLE_MAX_ENDSTOPS
335 337
 //#define DISABLE_MIN_ENDSTOPS
336 338
 
337
-// @section machine
338 339
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
339 340
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
340 341
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
@@ -407,7 +408,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
407 408
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
408 409
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
409 410
   #define FILAMENT_RUNOUT_SCRIPT "M600"
410
-#endif 
411
+#endif
411 412
 
412 413
 //===========================================================================
413 414
 //=========================== Manual Bed Leveling ===========================
@@ -499,7 +500,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
499 500
 
500 501
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
501 502
                                                                             //Useful to retract a deployable probe.
502
-                                                                           
503
+
503 504
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
504 505
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
505 506
 
@@ -522,8 +523,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
522 523
 
523 524
   #ifdef Z_SAFE_HOMING
524 525
 
525
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
526
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
526
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
527
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
527 528
 
528 529
   #endif
529 530
 
@@ -574,7 +575,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
574 575
 #define DEFAULT_MAX_ACCELERATION      {3000,3000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
575 576
 
576 577
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
577
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
578
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
578 579
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
579 580
 
580 581
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
@@ -792,10 +793,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
792 793
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
793 794
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
794 795
 
795
-#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
796
-#define MEASURED_UPPER_LIMIT         3.3 //upper limit factor used for sensor reading validation in mm
797
-#define MEASURED_LOWER_LIMIT         1.9 //lower limit factor for sensor reading validation in mm
798
-#define MAX_MEASUREMENT_DELAY       20   //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
796
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
797
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
798
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
799
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
799 800
 
800 801
 //defines used in the code
801 802
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 27
- 21
Marlin/configurator/config/Configuration.h Просмотреть файл

@@ -97,7 +97,7 @@ Here are some standard links for getting your machine calibrated:
97 97
 #define POWER_SUPPLY 1
98 98
 
99 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
100
-// #define PS_DEFAULT_OFF
100
+//#define PS_DEFAULT_OFF
101 101
 
102 102
 // @section temperature
103 103
 
@@ -235,7 +235,7 @@ Here are some standard links for getting your machine calibrated:
235 235
 // shouldn't use bed PID until someone else verifies your hardware works.
236 236
 // If this is enabled, find your own PID constants below.
237 237
 //#define PIDTEMPBED
238
-//
238
+
239 239
 //#define BED_LIMIT_SWITCHING
240 240
 
241 241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -247,17 +247,20 @@ Here are some standard links for getting your machine calibrated:
247 247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248 248
 
249 249
 #ifdef PIDTEMPBED
250
+
251
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
252
+
250 253
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
251 254
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
252
-    #define  DEFAULT_bedKp 10.00
253
-    #define  DEFAULT_bedKi .023
254
-    #define  DEFAULT_bedKd 305.4
255
+  #define  DEFAULT_bedKp 10.00
256
+  #define  DEFAULT_bedKi .023
257
+  #define  DEFAULT_bedKd 305.4
255 258
 
256 259
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
257 260
 //from pidautotune
258
-//    #define  DEFAULT_bedKp 97.1
259
-//    #define  DEFAULT_bedKi 1.41
260
-//    #define  DEFAULT_bedKd 1675.16
261
+  //#define  DEFAULT_bedKp 97.1
262
+  //#define  DEFAULT_bedKi 1.41
263
+  //#define  DEFAULT_bedKd 1675.16
261 264
 
262 265
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
263 266
 #endif // PIDTEMPBED
@@ -303,7 +306,7 @@ Here are some standard links for getting your machine calibrated:
303 306
 // #define COREXY
304 307
 
305 308
 // Enable this option for Toshiba steppers
306
-// #define CONFIG_STEPPERS_TOSHIBA
309
+//#define CONFIG_STEPPERS_TOSHIBA
307 310
 
308 311
 // @section homing
309 312
 
@@ -332,7 +335,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
332 335
 //#define DISABLE_MAX_ENDSTOPS
333 336
 //#define DISABLE_MIN_ENDSTOPS
334 337
 
335
-// @section machine
336 338
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
337 339
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
338 340
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
@@ -405,7 +407,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
405 407
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
406 408
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
407 409
   #define FILAMENT_RUNOUT_SCRIPT "M600"
408
-#endif 
410
+#endif
409 411
 
410 412
 //===========================================================================
411 413
 //=========================== Manual Bed Leveling ===========================
@@ -497,7 +499,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
497 499
 
498 500
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
499 501
                                                                             //Useful to retract a deployable probe.
500
-                                                                           
502
+
501 503
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
502 504
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
503 505
 
@@ -520,8 +522,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
520 522
 
521 523
   #ifdef Z_SAFE_HOMING
522 524
 
523
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
524
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
525
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
526
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
525 527
 
526 528
   #endif
527 529
 
@@ -572,7 +574,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
572 574
 #define DEFAULT_MAX_ACCELERATION      {3000,3000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
573 575
 
574 576
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
575
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
577
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
576 578
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
577 579
 
578 580
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
@@ -627,7 +629,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
627 629
 // @section lcd
628 630
 
629 631
 // Define your display language below. Replace (en) with your language code and uncomment.
630
-
631 632
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
632 633
 // See also language.h
633 634
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
@@ -669,6 +670,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
669 670
 //
670 671
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
671 672
 //#define ELB_FULL_GRAPHIC_CONTROLLER
673
+//#define SDCARDDETECTINVERTED
672 674
 
673 675
 // The RepRapDiscount Smart Controller (white PCB)
674 676
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
@@ -705,12 +707,16 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
705 707
 
706 708
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
707 709
 //#define LCD_I2C_VIKI
710
+  
711
+// SSD1306 OLED generic display support
712
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
713
+//#define U8GLIB_SSD1306
708 714
 
709 715
 // Shift register panels
710 716
 // ---------------------
711 717
 // 2 wire Non-latching LCD SR from:
712 718
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
713
-
719
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
714 720
 //#define SAV_3DLCD
715 721
 
716 722
 // @section extras
@@ -786,10 +792,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
786 792
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
787 793
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
788 794
 
789
-#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
790
-#define MEASURED_UPPER_LIMIT         3.3 //upper limit factor used for sensor reading validation in mm
791
-#define MEASURED_LOWER_LIMIT         1.9 //lower limit factor for sensor reading validation in mm
792
-#define MAX_MEASUREMENT_DELAY       20   //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
795
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
796
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
797
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
798
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
793 799
 
794 800
 //defines used in the code
795 801
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 80
- 30
Marlin/example_configurations/Felix/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 250000
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -79,17 +80,27 @@ Here are some standard links for getting your machine calibrated:
79 80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80 81
 
81 82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82 84
 #define EXTRUDERS 1
83 85
 
86
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
87
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
88
+// For the other hotends it is their distance from the extruder 0 hotend.
89
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
90
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
91
+
84 92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85 93
 // 1 = ATX
86 94
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
95
+// :{1:'ATX',2:'X-Box 360'}
87 96
 
88 97
 #define POWER_SUPPLY 1
89 98
 
90 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
91 100
 #define PS_DEFAULT_OFF
92 101
 
102
+// @section temperature
103
+
93 104
 //===========================================================================
94 105
 //============================= Thermal Settings ============================
95 106
 //===========================================================================
@@ -214,7 +225,7 @@ Here are some standard links for getting your machine calibrated:
214 225
 // shouldn't use bed PID until someone else verifies your hardware works.
215 226
 // If this is enabled, find your own PID constants below.
216 227
 #define PIDTEMPBED
217
-//
228
+
218 229
 //#define BED_LIMIT_SWITCHING
219 230
 
220 231
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -226,16 +237,18 @@ Here are some standard links for getting your machine calibrated:
226 237
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
227 238
 
228 239
 #ifdef PIDTEMPBED
229
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
230 240
 
231
-// Felix Foil Heater
232
-   #define DEFAULT_bedKp 103.37
233
-   #define DEFAULT_bedKi 2.79
234
-   #define DEFAULT_bedKd 956.94
241
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
242
+
243
+  // Felix Foil Heater
244
+  #define DEFAULT_bedKp 103.37
245
+  #define DEFAULT_bedKi 2.79
246
+  #define DEFAULT_bedKd 956.94
235 247
 
236
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
248
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
237 249
 #endif // PIDTEMPBED
238 250
 
251
+// @section extruder
239 252
 
240 253
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
241 254
 //can be software-disabled for whatever purposes by
@@ -270,11 +283,15 @@ Here are some standard links for getting your machine calibrated:
270 283
 //============================= Mechanical Settings =========================
271 284
 //===========================================================================
272 285
 
286
+// @section machine
287
+
273 288
 // Uncomment this option to enable CoreXY kinematics
274 289
 // #define COREXY
275 290
 
276 291
 // Enable this option for Toshiba steppers
277
-// #define CONFIG_STEPPERS_TOSHIBA
292
+//#define CONFIG_STEPPERS_TOSHIBA
293
+
294
+// @section homing
278 295
 
279 296
 // coarse Endstop Settings
280 297
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -287,6 +304,7 @@ Here are some standard links for getting your machine calibrated:
287 304
   // #define ENDSTOPPULLUP_XMIN
288 305
   // #define ENDSTOPPULLUP_YMIN
289 306
   // #define ENDSTOPPULLUP_ZMIN
307
+  // #define ENDSTOPPULLUP_ZPROBE
290 308
 #endif
291 309
 
292 310
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -300,7 +318,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
300 318
 #define DISABLE_MAX_ENDSTOPS
301 319
 //#define DISABLE_MIN_ENDSTOPS
302 320
 
321
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
322
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
323
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
324
+// this has no effect.
325
+//#define DISABLE_Z_PROBE_ENDSTOP
326
+
303 327
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
328
+// :{0:'Low',1:'High'}
304 329
 #define X_ENABLE_ON 0
305 330
 #define Y_ENABLE_ON 0
306 331
 #define Z_ENABLE_ON 0
@@ -311,20 +336,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
311 336
 #define DISABLE_X false
312 337
 #define DISABLE_Y false
313 338
 #define DISABLE_Z false
339
+
340
+// @section extruder
341
+
314 342
 #define DISABLE_E false // For all extruders
315 343
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
316 344
 
345
+// @section machine
346
+
317 347
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
318 348
 #define INVERT_X_DIR true
319 349
 #define INVERT_Y_DIR true
320 350
 #define INVERT_Z_DIR true
351
+
352
+// @section extruder
353
+
354
+// For direct drive extruder v9 set to true, for geared extruder set to false.
321 355
 #define INVERT_E0_DIR false
322 356
 #define INVERT_E1_DIR false
323 357
 #define INVERT_E2_DIR false
324 358
 #define INVERT_E3_DIR false
325 359
 
360
+// @section homing
361
+
326 362
 // ENDSTOP SETTINGS:
327 363
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
364
+// :[-1,1]
328 365
 #define X_HOME_DIR -1
329 366
 #define Y_HOME_DIR -1
330 367
 #define Z_HOME_DIR -1
@@ -332,6 +369,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
332 369
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
333 370
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
334 371
 
372
+// @section machine
373
+
335 374
 // Travel limits after homing (units are in mm)
336 375
 #define X_MIN_POS 0
337 376
 #define Y_MIN_POS 0
@@ -351,8 +390,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
351 390
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
352 391
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
353 392
   #define FILAMENT_RUNOUT_SCRIPT "M600"
354
-#endif 
355
-  
393
+#endif
394
+
356 395
 //===========================================================================
357 396
 //=========================== Manual Bed Leveling ===========================
358 397
 //===========================================================================
@@ -361,7 +400,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
361 400
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
362 401
 
363 402
 #ifdef MANUAL_BED_LEVELING
364
-  #define MBL_Z_STEP 0.025
403
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
365 404
 #endif  // MANUAL_BED_LEVELING
366 405
 
367 406
 #ifdef MESH_BED_LEVELING
@@ -378,6 +417,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
378 417
 //============================ Bed Auto Leveling ============================
379 418
 //===========================================================================
380 419
 
420
+// @section bedlevel
421
+
381 422
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
382 423
 //#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
383 424
 
@@ -441,7 +482,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
441 482
 
442 483
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
443 484
                                                                             //Useful to retract a deployable probe.
444
-                                                                           
485
+
445 486
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
446 487
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
447 488
 
@@ -464,8 +505,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
464 505
 
465 506
   #ifdef Z_SAFE_HOMING
466 507
 
467
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
468
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
508
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
509
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
469 510
 
470 511
   #endif
471 512
 
@@ -486,6 +527,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
486 527
 #endif // ENABLE_AUTO_BED_LEVELING
487 528
 
488 529
 
530
+// @section homing
531
+
489 532
 // The position of the homing switches
490 533
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
491 534
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -499,6 +542,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
499 542
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
500 543
 #endif
501 544
 
545
+// @section movement
546
+
502 547
 /**
503 548
  * MOVEMENT SETTINGS
504 549
  */
@@ -516,12 +561,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
516 561
 #define DEFAULT_RETRACT_ACCELERATION  5000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts
517 562
 #define DEFAULT_TRAVEL_ACCELERATION   3000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
518 563
 
519
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
520
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
521
-// For the other hotends it is their distance from the extruder 0 hotend.
522
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
523
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
524
-
525 564
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
526 565
 #define DEFAULT_XYJERK                10   // (mm/sec)
527 566
 #define DEFAULT_ZJERK                 0.3  //0.4   // (mm/sec)
@@ -532,6 +571,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
532 571
 //============================= Additional Features ===========================
533 572
 //=============================================================================
534 573
 
574
+// @section more
575
+
535 576
 // Custom M code points
536 577
 #define CUSTOM_M_CODES
537 578
 #ifdef CUSTOM_M_CODES
@@ -542,6 +583,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
542 583
   #endif
543 584
 #endif
544 585
 
586
+// @section extras
545 587
 
546 588
 // EEPROM
547 589
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -553,9 +595,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
553 595
 
554 596
 #ifdef EEPROM_SETTINGS
555 597
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
556
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
598
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
557 599
 #endif
558 600
 
601
+// @section temperature
602
+
559 603
 // Preheat Constants
560 604
 #define PLA_PREHEAT_HOTEND_TEMP 180
561 605
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -566,6 +610,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
566 610
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
567 611
 
568 612
 //==============================LCD and SD support=============================
613
+// @section lcd
569 614
 
570 615
 // Define your display language below. Replace (en) with your language code and uncomment.
571 616
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
@@ -591,7 +636,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
591 636
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
592 637
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
593 638
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
594
-
595 639
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
596 640
 // http://reprap.org/wiki/PanelOne
597 641
 //#define PANEL_ONE
@@ -647,14 +691,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
647 691
 
648 692
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
649 693
 //#define LCD_I2C_VIKI
694
+  
695
+// SSD1306 OLED generic display support
696
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
697
+//#define U8GLIB_SSD1306
650 698
 
651 699
 // Shift register panels
652 700
 // ---------------------
653 701
 // 2 wire Non-latching LCD SR from:
654 702
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
655
-
703
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
656 704
 //#define SAV_3DLCD
657 705
 
706
+// @section extras
707
+
658 708
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
659 709
 #define FAST_PWM_FAN
660 710
 
@@ -678,7 +728,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
678 728
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
679 729
 // #define PHOTOGRAPH_PIN     23
680 730
 
681
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
731
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
682 732
 //#define SF_ARC_FIX
683 733
 
684 734
 // Support for the BariCUDA Paste Extruder.
@@ -723,13 +773,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
723 773
 // Uncomment below to enable
724 774
 //#define FILAMENT_SENSOR
725 775
 
726
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
727
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
776
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
777
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
728 778
 
729
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
730
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
731
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
732
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
779
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
780
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
781
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
782
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
733 783
 
734 784
 //defines used in the code
735 785
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 15
- 11
Marlin/example_configurations/Felix/Configuration_DUAL.h Просмотреть файл

@@ -214,7 +214,7 @@ Here are some standard links for getting your machine calibrated:
214 214
 // shouldn't use bed PID until someone else verifies your hardware works.
215 215
 // If this is enabled, find your own PID constants below.
216 216
 #define PIDTEMPBED
217
-//
217
+
218 218
 //#define BED_LIMIT_SWITCHING
219 219
 
220 220
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -268,11 +268,15 @@ Here are some standard links for getting your machine calibrated:
268 268
 //============================= Mechanical Settings =========================
269 269
 //===========================================================================
270 270
 
271
+// @section machine
272
+
271 273
 // Uncomment this option to enable CoreXY kinematics
272 274
 // #define COREXY
273 275
 
274 276
 // Enable this option for Toshiba steppers
275
-// #define CONFIG_STEPPERS_TOSHIBA
277
+//#define CONFIG_STEPPERS_TOSHIBA
278
+
279
+// @section homing
276 280
 
277 281
 // coarse Endstop Settings
278 282
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -349,7 +353,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
349 353
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
350 354
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
351 355
   #define FILAMENT_RUNOUT_SCRIPT "M600"
352
-#endif 
356
+#endif
353 357
   
354 358
 //===========================================================================
355 359
 //=========================== Manual Bed Leveling ===========================
@@ -458,8 +462,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
458 462
 
459 463
   #ifdef Z_SAFE_HOMING
460 464
 
461
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
462
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
465
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
466
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
463 467
 
464 468
   #endif
465 469
 
@@ -717,13 +721,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
717 721
 // Uncomment below to enable
718 722
 //#define FILAMENT_SENSOR
719 723
 
720
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
721
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
724
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
725
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
722 726
 
723
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
724
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
725
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
726
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
727
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
728
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
729
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
730
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
727 731
 
728 732
 //defines used in the code
729 733
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 107
- 55
Marlin/example_configurations/Hephestos/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 115200
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -66,7 +67,9 @@ Here are some standard links for getting your machine calibrated:
66 67
 
67 68
 // The following define selects which electronics board you have.
68 69
 // Please choose the name from boards.h that matches your setup
69
-#define MOTHERBOARD BOARD_RAMPS_13_EFB
70
+#ifndef MOTHERBOARD
71
+  #define MOTHERBOARD BOARD_RAMPS_13_EFB
72
+#endif
70 73
 
71 74
 // Optional custom name for your RepStrap or other custom machine
72 75
 // Displayed in the LCD "Ready" message
@@ -80,16 +83,26 @@ Here are some standard links for getting your machine calibrated:
80 83
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
81 84
 
82 85
 // This defines the number of extruders
86
+// :[1,2,3,4]
83 87
 #define EXTRUDERS 1
84 88
 
89
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
90
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
91
+// For the other hotends it is their distance from the extruder 0 hotend.
92
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
93
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
94
+
85 95
 //// The following define selects which power supply you have. Please choose the one that matches your setup
86 96
 // 1 = ATX
87 97
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
98
+// :{1:'ATX',2:'X-Box 360'}
88 99
 
89 100
 #define POWER_SUPPLY 1
90 101
 
91 102
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
92
-// #define PS_DEFAULT_OFF
103
+//#define PS_DEFAULT_OFF
104
+
105
+// @section temperature
93 106
 
94 107
 //===========================================================================
95 108
 //============================= Thermal Settings ============================
@@ -195,26 +208,26 @@ Here are some standard links for getting your machine calibrated:
195 208
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
196 209
   #define K1 0.95 //smoothing factor within the PID
197 210
 
198
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
199
-// Ultimaker
200
-//  #define  DEFAULT_Kp 22.2
201
-//  #define  DEFAULT_Ki 1.08
202
-//  #define  DEFAULT_Kd 114
211
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
212
+  // Ultimaker
213
+  //#define  DEFAULT_Kp 22.2
214
+  //#define  DEFAULT_Ki 1.08
215
+  //#define  DEFAULT_Kd 114
203 216
 
204
-// MakerGear
205
-//    #define  DEFAULT_Kp 7.0
206
-//    #define  DEFAULT_Ki 0.1
207
-//    #define  DEFAULT_Kd 12
217
+  // MakerGear
218
+  //#define  DEFAULT_Kp 7.0
219
+  //#define  DEFAULT_Ki 0.1
220
+  //#define  DEFAULT_Kd 12
208 221
 
209
-// Mendel Parts V9 on 12V
210
-//    #define  DEFAULT_Kp 63.0
211
-//    #define  DEFAULT_Ki 2.25
212
-//    #define  DEFAULT_Kd 440
222
+  // Mendel Parts V9 on 12V
223
+  //#define  DEFAULT_Kp 63.0
224
+  //#define  DEFAULT_Ki 2.25
225
+  //#define  DEFAULT_Kd 440
213 226
 
214
-// Hephestos (i3)
215
-    #define  DEFAULT_Kp 23.05
216
-    #define  DEFAULT_Ki 2.00
217
-    #define  DEFAULT_Kd 66.47
227
+  // Hephestos (i3)
228
+  #define  DEFAULT_Kp 23.05
229
+  #define  DEFAULT_Ki 2.00
230
+  #define  DEFAULT_Kd 66.47
218 231
 
219 232
 #endif // PIDTEMP
220 233
 
@@ -231,7 +244,7 @@ Here are some standard links for getting your machine calibrated:
231 244
 // shouldn't use bed PID until someone else verifies your hardware works.
232 245
 // If this is enabled, find your own PID constants below.
233 246
 //#define PIDTEMPBED
234
-//
247
+
235 248
 //#define BED_LIMIT_SWITCHING
236 249
 
237 250
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -243,23 +256,25 @@ Here are some standard links for getting your machine calibrated:
243 256
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
244 257
 
245 258
 #ifdef PIDTEMPBED
246
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
247 259
 
248
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
249
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
250
-    #define  DEFAULT_bedKp 10.00
251
-    #define  DEFAULT_bedKi .023
252
-    #define  DEFAULT_bedKd 305.4
260
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
253 261
 
254
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
255
-//from pidautotune
256
-//    #define  DEFAULT_bedKp 97.1
257
-//    #define  DEFAULT_bedKi 1.41
258
-//    #define  DEFAULT_bedKd 1675.16
262
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
263
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
264
+  #define  DEFAULT_bedKp 10.00
265
+  #define  DEFAULT_bedKi .023
266
+  #define  DEFAULT_bedKd 305.4
259 267
 
260
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
268
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
269
+  //from pidautotune
270
+  //#define  DEFAULT_bedKp 97.1
271
+  //#define  DEFAULT_bedKi 1.41
272
+  //#define  DEFAULT_bedKd 1675.16
273
+
274
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
261 275
 #endif // PIDTEMPBED
262 276
 
277
+// @section extruder
263 278
 
264 279
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
265 280
 //can be software-disabled for whatever purposes by
@@ -294,11 +309,15 @@ Here are some standard links for getting your machine calibrated:
294 309
 //============================= Mechanical Settings =========================
295 310
 //===========================================================================
296 311
 
312
+// @section machine
313
+
297 314
 // Uncomment this option to enable CoreXY kinematics
298 315
 // #define COREXY
299 316
 
300 317
 // Enable this option for Toshiba steppers
301
-// #define CONFIG_STEPPERS_TOSHIBA
318
+//#define CONFIG_STEPPERS_TOSHIBA
319
+
320
+// @section homing
302 321
 
303 322
 // coarse Endstop Settings
304 323
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -311,6 +330,7 @@ Here are some standard links for getting your machine calibrated:
311 330
   // #define ENDSTOPPULLUP_XMIN
312 331
   // #define ENDSTOPPULLUP_YMIN
313 332
   // #define ENDSTOPPULLUP_ZMIN
333
+  // #define ENDSTOPPULLUP_ZPROBE
314 334
 #endif
315 335
 
316 336
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -324,7 +344,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
324 344
 //#define DISABLE_MAX_ENDSTOPS
325 345
 //#define DISABLE_MIN_ENDSTOPS
326 346
 
347
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
348
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
349
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
350
+// this has no effect.
351
+//#define DISABLE_Z_PROBE_ENDSTOP
352
+
327 353
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
354
+// :{0:'Low',1:'High'}
328 355
 #define X_ENABLE_ON 0
329 356
 #define Y_ENABLE_ON 0
330 357
 #define Z_ENABLE_ON 0
@@ -335,20 +362,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
335 362
 #define DISABLE_X false
336 363
 #define DISABLE_Y false
337 364
 #define DISABLE_Z false
365
+
366
+// @section extruder
367
+
338 368
 #define DISABLE_E false // For all extruders
339 369
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
340 370
 
371
+// @section machine
372
+
341 373
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
342 374
 #define INVERT_X_DIR true
343 375
 #define INVERT_Y_DIR false
344 376
 #define INVERT_Z_DIR true
377
+
378
+// @section extruder
379
+
380
+// For direct drive extruder v9 set to true, for geared extruder set to false.
345 381
 #define INVERT_E0_DIR false
346 382
 #define INVERT_E1_DIR false
347 383
 #define INVERT_E2_DIR false
348 384
 #define INVERT_E3_DIR false
349 385
 
386
+// @section homing
387
+
350 388
 // ENDSTOP SETTINGS:
351 389
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
390
+// :[-1,1]
352 391
 #define X_HOME_DIR -1
353 392
 #define Y_HOME_DIR -1
354 393
 #define Z_HOME_DIR -1
@@ -356,6 +395,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
356 395
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
357 396
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
358 397
 
398
+// @section machine
399
+
359 400
 // Travel limits after homing (units are in mm)
360 401
 #define X_MIN_POS 0
361 402
 #define Y_MIN_POS 0
@@ -375,8 +416,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
375 416
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
376 417
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
377 418
   #define FILAMENT_RUNOUT_SCRIPT "M600"
378
-#endif 
379
-  
419
+#endif
420
+
380 421
 //===========================================================================
381 422
 //=========================== Manual Bed Leveling ===========================
382 423
 //===========================================================================
@@ -385,7 +426,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
385 426
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
386 427
 
387 428
 #ifdef MANUAL_BED_LEVELING
388
-  #define MBL_Z_STEP 0.025
429
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
389 430
 #endif  // MANUAL_BED_LEVELING
390 431
 
391 432
 #ifdef MESH_BED_LEVELING
@@ -402,6 +443,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
402 443
 //============================ Bed Auto Leveling ============================
403 444
 //===========================================================================
404 445
 
446
+// @section bedlevel
447
+
405 448
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
406 449
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
407 450
 
@@ -465,7 +508,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
465 508
 
466 509
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
467 510
                                                                             //Useful to retract a deployable probe.
468
-                                                                           
511
+
469 512
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
470 513
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
471 514
 
@@ -488,8 +531,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
488 531
 
489 532
   #ifdef Z_SAFE_HOMING
490 533
 
491
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
492
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
534
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
535
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
493 536
 
494 537
   #endif
495 538
 
@@ -510,6 +553,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
510 553
 #endif // ENABLE_AUTO_BED_LEVELING
511 554
 
512 555
 
556
+// @section homing
557
+
513 558
 // The position of the homing switches
514 559
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
515 560
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -523,6 +568,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
523 568
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
524 569
 #endif
525 570
 
571
+// @section movement
572
+
526 573
 /**
527 574
  * MOVEMENT SETTINGS
528 575
  */
@@ -539,12 +586,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
539 586
 #define DEFAULT_RETRACT_ACCELERATION  1000   // E acceleration in mm/s^2 for retracts
540 587
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
541 588
 
542
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
543
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
544
-// For the other hotends it is their distance from the extruder 0 hotend.
545
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
546
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
547
-
548 589
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
549 590
 #define DEFAULT_XYJERK                10.0    // (mm/sec)
550 591
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
@@ -555,6 +596,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
555 596
 //============================= Additional Features ===========================
556 597
 //=============================================================================
557 598
 
599
+// @section more
600
+
558 601
 // Custom M code points
559 602
 #define CUSTOM_M_CODES
560 603
 #ifdef CUSTOM_M_CODES
@@ -565,6 +608,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
565 608
   #endif
566 609
 #endif
567 610
 
611
+// @section extras
568 612
 
569 613
 // EEPROM
570 614
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -576,9 +620,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
576 620
 
577 621
 #ifdef EEPROM_SETTINGS
578 622
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
579
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
623
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
580 624
 #endif
581 625
 
626
+// @section temperature
627
+
582 628
 // Preheat Constants
583 629
 #define PLA_PREHEAT_HOTEND_TEMP 200
584 630
 #define PLA_PREHEAT_HPB_TEMP 0
@@ -589,6 +635,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
589 635
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
590 636
 
591 637
 //==============================LCD and SD support=============================
638
+// @section lcd
592 639
 
593 640
 // Define your display language below. Replace (en) with your language code and uncomment.
594 641
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
@@ -614,7 +661,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
614 661
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
615 662
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
616 663
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
617
-
618 664
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
619 665
 // http://reprap.org/wiki/PanelOne
620 666
 //#define PANEL_ONE
@@ -670,14 +716,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
670 716
 
671 717
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
672 718
 //#define LCD_I2C_VIKI
719
+  
720
+// SSD1306 OLED generic display support
721
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
722
+//#define U8GLIB_SSD1306
673 723
 
674 724
 // Shift register panels
675 725
 // ---------------------
676 726
 // 2 wire Non-latching LCD SR from:
677 727
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
678
-
728
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
679 729
 //#define SAV_3DLCD
680 730
 
731
+// @section extras
732
+
681 733
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
682 734
 //#define FAST_PWM_FAN
683 735
 
@@ -701,7 +753,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
701 753
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
702 754
 // #define PHOTOGRAPH_PIN     23
703 755
 
704
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
756
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
705 757
 //#define SF_ARC_FIX
706 758
 
707 759
 // Support for the BariCUDA Paste Extruder.
@@ -746,13 +798,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
746 798
 // Uncomment below to enable
747 799
 //#define FILAMENT_SENSOR
748 800
 
749
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
750
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
801
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
802
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
751 803
 
752
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
753
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
754
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
755
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
804
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
805
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
806
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
807
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
756 808
 
757 809
 //defines used in the code
758 810
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 63
- 60
Marlin/example_configurations/K8200/Configuration.h Просмотреть файл

@@ -102,7 +102,7 @@ Here are some standard links for getting your machine calibrated:
102 102
 #define POWER_SUPPLY 1
103 103
 
104 104
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
105
-// #define PS_DEFAULT_OFF
105
+//#define PS_DEFAULT_OFF
106 106
 
107 107
 // @section temperature
108 108
 
@@ -210,26 +210,27 @@ Here are some standard links for getting your machine calibrated:
210 210
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
211 211
   #define K1 0.95 //smoothing factor within the PID
212 212
 
213
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
214
-// Ultimaker
215
-//    #define  DEFAULT_Kp 22.2
216
-//    #define  DEFAULT_Ki 1.08
217
-//    #define  DEFAULT_Kd 114
218
-
219
-// MakerGear
220
-//    #define  DEFAULT_Kp 7.0
221
-//    #define  DEFAULT_Ki 0.1
222
-//    #define  DEFAULT_Kd 12
223
-
224
-// Mendel Parts V9 on 12V
225
-//    #define  DEFAULT_Kp 63.0
226
-//    #define  DEFAULT_Ki 2.25
227
-//    #define  DEFAULT_Kd 440
228
-
229
-// Vellemann K8200 Extruder - calculated with PID Autotune and tested
230
-   #define  DEFAULT_Kp 24.29
231
-   #define  DEFAULT_Ki 1.58
232
-   #define  DEFAULT_Kd 93.51
213
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
214
+  // Ultimaker
215
+  //#define  DEFAULT_Kp 22.2
216
+  //#define  DEFAULT_Ki 1.08
217
+  //#define  DEFAULT_Kd 114
218
+
219
+  // MakerGear
220
+  //#define  DEFAULT_Kp 7.0
221
+  //#define  DEFAULT_Ki 0.1
222
+  //#define  DEFAULT_Kd 12
223
+
224
+  // Mendel Parts V9 on 12V
225
+  //#define  DEFAULT_Kp 63.0
226
+  //#define  DEFAULT_Ki 2.25
227
+  //#define  DEFAULT_Kd 440
228
+
229
+  // Vellemann K8200 Extruder - calculated with PID Autotune and tested
230
+  #define  DEFAULT_Kp 24.29
231
+  #define  DEFAULT_Ki 1.58
232
+  #define  DEFAULT_Kd 93.51
233
+
233 234
 #endif // PIDTEMP
234 235
 
235 236
 //===========================================================================
@@ -245,7 +246,7 @@ Here are some standard links for getting your machine calibrated:
245 246
 // shouldn't use bed PID until someone else verifies your hardware works.
246 247
 // If this is enabled, find your own PID constants below.
247 248
 //#define PIDTEMPBED
248
-//
249
+
249 250
 //#define BED_LIMIT_SWITCHING
250 251
 
251 252
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -257,27 +258,28 @@ Here are some standard links for getting your machine calibrated:
257 258
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
258 259
 
259 260
 #ifdef PIDTEMPBED
260
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
261
-
262
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
263
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
264
-//    #define  DEFAULT_bedKp 10.00
265
-//    #define  DEFAULT_bedKi .023
266
-//    #define  DEFAULT_bedKd 305.4
267
-
268
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
269
-//from pidautotune
270
-//    #define  DEFAULT_bedKp 97.1
271
-//    #define  DEFAULT_bedKi 1.41
272
-//    #define  DEFAULT_bedKd 1675.16
273
-
274
-//Vellemann K8200 PCB heatbed with standard PCU at 60 degreesC - calculated with PID Autotune and tested
275
-//from pidautotune
276
-   #define  DEFAULT_bedKp 341.88
277
-   #define  DEFAULT_bedKi 25.32
278
-   #define  DEFAULT_bedKd 1153.89
279
-
280
-   // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
261
+
262
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
263
+
264
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
265
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
266
+  //#define  DEFAULT_bedKp 10.00
267
+  //#define  DEFAULT_bedKi .023
268
+  //#define  DEFAULT_bedKd 305.4
269
+
270
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
271
+  //from pidautotune
272
+  //#define  DEFAULT_bedKp 97.1
273
+  //#define  DEFAULT_bedKi 1.41
274
+  //#define  DEFAULT_bedKd 1675.16
275
+
276
+  //Vellemann K8200 PCB heatbed with standard PCU at 60 degreesC - calculated with PID Autotune and tested
277
+  //from pidautotune
278
+  #define  DEFAULT_bedKp 341.88
279
+  #define  DEFAULT_bedKi 25.32
280
+  #define  DEFAULT_bedKd 1153.89
281
+
282
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
281 283
 #endif // PIDTEMPBED
282 284
 
283 285
 // @section extruder
@@ -321,7 +323,7 @@ Here are some standard links for getting your machine calibrated:
321 323
 // #define COREXY
322 324
 
323 325
 // Enable this option for Toshiba steppers
324
-// #define CONFIG_STEPPERS_TOSHIBA
326
+//#define CONFIG_STEPPERS_TOSHIBA
325 327
 
326 328
 // @section homing
327 329
 
@@ -350,7 +352,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
350 352
 #define DISABLE_MAX_ENDSTOPS
351 353
 //#define DISABLE_MIN_ENDSTOPS
352 354
 
353
-// @section machine
354 355
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
355 356
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
356 357
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
@@ -423,7 +424,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
423 424
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
424 425
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
425 426
   #define FILAMENT_RUNOUT_SCRIPT "M600"
426
-#endif 
427
+#endif
427 428
 
428 429
 //===========================================================================
429 430
 //=========================== Manual Bed Leveling ===========================
@@ -515,7 +516,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
515 516
 
516 517
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
517 518
                                                                             //Useful to retract a deployable probe.
518
-                                                                           
519
+
519 520
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
520 521
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
521 522
 
@@ -538,8 +539,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
538 539
 
539 540
   #ifdef Z_SAFE_HOMING
540 541
 
541
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
542
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
542
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
543
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
543 544
 
544 545
   #endif
545 546
 
@@ -590,7 +591,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
590 591
 #define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
591 592
 
592 593
 #define DEFAULT_ACCELERATION          1000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
593
-#define DEFAULT_RETRACT_ACCELERATION  1000   // E acceleration in mm/s^2 for retracts
594
+#define DEFAULT_RETRACT_ACCELERATION  1000    // E acceleration in mm/s^2 for retracts
594 595
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
595 596
 
596 597
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
@@ -627,10 +628,9 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
627 628
 
628 629
 #ifdef EEPROM_SETTINGS
629 630
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
630
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
631
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
631 632
 #endif
632 633
 
633
-
634 634
 // @section temperature
635 635
 
636 636
 // Preheat Constants
@@ -669,7 +669,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
669 669
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
670 670
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
671 671
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
672
-
673 672
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
674 673
 // http://reprap.org/wiki/PanelOne
675 674
 //#define PANEL_ONE
@@ -725,12 +724,16 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
725 724
 
726 725
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
727 726
 //#define LCD_I2C_VIKI
727
+  
728
+// SSD1306 OLED generic display support
729
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
730
+//#define U8GLIB_SSD1306
728 731
 
729 732
 // Shift register panels
730 733
 // ---------------------
731 734
 // 2 wire Non-latching LCD SR from:
732 735
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
733
-
736
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
734 737
 //#define SAV_3DLCD
735 738
 
736 739
 // @section extras
@@ -803,13 +806,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
803 806
 // Uncomment below to enable
804 807
 //#define FILAMENT_SENSOR
805 808
 
806
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
807
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
809
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
810
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
808 811
 
809
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
810
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
811
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
812
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
812
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
813
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
814
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
815
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
813 816
 
814 817
 //defines used in the code
815 818
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 48
- 44
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h Просмотреть файл

@@ -97,7 +97,7 @@ Here are some standard links for getting your machine calibrated:
97 97
 #define POWER_SUPPLY 1
98 98
 
99 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
100
-// #define PS_DEFAULT_OFF
100
+//#define PS_DEFAULT_OFF
101 101
 
102 102
 // @section temperature
103 103
 
@@ -205,21 +205,22 @@ Here are some standard links for getting your machine calibrated:
205 205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
206 206
   #define K1 0.95 //smoothing factor within the PID
207 207
 
208
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
-// Ultimaker
210
-    #define  DEFAULT_Kp 22.2
211
-    #define  DEFAULT_Ki 1.08
212
-    #define  DEFAULT_Kd 114
213
-
214
-// MakerGear
215
-//    #define  DEFAULT_Kp 7.0
216
-//    #define  DEFAULT_Ki 0.1
217
-//    #define  DEFAULT_Kd 12
218
-
219
-// Mendel Parts V9 on 12V
220
-//    #define  DEFAULT_Kp 63.0
221
-//    #define  DEFAULT_Ki 2.25
222
-//    #define  DEFAULT_Kd 440
208
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
+  // Ultimaker
210
+  #define  DEFAULT_Kp 22.2
211
+  #define  DEFAULT_Ki 1.08
212
+  #define  DEFAULT_Kd 114
213
+
214
+  // MakerGear
215
+  //#define  DEFAULT_Kp 7.0
216
+  //#define  DEFAULT_Ki 0.1
217
+  //#define  DEFAULT_Kd 12
218
+
219
+  // Mendel Parts V9 on 12V
220
+  //#define  DEFAULT_Kp 63.0
221
+  //#define  DEFAULT_Ki 2.25
222
+  //#define  DEFAULT_Kd 440
223
+
223 224
 #endif // PIDTEMP
224 225
 
225 226
 //===========================================================================
@@ -235,7 +236,7 @@ Here are some standard links for getting your machine calibrated:
235 236
 // shouldn't use bed PID until someone else verifies your hardware works.
236 237
 // If this is enabled, find your own PID constants below.
237 238
 //#define PIDTEMPBED
238
-//
239
+
239 240
 //#define BED_LIMIT_SWITCHING
240 241
 
241 242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -247,21 +248,22 @@ Here are some standard links for getting your machine calibrated:
247 248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248 249
 
249 250
 #ifdef PIDTEMPBED
250
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
251 251
 
252
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
253
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
254
-    #define  DEFAULT_bedKp 10.00
255
-    #define  DEFAULT_bedKi .023
256
-    #define  DEFAULT_bedKd 305.4
252
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
253
+
254
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
255
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
256
+  #define  DEFAULT_bedKp 10.00
257
+  #define  DEFAULT_bedKi .023
258
+  #define  DEFAULT_bedKd 305.4
257 259
 
258
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
259
-//from pidautotune
260
-//    #define  DEFAULT_bedKp 97.1
261
-//    #define  DEFAULT_bedKi 1.41
262
-//    #define  DEFAULT_bedKd 1675.16
260
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
261
+  //from pidautotune
262
+  //#define  DEFAULT_bedKp 97.1
263
+  //#define  DEFAULT_bedKi 1.41
264
+  //#define  DEFAULT_bedKd 1675.16
263 265
 
264
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
266
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
265 267
 #endif // PIDTEMPBED
266 268
 
267 269
 // @section extruder
@@ -305,7 +307,7 @@ Here are some standard links for getting your machine calibrated:
305 307
 // #define COREXY
306 308
 
307 309
 // Enable this option for Toshiba steppers
308
-// #define CONFIG_STEPPERS_TOSHIBA
310
+//#define CONFIG_STEPPERS_TOSHIBA
309 311
 
310 312
 // @section homing
311 313
 
@@ -334,7 +336,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
334 336
 //#define DISABLE_MAX_ENDSTOPS
335 337
 //#define DISABLE_MIN_ENDSTOPS
336 338
 
337
-// @section machine
338 339
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
339 340
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
340 341
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
@@ -407,7 +408,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
407 408
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
408 409
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
409 410
   #define FILAMENT_RUNOUT_SCRIPT "M600"
410
-#endif 
411
+#endif
411 412
 
412 413
 //===========================================================================
413 414
 //=========================== Manual Bed Leveling ===========================
@@ -499,7 +500,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
499 500
 
500 501
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
501 502
                                                                             //Useful to retract a deployable probe.
502
-                                                                           
503
+
503 504
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
504 505
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
505 506
 
@@ -522,8 +523,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
522 523
 
523 524
   #ifdef Z_SAFE_HOMING
524 525
 
525
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
526
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
526
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
527
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
527 528
 
528 529
   #endif
529 530
 
@@ -574,7 +575,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
574 575
 #define DEFAULT_MAX_ACCELERATION      {3000,3000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
575 576
 
576 577
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
577
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
578
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
578 579
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
579 580
 
580 581
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
@@ -611,10 +612,9 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
611 612
 
612 613
 #ifdef EEPROM_SETTINGS
613 614
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
614
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
615
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
615 616
 #endif
616 617
 
617
-
618 618
 // @section temperature
619 619
 
620 620
 // Preheat Constants
@@ -630,7 +630,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
630 630
 // @section lcd
631 631
 
632 632
 // Define your display language below. Replace (en) with your language code and uncomment.
633
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
633
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
634 634
 // See also language.h
635 635
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
636 636
 
@@ -708,12 +708,16 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
708 708
 
709 709
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
710 710
 //#define LCD_I2C_VIKI
711
+  
712
+// SSD1306 OLED generic display support
713
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
714
+//#define U8GLIB_SSD1306
711 715
 
712 716
 // Shift register panels
713 717
 // ---------------------
714 718
 // 2 wire Non-latching LCD SR from:
715 719
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
716
-
720
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
717 721
 //#define SAV_3DLCD
718 722
 
719 723
 // @section extras
@@ -789,10 +793,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
789 793
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
790 794
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
791 795
 
792
-#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
793
-#define MEASURED_UPPER_LIMIT         3.3 //upper limit factor used for sensor reading validation in mm
794
-#define MEASURED_LOWER_LIMIT         1.9 //lower limit factor for sensor reading validation in mm
795
-#define MAX_MEASUREMENT_DELAY       20   //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
796
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
797
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
798
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
799
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
796 800
 
797 801
 //defines used in the code
798 802
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 118
- 68
Marlin/example_configurations/SCARA/Configuration.h Просмотреть файл

@@ -84,6 +84,7 @@ Here are some standard links for getting your machine calibrated:
84 84
 #define SERIAL_PORT 0
85 85
 
86 86
 // This determines the communication speed of the printer
87
+// :[2400,9600,19200,38400,57600,115200,250000]
87 88
 #define BAUDRATE 250000
88 89
 
89 90
 // This enables the serial port associated to the Bluetooth interface
@@ -104,16 +105,26 @@ Here are some standard links for getting your machine calibrated:
104 105
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
105 106
 
106 107
 // This defines the number of extruders
108
+// :[1,2,3,4]
107 109
 #define EXTRUDERS 1
108 110
 
111
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
112
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
113
+// For the other hotends it is their distance from the extruder 0 hotend.
114
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
115
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
116
+
109 117
 //// The following define selects which power supply you have. Please choose the one that matches your setup
110 118
 // 1 = ATX
111 119
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
120
+// :{1:'ATX',2:'X-Box 360'}
112 121
 
113 122
 #define POWER_SUPPLY 1
114 123
 
115 124
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
116
-// #define PS_DEFAULT_OFF
125
+//#define PS_DEFAULT_OFF
126
+
127
+// @section temperature
117 128
 
118 129
 //===========================================================================
119 130
 //============================= Thermal Settings ============================
@@ -219,31 +230,31 @@ Here are some standard links for getting your machine calibrated:
219 230
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
220 231
   #define K1 0.95 //smoothing factor within the PID
221 232
 
222
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
223
-// Ultimaker
224
-//    #define  DEFAULT_Kp 22.2
225
-//    #define  DEFAULT_Ki 1.08
226
-//    #define  DEFAULT_Kd 114
227
-
228
-// MakerGear
229
-//    #define  DEFAULT_Kp 7.0
230
-//    #define  DEFAULT_Ki 0.1
231
-//    #define  DEFAULT_Kd 12
232
-
233
-// Mendel Parts V9 on 12V
234
-//    #define  DEFAULT_Kp 63.0
235
-//    #define  DEFAULT_Ki 2.25
236
-//    #define  DEFAULT_Kd 440
233
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
234
+  // Ultimaker
235
+  //#define  DEFAULT_Kp 22.2
236
+  //#define  DEFAULT_Ki 1.08
237
+  //#define  DEFAULT_Kd 114
238
+
239
+  // MakerGear
240
+  //#define  DEFAULT_Kp 7.0
241
+  //#define  DEFAULT_Ki 0.1
242
+  //#define  DEFAULT_Kd 12
243
+
244
+  // Mendel Parts V9 on 12V
245
+  //#define  DEFAULT_Kp 63.0
246
+  //#define  DEFAULT_Ki 2.25
247
+  //#define  DEFAULT_Kd 440
237 248
   
238
-// Jhead MK5: From Autotune
239
-//    #define  DEFAULT_Kp 20.92
240
-//    #define  DEFAULT_Ki 1.51
241
-//    #define  DEFAULT_Kd 72.34
249
+  // Jhead MK5: From Autotune
250
+  //#define  DEFAULT_Kp 20.92
251
+  //#define  DEFAULT_Ki 1.51
252
+  //#define  DEFAULT_Kd 72.34
242 253
     
243
-// Merlin Hotend: From Autotune
244
-    #define  DEFAULT_Kp 24.5
245
-    #define  DEFAULT_Ki 1.72
246
-    #define  DEFAULT_Kd 87.73
254
+  // Merlin Hotend: From Autotune
255
+  #define  DEFAULT_Kp 24.5
256
+  #define  DEFAULT_Ki 1.72
257
+  #define  DEFAULT_Kd 87.73
247 258
 
248 259
 #endif // PIDTEMP
249 260
 
@@ -260,7 +271,7 @@ Here are some standard links for getting your machine calibrated:
260 271
 // shouldn't use bed PID until someone else verifies your hardware works.
261 272
 // If this is enabled, find your own PID constants below.
262 273
 #define PIDTEMPBED
263
-//
274
+
264 275
 #define BED_LIMIT_SWITCHING
265 276
 
266 277
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -272,29 +283,31 @@ Here are some standard links for getting your machine calibrated:
272 283
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
273 284
 
274 285
 #ifdef PIDTEMPBED
275
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
276
-
277
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
278
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
279
-//    #define  DEFAULT_bedKp 10.00
280
-//    #define  DEFAULT_bedKi .023
281
-//    #define  DEFAULT_bedKd 305.4
282
-
283
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
284
-//from pidautotune
285
-//    #define  DEFAULT_bedKp 97.1
286
-//    #define  DEFAULT_bedKi 1.41
287
-//    #define  DEFAULT_bedKd 1675.16
288
-
289
-//12v Heatbed Mk3 12V in parallel
290
-//from pidautotune
291
-    #define  DEFAULT_bedKp 630.14
292
-    #define  DEFAULT_bedKi 121.71
293
-    #define  DEFAULT_bedKd 815.64
286
+
287
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
288
+
289
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
290
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
291
+  //#define  DEFAULT_bedKp 10.00
292
+  //#define  DEFAULT_bedKi .023
293
+  //#define  DEFAULT_bedKd 305.4
294
+
295
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
296
+  //from pidautotune
297
+  //#define  DEFAULT_bedKp 97.1
298
+  //#define  DEFAULT_bedKi 1.41
299
+  //#define  DEFAULT_bedKd 1675.16
300
+
301
+  //12v Heatbed Mk3 12V in parallel
302
+  //from pidautotune
303
+  #define  DEFAULT_bedKp 630.14
304
+  #define  DEFAULT_bedKi 121.71
305
+  #define  DEFAULT_bedKd 815.64
294 306
     
295
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
307
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
296 308
 #endif // PIDTEMPBED
297 309
 
310
+// @section extruder
298 311
 
299 312
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
300 313
 //can be software-disabled for whatever purposes by
@@ -329,11 +342,15 @@ Here are some standard links for getting your machine calibrated:
329 342
 //============================= Mechanical Settings =========================
330 343
 //===========================================================================
331 344
 
345
+// @section machine
346
+
332 347
 // Uncomment this option to enable CoreXY kinematics
333 348
 // #define COREXY
334 349
 
335 350
 // Enable this option for Toshiba steppers
336
-// #define CONFIG_STEPPERS_TOSHIBA
351
+//#define CONFIG_STEPPERS_TOSHIBA
352
+
353
+// @section homing
337 354
 
338 355
 // coarse Endstop Settings
339 356
 //#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -346,6 +363,7 @@ Here are some standard links for getting your machine calibrated:
346 363
    #define ENDSTOPPULLUP_XMIN  // open pin, inverted
347 364
    #define ENDSTOPPULLUP_YMIN  // open pin, inverted
348 365
   // #define ENDSTOPPULLUP_ZMIN
366
+  // #define ENDSTOPPULLUP_ZPROBE
349 367
 #endif
350 368
 
351 369
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -359,7 +377,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
359 377
 //#define DISABLE_MAX_ENDSTOPS
360 378
 //#define DISABLE_MIN_ENDSTOPS
361 379
 
380
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
381
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
382
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
383
+// this has no effect.
384
+//#define DISABLE_Z_PROBE_ENDSTOP
385
+
362 386
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
387
+// :{0:'Low',1:'High'}
363 388
 #define X_ENABLE_ON 0
364 389
 #define Y_ENABLE_ON 0
365 390
 #define Z_ENABLE_ON 0
@@ -370,20 +395,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
370 395
 #define DISABLE_X false
371 396
 #define DISABLE_Y false
372 397
 #define DISABLE_Z false
398
+
399
+// @section extruder
400
+
373 401
 #define DISABLE_E false // For all extruders
374 402
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
375 403
 
404
+// @section machine
405
+
376 406
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
377 407
 #define INVERT_X_DIR false
378 408
 #define INVERT_Y_DIR false
379 409
 #define INVERT_Z_DIR true
410
+
411
+// @section extruder
412
+
413
+// For direct drive extruder v9 set to true, for geared extruder set to false.
380 414
 #define INVERT_E0_DIR false
381 415
 #define INVERT_E1_DIR false
382 416
 #define INVERT_E2_DIR false
383 417
 #define INVERT_E3_DIR false
384 418
 
419
+// @section homing
420
+
385 421
 // ENDSTOP SETTINGS:
386 422
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
423
+// :[-1,1]
387 424
 #define X_HOME_DIR 1
388 425
 #define Y_HOME_DIR 1
389 426
 #define Z_HOME_DIR -1
@@ -391,6 +428,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
391 428
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
392 429
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
393 430
 
431
+// @section machine
432
+
394 433
 // Travel limits after homing (units are in mm)
395 434
 #define X_MIN_POS 0
396 435
 #define Y_MIN_POS 0
@@ -410,8 +449,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
410 449
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
411 450
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
412 451
   #define FILAMENT_RUNOUT_SCRIPT "M600"
413
-#endif 
414
-  
452
+#endif
453
+
415 454
 //===========================================================================
416 455
 //=========================== Manual Bed Leveling ===========================
417 456
 //===========================================================================
@@ -420,7 +459,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
420 459
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
421 460
 
422 461
 #ifdef MANUAL_BED_LEVELING
423
-  #define MBL_Z_STEP 0.025
462
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
424 463
 #endif  // MANUAL_BED_LEVELING
425 464
 
426 465
 #ifdef MESH_BED_LEVELING
@@ -437,6 +476,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
437 476
 //============================ Bed Auto Leveling ============================
438 477
 //===========================================================================
439 478
 
479
+// @section bedlevel
480
+
440 481
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
441 482
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
442 483
 
@@ -500,7 +541,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
500 541
 
501 542
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
502 543
                                                                             //Useful to retract a deployable probe.
503
-                                                                           
544
+
504 545
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
505 546
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
506 547
 
@@ -523,8 +564,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
523 564
 
524 565
   #ifdef Z_SAFE_HOMING
525 566
 
526
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
527
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
567
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
568
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
528 569
 
529 570
   #endif
530 571
 
@@ -545,6 +586,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
545 586
 #endif // ENABLE_AUTO_BED_LEVELING
546 587
 
547 588
 
589
+// @section homing
590
+
548 591
 // The position of the homing switches
549 592
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
550 593
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -558,6 +601,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
558 601
   #define MANUAL_Z_HOME_POS 0.1  // Distance between nozzle and print surface after homing.
559 602
 #endif
560 603
 
604
+// @section movement
605
+
561 606
 /**
562 607
  * MOVEMENT SETTINGS
563 608
  */
@@ -574,12 +619,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
574 619
 #define DEFAULT_RETRACT_ACCELERATION  2000   // E acceleration in mm/s^2 for retracts
575 620
 #define DEFAULT_TRAVEL_ACCELERATION   400    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
576 621
 
577
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
578
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
579
-// For the other hotends it is their distance from the extruder 0 hotend.
580
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
581
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
582
-
583 622
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
584 623
 #define DEFAULT_XYJERK                5    // (mm/sec)
585 624
 #define DEFAULT_ZJERK                 0.4    // (mm/sec)
@@ -590,6 +629,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
590 629
 //============================= Additional Features ===========================
591 630
 //=============================================================================
592 631
 
632
+// @section more
633
+
593 634
 // Custom M code points
594 635
 //#define CUSTOM_M_CODES
595 636
 #ifdef CUSTOM_M_CODES
@@ -600,6 +641,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
600 641
   #endif
601 642
 #endif
602 643
 
644
+// @section extras
603 645
 
604 646
 // EEPROM
605 647
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -611,9 +653,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
611 653
 
612 654
 #ifdef EEPROM_SETTINGS
613 655
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
614
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
656
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
615 657
 #endif
616 658
 
659
+// @section temperature
660
+
617 661
 // Preheat Constants
618 662
 #define PLA_PREHEAT_HOTEND_TEMP 180
619 663
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -624,6 +668,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
624 668
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
625 669
 
626 670
 //==============================LCD and SD support=============================
671
+// @section lcd
627 672
 
628 673
 // Define your display language below. Replace (en) with your language code and uncomment.
629 674
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
@@ -649,7 +694,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
649 694
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
650 695
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
651 696
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
652
-
653 697
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
654 698
 // http://reprap.org/wiki/PanelOne
655 699
 //#define PANEL_ONE
@@ -705,14 +749,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
705 749
 
706 750
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
707 751
 //#define LCD_I2C_VIKI
752
+  
753
+// SSD1306 OLED generic display support
754
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
755
+//#define U8GLIB_SSD1306
708 756
 
709 757
 // Shift register panels
710 758
 // ---------------------
711 759
 // 2 wire Non-latching LCD SR from:
712 760
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
713
-
761
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
714 762
 //#define SAV_3DLCD
715 763
 
764
+// @section extras
765
+
716 766
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
717 767
 //#define FAST_PWM_FAN
718 768
 
@@ -736,7 +786,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
736 786
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
737 787
 // #define PHOTOGRAPH_PIN     23
738 788
 
739
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
789
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
740 790
 //#define SF_ARC_FIX
741 791
 
742 792
 // Support for the BariCUDA Paste Extruder.
@@ -781,13 +831,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
781 831
 // Uncomment below to enable
782 832
 //#define FILAMENT_SENSOR
783 833
 
784
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
785
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
834
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
835
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
786 836
 
787
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
788
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
789
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
790
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
837
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
838
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
839
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
840
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
791 841
 
792 842
 //defines used in the code
793 843
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 113
- 60
Marlin/example_configurations/WITBOX/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 115200
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -66,7 +67,9 @@ Here are some standard links for getting your machine calibrated:
66 67
 
67 68
 // The following define selects which electronics board you have.
68 69
 // Please choose the name from boards.h that matches your setup
69
-#define MOTHERBOARD BOARD_RAMPS_13_EFB
70
+#ifndef MOTHERBOARD
71
+  #define MOTHERBOARD BOARD_RAMPS_13_EFB
72
+#endif
70 73
 
71 74
 // Optional custom name for your RepStrap or other custom machine
72 75
 // Displayed in the LCD "Ready" message
@@ -80,16 +83,26 @@ Here are some standard links for getting your machine calibrated:
80 83
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
81 84
 
82 85
 // This defines the number of extruders
86
+// :[1,2,3,4]
83 87
 #define EXTRUDERS 1
84 88
 
89
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
90
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
91
+// For the other hotends it is their distance from the extruder 0 hotend.
92
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
93
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
94
+
85 95
 //// The following define selects which power supply you have. Please choose the one that matches your setup
86 96
 // 1 = ATX
87 97
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
98
+// :{1:'ATX',2:'X-Box 360'}
88 99
 
89 100
 #define POWER_SUPPLY 1
90 101
 
91 102
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
92
-// #define PS_DEFAULT_OFF
103
+//#define PS_DEFAULT_OFF
104
+
105
+// @section temperature
93 106
 
94 107
 //===========================================================================
95 108
 //============================= Thermal Settings ============================
@@ -195,26 +208,27 @@ Here are some standard links for getting your machine calibrated:
195 208
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
196 209
   #define K1 0.95 //smoothing factor within the PID
197 210
 
198
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
199
-// Ultimaker
200
-//  #define  DEFAULT_Kp 22.2
201
-//  #define  DEFAULT_Ki 1.08
202
-//  #define  DEFAULT_Kd 114
203
-
204
-// MakerGear
205
-//    #define  DEFAULT_Kp 7.0
206
-//    #define  DEFAULT_Ki 0.1
207
-//    #define  DEFAULT_Kd 12
208
-
209
-// Mendel Parts V9 on 12V
210
-//    #define  DEFAULT_Kp 63.0
211
-//    #define  DEFAULT_Ki 2.25
212
-//    #define  DEFAULT_Kd 440
213
-
214
-// Witbox
215
-      #define  DEFAULT_Kp 22.2
216
-      #define  DEFAULT_Ki 1.08
217
-      #define  DEFAULT_Kd 114
211
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
212
+  // Ultimaker
213
+  //#define  DEFAULT_Kp 22.2
214
+  //#define  DEFAULT_Ki 1.08
215
+  //#define  DEFAULT_Kd 114
216
+
217
+  // MakerGear
218
+  //#define  DEFAULT_Kp 7.0
219
+  //#define  DEFAULT_Ki 0.1
220
+  //#define  DEFAULT_Kd 12
221
+
222
+  // Mendel Parts V9 on 12V
223
+  //#define  DEFAULT_Kp 63.0
224
+  //#define  DEFAULT_Ki 2.25
225
+  //#define  DEFAULT_Kd 440
226
+
227
+  // Witbox
228
+  #define  DEFAULT_Kp 22.2
229
+  #define  DEFAULT_Ki 1.08
230
+  #define  DEFAULT_Kd 114
231
+
218 232
 #endif // PIDTEMP
219 233
 
220 234
 //===========================================================================
@@ -230,7 +244,7 @@ Here are some standard links for getting your machine calibrated:
230 244
 // shouldn't use bed PID until someone else verifies your hardware works.
231 245
 // If this is enabled, find your own PID constants below.
232 246
 //#define PIDTEMPBED
233
-//
247
+
234 248
 //#define BED_LIMIT_SWITCHING
235 249
 
236 250
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -242,23 +256,25 @@ Here are some standard links for getting your machine calibrated:
242 256
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
243 257
 
244 258
 #ifdef PIDTEMPBED
245
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
246 259
 
247
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
248
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
249
-    #define  DEFAULT_bedKp 10.00
250
-    #define  DEFAULT_bedKi .023
251
-    #define  DEFAULT_bedKd 305.4
260
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
261
+
262
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
263
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
264
+  #define  DEFAULT_bedKp 10.00
265
+  #define  DEFAULT_bedKi .023
266
+  #define  DEFAULT_bedKd 305.4
252 267
 
253
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
254
-//from pidautotune
255
-//    #define  DEFAULT_bedKp 97.1
256
-//    #define  DEFAULT_bedKi 1.41
257
-//    #define  DEFAULT_bedKd 1675.16
268
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
269
+  //from pidautotune
270
+  //#define  DEFAULT_bedKp 97.1
271
+  //#define  DEFAULT_bedKi 1.41
272
+  //#define  DEFAULT_bedKd 1675.16
258 273
 
259
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
274
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
260 275
 #endif // PIDTEMPBED
261 276
 
277
+// @section extruder
262 278
 
263 279
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
264 280
 //can be software-disabled for whatever purposes by
@@ -293,11 +309,15 @@ Here are some standard links for getting your machine calibrated:
293 309
 //============================= Mechanical Settings =========================
294 310
 //===========================================================================
295 311
 
312
+// @section machine
313
+
296 314
 // Uncomment this option to enable CoreXY kinematics
297 315
 // #define COREXY
298 316
 
299 317
 // Enable this option for Toshiba steppers
300
-// #define CONFIG_STEPPERS_TOSHIBA
318
+//#define CONFIG_STEPPERS_TOSHIBA
319
+
320
+// @section homing
301 321
 
302 322
 // coarse Endstop Settings
303 323
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -310,6 +330,7 @@ Here are some standard links for getting your machine calibrated:
310 330
   // #define ENDSTOPPULLUP_XMIN
311 331
   // #define ENDSTOPPULLUP_YMIN
312 332
   // #define ENDSTOPPULLUP_ZMIN
333
+  // #define ENDSTOPPULLUP_ZPROBE
313 334
 #endif
314 335
 
315 336
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -323,7 +344,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
323 344
 //#define DISABLE_MAX_ENDSTOPS
324 345
 //#define DISABLE_MIN_ENDSTOPS
325 346
 
347
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
348
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
349
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
350
+// this has no effect.
351
+//#define DISABLE_Z_PROBE_ENDSTOP
352
+
326 353
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
354
+// :{0:'Low',1:'High'}
327 355
 #define X_ENABLE_ON 0
328 356
 #define Y_ENABLE_ON 0
329 357
 #define Z_ENABLE_ON 0
@@ -334,20 +362,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
334 362
 #define DISABLE_X false
335 363
 #define DISABLE_Y false
336 364
 #define DISABLE_Z true
365
+
366
+// @section extruder
367
+
337 368
 #define DISABLE_E false // For all extruders
338 369
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
339 370
 
371
+// @section machine
372
+
340 373
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
341 374
 #define INVERT_X_DIR true
342 375
 #define INVERT_Y_DIR false
343 376
 #define INVERT_Z_DIR true
377
+
378
+// @section extruder
379
+
380
+// For direct drive extruder v9 set to true, for geared extruder set to false.
344 381
 #define INVERT_E0_DIR false
345 382
 #define INVERT_E1_DIR false
346 383
 #define INVERT_E2_DIR false
347 384
 #define INVERT_E3_DIR false
348 385
 
386
+// @section homing
387
+
349 388
 // ENDSTOP SETTINGS:
350 389
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
390
+// :[-1,1]
351 391
 #define X_HOME_DIR 1
352 392
 #define Y_HOME_DIR 1
353 393
 #define Z_HOME_DIR -1
@@ -355,6 +395,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
355 395
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
356 396
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
357 397
 
398
+// @section machine
399
+
358 400
 // Travel limits after homing (units are in mm)
359 401
 #define X_MIN_POS 0
360 402
 #define Y_MIN_POS 0
@@ -374,8 +416,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
374 416
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
375 417
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
376 418
   #define FILAMENT_RUNOUT_SCRIPT "M600"
377
-#endif 
378
-  
419
+#endif
420
+
379 421
 //===========================================================================
380 422
 //=========================== Manual Bed Leveling ===========================
381 423
 //===========================================================================
@@ -384,7 +426,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
384 426
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
385 427
 
386 428
 #ifdef MANUAL_BED_LEVELING
387
-  #define MBL_Z_STEP 0.025
429
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
388 430
 #endif  // MANUAL_BED_LEVELING
389 431
 
390 432
 #ifdef MESH_BED_LEVELING
@@ -401,6 +443,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
401 443
 //============================ Bed Auto Leveling ============================
402 444
 //===========================================================================
403 445
 
446
+// @section bedlevel
447
+
404 448
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
405 449
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
406 450
 
@@ -464,7 +508,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
464 508
 
465 509
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
466 510
                                                                             //Useful to retract a deployable probe.
467
-                                                                           
511
+
468 512
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
469 513
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
470 514
 
@@ -487,8 +531,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
487 531
 
488 532
   #ifdef Z_SAFE_HOMING
489 533
 
490
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
491
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
534
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
535
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
492 536
 
493 537
   #endif
494 538
 
@@ -509,6 +553,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
509 553
 #endif // ENABLE_AUTO_BED_LEVELING
510 554
 
511 555
 
556
+// @section homing
557
+
512 558
 // The position of the homing switches
513 559
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
514 560
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -522,6 +568,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
522 568
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
523 569
 #endif
524 570
 
571
+// @section movement
572
+
525 573
 /**
526 574
  * MOVEMENT SETTINGS
527 575
  */
@@ -535,15 +583,9 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
535 583
 #define DEFAULT_MAX_ACCELERATION      {1000,1000,10,1000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
536 584
 
537 585
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
538
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
586
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
539 587
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
540 588
 
541
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
542
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
543
-// For the other hotends it is their distance from the extruder 0 hotend.
544
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
545
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
546
-
547 589
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
548 590
 #define DEFAULT_XYJERK                10.0    // (mm/sec)
549 591
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
@@ -554,6 +596,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
554 596
 //============================= Additional Features ===========================
555 597
 //=============================================================================
556 598
 
599
+// @section more
600
+
557 601
 // Custom M code points
558 602
 #define CUSTOM_M_CODES
559 603
 #ifdef CUSTOM_M_CODES
@@ -564,6 +608,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
564 608
   #endif
565 609
 #endif
566 610
 
611
+// @section extras
567 612
 
568 613
 // EEPROM
569 614
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -575,9 +620,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
575 620
 
576 621
 #ifdef EEPROM_SETTINGS
577 622
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
578
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
623
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
579 624
 #endif
580 625
 
626
+// @section temperature
627
+
581 628
 // Preheat Constants
582 629
 #define PLA_PREHEAT_HOTEND_TEMP 200
583 630
 #define PLA_PREHEAT_HPB_TEMP 0
@@ -588,6 +635,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
588 635
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
589 636
 
590 637
 //==============================LCD and SD support=============================
638
+// @section lcd
591 639
 
592 640
 // Define your display language below. Replace (en) with your language code and uncomment.
593 641
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
@@ -613,7 +661,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
613 661
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
614 662
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
615 663
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
616
-
617 664
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
618 665
 // http://reprap.org/wiki/PanelOne
619 666
 //#define PANEL_ONE
@@ -669,14 +716,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
669 716
 
670 717
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
671 718
 //#define LCD_I2C_VIKI
719
+  
720
+// SSD1306 OLED generic display support
721
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
722
+//#define U8GLIB_SSD1306
672 723
 
673 724
 // Shift register panels
674 725
 // ---------------------
675 726
 // 2 wire Non-latching LCD SR from:
676 727
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
677
-
728
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
678 729
 //#define SAV_3DLCD
679 730
 
731
+// @section extras
732
+
680 733
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
681 734
 //#define FAST_PWM_FAN
682 735
 
@@ -700,7 +753,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
700 753
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
701 754
 // #define PHOTOGRAPH_PIN     23
702 755
 
703
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
756
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
704 757
 //#define SF_ARC_FIX
705 758
 
706 759
 // Support for the BariCUDA Paste Extruder.
@@ -745,16 +798,16 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
745 798
 // Uncomment below to enable
746 799
 //#define FILAMENT_SENSOR
747 800
 
748
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
749
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
801
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
802
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
750 803
 
751
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
752
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
753
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
754
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
804
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
805
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
806
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
807
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
755 808
 
756 809
 //defines used in the code
757
-#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
810
+#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
758 811
 
759 812
 //When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status.  Status will appear for 5 sec.
760 813
 //#define FILAMENT_LCD_DISPLAY

+ 27
- 20
Marlin/example_configurations/adafruit/ST7565/Configuration.h Просмотреть файл

@@ -97,7 +97,7 @@ Here are some standard links for getting your machine calibrated:
97 97
 #define POWER_SUPPLY 1
98 98
 
99 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
100
-// #define PS_DEFAULT_OFF
100
+//#define PS_DEFAULT_OFF
101 101
 
102 102
 // @section temperature
103 103
 
@@ -235,7 +235,7 @@ Here are some standard links for getting your machine calibrated:
235 235
 // shouldn't use bed PID until someone else verifies your hardware works.
236 236
 // If this is enabled, find your own PID constants below.
237 237
 //#define PIDTEMPBED
238
-//
238
+
239 239
 //#define BED_LIMIT_SWITCHING
240 240
 
241 241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -247,17 +247,20 @@ Here are some standard links for getting your machine calibrated:
247 247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248 248
 
249 249
 #ifdef PIDTEMPBED
250
+
251
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
252
+
250 253
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
251 254
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
252
-    #define  DEFAULT_bedKp 10.00
253
-    #define  DEFAULT_bedKi .023
254
-    #define  DEFAULT_bedKd 305.4
255
+  #define  DEFAULT_bedKp 10.00
256
+  #define  DEFAULT_bedKi .023
257
+  #define  DEFAULT_bedKd 305.4
255 258
 
256 259
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
257 260
 //from pidautotune
258
-//    #define  DEFAULT_bedKp 97.1
259
-//    #define  DEFAULT_bedKi 1.41
260
-//    #define  DEFAULT_bedKd 1675.16
261
+  //#define  DEFAULT_bedKp 97.1
262
+  //#define  DEFAULT_bedKi 1.41
263
+  //#define  DEFAULT_bedKd 1675.16
261 264
 
262 265
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
263 266
 #endif // PIDTEMPBED
@@ -303,7 +306,7 @@ Here are some standard links for getting your machine calibrated:
303 306
 // #define COREXY
304 307
 
305 308
 // Enable this option for Toshiba steppers
306
-// #define CONFIG_STEPPERS_TOSHIBA
309
+//#define CONFIG_STEPPERS_TOSHIBA
307 310
 
308 311
 // @section homing
309 312
 
@@ -332,7 +335,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
332 335
 //#define DISABLE_MAX_ENDSTOPS
333 336
 //#define DISABLE_MIN_ENDSTOPS
334 337
 
335
-// @section machine
336 338
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
337 339
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
338 340
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
@@ -405,7 +407,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
405 407
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
406 408
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
407 409
   #define FILAMENT_RUNOUT_SCRIPT "M600"
408
-#endif 
410
+#endif
409 411
 
410 412
 //===========================================================================
411 413
 //=========================== Manual Bed Leveling ===========================
@@ -497,7 +499,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
497 499
 
498 500
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
499 501
                                                                             //Useful to retract a deployable probe.
500
-                                                                           
502
+
501 503
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
502 504
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
503 505
 
@@ -520,8 +522,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
520 522
 
521 523
   #ifdef Z_SAFE_HOMING
522 524
 
523
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
524
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
525
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
526
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
525 527
 
526 528
   #endif
527 529
 
@@ -572,7 +574,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
572 574
 #define DEFAULT_MAX_ACCELERATION      {3000,3000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
573 575
 
574 576
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
575
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
577
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
576 578
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
577 579
 
578 580
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
@@ -668,6 +670,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
668 670
 //
669 671
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
670 672
 #define ELB_FULL_GRAPHIC_CONTROLLER
673
+//#define SDCARDDETECTINVERTED
671 674
 
672 675
 // The RepRapDiscount Smart Controller (white PCB)
673 676
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
@@ -704,12 +707,16 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
704 707
 
705 708
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
706 709
 //#define LCD_I2C_VIKI
710
+  
711
+// SSD1306 OLED generic display support
712
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
713
+//#define U8GLIB_SSD1306
707 714
 
708 715
 // Shift register panels
709 716
 // ---------------------
710 717
 // 2 wire Non-latching LCD SR from:
711 718
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
712
-
719
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
713 720
 //#define SAV_3DLCD
714 721
 
715 722
 // @section extras
@@ -785,10 +792,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
785 792
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
786 793
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
787 794
 
788
-#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
789
-#define MEASURED_UPPER_LIMIT         3.3 //upper limit factor used for sensor reading validation in mm
790
-#define MEASURED_LOWER_LIMIT         1.9 //lower limit factor for sensor reading validation in mm
791
-#define MAX_MEASUREMENT_DELAY       20   //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
795
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
796
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
797
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
798
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
792 799
 
793 800
 //defines used in the code
794 801
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 221
- 99
Marlin/example_configurations/delta/biv2.5/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 250000
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -79,49 +80,26 @@ Here are some standard links for getting your machine calibrated:
79 80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80 81
 
81 82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82 84
 #define EXTRUDERS 2
83 85
 
86
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
87
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
88
+// For the other hotends it is their distance from the extruder 0 hotend.
89
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
90
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
91
+
84 92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85 93
 // 1 = ATX
86 94
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
95
+// :{1:'ATX',2:'X-Box 360'}
87 96
 
88 97
 #define POWER_SUPPLY 1
89 98
 
90 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
91
-// #define PS_DEFAULT_OFF
92
-
93
-
94
-//===========================================================================
95
-//============================== Delta Settings =============================
96
-//===========================================================================
97
-// Enable DELTA kinematics and most of the default configuration for Deltas
98
-#define DELTA
99
-
100
-// Make delta curves from many straight lines (linear interpolation).
101
-// This is a trade-off between visible corners (not enough segments)
102
-// and processor overload (too many expensive sqrt calls).
103
-#define DELTA_SEGMENTS_PER_SECOND 100
104
-
105
-// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
106
-
107
-// Center-to-center distance of the holes in the diagonal push rods.
108
-#define DELTA_DIAGONAL_ROD 440.0 // mm
109
-
110
-// Horizontal offset from middle of printer to smooth rod center.
111
-#define DELTA_SMOOTH_ROD_OFFSET 330.0 // mm
112
-
113
-// Horizontal offset of the universal joints on the end effector.
114
-#define DELTA_EFFECTOR_OFFSET 50.0 // mm
115
-
116
-// Horizontal offset of the universal joints on the carriages.
117
-#define DELTA_CARRIAGE_OFFSET 20.0 // mm
118
-
119
-// Horizontal distance bridged by diagonal push rods when effector is centered.
120
-#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
121
-
122
-// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
123
-#define DELTA_PRINTABLE_RADIUS 160
100
+//#define PS_DEFAULT_OFF
124 101
 
102
+// @section temperature
125 103
 
126 104
 //===========================================================================
127 105
 //============================= Thermal Settings ============================
@@ -227,21 +205,22 @@ Here are some standard links for getting your machine calibrated:
227 205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
228 206
   #define K1 0.95 //smoothing factor within the PID
229 207
 
230
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
231
-// Ultimaker
232
-    #define  DEFAULT_Kp 22.2
233
-    #define  DEFAULT_Ki 1.08
234
-    #define  DEFAULT_Kd 114
235
-
236
-// MakerGear
237
-//    #define  DEFAULT_Kp 7.0
238
-//    #define  DEFAULT_Ki 0.1
239
-//    #define  DEFAULT_Kd 12
240
-
241
-// Mendel Parts V9 on 12V
242
-//    #define  DEFAULT_Kp 63.0
243
-//    #define  DEFAULT_Ki 2.25
244
-//    #define  DEFAULT_Kd 440
208
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
+  // Ultimaker
210
+  #define  DEFAULT_Kp 22.2
211
+  #define  DEFAULT_Ki 1.08
212
+  #define  DEFAULT_Kd 114
213
+
214
+  // MakerGear
215
+  //#define  DEFAULT_Kp 7.0
216
+  //#define  DEFAULT_Ki 0.1
217
+  //#define  DEFAULT_Kd 12
218
+
219
+  // Mendel Parts V9 on 12V
220
+  //#define  DEFAULT_Kp 63.0
221
+  //#define  DEFAULT_Ki 2.25
222
+  //#define  DEFAULT_Kd 440
223
+
245 224
 #endif // PIDTEMP
246 225
 
247 226
 //===========================================================================
@@ -257,7 +236,7 @@ Here are some standard links for getting your machine calibrated:
257 236
 // shouldn't use bed PID until someone else verifies your hardware works.
258 237
 // If this is enabled, find your own PID constants below.
259 238
 //#define PIDTEMPBED
260
-//
239
+
261 240
 //#define BED_LIMIT_SWITCHING
262 241
 
263 242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -269,23 +248,25 @@ Here are some standard links for getting your machine calibrated:
269 248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
270 249
 
271 250
 #ifdef PIDTEMPBED
272
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
273 251
 
274
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
275
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
276
-    #define  DEFAULT_bedKp 10.00
277
-    #define  DEFAULT_bedKi .023
278
-    #define  DEFAULT_bedKd 305.4
252
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
253
+
254
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
255
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
256
+  #define  DEFAULT_bedKp 10.00
257
+  #define  DEFAULT_bedKi .023
258
+  #define  DEFAULT_bedKd 305.4
279 259
 
280
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
281
-//from pidautotune
282
-//    #define  DEFAULT_bedKp 97.1
283
-//    #define  DEFAULT_bedKi 1.41
284
-//    #define  DEFAULT_bedKd 1675.16
260
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
261
+  //from pidautotune
262
+  //#define  DEFAULT_bedKp 97.1
263
+  //#define  DEFAULT_bedKi 1.41
264
+  //#define  DEFAULT_bedKd 1675.16
285 265
 
286
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
266
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
287 267
 #endif // PIDTEMPBED
288 268
 
269
+// @section extruder
289 270
 
290 271
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
291 272
 //can be software-disabled for whatever purposes by
@@ -320,11 +301,50 @@ Here are some standard links for getting your machine calibrated:
320 301
 //============================= Mechanical Settings =========================
321 302
 //===========================================================================
322 303
 
304
+// @section machine
305
+
323 306
 // Uncomment this option to enable CoreXY kinematics
324 307
 // #define COREXY
325 308
 
309
+//===========================================================================
310
+//============================== Delta Settings =============================
311
+//===========================================================================
312
+// Enable DELTA kinematics and most of the default configuration for Deltas
313
+#define DELTA
314
+
315
+#ifdef DELTA
316
+
317
+  // Make delta curves from many straight lines (linear interpolation).
318
+  // This is a trade-off between visible corners (not enough segments)
319
+  // and processor overload (too many expensive sqrt calls).
320
+  #define DELTA_SEGMENTS_PER_SECOND 100
321
+
322
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
323
+
324
+  // Center-to-center distance of the holes in the diagonal push rods.
325
+  #define DELTA_DIAGONAL_ROD 440.0 // mm
326
+
327
+  // Horizontal offset from middle of printer to smooth rod center.
328
+  #define DELTA_SMOOTH_ROD_OFFSET 330.0 // mm
329
+
330
+  // Horizontal offset of the universal joints on the end effector.
331
+  #define DELTA_EFFECTOR_OFFSET 50.0 // mm
332
+
333
+  // Horizontal offset of the universal joints on the carriages.
334
+  #define DELTA_CARRIAGE_OFFSET 20.0 // mm
335
+
336
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
337
+  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
338
+
339
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
340
+  #define DELTA_PRINTABLE_RADIUS 160
341
+
342
+#endif
343
+
326 344
 // Enable this option for Toshiba steppers
327
-// #define CONFIG_STEPPERS_TOSHIBA
345
+//#define CONFIG_STEPPERS_TOSHIBA
346
+
347
+// @section homing
328 348
 
329 349
 // coarse Endstop Settings
330 350
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -337,6 +357,7 @@ Here are some standard links for getting your machine calibrated:
337 357
   // #define ENDSTOPPULLUP_XMIN
338 358
   // #define ENDSTOPPULLUP_YMIN
339 359
   // #define ENDSTOPPULLUP_ZMIN
360
+  // #define ENDSTOPPULLUP_ZPROBE
340 361
 #endif
341 362
 
342 363
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -350,7 +371,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
350 371
 //#define DISABLE_MAX_ENDSTOPS
351 372
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
352 373
 
374
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
375
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
376
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
377
+// this has no effect.
378
+//#define DISABLE_Z_PROBE_ENDSTOP
379
+
353 380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
381
+// :{0:'Low',1:'High'}
354 382
 #define X_ENABLE_ON 0
355 383
 #define Y_ENABLE_ON 0
356 384
 #define Z_ENABLE_ON 0
@@ -361,27 +389,41 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
361 389
 #define DISABLE_X false
362 390
 #define DISABLE_Y false
363 391
 #define DISABLE_Z false
392
+
393
+// @section extruder
394
+
364 395
 #define DISABLE_E false // For all extruders
365 396
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
366 397
 
398
+// @section machine
399
+
367 400
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
368 401
 #define INVERT_X_DIR false // DELTA does not invert
369 402
 #define INVERT_Y_DIR false
370 403
 #define INVERT_Z_DIR false
404
+
405
+// @section extruder
406
+
407
+// For direct drive extruder v9 set to true, for geared extruder set to false.
371 408
 #define INVERT_E0_DIR false
372 409
 #define INVERT_E1_DIR false
373 410
 #define INVERT_E2_DIR false
374 411
 #define INVERT_E3_DIR false
375 412
 
413
+// @section homing
414
+
376 415
 // ENDSTOP SETTINGS:
377 416
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
378
-#define X_HOME_DIR 1 // deltas always home to max
417
+// :[-1,1]
418
+#define X_HOME_DIR 1  // deltas always home to max
379 419
 #define Y_HOME_DIR 1
380 420
 #define Z_HOME_DIR 1
381 421
 
382 422
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
383 423
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
384 424
 
425
+// @section machine
426
+
385 427
 // Travel limits after homing (units are in mm)
386 428
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
387 429
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
@@ -397,8 +439,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
397 439
                                  // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made.
398 440
                                  // It is assumed that when logic high = filament available
399 441
                                  //                    when logic  low = filament ran out
400
-//const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
401
-//#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
442
+#ifdef FILAMENT_RUNOUT_SENSOR
443
+  const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
444
+  #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
445
+  #define FILAMENT_RUNOUT_SCRIPT "M600"
446
+#endif
402 447
 
403 448
 //===========================================================================
404 449
 //=========================== Manual Bed Leveling ===========================
@@ -408,7 +453,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
408 453
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
409 454
 
410 455
 #ifdef MANUAL_BED_LEVELING
411
-  #define MBL_Z_STEP 0.025
456
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
412 457
 #endif  // MANUAL_BED_LEVELING
413 458
 
414 459
 #ifdef MESH_BED_LEVELING
@@ -425,6 +470,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
425 470
 //============================ Bed Auto Leveling ============================
426 471
 //===========================================================================
427 472
 
473
+// @section bedlevel
474
+
428 475
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
429 476
 //#define Z_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
430 477
 
@@ -447,13 +494,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
447 494
 
448 495
   #ifdef AUTO_BED_LEVELING_GRID
449 496
 
497
+    // set the rectangle in which to probe
450 498
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
451
-
452 499
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
453 500
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
454 501
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
455 502
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
456
-    
503
+
457 504
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
458 505
 
459 506
     // Non-linear bed leveling will be used.
@@ -492,24 +539,91 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
492 539
 
493 540
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
494 541
                                                                             //Useful to retract a deployable probe.
495
-                                                                           
542
+
496 543
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
497 544
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
498 545
 
499 546
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
500 547
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
501 548
   //#define Z_PROBE_ALLEN_KEY
549
+
502 550
   #ifdef Z_PROBE_ALLEN_KEY
503
-    #define Z_PROBE_ALLEN_KEY_DEPLOY_X 30
504
-    #define Z_PROBE_ALLEN_KEY_DEPLOY_Y DELTA_PRINTABLE_RADIUS
505
-    #define Z_PROBE_ALLEN_KEY_DEPLOY_Z 100
506
-    
507
-    #define Z_PROBE_ALLEN_KEY_STOW_X     -64
508
-    #define Z_PROBE_ALLEN_KEY_STOW_Y     56
509
-    #define Z_PROBE_ALLEN_KEY_STOW_Z     23
510
-    #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20
551
+    // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
552
+    // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.
553
+
554
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30
555
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS
556
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100
557
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
558
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0
559
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS
560
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100
561
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
562
+
563
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position
564
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0
565
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0
566
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
567
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down
568
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0
569
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0
570
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_X/10)
571
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear
572
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0
573
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0
574
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_X
575
+
576
+    // Kossel Mini
577
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 35.0
578
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y 72.0
579
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
580
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE (HOMING_FEEDRATE_X/10)
581
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0
582
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y 0.0
583
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
584
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
585
+
586
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_X -46.0 // Move the probe into position
587
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Y 59.0
588
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Z 28.0
589
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
590
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_X -46.0 // Move the nozzle down further to push the probe into retracted position.
591
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Y 59.0
592
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Z 8.0
593
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_Z/10)
594
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_X -46.0 // Raise things back up slightly so we don't bump into anything
595
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Y 59.0
596
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Z 38.0
597
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
598
+
599
+    // Kossel Pro
600
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X -105.00 // Move left but not quite so far that we'll bump the belt
601
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y 0.00
602
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
603
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
604
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X -110.00 // Move outward to position deploy pin to the left of the arm
605
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y -125.00
606
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
607
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE HOMING_FEEDRATE_X
608
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X 45.00 // Move right to trigger deploy pin
609
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y -125.00
610
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z 100.0
611
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE (HOMING_FEEDRATE_X/2)
612
+
613
+    #define Z_PROBE_ALLEN_KEY_STOW_1_X 36.00 // Line up with bed retaining clip
614
+    #define Z_PROBE_ALLEN_KEY_STOW_1_Y -122.00
615
+    #define Z_PROBE_ALLEN_KEY_STOW_1_Z 75.0
616
+    #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
617
+    #define Z_PROBE_ALLEN_KEY_STOW_2_X 36.00 // move down to retract probe
618
+    #define Z_PROBE_ALLEN_KEY_STOW_2_Y -122.00
619
+    #define Z_PROBE_ALLEN_KEY_STOW_2_Z 25.0
620
+    #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_Z/2)
621
+    #define Z_PROBE_ALLEN_KEY_STOW_3_X 0.0  // return to 0,0,100
622
+    #define Z_PROBE_ALLEN_KEY_STOW_3_Y 0.0
623
+    #define Z_PROBE_ALLEN_KEY_STOW_3_Z 100.0
624
+    #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
511 625
   #endif
512
-  
626
+
513 627
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
514 628
   //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
515 629
   // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
@@ -529,8 +643,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
529 643
 
530 644
   #ifdef Z_SAFE_HOMING
531 645
 
532
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
533
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
646
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
647
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
534 648
 
535 649
   #endif
536 650
 
@@ -551,6 +665,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
551 665
 #endif // ENABLE_AUTO_BED_LEVELING
552 666
 
553 667
 
668
+// @section homing
669
+
554 670
 // The position of the homing switches
555 671
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
556 672
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -563,11 +679,12 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
563 679
   #define MANUAL_Z_HOME_POS 405 // For delta: Distance between nozzle and print surface after homing.
564 680
 #endif
565 681
 
682
+// @section movement
683
+
566 684
 /**
567 685
  * MOVEMENT SETTINGS
568 686
  */
569 687
 
570
-
571 688
 // delta homing speeds must be the same on xyz
572 689
 #define HOMING_FEEDRATE {200*30, 200*30, 200*30, 0}  // set the homing speeds (mm/min)
573 690
 
@@ -578,15 +695,9 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
578 695
 #define DEFAULT_MAX_ACCELERATION      {9000,9000,9000,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
579 696
 
580 697
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
581
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
698
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
582 699
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
583 700
 
584
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
585
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
586
-// For the other hotends it is their distance from the extruder 0 hotend.
587
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
588
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
589
-
590 701
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
591 702
 #define DEFAULT_XYJERK                15.0    // (mm/sec)
592 703
 #define DEFAULT_ZJERK                 15.0    // (mm/sec) Must be same as XY for delta
@@ -597,6 +708,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
597 708
 //============================= Additional Features ===========================
598 709
 //=============================================================================
599 710
 
711
+// @section more
712
+
600 713
 // Custom M code points
601 714
 #define CUSTOM_M_CODES
602 715
 #ifdef CUSTOM_M_CODES
@@ -607,6 +720,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
607 720
   #endif
608 721
 #endif
609 722
 
723
+// @section extras
610 724
 
611 725
 // EEPROM
612 726
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -618,9 +732,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
618 732
 
619 733
 #ifdef EEPROM_SETTINGS
620 734
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
621
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
735
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
622 736
 #endif
623 737
 
738
+// @section temperature
739
+
624 740
 // Preheat Constants
625 741
 #define PLA_PREHEAT_HOTEND_TEMP 180
626 742
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -631,9 +747,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
631 747
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
632 748
 
633 749
 //==============================LCD and SD support=============================
750
+// @section lcd
634 751
 
635 752
 // Define your display language below. Replace (en) with your language code and uncomment.
636
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
753
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
637 754
 // See also language.h
638 755
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
639 756
 
@@ -656,7 +773,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
656 773
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
657 774
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
658 775
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
659
-
660 776
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
661 777
 // http://reprap.org/wiki/PanelOne
662 778
 //#define PANEL_ONE
@@ -719,14 +835,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
719 835
 
720 836
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
721 837
 //#define LCD_I2C_VIKI
838
+  
839
+// SSD1306 OLED generic display support
840
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
841
+//#define U8GLIB_SSD1306
722 842
 
723 843
 // Shift register panels
724 844
 // ---------------------
725 845
 // 2 wire Non-latching LCD SR from:
726 846
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
727
-
847
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
728 848
 //#define SAV_3DLCD
729 849
 
850
+// @section extras
851
+
730 852
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
731 853
 //#define FAST_PWM_FAN
732 854
 
@@ -750,7 +872,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
750 872
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
751 873
 // #define PHOTOGRAPH_PIN     23
752 874
 
753
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
875
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
754 876
 //#define SF_ARC_FIX
755 877
 
756 878
 // Support for the BariCUDA Paste Extruder.
@@ -795,13 +917,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
795 917
 // Uncomment below to enable
796 918
 //#define FILAMENT_SENSOR
797 919
 
798
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
799
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
920
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
921
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
800 922
 
801
-#define DEFAULT_NOMINAL_FILAMENT_DIA  1.75  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
802
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
803
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
804
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
923
+#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
924
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
925
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
926
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
805 927
 
806 928
 //defines used in the code
807 929
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 218
- 99
Marlin/example_configurations/delta/generic/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 250000
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -79,49 +80,26 @@ Here are some standard links for getting your machine calibrated:
79 80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80 81
 
81 82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82 84
 #define EXTRUDERS 1
83 85
 
86
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
87
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
88
+// For the other hotends it is their distance from the extruder 0 hotend.
89
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
90
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
91
+
84 92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85 93
 // 1 = ATX
86 94
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
95
+// :{1:'ATX',2:'X-Box 360'}
87 96
 
88 97
 #define POWER_SUPPLY 1
89 98
 
90 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
91
-// #define PS_DEFAULT_OFF
92
-
93
-
94
-//===========================================================================
95
-//============================== Delta Settings =============================
96
-//===========================================================================
97
-// Enable DELTA kinematics and most of the default configuration for Deltas
98
-#define DELTA
99
-
100
-// Make delta curves from many straight lines (linear interpolation).
101
-// This is a trade-off between visible corners (not enough segments)
102
-// and processor overload (too many expensive sqrt calls).
103
-#define DELTA_SEGMENTS_PER_SECOND 200
104
-
105
-// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
106
-
107
-// Center-to-center distance of the holes in the diagonal push rods.
108
-#define DELTA_DIAGONAL_ROD 250.0 // mm
109
-
110
-// Horizontal offset from middle of printer to smooth rod center.
111
-#define DELTA_SMOOTH_ROD_OFFSET 175.0 // mm
112
-
113
-// Horizontal offset of the universal joints on the end effector.
114
-#define DELTA_EFFECTOR_OFFSET 33.0 // mm
115
-
116
-// Horizontal offset of the universal joints on the carriages.
117
-#define DELTA_CARRIAGE_OFFSET 18.0 // mm
118
-
119
-// Horizontal distance bridged by diagonal push rods when effector is centered.
120
-#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
121
-
122
-// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
123
-#define DELTA_PRINTABLE_RADIUS 140
100
+//#define PS_DEFAULT_OFF
124 101
 
102
+// @section temperature
125 103
 
126 104
 //===========================================================================
127 105
 //============================= Thermal Settings ============================
@@ -227,21 +205,22 @@ Here are some standard links for getting your machine calibrated:
227 205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
228 206
   #define K1 0.95 //smoothing factor within the PID
229 207
 
230
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
231
-// Ultimaker
232
-    #define  DEFAULT_Kp 22.2
233
-    #define  DEFAULT_Ki 1.08
234
-    #define  DEFAULT_Kd 114
235
-
236
-// MakerGear
237
-//    #define  DEFAULT_Kp 7.0
238
-//    #define  DEFAULT_Ki 0.1
239
-//    #define  DEFAULT_Kd 12
240
-
241
-// Mendel Parts V9 on 12V
242
-//    #define  DEFAULT_Kp 63.0
243
-//    #define  DEFAULT_Ki 2.25
244
-//    #define  DEFAULT_Kd 440
208
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
+  // Ultimaker
210
+  #define  DEFAULT_Kp 22.2
211
+  #define  DEFAULT_Ki 1.08
212
+  #define  DEFAULT_Kd 114
213
+
214
+  // MakerGear
215
+  //#define  DEFAULT_Kp 7.0
216
+  //#define  DEFAULT_Ki 0.1
217
+  //#define  DEFAULT_Kd 12
218
+
219
+  // Mendel Parts V9 on 12V
220
+  //#define  DEFAULT_Kp 63.0
221
+  //#define  DEFAULT_Ki 2.25
222
+  //#define  DEFAULT_Kd 440
223
+
245 224
 #endif // PIDTEMP
246 225
 
247 226
 //===========================================================================
@@ -257,7 +236,7 @@ Here are some standard links for getting your machine calibrated:
257 236
 // shouldn't use bed PID until someone else verifies your hardware works.
258 237
 // If this is enabled, find your own PID constants below.
259 238
 //#define PIDTEMPBED
260
-//
239
+
261 240
 //#define BED_LIMIT_SWITCHING
262 241
 
263 242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -269,23 +248,25 @@ Here are some standard links for getting your machine calibrated:
269 248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
270 249
 
271 250
 #ifdef PIDTEMPBED
272
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
273 251
 
274
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
275
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
276
-    #define  DEFAULT_bedKp 10.00
277
-    #define  DEFAULT_bedKi .023
278
-    #define  DEFAULT_bedKd 305.4
252
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
253
+
254
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
255
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
256
+  #define  DEFAULT_bedKp 10.00
257
+  #define  DEFAULT_bedKi .023
258
+  #define  DEFAULT_bedKd 305.4
279 259
 
280
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
281
-//from pidautotune
282
-//    #define  DEFAULT_bedKp 97.1
283
-//    #define  DEFAULT_bedKi 1.41
284
-//    #define  DEFAULT_bedKd 1675.16
260
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
261
+  //from pidautotune
262
+  //#define  DEFAULT_bedKp 97.1
263
+  //#define  DEFAULT_bedKi 1.41
264
+  //#define  DEFAULT_bedKd 1675.16
285 265
 
286
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
266
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
287 267
 #endif // PIDTEMPBED
288 268
 
269
+// @section extruder
289 270
 
290 271
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
291 272
 //can be software-disabled for whatever purposes by
@@ -320,11 +301,50 @@ Here are some standard links for getting your machine calibrated:
320 301
 //============================= Mechanical Settings =========================
321 302
 //===========================================================================
322 303
 
304
+// @section machine
305
+
323 306
 // Uncomment this option to enable CoreXY kinematics
324 307
 // #define COREXY
325 308
 
309
+//===========================================================================
310
+//============================== Delta Settings =============================
311
+//===========================================================================
312
+// Enable DELTA kinematics and most of the default configuration for Deltas
313
+#define DELTA
314
+
315
+#ifdef DELTA
316
+
317
+  // Make delta curves from many straight lines (linear interpolation).
318
+  // This is a trade-off between visible corners (not enough segments)
319
+  // and processor overload (too many expensive sqrt calls).
320
+  #define DELTA_SEGMENTS_PER_SECOND 200
321
+
322
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
323
+
324
+  // Center-to-center distance of the holes in the diagonal push rods.
325
+  #define DELTA_DIAGONAL_ROD 250.0 // mm
326
+
327
+  // Horizontal offset from middle of printer to smooth rod center.
328
+  #define DELTA_SMOOTH_ROD_OFFSET 175.0 // mm
329
+
330
+  // Horizontal offset of the universal joints on the end effector.
331
+  #define DELTA_EFFECTOR_OFFSET 33.0 // mm
332
+
333
+  // Horizontal offset of the universal joints on the carriages.
334
+  #define DELTA_CARRIAGE_OFFSET 18.0 // mm
335
+
336
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
337
+  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
338
+
339
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
340
+  #define DELTA_PRINTABLE_RADIUS 140
341
+
342
+#endif
343
+
326 344
 // Enable this option for Toshiba steppers
327
-// #define CONFIG_STEPPERS_TOSHIBA
345
+//#define CONFIG_STEPPERS_TOSHIBA
346
+
347
+// @section homing
328 348
 
329 349
 // coarse Endstop Settings
330 350
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -337,6 +357,7 @@ Here are some standard links for getting your machine calibrated:
337 357
   // #define ENDSTOPPULLUP_XMIN
338 358
   // #define ENDSTOPPULLUP_YMIN
339 359
   // #define ENDSTOPPULLUP_ZMIN
360
+  // #define ENDSTOPPULLUP_ZPROBE
340 361
 #endif
341 362
 
342 363
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -350,7 +371,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
350 371
 //#define DISABLE_MAX_ENDSTOPS
351 372
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
352 373
 
374
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
375
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
376
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
377
+// this has no effect.
378
+//#define DISABLE_Z_PROBE_ENDSTOP
379
+
353 380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
381
+// :{0:'Low',1:'High'}
354 382
 #define X_ENABLE_ON 0
355 383
 #define Y_ENABLE_ON 0
356 384
 #define Z_ENABLE_ON 0
@@ -361,27 +389,41 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
361 389
 #define DISABLE_X false
362 390
 #define DISABLE_Y false
363 391
 #define DISABLE_Z false
392
+
393
+// @section extruder
394
+
364 395
 #define DISABLE_E false // For all extruders
365 396
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
366 397
 
398
+// @section machine
399
+
367 400
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
368 401
 #define INVERT_X_DIR false // DELTA does not invert
369 402
 #define INVERT_Y_DIR false
370 403
 #define INVERT_Z_DIR false
404
+
405
+// @section extruder
406
+
407
+// For direct drive extruder v9 set to true, for geared extruder set to false.
371 408
 #define INVERT_E0_DIR false
372 409
 #define INVERT_E1_DIR false
373 410
 #define INVERT_E2_DIR false
374 411
 #define INVERT_E3_DIR false
375 412
 
413
+// @section homing
414
+
376 415
 // ENDSTOP SETTINGS:
377 416
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
378
-#define X_HOME_DIR 1 // deltas always home to max
417
+// :[-1,1]
418
+#define X_HOME_DIR 1  // deltas always home to max
379 419
 #define Y_HOME_DIR 1
380 420
 #define Z_HOME_DIR 1
381 421
 
382 422
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
383 423
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
384 424
 
425
+// @section machine
426
+
385 427
 // Travel limits after homing (units are in mm)
386 428
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
387 429
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
@@ -401,8 +443,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
401 443
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
402 444
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
403 445
   #define FILAMENT_RUNOUT_SCRIPT "M600"
404
-#endif 
405
-  
446
+#endif
447
+
406 448
 //===========================================================================
407 449
 //=========================== Manual Bed Leveling ===========================
408 450
 //===========================================================================
@@ -411,7 +453,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
411 453
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
412 454
 
413 455
 #ifdef MANUAL_BED_LEVELING
414
-  #define MBL_Z_STEP 0.025
456
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
415 457
 #endif  // MANUAL_BED_LEVELING
416 458
 
417 459
 #ifdef MESH_BED_LEVELING
@@ -428,6 +470,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
428 470
 //============================ Bed Auto Leveling ============================
429 471
 //===========================================================================
430 472
 
473
+// @section bedlevel
474
+
431 475
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
432 476
 //#define Z_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
433 477
 
@@ -450,13 +494,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
450 494
 
451 495
   #ifdef AUTO_BED_LEVELING_GRID
452 496
 
497
+    // set the rectangle in which to probe
453 498
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
454
-
455 499
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
456 500
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
457 501
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
458 502
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
459
-    
503
+
460 504
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
461 505
 
462 506
     // Non-linear bed leveling will be used.
@@ -495,24 +539,91 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
495 539
 
496 540
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
497 541
                                                                             //Useful to retract a deployable probe.
498
-                                                                           
542
+
499 543
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
500 544
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
501 545
 
502 546
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
503 547
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
504 548
   //#define Z_PROBE_ALLEN_KEY
549
+
505 550
   #ifdef Z_PROBE_ALLEN_KEY
506
-    #define Z_PROBE_ALLEN_KEY_DEPLOY_X 30
507
-    #define Z_PROBE_ALLEN_KEY_DEPLOY_Y DELTA_PRINTABLE_RADIUS
508
-    #define Z_PROBE_ALLEN_KEY_DEPLOY_Z 100
509
-    
510
-    #define Z_PROBE_ALLEN_KEY_STOW_X     -64
511
-    #define Z_PROBE_ALLEN_KEY_STOW_Y     56
512
-    #define Z_PROBE_ALLEN_KEY_STOW_Z     23
513
-    #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20
551
+    // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
552
+    // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.
553
+
554
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
555
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS
556
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
557
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
558
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0
559
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS
560
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
561
+    #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
562
+
563
+    #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position
564
+    #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0
565
+    #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0
566
+    #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
567
+    #define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down
568
+    #define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0
569
+    #define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0
570
+    #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_X/10)
571
+    #define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear
572
+    #define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0
573
+    #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0
574
+    #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_X
575
+
576
+    // Kossel Mini
577
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 35.0
578
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y 72.0
579
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
580
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE (HOMING_FEEDRATE_X/10)
581
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0
582
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y 0.0
583
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
584
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
585
+
586
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_X -46.0 // Move the probe into position
587
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Y 59.0
588
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Z 28.0
589
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
590
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_X -46.0 // Move the nozzle down further to push the probe into retracted position.
591
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Y 59.0
592
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Z 8.0
593
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_Z/10)
594
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_X -46.0 // Raise things back up slightly so we don't bump into anything
595
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Y 59.0
596
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Z 38.0
597
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
598
+
599
+    // Kossel Pro
600
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X -105.00 // Move left but not quite so far that we'll bump the belt
601
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y 0.00
602
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
603
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
604
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X -110.00 // Move outward to position deploy pin to the left of the arm
605
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y -125.00
606
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
607
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE HOMING_FEEDRATE_X
608
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_X 45.00 // Move right to trigger deploy pin
609
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y -125.00
610
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z 100.0
611
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE (HOMING_FEEDRATE_X/2)
612
+
613
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_X 36.00 // Line up with bed retaining clip
614
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Y -122.00
615
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Z 75.0
616
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
617
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_X 36.00 // move down to retract probe
618
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Y -122.00
619
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Z 25.0
620
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_Z/2)
621
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_X 0.0  // return to 0,0,100
622
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Y 0.0
623
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Z 100.0
624
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
514 625
   #endif
515
-  
626
+
516 627
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
517 628
   //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
518 629
   // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
@@ -532,8 +643,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
532 643
 
533 644
   #ifdef Z_SAFE_HOMING
534 645
 
535
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
536
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
646
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
647
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
537 648
 
538 649
   #endif
539 650
 
@@ -554,6 +665,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
554 665
 #endif // ENABLE_AUTO_BED_LEVELING
555 666
 
556 667
 
668
+// @section homing
669
+
557 670
 // The position of the homing switches
558 671
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
559 672
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -566,11 +679,12 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
566 679
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
567 680
 #endif
568 681
 
682
+// @section movement
683
+
569 684
 /**
570 685
  * MOVEMENT SETTINGS
571 686
  */
572 687
 
573
-
574 688
 // delta homing speeds must be the same on xyz
575 689
 #define HOMING_FEEDRATE {200*60, 200*60, 200*60, 0}  // set the homing speeds (mm/min)
576 690
 
@@ -581,25 +695,21 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
581 695
 #define DEFAULT_MAX_ACCELERATION      {9000,9000,9000,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
582 696
 
583 697
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
584
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
698
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
585 699
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
586 700
 
587
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
588
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
589
-// For the other hotends it is their distance from the extruder 0 hotend.
590
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
591
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
592
-
593 701
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
594 702
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
595 703
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
596
-#define DEFAULT_EJERK                 5.0    // (mm/sec)
704
+#define DEFAULT_EJERK                 5.0     // (mm/sec)
597 705
 
598 706
 
599 707
 //=============================================================================
600 708
 //============================= Additional Features ===========================
601 709
 //=============================================================================
602 710
 
711
+// @section more
712
+
603 713
 // Custom M code points
604 714
 #define CUSTOM_M_CODES
605 715
 #ifdef CUSTOM_M_CODES
@@ -610,6 +720,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
610 720
   #endif
611 721
 #endif
612 722
 
723
+// @section extras
613 724
 
614 725
 // EEPROM
615 726
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -621,9 +732,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
621 732
 
622 733
 #ifdef EEPROM_SETTINGS
623 734
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
624
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
735
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
625 736
 #endif
626 737
 
738
+// @section temperature
739
+
627 740
 // Preheat Constants
628 741
 #define PLA_PREHEAT_HOTEND_TEMP 180
629 742
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -634,6 +747,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
634 747
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
635 748
 
636 749
 //==============================LCD and SD support=============================
750
+// @section lcd
637 751
 
638 752
 // Define your display language below. Replace (en) with your language code and uncomment.
639 753
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
@@ -659,7 +773,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
659 773
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
660 774
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
661 775
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
662
-
663 776
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
664 777
 // http://reprap.org/wiki/PanelOne
665 778
 //#define PANEL_ONE
@@ -722,14 +835,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
722 835
 
723 836
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
724 837
 //#define LCD_I2C_VIKI
838
+  
839
+// SSD1306 OLED generic display support
840
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
841
+//#define U8GLIB_SSD1306
725 842
 
726 843
 // Shift register panels
727 844
 // ---------------------
728 845
 // 2 wire Non-latching LCD SR from:
729 846
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
730
-
847
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
731 848
 //#define SAV_3DLCD
732 849
 
850
+// @section extras
851
+
733 852
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
734 853
 //#define FAST_PWM_FAN
735 854
 
@@ -753,7 +872,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
753 872
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
754 873
 // #define PHOTOGRAPH_PIN     23
755 874
 
756
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
875
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
757 876
 //#define SF_ARC_FIX
758 877
 
759 878
 // Support for the BariCUDA Paste Extruder.
@@ -798,13 +917,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
798 917
 // Uncomment below to enable
799 918
 //#define FILAMENT_SENSOR
800 919
 
801
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
802
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
920
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
921
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
803 922
 
804
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
805
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
806
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
807
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
923
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
924
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
925
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
926
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
808 927
 
809 928
 //defines used in the code
810 929
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 189
- 90
Marlin/example_configurations/delta/kossel_mini/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 250000
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -79,49 +80,26 @@ Here are some standard links for getting your machine calibrated:
79 80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80 81
 
81 82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82 84
 #define EXTRUDERS 1
83 85
 
86
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
87
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
88
+// For the other hotends it is their distance from the extruder 0 hotend.
89
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
90
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
91
+
84 92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85 93
 // 1 = ATX
86 94
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
95
+// :{1:'ATX',2:'X-Box 360'}
87 96
 
88 97
 #define POWER_SUPPLY 1
89 98
 
90 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
91
-// #define PS_DEFAULT_OFF
92
-
93
-
94
-//===========================================================================
95
-//============================== Delta Settings =============================
96
-//===========================================================================
97
-// Enable DELTA kinematics and most of the default configuration for Deltas
98
-#define DELTA
99
-
100
-// Make delta curves from many straight lines (linear interpolation).
101
-// This is a trade-off between visible corners (not enough segments)
102
-// and processor overload (too many expensive sqrt calls).
103
-#define DELTA_SEGMENTS_PER_SECOND 200
104
-
105
-// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
106
-
107
-// Center-to-center distance of the holes in the diagonal push rods.
108
-#define DELTA_DIAGONAL_ROD 215.0 // mm
109
-
110
-// Horizontal offset from middle of printer to smooth rod center.
111
-#define DELTA_SMOOTH_ROD_OFFSET 145.0 // mm
112
-
113
-// Horizontal offset of the universal joints on the end effector.
114
-#define DELTA_EFFECTOR_OFFSET 19.9 // mm
115
-
116
-// Horizontal offset of the universal joints on the carriages.
117
-#define DELTA_CARRIAGE_OFFSET 19.5 // mm
118
-
119
-// Horizontal distance bridged by diagonal push rods when effector is centered.
120
-#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
121
-
122
-// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
123
-#define DELTA_PRINTABLE_RADIUS 90
100
+//#define PS_DEFAULT_OFF
124 101
 
102
+// @section temperature
125 103
 
126 104
 //===========================================================================
127 105
 //============================= Thermal Settings ============================
@@ -227,21 +205,22 @@ Here are some standard links for getting your machine calibrated:
227 205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
228 206
   #define K1 0.95 //smoothing factor within the PID
229 207
 
230
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
231
-// Ultimaker
232
-    #define  DEFAULT_Kp 22.2
233
-    #define  DEFAULT_Ki 1.08
234
-    #define  DEFAULT_Kd 114
235
-
236
-// MakerGear
237
-//    #define  DEFAULT_Kp 7.0
238
-//    #define  DEFAULT_Ki 0.1
239
-//    #define  DEFAULT_Kd 12
240
-
241
-// Mendel Parts V9 on 12V
242
-//    #define  DEFAULT_Kp 63.0
243
-//    #define  DEFAULT_Ki 2.25
244
-//    #define  DEFAULT_Kd 440
208
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
+  // Ultimaker
210
+  #define  DEFAULT_Kp 22.2
211
+  #define  DEFAULT_Ki 1.08
212
+  #define  DEFAULT_Kd 114
213
+
214
+  // MakerGear
215
+  //#define  DEFAULT_Kp 7.0
216
+  //#define  DEFAULT_Ki 0.1
217
+  //#define  DEFAULT_Kd 12
218
+
219
+  // Mendel Parts V9 on 12V
220
+  //#define  DEFAULT_Kp 63.0
221
+  //#define  DEFAULT_Ki 2.25
222
+  //#define  DEFAULT_Kd 440
223
+
245 224
 #endif // PIDTEMP
246 225
 
247 226
 //===========================================================================
@@ -257,7 +236,7 @@ Here are some standard links for getting your machine calibrated:
257 236
 // shouldn't use bed PID until someone else verifies your hardware works.
258 237
 // If this is enabled, find your own PID constants below.
259 238
 //#define PIDTEMPBED
260
-//
239
+
261 240
 //#define BED_LIMIT_SWITCHING
262 241
 
263 242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -269,23 +248,25 @@ Here are some standard links for getting your machine calibrated:
269 248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
270 249
 
271 250
 #ifdef PIDTEMPBED
272
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
273 251
 
274
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
275
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
276
-    #define  DEFAULT_bedKp 10.00
277
-    #define  DEFAULT_bedKi .023
278
-    #define  DEFAULT_bedKd 305.4
252
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
279 253
 
280
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
281
-//from pidautotune
282
-//    #define  DEFAULT_bedKp 97.1
283
-//    #define  DEFAULT_bedKi 1.41
284
-//    #define  DEFAULT_bedKd 1675.16
254
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
255
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
256
+  #define  DEFAULT_bedKp 10.00
257
+  #define  DEFAULT_bedKi .023
258
+  #define  DEFAULT_bedKd 305.4
285 259
 
286
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
260
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
261
+  //from pidautotune
262
+  //#define  DEFAULT_bedKp 97.1
263
+  //#define  DEFAULT_bedKi 1.41
264
+  //#define  DEFAULT_bedKd 1675.16
265
+
266
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
287 267
 #endif // PIDTEMPBED
288 268
 
269
+// @section extruder
289 270
 
290 271
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
291 272
 //can be software-disabled for whatever purposes by
@@ -320,11 +301,50 @@ Here are some standard links for getting your machine calibrated:
320 301
 //============================= Mechanical Settings =========================
321 302
 //===========================================================================
322 303
 
304
+// @section machine
305
+
323 306
 // Uncomment this option to enable CoreXY kinematics
324 307
 // #define COREXY
325 308
 
309
+//===========================================================================
310
+//============================== Delta Settings =============================
311
+//===========================================================================
312
+// Enable DELTA kinematics and most of the default configuration for Deltas
313
+#define DELTA
314
+
315
+#ifdef DELTA
316
+
317
+  // Make delta curves from many straight lines (linear interpolation).
318
+  // This is a trade-off between visible corners (not enough segments)
319
+  // and processor overload (too many expensive sqrt calls).
320
+  #define DELTA_SEGMENTS_PER_SECOND 200
321
+
322
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
323
+
324
+  // Center-to-center distance of the holes in the diagonal push rods.
325
+  #define DELTA_DIAGONAL_ROD 215.0 // mm
326
+
327
+  // Horizontal offset from middle of printer to smooth rod center.
328
+  #define DELTA_SMOOTH_ROD_OFFSET 145.0 // mm
329
+
330
+  // Horizontal offset of the universal joints on the end effector.
331
+  #define DELTA_EFFECTOR_OFFSET 19.9 // mm
332
+
333
+  // Horizontal offset of the universal joints on the carriages.
334
+  #define DELTA_CARRIAGE_OFFSET 19.5 // mm
335
+
336
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
337
+  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
338
+
339
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
340
+  #define DELTA_PRINTABLE_RADIUS 90
341
+
342
+#endif
343
+
326 344
 // Enable this option for Toshiba steppers
327
-// #define CONFIG_STEPPERS_TOSHIBA
345
+//#define CONFIG_STEPPERS_TOSHIBA
346
+
347
+// @section homing
328 348
 
329 349
 // coarse Endstop Settings
330 350
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -337,6 +357,7 @@ Here are some standard links for getting your machine calibrated:
337 357
   // #define ENDSTOPPULLUP_XMIN
338 358
   // #define ENDSTOPPULLUP_YMIN
339 359
   // #define ENDSTOPPULLUP_ZMIN
360
+  // #define ENDSTOPPULLUP_ZPROBE
340 361
 #endif
341 362
 
342 363
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -350,7 +371,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
350 371
 //#define DISABLE_MAX_ENDSTOPS
351 372
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
352 373
 
374
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
375
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
376
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
377
+// this has no effect.
378
+//#define DISABLE_Z_PROBE_ENDSTOP
379
+
353 380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
381
+// :{0:'Low',1:'High'}
354 382
 #define X_ENABLE_ON 0
355 383
 #define Y_ENABLE_ON 0
356 384
 #define Z_ENABLE_ON 0
@@ -361,20 +389,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
361 389
 #define DISABLE_X false
362 390
 #define DISABLE_Y false
363 391
 #define DISABLE_Z false
392
+
393
+// @section extruder
394
+
364 395
 #define DISABLE_E false // For all extruders
365 396
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
366 397
 
398
+// @section machine
399
+
367 400
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
368 401
 #define INVERT_X_DIR false // DELTA does not invert
369 402
 #define INVERT_Y_DIR false
370 403
 #define INVERT_Z_DIR false
404
+
405
+// @section extruder
406
+
407
+// For direct drive extruder v9 set to true, for geared extruder set to false.
371 408
 #define INVERT_E0_DIR false
372 409
 #define INVERT_E1_DIR false
373 410
 #define INVERT_E2_DIR false
374 411
 #define INVERT_E3_DIR false
375 412
 
413
+// @section homing
414
+
376 415
 // ENDSTOP SETTINGS:
377 416
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
417
+// :[-1,1]
378 418
 #define X_HOME_DIR 1  // deltas always home to max
379 419
 #define Y_HOME_DIR 1
380 420
 #define Z_HOME_DIR 1
@@ -382,6 +422,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
382 422
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
383 423
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
384 424
 
425
+// @section machine
426
+
385 427
 // Travel limits after homing (units are in mm)
386 428
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
387 429
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
@@ -411,7 +453,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
411 453
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
412 454
 
413 455
 #ifdef MANUAL_BED_LEVELING
414
-  #define MBL_Z_STEP 0.025
456
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
415 457
 #endif  // MANUAL_BED_LEVELING
416 458
 
417 459
 #ifdef MESH_BED_LEVELING
@@ -428,8 +470,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
428 470
 //============================ Bed Auto Leveling ============================
429 471
 //===========================================================================
430 472
 
473
+// @section bedlevel
474
+
431 475
 #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
432
-// #define Z_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
476
+//#define Z_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
433 477
 
434 478
 #ifdef ENABLE_AUTO_BED_LEVELING
435 479
 
@@ -450,8 +494,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
450 494
 
451 495
   #ifdef AUTO_BED_LEVELING_GRID
452 496
 
497
+    // set the rectangle in which to probe
453 498
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
454
-
455 499
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
456 500
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
457 501
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
@@ -499,14 +543,35 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
499 543
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
500 544
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
501 545
 
502
-  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
503
-  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
504
-  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
505
-
506 546
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
507 547
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
508 548
   #define Z_PROBE_ALLEN_KEY
549
+
509 550
   #ifdef Z_PROBE_ALLEN_KEY
551
+    // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
552
+    // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.
553
+
554
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
555
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS
556
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
557
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
558
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0
559
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS
560
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
561
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
562
+
563
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position
564
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0
565
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0
566
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
567
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_X -64.0 // Push it down
568
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Y 56.0
569
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Z 3.0
570
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_X/10)
571
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_X -64.0 // Move it up to clear
572
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Y 56.0
573
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0
574
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_X
510 575
 
511 576
     // Kossel Mini
512 577
     #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
@@ -535,6 +600,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
535 600
     #define Z_PROBE_ALLEN_KEY_STOW_3_Z  (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH)
536 601
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_TRAVEL_SPEED/2)
537 602
 
603
+    // Kossel Pro
604
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X -105.00 // Move left but not quite so far that we'll bump the belt
605
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y 0.00
606
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
607
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
608
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X -110.00 // Move outward to position deploy pin to the left of the arm
609
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y -125.00
610
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
611
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE HOMING_FEEDRATE_X
612
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_X 45.00 // Move right to trigger deploy pin
613
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y -125.00
614
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z 100.0
615
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE (HOMING_FEEDRATE_X/2)
616
+
617
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_X 36.00 // Line up with bed retaining clip
618
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Y -122.00
619
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_Z 75.0
620
+    //#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE HOMING_FEEDRATE_X
621
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_X 36.00 // move down to retract probe
622
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Y -122.00
623
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_Z 25.0
624
+    //#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (HOMING_FEEDRATE_Z/2)
625
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_X 0.0  // return to 0,0,100
626
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Y 0.0
627
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_Z 100.0
628
+    //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
538 629
   #endif
539 630
 
540 631
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
@@ -556,8 +647,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
556 647
 
557 648
   #ifdef Z_SAFE_HOMING
558 649
 
559
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
560
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
650
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
651
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
561 652
 
562 653
   #endif
563 654
 
@@ -578,6 +669,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
578 669
 #endif // ENABLE_AUTO_BED_LEVELING
579 670
 
580 671
 
672
+// @section homing
673
+
581 674
 // The position of the homing switches
582 675
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
583 676
 #define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -590,11 +683,12 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
590 683
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
591 684
 #endif
592 685
 
686
+// @section movement
687
+
593 688
 /**
594 689
  * MOVEMENT SETTINGS
595 690
  */
596 691
 
597
-
598 692
 // delta homing speeds must be the same on xyz
599 693
 #define HOMING_FEEDRATE {200*60, 200*60, 200*60, 0}  // set the homing speeds (mm/min)
600 694
 
@@ -605,25 +699,21 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
605 699
 #define DEFAULT_MAX_ACCELERATION      {9000,9000,9000,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
606 700
 
607 701
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
608
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
702
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
609 703
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
610 704
 
611
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
612
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
613
-// For the other hotends it is their distance from the extruder 0 hotend.
614
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
615
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
616
-
617 705
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
618 706
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
619 707
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
620
-#define DEFAULT_EJERK                 5.0    // (mm/sec)
708
+#define DEFAULT_EJERK                 5.0     // (mm/sec)
621 709
 
622 710
 
623 711
 //=============================================================================
624 712
 //============================= Additional Features ===========================
625 713
 //=============================================================================
626 714
 
715
+// @section more
716
+
627 717
 // Custom M code points
628 718
 #define CUSTOM_M_CODES
629 719
 #ifdef CUSTOM_M_CODES
@@ -634,6 +724,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
634 724
   #endif
635 725
 #endif
636 726
 
727
+// @section extras
637 728
 
638 729
 // EEPROM
639 730
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -645,9 +736,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
645 736
 
646 737
 #ifdef EEPROM_SETTINGS
647 738
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
648
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
739
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
649 740
 #endif
650 741
 
742
+// @section temperature
743
+
651 744
 // Preheat Constants
652 745
 #define PLA_PREHEAT_HOTEND_TEMP 180
653 746
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -658,6 +751,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
658 751
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
659 752
 
660 753
 //==============================LCD and SD support=============================
754
+// @section lcd
661 755
 
662 756
 // Define your display language below. Replace (en) with your language code and uncomment.
663 757
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
@@ -683,7 +777,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
683 777
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
684 778
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
685 779
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
686
-
687 780
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
688 781
 // http://reprap.org/wiki/PanelOne
689 782
 #define PANEL_ONE
@@ -746,14 +839,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
746 839
 
747 840
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
748 841
 //#define LCD_I2C_VIKI
842
+  
843
+// SSD1306 OLED generic display support
844
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
845
+//#define U8GLIB_SSD1306
749 846
 
750 847
 // Shift register panels
751 848
 // ---------------------
752 849
 // 2 wire Non-latching LCD SR from:
753 850
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
754
-
851
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
755 852
 //#define SAV_3DLCD
756 853
 
854
+// @section extras
855
+
757 856
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
758 857
 //#define FAST_PWM_FAN
759 858
 
@@ -777,7 +876,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
777 876
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
778 877
 // #define PHOTOGRAPH_PIN     23
779 878
 
780
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
879
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
781 880
 //#define SF_ARC_FIX
782 881
 
783 882
 // Support for the BariCUDA Paste Extruder.
@@ -822,13 +921,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
822 921
 // Uncomment below to enable
823 922
 //#define FILAMENT_SENSOR
824 923
 
825
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
826
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
924
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
925
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
827 926
 
828
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
829
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
830
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
831
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
927
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
928
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
929
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
930
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
832 931
 
833 932
 //defines used in the code
834 933
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 128
- 245
Marlin/example_configurations/delta/kossel_pro/Configuration.h Просмотреть файл

@@ -101,7 +101,7 @@ Here are some standard links for getting your machine calibrated:
101 101
 #define POWER_SUPPLY 1
102 102
 
103 103
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
104
-// #define PS_DEFAULT_OFF
104
+//#define PS_DEFAULT_OFF
105 105
 
106 106
 // @section temperature
107 107
 
@@ -204,32 +204,32 @@ Here are some standard links for getting your machine calibrated:
204 204
   //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
205 205
   //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders)
206 206
                                     // Set/get with gcode: M301 E[extruder number, 0-2]
207
-  #define PID_FUNCTIONAL_RANGE 50   // If the temperature difference between the target temperature and the actual temperature
208
-                                    // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
207
+  #define PID_FUNCTIONAL_RANGE 50 // If the temperature difference between the target temperature and the actual temperature
208
+                                  // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
209 209
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
210 210
   #define K1 0.95 //smoothing factor within the PID
211 211
 
212
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
212
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
213
+  // Ultimaker
214
+  //#define  DEFAULT_Kp 22.2
215
+  //#define  DEFAULT_Ki 1.08
216
+  //#define  DEFAULT_Kd 114
213 217
 
214
-// Ultimaker
215
-//    #define  DEFAULT_Kp 22.2
216
-//    #define  DEFAULT_Ki 1.08
217
-//    #define  DEFAULT_Kd 114
218
+  // Kossel Pro
219
+  #define  DEFAULT_Kp 19.30
220
+  #define  DEFAULT_Ki 3.51
221
+  #define  DEFAULT_Kd 26.56
218 222
 
219
-// Kossel Pro
220
-      #define  DEFAULT_Kp 19.30
221
-      #define  DEFAULT_Ki 3.51
222
-      #define  DEFAULT_Kd 26.56
223
+  // MakerGear
224
+  //#define  DEFAULT_Kp 7.0
225
+  //#define  DEFAULT_Ki 0.1
226
+  //#define  DEFAULT_Kd 12
223 227
 
224
-// MakerGear
225
-//    #define  DEFAULT_Kp 7.0
226
-//    #define  DEFAULT_Ki 0.1
227
-//    #define  DEFAULT_Kd 12
228
+  // Mendel Parts V9 on 12V
229
+  //#define  DEFAULT_Kp 63.0
230
+  //#define  DEFAULT_Ki 2.25
231
+  //#define  DEFAULT_Kd 440
228 232
 
229
-// Mendel Parts V9 on 12V
230
-//    #define  DEFAULT_Kp 63.0
231
-//    #define  DEFAULT_Ki 2.25
232
-//    #define  DEFAULT_Kd 440
233 233
 #endif // PIDTEMP
234 234
 
235 235
 //===========================================================================
@@ -245,7 +245,7 @@ Here are some standard links for getting your machine calibrated:
245 245
 // shouldn't use bed PID until someone else verifies your hardware works.
246 246
 // If this is enabled, find your own PID constants below.
247 247
 #define PIDTEMPBED
248
-//
248
+
249 249
 //#define BED_LIMIT_SWITCHING
250 250
 
251 251
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -257,27 +257,28 @@ Here are some standard links for getting your machine calibrated:
257 257
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
258 258
 
259 259
 #ifdef PIDTEMPBED
260
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
261
-
262
-//Kossel Pro heated bed plate with borosilicate glass
263
-//from pidautotune (M303 E-1 S60 C8)
264
-    #define  DEFAULT_bedKp 370.25
265
-    #define  DEFAULT_bedKi 62.77
266
-    #define  DEFAULT_bedKd 545.98
267
-
268
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
269
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
270
-//    #define  DEFAULT_bedKp 10.00
271
-//    #define  DEFAULT_bedKi .023
272
-//    #define  DEFAULT_bedKd 305.4
273
-
274
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
275
-//from pidautotune
276
-//    #define  DEFAULT_bedKp 97.1
277
-//    #define  DEFAULT_bedKi 1.41
278
-//    #define  DEFAULT_bedKd 1675.16
279
-
280
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
260
+
261
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
262
+
263
+  //Kossel Pro heated bed plate with borosilicate glass
264
+  //from pidautotune (M303 E-1 S60 C8)
265
+  #define  DEFAULT_bedKp 370.25
266
+  #define  DEFAULT_bedKi 62.77
267
+  #define  DEFAULT_bedKd 545.98
268
+
269
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
270
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
271
+  //#define  DEFAULT_bedKp 10.00
272
+  //#define  DEFAULT_bedKi .023
273
+  //#define  DEFAULT_bedKd 305.4
274
+
275
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
276
+  //from pidautotune
277
+  //#define  DEFAULT_bedKp 97.1
278
+  //#define  DEFAULT_bedKi 1.41
279
+  //#define  DEFAULT_bedKd 1675.16
280
+
281
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
281 282
 #endif // PIDTEMPBED
282 283
 
283 284
 // @section extruder
@@ -306,25 +307,10 @@ Here are some standard links for getting your machine calibrated:
306 307
  * The solution: Once the temperature reaches the target, start observing.
307 308
  * If the temperature stays too far below the target (hysteresis) for too long,
308 309
  * the firmware will halt as a safety precaution.
309
- *
310
- * Note that because the countdown starts only AFTER the temperature reaches
311
- * the target, this will not catch a thermistor that is already disconnected
312
- * when the print starts!
313
- *
314
- * To enable for all extruder heaters, uncomment the two defines below:
315 310
  */
316 311
 
317
-#define THERMAL_RUNAWAY_PROTECTION_HOTENDS // Enable thermal protection for all extruders
318
-#define THERMAL_RUNAWAY_PROTECTION_BED     // Enable thermal protection for the heated bed
319
-// Parameters for all extruder heaters
320
-#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 // in seconds
321
-#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius
322
-
323
-// To enable for the bed heater, uncomment the two defines below:
324
-
325
-// Parameters for the bed heater
326
-#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 // in seconds
327
-#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius
312
+#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
313
+#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed
328 314
 
329 315
 //===========================================================================
330 316
 //============================= Mechanical Settings =========================
@@ -342,35 +328,36 @@ Here are some standard links for getting your machine calibrated:
342 328
 #define DELTA
343 329
 
344 330
 #ifdef DELTA
345
-// Make delta curves from many straight lines (linear interpolation).
346
-// This is a trade-off between visible corners (not enough segments)
347
-// and processor overload (too many expensive sqrt calls).
348
-#define DELTA_SEGMENTS_PER_SECOND 160
349 331
 
350
-// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
332
+  // Make delta curves from many straight lines (linear interpolation).
333
+  // This is a trade-off between visible corners (not enough segments)
334
+  // and processor overload (too many expensive sqrt calls).
335
+  #define DELTA_SEGMENTS_PER_SECOND 160
336
+
337
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
351 338
 
352
-// Center-to-center distance of the holes in the diagonal push rods.
353
-#define DELTA_DIAGONAL_ROD 301.0 // mm
339
+  // Center-to-center distance of the holes in the diagonal push rods.
340
+  #define DELTA_DIAGONAL_ROD 301.0 // mm
354 341
 
355
-// Horizontal offset from middle of printer to smooth rod center.
356
-#define DELTA_SMOOTH_ROD_OFFSET 212.357 // mm
342
+  // Horizontal offset from middle of printer to smooth rod center.
343
+  #define DELTA_SMOOTH_ROD_OFFSET 212.357 // mm
357 344
 
358
-// Horizontal offset of the universal joints on the end effector.
359
-#define DELTA_EFFECTOR_OFFSET 30.0 // mm
345
+  // Horizontal offset of the universal joints on the end effector.
346
+  #define DELTA_EFFECTOR_OFFSET 30.0 // mm
360 347
 
361
-// Horizontal offset of the universal joints on the carriages.
362
-#define DELTA_CARRIAGE_OFFSET 30.0 // mm
348
+  // Horizontal offset of the universal joints on the carriages.
349
+  #define DELTA_CARRIAGE_OFFSET 30.0 // mm
363 350
 
364
-// Horizontal distance bridged by diagonal push rods when effector is centered.
365
-#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
351
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
352
+  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
366 353
 
367
-// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
368
-#define DELTA_PRINTABLE_RADIUS 127
354
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
355
+  #define DELTA_PRINTABLE_RADIUS 127
369 356
 
370 357
 #endif
371 358
 
372 359
 // Enable this option for Toshiba steppers
373
-// #define CONFIG_STEPPERS_TOSHIBA
360
+//#define CONFIG_STEPPERS_TOSHIBA
374 361
 
375 362
 // @section homing
376 363
 
@@ -385,18 +372,10 @@ Here are some standard links for getting your machine calibrated:
385 372
   // #define ENDSTOPPULLUP_XMIN
386 373
   // #define ENDSTOPPULLUP_YMIN
387 374
   // #define ENDSTOPPULLUP_ZMIN
375
+  // #define ENDSTOPPULLUP_ZPROBE
388 376
 #endif
389 377
 
390
-#ifdef ENDSTOPPULLUPS
391
-  #define ENDSTOPPULLUP_XMAX
392
-  #define ENDSTOPPULLUP_YMAX
393
-  #define ENDSTOPPULLUP_ZMAX
394
-  #define ENDSTOPPULLUP_XMIN
395
-  #define ENDSTOPPULLUP_YMIN
396
-  #define ENDSTOPPULLUP_ZMIN
397
-#endif
398
-
399
-// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
378
+// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
400 379
 const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
401 380
 const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
402 381
 const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
@@ -407,10 +386,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
407 386
 //#define DISABLE_MAX_ENDSTOPS
408 387
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
409 388
 
410
-// Disable max endstops for compatibility with endstop checking routine
411
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
412
-  #define DISABLE_MAX_ENDSTOPS
413
-#endif
389
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
390
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
391
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
392
+// this has no effect.
393
+//#define DISABLE_Z_PROBE_ENDSTOP
414 394
 
415 395
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
416 396
 // :{0:'Low',1:'High'}
@@ -483,9 +463,23 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
483 463
 //===========================================================================
484 464
 //=========================== Manual Bed Leveling ===========================
485 465
 //===========================================================================
486
-#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
487
-#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
488
-#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
466
+
467
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
468
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling
469
+
470
+#ifdef MANUAL_BED_LEVELING
471
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
472
+#endif  // MANUAL_BED_LEVELING
473
+
474
+#ifdef MESH_BED_LEVELING
475
+  #define MESH_MIN_X 10
476
+  #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
477
+  #define MESH_MIN_Y 10
478
+  #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
479
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
480
+  #define MESH_NUM_Y_POINTS 3
481
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
482
+#endif  // MESH_BED_LEVELING
489 483
 
490 484
 //===========================================================================
491 485
 //============================ Bed Auto Leveling ============================
@@ -494,7 +488,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
494 488
 // @section bedlevel
495 489
 
496 490
 #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
497
-// /// #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
491
+//#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
498 492
 
499 493
 #ifdef ENABLE_AUTO_BED_LEVELING
500 494
 
@@ -513,10 +507,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
513 507
   // Note: this feature generates 10KB extra code size
514 508
   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
515 509
 
516
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
517
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
518
-  // and least squares solution is calculated
519
-  // Note: this feature occupies 10'206 byte
520 510
   #ifdef AUTO_BED_LEVELING_GRID
521 511
 
522 512
     // set the rectangle in which to probe
@@ -527,18 +517,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
527 517
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
528 518
 
529 519
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
530
-    // probe at the points of a lattice grid
531
-    #define AUTO_BED_LEVELING_GRID_POINTS 7
532
-    #define AUTO_BED_LEVELING_GRID_X ((RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION) / (AUTO_BED_LEVELING_GRID_POINTS - 1))
533
-    #define AUTO_BED_LEVELING_GRID_Y ((BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION) / (AUTO_BED_LEVELING_GRID_POINTS - 1))
534 520
 
535 521
     // Non-linear bed leveling will be used.
536 522
     // Compensate by interpolating between the nearest four Z probe values for each point.
537 523
     // Useful for deltas where the print surface may appear like a bowl or dome shape.
538 524
     // Works best with ACCURATE_BED_LEVELING_POINTS 5 or higher.
539
-    #define NONLINEAR_BED_LEVELING
525
+    #define AUTO_BED_LEVELING_GRID_POINTS 7
540 526
 
541
-  #else  // not AUTO_BED_LEVELING_GRID
527
+  #else  // !AUTO_BED_LEVELING_GRID
542 528
 
543 529
       // Arbitrary points to probe. A simple cross-product
544 530
       // is used to estimate the plane of the bed.
@@ -574,10 +560,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
574 560
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
575 561
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
576 562
 
577
-  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
578
-  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
579
-  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
580
-
581 563
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
582 564
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
583 565
   #define Z_PROBE_ALLEN_KEY
@@ -586,15 +568,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
586 568
     // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
587 569
     // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.
588 570
 
589
-    // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
590
-    // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
591
-    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30
571
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
592 572
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS
593
-    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100
573
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
594 574
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
595
-    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0
575
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0
596 576
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS
597
-    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100
577
+    //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
598 578
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
599 579
 
600 580
     //#define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position
@@ -661,6 +641,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
661 641
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
662 642
   #endif
663 643
 
644
+  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
645
+  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
646
+  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
647
+
664 648
 //  #define PROBE_SERVO_DEACTIVATION_DELAY 300
665 649
 
666 650
 
@@ -676,9 +660,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
676 660
 
677 661
   #ifdef Z_SAFE_HOMING
678 662
 
679
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
680
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
663
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
664
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
681 665
 
666
+  #endif
682 667
 
683 668
   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
684 669
   // If you would like to use both a Z PROBE and a Z MIN endstop together or just a Z PROBE with a custom pin, uncomment #define Z_PROBE_ENDSTOP and read the instructions below.
@@ -693,7 +678,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
693 678
   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
694 679
 
695 680
   //#define Z_PROBE_ENDSTOP
696
-  #endif // Z_SAFE_HOMING
697 681
 
698 682
 #endif // ENABLE_AUTO_BED_LEVELING
699 683
 
@@ -718,8 +702,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
718 702
  * MOVEMENT SETTINGS
719 703
  */
720 704
 
721
-  ////// #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
722
-// set the homing speeds (mm/min)
723 705
 // delta homing speeds must be the same on xyz
724 706
 #define HOMING_FEEDRATE_X (200*60)
725 707
 #define HOMING_FEEDRATE_Y (200*60)
@@ -743,12 +725,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
743 725
 #define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
744 726
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
745 727
 
746
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
747
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
748
-// For the other hotends it is their distance from the extruder 0 hotend.
749
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
750
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
751
-
752 728
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
753 729
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
754 730
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
@@ -779,6 +755,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
779 755
 // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
780 756
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
781 757
 //define this to enable EEPROM support
758
+//#define EEPROM_SETTINGS
759
+
782 760
 #ifdef EEPROM_SETTINGS
783 761
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
784 762
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
@@ -799,7 +777,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
799 777
 // @section lcd
800 778
 
801 779
 // Define your display language below. Replace (en) with your language code and uncomment.
802
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
780
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
803 781
 // See also language.h
804 782
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
805 783
 
@@ -822,6 +800,9 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
822 800
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
823 801
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
824 802
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
803
+// PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
804
+// http://reprap.org/wiki/PanelOne
805
+//#define PANEL_ONE
825 806
 
826 807
 // The MaKr3d Makr-Panel with graphic controller and SD support
827 808
 // http://reprap.org/wiki/MaKr3d_MaKrPanel
@@ -837,6 +818,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
837 818
 //
838 819
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
839 820
 //#define ELB_FULL_GRAPHIC_CONTROLLER
821
+//#define SDCARDDETECTINVERTED
840 822
 
841 823
 // The RepRapDiscount Smart Controller (white PCB)
842 824
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
@@ -862,136 +844,37 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
862 844
 // REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C
863 845
 //#define RA_CONTROL_PANEL
864 846
 
865
-//automatic expansion
866
-#if defined (MAKRPANEL)
867
- #define DOGLCD
868
- #define SDSUPPORT
869
- #define ULTIPANEL
870
- #define NEWPANEL
871
- #define DEFAULT_LCD_CONTRAST 17
872
-#endif
873
-
874
-#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
875
- #define DOGLCD
876
- #define U8GLIB_ST7920
877
- #define REPRAP_DISCOUNT_SMART_CONTROLLER
878
-#endif
879
-
880
-#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
881
- #define ULTIPANEL
882
- #define NEWPANEL
883
-#endif
884
-
885
-#if defined(REPRAPWORLD_KEYPAD)
886
-  #define NEWPANEL
887
-  #define ULTIPANEL
888
-#endif
889
-#if defined(RA_CONTROL_PANEL)
890
- #define ULTIPANEL
891
- #define NEWPANEL
892
- #define LCD_I2C_TYPE_PCA8574
893
- #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
894
-#endif
847
+// Delta calibration menu
848
+// uncomment to add three points calibration menu option.
849
+// See http://minow.blogspot.com/index.html#4918805519571907051
850
+// If needed, adjust the X, Y, Z calibration coordinates
851
+// in ultralcd.cpp@lcd_delta_calibrate_menu()
852
+// #define DELTA_CALIBRATION_MENU
895 853
 
896 854
 /**
897 855
  * I2C Panels
898 856
  */
899 857
 
900 858
 //#define LCD_I2C_SAINSMART_YWROBOT
901
-#ifdef LCD_I2C_SAINSMART_YWROBOT
902
-  // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home )
903
-  // Make sure it is placed in the Arduino libraries directory.
904
-  #define LCD_I2C_TYPE_PCF8575
905
-  #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
906
-  #define NEWPANEL
907
-  #define ULTIPANEL
908
-#endif
909 859
 
910 860
 // PANELOLU2 LCD with status LEDs, separate encoder and click inputs
911 861
 //#define LCD_I2C_PANELOLU2
912
-#ifdef LCD_I2C_PANELOLU2
913
-  // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
914
-  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
915
-  // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file)
916
-  // Note: The PANELOLU2 encoder click input can either be directly connected to a pin
917
-  //       (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1).
918
-  #define LCD_I2C_TYPE_MCP23017
919
-  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
920
-  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
921
-  #define NEWPANEL
922
-  #define ULTIPANEL
923
-
924
-  #ifndef ENCODER_PULSES_PER_STEP
925
-	#define ENCODER_PULSES_PER_STEP 4
926
-  #endif
927
-
928
-  #ifndef ENCODER_STEPS_PER_MENU_ITEM
929
-	#define ENCODER_STEPS_PER_MENU_ITEM 1
930
-  #endif
931
-
932
-
933
-  #ifdef LCD_USE_I2C_BUZZER
934
-	#define LCD_FEEDBACK_FREQUENCY_HZ 1000
935
-	#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
936
-  #endif
937
-
938
-#endif
939 862
 
940 863
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
941 864
 //#define LCD_I2C_VIKI
942
-#ifdef LCD_I2C_VIKI
943
-  // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
944
-  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
945
-  // Note: The pause/stop/resume LCD button pin should be connected to the Arduino
946
-  //       BTN_ENC pin (or set BTN_ENC to -1 if not used)
947
-  #define LCD_I2C_TYPE_MCP23017
948
-  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
949
-  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
950
-  #define NEWPANEL
951
-  #define ULTIPANEL
952
-#endif
865
+  
866
+// SSD1306 OLED generic display support
867
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
868
+//#define U8GLIB_SSD1306
953 869
 
954 870
 // Shift register panels
955 871
 // ---------------------
956 872
 // 2 wire Non-latching LCD SR from:
957 873
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
958
-//#define SR_LCD
959
-#ifdef SR_LCD
960
-   #define SR_LCD_2W_NL    // Non latching 2 wire shift register
961
-   //#define NEWPANEL
962
-#endif
963
-
874
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
875
+//#define SAV_3DLCD
964 876
 
965 877
 // @section extras
966
-#ifdef ULTIPANEL
967
-//  #define NEWPANEL  //enable this if you have a click-encoder panel
968
-  #define SDSUPPORT
969
-  #define ULTRA_LCD
970
-  #ifdef DOGLCD // Change number of lines to match the DOG graphic display
971
-    #define LCD_WIDTH 20
972
-    #define LCD_HEIGHT 5
973
-  #else
974
-    #define LCD_WIDTH 20
975
-    #define LCD_HEIGHT 4
976
-  #endif
977
-#else //no panel but just LCD
978
-  #ifdef ULTRA_LCD
979
-  #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
980
-    #define LCD_WIDTH 20
981
-    #define LCD_HEIGHT 5
982
-  #else
983
-    #define LCD_WIDTH 16
984
-    #define LCD_HEIGHT 2
985
-  #endif
986
-  #endif
987
-#endif
988
-
989
-// default LCD contrast for dogm-like LCD displays
990
-#ifdef DOGLCD
991
-# ifndef DEFAULT_LCD_CONTRAST
992
-#  define DEFAULT_LCD_CONTRAST 32
993
-# endif
994
-#endif
995 878
 
996 879
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
997 880
 //#define FAST_PWM_FAN
@@ -1042,7 +925,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
1042 925
 // Servo Endstops
1043 926
 //
1044 927
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1045
-// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
928
+// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
1046 929
 //
1047 930
 //#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
1048 931
 //#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles
@@ -1061,13 +944,13 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
1061 944
 // Uncomment below to enable
1062 945
 //#define FILAMENT_SENSOR
1063 946
 
1064
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
1065
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
947
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
948
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
1066 949
 
1067
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
1068
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
1069
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
1070
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
950
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
951
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
952
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
953
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
1071 954
 
1072 955
 //defines used in the code
1073 956
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 104
- 54
Marlin/example_configurations/makibox/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 250000
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -79,16 +80,26 @@ Here are some standard links for getting your machine calibrated:
79 80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80 81
 
81 82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82 84
 #define EXTRUDERS 1
83 85
 
86
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
87
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
88
+// For the other hotends it is their distance from the extruder 0 hotend.
89
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
90
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
91
+
84 92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85 93
 // 1 = ATX
86 94
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
95
+// :{1:'ATX',2:'X-Box 360'}
87 96
 
88 97
 #define POWER_SUPPLY 1
89 98
 
90 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
91
-// #define PS_DEFAULT_OFF
100
+//#define PS_DEFAULT_OFF
101
+
102
+// @section temperature
92 103
 
93 104
 //===========================================================================
94 105
 //============================= Thermal Settings ============================
@@ -194,21 +205,22 @@ Here are some standard links for getting your machine calibrated:
194 205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
195 206
   #define K1 0.95 //smoothing factor within the PID
196 207
 
197
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
198
-// Ultimaker
199
-    #define  DEFAULT_Kp 22.2
200
-    #define  DEFAULT_Ki 1.08
201
-    #define  DEFAULT_Kd 114
202
-
203
-// MakerGear
204
-//    #define  DEFAULT_Kp 7.0
205
-//    #define  DEFAULT_Ki 0.1
206
-//    #define  DEFAULT_Kd 12
207
-
208
-// Mendel Parts V9 on 12V
209
-//    #define  DEFAULT_Kp 63.0
210
-//    #define  DEFAULT_Ki 2.25
211
-//    #define  DEFAULT_Kd 440
208
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
+  // Ultimaker
210
+  #define  DEFAULT_Kp 22.2
211
+  #define  DEFAULT_Ki 1.08
212
+  #define  DEFAULT_Kd 114
213
+
214
+  // MakerGear
215
+  //#define  DEFAULT_Kp 7.0
216
+  //#define  DEFAULT_Ki 0.1
217
+  //#define  DEFAULT_Kd 12
218
+
219
+  // Mendel Parts V9 on 12V
220
+  //#define  DEFAULT_Kp 63.0
221
+  //#define  DEFAULT_Ki 2.25
222
+  //#define  DEFAULT_Kd 440
223
+
212 224
 #endif // PIDTEMP
213 225
 
214 226
 //===========================================================================
@@ -224,7 +236,7 @@ Here are some standard links for getting your machine calibrated:
224 236
 // shouldn't use bed PID until someone else verifies your hardware works.
225 237
 // If this is enabled, find your own PID constants below.
226 238
 //#define PIDTEMPBED
227
-//
239
+
228 240
 //#define BED_LIMIT_SWITCHING
229 241
 
230 242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -239,23 +251,25 @@ Here are some standard links for getting your machine calibrated:
239 251
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
240 252
 
241 253
 #ifdef PIDTEMPBED
242
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
243 254
 
244
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
245
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
246
-    #define  DEFAULT_bedKp 10.00
247
-    #define  DEFAULT_bedKi .023
248
-    #define  DEFAULT_bedKd 305.4
255
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
249 256
 
250
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
251
-//from pidautotune
252
-//    #define  DEFAULT_bedKp 97.1
253
-//    #define  DEFAULT_bedKi 1.41
254
-//    #define  DEFAULT_bedKd 1675.16
257
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
258
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
259
+  #define  DEFAULT_bedKp 10.00
260
+  #define  DEFAULT_bedKi .023
261
+  #define  DEFAULT_bedKd 305.4
255 262
 
256
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
263
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
264
+  //from pidautotune
265
+  //#define  DEFAULT_bedKp 97.1
266
+  //#define  DEFAULT_bedKi 1.41
267
+  //#define  DEFAULT_bedKd 1675.16
268
+
269
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
257 270
 #endif // PIDTEMPBED
258 271
 
272
+// @section extruder
259 273
 
260 274
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
261 275
 //can be software-disabled for whatever purposes by
@@ -290,11 +304,15 @@ Here are some standard links for getting your machine calibrated:
290 304
 //============================= Mechanical Settings =========================
291 305
 //===========================================================================
292 306
 
307
+// @section machine
308
+
293 309
 // Uncomment this option to enable CoreXY kinematics
294 310
 // #define COREXY
295 311
 
296 312
 // Enable this option for Toshiba steppers
297
-// #define CONFIG_STEPPERS_TOSHIBA
313
+//#define CONFIG_STEPPERS_TOSHIBA
314
+
315
+// @section homing
298 316
 
299 317
 // coarse Endstop Settings
300 318
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@@ -307,6 +325,7 @@ Here are some standard links for getting your machine calibrated:
307 325
   // #define ENDSTOPPULLUP_XMIN
308 326
   // #define ENDSTOPPULLUP_YMIN
309 327
   // #define ENDSTOPPULLUP_ZMIN
328
+  // #define ENDSTOPPULLUP_ZPROBE
310 329
 #endif
311 330
 
312 331
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -320,7 +339,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
320 339
 //#define DISABLE_MAX_ENDSTOPS
321 340
 //#define DISABLE_MIN_ENDSTOPS
322 341
 
342
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
343
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
344
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
345
+// this has no effect.
346
+//#define DISABLE_Z_PROBE_ENDSTOP
347
+
323 348
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
349
+// :{0:'Low',1:'High'}
324 350
 #define X_ENABLE_ON 0
325 351
 #define Y_ENABLE_ON 0
326 352
 #define Z_ENABLE_ON 0
@@ -331,21 +357,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
331 357
 #define DISABLE_X false
332 358
 #define DISABLE_Y false
333 359
 #define DISABLE_Z false
360
+
361
+// @section extruder
362
+
334 363
 #define DISABLE_E false // For all extruders
335 364
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
336 365
 
366
+// @section machine
367
+
337 368
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
338 369
 #define INVERT_X_DIR false
339 370
 #define INVERT_Y_DIR false
340 371
 #define INVERT_Z_DIR false
341 372
 
373
+// @section extruder
374
+
375
+// For direct drive extruder v9 set to true, for geared extruder set to false.
342 376
 #define INVERT_E0_DIR true
343 377
 #define INVERT_E1_DIR false
344 378
 #define INVERT_E2_DIR false
345 379
 #define INVERT_E3_DIR false
346 380
 
381
+// @section homing
382
+
347 383
 // ENDSTOP SETTINGS:
348 384
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
385
+// :[-1,1]
349 386
 #define X_HOME_DIR -1
350 387
 #define Y_HOME_DIR -1
351 388
 #define Z_HOME_DIR -1
@@ -353,6 +390,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
353 390
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
354 391
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
355 392
 
393
+// @section machine
394
+
356 395
 // Travel limits after homing (units are in mm)
357 396
 #define X_MIN_POS 0
358 397
 #define Y_MIN_POS 0
@@ -372,7 +411,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
372 411
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
373 412
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
374 413
   #define FILAMENT_RUNOUT_SCRIPT "M600"
375
-#endif 
414
+#endif
415
+
376 416
 //===========================================================================
377 417
 //=========================== Manual Bed Leveling ===========================
378 418
 //===========================================================================
@@ -381,7 +421,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
381 421
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
382 422
 
383 423
 #ifdef MANUAL_BED_LEVELING
384
-  #define MBL_Z_STEP 0.025
424
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
385 425
 #endif  // MANUAL_BED_LEVELING
386 426
 
387 427
 #ifdef MESH_BED_LEVELING
@@ -398,6 +438,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
398 438
 //============================ Bed Auto Leveling ============================
399 439
 //===========================================================================
400 440
 
441
+// @section bedlevel
442
+
401 443
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
402 444
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
403 445
 
@@ -461,7 +503,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
461 503
 
462 504
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
463 505
                                                                             //Useful to retract a deployable probe.
464
-                                                                           
506
+
465 507
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
466 508
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
467 509
 
@@ -484,8 +526,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
484 526
 
485 527
   #ifdef Z_SAFE_HOMING
486 528
 
487
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
488
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
529
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
530
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
489 531
 
490 532
   #endif
491 533
 
@@ -506,6 +548,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
506 548
 #endif // ENABLE_AUTO_BED_LEVELING
507 549
 
508 550
 
551
+// @section homing
552
+
509 553
 // The position of the homing switches
510 554
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
511 555
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -519,6 +563,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
519 563
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
520 564
 #endif
521 565
 
566
+// @section movement
567
+
522 568
 /**
523 569
  * MOVEMENT SETTINGS
524 570
  */
@@ -532,15 +578,9 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
532 578
 #define DEFAULT_MAX_ACCELERATION      {2000,2000,30,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
533 579
 
534 580
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
535
-#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
581
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
536 582
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
537 583
 
538
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
539
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
540
-// For the other hotends it is their distance from the extruder 0 hotend.
541
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
542
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
543
-
544 584
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
545 585
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
546 586
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
@@ -551,6 +591,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
551 591
 //============================= Additional Features ===========================
552 592
 //=============================================================================
553 593
 
594
+// @section more
595
+
554 596
 // Custom M code points
555 597
 #define CUSTOM_M_CODES
556 598
 #ifdef CUSTOM_M_CODES
@@ -561,6 +603,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
561 603
   #endif
562 604
 #endif
563 605
 
606
+// @section extras
564 607
 
565 608
 // EEPROM
566 609
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -572,9 +615,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
572 615
 
573 616
 #ifdef EEPROM_SETTINGS
574 617
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
575
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
618
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
576 619
 #endif
577 620
 
621
+// @section temperature
622
+
578 623
 // Preheat Constants
579 624
 #define PLA_PREHEAT_HOTEND_TEMP 180
580 625
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -585,10 +630,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
585 630
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
586 631
 
587 632
 //==============================LCD and SD support=============================
633
+// @section lcd
588 634
 
589 635
 // Define your display language below. Replace (en) with your language code and uncomment.
590 636
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
591
-
592 637
 // See also language.h
593 638
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
594 639
 
@@ -611,7 +656,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
611 656
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
612 657
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
613 658
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
614
-
615 659
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
616 660
 // http://reprap.org/wiki/PanelOne
617 661
 //#define PANEL_ONE
@@ -667,14 +711,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
667 711
 
668 712
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
669 713
 //#define LCD_I2C_VIKI
714
+  
715
+// SSD1306 OLED generic display support
716
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
717
+//#define U8GLIB_SSD1306
670 718
 
671 719
 // Shift register panels
672 720
 // ---------------------
673 721
 // 2 wire Non-latching LCD SR from:
674 722
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
675
-
723
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
676 724
 //#define SAV_3DLCD
677 725
 
726
+// @section extras
727
+
678 728
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
679 729
 //#define FAST_PWM_FAN
680 730
 
@@ -698,7 +748,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
698 748
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
699 749
 // #define PHOTOGRAPH_PIN     23
700 750
 
701
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
751
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
702 752
 //#define SF_ARC_FIX
703 753
 
704 754
 // Support for the BariCUDA Paste Extruder.
@@ -743,16 +793,16 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
743 793
 // Uncomment below to enable
744 794
 //#define FILAMENT_SENSOR
745 795
 
746
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
747
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
796
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
797
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
748 798
 
749
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
750
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
751
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
752
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
799
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
800
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
801
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
802
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
753 803
 
754 804
 //defines used in the code
755
-#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
805
+#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
756 806
 
757 807
 //When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status.  Status will appear for 5 sec.
758 808
 //#define FILAMENT_LCD_DISPLAY

+ 107
- 57
Marlin/example_configurations/tvrrug/Round2/Configuration.h Просмотреть файл

@@ -59,6 +59,7 @@ Here are some standard links for getting your machine calibrated:
59 59
 #define SERIAL_PORT 0
60 60
 
61 61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62 63
 #define BAUDRATE 250000
63 64
 
64 65
 // This enables the serial port associated to the Bluetooth interface
@@ -79,16 +80,26 @@ Here are some standard links for getting your machine calibrated:
79 80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80 81
 
81 82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82 84
 #define EXTRUDERS 1
83 85
 
86
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
87
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
88
+// For the other hotends it is their distance from the extruder 0 hotend.
89
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
90
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
91
+
84 92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85 93
 // 1 = ATX
86 94
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
95
+// :{1:'ATX',2:'X-Box 360'}
87 96
 
88 97
 #define POWER_SUPPLY 1
89 98
 
90 99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
91
-// #define PS_DEFAULT_OFF
100
+//#define PS_DEFAULT_OFF
101
+
102
+// @section temperature
92 103
 
93 104
 //===========================================================================
94 105
 //============================= Thermal Settings ============================
@@ -194,26 +205,27 @@ Here are some standard links for getting your machine calibrated:
194 205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
195 206
   #define K1 0.95 //smoothing factor within the PID
196 207
 
197
-// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
198
-// J-Head Mk V-B
199
-    #define  DEFAULT_Kp 25.05
200
-    #define  DEFAULT_Ki 2.30
201
-    #define  DEFAULT_Kd 68.15
202
-
203
-// Ultimaker
204
-//    #define  DEFAULT_Kp 22.2
205
-//    #define  DEFAULT_Ki 1.08
206
-//    #define  DEFAULT_Kd 114
207
-
208
-// MakerGear
209
-//    #define  DEFAULT_Kp 7.0
210
-//    #define  DEFAULT_Ki 0.1
211
-//    #define  DEFAULT_Kd 12
212
-
213
-// Mendel Parts V9 on 12V
214
-//    #define  DEFAULT_Kp 63.0
215
-//    #define  DEFAULT_Ki 2.25
216
-//    #define  DEFAULT_Kd 440
208
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
209
+  // J-Head Mk V-B
210
+  #define  DEFAULT_Kp 25.05
211
+  #define  DEFAULT_Ki 2.30
212
+  #define  DEFAULT_Kd 68.15
213
+
214
+  // Ultimaker
215
+  //#define  DEFAULT_Kp 22.2
216
+  //#define  DEFAULT_Ki 1.08
217
+  //#define  DEFAULT_Kd 114
218
+
219
+  // MakerGear
220
+  //#define  DEFAULT_Kp 7.0
221
+  //#define  DEFAULT_Ki 0.1
222
+  //#define  DEFAULT_Kd 12
223
+
224
+  // Mendel Parts V9 on 12V
225
+  //#define  DEFAULT_Kp 63.0
226
+  //#define  DEFAULT_Ki 2.25
227
+  //#define  DEFAULT_Kd 440
228
+
217 229
 #endif // PIDTEMP
218 230
 
219 231
 //===========================================================================
@@ -229,7 +241,7 @@ Here are some standard links for getting your machine calibrated:
229 241
 // shouldn't use bed PID until someone else verifies your hardware works.
230 242
 // If this is enabled, find your own PID constants below.
231 243
 //#define PIDTEMPBED
232
-//
244
+
233 245
 //#define BED_LIMIT_SWITCHING
234 246
 
235 247
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
@@ -241,23 +253,25 @@ Here are some standard links for getting your machine calibrated:
241 253
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
242 254
 
243 255
 #ifdef PIDTEMPBED
244
-    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
245 256
 
246
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
247
-//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
248
-    #define  DEFAULT_bedKp 10.00
249
-    #define  DEFAULT_bedKi .023
250
-    #define  DEFAULT_bedKd 305.4
257
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
251 258
 
252
-//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
253
-//from pidautotune
254
-//    #define  DEFAULT_bedKp 97.1
255
-//    #define  DEFAULT_bedKi 1.41
256
-//    #define  DEFAULT_bedKd 1675.16
259
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
260
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
261
+  #define  DEFAULT_bedKp 10.00
262
+  #define  DEFAULT_bedKi .023
263
+  #define  DEFAULT_bedKd 305.4
257 264
 
258
-// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
265
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
266
+  //from pidautotune
267
+  //#define  DEFAULT_bedKp 97.1
268
+  //#define  DEFAULT_bedKi 1.41
269
+  //#define  DEFAULT_bedKd 1675.16
270
+
271
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
259 272
 #endif // PIDTEMPBED
260 273
 
274
+// @section extruder
261 275
 
262 276
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
263 277
 //can be software-disabled for whatever purposes by
@@ -292,12 +306,16 @@ Here are some standard links for getting your machine calibrated:
292 306
 //============================= Mechanical Settings =========================
293 307
 //===========================================================================
294 308
 
309
+// @section machine
310
+
295 311
 // Uncomment this option to enable CoreXY kinematics
296 312
 // #define COREXY
297 313
 
298 314
 // Enable this option for Toshiba steppers
299 315
 #define CONFIG_STEPPERS_TOSHIBA
300 316
 
317
+// @section homing
318
+
301 319
 // coarse Endstop Settings
302 320
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
303 321
 
@@ -309,6 +327,7 @@ Here are some standard links for getting your machine calibrated:
309 327
   // #define ENDSTOPPULLUP_XMIN
310 328
   // #define ENDSTOPPULLUP_YMIN
311 329
   // #define ENDSTOPPULLUP_ZMIN
330
+  // #define ENDSTOPPULLUP_ZPROBE
312 331
 #endif
313 332
 
314 333
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -322,7 +341,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
322 341
 //#define DISABLE_MAX_ENDSTOPS
323 342
 //#define DISABLE_MIN_ENDSTOPS
324 343
 
344
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
345
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
346
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
347
+// this has no effect.
348
+//#define DISABLE_Z_PROBE_ENDSTOP
349
+
325 350
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
351
+// :{0:'Low',1:'High'}
326 352
 #define X_ENABLE_ON 1
327 353
 #define Y_ENABLE_ON 1
328 354
 #define Z_ENABLE_ON 1
@@ -333,20 +359,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
333 359
 #define DISABLE_X false
334 360
 #define DISABLE_Y false
335 361
 #define DISABLE_Z false
362
+
363
+// @section extruder
364
+
336 365
 #define DISABLE_E false // For all extruders
337 366
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
338 367
 
368
+// @section machine
369
+
339 370
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
340 371
 #define INVERT_X_DIR false
341 372
 #define INVERT_Y_DIR false
342 373
 #define INVERT_Z_DIR true
374
+
375
+// @section extruder
376
+
377
+// For direct drive extruder v9 set to true, for geared extruder set to false.
343 378
 #define INVERT_E0_DIR false
344 379
 #define INVERT_E1_DIR false
345 380
 #define INVERT_E2_DIR false
346 381
 #define INVERT_E3_DIR false
347 382
 
383
+// @section homing
384
+
348 385
 // ENDSTOP SETTINGS:
349 386
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
387
+// :[-1,1]
350 388
 #define X_HOME_DIR -1
351 389
 #define Y_HOME_DIR -1
352 390
 #define Z_HOME_DIR -1
@@ -354,6 +392,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
354 392
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
355 393
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
356 394
 
395
+// @section machine
396
+
357 397
 // Travel limits after homing (units are in mm)
358 398
 #define X_MIN_POS 0
359 399
 #define Y_MIN_POS 0
@@ -373,7 +413,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
373 413
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
374 414
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
375 415
   #define FILAMENT_RUNOUT_SCRIPT "M600"
376
-#endif 
416
+#endif
377 417
 
378 418
 //===========================================================================
379 419
 //=========================== Manual Bed Leveling ===========================
@@ -383,7 +423,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
383 423
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
384 424
 
385 425
 #ifdef MANUAL_BED_LEVELING
386
-  #define MBL_Z_STEP 0.025
426
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
387 427
 #endif  // MANUAL_BED_LEVELING
388 428
 
389 429
 #ifdef MESH_BED_LEVELING
@@ -400,6 +440,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
400 440
 //============================ Bed Auto Leveling ============================
401 441
 //===========================================================================
402 442
 
443
+// @section bedlevel
444
+
403 445
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
404 446
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
405 447
 
@@ -463,7 +505,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
463 505
 
464 506
 //   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
465 507
                                                                             //Useful to retract a deployable probe.
466
-                                                                           
508
+
467 509
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
468 510
   //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
469 511
 
@@ -486,8 +528,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
486 528
 
487 529
   #ifdef Z_SAFE_HOMING
488 530
 
489
-    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
490
-    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
531
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
532
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
491 533
 
492 534
   #endif
493 535
 
@@ -508,6 +550,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
508 550
 #endif // ENABLE_AUTO_BED_LEVELING
509 551
 
510 552
 
553
+// @section homing
554
+
511 555
 // The position of the homing switches
512 556
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
513 557
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
@@ -521,6 +565,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
521 565
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
522 566
 #endif
523 567
 
568
+// @section movement
569
+
524 570
 /**
525 571
  * MOVEMENT SETTINGS
526 572
  */
@@ -541,12 +587,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
541 587
 #define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
542 588
 #define DEFAULT_TRAVEL_ACCELERATION   500    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
543 589
 
544
-// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
545
-// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
546
-// For the other hotends it is their distance from the extruder 0 hotend.
547
-// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
548
-// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
549
-
550 590
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
551 591
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
552 592
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
@@ -557,6 +597,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
557 597
 //============================= Additional Features ===========================
558 598
 //=============================================================================
559 599
 
600
+// @section more
601
+
560 602
 // Custom M code points
561 603
 #define CUSTOM_M_CODES
562 604
 #ifdef CUSTOM_M_CODES
@@ -567,6 +609,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
567 609
   #endif
568 610
 #endif
569 611
 
612
+// @section extras
570 613
 
571 614
 // EEPROM
572 615
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
@@ -578,9 +621,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
578 621
 
579 622
 #ifdef EEPROM_SETTINGS
580 623
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
581
-  #define EEPROM_CHITCHAT // please keep turned on if you can.
624
+  #define EEPROM_CHITCHAT // Please keep turned on if you can.
582 625
 #endif
583 626
 
627
+// @section temperature
628
+
584 629
 // Preheat Constants
585 630
 #define PLA_PREHEAT_HOTEND_TEMP 180
586 631
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -591,10 +636,10 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
591 636
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
592 637
 
593 638
 //==============================LCD and SD support=============================
639
+// @section lcd
594 640
 
595 641
 // Define your display language below. Replace (en) with your language code and uncomment.
596 642
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
597
-
598 643
 // See also language.h
599 644
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
600 645
 
@@ -617,7 +662,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
617 662
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
618 663
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
619 664
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
620
-
621 665
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
622 666
 // http://reprap.org/wiki/PanelOne
623 667
 //#define PANEL_ONE
@@ -673,14 +717,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
673 717
 
674 718
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
675 719
 //#define LCD_I2C_VIKI
720
+  
721
+// SSD1306 OLED generic display support
722
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
723
+//#define U8GLIB_SSD1306
676 724
 
677 725
 // Shift register panels
678 726
 // ---------------------
679 727
 // 2 wire Non-latching LCD SR from:
680 728
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
681
-
729
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
682 730
 //#define SAV_3DLCD
683 731
 
732
+// @section extras
733
+
684 734
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
685 735
 //#define FAST_PWM_FAN
686 736
 
@@ -704,7 +754,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
704 754
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
705 755
 // #define PHOTOGRAPH_PIN     23
706 756
 
707
-// SF send wrong arc g-codes when using Arc Point as fillet procedure
757
+// SkeinForge sends the wrong arc g-codes when using Arc Point as fillet procedure
708 758
 //#define SF_ARC_FIX
709 759
 
710 760
 // Support for the BariCUDA Paste Extruder.
@@ -749,16 +799,16 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
749 799
 // Uncomment below to enable
750 800
 //#define FILAMENT_SENSOR
751 801
 
752
-#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
753
-#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
802
+#define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
803
+#define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
754 804
 
755
-#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
756
-#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
757
-#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
758
-#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
805
+#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
806
+#define MEASURED_UPPER_LIMIT         3.30  //upper limit factor used for sensor reading validation in mm
807
+#define MEASURED_LOWER_LIMIT         1.90  //lower limit factor for sensor reading validation in mm
808
+#define MAX_MEASUREMENT_DELAY       20     //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
759 809
 
760 810
 //defines used in the code
761
-#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
811
+#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
762 812
 
763 813
 //When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status.  Status will appear for 5 sec.
764 814
 //#define FILAMENT_LCD_DISPLAY

+ 3
- 3
Marlin/temperature.cpp Просмотреть файл

@@ -422,11 +422,11 @@ void checkExtruderAutoFans() {
422 422
   // update extruder auto fan states
423 423
   #if HAS_AUTO_FAN_0
424 424
     setExtruderAutoFanState(EXTRUDER_0_AUTO_FAN_PIN, (fanState & 1) != 0);
425
-  #endif 
425
+  #endif
426 426
   #if HAS_AUTO_FAN_1
427 427
     if (EXTRUDER_1_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN)
428 428
       setExtruderAutoFanState(EXTRUDER_1_AUTO_FAN_PIN, (fanState & 2) != 0);
429
-  #endif 
429
+  #endif
430 430
   #if HAS_AUTO_FAN_2
431 431
     if (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN
432 432
         && EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN)
@@ -1238,7 +1238,7 @@ ISR(TIMER0_COMPB_vect) {
1238 1238
       static unsigned char state_timer_heater_ ## n = 0
1239 1239
   #else
1240 1240
     #define ISR_STATICS(n) static unsigned char soft_pwm_ ## n
1241
-  #endif 
1241
+  #endif
1242 1242
 
1243 1243
   // Statics per heater
1244 1244
   ISR_STATICS(0);

+ 1
- 1
Marlin/ultralcd.cpp Просмотреть файл

@@ -1665,7 +1665,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
1665 1665
     #define encrot1 2
1666 1666
     #define encrot2 3
1667 1667
     #define encrot3 1
1668
-  #endif 
1668
+  #endif
1669 1669
 
1670 1670
   /**
1671 1671
    * Read encoder buttons from the hardware registers

+ 1
- 1
Marlin/ultralcd_implementation_hitachi_HD44780.h Просмотреть файл

@@ -31,7 +31,7 @@
31 31
   // encoder click is directly connected
32 32
   #define BLEN_C 2 
33 33
   #define EN_C BIT(BLEN_C) 
34
-#endif 
34
+#endif
35 35
   
36 36
 //
37 37
 // Setup other button mappings of each panel

Загрузка…
Отмена
Сохранить