ソースを参照

Fix "too cold" in M600 (#19332)

Giuliano Zaro 4年前
コミット
b2ba9009d0
コミッターのメールアドレスに関連付けられたアカウントが存在しません

+ 8
- 18
Marlin/src/feature/pause.cpp ファイルの表示

@@ -381,7 +381,7 @@ uint8_t did_pause_print = 0;
381 381
 
382 382
 bool pause_print(const float &retract, const xyz_pos_t &park_point, const float &unload_length/*=0*/, const bool show_lcd/*=false*/ DXC_ARGS) {
383 383
   DEBUG_SECTION(pp, "pause_print", true);
384
-  DEBUG_ECHOLNPAIR("... retract:", retract, " park.x:", park_point.x, " y:", park_point.y, " z:", park_point.z, " unloadlen:", unload_length, " showlcd:", int(show_lcd) DXC_SAY);
384
+  DEBUG_ECHOLNPAIR("... park.x:", park_point.x, " y:", park_point.y, " z:", park_point.z, " unloadlen:", unload_length, " showlcd:", int(show_lcd) DXC_SAY);
385 385
 
386 386
   UNUSED(show_lcd);
387 387
 
@@ -397,19 +397,6 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float
397 397
 
398 398
   TERN_(HOST_PROMPT_SUPPORT, host_prompt_open(PROMPT_INFO, PSTR("Pause"), DISMISS_STR));
399 399
 
400
-  if (!DEBUGGING(DRYRUN) && unload_length && thermalManager.targetTooColdToExtrude(active_extruder)) {
401
-    SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD);
402
-
403
-    #if HAS_LCD_MENU
404
-      if (show_lcd) { // Show status screen
405
-        lcd_pause_show_message(PAUSE_MESSAGE_STATUS);
406
-        LCD_MESSAGEPGM(MSG_M600_TOO_COLD);
407
-      }
408
-    #endif
409
-
410
-    return false; // unable to reach safe temperature
411
-  }
412
-
413 400
   // Indicate that the printer is paused
414 401
   ++did_pause_print;
415 402
 
@@ -434,8 +421,10 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float
434 421
   #endif
435 422
 
436 423
   // Initial retract before move to filament change position
437
-  if (retract && thermalManager.hotEnoughToExtrude(active_extruder))
424
+  if (retract && thermalManager.hotEnoughToExtrude(active_extruder)) {
425
+    DEBUG_ECHOLNPAIR("... retract:", retract);
438 426
     unscaled_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE);
427
+  }
439 428
 
440 429
   // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos)
441 430
   if (!axes_should_home())
@@ -603,11 +592,12 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le
603 592
     thermalManager.reset_hotend_idle_timer(e);
604 593
   }
605 594
 
606
-  if (targetTemp > thermalManager.degTargetHotend(active_extruder))
595
+  if (targetTemp > thermalManager.degTargetHotend(active_extruder)) {
607 596
     thermalManager.setTargetHotend(targetTemp, active_extruder);
597
+  }
608 598
 
609
-  if (nozzle_timed_out || thermalManager.hotEnoughToExtrude(active_extruder)) // Load the new filament
610
-    load_filament(slow_load_length, fast_load_length, purge_length, max_beep_count, true, nozzle_timed_out, PAUSE_MODE_SAME DXC_PASS);
599
+  // Load the new filament
600
+  load_filament(slow_load_length, fast_load_length, purge_length, max_beep_count, true, nozzle_timed_out, PAUSE_MODE_SAME DXC_PASS);
611 601
 
612 602
   if (targetTemp > 0) {
613 603
     thermalManager.setTargetHotend(targetTemp, active_extruder);

+ 0
- 3
Marlin/src/gcode/feature/pause/M600.cpp ファイルの表示

@@ -162,9 +162,6 @@ void GcodeSuite::M600() {
162 162
                    beep_count, (parser.seenval('R') ? parser.value_celsius() : 0) DXC_PASS);
163 163
     #endif
164 164
   }
