瀏覽代碼

Merge (PR#2285)

Richard Wackerbarth 10 年之前
父節點
當前提交
c2cef42f8e

+ 0
- 1
Marlin/Conditionals.h 查看文件

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

+ 41
- 40
Marlin/Configuration.h 查看文件

97
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
98
 
98
 
99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 // @section temperature
102
 // @section temperature
103
 
103
 
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
206
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
224
 #endif // PIDTEMP
224
 
225
 
225
 //===========================================================================
226
 //===========================================================================
235
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // If this is enabled, find your own PID constants below.
237
 // If this is enabled, find your own PID constants below.
237
 //#define PIDTEMPBED
238
 //#define PIDTEMPBED
238
-//
239
+
239
 //#define BED_LIMIT_SWITCHING
240
 //#define BED_LIMIT_SWITCHING
240
 
241
 
241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 
249
 
249
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
267
 #endif // PIDTEMPBED
266
 
268
 
267
 // @section extruder
269
 // @section extruder
305
 // #define COREXY
307
 // #define COREXY
306
 
308
 
307
 // Enable this option for Toshiba steppers
309
 // Enable this option for Toshiba steppers
308
-// #define CONFIG_STEPPERS_TOSHIBA
310
+//#define CONFIG_STEPPERS_TOSHIBA
309
 
311
 
310
 // @section homing
312
 // @section homing
311
 
313
 
334
 //#define DISABLE_MAX_ENDSTOPS
336
 //#define DISABLE_MAX_ENDSTOPS
335
 //#define DISABLE_MIN_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
336
 
338
 
337
-// @section machine
338
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
339
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
339
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
340
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
340
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
341
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
407
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
408
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
408
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
409
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
409
   #define FILAMENT_RUNOUT_SCRIPT "M600"
410
   #define FILAMENT_RUNOUT_SCRIPT "M600"
410
-#endif 
411
+#endif
411
 
412
 
412
 //===========================================================================
413
 //===========================================================================
413
 //=========================== Manual Bed Leveling ===========================
414
 //=========================== Manual Bed Leveling ===========================
499
 
500
 
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.
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
                                                                             //Useful to retract a deployable probe.
502
                                                                             //Useful to retract a deployable probe.
502
-                                                                           
503
+
503
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
504
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
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.
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
 
523
 
523
   #ifdef Z_SAFE_HOMING
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
   #endif
529
   #endif
529
 
530
 
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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
579
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
579
 
580
 
580
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
581
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
792
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
793
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
793
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
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
 //defines used in the code
801
 //defines used in the code
801
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
802
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 27
- 21
Marlin/configurator/config/Configuration.h 查看文件

97
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
98
 
98
 
99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 // @section temperature
102
 // @section temperature
103
 
103
 
235
 // shouldn't use bed PID until someone else verifies your hardware works.
235
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // If this is enabled, find your own PID constants below.
236
 // If this is enabled, find your own PID constants below.
237
 //#define PIDTEMPBED
237
 //#define PIDTEMPBED
238
-//
238
+
239
 //#define BED_LIMIT_SWITCHING
239
 //#define BED_LIMIT_SWITCHING
240
 
240
 
241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 
248
 
249
 #ifdef PIDTEMPBED
249
 #ifdef PIDTEMPBED
250
+
251
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
252
+
250
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
253
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
251
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
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
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
259
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
257
 //from pidautotune
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
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
265
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
263
 #endif // PIDTEMPBED
266
 #endif // PIDTEMPBED
303
 // #define COREXY
306
 // #define COREXY
304
 
307
 
305
 // Enable this option for Toshiba steppers
308
 // Enable this option for Toshiba steppers
306
-// #define CONFIG_STEPPERS_TOSHIBA
309
+//#define CONFIG_STEPPERS_TOSHIBA
307
 
310
 
308
 // @section homing
311
 // @section homing
309
 
312
 
332
 //#define DISABLE_MAX_ENDSTOPS
335
 //#define DISABLE_MAX_ENDSTOPS
333
 //#define DISABLE_MIN_ENDSTOPS
336
 //#define DISABLE_MIN_ENDSTOPS
334
 
337
 
335
-// @section machine
336
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
338
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
337
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
339
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
338
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
340
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
405
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
407
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
406
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
408
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
407
   #define FILAMENT_RUNOUT_SCRIPT "M600"
409
   #define FILAMENT_RUNOUT_SCRIPT "M600"
408
-#endif 
410
+#endif
409
 
411
 
410
 //===========================================================================
412
 //===========================================================================
411
 //=========================== Manual Bed Leveling ===========================
413
 //=========================== Manual Bed Leveling ===========================
497
 
499
 
498
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
501
                                                                             //Useful to retract a deployable probe.
500
-                                                                           
502
+
501
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
503
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
502
   //#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.
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
 
522
 
521
   #ifdef Z_SAFE_HOMING
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
   #endif
528
   #endif
527
 
529
 
572
 #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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
578
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
577
 
579
 
578
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
580
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
627
 // @section lcd
629
 // @section lcd
628
 
630
 
629
 // Define your display language below. Replace (en) with your language code and uncomment.
631
 // Define your display language below. Replace (en) with your language code and uncomment.
630
-
631
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
632
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
632
 // See also language.h
633
 // See also language.h
633
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
634
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
669
 //
670
 //
670
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
671
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
671
 //#define ELB_FULL_GRAPHIC_CONTROLLER
672
 //#define ELB_FULL_GRAPHIC_CONTROLLER
673
+//#define SDCARDDETECTINVERTED
672
 
674
 
673
 // The RepRapDiscount Smart Controller (white PCB)
675
 // The RepRapDiscount Smart Controller (white PCB)
674
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
676
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
705
 
707
 
706
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
708
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
707
 //#define LCD_I2C_VIKI
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
 // Shift register panels
715
 // Shift register panels
710
 // ---------------------
716
 // ---------------------
711
 // 2 wire Non-latching LCD SR from:
717
 // 2 wire Non-latching LCD SR from:
712
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
718
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
713
-
719
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
714
 //#define SAV_3DLCD
720
 //#define SAV_3DLCD
715
 
721
 
716
 // @section extras
722
 // @section extras
786
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
792
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
787
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
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
 //defines used in the code
800
 //defines used in the code
795
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
801
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 80
- 30
Marlin/example_configurations/Felix/Configuration.h 查看文件

59
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 250000
63
 #define BAUDRATE 250000
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
79
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 
81
 
81
 // This defines the number of extruders
82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85
 // 1 = ATX
93
 // 1 = ATX
86
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
89
 
98
 
90
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
92
 
101
 
102
+// @section temperature
103
+
93
 //===========================================================================
104
 //===========================================================================
94
 //============================= Thermal Settings ============================
105
 //============================= Thermal Settings ============================
95
 //===========================================================================
106
 //===========================================================================
214
 // shouldn't use bed PID until someone else verifies your hardware works.
225
 // shouldn't use bed PID until someone else verifies your hardware works.
215
 // If this is enabled, find your own PID constants below.
226
 // If this is enabled, find your own PID constants below.
216
 #define PIDTEMPBED
227
 #define PIDTEMPBED
217
-//
228
+
218
 //#define BED_LIMIT_SWITCHING
229
 //#define BED_LIMIT_SWITCHING
219
 
230
 
220
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
231
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
226
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
237
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
227
 
238
 
228
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
249
 #endif // PIDTEMPBED
238
 
250
 
251
+// @section extruder
239
 
252
 
240
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
253
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
241
 //can be software-disabled for whatever purposes by
254
 //can be software-disabled for whatever purposes by
270
 //============================= Mechanical Settings =========================
283
 //============================= Mechanical Settings =========================
271
 //===========================================================================
284
 //===========================================================================
272
 
285
 
286
+// @section machine
287
+
273
 // Uncomment this option to enable CoreXY kinematics
288
 // Uncomment this option to enable CoreXY kinematics
274
 // #define COREXY
289
 // #define COREXY
275
 
290
 
276
 // Enable this option for Toshiba steppers
291
 // Enable this option for Toshiba steppers
277
-// #define CONFIG_STEPPERS_TOSHIBA
292
+//#define CONFIG_STEPPERS_TOSHIBA
293
+
294
+// @section homing
278
 
295
 
279
 // coarse Endstop Settings
296
 // coarse Endstop Settings
280
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
297
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
287
   // #define ENDSTOPPULLUP_XMIN
304
   // #define ENDSTOPPULLUP_XMIN
288
   // #define ENDSTOPPULLUP_YMIN
305
   // #define ENDSTOPPULLUP_YMIN
289
   // #define ENDSTOPPULLUP_ZMIN
306
   // #define ENDSTOPPULLUP_ZMIN
307
+  // #define ENDSTOPPULLUP_ZPROBE
290
 #endif
308
 #endif
291
 
309
 
292
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
310
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
300
 #define DISABLE_MAX_ENDSTOPS
318
 #define DISABLE_MAX_ENDSTOPS
301
 //#define DISABLE_MIN_ENDSTOPS
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
327
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
328
+// :{0:'Low',1:'High'}
304
 #define X_ENABLE_ON 0
329
 #define X_ENABLE_ON 0
305
 #define Y_ENABLE_ON 0
330
 #define Y_ENABLE_ON 0
306
 #define Z_ENABLE_ON 0
331
 #define Z_ENABLE_ON 0
311
 #define DISABLE_X false
336
 #define DISABLE_X false
312
 #define DISABLE_Y false
337
 #define DISABLE_Y false
313
 #define DISABLE_Z false
338
 #define DISABLE_Z false
339
+
340
+// @section extruder
341
+
314
 #define DISABLE_E false // For all extruders
342
 #define DISABLE_E false // For all extruders
315
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
343
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
316
 
344
 
345
+// @section machine
346
+
317
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
347
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
318
 #define INVERT_X_DIR true
348
 #define INVERT_X_DIR true
319
 #define INVERT_Y_DIR true
349
 #define INVERT_Y_DIR true
320
 #define INVERT_Z_DIR true
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
 #define INVERT_E0_DIR false
355
 #define INVERT_E0_DIR false
322
 #define INVERT_E1_DIR false
356
 #define INVERT_E1_DIR false
323
 #define INVERT_E2_DIR false
357
 #define INVERT_E2_DIR false
324
 #define INVERT_E3_DIR false
358
 #define INVERT_E3_DIR false
325
 
359
 
360
+// @section homing
361
+
326
 // ENDSTOP SETTINGS:
362
 // ENDSTOP SETTINGS:
327
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
363
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
364
+// :[-1,1]
328
 #define X_HOME_DIR -1
365
 #define X_HOME_DIR -1
329
 #define Y_HOME_DIR -1
366
 #define Y_HOME_DIR -1
330
 #define Z_HOME_DIR -1
367
 #define Z_HOME_DIR -1
332
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
369
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
333
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
374
 // Travel limits after homing (units are in mm)
336
 #define X_MIN_POS 0
375
 #define X_MIN_POS 0
337
 #define Y_MIN_POS 0
376
 #define Y_MIN_POS 0
351
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
390
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
352
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
391
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
353
   #define FILAMENT_RUNOUT_SCRIPT "M600"
392
   #define FILAMENT_RUNOUT_SCRIPT "M600"
354
-#endif 
355
-  
393
+#endif
394
+
356
 //===========================================================================
395
 //===========================================================================
357
 //=========================== Manual Bed Leveling ===========================
396
 //=========================== Manual Bed Leveling ===========================
358
 //===========================================================================
397
 //===========================================================================
361
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
400
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
362
 
401
 
363
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
404
 #endif  // MANUAL_BED_LEVELING
366
 
405
 
367
 #ifdef MESH_BED_LEVELING
406
 #ifdef MESH_BED_LEVELING
378
 //============================ Bed Auto Leveling ============================
417
 //============================ Bed Auto Leveling ============================
379
 //===========================================================================
418
 //===========================================================================
380
 
419
 
420
+// @section bedlevel
421
+
381
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
422
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
382
 //#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
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
 
482
 
442
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
484
                                                                             //Useful to retract a deployable probe.
444
-                                                                           
485
+
445
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
486
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
446
   //#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.
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
 
505
 
465
   #ifdef Z_SAFE_HOMING
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
   #endif
511
   #endif
471
 
512
 
486
 #endif // ENABLE_AUTO_BED_LEVELING
527
 #endif // ENABLE_AUTO_BED_LEVELING
487
 
528
 
488
 
529
 
530
+// @section homing
531
+
489
 // The position of the homing switches
532
 // The position of the homing switches
490
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
533
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
491
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
534
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
499
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
542
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
500
 #endif
543
 #endif
501
 
544
 
545
+// @section movement
546
+
502
 /**
547
 /**
503
  * MOVEMENT SETTINGS
548
  * MOVEMENT SETTINGS
504
  */
549
  */
516
 #define DEFAULT_RETRACT_ACCELERATION  5000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts
561
 #define DEFAULT_RETRACT_ACCELERATION  5000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts
517
 #define DEFAULT_TRAVEL_ACCELERATION   3000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
564
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
526
 #define DEFAULT_XYJERK                10   // (mm/sec)
565
 #define DEFAULT_XYJERK                10   // (mm/sec)
527
 #define DEFAULT_ZJERK                 0.3  //0.4   // (mm/sec)
566
 #define DEFAULT_ZJERK                 0.3  //0.4   // (mm/sec)
532
 //============================= Additional Features ===========================
571
 //============================= Additional Features ===========================
533
 //=============================================================================
572
 //=============================================================================
534
 
573
 
574
+// @section more
575
+
535
 // Custom M code points
576
 // Custom M code points
536
 #define CUSTOM_M_CODES
577
 #define CUSTOM_M_CODES
537
 #ifdef CUSTOM_M_CODES
578
 #ifdef CUSTOM_M_CODES
542
   #endif
583
   #endif
543
 #endif
584
 #endif
544
 
585
 
586
+// @section extras
545
 
587
 
546
 // EEPROM
588
 // EEPROM
547
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
589
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
553
 
595
 
554
 #ifdef EEPROM_SETTINGS
596
 #ifdef EEPROM_SETTINGS
555
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
599
 #endif
558
 
600
 
601
+// @section temperature
602
+
559
 // Preheat Constants
603
 // Preheat Constants
560
 #define PLA_PREHEAT_HOTEND_TEMP 180
604
 #define PLA_PREHEAT_HOTEND_TEMP 180
561
 #define PLA_PREHEAT_HPB_TEMP 70
605
 #define PLA_PREHEAT_HPB_TEMP 70
566
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
610
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
567
 
611
 
568
 //==============================LCD and SD support=============================
612
 //==============================LCD and SD support=============================
613
+// @section lcd
569
 
614
 
570
 // Define your display language below. Replace (en) with your language code and uncomment.
615
 // Define your display language below. Replace (en) with your language code and uncomment.
571
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
616
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
591
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
636
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
592
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
637
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
593
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
638
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
594
-
595
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
639
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
596
 // http://reprap.org/wiki/PanelOne
640
 // http://reprap.org/wiki/PanelOne
597
 //#define PANEL_ONE
641
 //#define PANEL_ONE
647
 
691
 
648
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
692
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
649
 //#define LCD_I2C_VIKI
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
 // Shift register panels
699
 // Shift register panels
652
 // ---------------------
700
 // ---------------------
653
 // 2 wire Non-latching LCD SR from:
701
 // 2 wire Non-latching LCD SR from:
654
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
702
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
655
-
703
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
656
 //#define SAV_3DLCD
704
 //#define SAV_3DLCD
657
 
705
 
706
+// @section extras
707
+
658
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
708
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
659
 #define FAST_PWM_FAN
709
 #define FAST_PWM_FAN
660
 
710
 
678
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
728
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
679
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
732
 //#define SF_ARC_FIX
683
 
733
 
684
 // Support for the BariCUDA Paste Extruder.
734
 // Support for the BariCUDA Paste Extruder.
723
 // Uncomment below to enable
773
 // Uncomment below to enable
724
 //#define FILAMENT_SENSOR
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
 //defines used in the code
784
 //defines used in the code
735
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
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
 // shouldn't use bed PID until someone else verifies your hardware works.
214
 // shouldn't use bed PID until someone else verifies your hardware works.
215
 // If this is enabled, find your own PID constants below.
215
 // If this is enabled, find your own PID constants below.
216
 #define PIDTEMPBED
216
 #define PIDTEMPBED
217
-//
217
+
218
 //#define BED_LIMIT_SWITCHING
218
 //#define BED_LIMIT_SWITCHING
219
 
219
 
220
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
220
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
268
 //============================= Mechanical Settings =========================
268
 //============================= Mechanical Settings =========================
269
 //===========================================================================
269
 //===========================================================================
270
 
270
 
271
+// @section machine
272
+
271
 // Uncomment this option to enable CoreXY kinematics
273
 // Uncomment this option to enable CoreXY kinematics
272
 // #define COREXY
274
 // #define COREXY
273
 
275
 
274
 // Enable this option for Toshiba steppers
276
 // Enable this option for Toshiba steppers
275
-// #define CONFIG_STEPPERS_TOSHIBA
277
+//#define CONFIG_STEPPERS_TOSHIBA
278
+
279
+// @section homing
276
 
280
 
277
 // coarse Endstop Settings
281
 // coarse Endstop Settings
278
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
282
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
349
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
353
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
350
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
354
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
351
   #define FILAMENT_RUNOUT_SCRIPT "M600"
355
   #define FILAMENT_RUNOUT_SCRIPT "M600"
352
-#endif 
356
+#endif
353
   
357
   
354
 //===========================================================================
358
 //===========================================================================
355
 //=========================== Manual Bed Leveling ===========================
359
 //=========================== Manual Bed Leveling ===========================
458
 
462
 
459
   #ifdef Z_SAFE_HOMING
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
   #endif
468
   #endif
465
 
469
 
717
 // Uncomment below to enable
721
 // Uncomment below to enable
718
 //#define FILAMENT_SENSOR
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
 //defines used in the code
732
 //defines used in the code
729
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
733
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 107
- 55
Marlin/example_configurations/Hephestos/Configuration.h 查看文件

59
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 115200
63
 #define BAUDRATE 115200
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
66
 
67
 
67
 // The following define selects which electronics board you have.
68
 // The following define selects which electronics board you have.
68
 // Please choose the name from boards.h that matches your setup
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
 // Optional custom name for your RepStrap or other custom machine
74
 // Optional custom name for your RepStrap or other custom machine
72
 // Displayed in the LCD "Ready" message
75
 // Displayed in the LCD "Ready" message
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
83
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
81
 
84
 
82
 // This defines the number of extruders
85
 // This defines the number of extruders
86
+// :[1,2,3,4]
83
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
95
 //// The following define selects which power supply you have. Please choose the one that matches your setup
86
 // 1 = ATX
96
 // 1 = ATX
87
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
100
 #define POWER_SUPPLY 1
90
 
101
 
91
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
108
 //============================= Thermal Settings ============================
195
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
208
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
196
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
232
 #endif // PIDTEMP
220
 
233
 
231
 // shouldn't use bed PID until someone else verifies your hardware works.
244
 // shouldn't use bed PID until someone else verifies your hardware works.
232
 // If this is enabled, find your own PID constants below.
245
 // If this is enabled, find your own PID constants below.
233
 //#define PIDTEMPBED
246
 //#define PIDTEMPBED
234
-//
247
+
235
 //#define BED_LIMIT_SWITCHING
248
 //#define BED_LIMIT_SWITCHING
236
 
249
 
237
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
250
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
243
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
256
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
244
 
257
 
245
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
275
 #endif // PIDTEMPBED
262
 
276
 
277
+// @section extruder
263
 
278
 
264
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
279
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
265
 //can be software-disabled for whatever purposes by
280
 //can be software-disabled for whatever purposes by
294
 //============================= Mechanical Settings =========================
309
 //============================= Mechanical Settings =========================
295
 //===========================================================================
310
 //===========================================================================
296
 
311
 
312
+// @section machine
313
+
297
 // Uncomment this option to enable CoreXY kinematics
314
 // Uncomment this option to enable CoreXY kinematics
298
 // #define COREXY
315
 // #define COREXY
299
 
316
 
300
 // Enable this option for Toshiba steppers
317
 // Enable this option for Toshiba steppers
301
-// #define CONFIG_STEPPERS_TOSHIBA
318
+//#define CONFIG_STEPPERS_TOSHIBA
319
+
320
+// @section homing
302
 
321
 
303
 // coarse Endstop Settings
322
 // coarse Endstop Settings
304
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
323
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
311
   // #define ENDSTOPPULLUP_XMIN
330
   // #define ENDSTOPPULLUP_XMIN
312
   // #define ENDSTOPPULLUP_YMIN
331
   // #define ENDSTOPPULLUP_YMIN
313
   // #define ENDSTOPPULLUP_ZMIN
332
   // #define ENDSTOPPULLUP_ZMIN
333
+  // #define ENDSTOPPULLUP_ZPROBE
314
 #endif
334
 #endif
315
 
335
 
316
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
336
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
324
 //#define DISABLE_MAX_ENDSTOPS
344
 //#define DISABLE_MAX_ENDSTOPS
325
 //#define DISABLE_MIN_ENDSTOPS
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
353
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
354
+// :{0:'Low',1:'High'}
328
 #define X_ENABLE_ON 0
355
 #define X_ENABLE_ON 0
329
 #define Y_ENABLE_ON 0
356
 #define Y_ENABLE_ON 0
330
 #define Z_ENABLE_ON 0
357
 #define Z_ENABLE_ON 0
335
 #define DISABLE_X false
362
 #define DISABLE_X false
336
 #define DISABLE_Y false
363
 #define DISABLE_Y false
337
 #define DISABLE_Z false
364
 #define DISABLE_Z false
365
+
366
+// @section extruder
367
+
338
 #define DISABLE_E false // For all extruders
368
 #define DISABLE_E false // For all extruders
339
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
369
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
340
 
370
 
371
+// @section machine
372
+
341
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
373
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
342
 #define INVERT_X_DIR true
374
 #define INVERT_X_DIR true
343
 #define INVERT_Y_DIR false
375
 #define INVERT_Y_DIR false
344
 #define INVERT_Z_DIR true
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
 #define INVERT_E0_DIR false
381
 #define INVERT_E0_DIR false
346
 #define INVERT_E1_DIR false
382
 #define INVERT_E1_DIR false
347
 #define INVERT_E2_DIR false
383
 #define INVERT_E2_DIR false
348
 #define INVERT_E3_DIR false
384
 #define INVERT_E3_DIR false
349
 
385
 
386
+// @section homing
387
+
350
 // ENDSTOP SETTINGS:
388
 // ENDSTOP SETTINGS:
351
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
389
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
390
+// :[-1,1]
352
 #define X_HOME_DIR -1
391
 #define X_HOME_DIR -1
353
 #define Y_HOME_DIR -1
392
 #define Y_HOME_DIR -1
354
 #define Z_HOME_DIR -1
393
 #define Z_HOME_DIR -1
356
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
395
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
357
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
400
 // Travel limits after homing (units are in mm)
360
 #define X_MIN_POS 0
401
 #define X_MIN_POS 0
361
 #define Y_MIN_POS 0
402
 #define Y_MIN_POS 0
375
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
416
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
376
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
417
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
377
   #define FILAMENT_RUNOUT_SCRIPT "M600"
418
   #define FILAMENT_RUNOUT_SCRIPT "M600"
378
-#endif 
379
-  
419
+#endif
420
+
380
 //===========================================================================
421
 //===========================================================================
381
 //=========================== Manual Bed Leveling ===========================
422
 //=========================== Manual Bed Leveling ===========================
382
 //===========================================================================
423
 //===========================================================================
385
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
426
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
386
 
427
 
387
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
430
 #endif  // MANUAL_BED_LEVELING
390
 
431
 
391
 #ifdef MESH_BED_LEVELING
432
 #ifdef MESH_BED_LEVELING
402
 //============================ Bed Auto Leveling ============================
443
 //============================ Bed Auto Leveling ============================
403
 //===========================================================================
444
 //===========================================================================
404
 
445
 
446
+// @section bedlevel
447
+
405
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
448
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
406
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
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
 
508
 
466
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
510
                                                                             //Useful to retract a deployable probe.
468
-                                                                           
511
+
469
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
512
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
470
   //#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.
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
 
531
 
489
   #ifdef Z_SAFE_HOMING
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
   #endif
537
   #endif
495
 
538
 
510
 #endif // ENABLE_AUTO_BED_LEVELING
553
 #endif // ENABLE_AUTO_BED_LEVELING
511
 
554
 
512
 
555
 
556
+// @section homing
557
+
513
 // The position of the homing switches
558
 // The position of the homing switches
514
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
559
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
515
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
560
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
523
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
568
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
524
 #endif
569
 #endif
525
 
570
 
571
+// @section movement
572
+
526
 /**
573
 /**
527
  * MOVEMENT SETTINGS
574
  * MOVEMENT SETTINGS
528
  */
575
  */
539
 #define DEFAULT_RETRACT_ACCELERATION  1000   // E acceleration in mm/s^2 for retracts
586
 #define DEFAULT_RETRACT_ACCELERATION  1000   // E acceleration in mm/s^2 for retracts
540
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
589
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
549
 #define DEFAULT_XYJERK                10.0    // (mm/sec)
590
 #define DEFAULT_XYJERK                10.0    // (mm/sec)
550
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
591
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
555
 //============================= Additional Features ===========================
596
 //============================= Additional Features ===========================
556
 //=============================================================================
597
 //=============================================================================
557
 
598
 
599
+// @section more
600
+
558
 // Custom M code points
601
 // Custom M code points
559
 #define CUSTOM_M_CODES
602
 #define CUSTOM_M_CODES
560
 #ifdef CUSTOM_M_CODES
603
 #ifdef CUSTOM_M_CODES
565
   #endif
608
   #endif
566
 #endif
609
 #endif
567
 
610
 
611
+// @section extras
568
 
612
 
569
 // EEPROM
613
 // EEPROM
570
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
614
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
576
 
620
 
577
 #ifdef EEPROM_SETTINGS
621
 #ifdef EEPROM_SETTINGS
578
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
624
 #endif
581
 
625
 
626
+// @section temperature
627
+
582
 // Preheat Constants
628
 // Preheat Constants
583
 #define PLA_PREHEAT_HOTEND_TEMP 200
629
 #define PLA_PREHEAT_HOTEND_TEMP 200
584
 #define PLA_PREHEAT_HPB_TEMP 0
630
 #define PLA_PREHEAT_HPB_TEMP 0
589
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
635
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
590
 
636
 
591
 //==============================LCD and SD support=============================
637
 //==============================LCD and SD support=============================
638
+// @section lcd
592
 
639
 
593
 // Define your display language below. Replace (en) with your language code and uncomment.
640
 // Define your display language below. Replace (en) with your language code and uncomment.
594
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
641
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
614
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
661
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
615
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
662
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
616
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
663
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
617
-
618
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
664
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
619
 // http://reprap.org/wiki/PanelOne
665
 // http://reprap.org/wiki/PanelOne
620
 //#define PANEL_ONE
666
 //#define PANEL_ONE
670
 
716
 
671
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
717
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
672
 //#define LCD_I2C_VIKI
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
 // Shift register panels
724
 // Shift register panels
675
 // ---------------------
725
 // ---------------------
676
 // 2 wire Non-latching LCD SR from:
726
 // 2 wire Non-latching LCD SR from:
677
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
727
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
678
-
728
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
679
 //#define SAV_3DLCD
729
 //#define SAV_3DLCD
680
 
730
 
731
+// @section extras
732
+
681
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
733
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
682
 //#define FAST_PWM_FAN
734
 //#define FAST_PWM_FAN
683
 
735
 
701
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
753
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
702
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
757
 //#define SF_ARC_FIX
706
 
758
 
707
 // Support for the BariCUDA Paste Extruder.
759
 // Support for the BariCUDA Paste Extruder.
746
 // Uncomment below to enable
798
 // Uncomment below to enable
747
 //#define FILAMENT_SENSOR
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
 //defines used in the code
809
 //defines used in the code
758
 #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

+ 63
- 60
Marlin/example_configurations/K8200/Configuration.h 查看文件

102
 #define POWER_SUPPLY 1
102
 #define POWER_SUPPLY 1
103
 
103
 
104
 // 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 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
 // @section temperature
107
 // @section temperature
108
 
108
 
210
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
210
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
211
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
234
 #endif // PIDTEMP
234
 
235
 
235
 //===========================================================================
236
 //===========================================================================
245
 // shouldn't use bed PID until someone else verifies your hardware works.
246
 // shouldn't use bed PID until someone else verifies your hardware works.
246
 // If this is enabled, find your own PID constants below.
247
 // If this is enabled, find your own PID constants below.
247
 //#define PIDTEMPBED
248
 //#define PIDTEMPBED
248
-//
249
+
249
 //#define BED_LIMIT_SWITCHING
250
 //#define BED_LIMIT_SWITCHING
250
 
251
 
251
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
252
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
257
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
258
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
258
 
259
 
259
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
283
 #endif // PIDTEMPBED
282
 
284
 
283
 // @section extruder
285
 // @section extruder
321
 // #define COREXY
323
 // #define COREXY
322
 
324
 
323
 // Enable this option for Toshiba steppers
325
 // Enable this option for Toshiba steppers
324
-// #define CONFIG_STEPPERS_TOSHIBA
326
+//#define CONFIG_STEPPERS_TOSHIBA
325
 
327
 
326
 // @section homing
328
 // @section homing
327
 
329
 
350
 #define DISABLE_MAX_ENDSTOPS
352
 #define DISABLE_MAX_ENDSTOPS
351
 //#define DISABLE_MIN_ENDSTOPS
353
 //#define DISABLE_MIN_ENDSTOPS
352
 
354
 
353
-// @section machine
354
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
355
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
355
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
356
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
356
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
357
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
423
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
424
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
424
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
425
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
425
   #define FILAMENT_RUNOUT_SCRIPT "M600"
426
   #define FILAMENT_RUNOUT_SCRIPT "M600"
426
-#endif 
427
+#endif
427
 
428
 
428
 //===========================================================================
429
 //===========================================================================
429
 //=========================== Manual Bed Leveling ===========================
430
 //=========================== Manual Bed Leveling ===========================
515
 
516
 
516
 //   #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
 //   #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
                                                                             //Useful to retract a deployable probe.
518
                                                                             //Useful to retract a deployable probe.
518
-                                                                           
519
+
519
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
520
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
520
   //#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
   //#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
 
539
 
539
   #ifdef Z_SAFE_HOMING
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
   #endif
545
   #endif
545
 
546
 
590
 #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
 #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
 #define DEFAULT_ACCELERATION          1000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
595
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
595
 
596
 
596
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
597
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
627
 
628
 
628
 #ifdef EEPROM_SETTINGS
629
 #ifdef EEPROM_SETTINGS
629
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
632
 #endif
632
 
633
 
633
-
634
 // @section temperature
634
 // @section temperature
635
 
635
 
636
 // Preheat Constants
636
 // Preheat Constants
669
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
669
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
670
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
670
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
671
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
671
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
672
-
673
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
672
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
674
 // http://reprap.org/wiki/PanelOne
673
 // http://reprap.org/wiki/PanelOne
675
 //#define PANEL_ONE
674
 //#define PANEL_ONE
725
 
724
 
726
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
725
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
727
 //#define LCD_I2C_VIKI
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
 // Shift register panels
732
 // Shift register panels
730
 // ---------------------
733
 // ---------------------
731
 // 2 wire Non-latching LCD SR from:
734
 // 2 wire Non-latching LCD SR from:
732
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
735
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
733
-
736
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
734
 //#define SAV_3DLCD
737
 //#define SAV_3DLCD
735
 
738
 
736
 // @section extras
739
 // @section extras
803
 // Uncomment below to enable
806
 // Uncomment below to enable
804
 //#define FILAMENT_SENSOR
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
 //defines used in the code
817
 //defines used in the code
815
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
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
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
98
 
98
 
99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 // @section temperature
102
 // @section temperature
103
 
103
 
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
206
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
224
 #endif // PIDTEMP
224
 
225
 
225
 //===========================================================================
226
 //===========================================================================
235
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // If this is enabled, find your own PID constants below.
237
 // If this is enabled, find your own PID constants below.
237
 //#define PIDTEMPBED
238
 //#define PIDTEMPBED
238
-//
239
+
239
 //#define BED_LIMIT_SWITCHING
240
 //#define BED_LIMIT_SWITCHING
240
 
241
 
241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 
249
 
249
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
267
 #endif // PIDTEMPBED
266
 
268
 
267
 // @section extruder
269
 // @section extruder
305
 // #define COREXY
307
 // #define COREXY
306
 
308
 
307
 // Enable this option for Toshiba steppers
309
 // Enable this option for Toshiba steppers
308
-// #define CONFIG_STEPPERS_TOSHIBA
310
+//#define CONFIG_STEPPERS_TOSHIBA
309
 
311
 
310
 // @section homing
312
 // @section homing
311
 
313
 
334
 //#define DISABLE_MAX_ENDSTOPS
336
 //#define DISABLE_MAX_ENDSTOPS
335
 //#define DISABLE_MIN_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
336
 
338
 
337
-// @section machine
338
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
339
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
339
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
340
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
340
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
341
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
407
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
408
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
408
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
409
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
409
   #define FILAMENT_RUNOUT_SCRIPT "M600"
410
   #define FILAMENT_RUNOUT_SCRIPT "M600"
410
-#endif 
411
+#endif
411
 
412
 
412
 //===========================================================================
413
 //===========================================================================
413
 //=========================== Manual Bed Leveling ===========================
414
 //=========================== Manual Bed Leveling ===========================
499
 
500
 
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.
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
                                                                             //Useful to retract a deployable probe.
502
                                                                             //Useful to retract a deployable probe.
502
-                                                                           
503
+
503
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
504
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
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.
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
 
523
 
523
   #ifdef Z_SAFE_HOMING
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
   #endif
529
   #endif
529
 
530
 
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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
579
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
579
 
580
 
580
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
581
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
611
 
612
 
612
 #ifdef EEPROM_SETTINGS
613
 #ifdef EEPROM_SETTINGS
613
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
616
 #endif
616
 
617
 
617
-
618
 // @section temperature
618
 // @section temperature
619
 
619
 
620
 // Preheat Constants
620
 // Preheat Constants
630
 // @section lcd
630
 // @section lcd
631
 
631
 
632
 // Define your display language below. Replace (en) with your language code and uncomment.
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
 // See also language.h
634
 // See also language.h
635
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
635
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
636
 
636
 
708
 
708
 
709
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
709
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
710
 //#define LCD_I2C_VIKI
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
 // Shift register panels
716
 // Shift register panels
713
 // ---------------------
717
 // ---------------------
714
 // 2 wire Non-latching LCD SR from:
718
 // 2 wire Non-latching LCD SR from:
715
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
719
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
716
-
720
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
717
 //#define SAV_3DLCD
721
 //#define SAV_3DLCD
718
 
722
 
719
 // @section extras
723
 // @section extras
789
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
793
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
790
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
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
 //defines used in the code
801
 //defines used in the code
798
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
802
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 118
- 68
Marlin/example_configurations/SCARA/Configuration.h 查看文件

84
 #define SERIAL_PORT 0
84
 #define SERIAL_PORT 0
85
 
85
 
86
 // This determines the communication speed of the printer
86
 // This determines the communication speed of the printer
87
+// :[2400,9600,19200,38400,57600,115200,250000]
87
 #define BAUDRATE 250000
88
 #define BAUDRATE 250000
88
 
89
 
89
 // This enables the serial port associated to the Bluetooth interface
90
 // This enables the serial port associated to the Bluetooth interface
104
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
105
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
105
 
106
 
106
 // This defines the number of extruders
107
 // This defines the number of extruders
108
+// :[1,2,3,4]
107
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
117
 //// The following define selects which power supply you have. Please choose the one that matches your setup
110
 // 1 = ATX
118
 // 1 = ATX
111
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
122
 #define POWER_SUPPLY 1
114
 
123
 
115
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
130
 //============================= Thermal Settings ============================
219
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
230
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
220
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
259
 #endif // PIDTEMP
249
 
260
 
260
 // shouldn't use bed PID until someone else verifies your hardware works.
271
 // shouldn't use bed PID until someone else verifies your hardware works.
261
 // If this is enabled, find your own PID constants below.
272
 // If this is enabled, find your own PID constants below.
262
 #define PIDTEMPBED
273
 #define PIDTEMPBED
263
-//
274
+
264
 #define BED_LIMIT_SWITCHING
275
 #define BED_LIMIT_SWITCHING
265
 
276
 
266
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
277
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
272
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
283
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
273
 
284
 
274
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
308
 #endif // PIDTEMPBED
297
 
309
 
310
+// @section extruder
298
 
311
 
299
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
312
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
300
 //can be software-disabled for whatever purposes by
313
 //can be software-disabled for whatever purposes by
329
 //============================= Mechanical Settings =========================
342
 //============================= Mechanical Settings =========================
330
 //===========================================================================
343
 //===========================================================================
331
 
344
 
345
+// @section machine
346
+
332
 // Uncomment this option to enable CoreXY kinematics
347
 // Uncomment this option to enable CoreXY kinematics
333
 // #define COREXY
348
 // #define COREXY
334
 
349
 
335
 // Enable this option for Toshiba steppers
350
 // Enable this option for Toshiba steppers
336
-// #define CONFIG_STEPPERS_TOSHIBA
351
+//#define CONFIG_STEPPERS_TOSHIBA
352
+
353
+// @section homing
337
 
354
 
338
 // coarse Endstop Settings
355
 // coarse Endstop Settings
339
 //#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
356
 //#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
346
    #define ENDSTOPPULLUP_XMIN  // open pin, inverted
363
    #define ENDSTOPPULLUP_XMIN  // open pin, inverted
347
    #define ENDSTOPPULLUP_YMIN  // open pin, inverted
364
    #define ENDSTOPPULLUP_YMIN  // open pin, inverted
348
   // #define ENDSTOPPULLUP_ZMIN
365
   // #define ENDSTOPPULLUP_ZMIN
366
+  // #define ENDSTOPPULLUP_ZPROBE
349
 #endif
367
 #endif
350
 
368
 
351
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
369
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
359
 //#define DISABLE_MAX_ENDSTOPS
377
 //#define DISABLE_MAX_ENDSTOPS
360
 //#define DISABLE_MIN_ENDSTOPS
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
386
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
387
+// :{0:'Low',1:'High'}
363
 #define X_ENABLE_ON 0
388
 #define X_ENABLE_ON 0
364
 #define Y_ENABLE_ON 0
389
 #define Y_ENABLE_ON 0
365
 #define Z_ENABLE_ON 0
390
 #define Z_ENABLE_ON 0
370
 #define DISABLE_X false
395
 #define DISABLE_X false
371
 #define DISABLE_Y false
396
 #define DISABLE_Y false
372
 #define DISABLE_Z false
397
 #define DISABLE_Z false
398
+
399
+// @section extruder
400
+
373
 #define DISABLE_E false // For all extruders
401
 #define DISABLE_E false // For all extruders
374
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
402
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
375
 
403
 
404
+// @section machine
405
+
376
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
406
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
377
 #define INVERT_X_DIR false
407
 #define INVERT_X_DIR false
378
 #define INVERT_Y_DIR false
408
 #define INVERT_Y_DIR false
379
 #define INVERT_Z_DIR true
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
 #define INVERT_E0_DIR false
414
 #define INVERT_E0_DIR false
381
 #define INVERT_E1_DIR false
415
 #define INVERT_E1_DIR false
382
 #define INVERT_E2_DIR false
416
 #define INVERT_E2_DIR false
383
 #define INVERT_E3_DIR false
417
 #define INVERT_E3_DIR false
384
 
418
 
419
+// @section homing
420
+
385
 // ENDSTOP SETTINGS:
421
 // ENDSTOP SETTINGS:
386
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
422
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
423
+// :[-1,1]
387
 #define X_HOME_DIR 1
424
 #define X_HOME_DIR 1
388
 #define Y_HOME_DIR 1
425
 #define Y_HOME_DIR 1
389
 #define Z_HOME_DIR -1
426
 #define Z_HOME_DIR -1
391
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
428
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
392
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
433
 // Travel limits after homing (units are in mm)
395
 #define X_MIN_POS 0
434
 #define X_MIN_POS 0
396
 #define Y_MIN_POS 0
435
 #define Y_MIN_POS 0
410
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
449
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
411
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
450
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
412
   #define FILAMENT_RUNOUT_SCRIPT "M600"
451
   #define FILAMENT_RUNOUT_SCRIPT "M600"
413
-#endif 
414
-  
452
+#endif
453
+
415
 //===========================================================================
454
 //===========================================================================
416
 //=========================== Manual Bed Leveling ===========================
455
 //=========================== Manual Bed Leveling ===========================
417
 //===========================================================================
456
 //===========================================================================
420
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
459
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
421
 
460
 
422
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
463
 #endif  // MANUAL_BED_LEVELING
425
 
464
 
426
 #ifdef MESH_BED_LEVELING
465
 #ifdef MESH_BED_LEVELING
437
 //============================ Bed Auto Leveling ============================
476
 //============================ Bed Auto Leveling ============================
438
 //===========================================================================
477
 //===========================================================================
439
 
478
 
479
+// @section bedlevel
480
+
440
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
481
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
441
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
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
 
541
 
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.
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
                                                                             //Useful to retract a deployable probe.
543
                                                                             //Useful to retract a deployable probe.
503
-                                                                           
544
+
504
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
545
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
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.
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
 
564
 
524
   #ifdef Z_SAFE_HOMING
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
   #endif
570
   #endif
530
 
571
 
545
 #endif // ENABLE_AUTO_BED_LEVELING
586
 #endif // ENABLE_AUTO_BED_LEVELING
546
 
587
 
547
 
588
 
589
+// @section homing
590
+
548
 // The position of the homing switches
591
 // The position of the homing switches
549
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
592
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
550
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
593
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
558
   #define MANUAL_Z_HOME_POS 0.1  // Distance between nozzle and print surface after homing.
601
   #define MANUAL_Z_HOME_POS 0.1  // Distance between nozzle and print surface after homing.
559
 #endif
602
 #endif
560
 
603
 
604
+// @section movement
605
+
561
 /**
606
 /**
562
  * MOVEMENT SETTINGS
607
  * MOVEMENT SETTINGS
563
  */
608
  */
574
 #define DEFAULT_RETRACT_ACCELERATION  2000   // E acceleration in mm/s^2 for retracts
619
 #define DEFAULT_RETRACT_ACCELERATION  2000   // E acceleration in mm/s^2 for retracts
575
 #define DEFAULT_TRAVEL_ACCELERATION   400    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
622
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
584
 #define DEFAULT_XYJERK                5    // (mm/sec)
623
 #define DEFAULT_XYJERK                5    // (mm/sec)
585
 #define DEFAULT_ZJERK                 0.4    // (mm/sec)
624
 #define DEFAULT_ZJERK                 0.4    // (mm/sec)
590
 //============================= Additional Features ===========================
629
 //============================= Additional Features ===========================
591
 //=============================================================================
630
 //=============================================================================
592
 
631
 
632
+// @section more
633
+
593
 // Custom M code points
634
 // Custom M code points
594
 //#define CUSTOM_M_CODES
635
 //#define CUSTOM_M_CODES
595
 #ifdef CUSTOM_M_CODES
636
 #ifdef CUSTOM_M_CODES
600
   #endif
641
   #endif
601
 #endif
642
 #endif
602
 
643
 
644
+// @section extras
603
 
645
 
604
 // EEPROM
646
 // EEPROM
605
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
647
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
611
 
653
 
612
 #ifdef EEPROM_SETTINGS
654
 #ifdef EEPROM_SETTINGS
613
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
657
 #endif
616
 
658
 
659
+// @section temperature
660
+
617
 // Preheat Constants
661
 // Preheat Constants
618
 #define PLA_PREHEAT_HOTEND_TEMP 180
662
 #define PLA_PREHEAT_HOTEND_TEMP 180
619
 #define PLA_PREHEAT_HPB_TEMP 70
663
 #define PLA_PREHEAT_HPB_TEMP 70
624
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
668
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
625
 
669
 
626
 //==============================LCD and SD support=============================
670
 //==============================LCD and SD support=============================
671
+// @section lcd
627
 
672
 
628
 // Define your display language below. Replace (en) with your language code and uncomment.
673
 // Define your display language below. Replace (en) with your language code and uncomment.
629
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
674
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
649
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
694
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
650
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
695
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
651
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
696
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
652
-
653
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
697
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
654
 // http://reprap.org/wiki/PanelOne
698
 // http://reprap.org/wiki/PanelOne
655
 //#define PANEL_ONE
699
 //#define PANEL_ONE
705
 
749
 
706
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
750
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
707
 //#define LCD_I2C_VIKI
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
 // Shift register panels
757
 // Shift register panels
710
 // ---------------------
758
 // ---------------------
711
 // 2 wire Non-latching LCD SR from:
759
 // 2 wire Non-latching LCD SR from:
712
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
760
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
713
-
761
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
714
 //#define SAV_3DLCD
762
 //#define SAV_3DLCD
715
 
763
 
764
+// @section extras
765
+
716
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
766
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
717
 //#define FAST_PWM_FAN
767
 //#define FAST_PWM_FAN
718
 
768
 
736
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
786
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
737
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
790
 //#define SF_ARC_FIX
741
 
791
 
742
 // Support for the BariCUDA Paste Extruder.
792
 // Support for the BariCUDA Paste Extruder.
781
 // Uncomment below to enable
831
 // Uncomment below to enable
782
 //#define FILAMENT_SENSOR
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
 //defines used in the code
842
 //defines used in the code
793
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
843
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 113
- 60
Marlin/example_configurations/WITBOX/Configuration.h 查看文件

59
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 115200
63
 #define BAUDRATE 115200
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
66
 
67
 
67
 // The following define selects which electronics board you have.
68
 // The following define selects which electronics board you have.
68
 // Please choose the name from boards.h that matches your setup
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
 // Optional custom name for your RepStrap or other custom machine
74
 // Optional custom name for your RepStrap or other custom machine
72
 // Displayed in the LCD "Ready" message
75
 // Displayed in the LCD "Ready" message
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
83
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
81
 
84
 
82
 // This defines the number of extruders
85
 // This defines the number of extruders
86
+// :[1,2,3,4]
83
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
95
 //// The following define selects which power supply you have. Please choose the one that matches your setup
86
 // 1 = ATX
96
 // 1 = ATX
87
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
100
 #define POWER_SUPPLY 1
90
 
101
 
91
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
108
 //============================= Thermal Settings ============================
195
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
208
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
196
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
232
 #endif // PIDTEMP
219
 
233
 
220
 //===========================================================================
234
 //===========================================================================
230
 // shouldn't use bed PID until someone else verifies your hardware works.
244
 // shouldn't use bed PID until someone else verifies your hardware works.
231
 // If this is enabled, find your own PID constants below.
245
 // If this is enabled, find your own PID constants below.
232
 //#define PIDTEMPBED
246
 //#define PIDTEMPBED
233
-//
247
+
234
 //#define BED_LIMIT_SWITCHING
248
 //#define BED_LIMIT_SWITCHING
235
 
249
 
236
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
250
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
242
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
256
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
243
 
257
 
244
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
275
 #endif // PIDTEMPBED
261
 
276
 
277
+// @section extruder
262
 
278
 
263
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
279
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
264
 //can be software-disabled for whatever purposes by
280
 //can be software-disabled for whatever purposes by
293
 //============================= Mechanical Settings =========================
309
 //============================= Mechanical Settings =========================
294
 //===========================================================================
310
 //===========================================================================
295
 
311
 
312
+// @section machine
313
+
296
 // Uncomment this option to enable CoreXY kinematics
314
 // Uncomment this option to enable CoreXY kinematics
297
 // #define COREXY
315
 // #define COREXY
298
 
316
 
299
 // Enable this option for Toshiba steppers
317
 // Enable this option for Toshiba steppers
300
-// #define CONFIG_STEPPERS_TOSHIBA
318
+//#define CONFIG_STEPPERS_TOSHIBA
319
+
320
+// @section homing
301
 
321
 
302
 // coarse Endstop Settings
322
 // coarse Endstop Settings
303
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
323
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
310
   // #define ENDSTOPPULLUP_XMIN
330
   // #define ENDSTOPPULLUP_XMIN
311
   // #define ENDSTOPPULLUP_YMIN
331
   // #define ENDSTOPPULLUP_YMIN
312
   // #define ENDSTOPPULLUP_ZMIN
332
   // #define ENDSTOPPULLUP_ZMIN
333
+  // #define ENDSTOPPULLUP_ZPROBE
313
 #endif
334
 #endif
314
 
335
 
315
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
336
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
323
 //#define DISABLE_MAX_ENDSTOPS
344
 //#define DISABLE_MAX_ENDSTOPS
324
 //#define DISABLE_MIN_ENDSTOPS
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
353
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
354
+// :{0:'Low',1:'High'}
327
 #define X_ENABLE_ON 0
355
 #define X_ENABLE_ON 0
328
 #define Y_ENABLE_ON 0
356
 #define Y_ENABLE_ON 0
329
 #define Z_ENABLE_ON 0
357
 #define Z_ENABLE_ON 0
334
 #define DISABLE_X false
362
 #define DISABLE_X false
335
 #define DISABLE_Y false
363
 #define DISABLE_Y false
336
 #define DISABLE_Z true
364
 #define DISABLE_Z true
365
+
366
+// @section extruder
367
+
337
 #define DISABLE_E false // For all extruders
368
 #define DISABLE_E false // For all extruders
338
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
369
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
339
 
370
 
371
+// @section machine
372
+
340
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
373
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
341
 #define INVERT_X_DIR true
374
 #define INVERT_X_DIR true
342
 #define INVERT_Y_DIR false
375
 #define INVERT_Y_DIR false
343
 #define INVERT_Z_DIR true
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
 #define INVERT_E0_DIR false
381
 #define INVERT_E0_DIR false
345
 #define INVERT_E1_DIR false
382
 #define INVERT_E1_DIR false
346
 #define INVERT_E2_DIR false
383
 #define INVERT_E2_DIR false
347
 #define INVERT_E3_DIR false
384
 #define INVERT_E3_DIR false
348
 
385
 
386
+// @section homing
387
+
349
 // ENDSTOP SETTINGS:
388
 // ENDSTOP SETTINGS:
350
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
389
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
390
+// :[-1,1]
351
 #define X_HOME_DIR 1
391
 #define X_HOME_DIR 1
352
 #define Y_HOME_DIR 1
392
 #define Y_HOME_DIR 1
353
 #define Z_HOME_DIR -1
393
 #define Z_HOME_DIR -1
355
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
395
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
356
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
400
 // Travel limits after homing (units are in mm)
359
 #define X_MIN_POS 0
401
 #define X_MIN_POS 0
360
 #define Y_MIN_POS 0
402
 #define Y_MIN_POS 0
374
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
416
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
375
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
417
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
376
   #define FILAMENT_RUNOUT_SCRIPT "M600"
418
   #define FILAMENT_RUNOUT_SCRIPT "M600"
377
-#endif 
378
-  
419
+#endif
420
+
379
 //===========================================================================
421
 //===========================================================================
380
 //=========================== Manual Bed Leveling ===========================
422
 //=========================== Manual Bed Leveling ===========================
381
 //===========================================================================
423
 //===========================================================================
384
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
426
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
385
 
427
 
386
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
430
 #endif  // MANUAL_BED_LEVELING
389
 
431
 
390
 #ifdef MESH_BED_LEVELING
432
 #ifdef MESH_BED_LEVELING
401
 //============================ Bed Auto Leveling ============================
443
 //============================ Bed Auto Leveling ============================
402
 //===========================================================================
444
 //===========================================================================
403
 
445
 
446
+// @section bedlevel
447
+
404
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
448
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
405
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
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
 
508
 
465
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
510
                                                                             //Useful to retract a deployable probe.
467
-                                                                           
511
+
468
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
512
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
469
   //#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.
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
 
531
 
488
   #ifdef Z_SAFE_HOMING
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
   #endif
537
   #endif
494
 
538
 
509
 #endif // ENABLE_AUTO_BED_LEVELING
553
 #endif // ENABLE_AUTO_BED_LEVELING
510
 
554
 
511
 
555
 
556
+// @section homing
557
+
512
 // The position of the homing switches
558
 // The position of the homing switches
513
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
559
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
514
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
560
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
522
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
568
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
523
 #endif
569
 #endif
524
 
570
 
571
+// @section movement
572
+
525
 /**
573
 /**
526
  * MOVEMENT SETTINGS
574
  * MOVEMENT SETTINGS
527
  */
575
  */
535
 #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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
589
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
548
 #define DEFAULT_XYJERK                10.0    // (mm/sec)
590
 #define DEFAULT_XYJERK                10.0    // (mm/sec)
549
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
591
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
554
 //============================= Additional Features ===========================
596
 //============================= Additional Features ===========================
555
 //=============================================================================
597
 //=============================================================================
556
 
598
 
599
+// @section more
600
+
557
 // Custom M code points
601
 // Custom M code points
558
 #define CUSTOM_M_CODES
602
 #define CUSTOM_M_CODES
559
 #ifdef CUSTOM_M_CODES
603
 #ifdef CUSTOM_M_CODES
564
   #endif
608
   #endif
565
 #endif
609
 #endif
566
 
610
 
611
+// @section extras
567
 
612
 
568
 // EEPROM
613
 // EEPROM
569
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
614
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
575
 
620
 
576
 #ifdef EEPROM_SETTINGS
621
 #ifdef EEPROM_SETTINGS
577
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
624
 #endif
580
 
625
 
626
+// @section temperature
627
+
581
 // Preheat Constants
628
 // Preheat Constants
582
 #define PLA_PREHEAT_HOTEND_TEMP 200
629
 #define PLA_PREHEAT_HOTEND_TEMP 200
583
 #define PLA_PREHEAT_HPB_TEMP 0
630
 #define PLA_PREHEAT_HPB_TEMP 0
588
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
635
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
589
 
636
 
590
 //==============================LCD and SD support=============================
637
 //==============================LCD and SD support=============================
638
+// @section lcd
591
 
639
 
592
 // Define your display language below. Replace (en) with your language code and uncomment.
640
 // Define your display language below. Replace (en) with your language code and uncomment.
593
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
641
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
613
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
661
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
614
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
662
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
615
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
663
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
616
-
617
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
664
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
618
 // http://reprap.org/wiki/PanelOne
665
 // http://reprap.org/wiki/PanelOne
619
 //#define PANEL_ONE
666
 //#define PANEL_ONE
669
 
716
 
670
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
717
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
671
 //#define LCD_I2C_VIKI
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
 // Shift register panels
724
 // Shift register panels
674
 // ---------------------
725
 // ---------------------
675
 // 2 wire Non-latching LCD SR from:
726
 // 2 wire Non-latching LCD SR from:
676
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
727
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
677
-
728
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
678
 //#define SAV_3DLCD
729
 //#define SAV_3DLCD
679
 
730
 
731
+// @section extras
732
+
680
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
733
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
681
 //#define FAST_PWM_FAN
734
 //#define FAST_PWM_FAN
682
 
735
 
700
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
753
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
701
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
757
 //#define SF_ARC_FIX
705
 
758
 
706
 // Support for the BariCUDA Paste Extruder.
759
 // Support for the BariCUDA Paste Extruder.
745
 // Uncomment below to enable
798
 // Uncomment below to enable
746
 //#define FILAMENT_SENSOR
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
 //defines used in the code
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
 //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.
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
 //#define FILAMENT_LCD_DISPLAY
813
 //#define FILAMENT_LCD_DISPLAY

+ 27
- 20
Marlin/example_configurations/adafruit/ST7565/Configuration.h 查看文件

97
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
98
 
98
 
99
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 // @section temperature
102
 // @section temperature
103
 
103
 
235
 // shouldn't use bed PID until someone else verifies your hardware works.
235
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // If this is enabled, find your own PID constants below.
236
 // If this is enabled, find your own PID constants below.
237
 //#define PIDTEMPBED
237
 //#define PIDTEMPBED
238
-//
238
+
239
 //#define BED_LIMIT_SWITCHING
239
 //#define BED_LIMIT_SWITCHING
240
 
240
 
241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
241
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
247
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 
248
 
249
 #ifdef PIDTEMPBED
249
 #ifdef PIDTEMPBED
250
+
251
+  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
252
+
250
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
253
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
251
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
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
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
259
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
257
 //from pidautotune
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
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
265
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
263
 #endif // PIDTEMPBED
266
 #endif // PIDTEMPBED
303
 // #define COREXY
306
 // #define COREXY
304
 
307
 
305
 // Enable this option for Toshiba steppers
308
 // Enable this option for Toshiba steppers
306
-// #define CONFIG_STEPPERS_TOSHIBA
309
+//#define CONFIG_STEPPERS_TOSHIBA
307
 
310
 
308
 // @section homing
311
 // @section homing
309
 
312
 
332
 //#define DISABLE_MAX_ENDSTOPS
335
 //#define DISABLE_MAX_ENDSTOPS
333
 //#define DISABLE_MIN_ENDSTOPS
336
 //#define DISABLE_MIN_ENDSTOPS
334
 
337
 
335
-// @section machine
336
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
338
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
337
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
339
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
338
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
340
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
405
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
407
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
406
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
408
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
407
   #define FILAMENT_RUNOUT_SCRIPT "M600"
409
   #define FILAMENT_RUNOUT_SCRIPT "M600"
408
-#endif 
410
+#endif
409
 
411
 
410
 //===========================================================================
412
 //===========================================================================
411
 //=========================== Manual Bed Leveling ===========================
413
 //=========================== Manual Bed Leveling ===========================
497
 
499
 
498
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
501
                                                                             //Useful to retract a deployable probe.
500
-                                                                           
502
+
501
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
503
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
502
   //#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.
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
 
522
 
521
   #ifdef Z_SAFE_HOMING
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
   #endif
528
   #endif
527
 
529
 
572
 #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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
578
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
577
 
579
 
578
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
580
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
668
 //
670
 //
669
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
671
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
670
 #define ELB_FULL_GRAPHIC_CONTROLLER
672
 #define ELB_FULL_GRAPHIC_CONTROLLER
673
+//#define SDCARDDETECTINVERTED
671
 
674
 
672
 // The RepRapDiscount Smart Controller (white PCB)
675
 // The RepRapDiscount Smart Controller (white PCB)
673
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
676
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
704
 
707
 
705
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
708
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
706
 //#define LCD_I2C_VIKI
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
 // Shift register panels
715
 // Shift register panels
709
 // ---------------------
716
 // ---------------------
710
 // 2 wire Non-latching LCD SR from:
717
 // 2 wire Non-latching LCD SR from:
711
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
718
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
712
-
719
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
713
 //#define SAV_3DLCD
720
 //#define SAV_3DLCD
714
 
721
 
715
 // @section extras
722
 // @section extras
785
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
792
 #define FILAMENT_SENSOR_EXTRUDER_NUM 0   //The number of the extruder that has the filament sensor (0,1,2)
786
 #define MEASUREMENT_DELAY_CM        14   //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
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
 //defines used in the code
800
 //defines used in the code
794
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
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
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 250000
63
 #define BAUDRATE 250000
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
79
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 
81
 
81
 // This defines the number of extruders
82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82
 #define EXTRUDERS 2
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85
 // 1 = ATX
93
 // 1 = ATX
86
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
89
 
98
 
90
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
105
 //============================= Thermal Settings ============================
227
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
228
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
224
 #endif // PIDTEMP
246
 
225
 
247
 //===========================================================================
226
 //===========================================================================
257
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // shouldn't use bed PID until someone else verifies your hardware works.
258
 // If this is enabled, find your own PID constants below.
237
 // If this is enabled, find your own PID constants below.
259
 //#define PIDTEMPBED
238
 //#define PIDTEMPBED
260
-//
239
+
261
 //#define BED_LIMIT_SWITCHING
240
 //#define BED_LIMIT_SWITCHING
262
 
241
 
263
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
269
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
270
 
249
 
271
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
267
 #endif // PIDTEMPBED
288
 
268
 
269
+// @section extruder
289
 
270
 
290
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
271
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
291
 //can be software-disabled for whatever purposes by
272
 //can be software-disabled for whatever purposes by
320
 //============================= Mechanical Settings =========================
301
 //============================= Mechanical Settings =========================
321
 //===========================================================================
302
 //===========================================================================
322
 
303
 
304
+// @section machine
305
+
323
 // Uncomment this option to enable CoreXY kinematics
306
 // Uncomment this option to enable CoreXY kinematics
324
 // #define COREXY
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
 // Enable this option for Toshiba steppers
344
 // Enable this option for Toshiba steppers
327
-// #define CONFIG_STEPPERS_TOSHIBA
345
+//#define CONFIG_STEPPERS_TOSHIBA
346
+
347
+// @section homing
328
 
348
 
329
 // coarse Endstop Settings
349
 // coarse Endstop Settings
330
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
350
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
337
   // #define ENDSTOPPULLUP_XMIN
357
   // #define ENDSTOPPULLUP_XMIN
338
   // #define ENDSTOPPULLUP_YMIN
358
   // #define ENDSTOPPULLUP_YMIN
339
   // #define ENDSTOPPULLUP_ZMIN
359
   // #define ENDSTOPPULLUP_ZMIN
360
+  // #define ENDSTOPPULLUP_ZPROBE
340
 #endif
361
 #endif
341
 
362
 
342
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
363
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
350
 //#define DISABLE_MAX_ENDSTOPS
371
 //#define DISABLE_MAX_ENDSTOPS
351
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
381
+// :{0:'Low',1:'High'}
354
 #define X_ENABLE_ON 0
382
 #define X_ENABLE_ON 0
355
 #define Y_ENABLE_ON 0
383
 #define Y_ENABLE_ON 0
356
 #define Z_ENABLE_ON 0
384
 #define Z_ENABLE_ON 0
361
 #define DISABLE_X false
389
 #define DISABLE_X false
362
 #define DISABLE_Y false
390
 #define DISABLE_Y false
363
 #define DISABLE_Z false
391
 #define DISABLE_Z false
392
+
393
+// @section extruder
394
+
364
 #define DISABLE_E false // For all extruders
395
 #define DISABLE_E false // For all extruders
365
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
396
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
366
 
397
 
398
+// @section machine
399
+
367
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
400
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
368
 #define INVERT_X_DIR false // DELTA does not invert
401
 #define INVERT_X_DIR false // DELTA does not invert
369
 #define INVERT_Y_DIR false
402
 #define INVERT_Y_DIR false
370
 #define INVERT_Z_DIR false
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
 #define INVERT_E0_DIR false
408
 #define INVERT_E0_DIR false
372
 #define INVERT_E1_DIR false
409
 #define INVERT_E1_DIR false
373
 #define INVERT_E2_DIR false
410
 #define INVERT_E2_DIR false
374
 #define INVERT_E3_DIR false
411
 #define INVERT_E3_DIR false
375
 
412
 
413
+// @section homing
414
+
376
 // ENDSTOP SETTINGS:
415
 // ENDSTOP SETTINGS:
377
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
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
 #define Y_HOME_DIR 1
419
 #define Y_HOME_DIR 1
380
 #define Z_HOME_DIR 1
420
 #define Z_HOME_DIR 1
381
 
421
 
382
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
422
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
383
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
427
 // Travel limits after homing (units are in mm)
386
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
428
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
387
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
429
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
397
                                  // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made.
439
                                  // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made.
398
                                  // It is assumed that when logic high = filament available
440
                                  // It is assumed that when logic high = filament available
399
                                  //                    when logic  low = filament ran out
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
 //=========================== Manual Bed Leveling ===========================
449
 //=========================== Manual Bed Leveling ===========================
408
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
453
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
409
 
454
 
410
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
457
 #endif  // MANUAL_BED_LEVELING
413
 
458
 
414
 #ifdef MESH_BED_LEVELING
459
 #ifdef MESH_BED_LEVELING
425
 //============================ Bed Auto Leveling ============================
470
 //============================ Bed Auto Leveling ============================
426
 //===========================================================================
471
 //===========================================================================
427
 
472
 
473
+// @section bedlevel
474
+
428
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
475
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
429
 //#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.
430
 
477
 
447
 
494
 
448
   #ifdef AUTO_BED_LEVELING_GRID
495
   #ifdef AUTO_BED_LEVELING_GRID
449
 
496
 
497
+    // set the rectangle in which to probe
450
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
498
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
451
-
452
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
499
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
453
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
500
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
454
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
501
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
455
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
502
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
456
-    
503
+
457
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
504
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
458
 
505
 
459
     // Non-linear bed leveling will be used.
506
     // Non-linear bed leveling will be used.
492
 
539
 
493
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
541
                                                                             //Useful to retract a deployable probe.
495
-                                                                           
542
+
496
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
543
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
497
   //#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.
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
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
546
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
500
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
547
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
501
   //#define Z_PROBE_ALLEN_KEY
548
   //#define Z_PROBE_ALLEN_KEY
549
+
502
   #ifdef Z_PROBE_ALLEN_KEY
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
   #endif
625
   #endif
512
-  
626
+
513
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
627
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
514
   //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.
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
   // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
629
   // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
529
 
643
 
530
   #ifdef Z_SAFE_HOMING
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
   #endif
649
   #endif
536
 
650
 
551
 #endif // ENABLE_AUTO_BED_LEVELING
665
 #endif // ENABLE_AUTO_BED_LEVELING
552
 
666
 
553
 
667
 
668
+// @section homing
669
+
554
 // The position of the homing switches
670
 // The position of the homing switches
555
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
671
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
556
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
672
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
563
   #define MANUAL_Z_HOME_POS 405 // For delta: Distance between nozzle and print surface after homing.
679
   #define MANUAL_Z_HOME_POS 405 // For delta: Distance between nozzle and print surface after homing.
564
 #endif
680
 #endif
565
 
681
 
682
+// @section movement
683
+
566
 /**
684
 /**
567
  * MOVEMENT SETTINGS
685
  * MOVEMENT SETTINGS
568
  */
686
  */
569
 
687
 
570
-
571
 // delta homing speeds must be the same on xyz
688
 // delta homing speeds must be the same on xyz
572
 #define HOMING_FEEDRATE {200*30, 200*30, 200*30, 0}  // set the homing speeds (mm/min)
689
 #define HOMING_FEEDRATE {200*30, 200*30, 200*30, 0}  // set the homing speeds (mm/min)
573
 
690
 
578
 #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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
701
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
591
 #define DEFAULT_XYJERK                15.0    // (mm/sec)
702
 #define DEFAULT_XYJERK                15.0    // (mm/sec)
592
 #define DEFAULT_ZJERK                 15.0    // (mm/sec) Must be same as XY for delta
703
 #define DEFAULT_ZJERK                 15.0    // (mm/sec) Must be same as XY for delta
597
 //============================= Additional Features ===========================
708
 //============================= Additional Features ===========================
598
 //=============================================================================
709
 //=============================================================================
599
 
710
 
711
+// @section more
712
+
600
 // Custom M code points
713
 // Custom M code points
601
 #define CUSTOM_M_CODES
714
 #define CUSTOM_M_CODES
602
 #ifdef CUSTOM_M_CODES
715
 #ifdef CUSTOM_M_CODES
607
   #endif
720
   #endif
608
 #endif
721
 #endif
609
 
722
 
723
+// @section extras
610
 
724
 
611
 // EEPROM
725
 // EEPROM
612
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
726
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
618
 
732
 
619
 #ifdef EEPROM_SETTINGS
733
 #ifdef EEPROM_SETTINGS
620
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
736
 #endif
623
 
737
 
738
+// @section temperature
739
+
624
 // Preheat Constants
740
 // Preheat Constants
625
 #define PLA_PREHEAT_HOTEND_TEMP 180
741
 #define PLA_PREHEAT_HOTEND_TEMP 180
626
 #define PLA_PREHEAT_HPB_TEMP 70
742
 #define PLA_PREHEAT_HPB_TEMP 70
631
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
747
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
632
 
748
 
633
 //==============================LCD and SD support=============================
749
 //==============================LCD and SD support=============================
750
+// @section lcd
634
 
751
 
635
 // Define your display language below. Replace (en) with your language code and uncomment.
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
 // See also language.h
754
 // See also language.h
638
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
755
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
639
 
756
 
656
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
773
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
657
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
774
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
658
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
775
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
659
-
660
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
776
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
661
 // http://reprap.org/wiki/PanelOne
777
 // http://reprap.org/wiki/PanelOne
662
 //#define PANEL_ONE
778
 //#define PANEL_ONE
719
 
835
 
720
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
836
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
721
 //#define LCD_I2C_VIKI
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
 // Shift register panels
843
 // Shift register panels
724
 // ---------------------
844
 // ---------------------
725
 // 2 wire Non-latching LCD SR from:
845
 // 2 wire Non-latching LCD SR from:
726
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
846
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
727
-
847
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
728
 //#define SAV_3DLCD
848
 //#define SAV_3DLCD
729
 
849
 
850
+// @section extras
851
+
730
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
852
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
731
 //#define FAST_PWM_FAN
853
 //#define FAST_PWM_FAN
732
 
854
 
750
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
872
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
751
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
876
 //#define SF_ARC_FIX
755
 
877
 
756
 // Support for the BariCUDA Paste Extruder.
878
 // Support for the BariCUDA Paste Extruder.
795
 // Uncomment below to enable
917
 // Uncomment below to enable
796
 //#define FILAMENT_SENSOR
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
 //defines used in the code
928
 //defines used in the code
807
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
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
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 250000
63
 #define BAUDRATE 250000
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
79
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 
81
 
81
 // This defines the number of extruders
82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85
 // 1 = ATX
93
 // 1 = ATX
86
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
89
 
98
 
90
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
105
 //============================= Thermal Settings ============================
227
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
228
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
224
 #endif // PIDTEMP
246
 
225
 
247
 //===========================================================================
226
 //===========================================================================
257
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // shouldn't use bed PID until someone else verifies your hardware works.
258
 // If this is enabled, find your own PID constants below.
237
 // If this is enabled, find your own PID constants below.
259
 //#define PIDTEMPBED
238
 //#define PIDTEMPBED
260
-//
239
+
261
 //#define BED_LIMIT_SWITCHING
240
 //#define BED_LIMIT_SWITCHING
262
 
241
 
263
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
269
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
270
 
249
 
271
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
267
 #endif // PIDTEMPBED
288
 
268
 
269
+// @section extruder
289
 
270
 
290
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
271
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
291
 //can be software-disabled for whatever purposes by
272
 //can be software-disabled for whatever purposes by
320
 //============================= Mechanical Settings =========================
301
 //============================= Mechanical Settings =========================
321
 //===========================================================================
302
 //===========================================================================
322
 
303
 
304
+// @section machine
305
+
323
 // Uncomment this option to enable CoreXY kinematics
306
 // Uncomment this option to enable CoreXY kinematics
324
 // #define COREXY
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
 // Enable this option for Toshiba steppers
344
 // Enable this option for Toshiba steppers
327
-// #define CONFIG_STEPPERS_TOSHIBA
345
+//#define CONFIG_STEPPERS_TOSHIBA
346
+
347
+// @section homing
328
 
348
 
329
 // coarse Endstop Settings
349
 // coarse Endstop Settings
330
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
350
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
337
   // #define ENDSTOPPULLUP_XMIN
357
   // #define ENDSTOPPULLUP_XMIN
338
   // #define ENDSTOPPULLUP_YMIN
358
   // #define ENDSTOPPULLUP_YMIN
339
   // #define ENDSTOPPULLUP_ZMIN
359
   // #define ENDSTOPPULLUP_ZMIN
360
+  // #define ENDSTOPPULLUP_ZPROBE
340
 #endif
361
 #endif
341
 
362
 
342
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
363
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
350
 //#define DISABLE_MAX_ENDSTOPS
371
 //#define DISABLE_MAX_ENDSTOPS
351
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
381
+// :{0:'Low',1:'High'}
354
 #define X_ENABLE_ON 0
382
 #define X_ENABLE_ON 0
355
 #define Y_ENABLE_ON 0
383
 #define Y_ENABLE_ON 0
356
 #define Z_ENABLE_ON 0
384
 #define Z_ENABLE_ON 0
361
 #define DISABLE_X false
389
 #define DISABLE_X false
362
 #define DISABLE_Y false
390
 #define DISABLE_Y false
363
 #define DISABLE_Z false
391
 #define DISABLE_Z false
392
+
393
+// @section extruder
394
+
364
 #define DISABLE_E false // For all extruders
395
 #define DISABLE_E false // For all extruders
365
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
396
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
366
 
397
 
398
+// @section machine
399
+
367
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
400
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
368
 #define INVERT_X_DIR false // DELTA does not invert
401
 #define INVERT_X_DIR false // DELTA does not invert
369
 #define INVERT_Y_DIR false
402
 #define INVERT_Y_DIR false
370
 #define INVERT_Z_DIR false
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
 #define INVERT_E0_DIR false
408
 #define INVERT_E0_DIR false
372
 #define INVERT_E1_DIR false
409
 #define INVERT_E1_DIR false
373
 #define INVERT_E2_DIR false
410
 #define INVERT_E2_DIR false
374
 #define INVERT_E3_DIR false
411
 #define INVERT_E3_DIR false
375
 
412
 
413
+// @section homing
414
+
376
 // ENDSTOP SETTINGS:
415
 // ENDSTOP SETTINGS:
377
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
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
 #define Y_HOME_DIR 1
419
 #define Y_HOME_DIR 1
380
 #define Z_HOME_DIR 1
420
 #define Z_HOME_DIR 1
381
 
421
 
382
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
422
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
383
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
427
 // Travel limits after homing (units are in mm)
386
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
428
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
387
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
429
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
401
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
443
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
402
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
444
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
403
   #define FILAMENT_RUNOUT_SCRIPT "M600"
445
   #define FILAMENT_RUNOUT_SCRIPT "M600"
404
-#endif 
405
-  
446
+#endif
447
+
406
 //===========================================================================
448
 //===========================================================================
407
 //=========================== Manual Bed Leveling ===========================
449
 //=========================== Manual Bed Leveling ===========================
408
 //===========================================================================
450
 //===========================================================================
411
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
453
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
412
 
454
 
413
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
457
 #endif  // MANUAL_BED_LEVELING
416
 
458
 
417
 #ifdef MESH_BED_LEVELING
459
 #ifdef MESH_BED_LEVELING
428
 //============================ Bed Auto Leveling ============================
470
 //============================ Bed Auto Leveling ============================
429
 //===========================================================================
471
 //===========================================================================
430
 
472
 
473
+// @section bedlevel
474
+
431
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
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
 
450
 
494
 
451
   #ifdef AUTO_BED_LEVELING_GRID
495
   #ifdef AUTO_BED_LEVELING_GRID
452
 
496
 
497
+    // set the rectangle in which to probe
453
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
498
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
454
-
455
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
499
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
456
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
500
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
457
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
501
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
458
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
502
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
459
-    
503
+
460
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
504
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
461
 
505
 
462
     // Non-linear bed leveling will be used.
506
     // Non-linear bed leveling will be used.
495
 
539
 
496
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
541
                                                                             //Useful to retract a deployable probe.
498
-                                                                           
542
+
499
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
543
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
500
   //#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.
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
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
546
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
503
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
547
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
504
   //#define Z_PROBE_ALLEN_KEY
548
   //#define Z_PROBE_ALLEN_KEY
549
+
505
   #ifdef Z_PROBE_ALLEN_KEY
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
   #endif
625
   #endif
515
-  
626
+
516
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
627
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
517
   //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.
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
   // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
629
   // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
532
 
643
 
533
   #ifdef Z_SAFE_HOMING
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
   #endif
649
   #endif
539
 
650
 
554
 #endif // ENABLE_AUTO_BED_LEVELING
665
 #endif // ENABLE_AUTO_BED_LEVELING
555
 
666
 
556
 
667
 
668
+// @section homing
669
+
557
 // The position of the homing switches
670
 // The position of the homing switches
558
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
671
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
559
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
672
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
566
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
679
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
567
 #endif
680
 #endif
568
 
681
 
682
+// @section movement
683
+
569
 /**
684
 /**
570
  * MOVEMENT SETTINGS
685
  * MOVEMENT SETTINGS
571
  */
686
  */
572
 
687
 
573
-
574
 // delta homing speeds must be the same on xyz
688
 // delta homing speeds must be the same on xyz
575
 #define HOMING_FEEDRATE {200*60, 200*60, 200*60, 0}  // set the homing speeds (mm/min)
689
 #define HOMING_FEEDRATE {200*60, 200*60, 200*60, 0}  // set the homing speeds (mm/min)
576
 
690
 
581
 #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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
701
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
594
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
702
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
595
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
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
 //============================= Additional Features ===========================
708
 //============================= Additional Features ===========================
601
 //=============================================================================
709
 //=============================================================================
602
 
710
 
711
+// @section more
712
+
603
 // Custom M code points
713
 // Custom M code points
604
 #define CUSTOM_M_CODES
714
 #define CUSTOM_M_CODES
605
 #ifdef CUSTOM_M_CODES
715
 #ifdef CUSTOM_M_CODES
610
   #endif
720
   #endif
611
 #endif
721
 #endif
612
 
722
 
723
+// @section extras
613
 
724
 
614
 // EEPROM
725
 // EEPROM
615
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
726
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
621
 
732
 
622
 #ifdef EEPROM_SETTINGS
733
 #ifdef EEPROM_SETTINGS
623
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
736
 #endif
626
 
737
 
738
+// @section temperature
739
+
627
 // Preheat Constants
740
 // Preheat Constants
628
 #define PLA_PREHEAT_HOTEND_TEMP 180
741
 #define PLA_PREHEAT_HOTEND_TEMP 180
629
 #define PLA_PREHEAT_HPB_TEMP 70
742
 #define PLA_PREHEAT_HPB_TEMP 70
634
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
747
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
635
 
748
 
636
 //==============================LCD and SD support=============================
749
 //==============================LCD and SD support=============================
750
+// @section lcd
637
 
751
 
638
 // Define your display language below. Replace (en) with your language code and uncomment.
752
 // Define your display language below. Replace (en) with your language code and uncomment.
639
 // en, pl, fr, de, es, ru, bg, 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
659
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
773
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
660
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
774
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
661
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
775
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
662
-
663
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
776
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
664
 // http://reprap.org/wiki/PanelOne
777
 // http://reprap.org/wiki/PanelOne
665
 //#define PANEL_ONE
778
 //#define PANEL_ONE
722
 
835
 
723
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
836
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
724
 //#define LCD_I2C_VIKI
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
 // Shift register panels
843
 // Shift register panels
727
 // ---------------------
844
 // ---------------------
728
 // 2 wire Non-latching LCD SR from:
845
 // 2 wire Non-latching LCD SR from:
729
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
846
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
730
-
847
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
731
 //#define SAV_3DLCD
848
 //#define SAV_3DLCD
732
 
849
 
850
+// @section extras
851
+
733
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
852
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
734
 //#define FAST_PWM_FAN
853
 //#define FAST_PWM_FAN
735
 
854
 
753
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
872
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
754
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
876
 //#define SF_ARC_FIX
758
 
877
 
759
 // Support for the BariCUDA Paste Extruder.
878
 // Support for the BariCUDA Paste Extruder.
798
 // Uncomment below to enable
917
 // Uncomment below to enable
799
 //#define FILAMENT_SENSOR
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
 //defines used in the code
928
 //defines used in the code
810
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
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
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 250000
63
 #define BAUDRATE 250000
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
79
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 
81
 
81
 // This defines the number of extruders
82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85
 // 1 = ATX
93
 // 1 = ATX
86
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
89
 
98
 
90
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
105
 //============================= Thermal Settings ============================
227
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
228
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
224
 #endif // PIDTEMP
246
 
225
 
247
 //===========================================================================
226
 //===========================================================================
257
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // shouldn't use bed PID until someone else verifies your hardware works.
258
 // If this is enabled, find your own PID constants below.
237
 // If this is enabled, find your own PID constants below.
259
 //#define PIDTEMPBED
238
 //#define PIDTEMPBED
260
-//
239
+
261
 //#define BED_LIMIT_SWITCHING
240
 //#define BED_LIMIT_SWITCHING
262
 
241
 
263
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
269
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
248
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
270
 
249
 
271
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
267
 #endif // PIDTEMPBED
288
 
268
 
269
+// @section extruder
289
 
270
 
290
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
271
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
291
 //can be software-disabled for whatever purposes by
272
 //can be software-disabled for whatever purposes by
320
 //============================= Mechanical Settings =========================
301
 //============================= Mechanical Settings =========================
321
 //===========================================================================
302
 //===========================================================================
322
 
303
 
304
+// @section machine
305
+
323
 // Uncomment this option to enable CoreXY kinematics
306
 // Uncomment this option to enable CoreXY kinematics
324
 // #define COREXY
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
 // Enable this option for Toshiba steppers
344
 // Enable this option for Toshiba steppers
327
-// #define CONFIG_STEPPERS_TOSHIBA
345
+//#define CONFIG_STEPPERS_TOSHIBA
346
+
347
+// @section homing
328
 
348
 
329
 // coarse Endstop Settings
349
 // coarse Endstop Settings
330
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
350
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
337
   // #define ENDSTOPPULLUP_XMIN
357
   // #define ENDSTOPPULLUP_XMIN
338
   // #define ENDSTOPPULLUP_YMIN
358
   // #define ENDSTOPPULLUP_YMIN
339
   // #define ENDSTOPPULLUP_ZMIN
359
   // #define ENDSTOPPULLUP_ZMIN
360
+  // #define ENDSTOPPULLUP_ZPROBE
340
 #endif
361
 #endif
341
 
362
 
342
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
363
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
350
 //#define DISABLE_MAX_ENDSTOPS
371
 //#define DISABLE_MAX_ENDSTOPS
351
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
381
+// :{0:'Low',1:'High'}
354
 #define X_ENABLE_ON 0
382
 #define X_ENABLE_ON 0
355
 #define Y_ENABLE_ON 0
383
 #define Y_ENABLE_ON 0
356
 #define Z_ENABLE_ON 0
384
 #define Z_ENABLE_ON 0
361
 #define DISABLE_X false
389
 #define DISABLE_X false
362
 #define DISABLE_Y false
390
 #define DISABLE_Y false
363
 #define DISABLE_Z false
391
 #define DISABLE_Z false
392
+
393
+// @section extruder
394
+
364
 #define DISABLE_E false // For all extruders
395
 #define DISABLE_E false // For all extruders
365
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
396
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
366
 
397
 
398
+// @section machine
399
+
367
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
400
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
368
 #define INVERT_X_DIR false // DELTA does not invert
401
 #define INVERT_X_DIR false // DELTA does not invert
369
 #define INVERT_Y_DIR false
402
 #define INVERT_Y_DIR false
370
 #define INVERT_Z_DIR false
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
 #define INVERT_E0_DIR false
408
 #define INVERT_E0_DIR false
372
 #define INVERT_E1_DIR false
409
 #define INVERT_E1_DIR false
373
 #define INVERT_E2_DIR false
410
 #define INVERT_E2_DIR false
374
 #define INVERT_E3_DIR false
411
 #define INVERT_E3_DIR false
375
 
412
 
413
+// @section homing
414
+
376
 // ENDSTOP SETTINGS:
415
 // ENDSTOP SETTINGS:
377
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
416
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
417
+// :[-1,1]
378
 #define X_HOME_DIR 1  // deltas always home to max
418
 #define X_HOME_DIR 1  // deltas always home to max
379
 #define Y_HOME_DIR 1
419
 #define Y_HOME_DIR 1
380
 #define Z_HOME_DIR 1
420
 #define Z_HOME_DIR 1
382
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
422
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
383
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
427
 // Travel limits after homing (units are in mm)
386
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
428
 #define X_MIN_POS -DELTA_PRINTABLE_RADIUS
387
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
429
 #define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
411
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
453
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
412
 
454
 
413
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
457
 #endif  // MANUAL_BED_LEVELING
416
 
458
 
417
 #ifdef MESH_BED_LEVELING
459
 #ifdef MESH_BED_LEVELING
428
 //============================ Bed Auto Leveling ============================
470
 //============================ Bed Auto Leveling ============================
429
 //===========================================================================
471
 //===========================================================================
430
 
472
 
473
+// @section bedlevel
474
+
431
 #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
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
 #ifdef ENABLE_AUTO_BED_LEVELING
478
 #ifdef ENABLE_AUTO_BED_LEVELING
435
 
479
 
450
 
494
 
451
   #ifdef AUTO_BED_LEVELING_GRID
495
   #ifdef AUTO_BED_LEVELING_GRID
452
 
496
 
497
+    // set the rectangle in which to probe
453
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
498
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
454
-
455
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
499
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
456
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
500
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
457
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
501
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
499
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
543
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
500
   //#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.
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
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
546
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
507
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
547
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
508
   #define Z_PROBE_ALLEN_KEY
548
   #define Z_PROBE_ALLEN_KEY
549
+
509
   #ifdef Z_PROBE_ALLEN_KEY
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
     // Kossel Mini
576
     // Kossel Mini
512
     #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
577
     #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
535
     #define Z_PROBE_ALLEN_KEY_STOW_3_Z  (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH)
600
     #define Z_PROBE_ALLEN_KEY_STOW_3_Z  (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH)
536
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_TRAVEL_SPEED/2)
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
   #endif
