Browse Source

Merge branch 'Development-Marlin' into Development

Edward Patel 10 years ago
parent
commit
002340f32c
34 changed files with 2106 additions and 1540 deletions
  1. 52
    3
      Marlin/Configuration.h
  2. 156
    114
      Marlin/Configuration_adv.h
  3. 14
    16
      Marlin/Marlin_main.cpp
  4. 40
    29
      Marlin/configurator/config/Configuration.h
  5. 127
    117
      Marlin/configurator/config/Configuration_adv.h
  6. 10
    7
      Marlin/configurator/config/boards.h
  7. 88
    79
      Marlin/configurator/config/language.h
  8. 16
    4
      Marlin/configurator/index.html
  9. 62
    44
      Marlin/configurator/js/configurator.js
  10. 14
    9
      Marlin/dogm_lcd_implementation.h
  11. 5
    3
      Marlin/example_configurations/Felix/Configuration.h
  12. 5
    3
      Marlin/example_configurations/Felix/Configuration_DUAL.h
  13. 157
    115
      Marlin/example_configurations/Felix/Configuration_adv.h
  14. 5
    3
      Marlin/example_configurations/Hephestos/Configuration.h
  15. 157
    115
      Marlin/example_configurations/Hephestos/Configuration_adv.h
  16. 5
    3
      Marlin/example_configurations/K8200/Configuration.h
  17. 157
    115
      Marlin/example_configurations/K8200/Configuration_adv.h
  18. 5
    3
      Marlin/example_configurations/SCARA/Configuration.h
  19. 157
    115
      Marlin/example_configurations/SCARA/Configuration_adv.h
  20. 5
    3
      Marlin/example_configurations/WITBOX/Configuration.h
  21. 157
    115
      Marlin/example_configurations/WITBOX/Configuration_adv.h
  22. 5
    3
      Marlin/example_configurations/delta/generic/Configuration.h
  23. 156
    114
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  24. 5
    3
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  25. 156
    114
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  26. 5
    3
      Marlin/example_configurations/makibox/Configuration.h
  27. 157
    115
      Marlin/example_configurations/makibox/Configuration_adv.h
  28. 5
    3
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  29. 157
    115
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  30. 41
    39
      Marlin/pins_AZTEEG_X3_PRO.h
  31. 4
    0
      Marlin/pins_RAMPS_13.h
  32. 5
    5
      Marlin/stepper.cpp
  33. 1
    1
      Marlin/temperature.cpp
  34. 15
    10
      Marlin/ultralcd.cpp

+ 52
- 3
Marlin/Configuration.h View File

35
 // example_configurations/SCARA directory.
35
 // example_configurations/SCARA directory.
36
 //
36
 //
37
 
37
 
38
+// @section info
39
+
38
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
40
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
39
 // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
41
 // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
40
 // build by the user have been successfully uploaded into firmware.
42
 // build by the user have been successfully uploaded into firmware.
45
 #define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1
47
 #define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1
46
 //#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2
48
 //#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2
47
 
49
 
50
+// @section machine
51
+
48
 // SERIAL_PORT selects which serial port should be used for communication with the host.
52
 // SERIAL_PORT selects which serial port should be used for communication with the host.
49
 // This allows the connection of wireless adapters (for instance) to non-default port pins.
53
 // This allows the connection of wireless adapters (for instance) to non-default port pins.
50
 // Serial port 0 is still used by the Arduino bootloader regardless of this setting.
54
 // Serial port 0 is still used by the Arduino bootloader regardless of this setting.
55
+// :[0,1,2,3,4,5,6,7]
51
 #define SERIAL_PORT 0
56
 #define SERIAL_PORT 0
52
 
57
 
53
 // This determines the communication speed of the printer
58
 // This determines the communication speed of the printer
59
+// :[2400,9600,19200,38400,57600,115200,250000]
54
 #define BAUDRATE 250000
60
 #define BAUDRATE 250000
55
 
61
 
56
 // This enables the serial port associated to the Bluetooth interface
62
 // This enables the serial port associated to the Bluetooth interface
70
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
76
 // #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
71
 
77
 
72
 // This defines the number of extruders
78
 // This defines the number of extruders
79
+// :[1,2,3,4]
73
 #define EXTRUDERS 1
80
 #define EXTRUDERS 1
74
 
81
 
75
 // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
82
 // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
81
 //// The following define selects which power supply you have. Please choose the one that matches your setup
88
 //// The following define selects which power supply you have. Please choose the one that matches your setup
82
 // 1 = ATX
89
 // 1 = ATX
83
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
90
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
91
+// :{1:'ATX',2:'X-Box 360'}
84
 
92
 
85
 #define POWER_SUPPLY 1
93
 #define POWER_SUPPLY 1
86
 
94
 
87
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
95
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
88
 // #define PS_DEFAULT_OFF
96
 // #define PS_DEFAULT_OFF
89
 
97
 
98
+// @section temperature
99
+
90
 //===========================================================================
100
 //===========================================================================
91
 //============================= Thermal Settings ============================
101
 //============================= Thermal Settings ============================
92
 //===========================================================================
102
 //===========================================================================
248
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
258
 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
249
 #endif // PIDTEMPBED
259
 #endif // PIDTEMPBED
250
 
260
 
261
+// @section extruder
251
 
262
 
252
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
263
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
253
 //can be software-disabled for whatever purposes by
264
 //can be software-disabled for whatever purposes by
302
 //============================= Mechanical Settings =========================
313
 //============================= Mechanical Settings =========================
303
 //===========================================================================
314
 //===========================================================================
304
 
315
 
316
+// @section machine
317
+
305
 // Uncomment this option to enable CoreXY kinematics
318
 // Uncomment this option to enable CoreXY kinematics
306
 // #define COREXY
319
 // #define COREXY
307
 
320
 
308
 // Enable this option for Toshiba steppers
321
 // Enable this option for Toshiba steppers
309
 // #define CONFIG_STEPPERS_TOSHIBA
322
 // #define CONFIG_STEPPERS_TOSHIBA
310
 
323
 
324
+// @section homing
325
+
311
 // coarse Endstop Settings
326
 // coarse Endstop Settings
312
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
327
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
313
 
328
 
332
 const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
347
 const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
333
 //#define DISABLE_MAX_ENDSTOPS
348
 //#define DISABLE_MAX_ENDSTOPS
334
 //#define DISABLE_MIN_ENDSTOPS
349
 //#define DISABLE_MIN_ENDSTOPS
350
+
351
+// @section machine
335
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
352
 // If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
336
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
353
 // This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
337
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
354
 // activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
339
 //#define DISABLE_Z_PROBE_ENDSTOP
356
 //#define DISABLE_Z_PROBE_ENDSTOP
340
 
357
 
341
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
358
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
359
+// :{0:'Low',1:'High'}
342
 #define X_ENABLE_ON 0
360
 #define X_ENABLE_ON 0
343
 #define Y_ENABLE_ON 0
361
 #define Y_ENABLE_ON 0
344
 #define Z_ENABLE_ON 0
362
 #define Z_ENABLE_ON 0
348
 #define DISABLE_X false
366
 #define DISABLE_X false
349
 #define DISABLE_Y false
367
 #define DISABLE_Y false
350
 #define DISABLE_Z false
368
 #define DISABLE_Z false
369
+
370
+// @section extruder
371
+
351
 #define DISABLE_E false // For all extruders
372
 #define DISABLE_E false // For all extruders
352
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
373
 #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
353
 
374
 
375
+// @section machine
376
+
354
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
377
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
355
 #define INVERT_X_DIR false
378
 #define INVERT_X_DIR false
356
 #define INVERT_Y_DIR false
379
 #define INVERT_Y_DIR false
357
 #define INVERT_Z_DIR false
380
 #define INVERT_Z_DIR false
381
+
382
+// @section extruder
383
+
384
+// For direct drive extruder v9 set to true, for geared extruder set to false.
358
 #define INVERT_E0_DIR false
385
 #define INVERT_E0_DIR false
359
 #define INVERT_E1_DIR false
386
 #define INVERT_E1_DIR false
360
 #define INVERT_E2_DIR false
387
 #define INVERT_E2_DIR false
361
 #define INVERT_E3_DIR false
388
 #define INVERT_E3_DIR false
362
 
389
 
390
+// @section homing
391
+
363
 // ENDSTOP SETTINGS:
392
 // ENDSTOP SETTINGS:
364
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
393
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
394
+// :[-1,1]
365
 #define X_HOME_DIR -1
395
 #define X_HOME_DIR -1
366
 #define Y_HOME_DIR -1
396
 #define Y_HOME_DIR -1
367
 #define Z_HOME_DIR -1
397
 #define Z_HOME_DIR -1
369
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
399
 #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
370
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
400
 #define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
371
 
401
 
402
+// @section machine
403
+
372
 // Travel limits after homing (units are in mm)
404
 // Travel limits after homing (units are in mm)
373
 #define X_MIN_POS 0
405
 #define X_MIN_POS 0
374
 #define Y_MIN_POS 0
406
 #define Y_MIN_POS 0
417
 //============================= Bed Auto Leveling ===========================
449
 //============================= Bed Auto Leveling ===========================
418
 //===========================================================================
450
 //===========================================================================
419
 
451
 
452
+// @section bedlevel
453
+
420
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
454
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
421
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
455
 #define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
422
 
456
 
529
 #endif // ENABLE_AUTO_BED_LEVELING
563
 #endif // ENABLE_AUTO_BED_LEVELING
530
 
564
 
531
 
565
 
566
+// @section homing
567
+
532
 // The position of the homing switches
568
 // The position of the homing switches
533
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
569
 //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
534
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
570
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
542
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
578
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
543
 #endif
579
 #endif
544
 
580
 
581
+// @section movement
582
+
545
 /**
583
 /**
546
  * MOVEMENT SETTINGS
584
  * MOVEMENT SETTINGS
547
  */
585
  */
568
 //============================= Additional Features ===========================
606
 //============================= Additional Features ===========================
569
 //=============================================================================
607
 //=============================================================================
570
 
608
 
609
+// @section more
610
+
571
 // Custom M code points
611
 // Custom M code points
572
 #define CUSTOM_M_CODES
612
 #define CUSTOM_M_CODES
573
 #ifdef CUSTOM_M_CODES
613
 #ifdef CUSTOM_M_CODES
578
   #endif
618
   #endif
579
 #endif
619
 #endif
580
 
620
 
621
+// @section extras
581
 
622
 
582
 // EEPROM
623
 // EEPROM
583
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
624
 // The microcontroller can store settings in the EEPROM, e.g. max velocity...
586
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
627
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
587
 //define this to enable EEPROM support
628
 //define this to enable EEPROM support
588
 //#define EEPROM_SETTINGS
629
 //#define EEPROM_SETTINGS
589
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
590
-// please keep turned on if you can.
591
-//#define EEPROM_CHITCHAT
630
+
631
+#ifdef EEPROM_SETTINGS
632
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
633
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
634
+#endif
635
+
636
+
637
+// @section temperature
592
 
638
 
593
 // Preheat Constants
639
 // Preheat Constants
594
 #define PLA_PREHEAT_HOTEND_TEMP 180
640
 #define PLA_PREHEAT_HOTEND_TEMP 180
600
 #define ABS_PREHEAT_FAN_SPEED 0   // Insert Value between 0 and 255
646
 #define ABS_PREHEAT_FAN_SPEED 0   // Insert Value between 0 and 255
601
 
647
 
602
 //==============================LCD and SD support=============================
648
 //==============================LCD and SD support=============================
649
+// @section lcd
603
 
650
 
604
 // Define your display language below. Replace (en) with your language code and uncomment.
651
 // Define your display language below. Replace (en) with your language code and uncomment.
605
 // en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test
652
 // en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test
683
 
730
 
684
 //#define SAV_3DLCD
731
 //#define SAV_3DLCD
685
 
732
 
733
+// @section extras
734
+
686
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
735
 // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
687
 //#define FAST_PWM_FAN
736
 //#define FAST_PWM_FAN
688
 
737
 

+ 156
- 114
Marlin/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
181
 #define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
 #define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 836
341
   #define STEPS_MM_E 836
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 4
375
 #define BUFSIZE 4
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 14
- 16
Marlin/Marlin_main.cpp View File

203
 #endif
203
 #endif
204
 
204
 
205
 float homing_feedrate[] = HOMING_FEEDRATE;
205
 float homing_feedrate[] = HOMING_FEEDRATE;
206
-int homing_bump_divisor[] = HOMING_BUMP_DIVISOR;
207
 bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
206
 bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
208
 int feedmultiply = 100; //100->1 200->2
207
 int feedmultiply = 100; //100->1 200->2
209
 int saved_feedmultiply;
208
 int saved_feedmultiply;
989
 /**
988
 /**
990
  * Some planner shorthand inline functions
989
  * Some planner shorthand inline functions
991
  */
990
  */
991
+inline void set_homing_bump_feedrate(AxisEnum axis) {
992
+  const int homing_bump_divisor[] = HOMING_BUMP_DIVISOR;
993
+  if (homing_bump_divisor[axis] >= 1)
994
+    feedrate = homing_feedrate[axis] / homing_bump_divisor[axis];
995
+  else {
996
+    feedrate = homing_feedrate[axis] / 10;
997
+    SERIAL_ECHOLN("Warning: The Homing Bump Feedrate Divisor cannot be less than 1");
998
+  }
999
+}
992
 inline void line_to_current_position() {
1000
 inline void line_to_current_position() {
993
   plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
1001
   plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
994
 }
1002
 }
1119
       endstops_hit_on_purpose(); // clear endstop hit flags
1127
       endstops_hit_on_purpose(); // clear endstop hit flags
1120
 
1128
 
1121
       // move back down slowly to find bed
1129
       // move back down slowly to find bed
