|
@@ -528,17 +528,17 @@ void MainMenu::showPrepare()
|
528
|
528
|
MENUITEM( lcdprintPGM(MSG_SET_ORIGIN) , BLOCK;enquecommand("G92 X0 Y0 Z0");beepshort(); ) ;
|
529
|
529
|
break;
|
530
|
530
|
case ItemP_preheat_pla:
|
531
|
|
- MENUITEM( lcdprintPGM(MSG_PREHEAT_PLA) , BLOCK;setTargetHotend0(PLA_PREHEAT_HOTEND_TEMP);setTargetBed(PLA_PREHEAT_HPB_TEMP);
|
|
531
|
+ MENUITEM( lcdprintPGM(MSG_PREHEAT_PLA) , BLOCK;setTargetHotend0(plaPreheatHotendTemp);setTargetBed(plaPreheatHPBTemp);
|
532
|
532
|
#if FAN_PIN > -1
|
533
|
|
- FanSpeed=PLA_PREHEAT_FAN_SPEED;
|
|
533
|
+ FanSpeed = plaPreheatFanSpeed;
|
534
|
534
|
analogWrite(FAN_PIN, FanSpeed);
|
535
|
535
|
#endif
|
536
|
536
|
beepshort(); );
|
537
|
537
|
break;
|
538
|
538
|
case ItemP_preheat_abs:
|
539
|
|
- MENUITEM( lcdprintPGM(MSG_PREHEAT_ABS) , BLOCK;setTargetHotend0(ABS_PREHEAT_HOTEND_TEMP);setTargetBed(ABS_PREHEAT_HPB_TEMP);
|
|
539
|
+ MENUITEM( lcdprintPGM(MSG_PREHEAT_ABS) , BLOCK;setTargetHotend0(absPreheatHotendTemp);setTargetBed(absPreheatHPBTemp);
|
540
|
540
|
#if FAN_PIN > -1
|
541
|
|
- FanSpeed=ABS_PREHEAT_FAN_SPEED;
|
|
541
|
+ FanSpeed = absPreheatFanSpeed;
|
542
|
542
|
analogWrite(FAN_PIN, FanSpeed);
|
543
|
543
|
#endif
|
544
|
544
|
beepshort(); );
|
|
@@ -789,7 +789,7 @@ void MainMenu::showTune()
|
789
|
789
|
{
|
790
|
790
|
lcd.setCursor(0,line);lcdprintPGM(MSG_NOZZLE);
|
791
|
791
|
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetHotend0())));
|
792
|
|
- }
|
|
792
|
+ }
|
793
|
793
|
|
794
|
794
|
if((activeline!=line) )
|
795
|
795
|
break;
|
|
@@ -967,7 +967,9 @@ enum {
|
967
|
967
|
ItemCT_bed,
|
968
|
968
|
#endif
|
969
|
969
|
ItemCT_fan,
|
970
|
|
- ItemCT_PID_P,ItemCT_PID_I,ItemCT_PID_D,ItemCT_PID_C
|
|
970
|
+ ItemCT_PID_P,ItemCT_PID_I,ItemCT_PID_D,ItemCT_PID_C,
|
|
971
|
+ ItemCT_PLA_PreHeat_Setting,
|
|
972
|
+ ItemCT_ABS_PreHeat_Setting,
|
971
|
973
|
};
|
972
|
974
|
|
973
|
975
|
void MainMenu::showControlTemp()
|
|
@@ -1434,16 +1436,19 @@ void MainMenu::showControlTemp()
|
1434
|
1436
|
#endif
|
1435
|
1437
|
#endif
|
1436
|
1438
|
break;
|
|
1439
|
+ case ItemCT_PLA_PreHeat_Setting:
|
|
1440
|
+ MENUITEM( lcdprintPGM(MSG_PREHEAT_PLA_SETTINGS) , BLOCK;status=Sub_PreheatPLASettings;beepshort(); ) ;
|
|
1441
|
+ break;
|
|
1442
|
+ case ItemCT_ABS_PreHeat_Setting:
|
|
1443
|
+ MENUITEM( lcdprintPGM(MSG_PREHEAT_ABS_SETTINGS) , BLOCK;status=Sub_PreheatABSSettings;beepshort(); ) ;
|
|
1444
|
+ break;
|
1437
|
1445
|
default:
|
1438
|
1446
|
break;
|
1439
|
1447
|
}
|
1440
|
1448
|
line++;
|
1441
|
1449
|
}
|
1442
|
|
- #ifdef PID_ADD_EXTRUSION_RATE
|
1443
|
|
- updateActiveLines(ItemCT_PID_C,encoderpos);
|
1444
|
|
- #else
|
1445
|
|
- updateActiveLines(ItemCT_PID_D,encoderpos);
|
1446
|
|
- #endif
|
|
1450
|
+
|
|
1451
|
+ updateActiveLines(ItemCT_ABS_PreHeat_Setting,encoderpos);
|
1447
|
1452
|
}
|
1448
|
1453
|
|
1449
|
1454
|
|
|
@@ -2569,6 +2574,14 @@ void MainMenu::update()
|
2569
|
2574
|
{
|
2570
|
2575
|
showSD();
|
2571
|
2576
|
}break;
|
|
2577
|
+ case Sub_PreheatPLASettings:
|
|
2578
|
+ {
|
|
2579
|
+ showPLAsettings();
|
|
2580
|
+ }break;
|
|
2581
|
+ case Sub_PreheatABSSettings:
|
|
2582
|
+ {
|
|
2583
|
+ showABSsettings();
|
|
2584
|
+ }break;
|
2572
|
2585
|
}
|
2573
|
2586
|
|
2574
|
2587
|
if(timeoutToStatus<millis())
|
|
@@ -2577,11 +2590,299 @@ void MainMenu::update()
|
2577
|
2590
|
lastencoderpos=encoderpos;
|
2578
|
2591
|
}
|
2579
|
2592
|
|
|
2593
|
+enum {
|
|
2594
|
+ ItemPLAPreHeat_Exit,
|
|
2595
|
+ ItemPLAPreHeat_set_PLA_FanSpeed,
|
|
2596
|
+ ItemPLAPreHeat_set_nozzle,
|
|
2597
|
+ ItemPLAPreHeat_set_HPB,
|
|
2598
|
+ ItemPLAPreHeat_Store_Eprom
|
|
2599
|
+ };
|
|
2600
|
+
|
|
2601
|
+void MainMenu::showPLAsettings()
|
|
2602
|
+{
|
|
2603
|
+#ifdef ULTIPANEL
|
|
2604
|
+ uint8_t line=0;
|
|
2605
|
+ clearIfNecessary();
|
|
2606
|
+ for(int8_t i=lineoffset;i<lineoffset+LCD_HEIGHT;i++)
|
|
2607
|
+ {
|
|
2608
|
+ switch(i)
|
|
2609
|
+ {
|
2580
|
2610
|
|
|
2611
|
+ case ItemPLAPreHeat_Exit:
|
|
2612
|
+ MENUITEM( lcdprintPGM(MSG_TEMPERATURE_RTN) , BLOCK;status=Sub_TempControl;beepshort(); ) ;
|
|
2613
|
+ break;
|
2581
|
2614
|
|
|
2615
|
+ case ItemPLAPreHeat_set_PLA_FanSpeed:
|
|
2616
|
+ {
|
|
2617
|
+ if(force_lcd_update)
|
|
2618
|
+ {
|
|
2619
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_FAN_SPEED);
|
|
2620
|
+ lcd.setCursor(13,line);lcd.print(ftostr3(plaPreheatFanSpeed));
|
|
2621
|
+ }
|
|
2622
|
+
|
|
2623
|
+ if((activeline!=line) )
|
|
2624
|
+ break;
|
|
2625
|
+
|
|
2626
|
+ if(CLICKED)
|
|
2627
|
+ {
|
|
2628
|
+ linechanging=!linechanging;
|
|
2629
|
+ if(linechanging)
|
|
2630
|
+ {
|
|
2631
|
+ encoderpos=plaPreheatFanSpeed;
|
|
2632
|
+ }
|
|
2633
|
+ else
|
|
2634
|
+ {
|
|
2635
|
+ encoderpos=activeline*lcdslow;
|
|
2636
|
+ beepshort();
|
|
2637
|
+ }
|
|
2638
|
+ BLOCK;
|
|
2639
|
+ }
|
|
2640
|
+ if(linechanging)
|
|
2641
|
+ {
|
|
2642
|
+ if(encoderpos<0) encoderpos=0;
|
|
2643
|
+ if(encoderpos>255) encoderpos=255;
|
|
2644
|
+ plaPreheatFanSpeed=encoderpos;
|
|
2645
|
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
|
2646
|
+ }
|
|
2647
|
+ }break;
|
2582
|
2648
|
|
|
2649
|
+ case ItemPLAPreHeat_set_nozzle:
|
|
2650
|
+ {
|
|
2651
|
+ if(force_lcd_update)
|
|
2652
|
+ {
|
|
2653
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_NOZZLE);
|
|
2654
|
+ lcd.setCursor(13,line);lcd.print(ftostr3(plaPreheatHotendTemp));
|
|
2655
|
+ }
|
|
2656
|
+
|
|
2657
|
+ if((activeline!=line) )
|
|
2658
|
+ break;
|
|
2659
|
+
|
|
2660
|
+ if(CLICKED)
|
|
2661
|
+ {
|
|
2662
|
+ linechanging=!linechanging;
|
|
2663
|
+ if(linechanging)
|
|
2664
|
+ {
|
|
2665
|
+ encoderpos=plaPreheatHotendTemp;
|
|
2666
|
+ }
|
|
2667
|
+ else
|
|
2668
|
+ {
|
|
2669
|
+ encoderpos=activeline*lcdslow;
|
|
2670
|
+ beepshort();
|
|
2671
|
+ }
|
|
2672
|
+ BLOCK;
|
|
2673
|
+ }
|
|
2674
|
+ if(linechanging)
|
|
2675
|
+ {
|
|
2676
|
+ if(encoderpos<0) encoderpos=0;
|
|
2677
|
+ if(encoderpos>260) encoderpos=260;
|
|
2678
|
+ plaPreheatHotendTemp = encoderpos;
|
|
2679
|
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
|
2680
|
+ }
|
|
2681
|
+ }break;
|
2583
|
2682
|
|
|
2683
|
+ case ItemPLAPreHeat_set_HPB:
|
|
2684
|
+ {
|
|
2685
|
+ if(force_lcd_update)
|
|
2686
|
+ {
|
|
2687
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_BED);
|
|
2688
|
+ lcd.setCursor(13,line);lcd.print(ftostr3(plaPreheatHPBTemp));
|
|
2689
|
+ }
|
|
2690
|
+
|
|
2691
|
+ if((activeline!=line) )
|
|
2692
|
+ break;
|
|
2693
|
+
|
|
2694
|
+ if(CLICKED)
|
|
2695
|
+ {
|
|
2696
|
+ linechanging=!linechanging;
|
|
2697
|
+ if(linechanging)
|
|
2698
|
+ {
|
|
2699
|
+ encoderpos=plaPreheatHPBTemp;
|
|
2700
|
+ }
|
|
2701
|
+ else
|
|
2702
|
+ {
|
|
2703
|
+ encoderpos=activeline*lcdslow;
|
|
2704
|
+ beepshort();
|
|
2705
|
+ }
|
|
2706
|
+ BLOCK;
|
|
2707
|
+ }
|
|
2708
|
+ if(linechanging)
|
|
2709
|
+ {
|
|
2710
|
+ if(encoderpos<0) encoderpos=0;
|
|
2711
|
+ if(encoderpos>250) encoderpos=150;
|
|
2712
|
+ plaPreheatHPBTemp = encoderpos;
|
|
2713
|
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
|
2714
|
+ }
|
|
2715
|
+ }break;
|
|
2716
|
+ case ItemPLAPreHeat_Store_Eprom:
|
|
2717
|
+ {
|
|
2718
|
+ if(force_lcd_update)
|
|
2719
|
+ {
|
|
2720
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_STORE_EPROM);
|
|
2721
|
+ }
|
|
2722
|
+ if((activeline==line) && CLICKED)
|
|
2723
|
+ {
|
|
2724
|
+ //enquecommand("M84");
|
|
2725
|
+ beepshort();
|
|
2726
|
+ BLOCK;
|
|
2727
|
+ EEPROM_StoreSettings();
|
|
2728
|
+ }
|
|
2729
|
+ }break;
|
|
2730
|
+ default:
|
|
2731
|
+ break;
|
|
2732
|
+ }
|
|
2733
|
+ line++;
|
|
2734
|
+ }
|
|
2735
|
+ updateActiveLines(ItemPLAPreHeat_Store_Eprom,encoderpos);
|
|
2736
|
+#endif
|
|
2737
|
+}
|
|
2738
|
+
|
|
2739
|
+enum {
|
|
2740
|
+ ItemABSPreHeat_Exit,
|
|
2741
|
+ ItemABSPreHeat_set_FanSpeed,
|
|
2742
|
+ ItemABSPreHeat_set_nozzle,
|
|
2743
|
+ ItemABSPreHeat_set_HPB,
|
|
2744
|
+ ItemABSPreHeat_Store_Eprom
|
|
2745
|
+ };
|
|
2746
|
+
|
|
2747
|
+void MainMenu::showABSsettings()
|
|
2748
|
+{
|
|
2749
|
+#ifdef ULTIPANEL
|
|
2750
|
+ uint8_t line=0;
|
|
2751
|
+ clearIfNecessary();
|
|
2752
|
+ for(int8_t i=lineoffset;i<lineoffset+LCD_HEIGHT;i++)
|
|
2753
|
+ {
|
|
2754
|
+ switch(i)
|
|
2755
|
+ {
|
|
2756
|
+
|
|
2757
|
+ case ItemABSPreHeat_Exit:
|
|
2758
|
+ MENUITEM( lcdprintPGM(MSG_TEMPERATURE_RTN) , BLOCK;status=Sub_TempControl;beepshort(); ) ;
|
|
2759
|
+ break;
|
|
2760
|
+
|
|
2761
|
+ case ItemABSPreHeat_set_FanSpeed:
|
|
2762
|
+ {
|
|
2763
|
+ if(force_lcd_update)
|
|
2764
|
+ {
|
|
2765
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_FAN_SPEED);
|
|
2766
|
+ lcd.setCursor(13,line);lcd.print(ftostr3(absPreheatFanSpeed));
|
|
2767
|
+ }
|
|
2768
|
+
|
|
2769
|
+ if((activeline!=line) )
|
|
2770
|
+ break;
|
|
2771
|
+
|
|
2772
|
+ if(CLICKED)
|
|
2773
|
+ {
|
|
2774
|
+ linechanging=!linechanging;
|
|
2775
|
+ if(linechanging)
|
|
2776
|
+ {
|
|
2777
|
+ encoderpos=absPreheatFanSpeed;
|
|
2778
|
+ }
|
|
2779
|
+ else
|
|
2780
|
+ {
|
|
2781
|
+ encoderpos=activeline*lcdslow;
|
|
2782
|
+ beepshort();
|
|
2783
|
+ }
|
|
2784
|
+ BLOCK;
|
|
2785
|
+ }
|
|
2786
|
+ if(linechanging)
|
|
2787
|
+ {
|
|
2788
|
+ if(encoderpos<0) encoderpos=0;
|
|
2789
|
+ if(encoderpos>255) encoderpos=255;
|
|
2790
|
+ absPreheatFanSpeed=encoderpos;
|
|
2791
|
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
|
2792
|
+ }
|
|
2793
|
+ }break;
|
|
2794
|
+
|
|
2795
|
+ case ItemABSPreHeat_set_nozzle:
|
|
2796
|
+ {
|
|
2797
|
+ if(force_lcd_update)
|
|
2798
|
+ {
|
|
2799
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_NOZZLE);
|
|
2800
|
+ lcd.setCursor(13,line);lcd.print(ftostr3(absPreheatHotendTemp));
|
|
2801
|
+ }
|
|
2802
|
+
|
|
2803
|
+ if((activeline!=line) )
|
|
2804
|
+ break;
|
|
2805
|
+
|
|
2806
|
+ if(CLICKED)
|
|
2807
|
+ {
|
|
2808
|
+ linechanging=!linechanging;
|
|
2809
|
+ if(linechanging)
|
|
2810
|
+ {
|
|
2811
|
+ encoderpos=absPreheatHotendTemp;
|
|
2812
|
+ }
|
|
2813
|
+ else
|
|
2814
|
+ {
|
|
2815
|
+ encoderpos=activeline*lcdslow;
|
|
2816
|
+ beepshort();
|
|
2817
|
+ }
|
|
2818
|
+ BLOCK;
|
|
2819
|
+ }
|
|
2820
|
+ if(linechanging)
|
|
2821
|
+ {
|
|
2822
|
+ if(encoderpos<0) encoderpos=0;
|
|
2823
|
+ if(encoderpos>260) encoderpos=260;
|
|
2824
|
+ absPreheatHotendTemp = encoderpos;
|
|
2825
|
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
|
2826
|
+ }
|
|
2827
|
+ }break;
|
|
2828
|
+
|
|
2829
|
+ case ItemABSPreHeat_set_HPB:
|
|
2830
|
+ {
|
|
2831
|
+ if(force_lcd_update)
|
|
2832
|
+ {
|
|
2833
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_BED);
|
|
2834
|
+ lcd.setCursor(13,line);lcd.print(ftostr3(absPreheatHPBTemp));
|
|
2835
|
+ }
|
|
2836
|
+
|
|
2837
|
+ if((activeline!=line) )
|
|
2838
|
+ break;
|
|
2839
|
+
|
|
2840
|
+ if(CLICKED)
|
|
2841
|
+ {
|
|
2842
|
+ linechanging=!linechanging;
|
|
2843
|
+ if(linechanging)
|
|
2844
|
+ {
|
|
2845
|
+ encoderpos=absPreheatHPBTemp;
|
|
2846
|
+ }
|
|
2847
|
+ else
|
|
2848
|
+ {
|
|
2849
|
+ encoderpos=activeline*lcdslow;
|
|
2850
|
+ beepshort();
|
|
2851
|
+ }
|
|
2852
|
+ BLOCK;
|
|
2853
|
+ }
|
|
2854
|
+ if(linechanging)
|
|
2855
|
+ {
|
|
2856
|
+ if(encoderpos<0) encoderpos=0;
|
|
2857
|
+ if(encoderpos>250) encoderpos=150;
|
|
2858
|
+ absPreheatHPBTemp = encoderpos;
|
|
2859
|
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
|
2860
|
+ }
|
|
2861
|
+ }break;
|
|
2862
|
+ case ItemABSPreHeat_Store_Eprom:
|
|
2863
|
+ {
|
|
2864
|
+ if(force_lcd_update)
|
|
2865
|
+ {
|
|
2866
|
+ lcd.setCursor(0,line);lcdprintPGM(MSG_STORE_EPROM);
|
|
2867
|
+ }
|
|
2868
|
+ if((activeline==line) && CLICKED)
|
|
2869
|
+ {
|
|
2870
|
+ //enquecommand("M84");
|
|
2871
|
+ beepshort();
|
|
2872
|
+ BLOCK;
|
|
2873
|
+ EEPROM_StoreSettings();
|
|
2874
|
+ }
|
|
2875
|
+ }break;
|
|
2876
|
+ default:
|
|
2877
|
+ break;
|
|
2878
|
+ }
|
|
2879
|
+ line++;
|
|
2880
|
+ }
|
|
2881
|
+ updateActiveLines(ItemABSPreHeat_Store_Eprom,encoderpos);
|
|
2882
|
+#endif
|
|
2883
|
+}
|
2584
|
2884
|
|
|
2885
|
+//**********************************************************************************************************
|
2585
|
2886
|
// convert float to string with +123.4 format
|
2586
|
2887
|
char *ftostr3(const float &x)
|
2587
|
2888
|
{
|