629
   #endif
539
 
630
 
540
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
631
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
556
 
647
 
557
   #ifdef Z_SAFE_HOMING
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
   #endif
653
   #endif
563
 
654
 
578
 #endif // ENABLE_AUTO_BED_LEVELING
669
 #endif // ENABLE_AUTO_BED_LEVELING
579
 
670
 
580
 
671
 
672
+// @section homing
673
+
581
 // The position of the homing switches
674
 // The position of the homing switches
582
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
675
 #define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
583
 #define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
676
 #define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
590
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
683
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
591
 #endif
684
 #endif
592
 
685
 
686
+// @section movement
687
+
593
 /**
688
 /**
594
  * MOVEMENT SETTINGS
689
  * MOVEMENT SETTINGS
595
  */
690
  */
596
 
691
 
597
-
598
 // delta homing speeds must be the same on xyz
692
 // delta homing speeds must be the same on xyz
599
 #define HOMING_FEEDRATE {200*60, 200*60, 200*60, 0}  // set the homing speeds (mm/min)
693
 #define HOMING_FEEDRATE {200*60, 200*60, 200*60, 0}  // set the homing speeds (mm/min)
600
 
694
 
605
 #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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
705
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
618
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
706
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
619
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
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
 //============================= Additional Features ===========================
712
 //============================= Additional Features ===========================