1122
-      if (homing_bump_divisor[Z_AXIS] >= 1)
1123
-        feedrate = homing_feedrate[Z_AXIS] / homing_bump_divisor[Z_AXIS];
1124
-      else {
1125
-        feedrate = homing_feedrate[Z_AXIS] / 10;
1126
-        SERIAL_ECHOLN("Warning: The Homing Bump Feedrate Divisor cannot be less than 1");
1127
-      }
1130
+      set_homing_bump_feedrate(Z_AXIS);
1128
 
1131
 
1129
       zPosition -= home_bump_mm(Z_AXIS) * 2;
1132
       zPosition -= home_bump_mm(Z_AXIS) * 2;
1130
       line_to_z(zPosition);
1133
       line_to_z(zPosition);
1437
 
1440
 
1438
 #define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS)
1441
 #define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS)
1439
 
1442
 
1440
-static void homeaxis(int axis) {
1443
+static void homeaxis(AxisEnum axis) {
1441
   #define HOMEAXIS_DO(LETTER) \
1444
   #define HOMEAXIS_DO(LETTER) \
1442
     ((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1))
1445
     ((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1))
1443
 
1446
 
1488
     st_synchronize();
1491
     st_synchronize();
1489
 
1492
 
1490
     // Slow down the feedrate for the next move
1493
     // Slow down the feedrate for the next move
1491
-    if (homing_bump_divisor[axis] >= 1)
1492
-      feedrate = homing_feedrate[axis] / homing_bump_divisor[axis];
1493
-    else {
1494
-      feedrate = homing_feedrate[axis] / 10;
1495
-      SERIAL_ECHOLNPGM("Warning: The Homing Bump Feedrate Divisor cannot be less than 1");
1496
-    }
1494
+    set_homing_bump_feedrate(axis);
1497
 
1495
 
1498
     // Move slowly towards the endstop until triggered
1496
     // Move slowly towards the endstop until triggered
1499
     destination[axis] = 2 * home_bump_mm(axis) * axis_home_dir;
1497
     destination[axis] = 2 * home_bump_mm(axis) * axis_home_dir;
1603
     }
1601
     }
1604
 
1602
 
1605
     feedrate = oldFeedrate;
1603
     feedrate = oldFeedrate;
1606
-    retracted[active_extruder] = retract;
1604
+    retracted[active_extruder] = retracting;
1607
 
1605
 
1608
   } // retract()
1606
   } // retract()
1609
 
1607
 
2362
             act = ProbeDeployAndStow;
2360
             act = ProbeDeployAndStow;
2363
           else if (yCount == 0 && xCount == 0)
2361
           else if (yCount == 0 && xCount == 0)
2364
             act = ProbeDeploy;
2362
             act = ProbeDeploy;
2365
-          else if (yCount == auto_bed_leveling_grid_points - 1 && xCount == auto_bed_leveling_grid_points - 1)
2363
+          else if (yCount == auto_bed_leveling_grid_points - 1 && xCount == xStop - xInc)
2366
             act = ProbeStow;
2364
             act = ProbeStow;
2367
           else
2365
           else
2368
             act = ProbeStay;
2366
             act = ProbeStay;

+ 40
- 29
Marlin/configurator/config/Configuration.h View File

31
 //===========================================================================
31
 //===========================================================================
32
 //============================= SCARA Printer ===============================
32
 //============================= SCARA Printer ===============================
33
 //===========================================================================
33
 //===========================================================================
34
-// For a Delta printer replace the configuration files with the files in the
34
+// For a Scara printer replace the configuration files with the files in the
35
 // example_configurations/SCARA directory.
35
 // example_configurations/SCARA directory.
36
 //
36
 //
37
 
37
 
65
 // The following define selects which electronics board you have.
65
 // The following define selects which electronics board you have.
66
 // Please choose the name from boards.h that matches your setup
66
 // Please choose the name from boards.h that matches your setup
67
 #ifndef MOTHERBOARD
67
 #ifndef MOTHERBOARD
68
-  #define MOTHERBOARD BOARD_ULTIMAKER
68
+  #define MOTHERBOARD BOARD_RAMPS_13_EFB
69
 #endif
69
 #endif
70
 
70
 
71
 // Define this to set a custom name for your generic Mendel,
71
 // Define this to set a custom name for your generic Mendel,
79
 // :[1,2,3,4]
79
 // :[1,2,3,4]
80
 #define EXTRUDERS 1
80
 #define EXTRUDERS 1
81
 
81
 
82
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
83
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
84
+// For the other hotends it is their distance from the extruder 0 hotend.
85
+//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
86
+//#define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
87
+
82
 //// The following define selects which power supply you have. Please choose the one that matches your setup
88
 //// The following define selects which power supply you have. Please choose the one that matches your setup
83
 // 1 = ATX
89
 // 1 = ATX
84
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
90
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
85
 // :{1:'ATX',2:'X-Box 360'}
91
 // :{1:'ATX',2:'X-Box 360'}
92
+
86
 #define POWER_SUPPLY 1
93
 #define POWER_SUPPLY 1
87
 
94
 
88
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
95
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
131
 //     Use it for Testing or Development purposes. NEVER for production machine.
138
 //     Use it for Testing or Development purposes. NEVER for production machine.
132
 //     #define DUMMY_THERMISTOR_998_VALUE 25
139
 //     #define DUMMY_THERMISTOR_998_VALUE 25
133
 //     #define DUMMY_THERMISTOR_999_VALUE 100
140
 //     #define DUMMY_THERMISTOR_999_VALUE 100
134
-// :{ 0: "Not used", 4: "10k !! do not use for a hotend. Bad resolution at high temp. !!", 1: "100k / 4.7k - EPCOS", 51: "100k / 1k - EPCOS", 6: "100k / 4.7k EPCOS - Not as accurate as Table 1", 5: "100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", 7: "100k / 4.7k Honeywell 135-104LAG-J01", 71: "100k / 4.7k Honeywell 135-104LAF-J01", 8: "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", 9: "100k / 4.7k GE Sensing AL03006-58.2K-97-G1", 10: "100k / 4.7k RS 198-961", 11: "100k / 4.7k beta 3950 1%", 12: "100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", 13: "100k Hisens 3950  1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", 60: "100k Maker's Tool Works Kapton Bed Thermistor beta=3950", 55: "100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", 2: "200k / 4.7k - ATC Semitec 204GT-2", 52: "200k / 1k - ATC Semitec 204GT-2", '-2': "Thermocouple + MAX6675 (only for sensor 0)", '-1': "Thermocouple + AD595", 3: "Mendel-parts / 4.7k", 1047: "Pt1000 / 4.7k", 1010: "Pt1000 / 1k (non standard)", 20: "PT100 (Ultimainboard V2.x)", 147: "Pt100 / 4.7k", 110: "Pt100 / 1k (non-standard)", 998: "Dummy 1", 999: "Dummy 2" }
135
-#define TEMP_SENSOR_0 -1
136
-#define TEMP_SENSOR_1 -1
141
+
142
+#define TEMP_SENSOR_0 1
143
+#define TEMP_SENSOR_1 0
137
 #define TEMP_SENSOR_2 0
144
 #define TEMP_SENSOR_2 0
138
 #define TEMP_SENSOR_3 0
145
 #define TEMP_SENSOR_3 0
139
 #define TEMP_SENSOR_BED 0
146
 #define TEMP_SENSOR_BED 0
327
   // #define ENDSTOPPULLUP_XMIN
334
   // #define ENDSTOPPULLUP_XMIN
328
   // #define ENDSTOPPULLUP_YMIN
335
   // #define ENDSTOPPULLUP_YMIN
329
   // #define ENDSTOPPULLUP_ZMIN
336
   // #define ENDSTOPPULLUP_ZMIN
337
+  // #define ENDSTOPPULLUP_ZPROBE
330
 #endif
338
 #endif
331
 
339
 
332
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
340
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
336
 const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
344
 const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
337
 const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
345
 const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
338
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
346
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
347
+const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
339
 //#define DISABLE_MAX_ENDSTOPS
348
 //#define DISABLE_MAX_ENDSTOPS
340
 //#define DISABLE_MIN_ENDSTOPS
349
 //#define DISABLE_MIN_ENDSTOPS
341
 
350
 
342
 // @section machine
351
 // @section machine
352
+// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
353
+// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
354
+// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
355
+// this has no effect.
356
+//#define DISABLE_Z_PROBE_ENDSTOP
343
 
357
 
344
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
358
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
345
 // :{0:'Low',1:'High'}
359
 // :{0:'Low',1:'High'}
361
 // @section machine
375
 // @section machine
362
 
376
 
363
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
377
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
364
-#define INVERT_X_DIR true
378
+#define INVERT_X_DIR false
365
 #define INVERT_Y_DIR false
379
 #define INVERT_Y_DIR false
366
-#define INVERT_Z_DIR true
380
+#define INVERT_Z_DIR false
367
 
381
 
368
 // @section extruder
382
 // @section extruder
369
 
383
 
391
 #define X_MIN_POS 0
405
 #define X_MIN_POS 0
392
 #define Y_MIN_POS 0
406
 #define Y_MIN_POS 0
393
 #define Z_MIN_POS 0
407
 #define Z_MIN_POS 0
394
-#define X_MAX_POS 205
395
-#define Y_MAX_POS 205
408
+#define X_MAX_POS 200
409
+#define Y_MAX_POS 200
396
 #define Z_MAX_POS 200
410
 #define Z_MAX_POS 200
397
 
411
 
398
 //===========================================================================
412
 //===========================================================================
574
 
588
 
575
 // default settings
589
 // default settings
576
 
590
 
577
-#define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200.0*8/3,760*1.1}  // default steps per unit for Ultimaker
578
-#define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 25}    // (mm/sec)
579
-#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_AXIS_STEPS_PER_UNIT   {80,80,4000,500}  // default steps per unit for Ultimaker
592
+#define DEFAULT_MAX_FEEDRATE          {300, 300, 5, 25}    // (mm/sec)
593
+#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.
580
 
594
 
581
-#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
582
-#define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for retracts
583
-
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
595
+#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
596
+#define DEFAULT_RETRACT_ACCELERATION  3000   // E acceleration in mm/s^2 for retracts
597
+#define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
589
 
598
 
590
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
599
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
591
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
600
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
618
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
627
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
619
 //define this to enable EEPROM support
628
 //define this to enable EEPROM support
620
 //#define EEPROM_SETTINGS
629
 //#define EEPROM_SETTINGS
621
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
622
-// please keep turned on if you can.
623
-//#define EEPROM_CHITCHAT
630
+
631
+#ifdef EEPROM_SETTINGS
632
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
633
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
634
+#endif
624
 
635
 
625
 // @section temperature
636
 // @section temperature
626
 
637
 
627
 // Preheat Constants
638
 // Preheat Constants
628
 #define PLA_PREHEAT_HOTEND_TEMP 180
639
 #define PLA_PREHEAT_HOTEND_TEMP 180
629
 #define PLA_PREHEAT_HPB_TEMP 70
640
 #define PLA_PREHEAT_HPB_TEMP 70
630
-#define PLA_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
641
+#define PLA_PREHEAT_FAN_SPEED 0   // Insert Value between 0 and 255
631
 
642
 
632
 #define ABS_PREHEAT_HOTEND_TEMP 240
643
 #define ABS_PREHEAT_HOTEND_TEMP 240
633
-#define ABS_PREHEAT_HPB_TEMP 100
634
-#define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
644
+#define ABS_PREHEAT_HPB_TEMP 110
645
+#define ABS_PREHEAT_FAN_SPEED 0   // Insert Value between 0 and 255
635
 
646
 
636
 //==============================LCD and SD support=============================
647
 //==============================LCD and SD support=============================
637
 // @section lcd
648
 // @section lcd
639
 // Define your display language below. Replace (en) with your language code and uncomment.
650
 // Define your display language below. Replace (en) with your language code and uncomment.
640
 // en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test
651
 // en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test
641
 // See also language.h
652
 // See also language.h
642
-//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
653
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
643
 
654
 
644
 // Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display.
655
 // Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display.
645
 // To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset.
656
 // To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset.
743
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
754
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
744
 // #define PHOTOGRAPH_PIN     23
755
 // #define PHOTOGRAPH_PIN     23
745
 
756
 
746
-// 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
747
 //#define SF_ARC_FIX
758
 //#define SF_ARC_FIX
748
 
759
 
749
 // Support for the BariCUDA Paste Extruder.
760
 // Support for the BariCUDA Paste Extruder.
797
 #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
 #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)
798
 
809
 
799
 //defines used in the code
810
 //defines used in the code
800
-#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
801
 
812
 
802
 //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.
803
 //#define FILAMENT_LCD_DISPLAY
814
 //#define FILAMENT_LCD_DISPLAY

+ 127
- 117
Marlin/configurator/config/Configuration_adv.h View File

192
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
194
 #define Z_HOME_BUMP_MM 2
194
 #define Z_HOME_BUMP_MM 2
195
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
197
 
197
 
198
 // @section machine
198
 // @section machine
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
314
 
314
 
315
+// @section lcd
316
+
315
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
316
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
317
 // does not respect endstops!
319
 // does not respect endstops!
322
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
323
 #endif
325
 #endif
324
 
326
 
327
+// @section extruder
328
+
325
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
326
 //
330
 //
327
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
328
 //
332
 //
329
-// Hooke's law says:		force = k * distance
330
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
331
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
332
 //#define ADVANCE
336
 //#define ADVANCE
333
 
337
 
335
   #define EXTRUDER_ADVANCE_K .0
339
   #define EXTRUDER_ADVANCE_K .0
336
   #define D_FILAMENT 2.85
340
   #define D_FILAMENT 2.85
337
   #define STEPS_MM_E 836
341
   #define STEPS_MM_E 836
338
-#endif // ADVANCE
342
+#endif
343
+
344
+// @section extras
339
 
345
 
340
 // Arc interpretation settings:
346
 // Arc interpretation settings:
341
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
368
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
369
 #define BUFSIZE 4
375
 #define BUFSIZE 4
370
 
376
 
371
-// @section extras
377
+// @section fwretract
372
 
378
 
373
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
374
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
405
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
406
  ******************************************************************************/
412
  ******************************************************************************/
407
 
413
 