165
-  else {
166
-    TERN_(HAS_FILAMENT_SENSOR, runout.reset());
167
-  }
168 165
 
169 166
   #if EXTRUDERS > 1
170 167
     // Restore toolhead if it was changed

+ 0
- 1
Marlin/src/lcd/language/language_cz.h ファイルの表示

@@ -501,7 +501,6 @@ namespace Language_cz {
501 501
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Délka mm senz.fil.");
502 502
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Parkování selhalo");
503 503
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Kalibrace selhala");
504
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Moc studený");
505 504
 
506 505
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("VYBERTE FILAMENT");
507 506
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_de.h ファイルの表示

@@ -536,7 +536,6 @@ namespace Language_de {
536 536
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Runout-Weg mm");
537 537
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Homing gescheitert");
538 538
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Probing gescheitert");
539
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: zu kalt");
540 539
 
541 540
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("FILAMENT WÄHLEN");
542 541
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_en.h ファイルの表示

@@ -541,7 +541,6 @@ namespace Language_en {
541 541
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Runout Dist mm");
542 542
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Homing Failed");
543 543
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Probing Failed");
544
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Too Cold");
545 544
 
546 545
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("CHOOSE FILAMENT");
547 546
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_es.h ファイルの表示

@@ -504,7 +504,6 @@ namespace Language_es {
504 504
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Dist. filamento mm");
505 505
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Ir a origen Fallado");
506 506
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Sondeo Fallado");
507
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Muy Frio");
508 507
 
509 508
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("ELIJE FILAMENTO");
510 509
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_eu.h ファイルの表示

@@ -309,7 +309,6 @@ namespace Language_eu {
309 309
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE          = _UxGT("  Pita: ");
310 310
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Hasi. huts egin du");
311 311
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Neurketak huts egin du");
312
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: hotzegi");
313 312
 
314 313
   PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER           = _UxGT("Inprimagailu okerra");
315 314
 

+ 0
- 1
Marlin/src/lcd/language/language_fr.h ファイルの表示

@@ -485,7 +485,6 @@ namespace Language_fr {
485 485
   PROGMEM Language_Str MSG_RUNOUT_SENSOR                   = _UxGT("Capteur fil.");
486 486
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Echec origine");
487 487
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Echec sonde");
488
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Trop froid");
489 488
 
490 489
   PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE              = _UxGT("MAJ firmware MMU!!");
491 490
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("CHOISIR FILAMENT");

+ 0
- 1
Marlin/src/lcd/language/language_gl.h ファイルの表示

@@ -526,7 +526,6 @@ namespace Language_gl {
526 526
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Dist mm Sensor Fil");
527 527
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Fallo ao ir á Orixe");
528 528
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Fallo ao Sondar");
529
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Moi Frío");
530 529
 
531 530
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("ESCOLLE FILAMENTO");
532 531
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_hu.h ファイルの表示

@@ -528,7 +528,6 @@ namespace Language_hu {
528 528
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Túlfutás Táv. mm");
529 529
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Tájolási hiba");
530 530
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Szondázás hiba");
531
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Túl hideg");
532 531
 
533 532
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("SZÁLVÁLASZTÁS");
534 533
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_it.h ファイルの表示

@@ -535,7 +535,6 @@ namespace Language_it {
535 535
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Dist mm filo term.");
536 536
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Home fallito");
537 537
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Sondaggio fallito");
538
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600:Troppo freddo");
539 538
 
540 539
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("SCELTA FILAMENTO");
541 540
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_pl.h ファイルの表示

@@ -474,7 +474,6 @@ namespace Language_pl {
474 474
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Dystans do czujnika mm");
475 475
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Zerowanie nieudane");
476 476
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Sondowanie nieudane");
477
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: za zimne");
478 477
 
479 478
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("WYBIERZ FILAMENT");
480 479
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_pt_br.h ファイルの表示

@@ -432,7 +432,6 @@ namespace Language_pt_br {
432 432
   PROGMEM Language_Str MSG_RUNOUT_SENSOR                   = _UxGT("Sensor filamento");
433 433
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Falha ao ir à origem");
434 434
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Falha ao sondar");
435
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Muito frio");
436 435
 
437 436
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("ESCOLHER FILAMENTO");
438 437
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_ro.h ファイルの表示

@@ -532,7 +532,6 @@ namespace Language_ro {
532 532
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Runout Dist mm");
533 533
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Homing Failed");
534 534
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Probing Failed");
535
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Too Cold");
536 535
 
537 536
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("CHOOSE FILAMENT");
538 537
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_ru.h ファイルの表示

@@ -640,7 +640,6 @@ namespace Language_ru {
640 640
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("До конца, мм");
641 641
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Ошибка парковки");
642 642
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Ошибка зондирования");
643
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Низкая Т") LCD_STR_DEGREE;
644 643
 
645 644
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("ВЫБИРЕТЕ ФИЛАМЕНТ");
646 645
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("Настройки MMU");

+ 0
- 1
Marlin/src/lcd/language/language_sk.h ファイルの表示

@@ -525,7 +525,6 @@ namespace Language_sk {
525 525
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Vzd. mm fil. senz.");
526 526
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Parkovanie zlyhalo");
527 527
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Kalibrácia zlyhala");
528
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Príliš studený");
529 528
 
530 529
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("VYBERTE FILAMENT");
531 530
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU2");

+ 0
- 1
Marlin/src/lcd/language/language_tr.h ファイルの表示

@@ -500,7 +500,6 @@ namespace Language_tr {
500 500
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("Aşınma Farkı mm");
501 501
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Sıfırlama Başarısız");
502 502
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Probing Başarısız");
503
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Çok Soğuk");
504 503
 
505 504
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("FILAMAN SEÇ");
506 505
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_uk.h ファイルの表示

@@ -650,7 +650,6 @@ namespace Language_uk {
650 650
   #endif
651 651
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Помилка паркування");
652 652
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Помилка зондування");
653
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: низька Т") LCD_STR_DEGREE;
654 653
 
655 654
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("ОБЕРІТЬ ПРУТОК");
656 655
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("Налаштування MMU");

+ 0
- 1
Marlin/src/lcd/language/language_vi.h ファイルの表示

@@ -405,7 +405,6 @@ namespace Language_vi {
405 405
   PROGMEM Language_Str MSG_RUNOUT_SENSOR_ENABLE            = _UxGT("Cảm Biến Hết");                         // Runout Sensor
406 406
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Sự nhà không thành công");              // Homing failed
407 407
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT(" không thành công");                    // Probing failed
408
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Quá lạnh");
409 408
 
410 409
   //
411 410
   // Filament Change screens show up to 3 lines on a 4-line display

+ 0
- 1
Marlin/src/lcd/language/language_zh_CN.h ファイルの表示

@@ -532,7 +532,6 @@ namespace Language_zh_CN {
532 532
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("断料距离mm");
533 533
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("归原位失败");     // "Homing failed"
534 534
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("探针探测失败");     // "Probing failed"
535
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: 太凉");     // "M600: Too cold"
536 535
 
537 536
   PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("选择料");
538 537
   PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("MMU");

+ 0
- 1
Marlin/src/lcd/language/language_zh_TW.h ファイルの表示

@@ -472,7 +472,6 @@ namespace Language_zh_TW {
472 472
   PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("絲距離mm");   //"Runout Dist mm"
473 473
   PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("歸原位失敗");     // "Homing failed"
474 474
   PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("探針探測失敗");     // "Probing failed"
475
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: 太冷");     // "M600: Too cold"
476 475
 
477 476
   //
478 477
   // Filament Change screens show up to 3 lines on a 4-line display

読み込み中…
キャンセル
保存