625
 //=============================================================================
713
 //=============================================================================
626
 
714
 
715
+// @section more
716
+
627
 // Custom M code points
717
 // Custom M code points
628
 #define CUSTOM_M_CODES
718
 #define CUSTOM_M_CODES
629
 #ifdef CUSTOM_M_CODES
719
 #ifdef CUSTOM_M_CODES
634
   #endif
724
   #endif
635
 #endif
725
 #endif
636
 
726
 
727
+// @section extras
637
 
728
 
638
 // EEPROM
729
 // EEPROM
639
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
730
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
645
 
736
 
646
 #ifdef EEPROM_SETTINGS
737
 #ifdef EEPROM_SETTINGS
647
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
740
 #endif
650
 
741
 
742
+// @section temperature
743
+
651
 // Preheat Constants
744
 // Preheat Constants
652
 #define PLA_PREHEAT_HOTEND_TEMP 180
745
 #define PLA_PREHEAT_HOTEND_TEMP 180
653
 #define PLA_PREHEAT_HPB_TEMP 70
746
 #define PLA_PREHEAT_HPB_TEMP 70
658
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
751
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
659
 
752
 
660
 //==============================LCD and SD support=============================
753
 //==============================LCD and SD support=============================
754
+// @section lcd
661
 
755
 