414
+// @section tmc
415
+
408
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
409
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
410
 
418
 
411
-//	#define X_IS_TMC
412
-	#define X_MAX_CURRENT 1000  //in mA
413
-	#define X_SENSE_RESISTOR 91 //in mOhms
414
-	#define X_MICROSTEPS 16     //number of microsteps
415
-	
416
-//	#define X2_IS_TMC
417
-	#define X2_MAX_CURRENT 1000  //in mA
418
-	#define X2_SENSE_RESISTOR 91 //in mOhms
419
-	#define X2_MICROSTEPS 16     //number of microsteps
420
-	
421
-//	#define Y_IS_TMC
422
-	#define Y_MAX_CURRENT 1000  //in mA
423
-	#define Y_SENSE_RESISTOR 91 //in mOhms
424
-	#define Y_MICROSTEPS 16     //number of microsteps
425
-	
426
-//	#define Y2_IS_TMC
427
-	#define Y2_MAX_CURRENT 1000  //in mA
428
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
429
-	#define Y2_MICROSTEPS 16     //number of microsteps	
430
-	
431
-//	#define Z_IS_TMC
432
-	#define Z_MAX_CURRENT 1000  //in mA
433
-	#define Z_SENSE_RESISTOR 91 //in mOhms
434
-	#define Z_MICROSTEPS 16     //number of microsteps
435
-	
436
-//	#define Z2_IS_TMC
437
-	#define Z2_MAX_CURRENT 1000  //in mA
438
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
439
-	#define Z2_MICROSTEPS 16     //number of microsteps
440
-	
441
-//	#define E0_IS_TMC
442
-	#define E0_MAX_CURRENT 1000  //in mA
443
-	#define E0_SENSE_RESISTOR 91 //in mOhms
444
-	#define E0_MICROSTEPS 16     //number of microsteps
445
-	
446
-//	#define E1_IS_TMC
447
-	#define E1_MAX_CURRENT 1000  //in mA
448
-	#define E1_SENSE_RESISTOR 91 //in mOhms
449
-	#define E1_MICROSTEPS 16     //number of microsteps	
450
-	
451
-//	#define E2_IS_TMC
452
-	#define E2_MAX_CURRENT 1000  //in mA
453
-	#define E2_SENSE_RESISTOR 91 //in mOhms
454
-	#define E2_MICROSTEPS 16     //number of microsteps	
455
-	
456
-//	#define E3_IS_TMC
457
-	#define E3_MAX_CURRENT 1000  //in mA
458
-	#define E3_SENSE_RESISTOR 91 //in mOhms
459
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
460
 
468
 
461
 #endif
469
 #endif
462
 
470
 
465
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
466
  ******************************************************************************/
474
  ******************************************************************************/
467
 
475
 
476
+// @section l6470
477
+
468
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
469
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
470
 
480
 
471
-//	#define X_IS_L6470
472
-	#define X_MICROSTEPS 16     //number of microsteps
473
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
474
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
475
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
476
-	
477
-//	#define X2_IS_L6470
478
-	#define X2_MICROSTEPS 16     //number of microsteps
479
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
480
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
481
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
482
-	
483
-//	#define Y_IS_L6470
484
-	#define Y_MICROSTEPS 16     //number of microsteps
485
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
486
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
487
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
488
-	
489
-//	#define Y2_IS_L6470
490
-	#define Y2_MICROSTEPS 16     //number of microsteps	
491
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
494
-	
495
-//	#define Z_IS_L6470
496
-	#define Z_MICROSTEPS 16     //number of microsteps
497
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
498
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
499
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
500
-	
501
-//	#define Z2_IS_L6470
502
-	#define Z2_MICROSTEPS 16     //number of microsteps
503
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
504
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
505
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
506
-	
507
-//	#define E0_IS_L6470
508
-	#define E0_MICROSTEPS 16     //number of microsteps
509
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
510
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
511
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
512
-	
513
-//	#define E1_IS_L6470
514
-	#define E1_MICROSTEPS 16     //number of microsteps	
515
-	#define E1_MICROSTEPS 16     //number of microsteps
516
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
517
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
518
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
519
-	
520
-//	#define E2_IS_L6470
521
-	#define E2_MICROSTEPS 16     //number of microsteps	
522
-	#define E2_MICROSTEPS 16     //number of microsteps
523
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
524
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
525
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
526
-	
527
-//	#define E3_IS_L6470
528
-	#define E3_MICROSTEPS 16     //number of microsteps		
529
-	#define E3_MICROSTEPS 16     //number of microsteps
530
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
531
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
532
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
533
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
534
 #endif
544
 #endif
535
 
545
 
536
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 10
- 7
Marlin/configurator/config/boards.h View File

10
 #define BOARD_CHEAPTRONIC       2    // Cheaptronic v1.0
10
 #define BOARD_CHEAPTRONIC       2    // Cheaptronic v1.0
11
 #define BOARD_SETHI             20   // Sethi 3D_1
11
 #define BOARD_SETHI             20   // Sethi 3D_1
12
 #define BOARD_RAMPS_OLD         3    // MEGA/RAMPS up to 1.2
12
 #define BOARD_RAMPS_OLD         3    // MEGA/RAMPS up to 1.2
13
-#define BOARD_RAMPS_13_EFB      33   // RAMPS 1.3 / 1.4 (Extruder, Fan, Bed)
14
-#define BOARD_RAMPS_13_EEB      34   // RAMPS 1.3 / 1.4 (Extruder0, Extruder1, Bed)
15
-#define BOARD_RAMPS_13_EFF      35   // RAMPS 1.3 / 1.4 (Extruder, Fan, Fan)
16
-#define BOARD_RAMPS_13_EEF      36   // RAMPS 1.3 / 1.4 (Extruder0, Extruder1, Fan)
13
+#define BOARD_RAMPS_13_EFB      33   // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)
14
+#define BOARD_RAMPS_13_EEB      34   // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed)
15
+#define BOARD_RAMPS_13_EFF      35   // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan)
16
+#define BOARD_RAMPS_13_EEF      36   // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan)
17
+#define BOARD_FELIX2            37   // Felix 2.0+ Electronics Board (RAMPS like)
17
 #define BOARD_DUEMILANOVE_328P  4    // Duemilanove w/ ATMega328P pin assignments
18
 #define BOARD_DUEMILANOVE_328P  4    // Duemilanove w/ ATMega328P pin assignments
18
 #define BOARD_GEN6              5    // Gen6
19
 #define BOARD_GEN6              5    // Gen6
19
 #define BOARD_GEN6_DELUXE       51   // Gen6 deluxe
20
 #define BOARD_GEN6_DELUXE       51   // Gen6 deluxe
28
 #define BOARD_ULTIMAKER         7    // Ultimaker
29
 #define BOARD_ULTIMAKER         7    // Ultimaker
29
 #define BOARD_ULTIMAKER_OLD     71   // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
30
 #define BOARD_ULTIMAKER_OLD     71   // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
30
 #define BOARD_ULTIMAIN_2        72   // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
31
 #define BOARD_ULTIMAIN_2        72   // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
31
-#define BOARD_3DRAG             77   // 3Drag
32
-#define BOARD_K8200             78   // Vellemann K8200 (derived from 3Drag)
32
+#define BOARD_3DRAG             77   // 3Drag Controller
33
+#define BOARD_K8200             78   // Vellemann K8200 Controller (derived from 3Drag Controller)
33
 #define BOARD_TEENSYLU          8    // Teensylu
34
 #define BOARD_TEENSYLU          8    // Teensylu
34
 #define BOARD_RUMBA             80   // Rumba
35
 #define BOARD_RUMBA             80   // Rumba
35
 #define BOARD_PRINTRBOARD       81   // Printrboard (AT90USB1286)
36
 #define BOARD_PRINTRBOARD       81   // Printrboard (AT90USB1286)
36
 #define BOARD_BRAINWAVE         82   // Brainwave (AT90USB646)
37
 #define BOARD_BRAINWAVE         82   // Brainwave (AT90USB646)
37
 #define BOARD_SAV_MKI           83   // SAV Mk-I (AT90USB1286)
38
 #define BOARD_SAV_MKI           83   // SAV Mk-I (AT90USB1286)
38
 #define BOARD_TEENSY2           84   // Teensy++2.0 (AT90USB1286) - CLI compile: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84  make
39
 #define BOARD_TEENSY2           84   // Teensy++2.0 (AT90USB1286) - CLI compile: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84  make
40
+#define BOARD_BRAINWAVE_PRO     85   // Brainwave Pro (AT90USB1286)
39
 #define BOARD_GEN3_PLUS         9    // Gen3+
41
 #define BOARD_GEN3_PLUS         9    // Gen3+
40
 #define BOARD_GEN3_MONOLITHIC   22   // Gen3 Monolithic Electronics
42
 #define BOARD_GEN3_MONOLITHIC   22   // Gen3 Monolithic Electronics
41
 #define BOARD_MEGATRONICS       70   // Megatronics
43
 #define BOARD_MEGATRONICS       70   // Megatronics
50
 #define BOARD_LEAPFROG          999  // Leapfrog
52
 #define BOARD_LEAPFROG          999  // Leapfrog
51
 #define BOARD_WITBOX            41   // bq WITBOX
53
 #define BOARD_WITBOX            41   // bq WITBOX
52
 #define BOARD_HEPHESTOS         42   // bq Prusa i3 Hephestos
54
 #define BOARD_HEPHESTOS         42   // bq Prusa i3 Hephestos
55
+#define BOARD_BAM_DICE          401  // 2PrintBeta BAM&DICE with STK drivers
56
+#define BOARD_BAM_DICE_DUE      402  // 2PrintBeta BAM&DICE Due with STK drivers
53
 
57
 
54
 #define BOARD_99                99   // This is in pins.h but...?
58
 #define BOARD_99                99   // This is in pins.h but...?
55
 
59
 
56
 #define MB(board) (MOTHERBOARD==BOARD_##board)
60
 #define MB(board) (MOTHERBOARD==BOARD_##board)
57
-#define IS_RAMPS (MB(RAMPS_OLD) || MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF))
58
 
61
 
59
 #endif //__BOARDS_H
62
 #endif //__BOARDS_H

+ 88
- 79
Marlin/configurator/config/language.h View File

11
 //
11
 //
12
 //   ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h"
12
 //   ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h"
13
 //   ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS
13
 //   ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS
14
+// See also documentation/LCDLanguageFont.md
14
 
15
 
15
 // Languages
16
 // Languages
16
-// en    English
17
-// pl    Polish
18
-// fr    French
19
-// de    German
20
-// es    Spanish
21
-// ru    Russian
22
-// it    Italian
23
-// pt    Portuguese
24
-// pt-br Portuguese (Brazil)
25
-// fi    Finnish
26
-// an    Aragonese
27
-// nl    Dutch
28
-// ca    Catalan
29
-// eu    Basque-Euskera
17
+// en       English
18
+// pl       Polish
19
+// fr       French
20
+// de       German
21
+// es       Spanish
22
+// ru       Russian
23
+// it       Italian
24
+// pt       Portuguese
25
+// pt-br    Portuguese (Brazil)
26
+// fi       Finnish
27
+// an       Aragonese
28
+// nl       Dutch
29
+// ca       Catalan
30
+// eu       Basque-Euskera
31
+// kana     Japanese
32
+// kana_utf Japanese
30
 
33
 
31
 #ifndef LANGUAGE_INCLUDE
34
 #ifndef LANGUAGE_INCLUDE
32
   // pick your language from the list above
35
   // pick your language from the list above
33
   #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
36
   #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
34
 #endif
37
 #endif
35
 
38
 
39
+#ifdef HAS_AUTOMATIC_VERSIONING
40
+  #include "_Version.h"
41
+#endif
42
+
36
 #define PROTOCOL_VERSION "1.0"
43
 #define PROTOCOL_VERSION "1.0"
37
 
44
 
38
 #if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
45
 #if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
56
 #elif MB(HEPHESTOS)
63
 #elif MB(HEPHESTOS)
57
   #define MACHINE_NAME "HEPHESTOS"
64
   #define MACHINE_NAME "HEPHESTOS"
58
   #define FIRMWARE_URL "http://www.bq.com/gb/downloads-prusa-i3-hephestos.html"
65
   #define FIRMWARE_URL "http://www.bq.com/gb/downloads-prusa-i3-hephestos.html"
59
-#else // Default firmware set to Mendel
60
-  #define MACHINE_NAME "Mendel"
61
-  #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin"
66
+#elif MB(BRAINWAVE_PRO)
67
+  #define MACHINE_NAME "Kossel Pro"
68
+  #ifndef FIRMWARE_URL
69
+    #define FIRMWARE_URL "https://github.com/OpenBeamUSA/Marlin/"
70
+  #endif
71
+#else
72
+  #ifndef MACHINE_NAME
73
+    #define MACHINE_NAME "Mendel"
74
+  #endif
62
 #endif
75
 #endif
63
 
76
 
64
 #ifdef CUSTOM_MENDEL_NAME
77
 #ifdef CUSTOM_MENDEL_NAME
78
+  #warning CUSTOM_MENDEL_NAME deprecated - use CUSTOM_MACHINE_NAME
79
+  #define CUSTOM_MACHINE_NAME CUSTOM_MENDEL_NAME
80
+#endif
81
+
82
+#ifdef CUSTOM_MACHINE_NAME
65
   #undef MACHINE_NAME
83
   #undef MACHINE_NAME
66
-  #define MACHINE_NAME CUSTOM_MENDEL_NAME
84
+  #define MACHINE_NAME CUSTOM_MACHINE_NAME
85
+#endif
86
+
87
+#ifndef FIRMWARE_URL
88
+  #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin"
89
+#endif
90
+
91
+#ifndef BUILD_VERSION
92
+  #define BUILD_VERSION "V1; Sprinter/grbl mashup for gen6"
67
 #endif
93
 #endif
68
 
94
 
69
 #ifndef MACHINE_UUID
95
 #ifndef MACHINE_UUID
70
-  #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
96
+   #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
71
 #endif
