Browse Source

Add support for BQ heated bed kit with Hephestos 2

João Brázio 8 years ago
parent
commit
2065591daf

+ 11
- 1
Marlin/Conditionals_post.h View File

616
   #else
616
   #else
617
     #define WRITE_HEATER_0(v) WRITE_HEATER_0P(v)
617
     #define WRITE_HEATER_0(v) WRITE_HEATER_0P(v)
618
   #endif
618
   #endif
619
+
620
+  /**
621
+   * Heated bed requires settings
622
+   */
619
   #if HAS_HEATER_BED
623
   #if HAS_HEATER_BED
620
-    #define WRITE_HEATER_BED(v) WRITE(HEATER_BED_PIN, v)
624
+    #ifndef MAX_BED_POWER
625
+      #define MAX_BED_POWER 255
626
+    #endif
627
+    #ifndef HEATER_BED_INVERTING
628
+      #define HEATER_BED_INVERTING false
629
+    #endif
630
+    #define WRITE_HEATER_BED(v) WRITE(HEATER_BED_PIN, (v) ^ HEATER_BED_INVERTING)
621
   #endif
631
   #endif
622
 
632
 
623
   /**
633
   /**

+ 11
- 7
Marlin/Marlin_main.cpp View File

2312
 
2312
 
2313
     const float nx = lx - (X_PROBE_OFFSET_FROM_EXTRUDER), ny = ly - (Y_PROBE_OFFSET_FROM_EXTRUDER);
2313
     const float nx = lx - (X_PROBE_OFFSET_FROM_EXTRUDER), ny = ly - (Y_PROBE_OFFSET_FROM_EXTRUDER);
2314
 
2314
 
2315
-    if (printable)
2315
+    if (printable) {
2316
       if (!position_is_reachable_by_probe_xy(lx, ly)) return NAN;
2316
       if (!position_is_reachable_by_probe_xy(lx, ly)) return NAN;
2317
-    else
2318
-      if (!position_is_reachable_xy(nx, ny)) return NAN;
2317
+    }
2318
+    else if (!position_is_reachable_xy(nx, ny)) return NAN;
2319
 
2319
 
2320
     const float old_feedrate_mm_s = feedrate_mm_s;
2320
     const float old_feedrate_mm_s = feedrate_mm_s;
2321
 
2321
 
4308
       #endif
4308
       #endif
4309
 
4309
 
4310
       ABL_VAR int left_probe_bed_position, right_probe_bed_position, front_probe_bed_position, back_probe_bed_position;
4310
       ABL_VAR int left_probe_bed_position, right_probe_bed_position, front_probe_bed_position, back_probe_bed_position;
4311
-      ABL_VAR float xGridSpacing, yGridSpacing;
4311
+      ABL_VAR float xGridSpacing = 0, yGridSpacing = 0;
4312
 
4312
 
4313
       #if ENABLED(AUTO_BED_LEVELING_LINEAR)
4313
       #if ENABLED(AUTO_BED_LEVELING_LINEAR)
4314
         ABL_VAR uint8_t abl_grid_points_x = GRID_MAX_POINTS_X,
4314
         ABL_VAR uint8_t abl_grid_points_x = GRID_MAX_POINTS_X,
7081
     #endif
7081
     #endif
7082
     const int8_t e=-2
7082
     const int8_t e=-2
7083
   ) {
7083
   ) {
7084
+    #if !(HAS_TEMP_BED && HAS_TEMP_HOTEND) && HOTENDS <= 1
7085
+      UNUSED(e);
7086
+    #endif
7087
+
7084
     SERIAL_PROTOCOLCHAR(' ');
7088
     SERIAL_PROTOCOLCHAR(' ');
7085
     SERIAL_PROTOCOLCHAR(
7089
     SERIAL_PROTOCOLCHAR(
7086
       #if HAS_TEMP_BED && HAS_TEMP_HOTEND
7090
       #if HAS_TEMP_BED && HAS_TEMP_HOTEND
12735
   #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
12739
   #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
12736
     if (ELAPSED(ms, previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL)
12740
     if (ELAPSED(ms, previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL)
12737
       && thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP) {
12741
       && thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP) {
12738
-      bool oldstatus;
12739
       #if ENABLED(SWITCHING_EXTRUDER)
12742
       #if ENABLED(SWITCHING_EXTRUDER)
12740
-        oldstatus = E0_ENABLE_READ;
12743
+        const bool oldstatus = E0_ENABLE_READ;
12741
         enable_E0();
12744
         enable_E0();
12742
       #else // !SWITCHING_EXTRUDER
12745
       #else // !SWITCHING_EXTRUDER
12746
+        bool oldstatus;
12743
         switch (active_extruder) {
12747
         switch (active_extruder) {
12744
-          case 0: oldstatus = E0_ENABLE_READ; enable_E0(); break;
12748
+          default: oldstatus = E0_ENABLE_READ; enable_E0(); break;
12745
           #if E_STEPPERS > 1
12749
           #if E_STEPPERS > 1
12746
             case 1: oldstatus = E1_ENABLE_READ; enable_E1(); break;
12750
             case 1: oldstatus = E1_ENABLE_READ; enable_E1(); break;
12747
             #if E_STEPPERS > 2
12751
             #if E_STEPPERS > 2

+ 45
- 37
Marlin/example_configurations/Hephestos_2/Configuration.h View File

20
  *
20
  *
21
  */