662
 // Define your display language below. Replace (en) with your language code and uncomment.
756
 // Define your display language below. Replace (en) with your language code and uncomment.
663
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
757
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
683
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
777
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
684
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
778
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
685
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
779
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
686
-
687
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
780
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
688
 // http://reprap.org/wiki/PanelOne
781
 // http://reprap.org/wiki/PanelOne
689
 #define PANEL_ONE
782
 #define PANEL_ONE
746
 
839
 
747
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
840
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
748
 //#define LCD_I2C_VIKI
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
 // Shift register panels
847
 // Shift register panels
751
 // ---------------------
848
 // ---------------------
752
 // 2 wire Non-latching LCD SR from:
849
 // 2 wire Non-latching LCD SR from:
753
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
850
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
754
-
851
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
755
 //#define SAV_3DLCD
852
 //#define SAV_3DLCD
756
 
853
 
854
+// @section extras
855
+
757
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
856
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
758
 //#define FAST_PWM_FAN
857
 //#define FAST_PWM_FAN
759
 
858
 
777
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
876
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
778
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
880
 //#define SF_ARC_FIX
782
 
881
 
783
 // Support for the BariCUDA Paste Extruder.
882
 // Support for the BariCUDA Paste Extruder.
822
 // Uncomment below to enable
921
 // Uncomment below to enable
