浏览代码

Merge pull request #3339 from thinkyhead/rc_has_temp_hotend

Add HAS_TEMP_HOTEND, account for MAX31855 in conditionals
Scott Lahteine 9 年前
父节点
当前提交
22a43980e8
共有 4 个文件被更改,包括 27 次插入17 次删除
  1. 19
    9
      Marlin/Conditionals.h
  2. 1
    1
      Marlin/Marlin.h
  3. 5
    5
      Marlin/Marlin_main.cpp
  4. 2
    2
      Marlin/temperature.cpp

+ 19
- 9
Marlin/Conditionals.h 查看文件

440
     #define HEATER_0_USES_THERMISTOR
440
     #define HEATER_0_USES_THERMISTOR
441
   #endif
441
   #endif
442
 
442
 
443
-  #if TEMP_SENSOR_1 == -1
443
+  #if TEMP_SENSOR_1 <= -2
444
+    #error MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_1
445
+  #elif TEMP_SENSOR_1 == -1
444
     #define HEATER_1_USES_AD595
446
     #define HEATER_1_USES_AD595
445
   #elif TEMP_SENSOR_1 == 0
447
   #elif TEMP_SENSOR_1 == 0
446
     #undef HEATER_1_MINTEMP
448
     #undef HEATER_1_MINTEMP
450
     #define HEATER_1_USES_THERMISTOR
452
     #define HEATER_1_USES_THERMISTOR
451
   #endif
453
   #endif
452
 
454
 
453
-  #if TEMP_SENSOR_2 == -1
455
+  #if TEMP_SENSOR_2 <= -2
456
+    #error MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_2
457
+  #elif TEMP_SENSOR_2 == -1
454
     #define HEATER_2_USES_AD595
458
     #define HEATER_2_USES_AD595
455
   #elif TEMP_SENSOR_2 == 0
459
   #elif TEMP_SENSOR_2 == 0
456
     #undef HEATER_2_MINTEMP
460
     #undef HEATER_2_MINTEMP
460
     #define HEATER_2_USES_THERMISTOR
464
     #define HEATER_2_USES_THERMISTOR
461
   #endif
465
   #endif
462
 
466
 
463
-  #if TEMP_SENSOR_3 == -1
467
+  #if TEMP_SENSOR_3 <= -2
468
+    #error MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_3
469
+  #elif TEMP_SENSOR_3 == -1
464
     #define HEATER_3_USES_AD595
470
     #define HEATER_3_USES_AD595
465
   #elif TEMP_SENSOR_3 == 0
471
   #elif TEMP_SENSOR_3 == 0
466
     #undef HEATER_3_MINTEMP
472
     #undef HEATER_3_MINTEMP
470
     #define HEATER_3_USES_THERMISTOR
476
     #define HEATER_3_USES_THERMISTOR
471
   #endif
477
   #endif
472
 
478
 
473
-  #if TEMP_SENSOR_BED == -1
479
+  #if TEMP_SENSOR_BED <= -2
480
+    #error MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_BED
481
+  #elif TEMP_SENSOR_BED == -1
474
     #define BED_USES_AD595
482
     #define BED_USES_AD595
475
   #elif TEMP_SENSOR_BED == 0
483
   #elif TEMP_SENSOR_BED == 0
476
     #undef BED_MINTEMP
484
     #undef BED_MINTEMP
498
   /**
506
   /**
499
    * Shorthand for pin tests, used wherever needed
507
    * Shorthand for pin tests, used wherever needed
500
    */
508
    */
501
-  #define HAS_TEMP_0 (PIN_EXISTS(TEMP_0) && TEMP_SENSOR_0 != 0 && TEMP_SENSOR_0 != -2)
502
-  #define HAS_TEMP_1 (PIN_EXISTS(TEMP_1) && TEMP_SENSOR_1 != 0)
503
-  #define HAS_TEMP_2 (PIN_EXISTS(TEMP_2) && TEMP_SENSOR_2 != 0)
504
-  #define HAS_TEMP_3 (PIN_EXISTS(TEMP_3) && TEMP_SENSOR_3 != 0)
505
-  #define HAS_TEMP_BED (PIN_EXISTS(TEMP_BED) && TEMP_SENSOR_BED != 0)
509
+  #define HAS_TEMP_0 (PIN_EXISTS(TEMP_0) && TEMP_SENSOR_0 != 0 && TEMP_SENSOR_0 > -2)
510
+  #define HAS_TEMP_1 (PIN_EXISTS(TEMP_1) && TEMP_SENSOR_1 != 0 && TEMP_SENSOR_1 > -2)
511
+  #define HAS_TEMP_2 (PIN_EXISTS(TEMP_2) && TEMP_SENSOR_2 != 0 && TEMP_SENSOR_2 > -2)
512
+  #define HAS_TEMP_3 (PIN_EXISTS(TEMP_3) && TEMP_SENSOR_3 != 0 && TEMP_SENSOR_3 > -2)
513
+  #define HAS_TEMP_BED (PIN_EXISTS(TEMP_BED) && TEMP_SENSOR_BED != 0 && TEMP_SENSOR_BED > -2)
506
   #define HAS_HEATER_0 (PIN_EXISTS(HEATER_0))
514
   #define HAS_HEATER_0 (PIN_EXISTS(HEATER_0))
507
   #define HAS_HEATER_1 (PIN_EXISTS(HEATER_1))
515
   #define HAS_HEATER_1 (PIN_EXISTS(HEATER_1))
508
   #define HAS_HEATER_2 (PIN_EXISTS(HEATER_2))