21
  */
22
 
22
 
23
+#ifndef CONFIGURATION_H
24
+#define CONFIGURATION_H
25
+#define CONFIGURATION_H_VERSION 010100
26
+
27
+//===========================================================================
28
+//================================= README ==================================
29
+//===========================================================================
30
+
23
 /**
31
 /**
24
- * Configuration.h
25
- *
26
- * Basic settings such as:
27
- *
28
- * - Type of electronics
29
- * - Type of temperature sensor
30
- * - Printer geometry
31
- * - Endstop configuration
32
- * - LCD controller
33
- * - Extra features
32
+ * BQ Hephestos 2 Configuration
34
  *
33
  *
35
- * Advanced settings can be found in Configuration_adv.h
34
+ * This configuration supports the standard Hephestos 2 with or without the
35
+ * heated bed kit featured at https://store.bq.com/en/heated-bed-kit-hephestos2
36
  *
36
  *
37
+ * Enable the following option to activate all functionality related to the heated bed.
37
  */
38
  */
38
-#ifndef CONFIGURATION_H
39
-#define CONFIGURATION_H
40
-#define CONFIGURATION_H_VERSION 010100
39
+//#define HEPHESTOS2_HEATED_BED_KIT
41
 
40
 
42
 //===========================================================================
41
 //===========================================================================
43
 //============================= Getting Started =============================
42
 //============================= Getting Started =============================
269
 #define TEMP_SENSOR_2 0
268
 #define TEMP_SENSOR_2 0
270
 #define TEMP_SENSOR_3 0
269
 #define TEMP_SENSOR_3 0
271
 #define TEMP_SENSOR_4 0
270
 #define TEMP_SENSOR_4 0
272
-#define TEMP_SENSOR_BED 0
271
+
272
+#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
273
+  #define TEMP_SENSOR_BED 70
274
+  #define HEATER_BED_INVERTING true
275
+#else
276
+  #define TEMP_SENSOR_BED 0
277
+#endif
273
 
278
 
274
 // Dummy thermistor constant temperature readings, for use with 998 and 999
279
 // Dummy thermistor constant temperature readings, for use with 998 and 999
275
 #define DUMMY_THERMISTOR_998_VALUE 25
280
 #define DUMMY_THERMISTOR_998_VALUE 25
293
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
298
 // The minimal temperature defines the temperature below which the heater will not be enabled It is used
294
 // to check that the wiring to the thermistor is not broken.