823
 //#define FILAMENT_SENSOR
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
 //defines used in the code
932
 //defines used in the code
834
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
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
 #define POWER_SUPPLY 1
101
 #define POWER_SUPPLY 1
102
 
102
 
103
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 // @section temperature
106
 // @section temperature
107
 
107
 
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
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
   //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders)
205
   //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders)
206
                                     // Set/get with gcode: M301 E[extruder number, 0-2]
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
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
209
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
210
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
233
 #endif // PIDTEMP
234
 
234
 
235
 //===========================================================================
235
 //===========================================================================
245
 // shouldn't use bed PID until someone else verifies your hardware works.
245
 // shouldn't use bed PID until someone else verifies your hardware works.
246
 // If this is enabled, find your own PID constants below.
246
 // If this is enabled, find your own PID constants below.
247
 #define PIDTEMPBED
247
 #define PIDTEMPBED
248
-//
248
+
249
 //#define BED_LIMIT_SWITCHING
249
 //#define BED_LIMIT_SWITCHING
250
 
250
 
251
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
251
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
257
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
257
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
258
 
258
 
259
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
282
 #endif // PIDTEMPBED
282
 
283
 
283
 // @section extruder
284
 // @section extruder
306
  * The solution: Once the temperature reaches the target, start observing.
