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

+ 156
- 114
Marlin/Configuration_adv.h View File

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,6 +186,8 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
@@ -181,8 +195,12 @@
181 195
 #define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 836
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 4
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

+ 14
- 16
Marlin/Marlin_main.cpp View File

@@ -203,7 +203,6 @@
203 203
 #endif
204 204
 
205 205
 float homing_feedrate[] = HOMING_FEEDRATE;
206
-int homing_bump_divisor[] = HOMING_BUMP_DIVISOR;
207 206
 bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
208 207
 int feedmultiply = 100; //100->1 200->2
209 208
 int saved_feedmultiply;
@@ -989,6 +988,15 @@ static void axis_is_at_home(int axis) {
989 988
 /**
990 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 1000
 inline void line_to_current_position() {
993 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,12 +1127,7 @@ inline void set_destination_to_current() { memcpy(destination, current_position,
1119 1127
       endstops_hit_on_purpose(); // clear endstop hit flags
1120 1128
 
1121 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 1132
       zPosition -= home_bump_mm(Z_AXIS) * 2;
1130 1133
       line_to_z(zPosition);
@@ -1437,7 +1440,7 @@ inline void set_destination_to_current() { memcpy(destination, current_position,
1437 1440
 
1438 1441
 #define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS)
1439 1442
 
1440
-static void homeaxis(int axis) {
1443
+static void homeaxis(AxisEnum axis) {
1441 1444
   #define HOMEAXIS_DO(LETTER) \
1442 1445
     ((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1))
1443 1446
 
@@ -1488,12 +1491,7 @@ static void homeaxis(int axis) {
1488 1491
     st_synchronize();
1489 1492
 
1490 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 1496
     // Move slowly towards the endstop until triggered
1499 1497
     destination[axis] = 2 * home_bump_mm(axis) * axis_home_dir;
@@ -1603,7 +1601,7 @@ static void homeaxis(int axis) {
1603 1601
     }
1604 1602
 
1605 1603
     feedrate = oldFeedrate;
1606
-    retracted[active_extruder] = retract;
1604
+    retracted[active_extruder] = retracting;
1607 1605
 
1608 1606
   } // retract()
1609 1607
 
@@ -2362,7 +2360,7 @@ inline void gcode_G28() {
2362 2360
             act = ProbeDeployAndStow;
2363 2361
           else if (yCount == 0 && xCount == 0)
2364 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 2364
             act = ProbeStow;
2367 2365
           else
2368 2366
             act = ProbeStay;

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

@@ -31,7 +31,7 @@ Here are some standard links for getting your machine calibrated:
31 31
 //===========================================================================
32 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 35
 // example_configurations/SCARA directory.
36 36
 //
37 37
 
@@ -65,7 +65,7 @@ Here are some standard links for getting your machine calibrated:
65 65
 // The following define selects which electronics board you have.
66 66
 // Please choose the name from boards.h that matches your setup
67 67
 #ifndef MOTHERBOARD
68
-  #define MOTHERBOARD BOARD_ULTIMAKER
68
+  #define MOTHERBOARD BOARD_RAMPS_13_EFB
69 69
 #endif
70 70
 
71 71
 // Define this to set a custom name for your generic Mendel,
@@ -79,10 +79,17 @@ Here are some standard links for getting your machine calibrated:
79 79
 // :[1,2,3,4]
80 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 88
 //// The following define selects which power supply you have. Please choose the one that matches your setup
83 89
 // 1 = ATX
84 90
 // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
85 91
 // :{1:'ATX',2:'X-Box 360'}
92
+
86 93
 #define POWER_SUPPLY 1
87 94
 
88 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,9 +138,9 @@ Here are some standard links for getting your machine calibrated:
131 138
 //     Use it for Testing or Development purposes. NEVER for production machine.
132 139
 //     #define DUMMY_THERMISTOR_998_VALUE 25
133 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 144
 #define TEMP_SENSOR_2 0
138 145
 #define TEMP_SENSOR_3 0
139 146
 #define TEMP_SENSOR_BED 0
@@ -327,6 +334,7 @@ your extruder heater takes 2 minutes to hit the target on heating.
327 334
   // #define ENDSTOPPULLUP_XMIN
328 335
   // #define ENDSTOPPULLUP_YMIN
329 336
   // #define ENDSTOPPULLUP_ZMIN
337
+  // #define ENDSTOPPULLUP_ZPROBE
330 338
 #endif
331 339
 
332 340
 // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@@ -336,10 +344,16 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o
336 344
 const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
337 345
 const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
338 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 348
 //#define DISABLE_MAX_ENDSTOPS
340 349
 //#define DISABLE_MIN_ENDSTOPS
341 350
 
342 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 358
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
345 359
 // :{0:'Low',1:'High'}
@@ -361,9 +375,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
361 375
 // @section machine
362 376
 
363 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 379
 #define INVERT_Y_DIR false
366
-#define INVERT_Z_DIR true
380
+#define INVERT_Z_DIR false
367 381
 
368 382
 // @section extruder
369 383
 
@@ -391,8 +405,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
391 405
 #define X_MIN_POS 0
392 406
 #define Y_MIN_POS 0
393 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 410
 #define Z_MAX_POS 200
397 411
 
398 412
 //===========================================================================
@@ -574,18 +588,13 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
574 588
 
575 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 599
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
591 600
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
@@ -618,20 +627,22 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
618 627
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
619 628
 //define this to enable EEPROM support
620 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 636
 // @section temperature
626 637
 
627 638
 // Preheat Constants
628 639
 #define PLA_PREHEAT_HOTEND_TEMP 180
629 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 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 647
 //==============================LCD and SD support=============================
637 648
 // @section lcd
@@ -639,7 +650,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
639 650
 // Define your display language below. Replace (en) with your language code and uncomment.
640 651
 // en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test
641 652
 // See also language.h
642
-//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
653
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
643 654
 
644 655
 // Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display.
645 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,7 +754,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
743 754
 // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
744 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 758
 //#define SF_ARC_FIX
748 759
 
749 760
 // Support for the BariCUDA Paste Extruder.
@@ -797,7 +808,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
797 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 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 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 814
 //#define FILAMENT_LCD_DISPLAY

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

@@ -192,7 +192,7 @@
192 192
 #define X_HOME_BUMP_MM 5
193 193
 #define Y_HOME_BUMP_MM 5
194 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 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 198
 // @section machine
@@ -312,6 +312,8 @@
312 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
314 314
 
315
+// @section lcd
316
+
315 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
316 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
317 319
 // does not respect endstops!
@@ -322,12 +324,14 @@
322 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
323 325
 #endif
324 326
 
327
+// @section extruder
328
+
325 329
 // extruder advance constant (s2/mm3)
326 330
 //
327 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
332 336
 //#define ADVANCE
333 337
 
@@ -335,7 +339,9 @@
335 339
   #define EXTRUDER_ADVANCE_K .0
336 340
   #define D_FILAMENT 2.85
337 341
   #define STEPS_MM_E 836
338
-#endif // ADVANCE
342
+#endif
343
+
344
+// @section extras
339 345
 
340 346
 // Arc interpretation settings:
341 347
 #define MM_PER_ARC_SEGMENT 1
@@ -368,7 +374,7 @@ const unsigned int dropsegments=5; //everything with less than this number of st
368 374
 #define MAX_CMD_SIZE 96
369 375
 #define BUFSIZE 4
370 376
 
371
-// @section extras
377
+// @section fwretract
372 378
 
373 379
 // Firmware based and LCD controlled retract
374 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -405,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
405 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
406 412
  ******************************************************************************/
407 413
 
414
+// @section tmc
415
+
408 416
 //#define HAVE_TMCDRIVER
409 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 469
 #endif
462 470
 
@@ -465,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
465 473
  * you need to import the L6470 library into the arduino IDE for this
466 474
  ******************************************************************************/
467 475
 
476
+// @section l6470
477
+
468 478
 //#define HAVE_L6470DRIVER
469 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 544
 #endif
535 545
 
536 546
 #include "Conditionals.h"

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

@@ -10,10 +10,11 @@
10 10
 #define BOARD_CHEAPTRONIC       2    // Cheaptronic v1.0
11 11
 #define BOARD_SETHI             20   // Sethi 3D_1
12 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 18
 #define BOARD_DUEMILANOVE_328P  4    // Duemilanove w/ ATMega328P pin assignments
18 19
 #define BOARD_GEN6              5    // Gen6
19 20
 #define BOARD_GEN6_DELUXE       51   // Gen6 deluxe
@@ -28,14 +29,15 @@
28 29
 #define BOARD_ULTIMAKER         7    // Ultimaker
29 30
 #define BOARD_ULTIMAKER_OLD     71   // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
30 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 34
 #define BOARD_TEENSYLU          8    // Teensylu
34 35
 #define BOARD_RUMBA             80   // Rumba
35 36
 #define BOARD_PRINTRBOARD       81   // Printrboard (AT90USB1286)
36 37
 #define BOARD_BRAINWAVE         82   // Brainwave (AT90USB646)
37 38
 #define BOARD_SAV_MKI           83   // SAV Mk-I (AT90USB1286)
38 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 41
 #define BOARD_GEN3_PLUS         9    // Gen3+
40 42
 #define BOARD_GEN3_MONOLITHIC   22   // Gen3 Monolithic Electronics
41 43
 #define BOARD_MEGATRONICS       70   // Megatronics
@@ -50,10 +52,11 @@
50 52
 #define BOARD_LEAPFROG          999  // Leapfrog
51 53
 #define BOARD_WITBOX            41   // bq WITBOX
52 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 58
 #define BOARD_99                99   // This is in pins.h but...?
55 59
 
56 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 62
 #endif //__BOARDS_H

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

@@ -11,28 +11,35 @@
11 11
 //
12 12
 //   ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h"
13 13
 //   ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS
14
+// See also documentation/LCDLanguageFont.md
14 15
 
15 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 34
 #ifndef LANGUAGE_INCLUDE
32 35
   // pick your language from the list above
33 36
   #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
34 37
 #endif
35 38
 
39
+#ifdef HAS_AUTOMATIC_VERSIONING
40
+  #include "_Version.h"
41
+#endif
42
+
36 43
 #define PROTOCOL_VERSION "1.0"
37 44
 
38 45
 #if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
@@ -56,18 +63,37 @@
56 63
 #elif MB(HEPHESTOS)
57 64
   #define MACHINE_NAME "HEPHESTOS"
58 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 75
 #endif
63 76
 
64 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 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 93
 #endif
68 94
 
69 95
 #ifndef MACHINE_UUID
70
-  #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
96
+   #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
71 97
 #endif
72 98
 
73 99
 
@@ -114,7 +140,7 @@
114 140
 #define MSG_HEATING_COMPLETE                "Heating done."
115 141
 #define MSG_BED_HEATING                     "Bed Heating."
116 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 144
 #define MSG_COUNT_X                         " Count X: "
119 145
 #define MSG_ERR_KILLED                      "Printer halted. kill() called!"
120 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,12 +148,15 @@
122 148
 #define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
123 149
 #define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
124 150
 #define MSG_INVALID_EXTRUDER                "Invalid extruder"
151
+#define MSG_INVALID_SOLENOID                "Invalid solenoid"
125 152
 #define MSG_X_MIN                           "x_min: "
126 153
 #define MSG_X_MAX                           "x_max: "
127 154
 #define MSG_Y_MIN                           "y_min: "
128 155
 #define MSG_Y_MAX                           "y_max: "
129 156
 #define MSG_Z_MIN                           "z_min: "
130 157
 #define MSG_Z_MAX                           "z_max: "
158
+#define MSG_Z2_MAX                          "z2_max: "
159
+#define MSG_Z_PROBE                         "z_probe: "
131 160
 #define MSG_M119_REPORT                     "Reporting endstop status"
132 161
 #define MSG_ENDSTOP_HIT                     "TRIGGERED"
133 162
 #define MSG_ENDSTOP_OPEN                    "open"
@@ -160,68 +189,48 @@
160 189
 
161 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 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 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 235
 #include LANGUAGE_INCLUDE
227 236
 #include "language_en.h"

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

@@ -30,6 +30,10 @@
30 30
         <label id="tipson"><input type="checkbox" checked /> ?</label>
31 31
         <a href="" class="download-all">Download Zip</a>
32 32
 
33
+        <fieldset id="info">
34
+          <legend>Info</legend>
35
+        </fieldset>
36
+
33 37
         <fieldset id="machine">
34 38
           <legend>Machine</legend>
35 39
 
@@ -84,12 +88,20 @@
84 88
           <legend>Bed Leveling</legend>
85 89
         </fieldset>
86 90
 
87
-        <fieldset id="extras">
88
-          <legend>Extras</legend>
91
+        <fieldset id="fwretract">
92
+          <legend>FW Retract</legend>
89 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 105
         </fieldset>
94 106
 
95 107
         <fieldset id="more">

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

@@ -397,7 +397,7 @@ window.configuratorApp = (function(){
397 397
      *   .count   number of items in the group
398 398
      */
399 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 401
       var match_prev, patt, title, nameList, groups = {}, match_section;
402 402
       $.each(define_list[cindex], function(i, name) {
403 403
         if (match_prev) {
@@ -458,7 +458,8 @@ window.configuratorApp = (function(){
458 458
                 break;
459 459
               case 'JAPAN':
460 460
               case 'WESTERN':
461
-                patt = '(JAPAN|WESTERN)';
461
+              case 'CYRILLIC':
462
+                patt = '(JAPAN|WESTERN|CYRILLIC)';
462 463
                 break;
463 464
               case 'XMIN':
464 465
               case 'XMAX':
@@ -1267,56 +1268,73 @@ window.configuratorApp = (function(){
1267 1268
         if (info.line.search(find) >= 0)
1268 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 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 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 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 1338
       else
1321 1339
         info = null;
1322 1340
 

+ 14
- 9
Marlin/dogm_lcd_implementation.h View File

@@ -186,6 +186,8 @@ char lcd_printPGM(const char* str) {
186 186
   return n;
187 187
 }
188 188
 
189
+static bool show_splashscreen = true;
190
+
189 191
 static void lcd_implementation_init()
190 192
 {
191 193
   #ifdef LCD_PIN_BL // Enable LCD backlight
@@ -219,16 +221,19 @@ static void lcd_implementation_init()
219 221
 
220 222
 	u8g.firstPage();
221 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 235
 	} while (u8g.nextPage());
236
+  show_splashscreen = false;
232 237
 }
233 238
 
234 239
 static void lcd_implementation_clear() { } // Automatically cleared by Picture Loop

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

@@ -563,9 +563,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
563 563
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
564 564
 //define this to enable EEPROM support
565 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 572
 // Preheat Constants
571 573
 #define PLA_PREHEAT_HOTEND_TEMP 180

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

@@ -550,9 +550,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
550 550
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
551 551
 //define this to enable EEPROM support
552 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 559
 // Preheat Constants
558 560
 #define PLA_PREHEAT_HOTEND_TEMP 180

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,15 +186,21 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
180 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 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 836
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 4
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

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

@@ -585,9 +585,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
585 585
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
586 586
 //define this to enable EEPROM support
587 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 594
 // Preheat Constants
593 595
 #define PLA_PREHEAT_HOTEND_TEMP 200

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 //#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,15 +186,21 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
180 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 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 100.47095761381482
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 5
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

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

@@ -591,9 +591,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
591 591
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
592 592
 //define this to enable EEPROM support
593 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 600
 // Preheat Constants
599 601
 #define PLA_PREHEAT_HOTEND_TEMP 190

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,15 +186,21 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
180 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 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 836
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 4
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

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

@@ -614,9 +614,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
614 614
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
615 615
 //define this to enable EEPROM support
616 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 623
 // Preheat Constants
622 624
 #define PLA_PREHEAT_HOTEND_TEMP 180

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 180.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,15 +186,21 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 3
179 193
 #define Y_HOME_BUMP_MM 3
180 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 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 10*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 #define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 1000
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 4
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

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

@@ -584,9 +584,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
584 584
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
585 585
 //define this to enable EEPROM support
586 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 593
 // Preheat Constants
592 594
 #define PLA_PREHEAT_HOTEND_TEMP 200

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 //#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,15 +186,21 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
180 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 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60}  // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 100.47095761381482
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 5
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

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

@@ -631,9 +631,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
631 631
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
632 632
 //define this to enable EEPROM support
633 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 640
 // Preheat Constants
639 641
 #define PLA_PREHEAT_HOTEND_TEMP 180

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,6 +186,8 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
@@ -181,8 +195,12 @@
181 195
 #define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -242,6 +264,8 @@
242 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 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 269
 #ifdef SDSUPPORT
246 270
 
247 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,6 +298,8 @@
274 298
 
275 299
 #endif // SDSUPPORT
276 300
 
301
+// @section more
302
+
277 303
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
278 304
 //#define USE_WATCHDOG
279 305
 
@@ -287,6 +313,8 @@
287 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 314
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
289 315
 
316
+// @section lcd
317
+
290 318
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
291 319
 // it can e.g. be used to change z-positions in the print startup phase in real-time
292 320
 // does not respect endstops!
@@ -297,12 +325,14 @@
297 325
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
298 326
 #endif
299 327
 
328
+// @section extruder
329
+
300 330
 // extruder advance constant (s2/mm3)
301 331
 //
302 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 336
 // so: v ^ 2 is proportional to number of steps we advance the extruder
307 337
 //#define ADVANCE
308 338
 
@@ -312,12 +342,16 @@
312 342
   #define STEPS_MM_E 836
313 343
 #endif
314 344
 
345
+// @section extras
346
+
315 347
 // Arc interpretation settings:
316 348
 #define MM_PER_ARC_SEGMENT 1
317 349
 #define N_ARC_CORRECTION 25
318 350
 
319 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 355
 // Control heater 0 and heater 1 in parallel.
322 356
 //#define HEATERS_PARALLEL
323 357
 
@@ -325,6 +359,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
325 359
 //=============================Buffers           ============================
326 360
 //===========================================================================
327 361
 
362
+// @section hidden
363
+
328 364
 // The number of linear motions that can be in the plan at any give time.
329 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 366
 #ifdef SDSUPPORT
@@ -333,11 +369,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
333 369
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
334 370
 #endif
335 371
 
372
+// @section more
336 373
 
337 374
 //The ASCII buffer for receiving from the serial:
338 375
 #define MAX_CMD_SIZE 96
339 376
 #define BUFSIZE 4
340 377
 
378
+// @section fwretract
341 379
 
342 380
 // Firmware based and LCD controlled retract
343 381
 // M207 and M208 can be used to define parameters for the retraction.
@@ -374,58 +412,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
374 412
  * you need to import the TMC26XStepper library into the arduino IDE for this
375 413
  ******************************************************************************/
376 414
 
415
+// @section tmc
416
+
377 417
 //#define HAVE_TMCDRIVER
378 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 470
 #endif
431 471
 
@@ -434,72 +474,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
434 474
  * you need to import the L6470 library into the arduino IDE for this
435 475
  ******************************************************************************/
436 476
 
477
+// @section l6470
478
+
437 479
 //#define HAVE_L6470DRIVER
438 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 545
 #endif
504 546
 
505 547
 #include "Conditionals.h"

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

@@ -635,9 +635,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
635 635
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
636 636
 //define this to enable EEPROM support
637 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 644
 // Preheat Constants
643 645
 #define PLA_PREHEAT_HOTEND_TEMP 180

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,6 +186,8 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
@@ -181,8 +195,12 @@
181 195
 #define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
182 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 836
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 4
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

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

@@ -582,9 +582,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
582 582
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
583 583
 //define this to enable EEPROM support
584 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 591
 // Preheat Constants
590 592
 #define PLA_PREHEAT_HOTEND_TEMP 180

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,15 +186,21 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
180 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 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 836
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 4
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

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

@@ -588,9 +588,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
588 588
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
589 589
 //define this to enable EEPROM support
590 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 597
 // Preheat Constants
596 598
 #define PLA_PREHEAT_HOTEND_TEMP 180

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

@@ -3,6 +3,8 @@
3 3
 
4 4
 #include "Conditionals.h"
5 5
 
6
+// @section temperature
7
+
6 8
 //===========================================================================
7 9
 //=============================Thermal Settings  ============================
8 10
 //===========================================================================
@@ -46,6 +48,8 @@
46 48
 //The M105 command return, besides traditional information, the ADC value read from temperature sensors.
47 49
 //#define SHOW_TEMP_ADC_VALUES
48 50
 
51
+// @section extruder
52
+
49 53
 //  extruder run-out prevention.
50 54
 //if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
51 55
 //#define EXTRUDER_RUNOUT_PREVENT
@@ -55,6 +59,8 @@
55 59
 #define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
56 60
 #define EXTRUDER_RUNOUT_EXTRUDE 100
57 61
 
62
+// @section temperature
63
+
58 64
 //These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
59 65
 //The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
60 66
 #define TEMP_SENSOR_AD595_OFFSET 0.0
@@ -72,6 +78,8 @@
72 78
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
73 79
 //#define FAN_KICKSTART_TIME 100
74 80
 
81
+// @section extruder
82
+
75 83
 // Extruder cooling fans
76 84
 // Configure fan pin outputs to automatically turn on/off when the associated
77 85
 // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
@@ -89,8 +97,12 @@
89 97
 //=============================Mechanical Settings===========================
90 98
 //===========================================================================
91 99
 
100
+// @section homing
101
+
92 102
 #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
93 103
 
104
+// @section extras
105
+
94 106
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
95 107
 
96 108
 // A single Z stepper driver is usually used to drive 2 stepper motors.
@@ -174,15 +186,21 @@
174 186
 
175 187
 #endif //DUAL_X_CARRIAGE
176 188
 
189
+// @section homing
190
+
177 191
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
178 192
 #define X_HOME_BUMP_MM 5
179 193
 #define Y_HOME_BUMP_MM 5
180 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 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 200
 #define AXIS_RELATIVE_MODES {false, false, false, false}
185 201
 
202
+// @section machine
203
+
186 204
 //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
187 205
 #define INVERT_X_STEP_PIN false
188 206
 #define INVERT_Y_STEP_PIN false
@@ -195,11 +213,15 @@
195 213
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 214
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 215
 
216
+// @section lcd
217
+
198 218
 #ifdef ULTIPANEL
199 219
   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
200 220
   #define ULTIPANEL_FEEDMULTIPLY  // Comment to disable setting feedrate multiplier via encoder
201 221
 #endif
202 222
 
223
+// @section extras
224
+
203 225
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
204 226
 #define DEFAULT_MINSEGMENTTIME        20000
205 227
 
@@ -241,6 +263,8 @@
241 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 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 268
 #ifdef SDSUPPORT
245 269
 
246 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,6 +297,8 @@
273 297
 
274 298
 #endif // SDSUPPORT
275 299
 
300
+// @section more
301
+
276 302
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
277 303
 //#define USE_WATCHDOG
278 304
 
@@ -286,6 +312,8 @@
286 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 313
 //#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
288 314
 
315
+// @section lcd
316
+
289 317
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
290 318
 // it can e.g. be used to change z-positions in the print startup phase in real-time
291 319
 // does not respect endstops!
@@ -296,12 +324,14 @@
296 324
   #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
297 325
 #endif
298 326
 
327
+// @section extruder
328
+
299 329
 // extruder advance constant (s2/mm3)
300 330
 //
301 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 335
 // so: v ^ 2 is proportional to number of steps we advance the extruder
306 336
 //#define ADVANCE
307 337
 
@@ -311,12 +341,16 @@
311 341
   #define STEPS_MM_E 836
312 342
 #endif
313 343
 
344
+// @section extras
345
+
314 346
 // Arc interpretation settings:
315 347
 #define MM_PER_ARC_SEGMENT 1
316 348
 #define N_ARC_CORRECTION 25
317 349
 
318 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 354
 // Control heater 0 and heater 1 in parallel.
321 355
 //#define HEATERS_PARALLEL
322 356
 
@@ -324,6 +358,8 @@ const unsigned int dropsegments=5; //everything with less than this number of st
324 358
 //=============================Buffers           ============================
325 359
 //===========================================================================
326 360
 
361
+// @section hidden
362
+
327 363
 // The number of linear motions that can be in the plan at any give time.
328 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 365
 #ifdef SDSUPPORT
@@ -332,11 +368,13 @@ const unsigned int dropsegments=5; //everything with less than this number of st
332 368
   #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
333 369
 #endif
334 370
 
371
+// @section more
335 372
 
336 373
 //The ASCII buffer for receiving from the serial:
337 374
 #define MAX_CMD_SIZE 96
338 375
 #define BUFSIZE 4
339 376
 
377
+// @section fwretract
340 378
 
341 379
 // Firmware based and LCD controlled retract
342 380
 // M207 and M208 can be used to define parameters for the retraction.
@@ -373,58 +411,60 @@ const unsigned int dropsegments=5; //everything with less than this number of st
373 411
  * you need to import the TMC26XStepper library into the arduino IDE for this
374 412
  ******************************************************************************/
375 413
 
414
+// @section tmc
415
+
376 416
 //#define HAVE_TMCDRIVER
377 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 469
 #endif
430 470
 
@@ -433,72 +473,74 @@ const unsigned int dropsegments=5; //everything with less than this number of st
433 473
  * you need to import the L6470 library into the arduino IDE for this
434 474
  ******************************************************************************/
435 475
 
476
+// @section l6470
477
+
436 478
 //#define HAVE_L6470DRIVER
437 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 544
 #endif
503 545
 
504 546
 #include "Conditionals.h"

+ 41
- 39
Marlin/pins_AZTEEG_X3_PRO.h View File

@@ -26,12 +26,12 @@
26 26
   #undef Z_MIN_PIN
27 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 35
  #endif
36 36
 //
37 37
  #ifdef Z_PROBE_ENDSTOP
@@ -76,43 +76,45 @@
76 76
 //on a Delta with 1 servo. Running through the Z servo endstop in code. 
77 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 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 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 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,6 +40,10 @@
40 40
 #define Y2_DIR_PIN         34
41 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 47
 #define Z2_STEP_PIN        36
44 48
 #define Z2_DIR_PIN         34
45 49
 #define Z2_ENABLE_PIN      30

+ 5
- 5
Marlin/stepper.cpp View File

@@ -105,16 +105,16 @@ static volatile bool endstop_z_probe_hit = false; // Leaving this in even if Z_P
105 105
   static bool old_z_max_endstop = false;
106 106
 #endif
107 107
 #ifdef Z_DUAL_ENDSTOPS
108
-  #if HAS_Z2_MIN
108
+  // #if HAS_Z2_MIN
109 109
     static bool old_z2_min_endstop = false;
110
-  #endif
111
-  #if HAS_Z2_MAX
110
+  // #endif
111
+  // #if HAS_Z2_MAX
112 112
     static bool old_z2_max_endstop = false;
113
-  #endif
113
+  // #endif
114 114
 #endif
115 115
 
116 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 118
 #endif
119 119
 
120 120
 static bool check_endstops = true;

+ 1
- 1
Marlin/temperature.cpp View File

@@ -1525,7 +1525,7 @@ ISR(TIMER0_COMPB_vect) {
1525 1525
     for (int i = 0; i < 4; i++) raw_temp_value[i] = 0;
1526 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 1529
       #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
1530 1530
         #define GE0 <=
1531 1531
       #else

+ 15
- 10
Marlin/ultralcd.cpp View File

@@ -31,7 +31,7 @@ int absPreheatFanSpeed;
31 31
 typedef void (*menuFunc_t)();
32 32
 
33 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 36
 #ifdef DOGLCD
37 37
   #include "dogm_lcd_implementation.h"
@@ -1402,13 +1402,6 @@ void lcd_ignore_click(bool b) {
1402 1402
 }
1403 1403
 
1404 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 1405
   #ifdef LCD_PROGRESS_BAR
1413 1406
     progressBarTick = millis();
1414 1407
     #if PROGRESS_MSG_EXPIRE > 0
@@ -1426,15 +1419,27 @@ void lcd_finishstatus(bool persist=false) {
1426 1419
   void dontExpireStatus() { expireStatusMillis = 0; }
1427 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 1432
 void lcd_setstatus(const char* message, bool persist) {
1430 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 1436
   lcd_finishstatus(persist);
1433 1437
 }
1434 1438
 
1435 1439
 void lcd_setstatuspgm(const char* message, uint8_t level) {
1436 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 1443
     lcd_status_message_level = level;
1439 1444
     lcd_finishstatus(level > 0);
1440 1445
   }

Loading…
Cancel
Save