299
 // to check that the wiring to the thermistor is not broken.
295
 // Otherwise this would lead to the heater being powered on all the time.
300
 // Otherwise this would lead to the heater being powered on all the time.
296
-#define HEATER_0_MINTEMP 15
301
+#define HEATER_0_MINTEMP 5
297
 #define HEATER_1_MINTEMP 5
302
 #define HEATER_1_MINTEMP 5
298
 #define HEATER_2_MINTEMP 5
303
 #define HEATER_2_MINTEMP 5
299
 #define HEATER_3_MINTEMP 5
304
 #define HEATER_3_MINTEMP 5
303
 // When temperature exceeds max temp, your heater will be switched off.
308
 // When temperature exceeds max temp, your heater will be switched off.
304
 // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
309
 // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
305
 // You should use MINTEMP for thermistor short/failure protection.
310
 // You should use MINTEMP for thermistor short/failure protection.
306
-#define HEATER_0_MAXTEMP 250
311
+#define HEATER_0_MAXTEMP 275
307
 #define HEATER_1_MAXTEMP 275
312
 #define HEATER_1_MAXTEMP 275
308
 #define HEATER_2_MAXTEMP 275
313
 #define HEATER_2_MAXTEMP 275
309
 #define HEATER_3_MAXTEMP 275
314
 #define HEATER_3_MAXTEMP 275
310
 #define HEATER_4_MAXTEMP 275
315
 #define HEATER_4_MAXTEMP 275
311
-#define BED_MAXTEMP 150
316
+#define BED_MAXTEMP      110
312
 
317
 
313
 //===========================================================================
318
 //===========================================================================
314
 //============================= PID Settings ================================
319
 //============================= PID Settings ================================
362
 // all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
367
 // all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
363
 // setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
368
 // setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
364
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
369
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
365
-//#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
370
+
371
+#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
372
+  #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
373
+#endif
366
 
374
 
367
 #if ENABLED(PIDTEMPBED)
375
 #if ENABLED(PIDTEMPBED)
368
 
376
 
414
  */
422
  */
415
 
423
 
416
 #define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
424
 #define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
417
-//#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed
425
+#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed
418
 
426
 
419
 //===========================================================================
427
 //===========================================================================
420
 //============================= Mechanical Settings =========================
428
 //============================= Mechanical Settings =========================
499
  * Override with M92
507
  * Override with M92
500
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
508
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
501
  */
509
  */
502
-#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 8000, 204 }
510
+#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 8000, 210.02 }
503
 
511
 
504
 /**
512
 /**
505
  * Default Max Feed Rate (mm/s)
513
  * Default Max Feed Rate (mm/s)
506
  * Override with M203
514
  * Override with M203
507
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
515
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
508
  */
516
  */
509
-#define DEFAULT_MAX_FEEDRATE          { 250, 250, 2, 200 }
517
+#define DEFAULT_MAX_FEEDRATE          { 167, 167, 3.3, 167 }
510
 
518
 
511
 /**
519
 /**
512
  * Default Max Acceleration (change/s) change = mm/s
520
  * Default Max Acceleration (change/s) change = mm/s
514
  * Override with M201
522
  * Override with M201
515
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
523
  *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
516
  */
524
  */
517
-#define DEFAULT_MAX_ACCELERATION      { 800, 800, 20, 1000 }
525
+#define DEFAULT_MAX_ACCELERATION      { 1000, 1000, 100, 3000 }
518
 
526
 
519
 /**
527
 /**
520
  * Default Acceleration (change/s) change = mm/s
528
  * Default Acceleration (change/s) change = mm/s
524
  *   M204 R    Retract Acceleration
532
  *   M204 R    Retract Acceleration
525
  *   M204 T    Travel Acceleration
533
  *   M204 T    Travel Acceleration
526
  */
534
  */