307
  * The solution: Once the temperature reaches the target, start observing.
307
  * If the temperature stays too far below the target (hysteresis) for too long,
308
  * If the temperature stays too far below the target (hysteresis) for too long,
308
  * the firmware will halt as a safety precaution.
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
 //============================= Mechanical Settings =========================
316
 //============================= Mechanical Settings =========================
342
 #define DELTA
328
 #define DELTA
343
 
329
 
344
 #ifdef DELTA
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
 #endif
357
 #endif
371
 
358
 
372
 // Enable this option for Toshiba steppers
359
 // Enable this option for Toshiba steppers
373
-// #define CONFIG_STEPPERS_TOSHIBA
360
+//#define CONFIG_STEPPERS_TOSHIBA
374
 
361
 
375
 // @section homing
362
 // @section homing
376
 
363
 
385
   // #define ENDSTOPPULLUP_XMIN
372
   // #define ENDSTOPPULLUP_XMIN
386
   // #define ENDSTOPPULLUP_YMIN
373
   // #define ENDSTOPPULLUP_YMIN
387
   // #define ENDSTOPPULLUP_ZMIN
374
   // #define ENDSTOPPULLUP_ZMIN
375
+  // #define ENDSTOPPULLUP_ZPROBE
388
 #endif
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
 const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