516
   #define HAS_HEATER_2 (PIN_EXISTS(HEATER_2))
581
 
589
 
582
   #define HAS_MOTOR_CURRENT_PWM (PIN_EXISTS(MOTOR_CURRENT_PWM_XY) || PIN_EXISTS(MOTOR_CURRENT_PWM_Z) || PIN_EXISTS(MOTOR_CURRENT_PWM_E))
590
   #define HAS_MOTOR_CURRENT_PWM (PIN_EXISTS(MOTOR_CURRENT_PWM_XY) || PIN_EXISTS(MOTOR_CURRENT_PWM_Z) || PIN_EXISTS(MOTOR_CURRENT_PWM_E))
583
 
591
 
592
+  #define HAS_TEMP_HOTEND (HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675))
593
+
584
   /**
594
   /**
585
    * Helper Macros for heaters and extruder fan
595
    * Helper Macros for heaters and extruder fan
586
    */
596
    */

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

368
   extern void digipot_i2c_init();
368
   extern void digipot_i2c_init();
369
 #endif
369
 #endif
370
 
370
 
371
-#if HAS_TEMP_0 || HAS_TEMP_BED || ENABLED(HEATER_0_USES_MAX6675)
371
+#if HAS_TEMP_HOTEND || HAS_TEMP_BED
372
   void print_heaterstates();
372
   void print_heaterstates();
373
 #endif
373
 #endif
374
 
374
 

+ 5
- 5
Marlin/Marlin_main.cpp 查看文件

4100
   if (print_job_stop()) LCD_MESSAGEPGM(WELCOME_MSG);
4100
   if (print_job_stop()) LCD_MESSAGEPGM(WELCOME_MSG);
4101
 }
4101
 }
4102
 
4102
 
4103
-#if HAS_TEMP_0 || HAS_TEMP_BED || ENABLED(HEATER_0_USES_MAX6675)
4103
+#if HAS_TEMP_HOTEND || HAS_TEMP_BED
4104
 
4104
 
4105
   void print_heaterstates() {
4105
   void print_heaterstates() {
4106
-    #if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)
4106
+    #if HAS_TEMP_HOTEND
4107
       SERIAL_PROTOCOLPGM(" T:");
4107
       SERIAL_PROTOCOLPGM(" T:");
4108
       SERIAL_PROTOCOL_F(degHotend(target_extruder), 1);
4108
       SERIAL_PROTOCOL_F(degHotend(target_extruder), 1);
4109
       SERIAL_PROTOCOLPGM(" /");
4109
       SERIAL_PROTOCOLPGM(" /");
4179
 inline void gcode_M105() {
4179
 inline void gcode_M105() {
4180
   if (setTargetedHotend(105)) return;
4180
   if (setTargetedHotend(105)) return;
4181
 
4181
 
4182
-  #if HAS_TEMP_0 || HAS_TEMP_BED || ENABLED(HEATER_0_USES_MAX6675)
4182
+  #if HAS_TEMP_HOTEND || HAS_TEMP_BED
4183
     SERIAL_PROTOCOLPGM(MSG_OK);
4183
     SERIAL_PROTOCOLPGM(MSG_OK);
4184
     print_heaterstates();
4184
     print_heaterstates();
4185
-  #else // !HAS_TEMP_0 && !HAS_TEMP_BED
4185
+  #else // !HAS_TEMP_HOTEND && !HAS_TEMP_BED
4186
     SERIAL_ERROR_START;
4186
     SERIAL_ERROR_START;
4187
     SERIAL_ERRORLNPGM(MSG_ERR_NO_THERMISTORS);
4187
     SERIAL_ERRORLNPGM(MSG_ERR_NO_THERMISTORS);
4188
   #endif
4188
   #endif
4271
     now = millis();
4271
     now = millis();
4272
     if (now > next_temp_ms) { //Print temp & remaining time every 1s while waiting
4272
     if (now > next_temp_ms) { //Print temp & remaining time every 1s while waiting
4273
       next_temp_ms = now + 1000UL;
4273
       next_temp_ms = now + 1000UL;
4274
-      #if HAS_TEMP_0 || HAS_TEMP_BED || ENABLED(HEATER_0_USES_MAX6675)
4274
+      #if HAS_TEMP_HOTEND || HAS_TEMP_BED
4275
         print_heaterstates();
4275
         print_heaterstates();
4276
       #endif
4276
       #endif
4277
       #ifdef TEMP_RESIDENCY_TIME
4277
       #ifdef TEMP_RESIDENCY_TIME

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

350
     }
350
     }
351
     // Every 2 seconds...
351
     // Every 2 seconds...
352
     if (ms > temp_ms + 2000) {
352
     if (ms > temp_ms + 2000) {
353
-      #if HAS_TEMP_0 || HAS_TEMP_BED || ENABLED(HEATER_0_USES_MAX6675)
353
+      #if HAS_TEMP_HOTEND || HAS_TEMP_BED
354
         print_heaterstates();
354
         print_heaterstates();
355
         SERIAL_EOL;
355
         SERIAL_EOL;
356
       #endif
356
       #endif
1183
     WRITE_HEATER_ ## NR (LOW); \
1183
     WRITE_HEATER_ ## NR (LOW); \
1184
   }
1184
   }
1185
 
1185
 
1186
-  #if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)
1186
+  #if HAS_TEMP_HOTEND
1187
     setTargetHotend(0, 0);
1187
     setTargetHotend(0, 0);
1188
     soft_pwm[0] = 0;
1188
     soft_pwm[0] = 0;
1189
     WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)
1189
     WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)

正在加载...
取消
保存