527
-#define DEFAULT_ACCELERATION           800    // X, Y, Z and E acceleration for printing moves
528
-#define DEFAULT_RETRACT_ACCELERATION  1000    // E acceleration for retracts
535
+#define DEFAULT_ACCELERATION          1000    // X, Y, Z and E acceleration for printing moves
536
+#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts
529
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration for travel (non printing) moves
537
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration for travel (non printing) moves
530
 
538
 
531
 /**
539
 /**
536
  * When changing speed and direction, if the difference is less than the
544
  * When changing speed and direction, if the difference is less than the
537
  * value set here, it may happen instantaneously.
545
  * value set here, it may happen instantaneously.
538
  */
546
  */
539
-#define DEFAULT_XJERK                 10.0
540
-#define DEFAULT_YJERK                 10.0
547
+#define DEFAULT_XJERK                 20.0
548
+#define DEFAULT_YJERK                 20.0
541
 #define DEFAULT_ZJERK                  0.4
549
 #define DEFAULT_ZJERK                  0.4
542
 #define DEFAULT_EJERK                  1.0
550
 #define DEFAULT_EJERK                  1.0
543
 
551
 
654
  */
662
  */
655
 #define X_PROBE_OFFSET_FROM_EXTRUDER 34  // X offset: -left  +right  [of the nozzle]
663
 #define X_PROBE_OFFSET_FROM_EXTRUDER 34  // X offset: -left  +right  [of the nozzle]
656
 #define Y_PROBE_OFFSET_FROM_EXTRUDER 15  // Y offset: -front +behind [the nozzle]
664
 #define Y_PROBE_OFFSET_FROM_EXTRUDER 15  // Y offset: -front +behind [the nozzle]
657
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
665
+#define Z_PROBE_OFFSET_FROM_EXTRUDER  0  // Z offset: -below +above  [the nozzle]
658
 
666
 
659
 // X and Y axis travel speed (mm/m) between probes
667
 // X and Y axis travel speed (mm/m) between probes
660
 #define XY_PROBE_SPEED 8000
668
 #define XY_PROBE_SPEED 8000
690
 #define Z_PROBE_OFFSET_RANGE_MAX  0
698
 #define Z_PROBE_OFFSET_RANGE_MAX  0
691
 
699
 
692
 // Enable the M48 repeatability test to test probe accuracy
700
 // Enable the M48 repeatability test to test probe accuracy
693
-//#define Z_MIN_PROBE_REPEATABILITY_TEST
701
+#define Z_MIN_PROBE_REPEATABILITY_TEST
694
 
702
 
695
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
703
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
696
 // :{ 0:'Low', 1:'High' }
704
 // :{ 0:'Low', 1:'High' }
817
  */
825
  */
818
 //#define AUTO_BED_LEVELING_3POINT
826
 //#define AUTO_BED_LEVELING_3POINT
819
 //#define AUTO_BED_LEVELING_LINEAR
827
 //#define AUTO_BED_LEVELING_LINEAR
820
-//#define AUTO_BED_LEVELING_BILINEAR
828
+#define AUTO_BED_LEVELING_BILINEAR
821
 //#define AUTO_BED_LEVELING_UBL
829
 //#define AUTO_BED_LEVELING_UBL
822
 //#define MESH_BED_LEVELING
830
 //#define MESH_BED_LEVELING
823
 
831
 
839
 
847
 
840
   // Set the number of grid points per dimension.
848
   // Set the number of grid points per dimension.
841
   #define GRID_MAX_POINTS_X 3
849
   #define GRID_MAX_POINTS_X 3
842
-  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
850
+  #define GRID_MAX_POINTS_Y 4
843
 
851
 
844
   // Set the boundaries for probing (where the probe can reach).
852
   // Set the boundaries for probing (where the probe can reach).
845
-  #define LEFT_PROBE_BED_POSITION  X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER
853
+  #define LEFT_PROBE_BED_POSITION  X_MIN_POS + (X_PROBE_OFFSET_FROM_EXTRUDER)
846
   #define RIGHT_PROBE_BED_POSITION X_MAX_POS - (X_PROBE_OFFSET_FROM_EXTRUDER)