379
 const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
401
 const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
380
 const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
402
 const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
381
 const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
407
 //#define DISABLE_MAX_ENDSTOPS
386
 //#define DISABLE_MAX_ENDSTOPS
408
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
395
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
416
 // :{0:'Low',1:'High'}
396
 // :{0:'Low',1:'High'}
483
 //===========================================================================
463
 //===========================================================================
484
 //=========================== Manual Bed Leveling ===========================
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
 //============================ Bed Auto Leveling ============================
485
 //============================ Bed Auto Leveling ============================
494
 // @section bedlevel
488
 // @section bedlevel
495
 
489
 
496
 #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
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
 #ifdef ENABLE_AUTO_BED_LEVELING
493
 #ifdef ENABLE_AUTO_BED_LEVELING
500
 
494
 
513
   // Note: this feature generates 10KB extra code size
507
   // Note: this feature generates 10KB extra code size
514
   #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
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
   #ifdef AUTO_BED_LEVELING_GRID
510
   #ifdef AUTO_BED_LEVELING_GRID
521
 
511
 
522
     // set the rectangle in which to probe
512
     // set the rectangle in which to probe
527
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
517
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
528
 
518
 
529
     #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
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
     // Non-linear bed leveling will be used.
521
     // Non-linear bed leveling will be used.
536
     // Compensate by interpolating between the nearest four Z probe values for each point.
522
     // Compensate by interpolating between the nearest four Z probe values for each point.
537
     // Useful for deltas where the print surface may appear like a bowl or dome shape.
523
     // Useful for deltas where the print surface may appear like a bowl or dome shape.
538
     // Works best with ACCURATE_BED_LEVELING_POINTS 5 or higher.
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
       // Arbitrary points to probe. A simple cross-product
529
       // Arbitrary points to probe. A simple cross-product
544
       // is used to estimate the plane of the bed.
530
       // is used to estimate the plane of the bed.
574
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
560
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
575
   //#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.
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
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
563
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
582
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
564
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
583
   #define Z_PROBE_ALLEN_KEY
565
   #define Z_PROBE_ALLEN_KEY
586
     // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
568
     // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
587
     // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.
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
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS
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
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE HOMING_FEEDRATE_X
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
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS
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
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
578
     //#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (HOMING_FEEDRATE_X/10)
599
 
579
 
600
     //#define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position
580
     //#define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position
661
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
641
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
662
   #endif
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
 //  #define PROBE_SERVO_DEACTIVATION_DELAY 300
648
 //  #define PROBE_SERVO_DEACTIVATION_DELAY 300
665
 
649
 
666
 
650
 
676
 
660
 
677
   #ifdef Z_SAFE_HOMING
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
   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
668
   // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
684
   // 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.
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
   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
678
   // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
694
 
679
 
695
   //#define Z_PROBE_ENDSTOP
680
   //#define Z_PROBE_ENDSTOP
696
-  #endif // Z_SAFE_HOMING
697
 
681
 
698
 #endif // ENABLE_AUTO_BED_LEVELING
682
 #endif // ENABLE_AUTO_BED_LEVELING
699
 
683
 
718
  * MOVEMENT SETTINGS
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
 // delta homing speeds must be the same on xyz
705
 // delta homing speeds must be the same on xyz
724
 #define HOMING_FEEDRATE_X (200*60)
706
 #define HOMING_FEEDRATE_X (200*60)
725
 #define HOMING_FEEDRATE_Y (200*60)
707
 #define HOMING_FEEDRATE_Y (200*60)
743
 #define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
725
 #define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration in mm/s^2 for retracts
744
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
728
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
753
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
729
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
754
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
730
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
779
 // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
755
 // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
780
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
756
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
781
 //define this to enable EEPROM support
757
 //define this to enable EEPROM support
758
+//#define EEPROM_SETTINGS
759
+
782
 #ifdef EEPROM_SETTINGS
760
 #ifdef EEPROM_SETTINGS
783
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
761
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
784
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
762
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
799
 // @section lcd
777
 // @section lcd
800
 
778
 
801
 // Define your display language below. Replace (en) with your language code and uncomment.
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
 // See also language.h
781
 // See also language.h
804
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
782
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
805
 
783
 
822
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
800
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
823
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
801
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
824
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
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
 // The MaKr3d Makr-Panel with graphic controller and SD support
807
 // The MaKr3d Makr-Panel with graphic controller and SD support
827
 // http://reprap.org/wiki/MaKr3d_MaKrPanel
808
 // http://reprap.org/wiki/MaKr3d_MaKrPanel
837
 //
818
 //
838
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
819
 // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
839
 //#define ELB_FULL_GRAPHIC_CONTROLLER
820
 //#define ELB_FULL_GRAPHIC_CONTROLLER
821
+//#define SDCARDDETECTINVERTED
840
 
822
 
841
 // The RepRapDiscount Smart Controller (white PCB)
823
 // The RepRapDiscount Smart Controller (white PCB)
842
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
824
 // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
862
 // REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C
844
 // REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C
863
 //#define RA_CONTROL_PANEL
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
  * I2C Panels
855
  * I2C Panels
898
  */
856
  */
899
 
857
 
900
 //#define LCD_I2C_SAINSMART_YWROBOT
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
 // PANELOLU2 LCD with status LEDs, separate encoder and click inputs
860
 // PANELOLU2 LCD with status LEDs, separate encoder and click inputs
911
 //#define LCD_I2C_PANELOLU2
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
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
863
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
941
 //#define LCD_I2C_VIKI
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
 // Shift register panels
870
 // Shift register panels
955
 // ---------------------
871
 // ---------------------
956
 // 2 wire Non-latching LCD SR from:
872
 // 2 wire Non-latching LCD SR from:
957
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
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
 // @section extras
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
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
879
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
997
 //#define FAST_PWM_FAN
880
 //#define FAST_PWM_FAN
1042
 // Servo Endstops
925
 // Servo Endstops
1043
 //
926
 //
1044
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
930
 //#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
1048
 //#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles
931
 //#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles
1061
 // Uncomment below to enable
944
 // Uncomment below to enable
1062
 //#define FILAMENT_SENSOR
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
 //defines used in the code
955
 //defines used in the code
1073
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially
956
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

+ 104
- 54
Marlin/example_configurations/makibox/Configuration.h 查看文件

59
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 250000
63
 #define BAUDRATE 250000
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
79
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 
81
 
81
 // This defines the number of extruders
82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85
 // 1 = ATX
93
 // 1 = ATX
86
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
89
 
98
 
90
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
105
 //============================= Thermal Settings ============================
194
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
195
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
224
 #endif // PIDTEMP
213
 
225
 
214
 //===========================================================================
226
 //===========================================================================
224
 // shouldn't use bed PID until someone else verifies your hardware works.
236
 // shouldn't use bed PID until someone else verifies your hardware works.
225
 // If this is enabled, find your own PID constants below.
237
 // If this is enabled, find your own PID constants below.
226
 //#define PIDTEMPBED
238
 //#define PIDTEMPBED
227
-//
239
+
228
 //#define BED_LIMIT_SWITCHING
240
 //#define BED_LIMIT_SWITCHING
229
 
241
 
230
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
242
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
239
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
251
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
240
 
252
 
241
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
270
 #endif // PIDTEMPBED
258
 
271
 
272
+// @section extruder
259
 
273
 
260
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
274
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
261
 //can be software-disabled for whatever purposes by
275
 //can be software-disabled for whatever purposes by
290
 //============================= Mechanical Settings =========================
304
 //============================= Mechanical Settings =========================
291
 //===========================================================================
305
 //===========================================================================
292
 
306
 
307
+// @section machine
308
+
293
 // Uncomment this option to enable CoreXY kinematics
309
 // Uncomment this option to enable CoreXY kinematics
294
 // #define COREXY
310
 // #define COREXY
295
 
311
 
296
 // Enable this option for Toshiba steppers
312
 // Enable this option for Toshiba steppers
297
-// #define CONFIG_STEPPERS_TOSHIBA
313
+//#define CONFIG_STEPPERS_TOSHIBA
314
+
315
+// @section homing
298
 
316
 
299
 // coarse Endstop Settings
317
 // coarse Endstop Settings
300
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
318
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
307
   // #define ENDSTOPPULLUP_XMIN
325
   // #define ENDSTOPPULLUP_XMIN
308
   // #define ENDSTOPPULLUP_YMIN
326
   // #define ENDSTOPPULLUP_YMIN
309
   // #define ENDSTOPPULLUP_ZMIN
327
   // #define ENDSTOPPULLUP_ZMIN
328
+  // #define ENDSTOPPULLUP_ZPROBE
310
 #endif
329
 #endif
311
 
330
 
312
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
331
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
320
 //#define DISABLE_MAX_ENDSTOPS
339
 //#define DISABLE_MAX_ENDSTOPS
321
 //#define DISABLE_MIN_ENDSTOPS
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
348
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
349
+// :{0:'Low',1:'High'}
324
 #define X_ENABLE_ON 0
350
 #define X_ENABLE_ON 0
325
 #define Y_ENABLE_ON 0
351
 #define Y_ENABLE_ON 0
326
 #define Z_ENABLE_ON 0
352
 #define Z_ENABLE_ON 0
331
 #define DISABLE_X false
357
 #define DISABLE_X false
332
 #define DISABLE_Y false
358
 #define DISABLE_Y false
333
 #define DISABLE_Z false
359
 #define DISABLE_Z false
360
+
361
+// @section extruder
362
+
334
 #define DISABLE_E false // For all extruders
363
 #define DISABLE_E false // For all extruders
335
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
364
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
336
 
365
 
366
+// @section machine
367
+
337
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
368
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
338
 #define INVERT_X_DIR false
369
 #define INVERT_X_DIR false
339
 #define INVERT_Y_DIR false
370
 #define INVERT_Y_DIR false
340
 #define INVERT_Z_DIR false
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
 #define INVERT_E0_DIR true
376
 #define INVERT_E0_DIR true
343
 #define INVERT_E1_DIR false
377
 #define INVERT_E1_DIR false
344
 #define INVERT_E2_DIR false
378
 #define INVERT_E2_DIR false
345
 #define INVERT_E3_DIR false
379
 #define INVERT_E3_DIR false
346
 
380
 
381
+// @section homing
382
+
347
 // ENDSTOP SETTINGS:
383
 // ENDSTOP SETTINGS:
348
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
384
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
385
+// :[-1,1]
349
 #define X_HOME_DIR -1
386
 #define X_HOME_DIR -1
350
 #define Y_HOME_DIR -1
387
 #define Y_HOME_DIR -1
351
 #define Z_HOME_DIR -1
388
 #define Z_HOME_DIR -1
353
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
390
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
354
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
395
 // Travel limits after homing (units are in mm)
357
 #define X_MIN_POS 0
396
 #define X_MIN_POS 0
358
 #define Y_MIN_POS 0
397
 #define Y_MIN_POS 0
372
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
411
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
373
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
412
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
374
   #define FILAMENT_RUNOUT_SCRIPT "M600"
413
   #define FILAMENT_RUNOUT_SCRIPT "M600"
375
-#endif 
414
+#endif
415
+
376
 //===========================================================================
416
 //===========================================================================
377
 //=========================== Manual Bed Leveling ===========================
417
 //=========================== Manual Bed Leveling ===========================
378
 //===========================================================================
418
 //===========================================================================
381
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
421
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
382
 
422
 
383
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
425
 #endif  // MANUAL_BED_LEVELING
386
 
426
 
387
 #ifdef MESH_BED_LEVELING
427
 #ifdef MESH_BED_LEVELING
398
 //============================ Bed Auto Leveling ============================
438
 //============================ Bed Auto Leveling ============================
399
 //===========================================================================
439
 //===========================================================================
400
 
440
 
441
+// @section bedlevel
442
+
401
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
443
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
402
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
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
 
503
 
462
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
505
                                                                             //Useful to retract a deployable probe.
464
-                                                                           
506
+
465
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
507
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
466
   //#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.
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
 
526
 
485
   #ifdef Z_SAFE_HOMING
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
   #endif
532
   #endif
491
 
533
 
506
 #endif // ENABLE_AUTO_BED_LEVELING
548
 #endif // ENABLE_AUTO_BED_LEVELING
507
 
549
 
508
 
550
 
551
+// @section homing
552
+
509
 // The position of the homing switches
553
 // The position of the homing switches
510
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
554
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
511
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
555
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
519
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
563
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
520
 #endif