97
 #endif
72
 
98
 
73
 
99
 
114
 #define MSG_HEATING_COMPLETE                "Heating done."
140
 #define MSG_HEATING_COMPLETE                "Heating done."
115
 #define MSG_BED_HEATING                     "Bed Heating."
141
 #define MSG_BED_HEATING                     "Bed Heating."
116
 #define MSG_BED_DONE                        "Bed done."
142
 #define MSG_BED_DONE                        "Bed done."
117
-#define MSG_M115_REPORT                     "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
143
+#define MSG_M115_REPORT                     "FIRMWARE_NAME:Marlin " BUILD_VERSION " FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
118
 #define MSG_COUNT_X                         " Count X: "
144
 #define MSG_COUNT_X                         " Count X: "
119
 #define MSG_ERR_KILLED                      "Printer halted. kill() called!"
145
 #define MSG_ERR_KILLED                      "Printer halted. kill() called!"
120
 #define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
146
 #define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
122
 #define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
148
 #define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
123
 #define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
149
 #define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
124
 #define MSG_INVALID_EXTRUDER                "Invalid extruder"
150
 #define MSG_INVALID_EXTRUDER                "Invalid extruder"
151
+#define MSG_INVALID_SOLENOID                "Invalid solenoid"
125
 #define MSG_X_MIN                           "x_min: "
152
 #define MSG_X_MIN                           "x_min: "
126
 #define MSG_X_MAX                           "x_max: "
153
 #define MSG_X_MAX                           "x_max: "
127
 #define MSG_Y_MIN                           "y_min: "
154
 #define MSG_Y_MIN                           "y_min: "
128
 #define MSG_Y_MAX                           "y_max: "
155
 #define MSG_Y_MAX                           "y_max: "
129
 #define MSG_Z_MIN                           "z_min: "
156
 #define MSG_Z_MIN                           "z_min: "
130
 #define MSG_Z_MAX                           "z_max: "
157
 #define MSG_Z_MAX                           "z_max: "
158
+#define MSG_Z2_MAX                          "z2_max: "
159
+#define MSG_Z_PROBE                         "z_probe: "
131
 #define MSG_M119_REPORT                     "Reporting endstop status"
160
 #define MSG_M119_REPORT                     "Reporting endstop status"
132
 #define MSG_ENDSTOP_HIT                     "TRIGGERED"
161
 #define MSG_ENDSTOP_HIT                     "TRIGGERED"
133
 #define MSG_ENDSTOP_OPEN                    "open"
162
 #define MSG_ENDSTOP_OPEN                    "open"
160
 
189
 
161
 #define MSG_ERR_EEPROM_WRITE                "Error writing to EEPROM!"
190
 #define MSG_ERR_EEPROM_WRITE                "Error writing to EEPROM!"
162
 
191
 
192
+// temperature.cpp strings
193
+#define MSG_PID_AUTOTUNE                    "PID Autotune"
194
+#define MSG_PID_AUTOTUNE_START              MSG_PID_AUTOTUNE " start"
195
+#define MSG_PID_AUTOTUNE_FAILED             MSG_PID_AUTOTUNE " failed!"
196
+#define MSG_PID_BAD_EXTRUDER_NUM            MSG_PID_AUTOTUNE_FAILED " Bad extruder number"
197
+#define MSG_PID_TEMP_TOO_HIGH               MSG_PID_AUTOTUNE_FAILED " Temperature too high"
198
+#define MSG_PID_TIMEOUT                     MSG_PID_AUTOTUNE_FAILED " timeout"
199
+#define MSG_BIAS                            " bias: "
200
+#define MSG_D                               " d: "
201
+#define MSG_T_MIN                           " min: "
202
+#define MSG_T_MAX                           " max: "
203
+#define MSG_KU                              " Ku: "
204
+#define MSG_TU                              " Tu: "
205
+#define MSG_CLASSIC_PID                     " Classic PID "
206
+#define MSG_KP                              " Kp: "
207
+#define MSG_KI                              " Ki: "
208
+#define MSG_KD                              " Kd: "
209
+#define MSG_OK_B                            "ok B:"
210
+#define MSG_OK_T                            "ok T:"
211
+#define MSG_AT                              " @:"
212
+#define MSG_PID_AUTOTUNE_FINISHED           MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from above into Configuration.h"
213
+#define MSG_PID_DEBUG                       " PID_DEBUG "
214
+#define MSG_PID_DEBUG_INPUT                 ": Input "
215
+#define MSG_PID_DEBUG_OUTPUT                " Output "
216
+#define MSG_PID_DEBUG_PTERM                 " pTerm "
217
+#define MSG_PID_DEBUG_ITERM                 " iTerm "
218
+#define MSG_PID_DEBUG_DTERM                 " dTerm "
219
+#define MSG_HEATING_FAILED                  "Heating failed"
220
+#define MSG_EXTRUDER_SWITCHED_OFF           "Extruder switched off. Temperature difference between temp sensors is too high !"
221
+
222
+#define MSG_INVALID_EXTRUDER_NUM            " - Invalid extruder number !"
223
+#define MSG_THERMAL_RUNAWAY_STOP            "Thermal Runaway, system stopped! Heater_ID: "
224
+#define MSG_SWITCHED_OFF_MAX                " switched off. MAXTEMP triggered !!"
225
+#define MSG_MINTEMP_EXTRUDER_OFF            ": Extruder switched off. MINTEMP triggered !"
226
+#define MSG_MAXTEMP_EXTRUDER_OFF            ": Extruder" MSG_SWITCHED_OFF_MAX
227
+#define MSG_MAXTEMP_BED_OFF                 "Heated bed" MSG_SWITCHED_OFF_MAX
228
+
163
 // LCD Menu Messages
229
 // LCD Menu Messages
164
 
230
 
165
-// Add your own character. Reference: https://github.com/MarlinFirmware/Marlin/pull/1434 photos
166
-//                                and https://www.sparkfun.com/datasheets/LCD/HD44780.pdf page 17-18
167
-#ifdef DOGLCD
168
-  #define STR_Ae "\304"               // 'Ä' U8glib
169
-  #define STR_ae "\344"               // 'ä'
170
-  #define STR_Oe "\326"               // 'Ö'
171
-  #define STR_oe STR_Oe               // 'ö'
172
-  #define STR_Ue "\334"               // 'Ü'
173
-  #define STR_ue STR_Ue               // 'ü'
174
-  #define STR_sz "\337"               // 'ß'
175
-  #define STR_h2 "\262"               // '²'
176
-  #define STR_h3 "\263"               // '³'
177
-  #define STR_Deg "\260"              // '°'
178
-  #define STR_THERMOMETER "\377"
179
-#else
180
-  #ifdef DISPLAY_CHARSET_HD44780_JAPAN // HD44780 ROM Code: A00 (Japan)
181
-    #define STR_ae "\xe1"
182
-    #define STR_Ae STR_ae
183
-    #define STR_oe "\357"
184
-    #define STR_Oe STR_oe
185
-    #define STR_ue "\365"
186
-    #define STR_Ue STR_ue
187
-    #define STR_sz "\342"
188
-    #define STR_h2 "2"
189
-    #define STR_h3 "3"
190
-    #define STR_Deg "\271"
191
-    #define STR_THERMOMETER "\002"
192
-  #endif
193
-  #ifdef DISPLAY_CHARSET_HD44780_WESTERN // HD44780 ROM Code: A02 (Western)
194
-    #define STR_Ae "\216"
195
-    #define STR_ae "\204"
196
-    #define STR_Oe "\211"
197
-    #define STR_oe "\204"
198
-    #define STR_Ue "\212"
199
-    #define STR_ue "\201"
200
-    #define STR_sz "\160"
201
-    #define STR_h2 "\262"
202
-    #define STR_h3 "\263"
203
-    #define STR_Deg "\337"
204
-    #define STR_THERMOMETER "\002"
205
-  #endif
231
+#if !(defined( DISPLAY_CHARSET_HD44780_JAPAN ) || defined( DISPLAY_CHARSET_HD44780_WESTERN ) || defined( DISPLAY_CHARSET_HD44780_CYRILLIC ))
232
+  #define DISPLAY_CHARSET_HD44780_JAPAN
206
 #endif
233
 #endif
207
-/*
208
-#define TESTSTRING000 "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017"
209
-#define TESTSTRING020 "\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
210
-#define TESTSTRING040 "\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057"
211
-#define TESTSTRING060 "\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077"
212
-#define TESTSTRING100 "\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117"
213
-#define TESTSTRING120 "\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137"
214
-#define TESTSTRING140 "\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157"
215
-#define TESTSTRING160 "\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177"
216
-#define TESTSTRING200 "\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
217
-#define TESTSTRING220 "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237"
218
-#define TESTSTRING240 "\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257"
219
-#define TESTSTRING260 "\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277"
220
-#define TESTSTRING300 "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
221
-#define TESTSTRING320 "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337"
222
-#define TESTSTRING340 "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357"
223
-#define TESTSTRING360 "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
224
-*/
225
 
234
 
226
 #include LANGUAGE_INCLUDE
235
 #include LANGUAGE_INCLUDE
227
 #include "language_en.h"
236
 #include "language_en.h"

+ 16
- 4
Marlin/configurator/index.html View File

30
         <label id="tipson"><input type="checkbox" checked /> ?</label>
30
         <label id="tipson"><input type="checkbox" checked /> ?</label>
31
         <a href="" class="download-all">Download Zip</a>
31
         <a href="" class="download-all">Download Zip</a>
32
 
32
 
33
+        <fieldset id="info">
34
+          <legend>Info</legend>
35
+        </fieldset>
36
+
33
         <fieldset id="machine">
37
         <fieldset id="machine">
34
           <legend>Machine</legend>
38
           <legend>Machine</legend>
35
 
39
 
84
           <legend>Bed Leveling</legend>
88
           <legend>Bed Leveling</legend>
85
         </fieldset>
89
         </fieldset>
86
 
90
 
87
-        <fieldset id="extras">
88
-          <legend>Extras</legend>
91
+        <fieldset id="fwretract">
92
+          <legend>FW Retract</legend>
89
         </fieldset>
93
         </fieldset>
90
 
94
 
91
-        <fieldset id="info">
92
-          <legend>Info</legend>
95
+        <fieldset id="tmc">
96
+          <legend>TMC</legend>
97
+        </fieldset>
98
+
99
+        <fieldset id="l6470">
100
+          <legend>L6470</legend>
101
+        </fieldset>
102
+
103
+        <fieldset id="extras">
104
+          <legend>Extras</legend>
93
         </fieldset>
105
         </fieldset>
94
 
106
 
95
         <fieldset id="more">
107
         <fieldset id="more">

+ 62
- 44
Marlin/configurator/js/configurator.js View File

397
      *   .count   number of items in the group
397
      *   .count   number of items in the group
398
      */
398
      */