854
   #define RIGHT_PROBE_BED_POSITION X_MAX_POS - (X_PROBE_OFFSET_FROM_EXTRUDER)
847
-  #define FRONT_PROBE_BED_POSITION Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER
855
+  #define FRONT_PROBE_BED_POSITION Y_MIN_POS + (Y_PROBE_OFFSET_FROM_EXTRUDER)
848
   #define BACK_PROBE_BED_POSITION  Y_MAX_POS - (Y_PROBE_OFFSET_FROM_EXTRUDER)
856
   #define BACK_PROBE_BED_POSITION  Y_MAX_POS - (Y_PROBE_OFFSET_FROM_EXTRUDER)
849
 
857
 
850
   // The Z probe minimum outer margin (to validate G29 parameters).
858
   // The Z probe minimum outer margin (to validate G29 parameters).
1011
 // @section temperature
1019
 // @section temperature
1012
 
1020
 
1013
 // Preheat Constants
1021
 // Preheat Constants
1014
-#define PREHEAT_1_TEMP_HOTEND 210
1015
-#define PREHEAT_1_TEMP_BED     70
1022
+#define PREHEAT_1_TEMP_HOTEND 205
1023
+#define PREHEAT_1_TEMP_BED     50
1016
 #define PREHEAT_1_FAN_SPEED     0 // Value from 0 to 255
1024
 #define PREHEAT_1_FAN_SPEED     0 // Value from 0 to 255
1017
 
1025
 
1018
-#define PREHEAT_2_TEMP_HOTEND 240
1019
-#define PREHEAT_2_TEMP_BED    110
1026
+#define PREHEAT_2_TEMP_HOTEND 245
1027
+#define PREHEAT_2_TEMP_BED     50
1020
 #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255
1028
 #define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255
1021
 
1029
 