564
 #endif
521
 
565
 
566
+// @section movement
567
+
522
 /**
568
 /**
523
  * MOVEMENT SETTINGS
569
  * MOVEMENT SETTINGS
524
  */
570
  */
532
 #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.
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
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
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
 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
584
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
545
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
585
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
546
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
586
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
551
 //============================= Additional Features ===========================
591
 //============================= Additional Features ===========================
552
 //=============================================================================
592
 //=============================================================================
553
 
593
 
594
+// @section more
595
+
554
 // Custom M code points
596
 // Custom M code points
555
 #define CUSTOM_M_CODES
597
 #define CUSTOM_M_CODES
556
 #ifdef CUSTOM_M_CODES
598
 #ifdef CUSTOM_M_CODES
561
   #endif
603
   #endif
562
 #endif
604
 #endif
563
 
605
 
606
+// @section extras
564
 
607
 
565
 // EEPROM
608
 // EEPROM
566
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
609
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
572
 
615
 
573
 #ifdef EEPROM_SETTINGS
616
 #ifdef EEPROM_SETTINGS
574
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
619
 #endif
577
 
620
 
621
+// @section temperature
622
+
578
 // Preheat Constants
623
 // Preheat Constants
579
 #define PLA_PREHEAT_HOTEND_TEMP 180
624
 #define PLA_PREHEAT_HOTEND_TEMP 180
580
 #define PLA_PREHEAT_HPB_TEMP 70
625
 #define PLA_PREHEAT_HPB_TEMP 70
585
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
630
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
586
 
631
 
587
 //==============================LCD and SD support=============================
632
 //==============================LCD and SD support=============================
633
+// @section lcd
588
 
634
 
589
 // Define your display language below. Replace (en) with your language code and uncomment.
635
 // Define your display language below. Replace (en) with your language code and uncomment.
590
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
636
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
591
-
592
 // See also language.h
637
 // See also language.h
593
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
638
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
594
 
639
 
611
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
656
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
612
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
657
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
613
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
658
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
614
-
615
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
659
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
616
 // http://reprap.org/wiki/PanelOne
660
 // http://reprap.org/wiki/PanelOne
617
 //#define PANEL_ONE
661
 //#define PANEL_ONE
667
 
711
 
668
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
712
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
669
 //#define LCD_I2C_VIKI
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
 // Shift register panels
719
 // Shift register panels
672
 // ---------------------
720
 // ---------------------
673
 // 2 wire Non-latching LCD SR from:
721
 // 2 wire Non-latching LCD SR from:
674
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
722
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
675
-
723
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
676
 //#define SAV_3DLCD
724
 //#define SAV_3DLCD
677
 
725
 
726
+// @section extras
727
+
678
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
728
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
679
 //#define FAST_PWM_FAN
729
 //#define FAST_PWM_FAN
680
 
730
 
698
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
748
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
699
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
752
 //#define SF_ARC_FIX
703
 
753
 
704
 // Support for the BariCUDA Paste Extruder.
754
 // Support for the BariCUDA Paste Extruder.
743
 // Uncomment below to enable
793
 // Uncomment below to enable
744
 //#define FILAMENT_SENSOR
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
 //defines used in the code
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
 //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.
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
 //#define FILAMENT_LCD_DISPLAY
808
 //#define FILAMENT_LCD_DISPLAY

+ 107
- 57
Marlin/example_configurations/tvrrug/Round2/Configuration.h 查看文件

59
 #define SERIAL_PORT 0
59
 #define SERIAL_PORT 0
60
 
60
 
61
 // This determines the communication speed of the printer
61
 // This determines the communication speed of the printer
62
+// :[2400,9600,19200,38400,57600,115200,250000]
62
 #define BAUDRATE 250000
63
 #define BAUDRATE 250000
63
 
64
 
64
 // This enables the serial port associated to the Bluetooth interface
65
 // This enables the serial port associated to the Bluetooth interface
79
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
80
 
81
 
81
 // This defines the number of extruders
82
 // This defines the number of extruders
83
+// :[1,2,3,4]
82
 #define EXTRUDERS 1
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
 //// The following define selects which power supply you have. Please choose the one that matches your setup
92
 //// The following define selects which power supply you have. Please choose the one that matches your setup
85
 // 1 = ATX
93
 // 1 = ATX
86
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
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
 #define POWER_SUPPLY 1
97
 #define POWER_SUPPLY 1
89
 
98
 
90
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
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
 //============================= Thermal Settings ============================
105
 //============================= Thermal Settings ============================
194
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
195
   #define K1 0.95 //smoothing factor within the PID
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
 #endif // PIDTEMP
229
 #endif // PIDTEMP
218
 
230
 
219
 //===========================================================================
231
 //===========================================================================
229
 // shouldn't use bed PID until someone else verifies your hardware works.
241
 // shouldn't use bed PID until someone else verifies your hardware works.
230
 // If this is enabled, find your own PID constants below.
242
 // If this is enabled, find your own PID constants below.
231
 //#define PIDTEMPBED
243
 //#define PIDTEMPBED
232
-//
244
+
233
 //#define BED_LIMIT_SWITCHING
245
 //#define BED_LIMIT_SWITCHING
234
 
246
 
235
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
247
 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
241
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
253
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
242
 
254
 
243
 #ifdef PIDTEMPBED
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
 #endif // PIDTEMPBED
272
 #endif // PIDTEMPBED
260
 
273
 
274
+// @section extruder
261
 
275
 
262
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
276
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
263
 //can be software-disabled for whatever purposes by
277
 //can be software-disabled for whatever purposes by
292
 //============================= Mechanical Settings =========================
306
 //============================= Mechanical Settings =========================
293
 //===========================================================================
307
 //===========================================================================
294
 
308
 
309
+// @section machine
310
+
295
 // Uncomment this option to enable CoreXY kinematics
311
 // Uncomment this option to enable CoreXY kinematics
296
 // #define COREXY
312
 // #define COREXY
297
 
313
 
298
 // Enable this option for Toshiba steppers
314
 // Enable this option for Toshiba steppers
299
 #define CONFIG_STEPPERS_TOSHIBA
315
 #define CONFIG_STEPPERS_TOSHIBA
300
 
316
 
317
+// @section homing
318
+
301
 // coarse Endstop Settings
319
 // coarse Endstop Settings
302
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
320
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
303
 
321
 
309
   // #define ENDSTOPPULLUP_XMIN
327
   // #define ENDSTOPPULLUP_XMIN
310
   // #define ENDSTOPPULLUP_YMIN
328
   // #define ENDSTOPPULLUP_YMIN
311
   // #define ENDSTOPPULLUP_ZMIN
329
   // #define ENDSTOPPULLUP_ZMIN
330
+  // #define ENDSTOPPULLUP_ZPROBE
312
 #endif
331
 #endif
313
 
332
 
314
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
333
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
322
 //#define DISABLE_MAX_ENDSTOPS
341
 //#define DISABLE_MAX_ENDSTOPS
323
 //#define DISABLE_MIN_ENDSTOPS
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
350
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
351
+// :{0:'Low',1:'High'}
326
 #define X_ENABLE_ON 1
352
 #define X_ENABLE_ON 1
327
 #define Y_ENABLE_ON 1
353
 #define Y_ENABLE_ON 1
328
 #define Z_ENABLE_ON 1
354
 #define Z_ENABLE_ON 1
333
 #define DISABLE_X false
359
 #define DISABLE_X false
334
 #define DISABLE_Y false
360
 #define DISABLE_Y false
335
 #define DISABLE_Z false
361
 #define DISABLE_Z false
362
+
363
+// @section extruder
364
+
336
 #define DISABLE_E false // For all extruders
365
 #define DISABLE_E false // For all extruders
337
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
366
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
338
 
367
 
368
+// @section machine
369
+
339
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
370
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
340
 #define INVERT_X_DIR false
371
 #define INVERT_X_DIR false
341
 #define INVERT_Y_DIR false
372
 #define INVERT_Y_DIR false
342
 #define INVERT_Z_DIR true
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
 #define INVERT_E0_DIR false
378
 #define INVERT_E0_DIR false
344
 #define INVERT_E1_DIR false
379
 #define INVERT_E1_DIR false
345
 #define INVERT_E2_DIR false
380
 #define INVERT_E2_DIR false
346
 #define INVERT_E3_DIR false
381
 #define INVERT_E3_DIR false
347
 
382
 
383
+// @section homing
384
+
348
 // ENDSTOP SETTINGS:
385
 // ENDSTOP SETTINGS:
349
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
386
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
387
+// :[-1,1]
350
 #define X_HOME_DIR -1
388
 #define X_HOME_DIR -1
351
 #define Y_HOME_DIR -1
389
 #define Y_HOME_DIR -1
352
 #define Z_HOME_DIR -1
390
 #define Z_HOME_DIR -1
354
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
392
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
355
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
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
 // Travel limits after homing (units are in mm)
397
 // Travel limits after homing (units are in mm)
358
 #define X_MIN_POS 0
398
 #define X_MIN_POS 0
359
 #define Y_MIN_POS 0
399
 #define Y_MIN_POS 0
373
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
413
   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned
374
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
414
   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
375
   #define FILAMENT_RUNOUT_SCRIPT "M600"
415
   #define FILAMENT_RUNOUT_SCRIPT "M600"
376
-#endif 
416
+#endif
377
 
417
 
378
 //===========================================================================
418
 //===========================================================================
379
 //=========================== Manual Bed Leveling ===========================
419
 //=========================== Manual Bed Leveling ===========================
383
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
423
 // #define MESH_BED_LEVELING    // Enable mesh bed leveling
384
 
424
 
385
 #ifdef MANUAL_BED_LEVELING
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
 #endif  // MANUAL_BED_LEVELING
427
 #endif  // MANUAL_BED_LEVELING
388
 
428
 
389
 #ifdef MESH_BED_LEVELING
429
 #ifdef MESH_BED_LEVELING
400
 //============================ Bed Auto Leveling ============================
440
 //============================ Bed Auto Leveling ============================
401
 //===========================================================================
441
 //===========================================================================
402
 
442
 
443
+// @section bedlevel
444
+
403
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
445
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
404
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
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
 
505
 
464
 //   #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.
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
                                                                             //Useful to retract a deployable probe.
507
                                                                             //Useful to retract a deployable probe.
466
-                                                                           
508
+
467
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
509
   //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
468
   //#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.
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
 
528
 
487
   #ifdef Z_SAFE_HOMING
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
   #endif
534
   #endif
493
 
535
 
508
 #endif // ENABLE_AUTO_BED_LEVELING
550
 #endif // ENABLE_AUTO_BED_LEVELING
509
 
551
 
510
 
552
 
553
+// @section homing
554
+
511
 // The position of the homing switches
555
 // The position of the homing switches
512
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
556
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
513
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
557
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
521
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
565
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
522
 #endif
566
 #endif
523
 
567
 
568
+// @section movement
569
+
524
 /**
570
 /**
525
  * MOVEMENT SETTINGS
571
  * MOVEMENT SETTINGS
526
  */
572
  */
541
 #define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
587
 #define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
542
 #define DEFAULT_TRAVEL_ACCELERATION   500    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
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
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
590
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
551
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
591
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
552
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
592
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
557
 //============================= Additional Features ===========================
597
 //============================= Additional Features ===========================
558
 //=============================================================================
598
 //=============================================================================
559
 
599
 
600
+// @section more
601
+
560
 // Custom M code points
602
 // Custom M code points
561
 #define CUSTOM_M_CODES
603
 #define CUSTOM_M_CODES
562
 #ifdef CUSTOM_M_CODES
604
 #ifdef CUSTOM_M_CODES
567
   #endif
609
   #endif
568
 #endif
610
 #endif
569
 
611
 
612
+// @section extras
570
 
613
 
571
 // EEPROM
614
 // EEPROM
572
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
615
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
578
 
621
 
579
 #ifdef EEPROM_SETTINGS
622
 #ifdef EEPROM_SETTINGS
580
   // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
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
 #endif
625
 #endif
583
 
626
 
627
+// @section temperature
628
+
584
 // Preheat Constants
629
 // Preheat Constants
585
 #define PLA_PREHEAT_HOTEND_TEMP 180
630
 #define PLA_PREHEAT_HOTEND_TEMP 180
586
 #define PLA_PREHEAT_HPB_TEMP 70
631
 #define PLA_PREHEAT_HPB_TEMP 70
591
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
636
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
592
 
637
 
593
 //==============================LCD and SD support=============================
638
 //==============================LCD and SD support=============================
639
+// @section lcd
594
 
640
 
595
 // Define your display language below. Replace (en) with your language code and uncomment.
641
 // Define your display language below. Replace (en) with your language code and uncomment.
596
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
642
 // en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
597
-
598
 // See also language.h
643
 // See also language.h
599
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
644
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
600
 
645
 
617
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
662
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
618
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
663
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000         // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
619
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
664
                                                  // 0 to disable buzzer feedback. Test with M300 S<frequency Hz> P<duration ms>
620
-
621
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
665
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
622
 // http://reprap.org/wiki/PanelOne
666
 // http://reprap.org/wiki/PanelOne
623
 //#define PANEL_ONE
667
 //#define PANEL_ONE
673
 
717
 
674
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
718
 // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
675
 //#define LCD_I2C_VIKI
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
 // Shift register panels
725
 // Shift register panels
678
 // ---------------------
726
 // ---------------------
679
 // 2 wire Non-latching LCD SR from:
727
 // 2 wire Non-latching LCD SR from:
680
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
728
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
681
-
729
+// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD
682
 //#define SAV_3DLCD
730
 //#define SAV_3DLCD
683
 
731
 
732
+// @section extras
733
+
684
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
734
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
685
 //#define FAST_PWM_FAN
735
 //#define FAST_PWM_FAN
686
 
736
 
704
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
754
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
705
 // #define PHOTOGRAPH_PIN     23
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
 //#define SF_ARC_FIX
758
 //#define SF_ARC_FIX
709
 
759
 
710
 // Support for the BariCUDA Paste Extruder.
760
 // Support for the BariCUDA Paste Extruder.
749
 // Uncomment below to enable
799
 // Uncomment below to enable
750
 //#define FILAMENT_SENSOR
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
 //defines used in the code
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
 //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.
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
 //#define FILAMENT_LCD_DISPLAY
814
 //#define FILAMENT_LCD_DISPLAY

+ 3
- 3
Marlin/temperature.cpp 查看文件

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

+ 1
- 1
Marlin/ultralcd.cpp 查看文件

1665
     #define encrot1 2
1665
     #define encrot1 2
1666
     #define encrot2 3
1666
     #define encrot2 3
1667
     #define encrot3 1
1667
     #define encrot3 1
1668
-  #endif 
1668
+  #endif
1669
 
1669
 
1670
   /**
1670
   /**
1671
    * Read encoder buttons from the hardware registers
1671
    * Read encoder buttons from the hardware registers

+ 1
- 1
Marlin/ultralcd_implementation_hitachi_HD44780.h 查看文件

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

Loading…
取消
儲存