|
@@ -354,208 +354,151 @@ void menu_advanced_pause_option() {
|
354
|
354
|
END_MENU();
|
355
|
355
|
}
|
356
|
356
|
|
357
|
|
-void lcd_advanced_pause_init_message() {
|
|
357
|
+//
|
|
358
|
+// ADVANCED_PAUSE_FEATURE message screens
|
|
359
|
+//
|
|
360
|
+
|
|
361
|
+void _lcd_advanced_pause_message(PGM_P const msg1, PGM_P const msg2=NULL, PGM_P const msg3=NULL) {
|
358
|
362
|
START_SCREEN();
|
359
|
363
|
STATIC_ITEM_P(advanced_pause_header(), true, true);
|
360
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_INIT_1);
|
361
|
|
- #ifdef MSG_FILAMENT_CHANGE_INIT_2
|
362
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_INIT_2);
|
363
|
|
- #define __FC_LINES_A 3
|
364
|
|
- #else
|
365
|
|
- #define __FC_LINES_A 2
|
366
|
|
- #endif
|
367
|
|
- #ifdef MSG_FILAMENT_CHANGE_INIT_3
|
368
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_INIT_3);
|
369
|
|
- #define _FC_LINES_A (__FC_LINES_A + 1)
|
370
|
|
- #else
|
371
|
|
- #define _FC_LINES_A __FC_LINES_A
|
372
|
|
- #endif
|
373
|
|
- #if LCD_HEIGHT > _FC_LINES_A + 1
|
374
|
|
- STATIC_ITEM(" ");
|
375
|
|
- #endif
|
|
364
|
+ STATIC_ITEM_P(msg1);
|
|
365
|
+ if (msg2) STATIC_ITEM_P(msg2);
|
|
366
|
+ if (msg3) STATIC_ITEM_P(msg3);
|
|
367
|
+ if ((!!msg2) + (!!msg3) + 2 < LCD_HEIGHT - 1) STATIC_ITEM(" ");
|
376
|
368
|
HOTEND_STATUS_ITEM();
|
377
|
369
|
END_SCREEN();
|
378
|
370
|
}
|
379
|
371
|
|
|
372
|
+void lcd_advanced_pause_init_message() {
|
|
373
|
+ _lcd_advanced_pause_message(MSG_FILAMENT_CHANGE_INIT_1
|
|
374
|
+ #ifdef MSG_FILAMENT_CHANGE_INIT_2
|
|
375
|
+ , MSG_FILAMENT_CHANGE_INIT_2
|
|
376
|
+ #ifdef MSG_FILAMENT_CHANGE_INIT_3
|
|
377
|
+ , MSG_FILAMENT_CHANGE_INIT_3
|
|
378
|
+ #endif
|
|
379
|
+ #endif
|
|
380
|
+ );
|
|
381
|
+}
|
|
382
|
+
|
380
|
383
|
void lcd_advanced_pause_unload_message() {
|
381
|
|
- START_SCREEN();
|
382
|
|
- STATIC_ITEM_P(advanced_pause_header(), true, true);
|
383
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_UNLOAD_1);
|
384
|
|
- #ifdef MSG_FILAMENT_CHANGE_UNLOAD_2
|
385
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_UNLOAD_2);
|
386
|
|
- #define __FC_LINES_B 3
|
387
|
|
- #else
|
388
|
|
- #define __FC_LINES_B 2
|
389
|
|
- #endif
|
390
|
|
- #ifdef MSG_FILAMENT_CHANGE_UNLOAD_3
|
391
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_UNLOAD_3);
|
392
|
|
- #define _FC_LINES_B (__FC_LINES_B + 1)
|
393
|
|
- #else
|
394
|
|
- #define _FC_LINES_B __FC_LINES_B
|
395
|
|
- #endif
|
396
|
|
- #if LCD_HEIGHT > _FC_LINES_B + 1
|
397
|
|
- STATIC_ITEM(" ");
|
398
|
|
- #endif
|
399
|
|
- HOTEND_STATUS_ITEM();
|
400
|
|
- END_SCREEN();
|
|
384
|
+ _lcd_advanced_pause_message(MSG_FILAMENT_CHANGE_UNLOAD_1
|
|
385
|
+ #ifdef MSG_FILAMENT_CHANGE_UNLOAD_2
|
|
386
|
+ , MSG_FILAMENT_CHANGE_UNLOAD_2
|
|
387
|
+ #ifdef MSG_FILAMENT_CHANGE_UNLOAD_3
|
|
388
|
+ , MSG_FILAMENT_CHANGE_UNLOAD_3
|
|
389
|
+ #endif
|
|
390
|
+ #endif
|
|
391
|
+ );
|
401
|
392
|
}
|
402
|
393
|
|
403
|
|
-void lcd_advanced_pause_wait_for_nozzles_to_heat() {
|
404
|
|
- START_SCREEN();
|
405
|
|
- STATIC_ITEM_P(advanced_pause_header(), true, true);
|
406
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_HEATING_1);
|
407
|
|
- #ifdef MSG_FILAMENT_CHANGE_HEATING_2
|
408
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_HEATING_2);
|
409
|
|
- #define _FC_LINES_C 3
|
410
|
|
- #else
|
411
|
|
- #define _FC_LINES_C 2
|
412
|
|
- #endif
|
413
|
|
- #if LCD_HEIGHT > _FC_LINES_C + 1
|
414
|
|
- STATIC_ITEM(" ");
|
415
|
|
- #endif
|
416
|
|
- HOTEND_STATUS_ITEM();
|
417
|
|
- END_SCREEN();
|
|
394
|
+void lcd_advanced_pause_heating_message() {
|
|
395
|
+ _lcd_advanced_pause_message(MSG_FILAMENT_CHANGE_HEATING_1
|
|
396
|
+ #ifdef MSG_FILAMENT_CHANGE_HEATING_2
|
|
397
|
+ , MSG_FILAMENT_CHANGE_HEATING_2
|
|
398
|
+ #ifdef MSG_FILAMENT_CHANGE_HEATING_3
|
|
399
|
+ , MSG_FILAMENT_CHANGE_HEATING_3
|
|
400
|
+ #endif
|
|
401
|
+ #endif
|
|
402
|
+ );
|
418
|
403
|
}
|
419
|
404
|
|
420
|
|
-void lcd_advanced_pause_heat_nozzle() {
|
421
|
|
- START_SCREEN();
|
422
|
|
- STATIC_ITEM_P(advanced_pause_header(), true, true);
|
423
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_HEAT_1);
|
424
|
|
- #ifdef MSG_FILAMENT_CHANGE_INSERT_2
|
425
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_HEAT_2);
|
426
|
|
- #define _FC_LINES_D 3
|
427
|
|
- #else
|
428
|
|
- #define _FC_LINES_D 2
|
429
|
|
- #endif
|
430
|
|
- #if LCD_HEIGHT > _FC_LINES_D + 1
|
431
|
|
- STATIC_ITEM(" ");
|
432
|
|
- #endif
|
433
|
|
- HOTEND_STATUS_ITEM();
|
434
|
|
- END_SCREEN();
|
|
405
|
+void lcd_advanced_pause_heat_message() {
|
|
406
|
+ _lcd_advanced_pause_message(MSG_FILAMENT_CHANGE_HEAT_1
|
|
407
|
+ #ifdef MSG_FILAMENT_CHANGE_HEAT_2
|
|
408
|
+ , MSG_FILAMENT_CHANGE_HEAT_2
|
|
409
|
+ #ifdef MSG_FILAMENT_CHANGE_HEAT_3
|
|
410
|
+ , MSG_FILAMENT_CHANGE_HEAT_3
|
|
411
|
+ #endif
|
|
412
|
+ #endif
|
|
413
|
+ );
|
435
|
414
|
}
|
436
|
415
|
|
437
|
416
|
void lcd_advanced_pause_insert_message() {
|
438
|
|
- START_SCREEN();
|
439
|
|
- STATIC_ITEM_P(advanced_pause_header(), true, true);
|
440
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_INSERT_1);
|
441
|
|
- #ifdef MSG_FILAMENT_CHANGE_INSERT_2
|
442
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_INSERT_2);
|
443
|
|
- #define __FC_LINES_E 3
|
444
|
|
- #else
|
445
|
|
- #define __FC_LINES_E 2
|
446
|
|
- #endif
|
447
|
|
- #ifdef MSG_FILAMENT_CHANGE_INSERT_3
|
448
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_INSERT_3);
|
449
|
|
- #define _FC_LINES_E (__FC_LINES_E + 1)
|
450
|
|
- #else
|
451
|
|
- #define _FC_LINES_E __FC_LINES_E
|
452
|
|
- #endif
|
453
|
|
- #if LCD_HEIGHT > _FC_LINES_E + 1
|
454
|
|
- STATIC_ITEM(" ");
|
455
|
|
- #endif
|
456
|
|
- HOTEND_STATUS_ITEM();
|
457
|
|
- END_SCREEN();
|
|
417
|
+ _lcd_advanced_pause_message(MSG_FILAMENT_CHANGE_INSERT_1
|
|
418
|
+ #ifdef MSG_FILAMENT_CHANGE_INSERT_2
|
|
419
|
+ , MSG_FILAMENT_CHANGE_INSERT_2
|
|
420
|
+ #ifdef MSG_FILAMENT_CHANGE_INSERT_3
|
|
421
|
+ , MSG_FILAMENT_CHANGE_INSERT_3
|
|
422
|
+ #endif
|
|
423
|
+ #endif
|
|
424
|
+ );
|
458
|
425
|
}
|
459
|
426
|
|
460
|
427
|
void lcd_advanced_pause_load_message() {
|
461
|
|
- START_SCREEN();
|
462
|
|
- STATIC_ITEM_P(advanced_pause_header(), true, true);
|
463
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_LOAD_1);
|
464
|
|
- #ifdef MSG_FILAMENT_CHANGE_LOAD_2
|
465
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_LOAD_2);
|
466
|
|
- #define __FC_LINES_F 3
|
467
|
|
- #else
|
468
|
|
- #define __FC_LINES_F 2
|
469
|
|
- #endif
|
470
|
|
- #ifdef MSG_FILAMENT_CHANGE_LOAD_3
|
471
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_LOAD_3);
|
472
|
|
- #define _FC_LINES_F (__FC_LINES_F + 1)
|
473
|
|
- #else
|
474
|
|
- #define _FC_LINES_F __FC_LINES_F
|
475
|
|
- #endif
|
476
|
|
- #if LCD_HEIGHT > _FC_LINES_F + 1
|
477
|
|
- STATIC_ITEM(" ");
|
478
|
|
- #endif
|
479
|
|
- HOTEND_STATUS_ITEM();
|
480
|
|
- END_SCREEN();
|
|
428
|
+ _lcd_advanced_pause_message(MSG_FILAMENT_CHANGE_LOAD_1
|
|
429
|
+ #ifdef MSG_FILAMENT_CHANGE_LOAD_2
|
|
430
|
+ , MSG_FILAMENT_CHANGE_LOAD_2
|
|
431
|
+ #ifdef MSG_FILAMENT_CHANGE_LOAD_3
|
|
432
|
+ , MSG_FILAMENT_CHANGE_LOAD_3
|
|
433
|
+ #endif
|
|
434
|
+ #endif
|
|
435
|
+ );
|
|
436
|
+}
|
|
437
|
+
|
|
438
|
+void lcd_advanced_pause_waiting_message() {
|
|
439
|
+ _lcd_advanced_pause_message(MSG_ADVANCED_PAUSE_WAITING_1
|
|
440
|
+ #ifdef MSG_ADVANCED_PAUSE_WAITING_2
|
|
441
|
+ , MSG_ADVANCED_PAUSE_WAITING_2
|
|
442
|
+ #ifdef MSG_ADVANCED_PAUSE_WAITING_3
|
|
443
|
+ , MSG_ADVANCED_PAUSE_WAITING_3
|
|
444
|
+ #endif
|
|
445
|
+ #endif
|
|
446
|
+ );
|
|
447
|
+}
|
|
448
|
+
|
|
449
|
+void lcd_advanced_pause_resume_message() {
|
|
450
|
+ _lcd_advanced_pause_message(MSG_FILAMENT_CHANGE_RESUME_1
|
|
451
|
+ #ifdef MSG_FILAMENT_CHANGE_RESUME_2
|
|
452
|
+ , MSG_FILAMENT_CHANGE_RESUME_2
|
|
453
|
+ #ifdef MSG_FILAMENT_CHANGE_RESUME_3
|
|
454
|
+ , MSG_FILAMENT_CHANGE_RESUME_3
|
|
455
|
+ #endif
|
|
456
|
+ #endif
|
|
457
|
+ );
|
481
|
458
|
}
|
482
|
459
|
|
483
|
460
|
void lcd_advanced_pause_purge_message() {
|
484
|
461
|
START_SCREEN();
|
485
|
|
- STATIC_ITEM_P(advanced_pause_header(), true, true);
|
486
|
462
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_PURGE_1);
|
487
|
463
|
#ifdef MSG_FILAMENT_CHANGE_PURGE_2
|
488
|
464
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_PURGE_2);
|
489
|
|
- #define __FC_LINES_G 3
|
490
|
|
- #else
|
491
|
|
- #define __FC_LINES_G 2
|
|
465
|
+ #ifdef MSG_FILAMENT_CHANGE_PURGE_3
|
|
466
|
+ STATIC_ITEM(MSG_FILAMENT_CHANGE_PURGE_3);
|
|
467
|
+ #endif
|
492
|
468
|
#endif
|
493
|
|
- #ifdef MSG_FILAMENT_CHANGE_PURGE_3
|
494
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_PURGE_3);
|
495
|
|
- #define _FC_LINES_G (__FC_LINES_G + 1)
|
|
469
|
+ #if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE)
|
|
470
|
+ #define _PURGE_BASE 3
|
496
|
471
|
#else
|
497
|
|
- #define _FC_LINES_G __FC_LINES_G
|
|
472
|
+ #define _PURGE_BASE 2
|
498
|
473
|
#endif
|
499
|
|
- #if LCD_HEIGHT > _FC_LINES_G + 1
|
|
474
|
+ #if (_PURGE_BASE + defined(MSG_FILAMENT_CHANGE_PURGE_2) + defined(MSG_FILAMENT_CHANGE_PURGE_3)) < LCD_HEIGHT - 1
|
500
|
475
|
STATIC_ITEM(" ");
|
501
|
476
|
#endif
|
502
|
477
|
HOTEND_STATUS_ITEM();
|
503
|
|
- END_SCREEN();
|
504
|
|
-}
|
505
|
|
-
|
506
|
|
-#if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE)
|
507
|
|
- void menu_advanced_pause_continuous_purge() {
|
508
|
|
- START_SCREEN();
|
509
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_PURGE_1);
|
510
|
|
- #ifdef MSG_FILAMENT_CHANGE_PURGE_2
|
511
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_PURGE_2);
|
512
|
|
- #define __FC_LINES_G 3
|
513
|
|
- #else
|
514
|
|
- #define __FC_LINES_G 2
|
515
|
|
- #endif
|
516
|
|
- #ifdef MSG_FILAMENT_CHANGE_PURGE_3
|
517
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_PURGE_3);
|
518
|
|
- #define _FC_LINES_G (__FC_LINES_G + 1)
|
519
|
|
- #else
|
520
|
|
- #define _FC_LINES_G __FC_LINES_G
|
521
|
|
- #endif
|
522
|
|
- #if LCD_HEIGHT > _FC_LINES_G + 1
|
523
|
|
- STATIC_ITEM(" ");
|
524
|
|
- #endif
|
525
|
|
- HOTEND_STATUS_ITEM();
|
|
478
|
+ #if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE)
|
526
|
479
|
STATIC_ITEM(MSG_USERWAIT);
|
527
|
|
- END_SCREEN();
|
528
|
|
- }
|
529
|
|
-#endif
|
530
|
|
-
|
531
|
|
-void lcd_advanced_pause_resume_message() {
|
532
|
|
- START_SCREEN();
|
533
|
|
- STATIC_ITEM_P(advanced_pause_header(), true, true);
|
534
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_RESUME_1);
|
535
|
|
- #ifdef MSG_FILAMENT_CHANGE_RESUME_2
|
536
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_RESUME_2);
|
537
|
|
- #endif
|
538
|
|
- #ifdef MSG_FILAMENT_CHANGE_RESUME_3
|
539
|
|
- STATIC_ITEM(MSG_FILAMENT_CHANGE_RESUME_3);
|
540
|
480
|
#endif
|
541
|
481
|
END_SCREEN();
|
542
|
482
|
}
|
543
|
483
|
|
544
|
484
|
FORCE_INLINE screenFunc_t ap_message_screen(const AdvancedPauseMessage message) {
|
545
|
485
|
switch (message) {
|
546
|
|
- case ADVANCED_PAUSE_MESSAGE_INIT: return lcd_advanced_pause_init_message;
|
547
|
|
- case ADVANCED_PAUSE_MESSAGE_UNLOAD: return lcd_advanced_pause_unload_message;
|
548
|
|
- case ADVANCED_PAUSE_MESSAGE_INSERT: return lcd_advanced_pause_insert_message;
|
549
|
|
- case ADVANCED_PAUSE_MESSAGE_LOAD: return lcd_advanced_pause_load_message;
|
550
|
|
- case ADVANCED_PAUSE_MESSAGE_PURGE: return lcd_advanced_pause_purge_message;
|
551
|
|
- case ADVANCED_PAUSE_MESSAGE_RESUME: return lcd_advanced_pause_resume_message;
|
552
|
|
- case ADVANCED_PAUSE_MESSAGE_CLICK_TO_HEAT_NOZZLE: return lcd_advanced_pause_heat_nozzle;
|
553
|
|
- case ADVANCED_PAUSE_MESSAGE_WAIT_FOR_NOZZLES_TO_HEAT: return lcd_advanced_pause_wait_for_nozzles_to_heat;
|
554
|
|
- case ADVANCED_PAUSE_MESSAGE_OPTION: advanced_pause_menu_response = ADVANCED_PAUSE_RESPONSE_WAIT_FOR;
|
555
|
|
- return menu_advanced_pause_option;
|
|
486
|
+ case ADVANCED_PAUSE_MESSAGE_INIT: return lcd_advanced_pause_init_message;
|
|
487
|
+ case ADVANCED_PAUSE_MESSAGE_UNLOAD: return lcd_advanced_pause_unload_message;
|
|
488
|
+ case ADVANCED_PAUSE_MESSAGE_WAITING: return lcd_advanced_pause_waiting_message;
|
|
489
|
+ case ADVANCED_PAUSE_MESSAGE_INSERT: return lcd_advanced_pause_insert_message;
|
|
490
|
+ case ADVANCED_PAUSE_MESSAGE_LOAD: return lcd_advanced_pause_load_message;
|
556
|
491
|
#if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE)
|
557
|
|
- case ADVANCED_PAUSE_MESSAGE_CONTINUOUS_PURGE: return menu_advanced_pause_continuous_purge;
|
|
492
|
+ case ADVANCED_PAUSE_MESSAGE_CONTINUOUS_PURGE:
|
|
493
|
+ #else
|
|
494
|
+ case ADVANCED_PAUSE_MESSAGE_PURGE:
|
558
|
495
|
#endif
|
|
496
|
+ return lcd_advanced_pause_purge_message;
|
|
497
|
+ case ADVANCED_PAUSE_MESSAGE_RESUME: return lcd_advanced_pause_resume_message;
|
|
498
|
+ case ADVANCED_PAUSE_MESSAGE_HEAT: return lcd_advanced_pause_heat_message;
|
|
499
|
+ case ADVANCED_PAUSE_MESSAGE_HEATING: return lcd_advanced_pause_heating_message;
|
|
500
|
+ case ADVANCED_PAUSE_MESSAGE_OPTION: advanced_pause_menu_response = ADVANCED_PAUSE_RESPONSE_WAIT_FOR;
|
|
501
|
+ return menu_advanced_pause_option;
|
559
|
502
|
case ADVANCED_PAUSE_MESSAGE_STATUS:
|
560
|
503
|
default: break;
|
561
|
504
|
}
|