1022
 /**
1030
 /**

+ 6
- 6
Marlin/example_configurations/Hephestos_2/Configuration_adv.h View File

161
 // then extrude some filament every couple of SECONDS.
161
 // then extrude some filament every couple of SECONDS.
162
 #define EXTRUDER_RUNOUT_PREVENT
162
 #define EXTRUDER_RUNOUT_PREVENT
163
 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
163
 #if ENABLED(EXTRUDER_RUNOUT_PREVENT)
164
-  #define EXTRUDER_RUNOUT_MINTEMP 190
165
-  #define EXTRUDER_RUNOUT_SECONDS 30
164
+  #define EXTRUDER_RUNOUT_MINTEMP 170
165
+  #define EXTRUDER_RUNOUT_SECONDS 60
166
   #define EXTRUDER_RUNOUT_SPEED 1500  // mm/m
166
   #define EXTRUDER_RUNOUT_SPEED 1500  // mm/m
167
   #define EXTRUDER_RUNOUT_EXTRUDE 5   // mm
167
   #define EXTRUDER_RUNOUT_EXTRUDE 5   // mm
168
 #endif
168
 #endif
369
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
369
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
370
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
370
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
371
 
371
 
372
-//#define HOME_AFTER_DEACTIVATE  // Require rehoming after steppers are deactivated
372
+#define HOME_AFTER_DEACTIVATE  // Require rehoming after steppers are deactivated
373
 
373
 
374
 // @section lcd
374
 // @section lcd
375
 
375
 
447
 #define LCD_INFO_MENU
447
 #define LCD_INFO_MENU
448
 
448
 
449
 // Scroll a longer status message into view
449
 // Scroll a longer status message into view
450
-//#define STATUS_MESSAGE_SCROLLING
450
+#define STATUS_MESSAGE_SCROLLING
451
 
451
 
452
 // On the Info Screen, display XY with one decimal place when possible
452
 // On the Info Screen, display XY with one decimal place when possible
453
 #define LCD_DECIMAL_SMALL_XY
453
 #define LCD_DECIMAL_SMALL_XY
720
 // enter the serial receive buffer, so they cannot be blocked.
720
 // enter the serial receive buffer, so they cannot be blocked.
721
 // Currently handles M108, M112, M410
721
 // Currently handles M108, M112, M410
722
 // Does not work on boards using AT90USB (USBCON) processors!
722
 // Does not work on boards using AT90USB (USBCON) processors!
723
-//#define EMERGENCY_PARSER
723
+#define EMERGENCY_PARSER
724
 
724
 
725
 // Bad Serial-connections can miss a received command by sending an 'ok'
725
 // Bad Serial-connections can miss a received command by sending an 'ok'
726
 // Therefore some clients abort after 30 seconds in a timeout.
726
 // Therefore some clients abort after 30 seconds in a timeout.
729
 //#define NO_TIMEOUTS 1000 // Milliseconds
729
 //#define NO_TIMEOUTS 1000 // Milliseconds
730
 
730
 
731
 // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
731
 // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
732
-//#define ADVANCED_OK
732
+#define ADVANCED_OK
733
 
733
 
734
 // @section fwretract
734
 // @section fwretract
735
 
735
 

+ 7
- 0
Marlin/example_configurations/Hephestos_2/README.md View File

5
 
5
 
6
 ## Changelog
6
 ## Changelog
7
  * 2016/03/01 - Initial release
7
  * 2016/03/01 - Initial release
8
+
8
  * 2016/03/21 - Activated 4-point auto leveling by default
9
  * 2016/03/21 - Activated 4-point auto leveling by default
9
                 Updated miscellaneous z-probe values
10
                 Updated miscellaneous z-probe values
11
+
10
  * 2016/06/21 - Disabled hot bed related options
12
  * 2016/06/21 - Disabled hot bed related options
11
                 Activated software endstops
13
                 Activated software endstops
12
                 SD printing now disables the heater when finished
14
                 SD printing now disables the heater when finished
15
+
13
  * 2016/07/13 - Update the `DEFAULT_AXIS_STEPS_PER_UNIT` for the Z axis
16
  * 2016/07/13 - Update the `DEFAULT_AXIS_STEPS_PER_UNIT` for the Z axis
14
                 Increased the `DEFAULT_XYJERK`
17
                 Increased the `DEFAULT_XYJERK`
18
+
15
  * 2016/12/13 - Configuration updated.
19
  * 2016/12/13 - Configuration updated.
20
+
21
+ * 2017/07/06 - Configuration updated to the latest Marlin version.
22
+                Added support for the official BQ heated bed kit.

+ 9
- 0
Marlin/pins_BQ_ZUM_MEGA_3D.h View File

107
   #define Z_MIN_PIN       19 // IND_S_5V
107
   #define Z_MIN_PIN       19 // IND_S_5V
108
   #define Z_MAX_PIN       18 // Z-MIN Label
108
   #define Z_MAX_PIN       18 // Z-MIN Label
109
 #endif
109
 #endif
110
+
111
+
112
+//
113
+// This pin is used by the official Hephestos 2 heated bed upgrade kit
114
+//
115
+#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
116
+  #undef HEATER_BED_PIN
117
+  #define HEATER_BED_PIN 8
118
+#endif

+ 12
- 12
Marlin/temperature.cpp View File

1721
       #endif
1721
       #endif
1722
     }
1722
     }
1723
     else {
1723
     else {
1724
-      if (soft_pwm_count_0 <= pwm_count_tmp) WRITE_HEATER_0(0);
1724
+      if (soft_pwm_count_0 <= pwm_count_tmp) WRITE_HEATER_0(LOW);
1725
       #if HOTENDS > 1
1725
       #if HOTENDS > 1
1726
-        if (soft_pwm_count_1 <= pwm_count_tmp) WRITE_HEATER_1(0);
1726
+        if (soft_pwm_count_1 <= pwm_count_tmp) WRITE_HEATER_1(LOW);
1727
         #if HOTENDS > 2
1727
         #if HOTENDS > 2
1728
-          if (soft_pwm_count_2 <= pwm_count_tmp) WRITE_HEATER_2(0);
1728
+          if (soft_pwm_count_2 <= pwm_count_tmp) WRITE_HEATER_2(LOW);
1729
           #if HOTENDS > 3
1729
           #if HOTENDS > 3
1730
-            if (soft_pwm_count_3 <= pwm_count_tmp) WRITE_HEATER_3(0);
1730
+            if (soft_pwm_count_3 <= pwm_count_tmp) WRITE_HEATER_3(LOW);
1731
             #if HOTENDS > 4
1731
             #if HOTENDS > 4
1732
-              if (soft_pwm_count_4 <= pwm_count_tmp) WRITE_HEATER_4(0);
1732
+              if (soft_pwm_count_4 <= pwm_count_tmp) WRITE_HEATER_4(LOW);
1733
             #endif // HOTENDS > 4
1733
             #endif // HOTENDS > 4
1734
           #endif // HOTENDS > 3
1734
           #endif // HOTENDS > 3
1735
         #endif // HOTENDS > 2
1735
         #endif // HOTENDS > 2
1736
       #endif // HOTENDS > 1
1736
       #endif // HOTENDS > 1
1737
 
1737
 
1738
       #if HAS_HEATER_BED
1738
       #if HAS_HEATER_BED
1739
-        if (soft_pwm_count_BED <= pwm_count_tmp) WRITE_HEATER_BED(0);
1739
+        if (soft_pwm_count_BED <= pwm_count_tmp) WRITE_HEATER_BED(LOW);
1740
       #endif
1740
       #endif
1741
 
1741
 
1742
       #if ENABLED(FAN_SOFT_PWM)
1742
       #if ENABLED(FAN_SOFT_PWM)
1743
         #if HAS_FAN0
1743
         #if HAS_FAN0
1744
-          if (soft_pwm_count_fan[0] <= pwm_count_tmp) WRITE_FAN(0);
1744
+          if (soft_pwm_count_fan[0] <= pwm_count_tmp) WRITE_FAN(LOW);
1745
         #endif
1745
         #endif
1746
         #if HAS_FAN1
1746
         #if HAS_FAN1
1747
-          if (soft_pwm_count_fan[1] <= pwm_count_tmp) WRITE_FAN1(0);
1747
+          if (soft_pwm_count_fan[1] <= pwm_count_tmp) WRITE_FAN1(LOW);
1748
         #endif
1748
         #endif
1749
         #if HAS_FAN2
1749
         #if HAS_FAN2
1750
-          if (soft_pwm_count_fan[2] <= pwm_count_tmp) WRITE_FAN2(0);
1750
+          if (soft_pwm_count_fan[2] <= pwm_count_tmp) WRITE_FAN2(LOW);
1751
         #endif
1751
         #endif
1752
       #endif
1752
       #endif
1753
     }
1753
     }
1856
         #endif
1856
         #endif
1857
       }
1857
       }
1858
       #if HAS_FAN0
1858
       #if HAS_FAN0
1859
-        if (soft_pwm_count_fan[0] <= pwm_count_tmp) WRITE_FAN(0);
1859
+        if (soft_pwm_count_fan[0] <= pwm_count_tmp) WRITE_FAN(LOW);
1860
       #endif
1860
       #endif
1861
       #if HAS_FAN1
1861
       #if HAS_FAN1
1862
-        if (soft_pwm_count_fan[1] <= pwm_count_tmp) WRITE_FAN1(0);
1862
+        if (soft_pwm_count_fan[1] <= pwm_count_tmp) WRITE_FAN1(LOW);
1863
       #endif
1863
       #endif
1864
       #if HAS_FAN2
1864
       #if HAS_FAN2
1865
-        if (soft_pwm_count_fan[2] <= pwm_count_tmp) WRITE_FAN2(0);
1865
+        if (soft_pwm_count_fan[2] <= pwm_count_tmp) WRITE_FAN2(LOW);
1866
       #endif
1866
       #endif
1867
     #endif // FAN_SOFT_PWM
1867
     #endif // FAN_SOFT_PWM
1868
 
1868
 

+ 14
- 7
Marlin/ultralcd_impl_DOGM.h View File

369
 }
369
 }
370
 
370
 
371
 FORCE_INLINE void _draw_heater_status(const uint8_t x, const int8_t heater, const bool blink) {
371
 FORCE_INLINE void _draw_heater_status(const uint8_t x, const int8_t heater, const bool blink) {
372
+  #if !HEATER_IDLE_HANDLER
373
+    UNUSED(blink);
374
+  #endif
375
+
372
   #if HAS_TEMP_BED
376
   #if HAS_TEMP_BED
373
-    bool isBed = heater < 0;
377
+    const bool isBed = heater < 0;
374
   #else
378
   #else
375
-    const bool isBed = false;
379
+    constexpr bool isBed = false;
376
   #endif
380
   #endif
377
 
381
 
378
   if (PAGE_UNDER(7)) {
382
   if (PAGE_UNDER(7)) {
379
     #if HEATER_IDLE_HANDLER
383
     #if HEATER_IDLE_HANDLER
380
       const bool is_idle = (!isBed ? thermalManager.is_heater_idle(heater) :
384
       const bool is_idle = (!isBed ? thermalManager.is_heater_idle(heater) :
381
-      #if HAS_TEMP_BED
382
-        thermalManager.is_bed_idle()
383
-      #else
384
-        false
385
-      #endif
385
+        #if HAS_TEMP_BED
386
+          thermalManager.is_bed_idle()
387
+        #else
388
+          false
389
+        #endif
386
       );
390
       );
387
 
391
 
388
       if (blink || !is_idle)
392
       if (blink || !is_idle)
852
 
856
 
853
   #define DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(_type, _name, _strFunc) \
857
   #define DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(_type, _name, _strFunc) \
854
     inline void lcd_implementation_drawmenu_setting_edit_ ## _name (const bool sel, const uint8_t row, const char* pstr, const char* pstr2, _type * const data, ...) { \
858
     inline void lcd_implementation_drawmenu_setting_edit_ ## _name (const bool sel, const uint8_t row, const char* pstr, const char* pstr2, _type * const data, ...) { \
859
+      UNUSED(pstr2); \
855
       lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, _strFunc(*(data))); \
860
       lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, _strFunc(*(data))); \
856
     } \
861
     } \
857
     inline void lcd_implementation_drawmenu_setting_edit_callback_ ## _name (const bool sel, const uint8_t row, const char* pstr, const char* pstr2, _type * const data, ...) { \
862
     inline void lcd_implementation_drawmenu_setting_edit_callback_ ## _name (const bool sel, const uint8_t row, const char* pstr, const char* pstr2, _type * const data, ...) { \
863
+      UNUSED(pstr2); \
858
       lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, _strFunc(*(data))); \
864
       lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, _strFunc(*(data))); \
859
     } \
865
     } \
860
     inline void lcd_implementation_drawmenu_setting_edit_accessor_ ## _name (const bool sel, const uint8_t row, const char* pstr, const char* pstr2, _type (*pget)(), void (*pset)(_type), ...) { \
866
     inline void lcd_implementation_drawmenu_setting_edit_accessor_ ## _name (const bool sel, const uint8_t row, const char* pstr, const char* pstr2, _type (*pget)(), void (*pset)(_type), ...) { \
867
+      UNUSED(pstr2); UNUSED(pset); \
861
       lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, _strFunc(pget())); \
868
       lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, _strFunc(pget())); \
862
     } \
869
     } \
863
     typedef void _name##_void
870
     typedef void _name##_void

Loading…
Cancel
Save