Quellcode durchsuchen

Merge remote-tracking branch 'remotes/upstream/Development' into Development

Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
domonoky vor 10 Jahren
Ursprung
Commit
d813090d90

+ 22
- 0
Documentation/GCodes.md Datei anzeigen

101
 *  M908 - Control digital trimpot directly.
101
 *  M908 - Control digital trimpot directly.
102
 *  M928 - Start SD logging (M928 filename.g) - ended by M29
102
 *  M928 - Start SD logging (M928 filename.g) - ended by M29
103
 *  M999 - Restart after being stopped by error
103
 *  M999 - Restart after being stopped by error
104
+
105
+# Comments
106
+
107
+Comments start at a `;` (semicolon) and end with the end of the line:
108
+
109
+    N3 T0*57 ; This is a comment
110
+    N4 G92 E0*67
111
+    ; So is this
112
+    N5 G28*22
113
+
114
+(example taken from the [RepRap wiki](http://reprap.org/wiki/Gcode#Comments))
115
+
116
+If you need to use a literal `;` somewhere (for example within `M117`), you can escape semicolons with a `\`
117
+(backslash):
118
+
119
+     M117 Hello \;)
120
+
121
+`\` can also be used to escape `\` itself, if you need a literal `\` in front of a `;`:
122
+
123
+    M117 backslash: \\;and a comment
124
+
125
+Please note that hosts should strip any comments before sending GCODE to the printer in order to save bandwidth.

+ 30
- 52
Marlin/Configuration.h Datei anzeigen

8
 //===========================================================================
8
 //===========================================================================
9
 /*
9
 /*
10
 Here are some standard links for getting your machine calibrated:
10
 Here are some standard links for getting your machine calibrated:
11
- * http://reprap.org/wiki/Calibration 
11
+ * http://reprap.org/wiki/Calibration
12
  * http://youtu.be/wAL9d7FgInk
12
  * http://youtu.be/wAL9d7FgInk
13
  * http://calculator.josefprusa.cz
13
  * http://calculator.josefprusa.cz
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
295
 //============================= Mechanical Settings =========================
295
 //============================= Mechanical Settings =========================
296
 //===========================================================================
296
 //===========================================================================
297
 
297
 
298
-// Uncomment the following line to enable CoreXY kinematics
298
+// Uncomment this option to enable CoreXY kinematics
299
 // #define COREXY
299
 // #define COREXY
300
 
300
 
301
+// Enable this option for Toshiba steppers
302
+// #define CONFIG_STEPPERS_TOSHIBA
303
+
301
 // coarse Endstop Settings
304
 // coarse Endstop Settings
302
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
305
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
303
 
306
 
382
 
385
 
383
 #ifdef ENABLE_AUTO_BED_LEVELING
386
 #ifdef ENABLE_AUTO_BED_LEVELING
384
 
387
 
385
-// There are 2 different ways to pick the X and Y locations to probe:
386
-
387
-//  - "grid" mode
388
-//    Probe every point in a rectangular grid
389
-//    You must specify the rectangle, and the density of sample points
390
-//    This mode is preferred because there are more measurements.
391
-//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
392
-
393
-//  - "3-point" mode
394
-//    Probe 3 arbitrary points on the bed (that aren't colinear)
395
-//    You must specify the X & Y coordinates of all 3 points
396
-
388
+  // There are 2 different ways to specify probing locations
389
+  //
390
+  // - "grid" mode
391
+  //   Probe several points in a rectangular grid.
392
+  //   You specify the rectangle and the density of sample points.
393
+  //   This mode is preferred because there are more measurements.
394
+  //
395
+  // - "3-point" mode
396
+  //   Probe 3 arbitrary points on the bed (that aren't colinear)
397
+  //   You specify the XY coordinates of all 3 points.
398
+
399
+  // Enable this to sample the bed in a grid (least squares solution)
400
+  // Note: this feature generates 10KB extra code size
397
   #define AUTO_BED_LEVELING_GRID
401
   #define AUTO_BED_LEVELING_GRID
398
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
399
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
400
-  // and least squares solution is calculated
401
-  // Note: this feature occupies 10'206 byte
402
+
402
   #ifdef AUTO_BED_LEVELING_GRID
403
   #ifdef AUTO_BED_LEVELING_GRID
403
 
404
 
404
-    // set the rectangle in which to probe
405
+    // The edges of the rectangle in which to probe
405
     #define LEFT_PROBE_BED_POSITION 15
406
     #define LEFT_PROBE_BED_POSITION 15
406
     #define RIGHT_PROBE_BED_POSITION 170
407
     #define RIGHT_PROBE_BED_POSITION 170
407
-    #define BACK_PROBE_BED_POSITION 180
408
     #define FRONT_PROBE_BED_POSITION 20
408
     #define FRONT_PROBE_BED_POSITION 20
409
+    #define BACK_PROBE_BED_POSITION 170
409
 
410
 
410
-     // set the number of grid points per dimension
411
-     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
411
+    // Set the number of grid points per dimension
412
+    // You probably don't need more than 3 (squared=9)
412
     #define AUTO_BED_LEVELING_GRID_POINTS 2
413
     #define AUTO_BED_LEVELING_GRID_POINTS 2
413
 
414
 
414
 
415
 
415
-  #else  // not AUTO_BED_LEVELING_GRID
416
-    // with no grid, just probe 3 arbitrary points.  A simple cross-product
417
-    // is used to esimate the plane of the print bed
416
+  #else  // !AUTO_BED_LEVELING_GRID
418
 
417
 
418
+      // Arbitrary points to probe. A simple cross-product
419
+      // is used to estimate the plane of the bed.
419
       #define ABL_PROBE_PT_1_X 15
420
       #define ABL_PROBE_PT_1_X 15
420
       #define ABL_PROBE_PT_1_Y 180
421
       #define ABL_PROBE_PT_1_Y 180
421
       #define ABL_PROBE_PT_2_X 15
422
       #define ABL_PROBE_PT_2_X 15
426
   #endif // AUTO_BED_LEVELING_GRID
427
   #endif // AUTO_BED_LEVELING_GRID
427
 
428
 
428
 
429
 
429
-  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
430
+  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
430
   // X and Y offsets must be integers
431
   // X and Y offsets must be integers
431
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
432
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
433
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
432
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // -left  +right
433
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // -front +behind
434
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
434
 
435
 
435
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
436
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
436
                                         // Be sure you have this distance over your Z_MAX_POS in case
437
                                         // Be sure you have this distance over your Z_MAX_POS in case
467
 
468
 
468
   #endif
469
   #endif
469
 
470
 
470
-  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
471
-    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
472
-      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
473
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
474
-	  #endif
475
-	#else
476
-      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
477
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
478
-	  #endif
479
-	#endif
480
-    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
481
-      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
482
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
483
-	  #endif
484
-	#else
485
-      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
486
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
487
-	  #endif
488
-	#endif
489
-
490
-	
491
-  #endif
492
-  
493
 #endif // ENABLE_AUTO_BED_LEVELING
471
 #endif // ENABLE_AUTO_BED_LEVELING
494
 
472
 
495
 
473
 

+ 13
- 13
Marlin/Marlin.h Datei anzeigen

23
 #include "pins.h"
23
 #include "pins.h"
24
 
24
 
25
 #ifndef AT90USB
25
 #ifndef AT90USB
26
-#define  HardwareSerial_h // trick to disable the standard HWserial
26
+  #define  HardwareSerial_h // trick to disable the standard HWserial
27
 #endif
27
 #endif
28
 
28
 
29
 #if (ARDUINO >= 100)
29
 #if (ARDUINO >= 100)
30
-# include "Arduino.h"
30
+  #include "Arduino.h"
31
 #else
31
 #else
32
-# include "WProgram.h"
32
+  #include "WProgram.h"
33
 #endif
33
 #endif
34
 
34
 
35
 // Arduino < 1.0.0 does not define this, so we need to do it ourselves
35
 // Arduino < 1.0.0 does not define this, so we need to do it ourselves
36
 #ifndef analogInputToDigitalPin
36
 #ifndef analogInputToDigitalPin
37
-# define analogInputToDigitalPin(p) ((p) + 0xA0)
37
+  #define analogInputToDigitalPin(p) ((p) + 0xA0)
38
 #endif
38
 #endif
39
 
39
 
40
 #ifdef AT90USB
40
 #ifdef AT90USB
41
-#include "HardwareSerial.h"
41
+  #include "HardwareSerial.h"
42
 #endif
42
 #endif
43
 
43
 
44
 #include "MarlinSerial.h"
44
 #include "MarlinSerial.h"
45
 
45
 
46
 #ifndef cbi
46
 #ifndef cbi
47
-#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
47
+  #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
48
 #endif
48
 #endif
49
 #ifndef sbi
49
 #ifndef sbi
50
-#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
50
+  #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
51
 #endif
51
 #endif
52
 
52
 
53
 #include "WString.h"
53
 #include "WString.h"
54
 
54
 
55
 #ifdef AT90USB
55
 #ifdef AT90USB
56
-   #ifdef BTENABLED
57
-         #define MYSERIAL bt
58
-   #else
59
-         #define MYSERIAL Serial
60
-   #endif // BTENABLED
56
+  #ifdef BTENABLED
57
+    #define MYSERIAL bt
58
+  #else
59
+    #define MYSERIAL Serial
60
+  #endif // BTENABLED
61
 #else
61
 #else
62
   #define MYSERIAL MSerial
62
   #define MYSERIAL MSerial
63
 #endif
63
 #endif
86
 
86
 
87
 #define SERIAL_ECHOPAIR(name,value) (serial_echopair_P(PSTR(name),(value)))
87
 #define SERIAL_ECHOPAIR(name,value) (serial_echopair_P(PSTR(name),(value)))
88
 
88
 
89
-#define SERIAL_EOL SERIAL_ECHOLN("")
89
+#define SERIAL_EOL MYSERIAL.write('\n')
90
 
90
 
91
 void serial_echopair_P(const char *s_P, float v);
91
 void serial_echopair_P(const char *s_P, float v);
92
 void serial_echopair_P(const char *s_P, double v);
92
 void serial_echopair_P(const char *s_P, double v);

+ 3272
- 2488
Marlin/Marlin_main.cpp
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 1
- 2
Marlin/cardreader.cpp Datei anzeigen

22
   autostart_index = 0;
22
   autostart_index = 0;
23
   //power to SD reader
23
   //power to SD reader
24
   #if SDPOWER > -1
24
   #if SDPOWER > -1
25
-    SET_OUTPUT(SDPOWER);
26
-    WRITE(SDPOWER, HIGH);
25
+    OUT_WRITE(SDPOWER, HIGH);
27
   #endif //SDPOWER
26
   #endif //SDPOWER
28
 
27
 
29
   autostart_atmillis = millis() + 5000;
28
   autostart_atmillis = millis() + 5000;

+ 7
- 11
Marlin/dogm_lcd_implementation.h Datei anzeigen

21
 **/
21
 **/
22
 
22
 
23
 #ifdef ULTIPANEL
23
 #ifdef ULTIPANEL
24
-#define BLEN_A 0
25
-#define BLEN_B 1
26
-#define BLEN_C 2
27
-#define EN_A (1<<BLEN_A)
28
-#define EN_B (1<<BLEN_B)
29
-#define EN_C (1<<BLEN_C)
30
-#define encrot0 0
31
-#define encrot1 2
32
-#define encrot2 3
33
-#define encrot3 1
34
-#define LCD_CLICKED (buttons&EN_C)
24
+  #define BLEN_A 0
25
+  #define BLEN_B 1
26
+  #define BLEN_C 2
27
+  #define EN_A (1<<BLEN_A)
28
+  #define EN_B (1<<BLEN_B)
29
+  #define EN_C (1<<BLEN_C)
30
+  #define LCD_CLICKED (buttons&EN_C)
35
 #endif
31
 #endif
36
 
32
 
37
 #include <U8glib.h>
33
 #include <U8glib.h>

+ 46
- 64
Marlin/example_configurations/Hephestos/Configuration.h Datei anzeigen

82
 // #define PS_DEFAULT_OFF
82
 // #define PS_DEFAULT_OFF
83
 
83
 
84
 //===========================================================================
84
 //===========================================================================
85
-//============================= Thermal Settings  ============================
85
+//============================= Thermal Settings ============================
86
 //===========================================================================
86
 //===========================================================================
87
 //
87
 //
88
 //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
88
 //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
118
 // 1010 is Pt1000 with 1k pullup (non standard)
118
 // 1010 is Pt1000 with 1k pullup (non standard)
119
 // 147 is Pt100 with 4k7 pullup
119
 // 147 is Pt100 with 4k7 pullup
120
 // 110 is Pt100 with 1k pullup (non standard)
120
 // 110 is Pt100 with 1k pullup (non standard)
121
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. 
122
+//     Use it for Testing or Development purposes. NEVER for production machine.
123
+//     #define DUMMY_THERMISTOR_998_VALUE 25
124
+//     #define DUMMY_THERMISTOR_999_VALUE 100
121
 
125
 
122
 #define TEMP_SENSOR_0 1
126
 #define TEMP_SENSOR_0 1
123
 #define TEMP_SENSOR_1 0
127
 #define TEMP_SENSOR_1 0
297
 //============================= Mechanical Settings =========================
301
 //============================= Mechanical Settings =========================
298
 //===========================================================================
302
 //===========================================================================
299
 
303
 
300
-// Uncomment the following line to enable CoreXY kinematics
304
+// Uncomment this option to enable CoreXY kinematics
301
 // #define COREXY
305
 // #define COREXY
302
 
306
 
307
+// Enable this option for Toshiba steppers
308
+// #define CONFIG_STEPPERS_TOSHIBA
309
+
303
 // coarse Endstop Settings
310
 // coarse Endstop Settings
304
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
311
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
305
 
312
 
332
 //#define DISABLE_MAX_ENDSTOPS
339
 //#define DISABLE_MAX_ENDSTOPS
333
 //#define DISABLE_MIN_ENDSTOPS
340
 //#define DISABLE_MIN_ENDSTOPS
334
 
341
 
335
-// Disable max endstops for compatibility with endstop checking routine
336
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
337
-  #define DISABLE_MAX_ENDSTOPS
338
-#endif
339
-
340
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
342
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
341
 #define X_ENABLE_ON 0
343
 #define X_ENABLE_ON 0
342
 #define Y_ENABLE_ON 0
344
 #define Y_ENABLE_ON 0
389
 
391
 
390
 #ifdef ENABLE_AUTO_BED_LEVELING
392
 #ifdef ENABLE_AUTO_BED_LEVELING
391
 
393
 
392
-// There are 2 different ways to pick the X and Y locations to probe:
393
-
394
-//  - "grid" mode
395
-//    Probe every point in a rectangular grid
396
-//    You must specify the rectangle, and the density of sample points
397
-//    This mode is preferred because there are more measurements.
398
-//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
399
-
400
-//  - "3-point" mode
401
-//    Probe 3 arbitrary points on the bed (that aren't colinear)
402
-//    You must specify the X & Y coordinates of all 3 points
403
-
394
+  // There are 2 different ways to specify probing locations
395
+  //
396
+  // - "grid" mode
397
+  //   Probe several points in a rectangular grid.
398
+  //   You specify the rectangle and the density of sample points.
399
+  //   This mode is preferred because there are more measurements.
400
+  //
401
+  // - "3-point" mode
402
+  //   Probe 3 arbitrary points on the bed (that aren't colinear)
403
+  //   You specify the XY coordinates of all 3 points.
404
+
405
+  // Enable this to sample the bed in a grid (least squares solution)
406
+  // Note: this feature generates 10KB extra code size
404
   #define AUTO_BED_LEVELING_GRID
407
   #define AUTO_BED_LEVELING_GRID
405
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
406
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
407
-  // and least squares solution is calculated
408
-  // Note: this feature occupies 10'206 byte
408
+
409
   #ifdef AUTO_BED_LEVELING_GRID
409
   #ifdef AUTO_BED_LEVELING_GRID
410
 
410
 
411
-    // set the rectangle in which to probe
411
+    // The edges of the rectangle in which to probe
412
     #define LEFT_PROBE_BED_POSITION 15
412
     #define LEFT_PROBE_BED_POSITION 15
413
     #define RIGHT_PROBE_BED_POSITION 170
413
     #define RIGHT_PROBE_BED_POSITION 170
414
-    #define BACK_PROBE_BED_POSITION 180
415
     #define FRONT_PROBE_BED_POSITION 20
414
     #define FRONT_PROBE_BED_POSITION 20
415
+    #define BACK_PROBE_BED_POSITION 170
416
 
416
 
417
-     // set the number of grid points per dimension
418
-     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
417
+    // Set the number of grid points per dimension
418
+    // You probably don't need more than 3 (squared=9)
419
     #define AUTO_BED_LEVELING_GRID_POINTS 2
419
     #define AUTO_BED_LEVELING_GRID_POINTS 2
420
 
420
 
421
 
421
 
422
-  #else  // not AUTO_BED_LEVELING_GRID
423
-    // with no grid, just probe 3 arbitrary points.  A simple cross-product
424
-    // is used to esimate the plane of the print bed
422
+  #else  // !AUTO_BED_LEVELING_GRID
425
 
423
 
424
+      // Arbitrary points to probe. A simple cross-product
425
+      // is used to estimate the plane of the bed.
426
       #define ABL_PROBE_PT_1_X 15
426
       #define ABL_PROBE_PT_1_X 15
427
       #define ABL_PROBE_PT_1_Y 180
427
       #define ABL_PROBE_PT_1_Y 180
428
       #define ABL_PROBE_PT_2_X 15
428
       #define ABL_PROBE_PT_2_X 15
433
   #endif // AUTO_BED_LEVELING_GRID
433
   #endif // AUTO_BED_LEVELING_GRID
434
 
434
 
435
 
435
 
436
-  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
436
+  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
437
   // X and Y offsets must be integers
437
   // X and Y offsets must be integers
438
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
439
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
440
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
438
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // -left  +right
439
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // -front +behind
440
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
441
 
441
 
442
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
442
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
443
                                         // Be sure you have this distance over your Z_MAX_POS in case
443
                                         // Be sure you have this distance over your Z_MAX_POS in case
474
 
474
 
475
   #endif
475
   #endif
476
 
476
 
477
-  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
478
-    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
479
-      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
480
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
481
-	  #endif
482
-	#else
483
-      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
484
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
485
-	  #endif
486
-	#endif
487
-    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
488
-      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
489
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
490
-	  #endif
491
-	#else
492
-      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
493
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
494
-	  #endif
495
-	#endif
496
-
497
-	
498
-  #endif
499
-  
500
 #endif // ENABLE_AUTO_BED_LEVELING
477
 #endif // ENABLE_AUTO_BED_LEVELING
501
 
478
 
502
 
479
 
536
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
513
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
537
 
514
 
538
 
515
 
539
-//===========================================================================
540
-//============================= Additional Features =========================
541
-//===========================================================================
516
+//=============================================================================
517
+//============================= Additional Features ===========================
518
+//=============================================================================
542
 
519
 
543
 // Custom M code points
520
 // Custom M code points
544
 #define CUSTOM_M_CODES
521
 #define CUSTOM_M_CODES
569
 #define ABS_PREHEAT_HPB_TEMP 100
546
 #define ABS_PREHEAT_HPB_TEMP 100
570
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
547
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
571
 
548
 
572
-//LCD and SD support
549
+//==============================LCD and SD support=============================
550
+
551
+// Define your display language below. Replace (en) with your language code and uncomment.
552
+// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu
553
+// See also language.h
554
+//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
573
 
555
 
574
 // Character based displays can have different extended charsets.
556
 // Character based displays can have different extended charsets.
575
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
557
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
583
 //#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
565
 //#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
584
 //#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
566
 //#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
585
 //#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
567
 //#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
586
-#define ULTIPANEL  //the UltiPanel as on Thingiverse
568
+//#define ULTIPANEL  //the UltiPanel as on Thingiverse
587
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000	// this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
569
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000	// this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
588
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
570
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
589
 
571
 
750
   #define SDSUPPORT
732
   #define SDSUPPORT
751
   #define ULTRA_LCD
733
   #define ULTRA_LCD
752
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
734
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
753
-    #define LCD_WIDTH 20
735
+    #define LCD_WIDTH 22
754
     #define LCD_HEIGHT 5
736
     #define LCD_HEIGHT 5
755
   #else
737
   #else
756
     #define LCD_WIDTH 20
738
     #define LCD_WIDTH 20
759
 #else //no panel but just LCD
741
 #else //no panel but just LCD
760
   #ifdef ULTRA_LCD
742
   #ifdef ULTRA_LCD
761
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
743
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
762
-    #define LCD_WIDTH 20
744
+    #define LCD_WIDTH 22
763
     #define LCD_HEIGHT 5
745
     #define LCD_HEIGHT 5
764
   #else
746
   #else
765
     #define LCD_WIDTH 16
747
     #define LCD_WIDTH 16

+ 45
- 68
Marlin/example_configurations/K8200/Configuration.h Datei anzeigen

3
 
3
 
4
 #include "boards.h"
4
 #include "boards.h"
5
 
5
 
6
-
7
 //===========================================================================
6
 //===========================================================================
8
 //============================= Getting Started =============================
7
 //============================= Getting Started =============================
9
 //===========================================================================
8
 //===========================================================================
10
 /*
9
 /*
11
 Here are some standard links for getting your machine calibrated:
10
 Here are some standard links for getting your machine calibrated:
12
- * http://reprap.org/wiki/Calibration 
11
+ * http://reprap.org/wiki/Calibration
13
  * http://youtu.be/wAL9d7FgInk
12
  * http://youtu.be/wAL9d7FgInk
14
  * http://calculator.josefprusa.cz
13
  * http://calculator.josefprusa.cz
15
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
39
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
38
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
40
 // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
39
 // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
41
 // build by the user have been successfully uploaded into firmware.
40
 // build by the user have been successfully uploaded into firmware.
42
-#define STRING_VERSION "v1.0.2"
41
+#define STRING_VERSION "1.0.2"
43
 #define STRING_URL "reprap.org"
42
 #define STRING_URL "reprap.org"
44
 #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
43
 #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
45
 #define STRING_CONFIG_H_AUTHOR "(K8200, CONSULitAS)" // Who made the changes.
44
 #define STRING_CONFIG_H_AUTHOR "(K8200, CONSULitAS)" // Who made the changes.
82
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
81
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
83
 // #define PS_DEFAULT_OFF
82
 // #define PS_DEFAULT_OFF
84
 
83
 
85
-
86
 //===========================================================================
84
 //===========================================================================
87
 //============================= Thermal Settings ============================
85
 //============================= Thermal Settings ============================
88
 //===========================================================================
86
 //===========================================================================
120
 // 1010 is Pt1000 with 1k pullup (non standard)
118
 // 1010 is Pt1000 with 1k pullup (non standard)
121
 // 147 is Pt100 with 4k7 pullup
119
 // 147 is Pt100 with 4k7 pullup
122
 // 110 is Pt100 with 1k pullup (non standard)
120
 // 110 is Pt100 with 1k pullup (non standard)
121
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. 
122
+//     Use it for Testing or Development purposes. NEVER for production machine.
123
+//     #define DUMMY_THERMISTOR_998_VALUE 25
124
+//     #define DUMMY_THERMISTOR_999_VALUE 100
123
 
125
 
124
 #define TEMP_SENSOR_0 5
126
 #define TEMP_SENSOR_0 5
125
 #define TEMP_SENSOR_1 0
127
 #define TEMP_SENSOR_1 0
260
 #define EXTRUDE_MINTEMP 170
262
 #define EXTRUDE_MINTEMP 170
261
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
263
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
262
 
264
 
263
-
264
 //===========================================================================
265
 //===========================================================================
265
 //============================= Thermal Runaway Protection ==================
266
 //============================= Thermal Runaway Protection ==================
266
 //===========================================================================
267
 //===========================================================================
305
 //============================= Mechanical Settings =========================
306
 //============================= Mechanical Settings =========================
306
 //===========================================================================
307
 //===========================================================================
307
 
308
 
308
-// Uncomment the following line to enable CoreXY kinematics
309
+// Uncomment this option to enable CoreXY kinematics
309
 // #define COREXY
310
 // #define COREXY
310
 
311
 
312
+// Enable this option for Toshiba steppers
313
+// #define CONFIG_STEPPERS_TOSHIBA
314
+
311
 // coarse Endstop Settings
315
 // coarse Endstop Settings
312
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
316
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
313
 
317
 
340
 #define DISABLE_MAX_ENDSTOPS
344
 #define DISABLE_MAX_ENDSTOPS
341
 //#define DISABLE_MIN_ENDSTOPS
345
 //#define DISABLE_MIN_ENDSTOPS
342
 
346
 
343
-// Disable max endstops for compatibility with endstop checking routine
344
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
345
-  #define DISABLE_MAX_ENDSTOPS
346
-#endif
347
-
348
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
347
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
349
 #define X_ENABLE_ON 0
348
 #define X_ENABLE_ON 0
350
 #define Y_ENABLE_ON 0
349
 #define Y_ENABLE_ON 0
397
 
396
 
398
 #ifdef ENABLE_AUTO_BED_LEVELING
397
 #ifdef ENABLE_AUTO_BED_LEVELING
399
 
398
 
400
-// There are 2 different ways to pick the X and Y locations to probe:
401
-
402
-//  - "grid" mode
403
-//    Probe every point in a rectangular grid
404
-//    You must specify the rectangle, and the density of sample points
405
-//    This mode is preferred because there are more measurements.
406
-//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
407
-
408
-//  - "3-point" mode
409
-//    Probe 3 arbitrary points on the bed (that aren't colinear)
410
-//    You must specify the X & Y coordinates of all 3 points
411
-
399
+  // There are 2 different ways to specify probing locations
400
+  //
401
+  // - "grid" mode
402
+  //   Probe several points in a rectangular grid.
403
+  //   You specify the rectangle and the density of sample points.
404
+  //   This mode is preferred because there are more measurements.
405
+  //
406
+  // - "3-point" mode
407
+  //   Probe 3 arbitrary points on the bed (that aren't colinear)
408
+  //   You specify the XY coordinates of all 3 points.
409
+
410
+  // Enable this to sample the bed in a grid (least squares solution)
411
+  // Note: this feature generates 10KB extra code size
412
   #define AUTO_BED_LEVELING_GRID
412
   #define AUTO_BED_LEVELING_GRID
413
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
414
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
415
-  // and least squares solution is calculated
416
-  // Note: this feature occupies 10'206 byte
413
+
417
   #ifdef AUTO_BED_LEVELING_GRID
414
   #ifdef AUTO_BED_LEVELING_GRID
418
 
415
 
419
-    // set the rectangle in which to probe
416
+    // The edges of the rectangle in which to probe
420
     #define LEFT_PROBE_BED_POSITION 15
417
     #define LEFT_PROBE_BED_POSITION 15
421
     #define RIGHT_PROBE_BED_POSITION 170
418
     #define RIGHT_PROBE_BED_POSITION 170
422
-    #define BACK_PROBE_BED_POSITION 180
423
     #define FRONT_PROBE_BED_POSITION 20
419
     #define FRONT_PROBE_BED_POSITION 20
420
+    #define BACK_PROBE_BED_POSITION 170
424
 
421
 
425
-     // set the number of grid points per dimension
426
-     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
422
+    // Set the number of grid points per dimension
423
+    // You probably don't need more than 3 (squared=9)
427
     #define AUTO_BED_LEVELING_GRID_POINTS 2
424
     #define AUTO_BED_LEVELING_GRID_POINTS 2
428
 
425
 
429
 
426
 
430
-  #else  // not AUTO_BED_LEVELING_GRID
431
-    // with no grid, just probe 3 arbitrary points.  A simple cross-product
432
-    // is used to esimate the plane of the print bed
427
+  #else  // !AUTO_BED_LEVELING_GRID
433
 
428
 
429
+      // Arbitrary points to probe. A simple cross-product
430
+      // is used to estimate the plane of the bed.
434
       #define ABL_PROBE_PT_1_X 15
431
       #define ABL_PROBE_PT_1_X 15
435
       #define ABL_PROBE_PT_1_Y 180
432
       #define ABL_PROBE_PT_1_Y 180
436
       #define ABL_PROBE_PT_2_X 15
433
       #define ABL_PROBE_PT_2_X 15
441
   #endif // AUTO_BED_LEVELING_GRID
438
   #endif // AUTO_BED_LEVELING_GRID
442
 
439
 
443
 
440
 
444
-  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
441
+  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
445
   // X and Y offsets must be integers
442
   // X and Y offsets must be integers
446
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
447
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
448
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
443
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // -left  +right
444
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // -front +behind
445
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
449
 
446
 
450
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
447
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
451
                                         // Be sure you have this distance over your Z_MAX_POS in case
448
                                         // Be sure you have this distance over your Z_MAX_POS in case
482
 
479
 
483
   #endif
480
   #endif
484
 
481
 
485
-  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
486
-    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
487
-      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
488
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
489
-	  #endif
490
-	#else
491
-      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
492
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
493
-	  #endif
494
-	#endif
495
-    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
496
-      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
497
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
498
-	  #endif
499
-	#else
500
-      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
501
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
502
-	  #endif
503
-	#endif
504
-
505
-	
506
-  #endif
507
-  
508
 #endif // ENABLE_AUTO_BED_LEVELING
482
 #endif // ENABLE_AUTO_BED_LEVELING
509
 
483
 
510
 
484
 
544
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
518
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
545
 
519
 
546
 
520
 
547
-//===========================================================================
548
-//============================= Additional Features =========================
549
-//===========================================================================
521
+//=============================================================================
522
+//============================= Additional Features ===========================
523
+//=============================================================================
550
 
524
 
551
 // Custom M code points
525
 // Custom M code points
552
 #define CUSTOM_M_CODES
526
 #define CUSTOM_M_CODES
577
 #define ABS_PREHEAT_HPB_TEMP 60
551
 #define ABS_PREHEAT_HPB_TEMP 60
578
 #define ABS_PREHEAT_FAN_SPEED 0   // Insert Value between 0 and 255
552
 #define ABS_PREHEAT_FAN_SPEED 0   // Insert Value between 0 and 255
579
 
553
 
580
-//LCD and SD support
554
+//==============================LCD and SD support=============================
581
 
555
 
582
-// VM8201 (LCD Option for K8200) uses "DISPLAY_CHARSET_HD44870_JAPAN" and "ULTIMAKERCONTROLLER"
556
+// Define your display language below. Replace (en) with your language code and uncomment.
557
+// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu
558
+// See also language.h
559
+//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
583
 
560
 
584
 // Character based displays can have different extended charsets.
561
 // Character based displays can have different extended charsets.
585
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
562
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
760
   #define SDSUPPORT
737
   #define SDSUPPORT
761
   #define ULTRA_LCD
738
   #define ULTRA_LCD
762
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
739
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
763
-    #define LCD_WIDTH 20
740
+    #define LCD_WIDTH 22
764
     #define LCD_HEIGHT 5
741
     #define LCD_HEIGHT 5
765
   #else
742
   #else
766
     #define LCD_WIDTH 20
743
     #define LCD_WIDTH 20
769
 #else //no panel but just LCD
746
 #else //no panel but just LCD
770
   #ifdef ULTRA_LCD
747
   #ifdef ULTRA_LCD
771
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
748
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
772
-    #define LCD_WIDTH 20
749
+    #define LCD_WIDTH 22
773
     #define LCD_HEIGHT 5
750
     #define LCD_HEIGHT 5
774
   #else
751
   #else
775
     #define LCD_WIDTH 16
752
     #define LCD_WIDTH 16

+ 90
- 79
Marlin/example_configurations/SCARA/Configuration.h Datei anzeigen

3
 
3
 
4
 #include "boards.h"
4
 #include "boards.h"
5
 
5
 
6
-
7
 //===========================================================================
6
 //===========================================================================
8
 //============================= Getting Started =============================
7
 //============================= Getting Started =============================
9
 //===========================================================================
8
 //===========================================================================
10
 /*
9
 /*
11
 Here are some standard links for getting your machine calibrated:
10
 Here are some standard links for getting your machine calibrated:
12
- * http://reprap.org/wiki/Calibration 
11
+ * http://reprap.org/wiki/Calibration
13
  * http://youtu.be/wAL9d7FgInk
12
  * http://youtu.be/wAL9d7FgInk
14
  * http://calculator.josefprusa.cz
13
  * http://calculator.josefprusa.cz
15
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
18
  * http://www.thingiverse.com/thing:298812
17
  * http://www.thingiverse.com/thing:298812
19
 */
18
 */
20
 
19
 
21
-
22
 // This configuration file contains the basic settings.
20
 // This configuration file contains the basic settings.
23
 // Advanced settings can be found in Configuration_adv.h
21
 // Advanced settings can be found in Configuration_adv.h
24
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
22
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
52
 #define L2_2 sq(Linkage_2) // do not change
50
 #define L2_2 sq(Linkage_2) // do not change
53
 
51
 
54
 //===========================================================================
52
 //===========================================================================
55
-//========================= SCARA Settings end ==================================
53
+//========================= SCARA Settings end ==============================
56
 //===========================================================================
54
 //===========================================================================
57
 
55
 
58
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
56
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
71
 #define SERIAL_PORT 0
69
 #define SERIAL_PORT 0
72
 
70
 
73
 // This determines the communication speed of the printer
71
 // This determines the communication speed of the printer
74
-// This determines the communication speed of the printer
75
 #define BAUDRATE 250000
72
 #define BAUDRATE 250000
76
 
73
 
77
 // This enables the serial port associated to the Bluetooth interface
74
 // This enables the serial port associated to the Bluetooth interface
125
 // 10 is 100k RS thermistor 198-961 (4.7k pullup)
122
 // 10 is 100k RS thermistor 198-961 (4.7k pullup)
126
 // 11 is 100k beta 3950 1% thermistor (4.7k pullup)
123
 // 11 is 100k beta 3950 1% thermistor (4.7k pullup)
127
 // 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
124
 // 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
125
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
128
 // 20 is the PT100 circuit found in the Ultimainboard V2.x
126
 // 20 is the PT100 circuit found in the Ultimainboard V2.x
129
 // 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
127
 // 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
130
 //
128
 //
138
 // 1010 is Pt1000 with 1k pullup (non standard)
136
 // 1010 is Pt1000 with 1k pullup (non standard)
139
 // 147 is Pt100 with 4k7 pullup
137
 // 147 is Pt100 with 4k7 pullup
140
 // 110 is Pt100 with 1k pullup (non standard)
138
 // 110 is Pt100 with 1k pullup (non standard)
139
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. 
140
+//     Use it for Testing or Development purposes. NEVER for production machine.
141
+//     #define DUMMY_THERMISTOR_998_VALUE 25
142
+//     #define DUMMY_THERMISTOR_999_VALUE 100
141
 
143
 
142
 #define TEMP_SENSOR_0 1
144
 #define TEMP_SENSOR_0 1
143
 #define TEMP_SENSOR_1 0
145
 #define TEMP_SENSOR_1 0
189
 // Comment the following line to disable PID and enable bang-bang.
191
 // Comment the following line to disable PID and enable bang-bang.
190
 #define PIDTEMP
192
 #define PIDTEMP
191
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
193
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
192
-#define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
194
+#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
193
 #ifdef PIDTEMP
195
 #ifdef PIDTEMP
194
   //#define PID_DEBUG // Sends debug data to the serial port.
196
   //#define PID_DEBUG // Sends debug data to the serial port.
195
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
197
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
198
+  //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
199
+  //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders)
200
+                                    // Set/get with gcode: M301 E[extruder number, 0-2]
196
   #define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
201
   #define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
197
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
202
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
198
-  #define PID_INTEGRAL_DRIVE_MAX 255  //limit for the integral term
203
+  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
199
   #define K1 0.95 //smoothing factor within the PID
204
   #define K1 0.95 //smoothing factor within the PID
200
-  #define PID_dT ((OVERSAMPLENR * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
205
+  #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
201
 
206
 
202
 // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
207
 // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
203
 // Ultimaker
208
 // Ultimaker
204
-  //  #define  DEFAULT_Kp 22.2
205
-  //  #define  DEFAULT_Ki 1.08
206
-   // #define  DEFAULT_Kd 114
207
-  
208
- // Jhead MK5: From Autotune  
209
-  //  #define  DEFAULT_Kp 20.92
210
-   // #define  DEFAULT_Ki 1.51
211
-  //  #define  DEFAULT_Kd 72.34
212
-    
213
- //Merlin Hotend: From Autotune  
214
-    #define  DEFAULT_Kp 24.5
215
-    #define  DEFAULT_Ki 1.72
216
-    #define  DEFAULT_Kd 87.73
209
+//    #define  DEFAULT_Kp 22.2
210
+//    #define  DEFAULT_Ki 1.08
211
+//    #define  DEFAULT_Kd 114
217
 
212
 
218
 // MakerGear
213
 // MakerGear
219
 //    #define  DEFAULT_Kp 7.0
214
 //    #define  DEFAULT_Kp 7.0
221
 //    #define  DEFAULT_Kd 12
216
 //    #define  DEFAULT_Kd 12
222
 
217
 
223
 // Mendel Parts V9 on 12V
218
 // Mendel Parts V9 on 12V
224
-  //  #define  DEFAULT_Kp 63.0
225
-   // #define  DEFAULT_Ki 2.25
226
-   // #define  DEFAULT_Kd 440
219
+//    #define  DEFAULT_Kp 63.0
220
+//    #define  DEFAULT_Ki 2.25
221
+//    #define  DEFAULT_Kd 440
222
+  
223
+// Jhead MK5: From Autotune
224
+//    #define  DEFAULT_Kp 20.92
225
+//    #define  DEFAULT_Ki 1.51
226
+//    #define  DEFAULT_Kd 72.34
227
+    
228
+// Merlin Hotend: From Autotune
229
+    #define  DEFAULT_Kp 24.5
230
+    #define  DEFAULT_Ki 1.72
231
+    #define  DEFAULT_Kd 87.73
232
+
227
 #endif // PIDTEMP
233
 #endif // PIDTEMP
228
 
234
 
229
 //===========================================================================
235
 //===========================================================================
251
 #ifdef PIDTEMPBED
257
 #ifdef PIDTEMPBED
252
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
258
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
253
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
259
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
254
-  //  #define  DEFAULT_bedKp 10.00
255
-  //  #define  DEFAULT_bedKi .023
256
-  //  #define  DEFAULT_bedKd 305.4
260
+//    #define  DEFAULT_bedKp 10.00
261
+//    #define  DEFAULT_bedKi .023
262
+//    #define  DEFAULT_bedKd 305.4
257
 
263
 
258
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
264
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
259
 //from pidautotune
265
 //from pidautotune
271
 #endif // PIDTEMPBED
277
 #endif // PIDTEMPBED
272
 
278
 
273
 
279
 
274
-
275
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
280
 //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
276
 //can be software-disabled for whatever purposes by
281
 //can be software-disabled for whatever purposes by
277
 //#define PREVENT_DANGEROUS_EXTRUDE
282
 //#define PREVENT_DANGEROUS_EXTRUDE
281
 #define EXTRUDE_MINTEMP 150
286
 #define EXTRUDE_MINTEMP 150
282
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
287
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
283
 
288
 
284
-
285
 //===========================================================================
289
 //===========================================================================
286
 //============================= Thermal Runaway Protection ==================
290
 //============================= Thermal Runaway Protection ==================
287
 //===========================================================================
291
 //===========================================================================
323
 
327
 
324
 
328
 
325
 //===========================================================================
329
 //===========================================================================
326
-//============================ Mechanical Settings ==========================
330
+//============================= Mechanical Settings =========================
327
 //===========================================================================
331
 //===========================================================================
328
 
332
 
329
-// Uncomment the following line to enable CoreXY kinematics
333
+// Uncomment this option to enable CoreXY kinematics
330
 // #define COREXY
334
 // #define COREXY
331
 
335
 
336
+// Enable this option for Toshiba steppers
337
+// #define CONFIG_STEPPERS_TOSHIBA
338
+
332
 // coarse Endstop Settings
339
 // coarse Endstop Settings
333
 //#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
340
 //#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
334
 
341
 
361
 //#define DISABLE_MAX_ENDSTOPS
368
 //#define DISABLE_MAX_ENDSTOPS
362
 //#define DISABLE_MIN_ENDSTOPS
369
 //#define DISABLE_MIN_ENDSTOPS
363
 
370
 
364
-// Disable max endstops for compatibility with endstop checking routine
365
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
366
-  #define DISABLE_MAX_ENDSTOPS
367
-#endif
368
-
369
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
371
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
370
 #define X_ENABLE_ON 0
372
 #define X_ENABLE_ON 0
371
 #define Y_ENABLE_ON 0
373
 #define Y_ENABLE_ON 0
388
 #define INVERT_E3_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false
390
 #define INVERT_E3_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false
389
 
391
 
390
 // ENDSTOP SETTINGS:
392
 // ENDSTOP SETTINGS:
391
-// Sets direction of endstop	s when homing; 1=MAX, -1=MIN
393
+// Sets direction of endstops when homing; 1=MAX, -1=MIN
392
 #define X_HOME_DIR 1
394
 #define X_HOME_DIR 1
393
 #define Y_HOME_DIR 1
395
 #define Y_HOME_DIR 1
394
 #define Z_HOME_DIR -1
396
 #define Z_HOME_DIR -1
414
 //===========================================================================
416
 //===========================================================================
415
 
417
 
416
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
418
 //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
419
+#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
417
 
420
 
418
 #ifdef ENABLE_AUTO_BED_LEVELING
421
 #ifdef ENABLE_AUTO_BED_LEVELING
419
 
422
 
420
-// There are 2 different ways to pick the X and Y locations to probe:
421
-
422
-//  - "grid" mode
423
-//    Probe every point in a rectangular grid
424
-//    You must specify the rectangle, and the density of sample points
425
-//    This mode is preferred because there are more measurements.
426
-//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
427
-
428
-//  - "3-point" mode
429
-//    Probe 3 arbitrary points on the bed (that aren't colinear)
430
-//    You must specify the X & Y coordinates of all 3 points
431
-
423
+  // There are 2 different ways to specify probing locations
424
+  //
425
+  // - "grid" mode
426
+  //   Probe several points in a rectangular grid.
427
+  //   You specify the rectangle and the density of sample points.
428
+  //   This mode is preferred because there are more measurements.
429
+  //
430
+  // - "3-point" mode
431
+  //   Probe 3 arbitrary points on the bed (that aren't colinear)
432
+  //   You specify the XY coordinates of all 3 points.
433
+
434
+  // Enable this to sample the bed in a grid (least squares solution)
435
+  // Note: this feature generates 10KB extra code size
432
   #define AUTO_BED_LEVELING_GRID
436
   #define AUTO_BED_LEVELING_GRID
433
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
434
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
435
-  // and least squares solution is calculated
436
-  // Note: this feature occupies 10'206 byte
437
+
437
   #ifdef AUTO_BED_LEVELING_GRID
438
   #ifdef AUTO_BED_LEVELING_GRID
438
 
439
 
439
-    // set the rectangle in which to probe
440
+    // The edges of the rectangle in which to probe
440
     #define LEFT_PROBE_BED_POSITION 15
441
     #define LEFT_PROBE_BED_POSITION 15
441
     #define RIGHT_PROBE_BED_POSITION 170
442
     #define RIGHT_PROBE_BED_POSITION 170
442
-    #define BACK_PROBE_BED_POSITION 180
443
     #define FRONT_PROBE_BED_POSITION 20
443
     #define FRONT_PROBE_BED_POSITION 20
444
+    #define BACK_PROBE_BED_POSITION 170
444
 
445
 
445
-     // set the number of grid points per dimension
446
-     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
446
+    // Set the number of grid points per dimension
447
+    // You probably don't need more than 3 (squared=9)
447
     #define AUTO_BED_LEVELING_GRID_POINTS 2
448
     #define AUTO_BED_LEVELING_GRID_POINTS 2
448
 
449
 
449
 
450
 
450
-  #else  // not AUTO_BED_LEVELING_GRID
451
-    // with no grid, just probe 3 arbitrary points.  A simple cross-product
452
-    // is used to esimate the plane of the print bed
451
+  #else  // !AUTO_BED_LEVELING_GRID
453
 
452
 
453
+      // Arbitrary points to probe. A simple cross-product
454
+      // is used to estimate the plane of the bed.
454
       #define ABL_PROBE_PT_1_X 15
455
       #define ABL_PROBE_PT_1_X 15
455
       #define ABL_PROBE_PT_1_Y 180
456
       #define ABL_PROBE_PT_1_Y 180
456
       #define ABL_PROBE_PT_2_X 15
457
       #define ABL_PROBE_PT_2_X 15
461
   #endif // AUTO_BED_LEVELING_GRID
462
   #endif // AUTO_BED_LEVELING_GRID
462
 
463
 
463
 
464
 
464
-  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
465
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
466
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
467
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
465
+  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
466
+  // X and Y offsets must be integers
467
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // -left  +right
468
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // -front +behind
469
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
468
 
470
 
469
   //#define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
471
   //#define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
470
                                         // Be sure you have this distance over your Z_MAX_POS in case
472
                                         // Be sure you have this distance over your Z_MAX_POS in case
474
   #define Z_RAISE_BEFORE_PROBING 15    //How much the extruder will be raised before traveling to the first probing point.
476
   #define Z_RAISE_BEFORE_PROBING 15    //How much the extruder will be raised before traveling to the first probing point.
475
   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
477
   #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
476
 
478
 
479
+  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
480
+  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
477
 
481
 
478
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
482
   //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
479
   //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
483
   //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
528
 #define DEFAULT_RETRACT_ACCELERATION  2000  // X, Y, Z and E max acceleration in mm/s^2 for retracts
532
 #define DEFAULT_RETRACT_ACCELERATION  2000  // X, Y, Z and E max acceleration in mm/s^2 for retracts
529
 
533
 
530
 // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
534
 // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
531
-// The offset has to be X=0, Y=0 for extruder 0 hotend (default extruder).
535
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
532
 // For the other hotends it is their distance from the extruder 0 hotend.
536
 // For the other hotends it is their distance from the extruder 0 hotend.
533
 // #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
537
 // #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
534
 // #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
538
 // #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
539
 #define DEFAULT_EJERK                 3    // (mm/sec)
543
 #define DEFAULT_EJERK                 3    // (mm/sec)
540
 
544
 
541
 
545
 
542
-//===========================================================================
543
-//============================= Additional Features =========================
544
-//===========================================================================
546
+//=============================================================================
547
+//============================= Additional Features ===========================
548
+//=============================================================================
545
 
549
 
546
 // Custom M code points
550
 // Custom M code points
547
 //#define CUSTOM_M_CODES
551
 //#define CUSTOM_M_CODES
572
 #define ABS_PREHEAT_HPB_TEMP 100
576
 #define ABS_PREHEAT_HPB_TEMP 100
573
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
577
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
574
 
578
 
575
-//LCD and SD support
579
+//==============================LCD and SD support=============================
580
+
581
+// Define your display language below. Replace (en) with your language code and uncomment.
582
+// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu
583
+// See also language.h
584
+//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
576
 
585
 
577
 // Character based displays can have different extended charsets.
586
 // Character based displays can have different extended charsets.
578
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
587
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
738
 // Shift register panels
747
 // Shift register panels
739
 // ---------------------
748
 // ---------------------
740
 // 2 wire Non-latching LCD SR from:
749
 // 2 wire Non-latching LCD SR from:
741
-// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
742
-//#define SR_LCD
743
-#ifdef SR_LCD
744
-   #define SR_LCD_2W_NL    // Non latching 2 wire shift register
745
-   //#define NEWPANEL
750
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection 
751
+
752
+//#define SAV_3DLCD
753
+#ifdef SAV_3DLCD
754
+   #define SR_LCD_2W_NL    // Non latching 2 wire shiftregister
755
+   #define NEWPANEL
756
+   #define ULTIPANEL
746
 #endif
757
 #endif
747
 
758
 
748
 
759
 
751
   #define SDSUPPORT
762
   #define SDSUPPORT
752
   #define ULTRA_LCD
763
   #define ULTRA_LCD
753
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
764
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
754
-    #define LCD_WIDTH 20
765
+    #define LCD_WIDTH 22
755
     #define LCD_HEIGHT 5
766
     #define LCD_HEIGHT 5
756
   #else
767
   #else
757
     #define LCD_WIDTH 20
768
     #define LCD_WIDTH 20
760
 #else //no panel but just LCD
771
 #else //no panel but just LCD
761
   #ifdef ULTRA_LCD
772
   #ifdef ULTRA_LCD
762
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
773
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
763
-    #define LCD_WIDTH 20
774
+    #define LCD_WIDTH 22
764
     #define LCD_HEIGHT 5
775
     #define LCD_HEIGHT 5
765
   #else
776
   #else
766
     #define LCD_WIDTH 16
777
     #define LCD_WIDTH 16
844
 // Uncomment below to enable
855
 // Uncomment below to enable
845
 //#define FILAMENT_SENSOR
856
 //#define FILAMENT_SENSOR
846
 
857
 
847
-#define FILAMENT_SENSOR_EXTRUDER_NUM  0  //The number of the extruder that has the filament sensor (0,1,2)
848
-#define MEASUREMENT_DELAY_CM      14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
858
+#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
859
+#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
849
 
860
 
850
 #define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
861
 #define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
851
 #define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
862
 #define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
852
 #define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
863
 #define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
853
-#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)
864
+#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)
854
 
865
 
855
 //defines used in the code
866
 //defines used in the code
856
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
867
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 

+ 47
- 70
Marlin/example_configurations/WITBOX/Configuration.h Datei anzeigen

3
 
3
 
4
 #include "boards.h"
4
 #include "boards.h"
5
 
5
 
6
-
7
 //===========================================================================
6
 //===========================================================================
8
 //============================= Getting Started =============================
7
 //============================= Getting Started =============================
9
 //===========================================================================
8
 //===========================================================================
10
 /*
9
 /*
11
 Here are some standard links for getting your machine calibrated:
10
 Here are some standard links for getting your machine calibrated:
12
- * http://reprap.org/wiki/Calibration 
11
+ * http://reprap.org/wiki/Calibration
13
  * http://youtu.be/wAL9d7FgInk
12
  * http://youtu.be/wAL9d7FgInk
14
  * http://calculator.josefprusa.cz
13
  * http://calculator.josefprusa.cz
15
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
18
  * http://www.thingiverse.com/thing:298812
17
  * http://www.thingiverse.com/thing:298812
19
 */
18
 */
20
 
19
 
21
-
22
 // This configuration file contains the basic settings.
20
 // This configuration file contains the basic settings.
23
 // Advanced settings can be found in Configuration_adv.h
21
 // Advanced settings can be found in Configuration_adv.h
24
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
22
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
83
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
81
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
84
 // #define PS_DEFAULT_OFF
82
 // #define PS_DEFAULT_OFF
85
 
83
 
86
-
87
 //===========================================================================
84
 //===========================================================================
88
 //============================= Thermal Settings ============================
85
 //============================= Thermal Settings ============================
89
 //===========================================================================
86
 //===========================================================================
121
 // 1010 is Pt1000 with 1k pullup (non standard)
118
 // 1010 is Pt1000 with 1k pullup (non standard)
122
 // 147 is Pt100 with 4k7 pullup
119
 // 147 is Pt100 with 4k7 pullup
123
 // 110 is Pt100 with 1k pullup (non standard)
120
 // 110 is Pt100 with 1k pullup (non standard)
121
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. 
122
+//     Use it for Testing or Development purposes. NEVER for production machine.
123
+//     #define DUMMY_THERMISTOR_998_VALUE 25
124
+//     #define DUMMY_THERMISTOR_999_VALUE 100
124
 
125
 
125
 #define TEMP_SENSOR_0 1
126
 #define TEMP_SENSOR_0 1
126
 #define TEMP_SENSOR_1 0
127
 #define TEMP_SENSOR_1 0
164
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
165
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
165
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
166
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
166
 
167
 
167
-
168
 //===========================================================================
168
 //===========================================================================
169
 //============================= PID Settings ================================
169
 //============================= PID Settings ================================
170
 //===========================================================================
170
 //===========================================================================
184
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
184
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
185
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
185
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
186
   #define K1 0.95 //smoothing factor within the PID
186
   #define K1 0.95 //smoothing factor within the PID
187
-  #define PID_dT ((OVERSAMPLENR * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
187
+  #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
188
 
188
 
189
 // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
189
 // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
190
 // Ultimaker
190
 // Ultimaker
256
 #define EXTRUDE_MINTEMP 170
256
 #define EXTRUDE_MINTEMP 170
257
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
257
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
258
 
258
 
259
-
260
 //===========================================================================
259
 //===========================================================================
261
 //============================= Thermal Runaway Protection ==================
260
 //============================= Thermal Runaway Protection ==================
262
 //===========================================================================
261
 //===========================================================================
301
 //============================= Mechanical Settings =========================
300
 //============================= Mechanical Settings =========================
302
 //===========================================================================
301
 //===========================================================================
303
 
302
 
304
-// Uncomment the following line to enable CoreXY kinematics
303
+// Uncomment this option to enable CoreXY kinematics
305
 // #define COREXY
304
 // #define COREXY
306
 
305
 
306
+// Enable this option for Toshiba steppers
307
+// #define CONFIG_STEPPERS_TOSHIBA
308
+
307
 // coarse Endstop Settings
309
 // coarse Endstop Settings
308
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
310
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
309
 
311
 
336
 //#define DISABLE_MAX_ENDSTOPS
338
 //#define DISABLE_MAX_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
339
 //#define DISABLE_MIN_ENDSTOPS
338
 
340
 
339
-// Disable max endstops for compatibility with endstop checking routine
340
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
341
-  #define DISABLE_MAX_ENDSTOPS
342
-#endif
343
-
344
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
341
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
345
 #define X_ENABLE_ON 0
342
 #define X_ENABLE_ON 0
346
 #define Y_ENABLE_ON 0
343
 #define Y_ENABLE_ON 0
393
 
390
 
394
 #ifdef ENABLE_AUTO_BED_LEVELING
391
 #ifdef ENABLE_AUTO_BED_LEVELING
395
 
392
 
396
-// There are 2 different ways to pick the X and Y locations to probe:
397
-
398
-//  - "grid" mode
399
-//    Probe every point in a rectangular grid
400
-//    You must specify the rectangle, and the density of sample points
401
-//    This mode is preferred because there are more measurements.
402
-//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
403
-
404
-//  - "3-point" mode
405
-//    Probe 3 arbitrary points on the bed (that aren't colinear)
406
-//    You must specify the X & Y coordinates of all 3 points
407
-
393
+  // There are 2 different ways to specify probing locations
394
+  //
395
+  // - "grid" mode
396
+  //   Probe several points in a rectangular grid.
397
+  //   You specify the rectangle and the density of sample points.
398
+  //   This mode is preferred because there are more measurements.
399
+  //
400
+  // - "3-point" mode
401
+  //   Probe 3 arbitrary points on the bed (that aren't colinear)
402
+  //   You specify the XY coordinates of all 3 points.
403
+
404
+  // Enable this to sample the bed in a grid (least squares solution)
405
+  // Note: this feature generates 10KB extra code size
408
   #define AUTO_BED_LEVELING_GRID
406
   #define AUTO_BED_LEVELING_GRID
409
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
410
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
411
-  // and least squares solution is calculated
412
-  // Note: this feature occupies 10'206 byte
407
+
413
   #ifdef AUTO_BED_LEVELING_GRID
408
   #ifdef AUTO_BED_LEVELING_GRID
414
 
409
 
415
-    // set the rectangle in which to probe
410
+    // The edges of the rectangle in which to probe
416
     #define LEFT_PROBE_BED_POSITION 15
411
     #define LEFT_PROBE_BED_POSITION 15
417
     #define RIGHT_PROBE_BED_POSITION 170
412
     #define RIGHT_PROBE_BED_POSITION 170
418
-    #define BACK_PROBE_BED_POSITION 180
419
     #define FRONT_PROBE_BED_POSITION 20
413
     #define FRONT_PROBE_BED_POSITION 20
414
+    #define BACK_PROBE_BED_POSITION 170
420
 
415
 
421
-     // set the number of grid points per dimension
422
-     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
416
+    // Set the number of grid points per dimension
417
+    // You probably don't need more than 3 (squared=9)
423
     #define AUTO_BED_LEVELING_GRID_POINTS 2
418
     #define AUTO_BED_LEVELING_GRID_POINTS 2
424
 
419
 
425
 
420
 
426
-  #else  // not AUTO_BED_LEVELING_GRID
427
-    // with no grid, just probe 3 arbitrary points.  A simple cross-product
428
-    // is used to esimate the plane of the print bed
421
+  #else  // !AUTO_BED_LEVELING_GRID
429
 
422
 
423
+      // Arbitrary points to probe. A simple cross-product
424
+      // is used to estimate the plane of the bed.
430
       #define ABL_PROBE_PT_1_X 15
425
       #define ABL_PROBE_PT_1_X 15
431
       #define ABL_PROBE_PT_1_Y 180
426
       #define ABL_PROBE_PT_1_Y 180
432
       #define ABL_PROBE_PT_2_X 15
427
       #define ABL_PROBE_PT_2_X 15
437
   #endif // AUTO_BED_LEVELING_GRID
432
   #endif // AUTO_BED_LEVELING_GRID
438
 
433
 
439
 
434
 
440
-  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
435
+  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
441
   // X and Y offsets must be integers
436
   // X and Y offsets must be integers
442
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
443
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
444
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
437
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // -left  +right
438
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // -front +behind
439
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
445
 
440
 
446
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
441
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
447
                                         // Be sure you have this distance over your Z_MAX_POS in case
442
                                         // Be sure you have this distance over your Z_MAX_POS in case
478
 
473
 
479
   #endif
474
   #endif
480
 
475
 
481
-  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
482
-    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
483
-      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
484
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
485
-	  #endif
486
-	#else
487
-      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
488
-	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
489
-	  #endif
490
-	#endif
491
-    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
492
-      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
493
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
494
-	  #endif
495
-	#else
496
-      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
497
-	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
498
-	  #endif
499
-	#endif
500
-
501
-	
502
-  #endif
503
-  
504
 #endif // ENABLE_AUTO_BED_LEVELING
476
 #endif // ENABLE_AUTO_BED_LEVELING
505
 
477
 
506
 
478
 
540
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
512
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
541
 
513
 
542
 
514
 
543
-//===========================================================================
544
-//============================ Additional Features ==========================
545
-//===========================================================================
515
+//=============================================================================
516
+//============================= Additional Features ===========================
517
+//=============================================================================
546
 
518
 
547
 // Custom M code points
519
 // Custom M code points
548
 #define CUSTOM_M_CODES
520
 #define CUSTOM_M_CODES
573
 #define ABS_PREHEAT_HPB_TEMP 100
545
 #define ABS_PREHEAT_HPB_TEMP 100
574
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
546
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
575
 
547
 
576
-//LCD and SD support
548
+//==============================LCD and SD support=============================
549
+
550
+// Define your display language below. Replace (en) with your language code and uncomment.
551
+// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu
552
+// See also language.h
553
+//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
577
 
554
 
578
 // Character based displays can have different extended charsets.
555
 // Character based displays can have different extended charsets.
579
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
556
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
587
 //#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
564
 //#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
588
 //#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
565
 //#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
589
 //#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
566
 //#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
590
-#define ULTIPANEL  //the UltiPanel as on Thingiverse
567
+//#define ULTIPANEL  //the UltiPanel as on Thingiverse
591
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000	// this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
568
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000	// this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
592
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
569
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
593
 
570
 
754
   #define SDSUPPORT
731
   #define SDSUPPORT
755
   #define ULTRA_LCD
732
   #define ULTRA_LCD
756
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
733
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
757
-    #define LCD_WIDTH 20
734
+    #define LCD_WIDTH 22
758
     #define LCD_HEIGHT 5
735
     #define LCD_HEIGHT 5
759
   #else
736
   #else
760
     #define LCD_WIDTH 20
737
     #define LCD_WIDTH 20
763
 #else //no panel but just LCD
740
 #else //no panel but just LCD
764
   #ifdef ULTRA_LCD
741
   #ifdef ULTRA_LCD
765
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
742
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
766
-    #define LCD_WIDTH 20
743
+    #define LCD_WIDTH 22
767
     #define LCD_HEIGHT 5
744
     #define LCD_HEIGHT 5
768
   #else
745
   #else
769
     #define LCD_WIDTH 16
746
     #define LCD_WIDTH 16

+ 48
- 31
Marlin/example_configurations/delta/Configuration.h Datei anzeigen

1
-#ifndef CONFIGURATION_H
1
+#ifndef CONFIGURATION_H
2
 #define CONFIGURATION_H
2
 #define CONFIGURATION_H
3
 
3
 
4
 #include "boards.h"
4
 #include "boards.h"
5
 
5
 
6
-
7
 //===========================================================================
6
 //===========================================================================
8
 //============================= Getting Started =============================
7
 //============================= Getting Started =============================
9
 //===========================================================================
8
 //===========================================================================
10
 /*
9
 /*
11
 Here are some standard links for getting your machine calibrated:
10
 Here are some standard links for getting your machine calibrated:
12
- * http://reprap.org/wiki/Calibration 
11
+ * http://reprap.org/wiki/Calibration
13
  * http://youtu.be/wAL9d7FgInk
12
  * http://youtu.be/wAL9d7FgInk
14
  * http://calculator.josefprusa.cz
13
  * http://calculator.josefprusa.cz
15
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
22
 // Advanced settings can be found in Configuration_adv.h
21
 // Advanced settings can be found in Configuration_adv.h
23
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
22
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
24
 
23
 
25
-
26
 //===========================================================================
24
 //===========================================================================
27
 //============================= DELTA Printer ===============================
25
 //============================= DELTA Printer ===============================
28
 //===========================================================================
26
 //===========================================================================
30
 // example_configurations/delta directory.
28
 // example_configurations/delta directory.
31
 //
29
 //
32
 
30
 
31
+//===========================================================================
32
+//============================= SCARA Printer ===============================
33
+//===========================================================================
34
+// For a Delta printer replace the configuration files with the files in the
35
+// example_configurations/SCARA directory.
36
+//
37
+
33
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
38
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
34
 // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
39
 // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
35
 // build by the user have been successfully uploaded into firmware.
40
 // build by the user have been successfully uploaded into firmware.
143
 // 1010 is Pt1000 with 1k pullup (non standard)
148
 // 1010 is Pt1000 with 1k pullup (non standard)
144
 // 147 is Pt100 with 4k7 pullup
149
 // 147 is Pt100 with 4k7 pullup
145
 // 110 is Pt100 with 1k pullup (non standard)
150
 // 110 is Pt100 with 1k pullup (non standard)
151
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. 
152
+//     Use it for Testing or Development purposes. NEVER for production machine.
153
+//     #define DUMMY_THERMISTOR_998_VALUE 25
154
+//     #define DUMMY_THERMISTOR_999_VALUE 100
146
 
155
 
147
 #define TEMP_SENSOR_0 -1
156
 #define TEMP_SENSOR_0 -1
148
 #define TEMP_SENSOR_1 -1
157
 #define TEMP_SENSOR_1 -1
186
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
195
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
187
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
196
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
188
 
197
 
189
-
190
 //===========================================================================
198
 //===========================================================================
191
 //============================= PID Settings ================================
199
 //============================= PID Settings ================================
192
 //===========================================================================
200
 //===========================================================================
195
 // Comment the following line to disable PID and enable bang-bang.
203
 // Comment the following line to disable PID and enable bang-bang.
196
 #define PIDTEMP
204
 #define PIDTEMP
197
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
205
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
198
-#define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
206
+#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
199
 #ifdef PIDTEMP
207
 #ifdef PIDTEMP
200
   //#define PID_DEBUG // Sends debug data to the serial port.
208
   //#define PID_DEBUG // Sends debug data to the serial port.
201
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
209
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
210
+  //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
211
+  //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders)
212
+                                    // Set/get with gcode: M301 E[extruder number, 0-2]
202
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
213
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
203
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
214
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
204
-  #define PID_INTEGRAL_DRIVE_MAX 255  //limit for the integral term
215
+  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
205
   #define K1 0.95 //smoothing factor within the PID
216
   #define K1 0.95 //smoothing factor within the PID
206
   #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
217
   #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
207
 
218
 
222
 //    #define  DEFAULT_Kd 440
233
 //    #define  DEFAULT_Kd 440
223
 #endif // PIDTEMP
234
 #endif // PIDTEMP
224
 
235
 
225
-
226
 //===========================================================================
236
 //===========================================================================
227
 //============================= PID > Bed Temperature Control ===============
237
 //============================= PID > Bed Temperature Control ===============
228
 //===========================================================================
238
 //===========================================================================
271
 #define EXTRUDE_MINTEMP 170
281
 #define EXTRUDE_MINTEMP 170
272
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
282
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
273
 
283
 
274
-
275
 //===========================================================================
284
 //===========================================================================
276
 //============================= Thermal Runaway Protection ==================
285
 //============================= Thermal Runaway Protection ==================
277
 //===========================================================================
286
 //===========================================================================
316
 //============================= Mechanical Settings =========================
325
 //============================= Mechanical Settings =========================
317
 //===========================================================================
326
 //===========================================================================
318
 
327
 
328
+// Uncomment this option to enable CoreXY kinematics
329
+// #define COREXY
330
+
331
+// Enable this option for Toshiba steppers
332
+// #define CONFIG_STEPPERS_TOSHIBA
333
+
319
 // coarse Endstop Settings
334
 // coarse Endstop Settings
320
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
335
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
321
 
336
 
348
 //#define DISABLE_MAX_ENDSTOPS
363
 //#define DISABLE_MAX_ENDSTOPS
349
 // Deltas never have min endstops
364
 // Deltas never have min endstops
350
 #define DISABLE_MIN_ENDSTOPS
365
 #define DISABLE_MIN_ENDSTOPS
351
-// Disable max endstops for compatibility with endstop checking routine
352
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
353
-  #define DISABLE_MAX_ENDSTOPS
354
-#endif
355
 
366
 
356
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
367
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
357
 #define X_ENABLE_ON 0
368
 #define X_ENABLE_ON 0
397
 #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
408
 #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
398
 #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
409
 #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
399
 
410
 
411
+
400
 //===========================================================================
412
 //===========================================================================
401
 //============================= Bed Auto Leveling ===========================
413
 //============================= Bed Auto Leveling ===========================
402
 //===========================================================================
414
 //===========================================================================
407
 
419
 
408
 
420
 
409
 // The position of the homing switches
421
 // The position of the homing switches
410
-//#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
422
+#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
411
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
423
 //#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
412
 
424
 
413
 //Manual homing switch locations:
425
 //Manual homing switch locations:
414
-
415
-#define MANUAL_HOME_POSITIONS  // MANUAL_*_HOME_POS below will be used
416
 // For deltabots this means top and center of the Cartesian print volume.
426
 // For deltabots this means top and center of the Cartesian print volume.
417
 #define MANUAL_X_HOME_POS 0
427
 #define MANUAL_X_HOME_POS 0
418
 #define MANUAL_Y_HOME_POS 0
428
 #define MANUAL_Y_HOME_POS 0
444
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
454
 #define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
445
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
455
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
446
 
456
 
447
-//===========================================================================
448
-//============================= Additional Features =========================
449
-//===========================================================================
457
+
458
+//=============================================================================
459
+//============================= Additional Features ===========================
460
+//=============================================================================
450
 
461
 
451
 // Custom M code points
462
 // Custom M code points
452
 #define CUSTOM_M_CODES
463
 #define CUSTOM_M_CODES
477
 #define ABS_PREHEAT_HPB_TEMP 100
488
 #define ABS_PREHEAT_HPB_TEMP 100
478
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
489
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
479
 
490
 
480
-//LCD and SD support
491
+//==============================LCD and SD support=============================
492
+
493
+// Define your display language below. Replace (en) with your language code and uncomment.
494
+// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu
495
+// See also language.h
496
+//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
481
 
497
 
482
 // Character based displays can have different extended charsets.
498
 // Character based displays can have different extended charsets.
483
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
499
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
650
 // Shift register panels
666
 // Shift register panels
651
 // ---------------------
667
 // ---------------------
652
 // 2 wire Non-latching LCD SR from:
668
 // 2 wire Non-latching LCD SR from:
653
-// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
654
-//#define SR_LCD
655
-#ifdef SR_LCD
656
-   #define SR_LCD_2W_NL    // Non latching 2 wire shift register
657
-   //#define NEWPANEL
669
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection 
670
+
671
+//#define SAV_3DLCD
672
+#ifdef SAV_3DLCD
673
+   #define SR_LCD_2W_NL    // Non latching 2 wire shiftregister
674
+   #define NEWPANEL
675
+   #define ULTIPANEL
658
 #endif
676
 #endif
659
 
677
 
660
 
678
 
663
   #define SDSUPPORT
681
   #define SDSUPPORT
664
   #define ULTRA_LCD
682
   #define ULTRA_LCD
665
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
683
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
666
-    #define LCD_WIDTH 20
684
+    #define LCD_WIDTH 22
667
     #define LCD_HEIGHT 5
685
     #define LCD_HEIGHT 5
668
   #else
686
   #else
669
     #define LCD_WIDTH 20
687
     #define LCD_WIDTH 20
672
 #else //no panel but just LCD
690
 #else //no panel but just LCD
673
   #ifdef ULTRA_LCD
691
   #ifdef ULTRA_LCD
674
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
692
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
675
-    #define LCD_WIDTH 20
693
+    #define LCD_WIDTH 22
676
     #define LCD_HEIGHT 5
694
     #define LCD_HEIGHT 5
677
   #else
695
   #else
678
     #define LCD_WIDTH 16
696
     #define LCD_WIDTH 16
756
 // Uncomment below to enable
774
 // Uncomment below to enable
757
 //#define FILAMENT_SENSOR
775
 //#define FILAMENT_SENSOR
758
 
776
 
759
-#define FILAMENT_SENSOR_EXTRUDER_NUM  0  //The number of the extruder that has the filament sensor (0,1,2)
760
-#define MEASUREMENT_DELAY_CM      14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
777
+#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
778
+#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
761
 
779
 
762
 #define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
780
 #define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
763
 #define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
781
 #define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
764
 #define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
782
 #define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
765
-#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)
783
+#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)
766
 
784
 
767
 //defines used in the code
785
 //defines used in the code
768
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
786
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
775
 
793
 
776
 
794
 
777
 
795
 
778
-
779
 #include "Configuration_adv.h"
796
 #include "Configuration_adv.h"
780
 #include "thermistortables.h"
797
 #include "thermistortables.h"
781
 
798
 

+ 59
- 56
Marlin/example_configurations/makibox/Configuration.h Datei anzeigen

3
 
3
 
4
 #include "boards.h"
4
 #include "boards.h"
5
 
5
 
6
-
7
 //===========================================================================
6
 //===========================================================================
8
 //============================= Getting Started =============================
7
 //============================= Getting Started =============================
9
 //===========================================================================
8
 //===========================================================================
10
 /*
9
 /*
11
 Here are some standard links for getting your machine calibrated:
10
 Here are some standard links for getting your machine calibrated:
12
- * http://reprap.org/wiki/Calibration 
11
+ * http://reprap.org/wiki/Calibration
13
  * http://youtu.be/wAL9d7FgInk
12
  * http://youtu.be/wAL9d7FgInk
14
  * http://calculator.josefprusa.cz
13
  * http://calculator.josefprusa.cz
15
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
18
  * http://www.thingiverse.com/thing:298812
17
  * http://www.thingiverse.com/thing:298812
19
 */
18
 */
20
 
19
 
21
-
22
 // This configuration file contains the basic settings.
20
 // This configuration file contains the basic settings.
23
 // Advanced settings can be found in Configuration_adv.h
21
 // Advanced settings can be found in Configuration_adv.h
24
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
22
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
25
 
23
 
26
-
27
 //===========================================================================
24
 //===========================================================================
28
 //============================= DELTA Printer ===============================
25
 //============================= DELTA Printer ===============================
29
 //===========================================================================
26
 //===========================================================================
31
 // example_configurations/delta directory.
28
 // example_configurations/delta directory.
32
 //
29
 //
33
 
30
 
34
-
35
 //===========================================================================
31
 //===========================================================================
36
 //============================= SCARA Printer ===============================
32
 //============================= SCARA Printer ===============================
37
 //===========================================================================
33
 //===========================================================================
85
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
81
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
86
 // #define PS_DEFAULT_OFF
82
 // #define PS_DEFAULT_OFF
87
 
83
 
88
-
89
 //===========================================================================
84
 //===========================================================================
90
 //============================= Thermal Settings ============================
85
 //============================= Thermal Settings ============================
91
 //===========================================================================
86
 //===========================================================================
123
 // 1010 is Pt1000 with 1k pullup (non standard)
118
 // 1010 is Pt1000 with 1k pullup (non standard)
124
 // 147 is Pt100 with 4k7 pullup
119
 // 147 is Pt100 with 4k7 pullup
125
 // 110 is Pt100 with 1k pullup (non standard)
120
 // 110 is Pt100 with 1k pullup (non standard)
121
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. 
122
+//     Use it for Testing or Development purposes. NEVER for production machine.
123
+//     #define DUMMY_THERMISTOR_998_VALUE 25
124
+//     #define DUMMY_THERMISTOR_999_VALUE 100
126
 
125
 
127
 #define TEMP_SENSOR_0 1
126
 #define TEMP_SENSOR_0 1
128
 #define TEMP_SENSOR_1 0
127
 #define TEMP_SENSOR_1 0
166
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
165
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
167
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
166
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
168
 
167
 
169
-
170
 //===========================================================================
168
 //===========================================================================
171
 //============================= PID Settings ================================
169
 //============================= PID Settings ================================
172
 //===========================================================================
170
 //===========================================================================
175
 // Comment the following line to disable PID and enable bang-bang.
173
 // Comment the following line to disable PID and enable bang-bang.
176
 #define PIDTEMP
174
 #define PIDTEMP
177
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
175
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
178
-#define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
176
+#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
179
 #ifdef PIDTEMP
177
 #ifdef PIDTEMP
180
   //#define PID_DEBUG // Sends debug data to the serial port.
178
   //#define PID_DEBUG // Sends debug data to the serial port.
181
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
179
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
180
+  //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
181
+  //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders)
182
+                                    // Set/get with gcode: M301 E[extruder number, 0-2]
182
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
183
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
183
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
184
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
184
-  #define PID_INTEGRAL_DRIVE_MAX 255  //limit for the integral term
185
+  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
185
   #define K1 0.95 //smoothing factor within the PID
186
   #define K1 0.95 //smoothing factor within the PID
186
   #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
187
   #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
187
 
188
 
202
 //    #define  DEFAULT_Kd 440
203
 //    #define  DEFAULT_Kd 440
203
 #endif // PIDTEMP
204
 #endif // PIDTEMP
204
 
205
 
205
-
206
 //===========================================================================
206
 //===========================================================================
207
 //============================= PID > Bed Temperature Control ===============
207
 //============================= PID > Bed Temperature Control ===============
208
 //===========================================================================
208
 //===========================================================================
254
 #define EXTRUDE_MINTEMP 170
254
 #define EXTRUDE_MINTEMP 170
255
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
255
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
256
 
256
 
257
-
258
 //===========================================================================
257
 //===========================================================================
259
 //============================= Thermal Runaway Protection ==================
258
 //============================= Thermal Runaway Protection ==================
260
 //===========================================================================
259
 //===========================================================================
296
 
295
 
297
 
296
 
298
 //===========================================================================
297
 //===========================================================================
299
-//============================ Mechanical Settings ==========================
298
+//============================= Mechanical Settings =========================
300
 //===========================================================================
299
 //===========================================================================
301
 
300
 
302
-// Uncomment the following line to enable CoreXY kinematics
301
+// Uncomment this option to enable CoreXY kinematics
303
 // #define COREXY
302
 // #define COREXY
304
 
303
 
304
+// Enable this option for Toshiba steppers
305
+// #define CONFIG_STEPPERS_TOSHIBA
306
+
305
 // coarse Endstop Settings
307
 // coarse Endstop Settings
306
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
308
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
307
 
309
 
334
 //#define DISABLE_MAX_ENDSTOPS
336
 //#define DISABLE_MAX_ENDSTOPS
335
 //#define DISABLE_MIN_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
336
 
338
 
337
-// Disable max endstops for compatibility with endstop checking routine
338
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
339
-  #define DISABLE_MAX_ENDSTOPS
340
-#endif
341
-
342
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
339
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
343
 #define X_ENABLE_ON 0
340
 #define X_ENABLE_ON 0
344
 #define Y_ENABLE_ON 0
341
 #define Y_ENABLE_ON 0
391
 
388
 
392
 #ifdef ENABLE_AUTO_BED_LEVELING
389
 #ifdef ENABLE_AUTO_BED_LEVELING
393
 
390
 
394
-// There are 2 different ways to pick the X and Y locations to probe:
395
-
396
-//  - "grid" mode
397
-//    Probe every point in a rectangular grid
398
-//    You must specify the rectangle, and the density of sample points
399
-//    This mode is preferred because there are more measurements.
400
-//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
401
-
402
-//  - "3-point" mode
403
-//    Probe 3 arbitrary points on the bed (that aren't colinear)
404
-//    You must specify the X & Y coordinates of all 3 points
405
-
391
+  // There are 2 different ways to specify probing locations
392
+  //
393
+  // - "grid" mode
394
+  //   Probe several points in a rectangular grid.
395
+  //   You specify the rectangle and the density of sample points.
396
+  //   This mode is preferred because there are more measurements.
397
+  //
398
+  // - "3-point" mode
399
+  //   Probe 3 arbitrary points on the bed (that aren't colinear)
400
+  //   You specify the XY coordinates of all 3 points.
401
+
402
+  // Enable this to sample the bed in a grid (least squares solution)
403
+  // Note: this feature generates 10KB extra code size
406
   #define AUTO_BED_LEVELING_GRID
404
   #define AUTO_BED_LEVELING_GRID
407
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
408
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
409
-  // and least squares solution is calculated
410
-  // Note: this feature occupies 10'206 byte
405
+
411
   #ifdef AUTO_BED_LEVELING_GRID
406
   #ifdef AUTO_BED_LEVELING_GRID
412
 
407
 
413
-    // set the rectangle in which to probe
408
+    // The edges of the rectangle in which to probe
414
     #define LEFT_PROBE_BED_POSITION 15
409
     #define LEFT_PROBE_BED_POSITION 15
415
     #define RIGHT_PROBE_BED_POSITION 170
410
     #define RIGHT_PROBE_BED_POSITION 170
416
-    #define BACK_PROBE_BED_POSITION 180
417
     #define FRONT_PROBE_BED_POSITION 20
411
     #define FRONT_PROBE_BED_POSITION 20
412
+    #define BACK_PROBE_BED_POSITION 170
418
 
413
 
419
-     // set the number of grid points per dimension
420
-     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
414
+    // Set the number of grid points per dimension
415
+    // You probably don't need more than 3 (squared=9)
421
     #define AUTO_BED_LEVELING_GRID_POINTS 2
416
     #define AUTO_BED_LEVELING_GRID_POINTS 2
422
 
417
 
423
 
418
 
424
-  #else  // not AUTO_BED_LEVELING_GRID
425
-    // with no grid, just probe 3 arbitrary points.  A simple cross-product
426
-    // is used to esimate the plane of the print bed
419
+  #else  // !AUTO_BED_LEVELING_GRID
427
 
420
 
421
+      // Arbitrary points to probe. A simple cross-product
422
+      // is used to estimate the plane of the bed.
428
       #define ABL_PROBE_PT_1_X 15
423
       #define ABL_PROBE_PT_1_X 15
429
       #define ABL_PROBE_PT_1_Y 180
424
       #define ABL_PROBE_PT_1_Y 180
430
       #define ABL_PROBE_PT_2_X 15
425
       #define ABL_PROBE_PT_2_X 15
435
   #endif // AUTO_BED_LEVELING_GRID
430
   #endif // AUTO_BED_LEVELING_GRID
436
 
431
 
437
 
432
 
438
-  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
439
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
440
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
441
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
433
+  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
434
+  // X and Y offsets must be integers
435
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // -left  +right
436
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // -front +behind
437
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
442
 
438
 
443
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
439
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
444
                                         // Be sure you have this distance over your Z_MAX_POS in case
440
                                         // Be sure you have this distance over your Z_MAX_POS in case
514
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
510
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
515
 
511
 
516
 
512
 
517
-//===========================================================================
518
-//============================ Additional Features ==========================
519
-//===========================================================================
513
+//=============================================================================
514
+//============================= Additional Features ===========================
515
+//=============================================================================
520
 
516
 
521
 // Custom M code points
517
 // Custom M code points
522
 #define CUSTOM_M_CODES
518
 #define CUSTOM_M_CODES
547
 #define ABS_PREHEAT_HPB_TEMP 100
543
 #define ABS_PREHEAT_HPB_TEMP 100
548
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
544
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
549
 
545
 
550
-//LCD and SD support
546
+//==============================LCD and SD support=============================
547
+
548
+// Define your display language below. Replace (en) with your language code and uncomment.
549
+// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu
550
+// See also language.h
551
+//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
551
 
552
 
552
 // Character based displays can have different extended charsets.
553
 // Character based displays can have different extended charsets.
553
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
554
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
713
 // Shift register panels
714
 // Shift register panels
714
 // ---------------------
715
 // ---------------------
715
 // 2 wire Non-latching LCD SR from:
716
 // 2 wire Non-latching LCD SR from:
716
-// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
717
-//#define SR_LCD
718
-#ifdef SR_LCD
719
-   #define SR_LCD_2W_NL    // Non latching 2 wire shift register
720
-   //#define NEWPANEL
717
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection 
718
+
719
+//#define SAV_3DLCD
720
+#ifdef SAV_3DLCD
721
+   #define SR_LCD_2W_NL    // Non latching 2 wire shiftregister
722
+   #define NEWPANEL
723
+   #define ULTIPANEL
721
 #endif
724
 #endif
722
 
725
 
723
 
726
 
726
   #define SDSUPPORT
729
   #define SDSUPPORT
727
   #define ULTRA_LCD
730
   #define ULTRA_LCD
728
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
731
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
729
-    #define LCD_WIDTH 20
732
+    #define LCD_WIDTH 22
730
     #define LCD_HEIGHT 5
733
     #define LCD_HEIGHT 5
731
   #else
734
   #else
732
     #define LCD_WIDTH 20
735
     #define LCD_WIDTH 20
735
 #else //no panel but just LCD
738
 #else //no panel but just LCD
736
   #ifdef ULTRA_LCD
739
   #ifdef ULTRA_LCD
737
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
740
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
738
-    #define LCD_WIDTH 20
741
+    #define LCD_WIDTH 22
739
     #define LCD_HEIGHT 5
742
     #define LCD_HEIGHT 5
740
   #else
743
   #else
741
     #define LCD_WIDTH 16
744
     #define LCD_WIDTH 16

+ 64
- 68
Marlin/example_configurations/tvrrug/Round2/Configuration.h Datei anzeigen

8
 //===========================================================================
8
 //===========================================================================
9
 /*
9
 /*
10
 Here are some standard links for getting your machine calibrated:
10
 Here are some standard links for getting your machine calibrated:
11
- * http://reprap.org/wiki/Calibration 
11
+ * http://reprap.org/wiki/Calibration
12
  * http://youtu.be/wAL9d7FgInk
12
  * http://youtu.be/wAL9d7FgInk
13
  * http://calculator.josefprusa.cz
13
  * http://calculator.josefprusa.cz
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
14
  * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
17
  * http://www.thingiverse.com/thing:298812
17
  * http://www.thingiverse.com/thing:298812
18
 */
18
 */
19
 
19
 
20
-
21
 // This configuration file contains the basic settings.
20
 // This configuration file contains the basic settings.
22
 // Advanced settings can be found in Configuration_adv.h
21
 // Advanced settings can be found in Configuration_adv.h
23
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
22
 // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
24
 
23
 
25
-
26
 //===========================================================================
24
 //===========================================================================
27
 //============================= DELTA Printer ===============================
25
 //============================= DELTA Printer ===============================
28
 //===========================================================================
26
 //===========================================================================
30
 // example_configurations/delta directory.
28
 // example_configurations/delta directory.
31
 //
29
 //
32
 
30
 
33
-
34
 //===========================================================================
31
 //===========================================================================
35
 //============================= SCARA Printer ===============================
32
 //============================= SCARA Printer ===============================
36
 //===========================================================================
33
 //===========================================================================
84
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
81
 // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
85
 // #define PS_DEFAULT_OFF
82
 // #define PS_DEFAULT_OFF
86
 
83
 
87
-
88
 //===========================================================================
84
 //===========================================================================
89
 //============================= Thermal Settings ============================
85
 //============================= Thermal Settings ============================
90
 //===========================================================================
86
 //===========================================================================
122
 // 1010 is Pt1000 with 1k pullup (non standard)
118
 // 1010 is Pt1000 with 1k pullup (non standard)
123
 // 147 is Pt100 with 4k7 pullup
119
 // 147 is Pt100 with 4k7 pullup
124
 // 110 is Pt100 with 1k pullup (non standard)
120
 // 110 is Pt100 with 1k pullup (non standard)
121
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below. 
122
+//     Use it for Testing or Development purposes. NEVER for production machine.
123
+//     #define DUMMY_THERMISTOR_998_VALUE 25
124
+//     #define DUMMY_THERMISTOR_999_VALUE 100
125
 
125
 
126
 #define TEMP_SENSOR_0 5
126
 #define TEMP_SENSOR_0 5
127
 #define TEMP_SENSOR_1 0
127
 #define TEMP_SENSOR_1 0
156
 #define HEATER_3_MAXTEMP 275
156
 #define HEATER_3_MAXTEMP 275
157
 #define BED_MAXTEMP 150
157
 #define BED_MAXTEMP 150
158
 
158
 
159
-#define CONFIG_STEPPERS_TOSHIBA	1
160
-
161
 // If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
159
 // If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
162
 // average current. The value should be an integer and the heat bed will be turned on for 1 interval of
160
 // average current. The value should be an integer and the heat bed will be turned on for 1 interval of
163
 // HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
161
 // HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
167
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
165
 //#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
168
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
166
 //#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
169
 
167
 
170
-
171
 //===========================================================================
168
 //===========================================================================
172
 //============================= PID Settings ================================
169
 //============================= PID Settings ================================
173
 //===========================================================================
170
 //===========================================================================
176
 // Comment the following line to disable PID and enable bang-bang.
173
 // Comment the following line to disable PID and enable bang-bang.
177
 #define PIDTEMP
174
 #define PIDTEMP
178
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
175
 #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
179
-#define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
176
+#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
180
 #ifdef PIDTEMP
177
 #ifdef PIDTEMP
181
   //#define PID_DEBUG // Sends debug data to the serial port.
178
   //#define PID_DEBUG // Sends debug data to the serial port.
182
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
179
   //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
180
+  //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
181
+  //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders)
182
+                                    // Set/get with gcode: M301 E[extruder number, 0-2]
183
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
183
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
184
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
184
                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
185
-  #define PID_INTEGRAL_DRIVE_MAX 255  //limit for the integral term
185
+  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
186
   #define K1 0.95 //smoothing factor within the PID
186
   #define K1 0.95 //smoothing factor within the PID
187
   #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
187
   #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
188
 
188
 
208
 //    #define  DEFAULT_Kd 440
208
 //    #define  DEFAULT_Kd 440
209
 #endif // PIDTEMP
209
 #endif // PIDTEMP
210
 
210
 
211
-
212
 //===========================================================================
211
 //===========================================================================
213
 //============================= PID > Bed Temperature Control ===============
212
 //============================= PID > Bed Temperature Control ===============
214
 //===========================================================================
213
 //===========================================================================
257
 #define EXTRUDE_MINTEMP 170
256
 #define EXTRUDE_MINTEMP 170
258
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
257
 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
259
 
258
 
260
-
261
 //===========================================================================
259
 //===========================================================================
262
 //============================= Thermal Runaway Protection ==================
260
 //============================= Thermal Runaway Protection ==================
263
 //===========================================================================
261
 //===========================================================================
299
 
297
 
300
 
298
 
301
 //===========================================================================
299
 //===========================================================================
302
-//============================ Mechanical Settings ==========================
300
+//============================= Mechanical Settings =========================
303
 //===========================================================================
301
 //===========================================================================
304
 
302
 
305
-// Uncomment the following line to enable CoreXY kinematics
303
+// Uncomment this option to enable CoreXY kinematics
306
 // #define COREXY
304
 // #define COREXY
307
 
305
 
306
+// Enable this option for Toshiba steppers
307
+#define CONFIG_STEPPERS_TOSHIBA
308
+
308
 // coarse Endstop Settings
309
 // coarse Endstop Settings
309
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
310
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
310
 
311
 
337
 //#define DISABLE_MAX_ENDSTOPS
338
 //#define DISABLE_MAX_ENDSTOPS
338
 //#define DISABLE_MIN_ENDSTOPS
339
 //#define DISABLE_MIN_ENDSTOPS
339
 
340
 
340
-// Disable max endstops for compatibility with endstop checking routine
341
-#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
342
-  #define DISABLE_MAX_ENDSTOPS
343
-#endif
344
-
345
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
341
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
346
 #define X_ENABLE_ON 1
342
 #define X_ENABLE_ON 1
347
 #define Y_ENABLE_ON 1
343
 #define Y_ENABLE_ON 1
394
 
390
 
395
 #ifdef ENABLE_AUTO_BED_LEVELING
391
 #ifdef ENABLE_AUTO_BED_LEVELING
396
 
392
 
397
-// There are 2 different ways to pick the X and Y locations to probe:
398
-
399
-//  - "grid" mode
400
-//    Probe every point in a rectangular grid
401
-//    You must specify the rectangle, and the density of sample points
402
-//    This mode is preferred because there are more measurements.
403
-//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
404
-
405
-//  - "3-point" mode
406
-//    Probe 3 arbitrary points on the bed (that aren't colinear)
407
-//    You must specify the X & Y coordinates of all 3 points
408
-
393
+  // There are 2 different ways to specify probing locations
394
+  //
395
+  // - "grid" mode
396
+  //   Probe several points in a rectangular grid.
397
+  //   You specify the rectangle and the density of sample points.
398
+  //   This mode is preferred because there are more measurements.
399
+  //
400
+  // - "3-point" mode
401
+  //   Probe 3 arbitrary points on the bed (that aren't colinear)
402
+  //   You specify the XY coordinates of all 3 points.
403
+
404
+  // Enable this to sample the bed in a grid (least squares solution)
405
+  // Note: this feature generates 10KB extra code size
409
   #define AUTO_BED_LEVELING_GRID
406
   #define AUTO_BED_LEVELING_GRID
410
-  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
411
-  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
412
-  // and least squares solution is calculated
413
-  // Note: this feature occupies 10'206 byte
407
+
414
   #ifdef AUTO_BED_LEVELING_GRID
408
   #ifdef AUTO_BED_LEVELING_GRID
415
 
409
 
416
-    // set the rectangle in which to probe
410
+    // The edges of the rectangle in which to probe
417
     #define LEFT_PROBE_BED_POSITION 15
411
     #define LEFT_PROBE_BED_POSITION 15
418
     #define RIGHT_PROBE_BED_POSITION 170
412
     #define RIGHT_PROBE_BED_POSITION 170
419
-    #define BACK_PROBE_BED_POSITION 180
420
     #define FRONT_PROBE_BED_POSITION 20
413
     #define FRONT_PROBE_BED_POSITION 20
414
+    #define BACK_PROBE_BED_POSITION 170
421
 
415
 
422
-     // set the number of grid points per dimension
423
-     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
416
+    // Set the number of grid points per dimension
417
+    // You probably don't need more than 3 (squared=9)
424
     #define AUTO_BED_LEVELING_GRID_POINTS 2
418
     #define AUTO_BED_LEVELING_GRID_POINTS 2
425
 
419
 
426
 
420
 
427
-  #else  // not AUTO_BED_LEVELING_GRID
428
-    // with no grid, just probe 3 arbitrary points.  A simple cross-product
429
-    // is used to esimate the plane of the print bed
421
+  #else  // !AUTO_BED_LEVELING_GRID
430
 
422
 
423
+      // Arbitrary points to probe. A simple cross-product
424
+      // is used to estimate the plane of the bed.
431
       #define ABL_PROBE_PT_1_X 15
425
       #define ABL_PROBE_PT_1_X 15
432
       #define ABL_PROBE_PT_1_Y 180
426
       #define ABL_PROBE_PT_1_Y 180
433
       #define ABL_PROBE_PT_2_X 15
427
       #define ABL_PROBE_PT_2_X 15
438
   #endif // AUTO_BED_LEVELING_GRID
432
   #endif // AUTO_BED_LEVELING_GRID
439
 
433
 
440
 
434
 
441
-  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
442
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
443
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
444
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
435
+  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
436
+  // X and Y offsets must be integers
437
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // -left  +right
438
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // -front +behind
439
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
445
 
440
 
446
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
441
   #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
447
                                         // Be sure you have this distance over your Z_MAX_POS in case
442
                                         // Be sure you have this distance over your Z_MAX_POS in case
498
 
493
 
499
 // default settings
494
 // default settings
500
 
495
 
501
-//#define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200.0*8/3,760*1.1}  // default steps per unit for Ultimaker
502
-//#define //DEFAULT_AXIS_STEPS_PER_UNIT   {79.87, 79.87, 2566, 563,78} // Al's TVRR
496
+//#define DEFAULT_AXIS_STEPS_PER_UNIT   {79.87, 79.87, 2566, 563,78} // Al's TVRR
503
 //#define DEFAULT_AXIS_STEPS_PER_UNIT   {81.26, 80.01, 2561, 599.14} // Michel TVRR old
497
 //#define DEFAULT_AXIS_STEPS_PER_UNIT   {81.26, 80.01, 2561, 599.14} // Michel TVRR old
504
 //#define DEFAULT_AXIS_STEPS_PER_UNIT   {71.1, 71.1, 2560, 739.65} // Michel TVRR
498
 //#define DEFAULT_AXIS_STEPS_PER_UNIT   {71.1, 71.1, 2560, 739.65} // Michel TVRR
505
 #define DEFAULT_AXIS_STEPS_PER_UNIT   {71.1, 71.1, 2560, 600} // David TVRR
499
 #define DEFAULT_AXIS_STEPS_PER_UNIT   {71.1, 71.1, 2560, 600} // David TVRR
506
-
507
-
508
-
509
-//#define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 25}    // (mm/sec) default
510
 #define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 45}    // (mm/sec) David TVRR   
500
 #define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 45}    // (mm/sec) David TVRR   
511
 #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.
501
 #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.
512
 
502
 
513
 /* MICHEL: This has an impact on the "ripples" in print walls */
503
 /* MICHEL: This has an impact on the "ripples" in print walls */
514
-#define DEFAULT_ACCELERATION          500    // X, Y, Z and E max acceleration in mm/s^2 for printing moves 
515
-//#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
504
+#define DEFAULT_ACCELERATION          500    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
516
 #define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for retracts
505
 #define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for retracts
517
 
506
 
518
 // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
507
 // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
527
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
516
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
528
 
517
 
529
 
518
 
530
-//===========================================================================
531
-//============================ Additional Features ==========================
532
-//===========================================================================
519
+//=============================================================================
520
+//============================= Additional Features ===========================
521
+//=============================================================================
533
 
522
 
534
 // Custom M code points
523
 // Custom M code points
535
 #define CUSTOM_M_CODES
524
 #define CUSTOM_M_CODES
560
 #define ABS_PREHEAT_HPB_TEMP 100
549
 #define ABS_PREHEAT_HPB_TEMP 100
561
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
550
 #define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
562
 
551
 
563
-//LCD and SD support
552
+//==============================LCD and SD support=============================
553
+
554
+// Define your display language below. Replace (en) with your language code and uncomment.
555
+// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu
556
+// See also language.h
557
+//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
564
 
558
 
565
 // Character based displays can have different extended charsets.
559
 // Character based displays can have different extended charsets.
566
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
560
 #define DISPLAY_CHARSET_HD44780_JAPAN     // "ääööüüß23°"
726
 // Shift register panels
720
 // Shift register panels
727
 // ---------------------
721
 // ---------------------
728
 // 2 wire Non-latching LCD SR from:
722
 // 2 wire Non-latching LCD SR from:
729
-// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
730
-//#define SR_LCD
731
-#ifdef SR_LCD
732
-   #define SR_LCD_2W_NL    // Non latching 2 wire shift register
733
-   //#define NEWPANEL
723
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection 
724
+
725
+//#define SAV_3DLCD
726
+#ifdef SAV_3DLCD
727
+   #define SR_LCD_2W_NL    // Non latching 2 wire shiftregister
728
+   #define NEWPANEL
729
+   #define ULTIPANEL
734
 #endif
730
 #endif
735
 
731
 
736
 
732
 
739
   #define SDSUPPORT
735
   #define SDSUPPORT
740
   #define ULTRA_LCD
736
   #define ULTRA_LCD
741
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
737
   #ifdef DOGLCD // Change number of lines to match the DOG graphic display
742
-    #define LCD_WIDTH 20
738
+    #define LCD_WIDTH 22
743
     #define LCD_HEIGHT 5
739
     #define LCD_HEIGHT 5
744
   #else
740
   #else
745
     #define LCD_WIDTH 20
741
     #define LCD_WIDTH 20
748
 #else //no panel but just LCD
744
 #else //no panel but just LCD
749
   #ifdef ULTRA_LCD
745
   #ifdef ULTRA_LCD
750
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
746
   #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
751
-    #define LCD_WIDTH 20
747
+    #define LCD_WIDTH 22
752
     #define LCD_HEIGHT 5
748
     #define LCD_HEIGHT 5
753
   #else
749
   #else
754
     #define LCD_WIDTH 16
750
     #define LCD_WIDTH 16
832
 // Uncomment below to enable
828
 // Uncomment below to enable
833
 //#define FILAMENT_SENSOR
829
 //#define FILAMENT_SENSOR
834
 
830
 
835
-#define FILAMENT_SENSOR_EXTRUDER_NUM  0  //The number of the extruder that has the filament sensor (0,1,2)
836
-#define MEASUREMENT_DELAY_CM      14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
831
+#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
832
+#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
837
 
833
 
838
 #define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
834
 #define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
839
 #define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
835
 #define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
840
 #define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
836
 #define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
841
-#define MAX_MEASUREMENT_DELAY     20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
837
+#define 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)
842
 
838
 
843
 //defines used in the code
839
 //defines used in the code
844
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
840
 #define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 

+ 3
- 0
Marlin/fastio.h Datei anzeigen

83
 /// check if pin is an timer wrapper
83
 /// check if pin is an timer wrapper
84
 #define GET_TIMER(IO)  _GET_TIMER(IO)
84
 #define GET_TIMER(IO)  _GET_TIMER(IO)
85
 
85
 
86
+// Shorthand
87
+#define OUT_WRITE(IO, v) { SET_OUTPUT(IO); WRITE(IO, v); }
88
+
86
 /*
89
 /*
87
 	ports and functions
90
 	ports and functions
88
 
91
 

+ 6
- 4
Marlin/language.h Datei anzeigen

121
 #define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
121
 #define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
122
 #define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
122
 #define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
123
 #define MSG_INVALID_EXTRUDER                "Invalid extruder"
123
 #define MSG_INVALID_EXTRUDER                "Invalid extruder"
124
+#define MSG_INVALID_SOLENOID                "Invalid solenoid"
124
 #define MSG_X_MIN                           "x_min: "
125
 #define MSG_X_MIN                           "x_min: "
125
 #define MSG_X_MAX                           "x_max: "
126
 #define MSG_X_MAX                           "x_max: "
126
 #define MSG_Y_MIN                           "y_min: "
127
 #define MSG_Y_MIN                           "y_min: "
168
 #define MSG_PID_TIMEOUT                     MSG_PID_AUTOTUNE_FAILED " timeout"
169
 #define MSG_PID_TIMEOUT                     MSG_PID_AUTOTUNE_FAILED " timeout"
169
 #define MSG_BIAS                            " bias: "
170
 #define MSG_BIAS                            " bias: "
170
 #define MSG_D                               " d: "
171
 #define MSG_D                               " d: "
171
-#define MSG_MIN                             " min: "
172
-#define MSG_MAX                             " max: "
172
+#define MSG_T_MIN                           " min: "
173
+#define MSG_T_MAX                           " max: "
173
 #define MSG_KU                              " Ku: "
174
 #define MSG_KU                              " Ku: "
174
 #define MSG_TU                              " Tu: "
175
 #define MSG_TU                              " Tu: "
175
 #define MSG_CLASSIC_PID                     " Classic PID "
176
 #define MSG_CLASSIC_PID                     " Classic PID "
225
     #define STR_h3 "3"
226
     #define STR_h3 "3"
226
     #define STR_Deg "\271"
227
     #define STR_Deg "\271"
227
     #define STR_THERMOMETER "\002"
228
     #define STR_THERMOMETER "\002"
228
-  #endif
229
-  #ifdef DISPLAY_CHARSET_HD44780_WESTERN // HD44780 ROM Code: A02 (Western)
229
+  #elif defined(DISPLAY_CHARSET_HD44780_WESTERN) // HD44780 ROM Code: A02 (Western)
230
     #define STR_Ae "\216"
230
     #define STR_Ae "\216"
231
     #define STR_ae "\204"
231
     #define STR_ae "\204"
232
     #define STR_Oe "\211"
232
     #define STR_Oe "\211"
238
     #define STR_h3 "\263"
238
     #define STR_h3 "\263"
239
     #define STR_Deg "\337"
239
     #define STR_Deg "\337"
240
     #define STR_THERMOMETER "\002"
240
     #define STR_THERMOMETER "\002"
241
+  #elif defined(ULTRA_LCD)
242
+    #error You must enable either DISPLAY_CHARSET_HD44780_JAPAN or DISPLAY_CHARSET_HD44780_WESTERN for your LCD controller.
241
   #endif
243
   #endif
242
 #endif
244
 #endif
243
 /*
245
 /*

+ 0
- 6
Marlin/pins_CHEAPTRONIC.h Datei anzeigen

87
 
87
 
88
 // Cheaptronic v1.0 does not use this port
88
 // Cheaptronic v1.0 does not use this port
89
 #define SDCARDDETECT -1
89
 #define SDCARDDETECT -1
90
-
91
-// Encoder rotation values
92
-#define encrot0 0
93
-#define encrot1 2
94
-#define encrot2 3
95
-#define encrot3 1

+ 0
- 6
Marlin/pins_ELEFU_3.h Datei anzeigen

74
   #define BLEN_B           1
74
   #define BLEN_B           1
75
   #define BLEN_A           0
75
   #define BLEN_A           0
76
 
76
 
77
-  //encoder rotation values
78
-  #define encrot0          0
79
-  #define encrot1          2
80
-  #define encrot2          3
81
-  #define encrot3          1
82
-
83
 #endif // RA_CONTROL_PANEL
77
 #endif // RA_CONTROL_PANEL
84
 
78
 
85
 #ifdef RA_DISCO
79
 #ifdef RA_DISCO

+ 0
- 6
Marlin/pins_MEGATRONICS.h Datei anzeigen

83
 
83
 
84
   #define SDCARDDETECT -1   // Ramps does not use this port
84
   #define SDCARDDETECT -1   // Ramps does not use this port
85
 
85
 
86
-    //encoder rotation values
87
-  #define encrot0 0
88
-  #define encrot1 2
89
-  #define encrot2 3
90
-  #define encrot3 1
91
-
92
 #endif // ULTRA_LCD && NEWPANEL
86
 #endif // ULTRA_LCD && NEWPANEL

+ 0
- 6
Marlin/pins_MEGATRONICS_1.h Datei anzeigen

80
 #define BLEN_A 0
80
 #define BLEN_A 0
81
 
81
 
82
 #define SDCARDDETECT -1  // Megatronics does not use this port
82
 #define SDCARDDETECT -1  // Megatronics does not use this port
83
-
84
-// Encoder rotation values
85
-#define encrot0 0
86
-#define encrot1 2
87
-#define encrot2 3
88
-#define encrot3 1

+ 0
- 6
Marlin/pins_MEGATRONICS_2.h Datei anzeigen

95
 #define BLEN_A 0
95
 #define BLEN_A 0
96
 
96
 
97
 #define SDCARDDETECT -1  // Megatronics does not use this port
97
 #define SDCARDDETECT -1  // Megatronics does not use this port
98
-
99
-// Encoder rotation values
100
-#define encrot0 0
101
-#define encrot1 2
102
-#define encrot2 3
103
-#define encrot3 1

+ 0
- 6
Marlin/pins_MEGATRONICS_3.h Datei anzeigen

95
 #define BLEN_A 0
95
 #define BLEN_A 0
96
 
96
 
97
 #define SDCARDDETECT -1	// Megatronics does not use this port
97
 #define SDCARDDETECT -1	// Megatronics does not use this port
98
-
99
-// Encoder rotation values
100
-#define encrot0 0
101
-#define encrot1 2
102
-#define encrot2 3
103
-#define encrot3 1

+ 0
- 11
Marlin/pins_RAMBO.h Datei anzeigen

116
 
116
 
117
     #define SDCARDDETECT 81    // Ramps does not use this port
117
     #define SDCARDDETECT 81    // Ramps does not use this port
118
 
118
 
119
-    //encoder rotation values
120
-    #define encrot0 0
121
-    #define encrot1 2
122
-    #define encrot2 3
123
-    #define encrot3 1
124
   #else //!NEWPANEL - old style panel with shift register
119
   #else //!NEWPANEL - old style panel with shift register
125
     //arduino pin witch triggers an piezzo beeper
120
     //arduino pin witch triggers an piezzo beeper
126
     #define BEEPER 33    No Beeper added
121
     #define BEEPER 33    No Beeper added
138
     #define LCD_PINS_D6 27
133
     #define LCD_PINS_D6 27
139
     #define LCD_PINS_D7 29
134
     #define LCD_PINS_D7 29
140
 
135
 
141
-    //encoder rotation values
142
-    #define encrot0 0
143
-    #define encrot1 2
144
-    #define encrot2 3
145
-    #define encrot3 1
146
-
147
     //bits in the shift register that carry the buttons for:
136
     //bits in the shift register that carry the buttons for:
148
     // left up center down right red
137
     // left up center down right red
149
     #define BL_LE 7
138
     #define BL_LE 7

+ 20
- 27
Marlin/stepper.cpp Datei anzeigen

187
      SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
187
      SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
188
      LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
188
      LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
189
    }
189
    }
190
-   SERIAL_ECHOLN("");
190
+   SERIAL_EOL;
191
    endstop_x_hit=false;
191
    endstop_x_hit=false;
192
    endstop_y_hit=false;
192
    endstop_y_hit=false;
193
    endstop_z_hit=false;
193
    endstop_z_hit=false;
554
       #endif //ADVANCE
554
       #endif //ADVANCE
555
 
555
 
556
       counter_x += current_block->steps_x;
556
       counter_x += current_block->steps_x;
557
+
557
 #ifdef CONFIG_STEPPERS_TOSHIBA
558
 #ifdef CONFIG_STEPPERS_TOSHIBA
558
-	/* The toshiba stepper controller require much longer pulses
559
-	 * tjerfore we 'stage' decompose the pulses between high, and
560
-	 * low instead of doing each in turn. The extra tests add enough
561
-	 * lag to allow it work with without needing NOPs */ 
562
-      if (counter_x > 0) {
563
-        X_STEP_WRITE(HIGH);
564
-      }
559
+    /* The Toshiba stepper controller require much longer pulses.
560
+     * So we 'stage' decompose the pulses between high and low
561
+     * instead of doing each in turn. The extra tests add enough
562
+     * lag to allow it work with without needing NOPs
563
+     */
564
+      if (counter_x > 0) X_STEP_WRITE(HIGH);
565
 
565
 
566
       counter_y += current_block->steps_y;
566
       counter_y += current_block->steps_y;
567
-      if (counter_y > 0) {
568
-        Y_STEP_WRITE( HIGH);
569
-      }
567
+      if (counter_y > 0) Y_STEP_WRITE(HIGH);
570
 
568
 
571
       counter_z += current_block->steps_z;
569
       counter_z += current_block->steps_z;
572
-      if (counter_z > 0) {
573
-        Z_STEP_WRITE( HIGH);
574
-      }
570
+      if (counter_z > 0) Z_STEP_WRITE(HIGH);
575
 
571
 
576
       #ifndef ADVANCE
572
       #ifndef ADVANCE
577
         counter_e += current_block->steps_e;
573
         counter_e += current_block->steps_e;
578
-        if (counter_e > 0) {
579
-          WRITE_E_STEP(HIGH);
580
-        }
574
+        if (counter_e > 0) WRITE_E_STEP(HIGH);
581
       #endif //!ADVANCE
575
       #endif //!ADVANCE
582
 
576
 
583
       if (counter_x > 0) {
577
       if (counter_x > 0) {
584
         counter_x -= current_block->step_event_count;
578
         counter_x -= current_block->step_event_count;
585
-        count_position[X_AXIS]+=count_direction[X_AXIS];   
579
+        count_position[X_AXIS] += count_direction[X_AXIS];   
586
         X_STEP_WRITE(LOW);
580
         X_STEP_WRITE(LOW);
587
       }
581
       }
588
 
582
 
589
       if (counter_y > 0) {
583
       if (counter_y > 0) {
590
         counter_y -= current_block->step_event_count;
584
         counter_y -= current_block->step_event_count;
591
-        count_position[Y_AXIS]+=count_direction[Y_AXIS];
585
+        count_position[Y_AXIS] += count_direction[Y_AXIS];
592
         Y_STEP_WRITE( LOW);
586
         Y_STEP_WRITE( LOW);
593
       }
587
       }
594
 
588
 
595
       if (counter_z > 0) {
589
       if (counter_z > 0) {
596
         counter_z -= current_block->step_event_count;
590
         counter_z -= current_block->step_event_count;
597
-        count_position[Z_AXIS]+=count_direction[Z_AXIS];
591
+        count_position[Z_AXIS] += count_direction[Z_AXIS];
598
         Z_STEP_WRITE(LOW);
592
         Z_STEP_WRITE(LOW);
599
       }
593
       }
600
 
594
 
601
       #ifndef ADVANCE
595
       #ifndef ADVANCE
602
         if (counter_e > 0) {
596
         if (counter_e > 0) {
603
           counter_e -= current_block->step_event_count;
597
           counter_e -= current_block->step_event_count;
604
-          count_position[E_AXIS]+=count_direction[E_AXIS];
598
+          count_position[E_AXIS] += count_direction[E_AXIS];
605
           WRITE_E_STEP(LOW);
599
           WRITE_E_STEP(LOW);
606
         }
600
         }
607
       #endif //!ADVANCE
601
       #endif //!ADVANCE
622
           X_STEP_WRITE(!INVERT_X_STEP_PIN);
616
           X_STEP_WRITE(!INVERT_X_STEP_PIN);
623
         #endif        
617
         #endif        
624
           counter_x -= current_block->step_event_count;
618
           counter_x -= current_block->step_event_count;
625
-          count_position[X_AXIS]+=count_direction[X_AXIS];   
619
+          count_position[X_AXIS] += count_direction[X_AXIS];   
626
         #ifdef DUAL_X_CARRIAGE
620
         #ifdef DUAL_X_CARRIAGE
627
           if (extruder_duplication_enabled){
621
           if (extruder_duplication_enabled){
628
             X_STEP_WRITE(INVERT_X_STEP_PIN);
622
             X_STEP_WRITE(INVERT_X_STEP_PIN);
648
 		  #endif
642
 		  #endif
649
 		  
643
 		  
650
           counter_y -= current_block->step_event_count;
644
           counter_y -= current_block->step_event_count;
651
-          count_position[Y_AXIS]+=count_direction[Y_AXIS];
645
+          count_position[Y_AXIS] += count_direction[Y_AXIS];
652
           Y_STEP_WRITE(INVERT_Y_STEP_PIN);
646
           Y_STEP_WRITE(INVERT_Y_STEP_PIN);
653
 		  
647
 		  
654
 		  #ifdef Y_DUAL_STEPPER_DRIVERS
648
 		  #ifdef Y_DUAL_STEPPER_DRIVERS
659
       counter_z += current_block->steps_z;
653
       counter_z += current_block->steps_z;
660
       if (counter_z > 0) {
654
       if (counter_z > 0) {
661
         Z_STEP_WRITE( !INVERT_Z_STEP_PIN);
655
         Z_STEP_WRITE( !INVERT_Z_STEP_PIN);
662
-        
663
         #ifdef Z_DUAL_STEPPER_DRIVERS
656
         #ifdef Z_DUAL_STEPPER_DRIVERS
664
           Z2_STEP_WRITE(!INVERT_Z_STEP_PIN);
657
           Z2_STEP_WRITE(!INVERT_Z_STEP_PIN);
665
         #endif
658
         #endif
666
 
659
 
667
         counter_z -= current_block->step_event_count;
660
         counter_z -= current_block->step_event_count;
668
-        count_position[Z_AXIS]+=count_direction[Z_AXIS];
661
+        count_position[Z_AXIS] += count_direction[Z_AXIS];
669
         Z_STEP_WRITE( INVERT_Z_STEP_PIN);
662
         Z_STEP_WRITE( INVERT_Z_STEP_PIN);
670
-        
663
+
671
         #ifdef Z_DUAL_STEPPER_DRIVERS
664
         #ifdef Z_DUAL_STEPPER_DRIVERS
672
           Z2_STEP_WRITE(INVERT_Z_STEP_PIN);
665
           Z2_STEP_WRITE(INVERT_Z_STEP_PIN);
673
         #endif
666
         #endif
678
         if (counter_e > 0) {
671
         if (counter_e > 0) {
679
           WRITE_E_STEP(!INVERT_E_STEP_PIN);
672
           WRITE_E_STEP(!INVERT_E_STEP_PIN);
680
           counter_e -= current_block->step_event_count;
673
           counter_e -= current_block->step_event_count;
681
-          count_position[E_AXIS]+=count_direction[E_AXIS];
674
+          count_position[E_AXIS] += count_direction[E_AXIS];
682
           WRITE_E_STEP(INVERT_E_STEP_PIN);
675
           WRITE_E_STEP(INVERT_E_STEP_PIN);
683
         }
676
         }
684
       #endif //!ADVANCE
677
       #endif //!ADVANCE

+ 6
- 12
Marlin/temperature.cpp Datei anzeigen

296
 
296
 
297
             SERIAL_PROTOCOLPGM(MSG_BIAS); SERIAL_PROTOCOL(bias);
297
             SERIAL_PROTOCOLPGM(MSG_BIAS); SERIAL_PROTOCOL(bias);
298
             SERIAL_PROTOCOLPGM(MSG_D);    SERIAL_PROTOCOL(d);
298
             SERIAL_PROTOCOLPGM(MSG_D);    SERIAL_PROTOCOL(d);
299
-            SERIAL_PROTOCOLPGM(MSG_MIN);  SERIAL_PROTOCOL(min);
300
-            SERIAL_PROTOCOLPGM(MSG_MAX);  SERIAL_PROTOCOLLN(max);
299
+            SERIAL_PROTOCOLPGM(MSG_T_MIN);  SERIAL_PROTOCOL(min);
300
+            SERIAL_PROTOCOLPGM(MSG_T_MAX);  SERIAL_PROTOCOLLN(max);
301
             if (cycles > 2) {
301
             if (cycles > 2) {
302
               Ku = (4.0 * d) / (3.14159265 * (max - min) / 2.0);
302
               Ku = (4.0 * d) / (3.14159265 * (max - min) / 2.0);
303
               Tu = ((float)(t_low + t_high) / 1000.0);
303
               Tu = ((float)(t_low + t_high) / 1000.0);
901
   #ifdef HEATER_0_USES_MAX6675
901
   #ifdef HEATER_0_USES_MAX6675
902
 
902
 
903
     #ifndef SDSUPPORT
903
     #ifndef SDSUPPORT
904
-      SET_OUTPUT(SCK_PIN);
905
-      WRITE(SCK_PIN,0);
906
-    
907
-      SET_OUTPUT(MOSI_PIN);
908
-      WRITE(MOSI_PIN,1);
909
-    
910
-      SET_INPUT(MISO_PIN);
911
-      WRITE(MISO_PIN,1);
904
+      OUT_WRITE(SCK_PIN, LOW);
905
+      OUT_WRITE(MOSI_PIN, HIGH);
906
+      OUT_WRITE(MISO_PIN, HIGH);
912
     #else
907
     #else
913
       pinMode(SS_PIN, OUTPUT);
908
       pinMode(SS_PIN, OUTPUT);
914
       digitalWrite(SS_PIN, HIGH);
909
       digitalWrite(SS_PIN, HIGH);
915
     #endif
910
     #endif
916
     
911
     
917
-    SET_OUTPUT(MAX6675_SS);
918
-    WRITE(MAX6675_SS,1);
912
+    OUT_WRITE(MAX6675_SS,HIGH);
919
 
913
 
920
   #endif //HEATER_0_USES_MAX6675
914
   #endif //HEATER_0_USES_MAX6675
921
 
915
 

+ 11
- 0
Marlin/ultralcd.cpp Datei anzeigen

1394
 
1394
 
1395
 #ifdef ULTIPANEL
1395
 #ifdef ULTIPANEL
1396
 
1396
 
1397
+////////////////////////
1398
+// Setup Rotary Encoder Bit Values (for two pin encoders to indicate movement)
1399
+// These values are independent of which pins are used for EN_A and EN_B indications
1400
+// The rotary encoder part is also independent to the chipset used for the LCD
1401
+#if defined(EN_A) && defined(EN_B)
1402
+  #define encrot0 0
1403
+  #define encrot1 2
1404
+  #define encrot2 3
1405
+  #define encrot3 1
1406
+#endif 
1407
+
1397
 /* Warning: This function is called from interrupt context */
1408
 /* Warning: This function is called from interrupt context */
1398
 void lcd_buttons_update() {
1409
 void lcd_buttons_update() {
1399
   #ifdef NEWPANEL
1410
   #ifdef NEWPANEL

+ 17
- 32
Marlin/ultralcd_implementation_hitachi_HD44780.h Datei anzeigen

123
   #define LCD_CLICKED (buttons&(B_MI|B_ST))
123
   #define LCD_CLICKED (buttons&(B_MI|B_ST))
124
 #endif
124
 #endif
125
 
125
 
126
-////////////////////////
127
-// Setup Rotary Encoder Bit Values (for two pin encoders to indicate movement)
128
-// These values are independent of which pins are used for EN_A and EN_B indications
129
-// The rotary encoder part is also independent to the chipset used for the LCD
130
-#if defined(EN_A) && defined(EN_B)
131
-    #define encrot0 0
132
-    #define encrot1 2
133
-    #define encrot2 3
134
-    #define encrot3 1
135
-#endif 
136
-
137
 #endif //ULTIPANEL
126
 #endif //ULTIPANEL
138
 
127
 
139
 ////////////////////////////////////
128
 ////////////////////////////////////
832
 
821
 
833
 static void lcd_implementation_quick_feedback()
822
 static void lcd_implementation_quick_feedback()
834
 {
823
 {
835
-#ifdef LCD_USE_I2C_BUZZER
836
-	#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
837
-	  lcd_buzz(1000/6,100);
838
-	#else
839
-	  lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS,LCD_FEEDBACK_FREQUENCY_HZ);
840
-	#endif
841
-#elif defined(BEEPER) && BEEPER > -1
824
+  #ifdef LCD_USE_I2C_BUZZER
825
+    #if defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS) && defined(LCD_FEEDBACK_FREQUENCY_HZ)
826
+      lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
827
+    #else
828
+      lcd_buzz(1000/6, 100);
829
+    #endif
830
+  #elif defined(BEEPER) && BEEPER > -1
842
     SET_OUTPUT(BEEPER);
831
     SET_OUTPUT(BEEPER);
843
-	#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
844
-    for(int8_t i=0;i<10;i++)
845
-    {
846
-      WRITE(BEEPER,HIGH);
847
-      delayMicroseconds(100);
848
-      WRITE(BEEPER,LOW);
849
-      delayMicroseconds(100);
850
-    }
832
+    #if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
833
+      const unsigned int delay = 100;
834
+      uint8_t i = 10;
851
     #else
835
     #else
852
-    for(int8_t i=0;i<(LCD_FEEDBACK_FREQUENCY_DURATION_MS / (1000 / LCD_FEEDBACK_FREQUENCY_HZ));i++)
853
-    {
836
+      const unsigned int delay = 1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2;
837
+      int8_t i = LCD_FEEDBACK_FREQUENCY_DURATION_MS * LCD_FEEDBACK_FREQUENCY_HZ / 1000;
838
+    #endif
839
+    while (i--) {
854
       WRITE(BEEPER,HIGH);
840
       WRITE(BEEPER,HIGH);
855
-      delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
841
+      delayMicroseconds(delay);
856
       WRITE(BEEPER,LOW);
842
       WRITE(BEEPER,LOW);
857
-      delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
843
+      delayMicroseconds(delay);
858
     }
844
     }
859
-    #endif
860
-#endif
845
+  #endif
861
 }
846
 }
862
 
847
 
863
 #ifdef LCD_HAS_STATUS_INDICATORS
848
 #ifdef LCD_HAS_STATUS_INDICATORS

+ 3
- 6
Marlin/ultralcd_st7920_u8glib_rrd.h Datei anzeigen

47
   {
47
   {
48
     case U8G_DEV_MSG_INIT:
48
     case U8G_DEV_MSG_INIT:
49
       {
49
       {
50
-        SET_OUTPUT(ST7920_CS_PIN);
51
-        WRITE(ST7920_CS_PIN,0);
52
-        SET_OUTPUT(ST7920_DAT_PIN);
53
-        WRITE(ST7920_DAT_PIN,0);
54
-        SET_OUTPUT(ST7920_CLK_PIN);
55
-        WRITE(ST7920_CLK_PIN,1);
50
+        OUT_WRITE(ST7920_CS_PIN,LOW);
51
+        OUT_WRITE(ST7920_DAT_PIN,LOW);
52
+        OUT_WRITE(ST7920_CLK_PIN,HIGH);
56
 
53
 
57
         ST7920_CS();
54
         ST7920_CS();
58
         u8g_Delay(120);                 //initial delay for boot up
55
         u8g_Delay(120);                 //initial delay for boot up

+ 12
- 17
Marlin/vector_3.cpp Datei anzeigen

84
 	SERIAL_PROTOCOL(y);
84
 	SERIAL_PROTOCOL(y);
85
 	SERIAL_PROTOCOLPGM(" z: ");
85
 	SERIAL_PROTOCOLPGM(" z: ");
86
 	SERIAL_PROTOCOL(z);
86
 	SERIAL_PROTOCOL(z);
87
-	SERIAL_PROTOCOLPGM("\n");
87
+	SERIAL_EOL;
88
 }
88
 }
89
 
89
 
90
 void apply_rotation_xyz(matrix_3x3 matrix, float &x, float& y, float& z)
90
 void apply_rotation_xyz(matrix_3x3 matrix, float &x, float& y, float& z)
145
   return new_matrix;
145
   return new_matrix;
146
 }
146
 }
147
 
147
 
148
-void matrix_3x3::debug(char* title)
149
-{
150
-	SERIAL_PROTOCOL(title);
151
-	SERIAL_PROTOCOL("\n");
152
-	int count = 0;
153
-	for(int i=0; i<3; i++)
154
-	{
155
-		for(int j=0; j<3; j++)
156
-		{
157
-			SERIAL_PROTOCOL(matrix[count]);
158
-			SERIAL_PROTOCOLPGM(" ");
159
-		        count++;
160
-		}
161
-
162
-		SERIAL_PROTOCOLPGM("\n");
163
-	}
148
+void matrix_3x3::debug(char* title) {
149
+  SERIAL_PROTOCOLLN(title);
150
+  int count = 0;
151
+  for(int i=0; i<3; i++) {
152
+    for(int j=0; j<3; j++) {
153
+      SERIAL_PROTOCOL(matrix[count] + 0.0001);
154
+      SERIAL_PROTOCOLPGM(" ");
155
+      count++;
156
+    }
157
+    SERIAL_EOL;
158
+  }
164
 }
159
 }
165
 
160
 
166
 #endif // #ifdef ENABLE_AUTO_BED_LEVELING
161
 #endif // #ifdef ENABLE_AUTO_BED_LEVELING

+ 3
- 3
README.md Datei anzeigen

41
 
41
 
42
  - Erik van der Zalm ([@ErikZalm](https://github.com/ErikZalm))
42
  - Erik van der Zalm ([@ErikZalm](https://github.com/ErikZalm))
43
  - [@daid](https://github.com/daid)
43
  - [@daid](https://github.com/daid)
44
- 
44
+
45
 Sprinters lead developers are Kliment and caru.
45
 Sprinters lead developers are Kliment and caru.
46
 Grbls lead developer is Simen Svale Skogsrud.
46
 Grbls lead developer is Simen Svale Skogsrud.
47
 Sonney Jeon (Chamnit) improved some parts of grbl
47
 Sonney Jeon (Chamnit) improved some parts of grbl
52
   - Bradley Feldman,
52
   - Bradley Feldman,
53
   - and others...
53
   - and others...
54
 
54
 
55
-## Licence
55
+## License
56
 
56
 
57
-Marlin is published unde the [GPL license](/Documentation/COPYING.md) because I believe in open development.
57
+Marlin is published under the [GPL license](/Documentation/COPYING.md) because I believe in open development.
58
 Please do not use this code in products (3D printers, CNC etc) that are closed source or are crippled by a patent.
58
 Please do not use this code in products (3D printers, CNC etc) that are closed source or are crippled by a patent.
59
 
59
 
60
 [![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=ErikZalm&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software)
60
 [![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=ErikZalm&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software)

Laden…
Abbrechen
Speichern