399
     refreshDefineGroups: function(cindex) {
399
     refreshDefineGroups: function(cindex) {
400
-      var findDef = /^(|.*_)(([XYZE](MAX|MIN))|(E[0-3]|[XYZE01234])|MAX|MIN|(bed)?K[pid]|HOTEND|HPB|JAPAN|WESTERN|LEFT|RIGHT|BACK|FRONT|[XYZ]_POINT)(_.*|)$/i;
400
+      var findDef = /^(|.*_)(([XYZE](MAX|MIN))|(E[0-3]|[XYZE01234])|MAX|MIN|(bed)?K[pid]|HOTEND|HPB|JAPAN|WESTERN|CYRILLIC|LEFT|RIGHT|BACK|FRONT|[XYZ]_POINT)(_.*|)$/i;
401
       var match_prev, patt, title, nameList, groups = {}, match_section;
401
       var match_prev, patt, title, nameList, groups = {}, match_section;
402
       $.each(define_list[cindex], function(i, name) {
402
       $.each(define_list[cindex], function(i, name) {
403
         if (match_prev) {
403
         if (match_prev) {
458
                 break;
458
                 break;
459
               case 'JAPAN':
459
               case 'JAPAN':
460
               case 'WESTERN':
460
               case 'WESTERN':
461
-                patt = '(JAPAN|WESTERN)';
461
+              case 'CYRILLIC':
462
+                patt = '(JAPAN|WESTERN|CYRILLIC)';
462
                 break;
463
                 break;
463
               case 'XMIN':
464
               case 'XMIN':
464
               case 'XMAX':
465
               case 'XMAX':
1267
         if (info.line.search(find) >= 0)
1268
         if (info.line.search(find) >= 0)
1268
           eoltip = tooltip = info.line.replace(find, '$1');
1269
           eoltip = tooltip = info.line.replace(find, '$1');
1269
 
1270
 
1270
-        // Get all the comments immediately before the item
1271
+        // Get all the comments immediately before the item, also include #define lines preceding it
1271
         var s;
1272
         var s;
1272
-        find = new RegExp('(([ \\t]*(//|#)[^\n]+\n){1,4})' + info.line.regEsc(), 'g');
1273
+        // find = new RegExp('(([ \\t]*(//|#)[^\n]+\n){1,4})' + info.line.regEsc(), 'g');
1274
+        find = new RegExp('(([ \\t]*//+[^\n]+\n)+([ \\t]*(//)?#define[^\n]+\n)*)' + info.line.regEsc(), 'g');
1273
         if (r = find.exec(txt)) {
1275
         if (r = find.exec(txt)) {
1274
-          // Get the text of the found comments
1276
+          var temp = [], tips = [];
1277
+
1278
+          // Find each line in forward order, store in reverse
1275
           find = new RegExp('^[ \\t]*//+[ \\t]*(.*)[ \\t]*$', 'gm');
1279
           find = new RegExp('^[ \\t]*//+[ \\t]*(.*)[ \\t]*$', 'gm');
1276
-          while((s = find.exec(r[1])) !== null) {
1277
-            var tip = s[1].replace(/[ \\t]*(={5,}|(#define[ \\t]+.*|@section[ \\t]+\w+))[ \\t]*/g, '');
1278
-            if (tip.length) {
1279
-              if (tip.match(/^#define[ \\t]/) != null) tooltip = eoltip;
1280
-              // JSON data? Save as select options
1281
-              if (!info.options && tip.match(/:[\[{]/) != null) {
1282
-                // TODO
1283
-                // :[1-6] = value limits
1284
-                var o; eval('o=' + tip.substr(1));
1285
-                info.options = o;
1286
-                if (Object.prototype.toString.call(o) == "[object Array]" && o.length == 2 && !eval(''+o[0]))
1287
-                  info.type = 'toggle';
1288
-              }
1289
-              else {
1290
-                // Other lines added to the tooltip
1291
-                tooltip += ' ' + tip + '\n';
1292
-              }
1293
-            }
1294
-          }
1295
-        }
1280
+          while((s = find.exec(r[1])) !== null) temp.unshift(s[1]);
1281
+
1282
+          console.log(name+":\n"+temp.join('\n'));
1283
+
1284
+          // Go through the reversed lines and add comment lines on
1285
+          $.each(temp, function(i,v) {
1286
+            // @ annotation breaks the comment chain
1287
+            if (v.match(/^[ \\t]*\/\/+[ \\t]*@/)) return false;
1288
+            // A #define breaks the chain, after a good tip
1289
+            if (v.match(/^[ \\t]*(\/\/+)?[ \\t]*#define/)) return (tips.length < 1);
1290
+            // Skip unwanted lines
1291
+            if (v.match(/^[ \\t]*(={5,}|#define[ \\t]+.*)/g)) return true;
1292
+            tips.unshift(v);
1293
+          });
1296
 
1294
 
1297
-        // Add .tooltip and .lineNum properties to the info
1298
-        find = new RegExp('^'+name); // Strip the name from the tooltip
1299
-        var lineNum = this.getLineNumberOfText(info.line, txt);
1300
-
1301
-        // See if this define is enabled conditionally
1302
-        var enable_cond = '';
1303
-        $.each(dependent_groups, function(cond,dat){
1304
-          $.each(dat, function(i,o){
1305
-            if (o.cindex == cindex && lineNum > o.start && lineNum < o.end) {
1306
-              if (enable_cond != '') enable_cond += ' && ';
1307
-              enable_cond += '(' + cond + ')';
1295
+          // Build the final tooltip, extract embedded options
1296
+          $.each(tips, function(i,tip) {
1297
+            // if (tip.match(/^#define[ \\t]/) != null) tooltip = eoltip;
1298
+            // JSON data? Save as select options
1299
+            if (!info.options && tip.match(/:[\[{]/) != null) {
1300
+              // TODO
1301
+              // :[1-6] = value limits
1302
+              var o; eval('o=' + tip.substr(1));
1303
+              info.options = o;
1304
+              if (Object.prototype.toString.call(o) == "[object Array]" && o.length == 2 && !eval(''+o[0]))
1305
+                info.type = 'toggle';
1306
+            }
1307
+            else {
1308
+              // Other lines added to the tooltip
1309
+              tooltip += ' ' + tip + '\n';
1308
             }
1310
             }
1309
           });
1311
           });
1310
-        });
1311
 
1312
 
1312
-        $.extend(info, {
1313
-          tooltip: '<strong>'+name+'</strong> '+tooltip.trim().replace(find,'').toHTML(),
1314
-          lineNum: lineNum,
1315
-          switchable: (info.type != 'switch' && info.line.match(/^[ \t]*\/\//)) || false, // Disabled? Mark as "switchable"
1316
-          enabled: enable_cond ? enable_cond : 'true'
1317
-        });
1313
+          // Add .tooltip and .lineNum properties to the info
1314
+          find = new RegExp('^'+name); // Strip the name from the tooltip
1315
+          var lineNum = this.getLineNumberOfText(info.line, txt);
1316
+
1317
+          // See if this define is enabled conditionally
1318
+          var enable_cond = '';
1319
+          $.each(dependent_groups, function(cond,dat){
1320
+            $.each(dat, function(i,o){
1321
+              if (o.cindex == cindex && lineNum > o.start && lineNum < o.end) {
1322
+                if (enable_cond != '') enable_cond += ' && ';
1323
+                enable_cond += '(' + cond + ')';
1324
+              }
1325
+            });
1326
+          });
1318
 
1327
 
1319
-      }
1328
+          $.extend(info, {
1329
+            tooltip: '<strong>'+name+'</strong> '+tooltip.trim().replace(find,'').toHTML(),
1330
+            lineNum: lineNum,
1331
+            switchable: (info.type != 'switch' && info.line.match(/^[ \t]*\/\//)) || false, // Disabled? Mark as "switchable"
1332
+            enabled: enable_cond ? enable_cond : 'true'
1333
+          });
1334
+
1335
+        } // found comments
1336
+
1337
+      } // if info.type
1320
       else
1338
       else
1321
         info = null;
1339
         info = null;
1322
 
1340
 

+ 14
- 9
Marlin/dogm_lcd_implementation.h View File

186
   return n;
186
   return n;
187
 }
187
 }
188
 
188
 
189
+static bool show_splashscreen = true;
190
+
189
 static void lcd_implementation_init()
191
 static void lcd_implementation_init()
190
 {
192
 {
191
   #ifdef LCD_PIN_BL // Enable LCD backlight
193
   #ifdef LCD_PIN_BL // Enable LCD backlight
219
 
221
 
220
 	u8g.firstPage();
222
 	u8g.firstPage();
221
 	do {
223
 	do {
222
-    u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
223
-    lcd_setFont(FONT_MENU);
224
-    #ifndef STRING_SPLASH_LINE2
225
-      u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT, STRING_SPLASH_LINE1);
226
-    #else
227
-      int txt2X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE2) - 1)*DOG_CHAR_WIDTH) / 2;
228
-      u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT*3/2, STRING_SPLASH_LINE1);
229
-      u8g.drawStr(txt2X, u8g.getHeight() - DOG_CHAR_HEIGHT*1/2, STRING_SPLASH_LINE2);
230
-    #endif
224
+    if (show_splashscreen) {
225
+      u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
226
+      lcd_setFont(FONT_MENU);
227
+      #ifndef STRING_SPLASH_LINE2
228
+        u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT, STRING_SPLASH_LINE1);
229
+      #else
230
+        int txt2X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE2) - 1)*DOG_CHAR_WIDTH) / 2;
231
+        u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT*3/2, STRING_SPLASH_LINE1);
232
+        u8g.drawStr(txt2X, u8g.getHeight() - DOG_CHAR_HEIGHT*1/2, STRING_SPLASH_LINE2);
233
+      #endif
234
+    }
231
 	} while (u8g.nextPage());
235
 	} while (u8g.nextPage());
236
+  show_splashscreen = false;
232
 }
237
 }
233
 
238
 
234
 static void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
239
 static void lcd_implementation_clear() { } // Automatically cleared by Picture Loop

+ 5
- 3
Marlin/example_configurations/Felix/Configuration.h View File

563
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
563
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
564
 //define this to enable EEPROM support
564
 //define this to enable EEPROM support
565
 //#define EEPROM_SETTINGS
565
 //#define EEPROM_SETTINGS
566
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
567
-// please keep turned on if you can.
568
-//#define EEPROM_CHITCHAT
566
+
567
+#ifdef EEPROM_SETTINGS
568
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
569
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
570
+#endif
569
 
571
 
570
 // Preheat Constants
572
 // Preheat Constants
571
 #define PLA_PREHEAT_HOTEND_TEMP 180
573
 #define PLA_PREHEAT_HOTEND_TEMP 180

+ 5
- 3
Marlin/example_configurations/Felix/Configuration_DUAL.h View File

550
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
550
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
551
 //define this to enable EEPROM support
551
 //define this to enable EEPROM support
552
 //#define EEPROM_SETTINGS
552
 //#define EEPROM_SETTINGS
553
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
554
-// please keep turned on if you can.
555
-//#define EEPROM_CHITCHAT
553
+
554
+#ifdef EEPROM_SETTINGS
555
+  // 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.
557
+#endif
556
 
558
 
557
 // Preheat Constants
559
 // Preheat Constants
558
 #define PLA_PREHEAT_HOTEND_TEMP 180
560
 #define PLA_PREHEAT_HOTEND_TEMP 180

+ 157
- 115
Marlin/example_configurations/Felix/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
180
 #define Z_HOME_BUMP_MM 3
194
 #define Z_HOME_BUMP_MM 3
181
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 836
341
   #define STEPS_MM_E 836
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 4
375
 #define BUFSIZE 4
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/Hephestos/Configuration.h View File

585
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
585
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
586
 //define this to enable EEPROM support
586
 //define this to enable EEPROM support
587
 //#define EEPROM_SETTINGS
587
 //#define EEPROM_SETTINGS
588
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
589
-// please keep turned on if you can.
590
-//#define EEPROM_CHITCHAT
588
+
589
+#ifdef EEPROM_SETTINGS
590
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
591
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
592
+#endif
591
 
593
 
592
 // Preheat Constants
594
 // Preheat Constants
593
 #define PLA_PREHEAT_HOTEND_TEMP 200
595
 #define PLA_PREHEAT_HOTEND_TEMP 200

+ 157
- 115
Marlin/example_configurations/Hephestos/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 //#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 //#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
180
 #define Z_HOME_BUMP_MM 2
194
 #define Z_HOME_BUMP_MM 2
181
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 100.47095761381482
341
   #define STEPS_MM_E 100.47095761381482
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 5
375
 #define BUFSIZE 5
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/K8200/Configuration.h View File

591
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
591
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
592
 //define this to enable EEPROM support
592
 //define this to enable EEPROM support
593
 #define EEPROM_SETTINGS
593
 #define EEPROM_SETTINGS
594
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
595
-// please keep turned on if you can.
596
-//#define EEPROM_CHITCHAT
594
+
595
+#ifdef EEPROM_SETTINGS
596
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
597
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
598
+#endif
597
 
599
 
598
 // Preheat Constants
600
 // Preheat Constants
599
 #define PLA_PREHEAT_HOTEND_TEMP 190
601
 #define PLA_PREHEAT_HOTEND_TEMP 190

+ 157
- 115
Marlin/example_configurations/K8200/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
180
 #define Z_HOME_BUMP_MM 3
194
 #define Z_HOME_BUMP_MM 3
181
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 836
341
   #define STEPS_MM_E 836
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 4
375
 #define BUFSIZE 4
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/SCARA/Configuration.h View File

614
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
614
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
615
 //define this to enable EEPROM support
615
 //define this to enable EEPROM support
616
 //#define EEPROM_SETTINGS
616
 //#define EEPROM_SETTINGS
617
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
618
-// please keep turned on if you can.
619
-#define EEPROM_CHITCHAT
617
+
618
+#ifdef EEPROM_SETTINGS
619
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
620
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
621
+#endif
620
 
622
 
621
 // Preheat Constants
623
 // Preheat Constants
622
 #define PLA_PREHEAT_HOTEND_TEMP 180
624
 #define PLA_PREHEAT_HOTEND_TEMP 180

+ 157
- 115
Marlin/example_configurations/SCARA/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 180.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 180.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 3
192
 #define X_HOME_BUMP_MM 3
179
 #define Y_HOME_BUMP_MM 3
193
 #define Y_HOME_BUMP_MM 3
180
 #define Z_HOME_BUMP_MM 3
194
 #define Z_HOME_BUMP_MM 3
181
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 10*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 10*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 #define ADVANCE
336
 #define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 1000
341
   #define STEPS_MM_E 1000
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 4
375
 #define BUFSIZE 4
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/WITBOX/Configuration.h View File

584
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
584
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
585
 //define this to enable EEPROM support
585
 //define this to enable EEPROM support
586
 //#define EEPROM_SETTINGS
586
 //#define EEPROM_SETTINGS
587
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
588
-// please keep turned on if you can.
589
-//#define EEPROM_CHITCHAT
587
+
588
+#ifdef EEPROM_SETTINGS
589
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
590
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
591
+#endif
590
 
592
 
591
 // Preheat Constants
593
 // Preheat Constants
592
 #define PLA_PREHEAT_HOTEND_TEMP 200
594
 #define PLA_PREHEAT_HOTEND_TEMP 200

+ 157
- 115
Marlin/example_configurations/WITBOX/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 //#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 //#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
180
 #define Z_HOME_BUMP_MM 2
194
 #define Z_HOME_BUMP_MM 2
181
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 100.47095761381482
341
   #define STEPS_MM_E 100.47095761381482
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 5
375
 #define BUFSIZE 5
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/delta/generic/Configuration.h View File

631
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
631
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
632
 //define this to enable EEPROM support
632
 //define this to enable EEPROM support
633
 //#define EEPROM_SETTINGS
633
 //#define EEPROM_SETTINGS
634
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
635
-// please keep turned on if you can.
636
-//#define EEPROM_CHITCHAT
634
+
635
+#ifdef EEPROM_SETTINGS
636
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
637
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
638
+#endif
637
 
639
 
638
 // Preheat Constants
640
 // Preheat Constants
639
 #define PLA_PREHEAT_HOTEND_TEMP 180
641
 #define PLA_PREHEAT_HOTEND_TEMP 180

+ 156
- 114
Marlin/example_configurations/delta/generic/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
181
 #define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
 #define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
242
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
264
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
243
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
265
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
244
 
266
 
267
+// @section lcd
268
+
245
 #ifdef SDSUPPORT
269
 #ifdef SDSUPPORT
246
 
270
 
247
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
271
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
274
 
298
 
275
 #endif // SDSUPPORT
299
 #endif // SDSUPPORT
276
 
300
 
301
+// @section more
302
+
277
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
303
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
278
 //#define USE_WATCHDOG
304
 //#define USE_WATCHDOG
279
 
305
 
287
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
313
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
288
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
314
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
289
 
315
 
316
+// @section lcd
317
+
290
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
318
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
291
 // it can e.g. be used to change z-positions in the print startup phase in real-time
319
 // it can e.g. be used to change z-positions in the print startup phase in real-time
292
 // does not respect endstops!
320
 // does not respect endstops!
297
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
325
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
298
 #endif
326
 #endif
299
 
327
 
328
+// @section extruder
329
+
300
 // extruder advance constant (s2/mm3)
330
 // extruder advance constant (s2/mm3)
301
 //
331
 //
302
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
332
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
303
 //
333
 //
304
-// Hooke's law says:		force = k * distance
305
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
334
+// Hooke's law says:    force = k * distance
335
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
306
 // so: v ^ 2 is proportional to number of steps we advance the extruder
336
 // so: v ^ 2 is proportional to number of steps we advance the extruder
307
 //#define ADVANCE
337
 //#define ADVANCE
308
 
338
 
312
   #define STEPS_MM_E 836
342
   #define STEPS_MM_E 836
313
 #endif
343
 #endif
314
 
344
 
345
+// @section extras
346
+
315
 // Arc interpretation settings:
347
 // Arc interpretation settings:
316
 #define MM_PER_ARC_SEGMENT 1
348
 #define MM_PER_ARC_SEGMENT 1
317
 #define N_ARC_CORRECTION 25
349
 #define N_ARC_CORRECTION 25
318
 
350
 
319
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
351
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
320
 
352
 
353
+// @section temperature
354
+
321
 // Control heater 0 and heater 1 in parallel.
355
 // Control heater 0 and heater 1 in parallel.
322
 //#define HEATERS_PARALLEL
356
 //#define HEATERS_PARALLEL
323
 
357
 
325
 //=============================Buffers           ============================
359
 //=============================Buffers           ============================
326
 //===========================================================================
360
 //===========================================================================
327
 
361
 
362
+// @section hidden
363
+
328
 // The number of linear motions that can be in the plan at any give time.
364
 // The number of linear motions that can be in the plan at any give time.
329
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
365
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
330
 #ifdef SDSUPPORT
366
 #ifdef SDSUPPORT
333
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
369
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
334
 #endif
370
 #endif
335
 
371
 
372
+// @section more
336
 
373
 
337
 //The ASCII buffer for receiving from the serial:
374
 //The ASCII buffer for receiving from the serial:
338
 #define MAX_CMD_SIZE 96
375
 #define MAX_CMD_SIZE 96
339
 #define BUFSIZE 4
376
 #define BUFSIZE 4
340
 
377
 
378
+// @section fwretract
341
 
379
 
342
 // Firmware based and LCD controlled retract
380
 // Firmware based and LCD controlled retract
343
 // M207 and M208 can be used to define parameters for the retraction.
381
 // M207 and M208 can be used to define parameters for the retraction.
374
  * you need to import the TMC26XStepper library into the arduino IDE for this
412
  * you need to import the TMC26XStepper library into the arduino IDE for this
375
  ******************************************************************************/
413
  ******************************************************************************/
376
 
414
 
415
+// @section tmc
416
+
377
 //#define HAVE_TMCDRIVER
417
 //#define HAVE_TMCDRIVER
378
 #ifdef HAVE_TMCDRIVER
418
 #ifdef HAVE_TMCDRIVER
379
 
419
 
380
-//	#define X_IS_TMC
381
-	#define X_MAX_CURRENT 1000  //in mA
382
-	#define X_SENSE_RESISTOR 91 //in mOhms
383
-	#define X_MICROSTEPS 16     //number of microsteps
384
-	
385
-//	#define X2_IS_TMC
386
-	#define X2_MAX_CURRENT 1000  //in mA
387
-	#define X2_SENSE_RESISTOR 91 //in mOhms
388
-	#define X2_MICROSTEPS 16     //number of microsteps
389
-	
390
-//	#define Y_IS_TMC
391
-	#define Y_MAX_CURRENT 1000  //in mA
392
-	#define Y_SENSE_RESISTOR 91 //in mOhms
393
-	#define Y_MICROSTEPS 16     //number of microsteps
394
-	
395
-//	#define Y2_IS_TMC
396
-	#define Y2_MAX_CURRENT 1000  //in mA
397
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
398
-	#define Y2_MICROSTEPS 16     //number of microsteps	
399
-	
400
-//	#define Z_IS_TMC
401
-	#define Z_MAX_CURRENT 1000  //in mA
402
-	#define Z_SENSE_RESISTOR 91 //in mOhms
403
-	#define Z_MICROSTEPS 16     //number of microsteps
404
-	
405
-//	#define Z2_IS_TMC
406
-	#define Z2_MAX_CURRENT 1000  //in mA
407
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
408
-	#define Z2_MICROSTEPS 16     //number of microsteps
409
-	
410
-//	#define E0_IS_TMC
411
-	#define E0_MAX_CURRENT 1000  //in mA
412
-	#define E0_SENSE_RESISTOR 91 //in mOhms
413
-	#define E0_MICROSTEPS 16     //number of microsteps
414
-	
415
-//	#define E1_IS_TMC
416
-	#define E1_MAX_CURRENT 1000  //in mA
417
-	#define E1_SENSE_RESISTOR 91 //in mOhms
418
-	#define E1_MICROSTEPS 16     //number of microsteps	
419
-	
420
-//	#define E2_IS_TMC
421
-	#define E2_MAX_CURRENT 1000  //in mA
422
-	#define E2_SENSE_RESISTOR 91 //in mOhms
423
-	#define E2_MICROSTEPS 16     //number of microsteps	
424
-	
425
-//	#define E3_IS_TMC
426
-	#define E3_MAX_CURRENT 1000  //in mA
427
-	#define E3_SENSE_RESISTOR 91 //in mOhms
428
-	#define E3_MICROSTEPS 16     //number of microsteps		
420
+//  #define X_IS_TMC
421
+  #define X_MAX_CURRENT 1000  //in mA
422
+  #define X_SENSE_RESISTOR 91 //in mOhms
423
+  #define X_MICROSTEPS 16     //number of microsteps
424
+  
425
+//  #define X2_IS_TMC
426
+  #define X2_MAX_CURRENT 1000  //in mA
427
+  #define X2_SENSE_RESISTOR 91 //in mOhms
428
+  #define X2_MICROSTEPS 16     //number of microsteps
429
+  
430
+//  #define Y_IS_TMC
431
+  #define Y_MAX_CURRENT 1000  //in mA
432
+  #define Y_SENSE_RESISTOR 91 //in mOhms
433
+  #define Y_MICROSTEPS 16     //number of microsteps
434
+  
435
+//  #define Y2_IS_TMC
436
+  #define Y2_MAX_CURRENT 1000  //in mA
437
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
438
+  #define Y2_MICROSTEPS 16     //number of microsteps 
439
+  
440
+//  #define Z_IS_TMC
441
+  #define Z_MAX_CURRENT 1000  //in mA
442
+  #define Z_SENSE_RESISTOR 91 //in mOhms
443
+  #define Z_MICROSTEPS 16     //number of microsteps
444
+  
445
+//  #define Z2_IS_TMC
446
+  #define Z2_MAX_CURRENT 1000  //in mA
447
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
448
+  #define Z2_MICROSTEPS 16     //number of microsteps
449
+  
450
+//  #define E0_IS_TMC
451
+  #define E0_MAX_CURRENT 1000  //in mA
452
+  #define E0_SENSE_RESISTOR 91 //in mOhms
453
+  #define E0_MICROSTEPS 16     //number of microsteps
454
+  
455
+//  #define E1_IS_TMC
456
+  #define E1_MAX_CURRENT 1000  //in mA
457
+  #define E1_SENSE_RESISTOR 91 //in mOhms
458
+  #define E1_MICROSTEPS 16     //number of microsteps 
459
+  
460
+//  #define E2_IS_TMC
461
+  #define E2_MAX_CURRENT 1000  //in mA
462
+  #define E2_SENSE_RESISTOR 91 //in mOhms
463
+  #define E2_MICROSTEPS 16     //number of microsteps 
464
+  
465
+//  #define E3_IS_TMC
466
+  #define E3_MAX_CURRENT 1000  //in mA
467
+  #define E3_SENSE_RESISTOR 91 //in mOhms
468
+  #define E3_MICROSTEPS 16     //number of microsteps   
429
 
469
 
430
 #endif
470
 #endif
431
 
471
 
434
  * you need to import the L6470 library into the arduino IDE for this
474
  * you need to import the L6470 library into the arduino IDE for this
435
  ******************************************************************************/
475
  ******************************************************************************/
436
 
476
 
477
+// @section l6470
478
+
437
 //#define HAVE_L6470DRIVER
479
 //#define HAVE_L6470DRIVER
438
 #ifdef HAVE_L6470DRIVER
480
 #ifdef HAVE_L6470DRIVER
439
 
481
 
440
-//	#define X_IS_L6470
441
-	#define X_MICROSTEPS 16     //number of microsteps
442
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
443
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
444
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
445
-	
446
-//	#define X2_IS_L6470
447
-	#define X2_MICROSTEPS 16     //number of microsteps
448
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
449
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
450
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
451
-	
452
-//	#define Y_IS_L6470
453
-	#define Y_MICROSTEPS 16     //number of microsteps
454
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
455
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
456
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
457
-	
458
-//	#define Y2_IS_L6470
459
-	#define Y2_MICROSTEPS 16     //number of microsteps	
460
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
461
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
462
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
463
-	
464
-//	#define Z_IS_L6470
465
-	#define Z_MICROSTEPS 16     //number of microsteps
466
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
467
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
468
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
469
-	
470
-//	#define Z2_IS_L6470
471
-	#define Z2_MICROSTEPS 16     //number of microsteps
472
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
473
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
474
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
475
-	
476
-//	#define E0_IS_L6470
477
-	#define E0_MICROSTEPS 16     //number of microsteps
478
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
479
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
480
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
481
-	
482
-//	#define E1_IS_L6470
483
-	#define E1_MICROSTEPS 16     //number of microsteps	
484
-	#define E1_MICROSTEPS 16     //number of microsteps
485
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
486
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
487
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
488
-	
489
-//	#define E2_IS_L6470
490
-	#define E2_MICROSTEPS 16     //number of microsteps	
491
-	#define E2_MICROSTEPS 16     //number of microsteps
492
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
493
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
494
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
495
-	
496
-//	#define E3_IS_L6470
497
-	#define E3_MICROSTEPS 16     //number of microsteps		
498
-	#define E3_MICROSTEPS 16     //number of microsteps
499
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
500
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
501
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
502
-	
482
+//  #define X_IS_L6470
483
+  #define X_MICROSTEPS 16     //number of microsteps
484
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
+  
488
+//  #define X2_IS_L6470
489
+  #define X2_MICROSTEPS 16     //number of microsteps
490
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
491
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
492
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
493
+  
494
+//  #define Y_IS_L6470
495
+  #define Y_MICROSTEPS 16     //number of microsteps
496
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
497
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
498
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
499
+  
500
+//  #define Y2_IS_L6470
501
+  #define Y2_MICROSTEPS 16     //number of microsteps 
502
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
503
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
504
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
505
+  
506
+//  #define Z_IS_L6470
507
+  #define Z_MICROSTEPS 16     //number of microsteps
508
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
509
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
510
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
511
+  
512
+//  #define Z2_IS_L6470
513
+  #define Z2_MICROSTEPS 16     //number of microsteps
514
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
515
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
516
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
517
+  
518
+//  #define E0_IS_L6470
519
+  #define E0_MICROSTEPS 16     //number of microsteps
520
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
521
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
522
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
523
+  
524
+//  #define E1_IS_L6470
525
+  #define E1_MICROSTEPS 16     //number of microsteps 
526
+  #define E1_MICROSTEPS 16     //number of microsteps
527
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
528
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
529
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
530
+  
531
+//  #define E2_IS_L6470
532
+  #define E2_MICROSTEPS 16     //number of microsteps 
533
+  #define E2_MICROSTEPS 16     //number of microsteps
534
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
535
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
536
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
537
+  
538
+//  #define E3_IS_L6470
539
+  #define E3_MICROSTEPS 16     //number of microsteps   
540
+  #define E3_MICROSTEPS 16     //number of microsteps
541
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
542
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
543
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
544
+  
503
 #endif
545
 #endif
504
 
546
 
505
 #include "Conditionals.h"
547
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

635
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
635
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
636
 //define this to enable EEPROM support
636
 //define this to enable EEPROM support
637
 //#define EEPROM_SETTINGS
637
 //#define EEPROM_SETTINGS
638
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
639
-// please keep turned on if you can.
640
-//#define EEPROM_CHITCHAT
638
+
639
+#ifdef EEPROM_SETTINGS
640
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
641
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
642
+#endif
641
 
643
 
642
 // Preheat Constants
644
 // Preheat Constants
643
 #define PLA_PREHEAT_HOTEND_TEMP 180
645
 #define PLA_PREHEAT_HOTEND_TEMP 180

+ 156
- 114
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
181
 #define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
 #define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 836
341
   #define STEPS_MM_E 836
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 4
375
 #define BUFSIZE 4
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/makibox/Configuration.h View File

582
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
582
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
583
 //define this to enable EEPROM support
583
 //define this to enable EEPROM support
584
 #define EEPROM_SETTINGS
584
 #define EEPROM_SETTINGS
585
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
586
-// please keep turned on if you can.
587
-//#define EEPROM_CHITCHAT
585
+
586
+#ifdef EEPROM_SETTINGS
587
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
588
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
589
+#endif
588
 
590
 
589
 // Preheat Constants
591
 // Preheat Constants
590
 #define PLA_PREHEAT_HOTEND_TEMP 180
592
 #define PLA_PREHEAT_HOTEND_TEMP 180

+ 157
- 115
Marlin/example_configurations/makibox/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
180
 #define Z_HOME_BUMP_MM 2
194
 #define Z_HOME_BUMP_MM 2
181
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 836
341
   #define STEPS_MM_E 836
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 4
375
 #define BUFSIZE 4
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 5
- 3
Marlin/example_configurations/tvrrug/Round2/Configuration.h View File

588
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
588
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
589
 //define this to enable EEPROM support
589
 //define this to enable EEPROM support
590
 //#define EEPROM_SETTINGS
590
 //#define EEPROM_SETTINGS
591
-//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
592
-// please keep turned on if you can.
593
-//#define EEPROM_CHITCHAT
591
+
592
+#ifdef EEPROM_SETTINGS
593
+  // To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
594
+  #define EEPROM_CHITCHAT // please keep turned on if you can.
595
+#endif
594
 
596
 
595
 // Preheat Constants
597
 // Preheat Constants
596
 #define PLA_PREHEAT_HOTEND_TEMP 180
598
 #define PLA_PREHEAT_HOTEND_TEMP 180

+ 157
- 115
Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h View File

3
 
3
 
4
 #include "Conditionals.h"
4
 #include "Conditionals.h"
5
 
5
 
6
+// @section temperature
7
+
6
 //===========================================================================
8
 //===========================================================================
7
 //=============================Thermal Settings  ============================
9
 //=============================Thermal Settings  ============================
8
 //===========================================================================
10
 //===========================================================================
46
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47
 //#define SHOW_TEMP_ADC_VALUES
49
 //#define SHOW_TEMP_ADC_VALUES
48
 
50
 
51
+// @section extruder
52
+
49
 //  extruder run-out prevention.
53
 //  extruder run-out prevention.
50
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51
 //#define EXTRUDER_RUNOUT_PREVENT
55
 //#define EXTRUDER_RUNOUT_PREVENT
55
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56
 #define EXTRUDER_RUNOUT_EXTRUDE 100
60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57
 
61
 
62
+// @section temperature
63
+
58
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60
 #define TEMP_SENSOR_AD595_OFFSET 0.0
66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
72
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73
 //#define FAN_KICKSTART_TIME 100
79
 //#define FAN_KICKSTART_TIME 100
74
 
80
 
81
+// @section extruder
82
+
75
 // Extruder cooling fans
83
 // Extruder cooling fans
76
 // Configure fan pin outputs to automatically turn on/off when the associated
84
 // Configure fan pin outputs to automatically turn on/off when the associated
77
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
89
 //=============================Mechanical Settings===========================
97
 //=============================Mechanical Settings===========================
90
 //===========================================================================
98
 //===========================================================================
91
 
99
 
100
+// @section homing
101
+
92
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93
 
103
 
104
+// @section extras
105
+
94
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95
 
107
 
96
 // A single Z stepper driver is usually used to drive 2 stepper motors.
108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
174
 
186
 
175
 #endif //DUAL_X_CARRIAGE
187
 #endif //DUAL_X_CARRIAGE
176
 
188
 
189
+// @section homing
190
+
177
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178
 #define X_HOME_BUMP_MM 5
192
 #define X_HOME_BUMP_MM 5
179
 #define Y_HOME_BUMP_MM 5
193
 #define Y_HOME_BUMP_MM 5
180
 #define Z_HOME_BUMP_MM 1
194
 #define Z_HOME_BUMP_MM 1
181
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
195
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
196
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
183
 
197
 
198
+// @section machine
199
+
184
 #define AXIS_RELATIVE_MODES {false, false, false, false}
200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185
 
201
 
202
+// @section machine
203
+
186
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187
 #define INVERT_X_STEP_PIN false
205
 #define INVERT_X_STEP_PIN false
188
 #define INVERT_Y_STEP_PIN false
206
 #define INVERT_Y_STEP_PIN false
195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197
 
215
 
216
+// @section lcd
217
+
198
 #ifdef ULTIPANEL
218
 #ifdef ULTIPANEL
199
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201
 #endif
221
 #endif
202
 
222
 
223
+// @section extras
224
+
203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204
 #define DEFAULT_MINSEGMENTTIME        20000
226
 #define DEFAULT_MINSEGMENTTIME        20000
205
 
227
 
241
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
263
 //#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
242
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
264
 #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
243
 
265
 
266
+// @section lcd
267
+
244
 #ifdef SDSUPPORT
268
 #ifdef SDSUPPORT
245
 
269
 
246
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
270
   // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
273
 
297
 
274
 #endif // SDSUPPORT
298
 #endif // SDSUPPORT
275
 
299
 
300
+// @section more
301
+
276
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277
 //#define USE_WATCHDOG
303
 //#define USE_WATCHDOG
278
 
304
 
286
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
312
 // Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
287
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288
 
314
 
315
+// @section lcd
316
+
289
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290
 // it can e.g. be used to change z-positions in the print startup phase in real-time
318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291
 // does not respect endstops!
319
 // does not respect endstops!
296
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297
 #endif
325
 #endif
298
 
326
 
327
+// @section extruder
328
+
299
 // extruder advance constant (s2/mm3)
329
 // extruder advance constant (s2/mm3)
300
 //
330
 //
301
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
331
 // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
302
 //
332
 //
303
-// Hooke's law says:		force = k * distance
304
-// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
333
+// Hooke's law says:    force = k * distance
334
+// Bernoulli's principle says:  v ^ 2 / 2 + g . h + pressure / density = constant
305
 // so: v ^ 2 is proportional to number of steps we advance the extruder
335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306
 //#define ADVANCE
336
 //#define ADVANCE
307
 
337
 
311
   #define STEPS_MM_E 836
341
   #define STEPS_MM_E 836
312
 #endif
342
 #endif
313
 
343
 
344
+// @section extras
345
+
314
 // Arc interpretation settings:
346
 // Arc interpretation settings:
315
 #define MM_PER_ARC_SEGMENT 1
347
 #define MM_PER_ARC_SEGMENT 1
316
 #define N_ARC_CORRECTION 25
348
 #define N_ARC_CORRECTION 25
317
 
349
 
318
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
350
 const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
319
 
351
 
352
+// @section temperature
353
+
320
 // Control heater 0 and heater 1 in parallel.
354
 // Control heater 0 and heater 1 in parallel.
321
 //#define HEATERS_PARALLEL
355
 //#define HEATERS_PARALLEL
322
 
356
 
324
 //=============================Buffers           ============================
358
 //=============================Buffers           ============================
325
 //===========================================================================
359
 //===========================================================================
326
 
360
 
361
+// @section hidden
362
+
327
 // The number of linear motions that can be in the plan at any give time.
363
 // The number of linear motions that can be in the plan at any give time.
328
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
364
 // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
329
 #ifdef SDSUPPORT
365
 #ifdef SDSUPPORT
332
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333
 #endif
369
 #endif
334
 
370
 
371
+// @section more
335
 
372
 
336
 //The ASCII buffer for receiving from the serial:
373
 //The ASCII buffer for receiving from the serial:
337
 #define MAX_CMD_SIZE 96
374
 #define MAX_CMD_SIZE 96
338
 #define BUFSIZE 4
375
 #define BUFSIZE 4
339
 
376
 
377
+// @section fwretract
340
 
378
 
341
 // Firmware based and LCD controlled retract
379
 // Firmware based and LCD controlled retract
342
 // M207 and M208 can be used to define parameters for the retraction.
380
 // M207 and M208 can be used to define parameters for the retraction.
373
  * you need to import the TMC26XStepper library into the arduino IDE for this
411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374
  ******************************************************************************/
412
  ******************************************************************************/
375
 
413
 
414
+// @section tmc
415
+
376
 //#define HAVE_TMCDRIVER
416
 //#define HAVE_TMCDRIVER
377
 #ifdef HAVE_TMCDRIVER
417
 #ifdef HAVE_TMCDRIVER
378
 
418
 
379
-//	#define X_IS_TMC
380
-	#define X_MAX_CURRENT 1000  //in mA
381
-	#define X_SENSE_RESISTOR 91 //in mOhms
382
-	#define X_MICROSTEPS 16     //number of microsteps
383
-	
384
-//	#define X2_IS_TMC
385
-	#define X2_MAX_CURRENT 1000  //in mA
386
-	#define X2_SENSE_RESISTOR 91 //in mOhms
387
-	#define X2_MICROSTEPS 16     //number of microsteps
388
-	
389
-//	#define Y_IS_TMC
390
-	#define Y_MAX_CURRENT 1000  //in mA
391
-	#define Y_SENSE_RESISTOR 91 //in mOhms
392
-	#define Y_MICROSTEPS 16     //number of microsteps
393
-	
394
-//	#define Y2_IS_TMC
395
-	#define Y2_MAX_CURRENT 1000  //in mA
396
-	#define Y2_SENSE_RESISTOR 91 //in mOhms
397
-	#define Y2_MICROSTEPS 16     //number of microsteps	
398
-	
399
-//	#define Z_IS_TMC
400
-	#define Z_MAX_CURRENT 1000  //in mA
401
-	#define Z_SENSE_RESISTOR 91 //in mOhms
402
-	#define Z_MICROSTEPS 16     //number of microsteps
403
-	
404
-//	#define Z2_IS_TMC
405
-	#define Z2_MAX_CURRENT 1000  //in mA
406
-	#define Z2_SENSE_RESISTOR 91 //in mOhms
407
-	#define Z2_MICROSTEPS 16     //number of microsteps
408
-	
409
-//	#define E0_IS_TMC
410
-	#define E0_MAX_CURRENT 1000  //in mA
411
-	#define E0_SENSE_RESISTOR 91 //in mOhms
412
-	#define E0_MICROSTEPS 16     //number of microsteps
413
-	
414
-//	#define E1_IS_TMC
415
-	#define E1_MAX_CURRENT 1000  //in mA
416
-	#define E1_SENSE_RESISTOR 91 //in mOhms
417
-	#define E1_MICROSTEPS 16     //number of microsteps	
418
-	
419
-//	#define E2_IS_TMC
420
-	#define E2_MAX_CURRENT 1000  //in mA
421
-	#define E2_SENSE_RESISTOR 91 //in mOhms
422
-	#define E2_MICROSTEPS 16     //number of microsteps	
423
-	
424
-//	#define E3_IS_TMC
425
-	#define E3_MAX_CURRENT 1000  //in mA
426
-	#define E3_SENSE_RESISTOR 91 //in mOhms
427
-	#define E3_MICROSTEPS 16     //number of microsteps		
419
+//  #define X_IS_TMC
420
+  #define X_MAX_CURRENT 1000  //in mA
421
+  #define X_SENSE_RESISTOR 91 //in mOhms
422
+  #define X_MICROSTEPS 16     //number of microsteps
423
+  
424
+//  #define X2_IS_TMC
425
+  #define X2_MAX_CURRENT 1000  //in mA
426
+  #define X2_SENSE_RESISTOR 91 //in mOhms
427
+  #define X2_MICROSTEPS 16     //number of microsteps
428
+  
429
+//  #define Y_IS_TMC
430
+  #define Y_MAX_CURRENT 1000  //in mA
431
+  #define Y_SENSE_RESISTOR 91 //in mOhms
432
+  #define Y_MICROSTEPS 16     //number of microsteps
433
+  
434
+//  #define Y2_IS_TMC
435
+  #define Y2_MAX_CURRENT 1000  //in mA
436
+  #define Y2_SENSE_RESISTOR 91 //in mOhms
437
+  #define Y2_MICROSTEPS 16     //number of microsteps 
438
+  
439
+//  #define Z_IS_TMC
440
+  #define Z_MAX_CURRENT 1000  //in mA
441
+  #define Z_SENSE_RESISTOR 91 //in mOhms
442
+  #define Z_MICROSTEPS 16     //number of microsteps
443
+  
444
+//  #define Z2_IS_TMC
445
+  #define Z2_MAX_CURRENT 1000  //in mA
446
+  #define Z2_SENSE_RESISTOR 91 //in mOhms
447
+  #define Z2_MICROSTEPS 16     //number of microsteps
448
+  
449
+//  #define E0_IS_TMC
450
+  #define E0_MAX_CURRENT 1000  //in mA
451
+  #define E0_SENSE_RESISTOR 91 //in mOhms
452
+  #define E0_MICROSTEPS 16     //number of microsteps
453
+  
454
+//  #define E1_IS_TMC
455
+  #define E1_MAX_CURRENT 1000  //in mA
456
+  #define E1_SENSE_RESISTOR 91 //in mOhms
457
+  #define E1_MICROSTEPS 16     //number of microsteps 
458
+  
459
+//  #define E2_IS_TMC
460
+  #define E2_MAX_CURRENT 1000  //in mA
461
+  #define E2_SENSE_RESISTOR 91 //in mOhms
462
+  #define E2_MICROSTEPS 16     //number of microsteps 
463
+  
464
+//  #define E3_IS_TMC
465
+  #define E3_MAX_CURRENT 1000  //in mA
466
+  #define E3_SENSE_RESISTOR 91 //in mOhms
467
+  #define E3_MICROSTEPS 16     //number of microsteps   
428
 
468
 
429
 #endif
469
 #endif
430
 
470
 
433
  * you need to import the L6470 library into the arduino IDE for this
473
  * you need to import the L6470 library into the arduino IDE for this
434
  ******************************************************************************/
474
  ******************************************************************************/
435
 
475
 
476
+// @section l6470
477
+
436
 //#define HAVE_L6470DRIVER
478
 //#define HAVE_L6470DRIVER
437
 #ifdef HAVE_L6470DRIVER
479
 #ifdef HAVE_L6470DRIVER
438
 
480
 
439
-//	#define X_IS_L6470
440
-	#define X_MICROSTEPS 16     //number of microsteps
441
-	#define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
442
-	#define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
443
-	#define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
444
-	
445
-//	#define X2_IS_L6470
446
-	#define X2_MICROSTEPS 16     //number of microsteps
447
-	#define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
448
-	#define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
449
-	#define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
450
-	
451
-//	#define Y_IS_L6470
452
-	#define Y_MICROSTEPS 16     //number of microsteps
453
-	#define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
454
-	#define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
455
-	#define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
456
-	
457
-//	#define Y2_IS_L6470
458
-	#define Y2_MICROSTEPS 16     //number of microsteps	
459
-	#define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
460
-	#define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
461
-	#define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall	
462
-	
463
-//	#define Z_IS_L6470
464
-	#define Z_MICROSTEPS 16     //number of microsteps
465
-	#define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
466
-	#define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
467
-	#define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
468
-	
469
-//	#define Z2_IS_L6470
470
-	#define Z2_MICROSTEPS 16     //number of microsteps
471
-	#define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
472
-	#define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
473
-	#define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
474
-	
475
-//	#define E0_IS_L6470
476
-	#define E0_MICROSTEPS 16     //number of microsteps
477
-	#define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
478
-	#define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
479
-	#define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
480
-	
481
-//	#define E1_IS_L6470
482
-	#define E1_MICROSTEPS 16     //number of microsteps	
483
-	#define E1_MICROSTEPS 16     //number of microsteps
484
-	#define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
485
-	#define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
486
-	#define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
487
-	
488
-//	#define E2_IS_L6470
489
-	#define E2_MICROSTEPS 16     //number of microsteps	
490
-	#define E2_MICROSTEPS 16     //number of microsteps
491
-	#define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
492
-	#define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
493
-	#define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
494
-	
495
-//	#define E3_IS_L6470
496
-	#define E3_MICROSTEPS 16     //number of microsteps		
497
-	#define E3_MICROSTEPS 16     //number of microsteps
498
-	#define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
499
-	#define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
500
-	#define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
501
-	
481
+//  #define X_IS_L6470
482
+  #define X_MICROSTEPS 16     //number of microsteps
483
+  #define X_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
484
+  #define X_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
485
+  #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall
486
+  
487
+//  #define X2_IS_L6470
488
+  #define X2_MICROSTEPS 16     //number of microsteps
489
+  #define X2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
490
+  #define X2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
491
+  #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
492
+  
493
+//  #define Y_IS_L6470
494
+  #define Y_MICROSTEPS 16     //number of microsteps
495
+  #define Y_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
496
+  #define Y_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
497
+  #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall
498
+  
499
+//  #define Y2_IS_L6470
500
+  #define Y2_MICROSTEPS 16     //number of microsteps 
501
+  #define Y2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
502
+  #define Y2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
503
+  #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall 
504
+  
505
+//  #define Z_IS_L6470
506
+  #define Z_MICROSTEPS 16     //number of microsteps
507
+  #define Z_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
508
+  #define Z_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
509
+  #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall
510
+  
511
+//  #define Z2_IS_L6470
512
+  #define Z2_MICROSTEPS 16     //number of microsteps
513
+  #define Z2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
514
+  #define Z2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
515
+  #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
516
+  
517
+//  #define E0_IS_L6470
518
+  #define E0_MICROSTEPS 16     //number of microsteps
519
+  #define E0_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
520
+  #define E0_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
521
+  #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall
522
+  
523
+//  #define E1_IS_L6470
524
+  #define E1_MICROSTEPS 16     //number of microsteps 
525
+  #define E1_MICROSTEPS 16     //number of microsteps
526
+  #define E1_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
527
+  #define E1_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
528
+  #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall
529
+  
530
+//  #define E2_IS_L6470
531
+  #define E2_MICROSTEPS 16     //number of microsteps 
532
+  #define E2_MICROSTEPS 16     //number of microsteps
533
+  #define E2_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
534
+  #define E2_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
535
+  #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall
536
+  
537
+//  #define E3_IS_L6470
538
+  #define E3_MICROSTEPS 16     //number of microsteps   
539
+  #define E3_MICROSTEPS 16     //number of microsteps
540
+  #define E3_K_VAL 50          // 0 - 255, Higher values, are higher power. Be carefull not to go too high    
541
+  #define E3_OVERCURRENT 2000  //maxc current in mA. If the current goes over this value, the driver will switch off
542
+  #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall
543
+  
502
 #endif
544
 #endif
503
 
545
 
504
 #include "Conditionals.h"
546
 #include "Conditionals.h"

+ 41
- 39
Marlin/pins_AZTEEG_X3_PRO.h View File

26
   #undef Z_MIN_PIN
26
   #undef Z_MIN_PIN
27
   #undef Z_MAX_PIN
27
   #undef Z_MAX_PIN
28
 
28
 
29
-  #define X_MIN_PIN           2
30
-  #define X_MAX_PIN           3
31
-  #define Y_MIN_PIN          15
32
-  #define Y_MAX_PIN          14
33
-  #define Z_MIN_PIN          19
34
-  #define Z_MAX_PIN          18
29
+  #define X_MIN_PIN         2
30
+  #define X_MAX_PIN         3
31
+  #define Y_MIN_PIN        15
32
+  #define Y_MAX_PIN        14
33
+  #define Z_MIN_PIN        19
34
+  #define Z_MAX_PIN        18
35
  #endif
35
  #endif
36
 //
36
 //
37
  #ifdef Z_PROBE_ENDSTOP
37
  #ifdef Z_PROBE_ENDSTOP
76
 //on a Delta with 1 servo. Running through the Z servo endstop in code. 
76
 //on a Delta with 1 servo. Running through the Z servo endstop in code. 
77
 //Physical wire attachment was done on EXT1 on the GND, 5V, and D47 pins.
77
 //Physical wire attachment was done on EXT1 on the GND, 5V, and D47 pins.
78
 //
78
 //
79
-#undef SERVO0_PIN
80
-#undef SERVO1_PIN
81
-#undef SERVO2_PIN
82
-#undef SERVO3_PIN
79
+ #undef SERVO0_PIN
80
+ #undef SERVO1_PIN
81
+ #undef SERVO2_PIN
82
+ #undef SERVO3_PIN
83
 
83
 
84
-#ifdef NUM_SERVOS
85
-  #define SERVO0_PIN         -1
86
-  #if NUM_SERVOS > 1
87
-    #define SERVO1_PIN       -1
88
-    #if NUM_SERVOS > 2
89
-      #define SERVO2_PIN     47
90
-      #if NUM_SERVOS > 3
91
-        #define SERVO3_PIN   -1
92
-      #endif
93
-    #endif
94
-  #endif
95
-#endif
84
+ #ifdef NUM_SERVOS
85
+   #define SERVO0_PIN       47
86
+   #if NUM_SERVOS > 1
87
+     #define SERVO1_PIN     -1
88
+     #if NUM_SERVOS > 2
89
+       #define SERVO2_PIN   -1
90
+       #if NUM_SERVOS > 3
91
+         #define SERVO3_PIN -1
92
+       #endif
93
+     #endif
94
+   #endif
95
+ #endif
96
 
96
 
97
 //LCD Pins//
97
 //LCD Pins//
98
 
98
 
99
-#if defined(VIKI2) || defined(miniVIKI)
100
- #define BEEPER 33
99
+ #if defined(VIKI2) || defined(miniVIKI)
100
+  #define BEEPER           33
101
  // Pins for DOGM SPI LCD Support
101
  // Pins for DOGM SPI LCD Support
102
- #define DOGLCD_A0  44
103
- #define DOGLCD_CS  45
104
- #define LCD_SCREEN_ROT_180
105
- 
102
+  #define DOGLCD_A0        44
103
+  #define DOGLCD_CS        45
104
+  #define LCD_SCREEN_ROT_180
105
+  
106
  //The encoder and click button
106
  //The encoder and click button
107
- #define BTN_EN1 22
108
- #define BTN_EN2 7
109
- #define BTN_ENC 39  //the click switch
110
-
111
- #define SDSS 53
112
- #define SDCARDDETECT 49
113
- 
114
- #define KILL_PIN 31
107
+  #define BTN_EN1          22
108
+  #define BTN_EN2           7
109
+  #define BTN_ENC          39  //the click switch
115
  
110
  
116
- #define STAT_LED_RED       32
117
- #define STAT_LED_BLUE      35
118
-#endif
111
+  #define SDSS             53
112
+  #define SDCARDDETECT     49
113
+  
114
+  #define KILL_PIN         31
115
+ #endif
116
+
117
+ #ifdef TEMP_STAT_LEDS
118
+  #define STAT_LED_RED     32
119
+  #define STAT_LED_BLUE    35
120
+ #endif

+ 4
- 0
Marlin/pins_RAMPS_13.h View File

40
 #define Y2_DIR_PIN         34
40
 #define Y2_DIR_PIN         34
41
 #define Y2_ENABLE_PIN      30
41
 #define Y2_ENABLE_PIN      30
42
 
42
 
43
+#undef Z2_STEP_PIN
44
+#undef Z2_DIR_PIN
45
+#undef Z2_ENABLE_PIN
46
+
43
 #define Z2_STEP_PIN        36
47
 #define Z2_STEP_PIN        36
44
 #define Z2_DIR_PIN         34
48
 #define Z2_DIR_PIN         34
45
 #define Z2_ENABLE_PIN      30
49
 #define Z2_ENABLE_PIN      30

+ 5
- 5
Marlin/stepper.cpp View File

105
   static bool old_z_max_endstop = false;
105
   static bool old_z_max_endstop = false;
106
 #endif
106
 #endif
107
 #ifdef Z_DUAL_ENDSTOPS
107
 #ifdef Z_DUAL_ENDSTOPS
108
-  #if HAS_Z2_MIN
108
+  // #if HAS_Z2_MIN
109
     static bool old_z2_min_endstop = false;
109
     static bool old_z2_min_endstop = false;
110
-  #endif
111
-  #if HAS_Z2_MAX
110
+  // #endif
111
+  // #if HAS_Z2_MAX
112
     static bool old_z2_max_endstop = false;
112
     static bool old_z2_max_endstop = false;
113
-  #endif
113
+  // #endif
114
 #endif
114
 #endif
115
 
115
 
116
 #ifdef Z_PROBE_ENDSTOP // No need to check for valid pin, SanityCheck.h already does this.
116
 #ifdef Z_PROBE_ENDSTOP // No need to check for valid pin, SanityCheck.h already does this.
117
-static bool old_z_probe_endstop = false;
117
+  static bool old_z_probe_endstop = false;
118
 #endif
118
 #endif
119
 
119
 
120
 static bool check_endstops = true;
120
 static bool check_endstops = true;

+ 1
- 1
Marlin/temperature.cpp View File

1525
     for (int i = 0; i < 4; i++) raw_temp_value[i] = 0;
1525
     for (int i = 0; i < 4; i++) raw_temp_value[i] = 0;
1526
     raw_temp_bed_value = 0;
1526
     raw_temp_bed_value = 0;
1527
 
1527
 
1528
-    #ifndef HEATER_0_USES_MAX6675
1528
+    #if HAS_TEMP_0 && !defined(HEATER_0_USES_MAX6675)
1529
       #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
1529
       #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
1530
         #define GE0 <=
1530
         #define GE0 <=
1531
       #else
1531
       #else

+ 15
- 10
Marlin/ultralcd.cpp View File

31
 typedef void (*menuFunc_t)();
31
 typedef void (*menuFunc_t)();
32
 
32
 
33
 uint8_t lcd_status_message_level;
33
 uint8_t lcd_status_message_level;
34
-char lcd_status_message[LCD_WIDTH+1] = WELCOME_MSG;
34
+char lcd_status_message[3*LCD_WIDTH+1] = WELCOME_MSG; // worst case is kana with up to 3*LCD_WIDTH+1
35
 
35
 
36
 #ifdef DOGLCD
36
 #ifdef DOGLCD
37
   #include "dogm_lcd_implementation.h"
37
   #include "dogm_lcd_implementation.h"
1402
 }
1402
 }
1403
 
1403
 
1404
 void lcd_finishstatus(bool persist=false) {
1404
 void lcd_finishstatus(bool persist=false) {
1405
-  int len = lcd_strlen(lcd_status_message);
1406
-  if (len > 0) {
1407
-    while (len < LCD_WIDTH) {
1408
-      lcd_status_message[len++] = ' ';
1409
-    }
1410
-  }
1411
-  lcd_status_message[LCD_WIDTH] = '\0';
1412
   #ifdef LCD_PROGRESS_BAR
1405
   #ifdef LCD_PROGRESS_BAR
1413
     progressBarTick = millis();
1406
     progressBarTick = millis();
1414
     #if PROGRESS_MSG_EXPIRE > 0
1407
     #if PROGRESS_MSG_EXPIRE > 0
1426
   void dontExpireStatus() { expireStatusMillis = 0; }
1419
   void dontExpireStatus() { expireStatusMillis = 0; }
1427
 #endif
1420
 #endif
1428
 
1421
 
1422
+void set_utf_strlen(char *s, uint8_t n) {
1423
+  uint8_t i = 0, j = 0;
1424
+  while (s[i] && (j < n)) {
1425
+    if ((s[i] & 0xc0u) != 0x80u) j++;
1426
+    i++;
1427
+  }
1428
+  while (j++ < n) s[i++] = ' ';
1429
+  s[i] = 0;
1430
+}
1431
+
1429
 void lcd_setstatus(const char* message, bool persist) {
1432
 void lcd_setstatus(const char* message, bool persist) {
1430
   if (lcd_status_message_level > 0) return;
1433
   if (lcd_status_message_level > 0) return;
1431
-  strncpy(lcd_status_message, message, LCD_WIDTH);
1434
+  strncpy(lcd_status_message, message, 3*LCD_WIDTH);
1435
+  set_utf_strlen(lcd_status_message, LCD_WIDTH);
1432
   lcd_finishstatus(persist);
1436
   lcd_finishstatus(persist);
1433
 }
1437
 }
1434
 
1438
 
1435
 void lcd_setstatuspgm(const char* message, uint8_t level) {
1439
 void lcd_setstatuspgm(const char* message, uint8_t level) {
1436
   if (level >= lcd_status_message_level) {
1440
   if (level >= lcd_status_message_level) {
1437
-    strncpy_P(lcd_status_message, message, LCD_WIDTH);
1441
+    strncpy_P(lcd_status_message, message, 3*LCD_WIDTH);
1442
+    set_utf_strlen(lcd_status_message, LCD_WIDTH);
1438
     lcd_status_message_level = level;
1443
     lcd_status_message_level = level;
1439
     lcd_finishstatus(level > 0);
1444
     lcd_finishstatus(level > 0);
1440
   }
1445
   }

Loading…
Cancel
Save