From 6c3a22090d54989b605e75ce05ae7d3785cf0a8b Mon Sep 17 00:00:00 2001 From: MKS-Sean <173664774@qq.com> Date: Wed, 13 May 2020 15:58:08 +0800 Subject: [PATCH] Upload complete 2.0.5.3UI version --- Firmware/mks_pic/bmp_Auto.bin | Bin 0 -> 32764 bytes Firmware/mks_pic/bmp_Leveling1.bin | Bin 0 -> 32764 bytes Firmware/mks_pic/bmp_Leveling2.bin | Bin 0 -> 32764 bytes Firmware/mks_pic/bmp_Leveling3.bin | Bin 0 -> 32764 bytes Firmware/mks_pic/bmp_Leveling4.bin | Bin 0 -> 32764 bytes Firmware/mks_pic/bmp_Leveling5.bin | Bin 0 -> 32764 bytes Firmware/mks_pic/bmp_Mamual.bin | Bin 0 -> 32764 bytes ...7\346\234\254\346\226\207\346\241\243.txt" | 0 Marlin/Configuration.h | 4 +- Marlin/Configuration_adv.h | 6 +- Marlin/src/MarlinCore.cpp | 8 +- .../lcd/extui/lib/mks_ui/inc/draw_dialog.h | 12 + .../extui/lib/mks_ui/inc/draw_error_message.h | 21 ++ .../extui/lib/mks_ui/inc/draw_manuaLevel.h | 20 ++ .../extui/lib/mks_ui/inc/draw_pause_message.h | 19 ++ Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h | 8 +- .../extui/lib/mks_ui/inc/tft_Language_en.h | 14 + .../extui/lib/mks_ui/inc/tft_Language_fr.h | 15 + .../extui/lib/mks_ui/inc/tft_Language_it.h | 14 + .../extui/lib/mks_ui/inc/tft_Language_ru.h | 14 + .../extui/lib/mks_ui/inc/tft_Language_s_cn.h | 14 + .../extui/lib/mks_ui/inc/tft_Language_sp.h | 13 + .../extui/lib/mks_ui/inc/tft_Language_t_cn.h | 15 + .../extui/lib/mks_ui/inc/tft_multi_language.h | 18 ++ .../lcd/extui/lib/mks_ui/src/draw_about.cpp | 24 +- .../lcd/extui/lib/mks_ui/src/draw_dialog.cpp | 153 ++++++++-- .../lib/mks_ui/src/draw_error_message.cpp | 67 +++++ .../extui/lib/mks_ui/src/draw_manuaLevel.cpp | 284 ++++++++++++++++++ .../extui/lib/mks_ui/src/draw_move_motor.cpp | 78 +++-- .../extui/lib/mks_ui/src/draw_opration.cpp | 60 ++++ .../lib/mks_ui/src/draw_pause_message.cpp | 36 +++ .../extui/lib/mks_ui/src/draw_printing.cpp | 23 +- .../src/lcd/extui/lib/mks_ui/src/draw_set.cpp | 18 +- .../lcd/extui/lib/mks_ui/src/draw_tool.cpp | 40 ++- .../src/lcd/extui/lib/mks_ui/src/draw_ui.cpp | 11 +- .../lib/mks_ui/src/tft_lvgl_configuration.cpp | 10 +- .../lib/mks_ui/src/tft_multi_language.cpp | 134 ++++++++- Marlin/src/lcd/menu/menu_filament.cpp | 15 + Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 14 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h | 14 +- 40 files changed, 1097 insertions(+), 99 deletions(-) create mode 100644 Firmware/mks_pic/bmp_Auto.bin create mode 100644 Firmware/mks_pic/bmp_Leveling1.bin create mode 100644 Firmware/mks_pic/bmp_Leveling2.bin create mode 100644 Firmware/mks_pic/bmp_Leveling3.bin create mode 100644 Firmware/mks_pic/bmp_Leveling4.bin create mode 100644 Firmware/mks_pic/bmp_Leveling5.bin create mode 100644 Firmware/mks_pic/bmp_Mamual.bin create mode 100644 "Firmware/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/inc/draw_error_message.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/inc/draw_manuaLevel.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/inc/draw_pause_message.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/src/draw_error_message.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/src/draw_manuaLevel.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/src/draw_pause_message.cpp diff --git a/Firmware/mks_pic/bmp_Auto.bin b/Firmware/mks_pic/bmp_Auto.bin new file mode 100644 index 0000000000000000000000000000000000000000..eee6ac9c9f5a4e190d58253b006e7d2f64b73140 GIT binary patch literal 32764 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 literal 0 HcmV?d00001 diff --git a/Firmware/mks_pic/bmp_Leveling2.bin b/Firmware/mks_pic/bmp_Leveling2.bin new file mode 100644 index 0000000000000000000000000000000000000000..eaaa91dcb5e6af01d7f4e19a7c5853ab2dbf5d44 GIT binary patch literal 32764 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 M2n`4g^rHs;2NuB9vj6}9 literal 0 HcmV?d00001 diff --git a/Firmware/mks_pic/bmp_Leveling3.bin b/Firmware/mks_pic/bmp_Leveling3.bin new file mode 100644 index 0000000000000000000000000000000000000000..4b232d2b2cbd962060faa84e13cdeae05b2972fe GIT binary patch literal 32764 zcmeHQO=ufO6rMvJhB$}K#VC-&F7&drIV`kxC3;zbT_Ti&6@q9?4ytGkQGJN5mOzz5 z{je(WL)12m6a6cca)XQ(71jyax0b?8{D^^^-O=n#2vz6eBH$H$WY}u>zVDuxSql$ z*073HMt*OT;W-+4VhWGz+X-9SL)kb7v^NbKHtFl`ebYrwTfF*4;|IP`wqm!_t7={>U!zjmd05 z@31gbjDn3AV|gVQTsGp-a9%OSK*nOU@t*r@4ecbLjCj<~dg&xDFdMJ%v6Il8GE?ts zXq4zGnH|@8d2{Mx+e$QvM@|w>M#tL03VaS^`?O$MZKFao+@}o?f3lNkyyJ8|LF^&f zH8=qcUEhsz4+2K-R9jBfdF`=(^pZTkxS1Y@lG zZ~`ADhBjv^?S`A12J{p1is~kF;PR*_uRveIxsPaK7%hAd>8=`DuW*g@o1j1JWRuVa zPo|x6)t4N+a}z^_O4zNn1N2#2<;_)b>g9lu-@LO>A<1-(hQ51g8k~k^TX#_W+}BwTe%x3^z24xQ7t&$ z8S6gmZbI7GEL!&2dZqQUtt04nr1eVc4Z4l8<&)Mct(R>bLBAudS6Xk-ZImsa zv|eewZ0iX69oEVqk*mGL=!mu2OXLbZF-Tb}_?88($`parUX{5_S&LLzX=|t=gb?x! z6}=2ELy|v@D8zd`VT=AzNq604mApigX literal 0 HcmV?d00001 diff --git a/Firmware/mks_pic/bmp_Leveling4.bin b/Firmware/mks_pic/bmp_Leveling4.bin new file mode 100644 index 0000000000000000000000000000000000000000..f6e7688802c2e6bbac1118b0f6ce72547e3c84f1 GIT binary patch literal 32764 zcmeI5O=ufO6oBVYhb7Ko1HmZJ!!GpDrM@gQaV2_LK~iGmgB6UZO%9G|3{icEB}$;m zp>iprSUT9I_+WCV>V{C9L+wx~xIKgfjKRG)^&t=+>X0@q$dDT6wwyKXUd+TN z9t@w3Oey=Jk~k^g?Im$PG^L!5JQ$8oT>Rg9c2fNjO=uIx=I5Faiwsqsvy&>vr<6%S z6J$Xml1+Ypli@ised44rrIh1_w1+Y=1ls$mK{=D$RDqEVpOv&E0=%2*OcJd8V&=YT zm8-S1l9;aCbtaitL65E7#ou3ne)Eb!n@*N|si*P^)U1b<_d@cwxNY7IwA&v!q;+E= zlULfj87V};M%0O%crtX^$Ri6mQJsJ?7NU*Uyr0YDAP)D4MLYRkx|J6+8>{H!ATGOQ zw!AKrQ7WrMW=g@T%`G3>Qlds{|ae_WH0ot5&(u;2HtKcW(M9E9$6PHIKIT3sbcOOv`pttZ|Bv@}~t-xjKH-SIw zW|Pnc&m`S))!zB!{jCY$562wqU`>D?OJ0#qUh$hKkwl>F7;@Aq=zX4vMz_ZQKpZ#F zgn6pf{)oMJp3--DQ)Tgvt}Wm2v0vFpB-8#Y)T@o@)$>#5m$K`rNhYl*E-4|C!aCL3 zsqlFM#=wDlT`_NA-FnUW_=u{R8^i8$u!--dyvaiBY^`%8V z;_Fl*f6{TwtA<0_vlVp*WZ5m z{>l{_FUDNH=2IpG(4P5s_&U8AfA)NAb!+_F%2yPL>`Q--?{0**v9#MMQgu$(tu#28 z+|$ok)R1OfG@H^H(zWHa<($nIv3ucjD5A%eUsN_B~zmFk*8r{ISpWi$hvW>$cmqvb+2Vc@+BPXmrkcZ>?s=A^mB? z7F7T6r5Dnic=zag)q20w(*I(>A${}Mo>bSpkX}-rJ@=B&dmbFp&mKCFdeO-b)Fbvz z;Uy;y>HMM-X)*0yvU4kb`-C{8PBjw9z>V}1q`|kPT zkmf{ZQeFS;b9>fXbGsY%S6jV;LrREq?F(`czqBf|L}nI4PrUdRR=;*i!y^6Xx|>#Y zeRtz#T(0q#G+{8Q>+_2koG^-yGv=TP?xaSJZywGpj?SH1IojCM$5#FCtyT4mMM}uQ ztXEdZx4ZFf^tw&oyjs@wj(DWrwF;zu_gu_U!6PNatyKlW>K1HL_zF=aaXSW`^c~ra zuzEe{q=b%LS6Q5o!6zkTB<0L#T-%xO32r7H@$WXDIulMkB)uT?jePi{0#MK z?Y8bB1=?ww`suZY(Qf#C>l>zzWLK&y!xvV6tyAvLzblAePK|POg49j|xaph}|C>0j z2F-WpI^{YwTSZV(xb<@D4T`Or%gL>mTd&zFf|A0mms@X8Y}H&&ZoS-k%~lbV6mGrT zdV^xC=5liD<<@JqilC&}%?x5Y+lz&?>}Gqhox#U~)NTgfI@4L1_@u_H%yo-7N0phj zs)SzzMo*B)tMF1*w3ul-!gTgDKCb=jX_yf|%4|kFKB@hTc(zdv@Ja2X91sFgSJ=%I z$7MC@BdfX7@LZPBNN_nJQe7n)iOt+AmJw#KNu49i5CRdv*hCG&C3TA$L4j*S^#3;YOaxR? ziA>lFQEkD3dnHmau=YyyY3d^z5yfd_W}I1PAWgrv_9BV{Yi~q}H{@NQV=mnv`QKpe zmDL=8wq}J6`p(wQA2npriGOQX=veS+g${$Ge$^FNSEf^&M8^}3S6vy(Z2BG#4I;2Z z#O9^!30g@9Et0*}>PVOA>PR`n)sb>yN$itZu8wqUtuI2wD2&5&Wa0ze;a0ze;a0zsy1pWg$4ASQS literal 0 HcmV?d00001 diff --git a/Firmware/mks_pic/bmp_Leveling5.bin b/Firmware/mks_pic/bmp_Leveling5.bin new file mode 100644 index 0000000000000000000000000000000000000000..a9722418937f7581e9d9ff2cc285f930d474bac3 GIT binary patch literal 32764 zcmeHQJ!m6G6rLhJhVvDBjnTmsyG4p6NwJNM)vX{GEabvE4sjMK6u}9ixQM-hgD6F0 zI8<0JY;&kM(kNVTao5CGCMiM!Cg2pYD}!Cc#^kQBi7Hc=m?0i^+@0i^+@0i^+@0i}TmHL$Ez%=hDG>Gk}?XBnqf z5_e>r31>ZjmQKYh=CT$c1mB{LW7WiNQ5>@FCGQohiQ|~BkRczi>3IASP|P@U)= z&qtdK?=jdLbF^Tdrd@4MIVk~XH!THeNmLmKegNeq<4&!#Rm>r@qN0%!lA~LUwHtT%SXY@h+DVFM zlo0Vq4Z4%8l~$8{q%b@45sEhwk5ni3m{;24+V8Rktq_LoVsHxf3q1qg{4jXtG*TZ> zJg3kvgz+`6w-4jADoQQI;nbj2R#SOnIPHF|^mng#^98YG1foe^&VjK-RlUp(<1sy!9n_S3|f;;$zWar zr;Q=xyXn8b72iWCvv%`wNfy$XXe79HSO@? z-O#@&YGocDDIp8RR#d#JwT)Ie!(YijO2`*Jb#?#XlSqCM*Q_5oNNpPXmB*x;_V2-w z-YjD@=W>w3OtV+7@ae0%keNDJNP(v()`J(VJ*Kxm%y@iD6rNX^NI`m=(!|`#!<`R` zGf6RAUg}6TQjh~@7E~b>KR0-3Rf^LqO+<61tXElYG?vs_it@d!`Urca>Zz)yVQq+) zU)58dR)VJuLOl&GeLp!BQcRE34>Q4^Rh%kLgIka6oXUEY^~$!v;O|$~tE@M;^~lbt ztXEmDY#R*zer3JNdV^b!?3~JamG#QD!Qk&#)~l>Hxb?`+>9sNlbF~+a4!l--VXolA zLF%=FZwql%CI(V>Rpu6FRc2$Qt)*iKf$|QWyq>O=G|o!fS;W=T7*M@ePs57%IiwZw z7)ZTW#A8M|z(DF9<$w@~x`MS*Tr^hKAMw^s!<+G94Os0ZVjJ)dv3ACdb|Z?j$js5MX$CDu{RtOQ z9I%c?lz3O~RW|2x{UiUoSVv_y2SD4jLkFv~;-hl88t(qLd54bmh<503-`KkA3hXN* z>!Y*zgsWXwrkw3SQ7yVj4-wcQVsouDKs)IOi)7E+9qAt19jPpEccijb*TxLY-I1>N zK8~#>U>-)!ab8?S*zxKLEg`UrS<2nT%z^LeL>-S=Z1D5q2JB*%z~05I8Lv858c-Tg R8c-Tg8c-Tg8n})c_zw&K2#f## literal 0 HcmV?d00001 diff --git a/Firmware/mks_pic/bmp_Mamual.bin b/Firmware/mks_pic/bmp_Mamual.bin new file mode 100644 index 0000000000000000000000000000000000000000..9795703821d31e707fa397e0333c1b6da0821028 GIT binary patch literal 32764 zcmeHQPe@$X8o!IATu2wU@Q?|(@WM-Az|Dm=jqY%7`9*OeyOokE88SmgKhysF zkYiKHxYCvVGQE`=H8Ofg!NTGhebm@WeVOjg8dsVQd(ZRYnfAD9&FEd(_uYDC3X^rP zDv$hDYBD=rpmu-1)Rm2%?Xq>jWoh+YPxExBCw@KsK_9WbP+GR4t9Q{Da&2h!oj0SC z8eYLdHP6V;d=P50Z> z_H(4;M79d{b>PX^Igzb-l*&$9nD#I=I_G;zr_Uahc~XC$K1=6Vt}jU6qdsv^T#Dpe zuZMk>j00z;-_QB2YtT7AdrHaSN&J=!YS%$u=j(Wy`u$sp=(k7P@bp>ITYVf}bZxWK zc2q`Ee*bAvUsRo6$xra#-%pAyXnYwesA#k7Smi;%jMZmX(IaRcQ-AKXl-$qB=;YtZ z^99wT9_5}oZFQj}^ZmQp=Z3AmIQ1z%UMMe=zw$jB_|b{{;V$7AoY84r7Ox-w-%Z>3 z{Cv%i=6>^@H)%~LYSlANi{@f&QBCXJAg15M%2d;+RnN5ZEks_%N1;~*eEF18AEwtG zkKmxl(}d>TX{GU*CqV_T4^vH}eF>h=KIwRX{(LDFX0>_h#gzQnNzSN5`+f26y48#6 zR%&ke1?<10#@ujIskQ}z9(Sa9z6YPFsdq#=M$kSY+8-vb-nbH!S#`O|A={o^ZK(zi zk9bU5wAoeLo*aUO0)fUA?Cp0u{kl~!E~{3SH{M&Jd4#y;!Ri(>%^Sp%KJTrdQmVBd z&DZM8nP}YMS>R|{`R^yGzkg&JH*a?rQ4hvUO})F=yv<7f{o|8J_UL)Nl=j%djz_l) z#>2M1e|(Cw(Sezg4NsZhKW1EeH*SI6Ah&aM4jPjlfLW7w{#KV39p#OS>rB(B8Gb%K zQz|nx!z5f>58sDrj78o9?M#R~MZWG{%F89DrFGjw(6^YWPgi*01 zO8wRKX9nRuhP<>m$6%4pj9;aG7f%Z2gi)T13eLvT%L*e*rHtyY%bmpZ(WYwt+I*N3 zMr+Hydd&Q`;G@Q?5-Z4(+rKkn|&y})yxsD}G()TSq;_c9Mj#pe-m z!f7A7Bhvf{8Ijm7*C!F~(^go2;_MsK?pp=%_Y3z^jLIdm+5Nja@|^y2Ji9|ogL@^I z6Gr9Q?dD0F;5|%K13NQz^P)VWG|UO3A~`JWLw9`q%^rw+Od7D($cXlbfyZ^s38QkR z{rYF_Rc_-8d0u}xj4z1iXB)xyW-%v>s_4cvn%@kr5vnC~xb6*OLCguGNQYW%z+&FR zPNerPusySda+tFMbHZpXD}2oMKvnlwu#9T7@Mwvy^e}GVbrT#{{6MPKWp3nx+~8s&f#6N`#SU;cbF4K#X41|de=Um zh3a$60}SH>RYes+fE_n;K{ctsygla7@CyZ8?lpSSs zwtr^ZZ5#gQ!2zqy^|ok_EDE0SjJ=)>ZvAr)%1C*zsIG5DA1t!*mhO3p;w}f$2)7C%<4#YqPw zVU#Z=2`QKpMw7sYuOsG!QNENUq+m`MO#&ajj+hfh`BIXQf;nL{34HiEVon(4OG!cs z=7iBC@Zsx-IboD9B?&2*6GoH3hp!{%gi*efB&1+Y7)=5no{qdHgTg=U#jEkSaC+M7 z0(jah{1be~#fVog?+Lyrp33Cac|15hm5E{*MDwKW@o>Vm(v!CDfak%ZdU_hydK@V4 z>1p1x#>b&!G_1w}c~wE9G@sFxLJJVMV-Q~i^jI4VHBbc?ng zHyR1&iI2CO2s3ICz@pVD9%&SfjUQdF9#Mnh;Z-a3BVp7aO`}LqAH*C9s#d3Xj%AUc z>Ji;59%j{2<G!6*&4IWs8Wc^GA{fUT z*_Z0_^YPx$F&)txI#}Jy7R4|owsA+jRpWX+P3tm>$foA^sYzwIDsR%6ey!i63`B20u2f&TDE}ebIS4(sH`1PH#u5)bG5XsFU_#j_2>7Snqc;(Ob;AoVS=w$NUzv lPn~n|pm;oQF{`w0<5$B14GT0Z(6B(m0u2i^Ebw|-;QvDn3w8hi literal 0 HcmV?d00001 diff --git "a/Firmware/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" "b/Firmware/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index a280d19029..894c0ef398 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1149,7 +1149,7 @@ * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. * By default the firmware assumes HIGH=FILAMENT PRESENT. */ -//#define FILAMENT_RUNOUT_SENSOR +#define FILAMENT_RUNOUT_SENSOR #if ENABLED(FILAMENT_RUNOUT_SENSOR) #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. #define FIL_RUNOUT_INVERTING false // Set to true to invert the logic of the sensor. @@ -1503,7 +1503,7 @@ * P1 Raise the nozzle always to Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. */ -//#define NOZZLE_PARK_FEATURE +#define NOZZLE_PARK_FEATURE #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z_raise } diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index eaf70bd35c..1282ae68fb 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1047,7 +1047,7 @@ //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files - #define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + #define EVENT_GCODE_SD_STOP "G28XY\nM84" // G-code to run on Stop Print (e.g., "G28XY" or "G27") #if ENABLED(PRINTER_EVENT_LEDS) #define PE_LEDS_COMPLETED_TIME (30*60) // (seconds) Time to keep the LED "done" color before restoring normal illumination @@ -1868,7 +1868,7 @@ * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ -//#define ADVANCED_PAUSE_FEATURE +#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. @@ -1906,7 +1906,7 @@ #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index d1db01068a..16e0383a24 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -60,7 +60,7 @@ #if ENABLED(TFT_LITTLE_VGL_UI) #include "lvgl.h" #include "lcd/extui/lib/mks_ui/inc/tft_lvgl_configuration.h" -#include "lcd/extui/lib/mks_ui/inc/draw_ready_print.h" +#include "lcd/extui/lib/mks_ui/inc/draw_ui.h" #if ENABLED(MKS_TEST) #include "lcd/extui/lib/mks_ui/inc/mks_hardware_test.h" #endif @@ -760,7 +760,11 @@ void kill(PGM_P const lcd_error/*=nullptr*/, PGM_P const lcd_component/*=nullptr SERIAL_ERROR_MSG(STR_ERR_KILLED); #if HAS_DISPLAY - ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR); + #if ENABLED(TFT_LITTLE_VGL_UI) + lv_draw_error_message(lcd_error); + #else + ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR); + #endif #else UNUSED(lcd_error); UNUSED(lcd_component); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h index f83f2732ec..b08ad0ad29 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_dialog.h @@ -36,6 +36,18 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */ #define WIFI_ENABLE_TIPS 20 +#define DIALOG_PAUSE_MESSAGE_PAUSING 21 +#define DIALOG_PAUSE_MESSAGE_CHANGING 22 +#define DIALOG_PAUSE_MESSAGE_UNLOAD 23 +#define DIALOG_PAUSE_MESSAGE_WAITING 24 +#define DIALOG_PAUSE_MESSAGE_INSERT 25 +#define DIALOG_PAUSE_MESSAGE_LOAD 26 +#define DIALOG_PAUSE_MESSAGE_PURGE 27 +#define DIALOG_PAUSE_MESSAGE_RESUME 28 +#define DIALOG_PAUSE_MESSAGE_HEAT 29 +#define DIALOG_PAUSE_MESSAGE_HEATING 30 +#define DIALOG_PAUSE_MESSAGE_OPTION 31 + #define BTN_OK_X 100 #define BTN_OK_Y 180 #define BTN_CANCEL_X 280 diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_error_message.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_error_message.h new file mode 100644 index 0000000000..b1d95f9ca9 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_error_message.h @@ -0,0 +1,21 @@ +#ifndef _LV_DRAW_ERROR_MESSAGE_ +#define _LV_DRAW_ERROR_MESSAGE_ + + + + +#if defined(__cplusplus) +extern "C" { /* Make sure we have C-declarations in C++ programs */ +#endif + +extern void lv_draw_error_message(PGM_P const msg); +extern void lv_clear_error_message(); + + +//extern void disp_temp_ready_print(); +#if defined(__cplusplus) +} /* Make sure we have C-declarations in C++ programs */ +#endif + +#endif + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_manuaLevel.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_manuaLevel.h new file mode 100644 index 0000000000..818aca61d3 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_manuaLevel.h @@ -0,0 +1,20 @@ +#ifndef _LV_DRAW_MANUAL_LEVEL_ +#define _LV_DRAW_MANUAL_LEVEL_ + + + + +#if defined(__cplusplus) +extern "C" { /* Make sure we have C-declarations in C++ programs */ +#endif + +extern void lv_draw_manualLevel(void); +extern void lv_clear_manualLevel(); + +//extern void disp_temp_ready_print(); +#if defined(__cplusplus) +} /* Make sure we have C-declarations in C++ programs */ +#endif + +#endif + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_pause_message.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_pause_message.h new file mode 100644 index 0000000000..e8411977a2 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_pause_message.h @@ -0,0 +1,19 @@ +#ifndef _LV_DRAW_ERROR_MESSAGE_ +#define _LV_DRAW_ERROR_MESSAGE_ + + + + +#if defined(__cplusplus) +extern "C" { /* Make sure we have C-declarations in C++ programs */ +#endif + +extern void lv_draw_pause_message(const PauseMessage msg); + +//extern void disp_temp_ready_print(); +#if defined(__cplusplus) +} /* Make sure we have C-declarations in C++ programs */ +#endif + +#endif + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h index 349cfd76de..8ef18c2fdc 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/draw_ui.h @@ -24,7 +24,8 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */ #include "../inc/draw_fan.h" #include "../inc/draw_about.h" #include "../inc/draw_change_speed.h" - +#include "../inc/draw_manuaLevel.h" +#include "../inc/draw_error_message.h" #define TFT35 @@ -75,6 +76,7 @@ typedef struct uint8_t language; uint8_t leveling_mode; uint8_t from_flash_pic; + uint8_t finish_power_off; uint32_t curFilesize; }CFG_ITMES; @@ -84,6 +86,7 @@ typedef struct uint8_t curTempType:1, curSprayerChoose:3, stepHeat:4; + uint8_t leveling_first_time:1; uint8_t extruStep; uint8_t extruSpeed; uint8_t stepPrintSpeed; @@ -156,7 +159,8 @@ typedef enum DOUBLE_Z_UI, ENABLE_INVERT_UI, NUMBER_KEY_UI, - BABY_STEP_UI + BABY_STEP_UI, + ERROR_MESSAGE_UI } DISP_STATE; typedef struct diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h index 087cfc17c0..f3df62dffc 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_en.h @@ -681,4 +681,18 @@ #define PRINTING_OPERATION_OTHER_LANGUGE "Operation" #define PRINTING_PAUSE_OTHER_LANGUGE "Pause" +#define MESSEGE_PAUSING_EN "Parking..." +#define MESSEGE_CHANGING_EN "Wait for filament change to start" +#define MESSEGE_UNLOAD_EN "Wait for filament unload" +#define MESSEGE_WAITING_EN "Press Button to resume print" +#define MESSEGE_INSERT_EN "Insert filament and press button to continue" +#define MESSEGE_LOAD_EN "Wait for filament load" +#define MESSEGE_PURGE_EN "Wait for filament purge" +#define MESSEGE_RESUME_EN "Wait for print to resume..." +#define MESSEGE_HEAT_EN "Press button to heat nozzle" +#define MESSEGE_HEATING_EN "Nozzle heating Please wait..." +#define MESSEGE_OPTION_EN "Purge more or continue print?" +#define MESSEGE_PURGE_MORE_EN "Purge" +#define MESSEGE_CONTINUE_PRINT_EN "Print" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h index 1aff42a473..9a82f663b4 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_fr.h @@ -238,4 +238,19 @@ #define DIALOG_PRINT_TIME_FR "Temps d'impression: " #define DIALOG_REPRINT_FR "Print again" #define DIALOG_WIFI_ENABLE_TIPS_FR "The wifi module is being configured,\nplease wait a moment....." + + +#define MESSEGE_PAUSING_FR "Parking..." +#define MESSEGE_CHANGING_FR "Attente filament pour démarrer" +#define MESSEGE_UNLOAD_FR "Attente retrait du filament" +#define MESSEGE_WAITING_FR "Presser bouton,pour reprendre" +#define MESSEGE_INSERT_FR "Insérer filament et app. bouton pour continuer..." +#define MESSEGE_LOAD_FR "Attente chargement filament" +#define MESSEGE_PURGE_FR "Attente Purge filament" +#define MESSEGE_RESUME_FR "Attente reprise impression" +#define MESSEGE_HEAT_FR "Presser le bouton pour chauffer..." +#define MESSEGE_HEATING_FR "Buse en chauffe Patienter SVP..." +#define MESSEGE_OPTION_FR "Purger davantage ou continuer l'impression?" +#define MESSEGE_PURGE_MORE_FR "Purge" +#define MESSEGE_CONTINUE_PRINT_FR "Impression" #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h index 0e8b8b7693..9928218cb7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_it.h @@ -234,4 +234,18 @@ #define DIALOG_PRINT_TIME_IT "Tempo di stampa: " #define DIALOG_REPRINT_IT "Print again" #define DIALOG_WIFI_ENABLE_TIPS_IT "The wifi module is being configured,\nplease wait a moment....." + +#define MESSEGE_PAUSING_IT "Parcheggiando..." +#define MESSEGE_CHANGING_IT "Attendere avvio del cambio di filamento" +#define MESSEGE_UNLOAD_IT "Attendere l'espulsione del filamento" +#define MESSEGE_WAITING_IT "Premi per riprendere la stampa" +#define MESSEGE_INSERT_IT "Inserisci il filamento e premi per continuare" +#define MESSEGE_LOAD_IT "Attendere il caricamento del filamento" +#define MESSEGE_PURGE_IT "Attendere lo spurgo del filamento" +#define MESSEGE_RESUME_IT "Attendere la ripresa della stampa..." +#define MESSEGE_HEAT_IT "Premi per riscaldare ugello" +#define MESSEGE_HEATING_IT "Riscaldam. ugello Attendere prego..." +#define MESSEGE_OPTION_IT "Eliminare di più o continuare a stampare?" +#define MESSEGE_PURGE_MORE_IT "Epurazione" +#define MESSEGE_CONTINUE_PRINT_IT "Stampa" #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h index e90e54c3d8..a83a06d6af 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_ru.h @@ -236,4 +236,18 @@ #define DIALOG_REPRINT_RU "Print again" #define DIALOG_WIFI_ENABLE_TIPS_RU "The wifi module is being configured,\nplease wait a moment....." +#define MESSEGE_PAUSING_RU "Стоянка..." +#define MESSEGE_CHANGING_RU "Подождите, пока начнется смена филамента" +#define MESSEGE_UNLOAD_RU "Дождитесь выгрузки нити" +#define MESSEGE_WAITING_RU "Нажмите кнопку,чтобы возобновить печать" +#define MESSEGE_INSERT_RU "Вставьте нить и нажмите кнопку,чтобы продолжить" +#define MESSEGE_LOAD_RU "Дождитесь загрузки нити" +#define MESSEGE_PURGE_RU "Дождитесь чистки нити" +#define MESSEGE_RESUME_RU "Подождите,пока печать возобновится ..." +#define MESSEGE_HEAT_RU "Нажмите кнопку, чтобы нагреть форсунку" +#define MESSEGE_HEATING_RU "Подогрев форсунки Пожалуйста, подождите ..." +#define MESSEGE_OPTION_RU "Очистить больше или продолжить печать?" +#define MESSEGE_PURGE_MORE_RU "чистка" +#define MESSEGE_CONTINUE_PRINT_RU "Распечатать" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h index b1ff4c3ab7..f0c333f770 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_s_cn.h @@ -231,4 +231,18 @@ #define PRINTING_OPERATION_GBK "操作" #define PRINTING_PAUSE_GBK "暂停" +#define MESSEGE_PAUSING_CN "暂停中..." +#define MESSEGE_CHANGING_CN "等待换料开始..." +#define MESSEGE_UNLOAD_CN "退料中,请稍等..." +#define MESSEGE_WAITING_CN "点击按钮恢复打印" +#define MESSEGE_INSERT_CN "装载耗材后,点击按钮开始打印" +#define MESSEGE_LOAD_CN "进料中,请稍等..." +#define MESSEGE_PURGE_CN "等待挤出..." +#define MESSEGE_RESUME_CN "等待恢复打印..." +#define MESSEGE_HEAT_CN "按下按钮,加热喷头" +#define MESSEGE_HEATING_CN "喷头加热中,请等待..." +#define MESSEGE_OPTION_CN "挤出更多还是继续打印?" +#define MESSEGE_PURGE_MORE_CN "挤出" +#define MESSEGE_CONTINUE_PRINT_CN "打印" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h index b5d0fce5e5..8e5302cd52 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_sp.h @@ -243,5 +243,18 @@ #define PRINTING_AJUSTES_SP "Ajustes" #define PRINTING_PAUSAR_SP "Pausar" +#define MESSEGE_PAUSING_SP "Aparcando..." +#define MESSEGE_CHANGING_SP "Esperando para iniciar el cambio de filamento" +#define MESSEGE_UNLOAD_SP "Espere para liberar el filamento" +#define MESSEGE_WAITING_SP "Pulsar el botón para reanudar impresión" +#define MESSEGE_INSERT_SP "Inserte el filamento y pulse el botón para continuar..." +#define MESSEGE_LOAD_SP "Espere para purgar el filamento" +#define MESSEGE_PURGE_SP "Espere para purgar el filamento" +#define MESSEGE_RESUME_SP "Esperando impresora para reanudar..." +#define MESSEGE_HEAT_SP "Pulse el botón para calentar la boquilla" +#define MESSEGE_HEATING_SP "Calentando boquilla Espere por favor..." +#define MESSEGE_OPTION_SP "¿Purgar más o continuar con la impresión?" +#define MESSEGE_PURGE_MORE_SP "Purga" +#define MESSEGE_CONTINUE_PRINT_SP "Impresión" #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h index cc08160a70..0d93c5ee97 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_Language_t_cn.h @@ -230,4 +230,19 @@ #define TEXT_VALUE_T_CN "%d℃/%d℃" #define EXTRUDE_TEXT_VALUE_T_T_CN ": %d℃" #define WIFI_RECONNECT_TEXT_T_CN "重新連接" + +#define MESSEGE_PAUSING_T_CN "暫停中..." +#define MESSEGE_CHANGING_T_CN "等待換料開始..." +#define MESSEGE_UNLOAD_T_CN "退料中,請稍等..." +#define MESSEGE_WAITING_T_CN "點擊按鈕恢復打印" +#define MESSEGE_INSERT_T_CN "裝載耗材後,點擊按鈕開始打印" +#define MESSEGE_LOAD_T_CN "進料中,請稍等..." +#define MESSEGE_PURGE_T_CN "等待擠出..." +#define MESSEGE_RESUME_T_CN "等待恢復打印..." +#define MESSEGE_HEAT_T_CN "按下按鈕,加熱噴頭" +#define MESSEGE_HEATING_T_CN "噴頭加熱中,請等待..." +#define MESSEGE_OPTION_T_CN "擠出更多還是繼續打印" +#define MESSEGE_PURGE_MORE_T_CN "擠出" +#define MESSEGE_CONTINUE_PRINT_T_CN "打印" + #endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h index 0fa920a78f..57b6390634 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/inc/tft_multi_language.h @@ -471,6 +471,24 @@ typedef struct TemperatureSettings_menu_disp }TemperatureSettings_menu_def; extern TemperatureSettings_menu_def TemperatureSettings_menu; +typedef struct pause_msg_disp +{ + const char *pausing; + const char *changing; + const char *unload; + const char *waiting; + const char *insert; + const char *load; + const char *purge; + const char *resume; + const char *heat; + const char *heating; + const char *option; + const char *purgeMore; + const char *continuePrint; +}pause_msg_def; +extern pause_msg_def pause_msg_menu; + /*****************************************/ //********************************************// //#if defined(TFT70) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp index b1fdf018e2..c914dfca90 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_about.cpp @@ -11,7 +11,7 @@ #include "../../../../../module/temperature.h" static lv_obj_t * scr; -static lv_obj_t * firmWare,*board; +static lv_obj_t * fw_type,*board,*fw_version; #define ID_A_RETURN 1 @@ -84,14 +84,28 @@ void lv_draw_about(void) lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); } - firmWare = lv_label_create(scr, NULL); - lv_obj_set_style(firmWare, &tft_style_lable_rel); - lv_label_set_text(firmWare, "Firmware: Robin_Nano35"); - lv_obj_align(firmWare, NULL, LV_ALIGN_CENTER,0, -20); + fw_version = lv_label_create(scr, NULL); + lv_obj_set_style(fw_version, &tft_style_lable_rel); + lv_label_set_text(fw_version, "Version: V_2.0.5.3"); + lv_obj_align(fw_version, NULL, LV_ALIGN_CENTER,0, -60); + + fw_type = lv_label_create(scr, NULL); + lv_obj_set_style(fw_type, &tft_style_lable_rel); + #if (MOTHERBOARD == BOARD_MKS_ROBIN_PRO) + lv_label_set_text(fw_type, "Firmware: Robin_Pro35"); + #elif (MOTHERBOARD == BOARD_MKS_ROBIN_NANO) + lv_label_set_text(fw_type, "Firmware: Robin_Nano35"); + #endif + lv_obj_align(fw_type, NULL, LV_ALIGN_CENTER,0, -20); board = lv_label_create(scr, NULL); lv_obj_set_style(board, &tft_style_lable_rel); + #if (MOTHERBOARD == BOARD_MKS_ROBIN_PRO) + lv_label_set_text(board, "Board: MKS Robin pro"); + #elif (MOTHERBOARD == BOARD_MKS_ROBIN_NANO) lv_label_set_text(board, "Board: MKS Robin nano"); + #endif + lv_obj_align(board, NULL, LV_ALIGN_CENTER,0, 20); } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp index 91682d47ac..d68909e766 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_dialog.cpp @@ -14,6 +14,9 @@ #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../../../feature/powerloss.h" #endif +#if ENABLED(PARK_HEAD_ON_PAUSE) +#include "../../../../../feature/pause.h" +#endif static lv_obj_t * scr; extern uint8_t sel_id; @@ -83,22 +86,23 @@ static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) lv_draw_ready_print(); #if ENABLED (SDSUPPORT) - card.endFilePrint(); - wait_for_heatup = false; + //card.endFilePrint(); + //wait_for_heatup = false; uiCfg.print_state = IDLE; - - queue.clear(); + card.flag.abort_sd_printing = true; + //queue.clear(); //quickstop_stepper(); //print_job_timer.stop(); - thermalManager.disable_all_heaters(); + //thermalManager.disable_all_heaters(); - #if ENABLED(POWER_LOSS_RECOVERY) - recovery.purge(); - #endif - queue.enqueue_one_now(PSTR("G91")); - queue.enqueue_one_now(PSTR("G1 Z10")); - queue.enqueue_one_now(PSTR("G90")); - queue.enqueue_one_now(PSTR("G28 X0 Y0")); + //#if ENABLED(POWER_LOSS_RECOVERY) + //recovery.purge(); + //#endif + //queue.enqueue_one_now(PSTR("G91")); + //queue.enqueue_one_now(PSTR("G1 Z10")); + //queue.enqueue_one_now(PSTR("G90")); + //queue.enqueue_one_now(PSTR("G28 X0 Y0")); + //queue.inject_P(PSTR("G91\nG1 Z10\nG90\nG28 X0 Y0\nM84\nM107")); #endif } else if(DialogType == DIALOG_TYPE_FINISH_PRINT) @@ -106,6 +110,23 @@ static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) clear_cur_ui(); lv_draw_ready_print(); } + #if ENABLED(ADVANCED_PAUSE_FEATURE) + else if(DialogType == DIALOG_PAUSE_MESSAGE_WAITING + ||DialogType == DIALOG_PAUSE_MESSAGE_INSERT + ||DialogType == DIALOG_PAUSE_MESSAGE_HEAT) + { + wait_for_user = false; + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE; + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_RESUME) + { + clear_cur_ui(); + draw_return_ui(); + } + #endif } } @@ -116,8 +137,17 @@ static void btn_cancel_event_cb(lv_obj_t * btn, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - clear_cur_ui(); - draw_return_ui(); + if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + #if ENABLED(ADVANCED_PAUSE_FEATURE) + pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT; + #endif + } + else + { + clear_cur_ui(); + draw_return_ui(); + } } } @@ -176,7 +206,7 @@ void lv_draw_dialog(uint8_t type) lv_obj_set_style(labelDialog, &tft_style_lable_rel); - if(DialogType == DIALOG_TYPE_FINISH_PRINT) + if(DialogType == DIALOG_TYPE_FINISH_PRINT || DialogType == DIALOG_PAUSE_MESSAGE_RESUME) { lv_obj_t * btnOk = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(btnOk, BTN_OK_X+90, BTN_OK_Y); /*Set its position*/ @@ -187,6 +217,29 @@ void lv_draw_dialog(uint8_t type) lv_obj_t * labelOk = lv_label_create(btnOk, NULL); /*Add a label to the button*/ lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_WAITING + ||DialogType == DIALOG_PAUSE_MESSAGE_INSERT + ||DialogType == DIALOG_PAUSE_MESSAGE_HEAT) + { + lv_obj_t * btnOk = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(btnOk, BTN_OK_X+90, BTN_OK_Y); /*Set its position*/ + lv_obj_set_size(btnOk, 100, 50); /*Set its size*/ + lv_obj_set_event_cb(btnOk, btn_ok_event_cb); + lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); /*Set the button's released style*/ + lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); /*Set the button's pressed style*/ + lv_obj_t * labelOk = lv_label_create(btnOk, NULL); /*Add a label to the button*/ + lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_PAUSING + ||DialogType == DIALOG_PAUSE_MESSAGE_CHANGING + ||DialogType == DIALOG_PAUSE_MESSAGE_UNLOAD + ||DialogType == DIALOG_PAUSE_MESSAGE_LOAD + ||DialogType == DIALOG_PAUSE_MESSAGE_PURGE + ||DialogType == DIALOG_PAUSE_MESSAGE_RESUME + ||DialogType == DIALOG_PAUSE_MESSAGE_HEATING) + { + } else { @@ -197,8 +250,7 @@ void lv_draw_dialog(uint8_t type) lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); /*Set the button's released style*/ lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); /*Set the button's pressed style*/ lv_obj_t * labelOk = lv_label_create(btnOk, NULL); /*Add a label to the button*/ - lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ - + lv_obj_t * btnCancel = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(btnCancel, BTN_CANCEL_X, BTN_CANCEL_Y); /*Set its position*/ lv_obj_set_size(btnCancel, 100, 50); /*Set its size*/ @@ -206,7 +258,17 @@ void lv_draw_dialog(uint8_t type) lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); /*Set the button's released style*/ lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); /*Set the button's pressed style*/ lv_obj_t * labelCancel = lv_label_create(btnCancel, NULL); /*Add a label to the button*/ - lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + + if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + lv_label_set_text(labelOk, pause_msg_menu.purgeMore); /*Set the labels text*/ + lv_label_set_text(labelCancel, pause_msg_menu.continuePrint); + } + else + { + lv_label_set_text(labelOk, print_file_dialog_menu.confirm); /*Set the labels text*/ + lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + } } if(DialogType == DIALOG_TYPE_PRINT_FILE) { @@ -229,6 +291,61 @@ void lv_draw_dialog(uint8_t type) lv_label_set_text(labelDialog, print_file_dialog_menu.print_finish); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } + else if(DialogType == DIALOG_PAUSE_MESSAGE_PAUSING) + { + lv_label_set_text(labelDialog, pause_msg_menu.pausing); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_CHANGING) + { + lv_label_set_text(labelDialog, pause_msg_menu.changing); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_UNLOAD) + { + lv_label_set_text(labelDialog, pause_msg_menu.unload); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_WAITING) + { + lv_label_set_text(labelDialog, pause_msg_menu.waiting); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_INSERT) + { + lv_label_set_text(labelDialog, pause_msg_menu.insert); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_LOAD) + { + lv_label_set_text(labelDialog, pause_msg_menu.load); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_PURGE) + { + lv_label_set_text(labelDialog, pause_msg_menu.purge); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_RESUME) + { + lv_label_set_text(labelDialog, pause_msg_menu.resume); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_HEAT) + { + lv_label_set_text(labelDialog, pause_msg_menu.heat); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_HEATING) + { + lv_label_set_text(labelDialog, pause_msg_menu.heating); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if(DialogType == DIALOG_PAUSE_MESSAGE_OPTION) + { + lv_label_set_text(labelDialog, pause_msg_menu.option); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_error_message.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_error_message.cpp new file mode 100644 index 0000000000..116682e4ed --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_error_message.cpp @@ -0,0 +1,67 @@ +#include "../../../../../MarlinCore.h" +#if ENABLED(TFT_LITTLE_VGL_UI) +#include "lv_conf.h" +//#include "../../lvgl/src/lv_objx/lv_imgbtn.h" +//#include "../../lvgl/src/lv_objx/lv_img.h" +//#include "../../lvgl/src/lv_core/lv_disp.h" +//#include "../../lvgl/src/lv_core/lv_refr.h" +//#include "../../MarlinCore.h" +#include "../../../../../../Configuration.h" +#include "../inc/tft_lvgl_configuration.h" +#include "../inc/mks_hardware_test.h" +#include "../inc/draw_ui.h" + +static lv_obj_t * scr; + +void lv_draw_error_message(PGM_P const msg) +{ + #if 0 + static lv_obj_t * message=NULL,*kill_message=NULL,*reset_tips=NULL; + if(disp_state_stack._disp_state[disp_state_stack._disp_index] != ERROR_MESSAGE_UI) + { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = ERROR_MESSAGE_UI; + } + disp_state = ERROR_MESSAGE_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + if(msg) + { + message = lv_label_create(scr, NULL); + lv_obj_set_style(message, &tft_style_lable_rel); + lv_label_set_text(message, msg); + lv_obj_align(message, NULL, LV_ALIGN_CENTER,0, -50); + } + + kill_message = lv_label_create(scr, NULL); + lv_obj_set_style(kill_message, &tft_style_lable_rel); + lv_label_set_text(kill_message, "PRINTER HALTED"); + lv_obj_align(kill_message, NULL, LV_ALIGN_CENTER,0, -10); + + reset_tips = lv_label_create(scr, NULL); + lv_obj_set_style(reset_tips, &tft_style_lable_rel); + lv_label_set_text(reset_tips, "Please Reset"); + lv_obj_align(reset_tips, NULL, LV_ALIGN_CENTER,0, 30); + + lv_task_handler(); + #endif + LCD_Clear(0x0000); + if(msg) + disp_string((TFT_WIDTH-strlen(msg)*16)/2,100,msg,0xffff,0x0000); + disp_string((TFT_WIDTH-strlen("PRINTER HALTED")*16)/2,140,"PRINTER HALTED",0xffff,0x0000); + disp_string((TFT_WIDTH-strlen("Please Reset")*16)/2,180,"Please Reset",0xffff,0x0000); + +} + +void lv_clear_error_message() +{ + lv_obj_del(scr); +} +#endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_manuaLevel.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_manuaLevel.cpp new file mode 100644 index 0000000000..bd49dda5a5 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_manuaLevel.cpp @@ -0,0 +1,284 @@ +#include "../../../../../MarlinCore.h" +#if ENABLED(TFT_LITTLE_VGL_UI) +#include "lv_conf.h" +//#include "../../lvgl/src/lv_objx/lv_imgbtn.h" +//#include "../../lvgl/src/lv_objx/lv_img.h" +//#include "../../lvgl/src/lv_core/lv_disp.h" +//#include "../../lvgl/src/lv_core/lv_refr.h" +#include "../inc/draw_ui.h" +#include "../../../../../gcode/queue.h" + +//static lv_obj_t *buttonMoveZ,*buttonTest,*buttonZ0,*buttonStop,*buttonReturn; +static lv_obj_t * scr; + +#define ID_M_POINT1 1 +#define ID_M_POINT2 2 +#define ID_M_POINT3 3 +#define ID_M_POINT4 4 +#define ID_M_POINT5 5 + +#define ID_MANUAL_RETURN 6 + +static void event_handler(lv_obj_t * obj, lv_event_t event) +{ + switch(obj->mks_obj_id) + { + case ID_M_POINT1: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MIN_POS+30, Y_MIN_POS+30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + break; + case ID_M_POINT2: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MAX_POS-30, Y_MIN_POS+30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + break; + case ID_M_POINT3: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MAX_POS-30, Y_MAX_POS-30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + + break; + case ID_M_POINT4: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_MIN_POS+30, Y_MAX_POS-30); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + break; + case ID_M_POINT5: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + if(queue.length == 0) + { + if(uiCfg.leveling_first_time) + { + queue.enqueue_one_P(PSTR("G28")); + uiCfg.leveling_first_time = 0; + } + + queue.enqueue_one_P(PSTR("G1 Z10")); + + memset(public_buf_l,0,sizeof(public_buf_l)); + sprintf(public_buf_l, "G1 X%d Y%d",X_BED_SIZE/2, Y_BED_SIZE/2); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G1 Z0")); + } + } + + break; + case ID_MANUAL_RETURN: + if(event == LV_EVENT_CLICKED) { + + } + else if(event == LV_EVENT_RELEASED) { + lv_clear_manualLevel(); + lv_draw_tool(); + } + break; + + } +} + + +void lv_draw_manualLevel(void) +{ + lv_obj_t *buttonPoint1,*buttonPoint2,*buttonPoint3,*buttonPoint4,*buttonPoint5; + lv_obj_t *buttonBack; + + if(disp_state_stack._disp_state[disp_state_stack._disp_index] != LEVELING_UI) + { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = LEVELING_UI; + } + disp_state = LEVELING_UI; + + scr = lv_obj_create(NULL, NULL); + + //static lv_style_t tool_style; + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_lable_rel); + lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); + lv_label_set_text(title, creat_title_text()); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + LV_IMG_DECLARE(bmp_pic); + + /*Create an Image button*/ + buttonPoint1 = lv_imgbtn_create(scr, NULL); + buttonPoint2 = lv_imgbtn_create(scr, NULL); + buttonPoint3 = lv_imgbtn_create(scr, NULL); + buttonPoint4 = lv_imgbtn_create(scr, NULL); + buttonPoint5 = lv_imgbtn_create(scr, NULL); + buttonBack = lv_imgbtn_create(scr, NULL); + + + lv_obj_set_event_cb_mks(buttonPoint1, event_handler,ID_M_POINT1,"bmp_Leveling1.bin",0); + lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint1, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint1, LV_BTN_STATE_REL, &tft_style_lable_rel); + lv_obj_clear_protect(buttonPoint1, LV_PROTECT_FOLLOW); + #if 1 + lv_obj_set_event_cb_mks(buttonPoint2, event_handler,ID_M_POINT2,"bmp_Leveling2.bin",0); + lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint2, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint2, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonPoint3, event_handler,ID_M_POINT3,"bmp_Leveling3.bin",0); + lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint3, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint3, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonPoint4, event_handler,ID_M_POINT4,"bmp_Leveling4.bin",0); + lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint4, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint4, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonPoint5, event_handler,ID_M_POINT5,"bmp_Leveling5.bin",0); + lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPoint5, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPoint5, LV_BTN_STATE_REL, &tft_style_lable_rel); + + lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_MANUAL_RETURN,"bmp_Return.bin",0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_lable_rel); + + #endif + + lv_obj_set_pos(buttonPoint1,INTERVAL_V,titleHeight); + lv_obj_set_pos(buttonPoint2,BTN_X_PIXEL+INTERVAL_V*2,titleHeight); + lv_obj_set_pos(buttonPoint3,BTN_X_PIXEL*2+INTERVAL_V*3,titleHeight); + lv_obj_set_pos(buttonPoint4,BTN_X_PIXEL*3+INTERVAL_V*4,titleHeight); + lv_obj_set_pos(buttonPoint5,INTERVAL_V, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + + /*Create a label on the Image button*/ + lv_btn_set_layout(buttonPoint1, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint2, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint3, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint4, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPoint5, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + + lv_obj_t * label_Point1 = lv_label_create(buttonPoint1, NULL); + lv_obj_t * label_Point2 = lv_label_create(buttonPoint2, NULL); + lv_obj_t * label_Point3 = lv_label_create(buttonPoint3, NULL); + lv_obj_t * label_Point4 = lv_label_create(buttonPoint4, NULL); + lv_obj_t * label_Point5 = lv_label_create(buttonPoint5, NULL); + lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + + + if(gCfgItems.multiple_language !=0) + { + lv_label_set_text(label_Point1, leveling_menu.position1); + lv_obj_align(label_Point1, buttonPoint1, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point2, leveling_menu.position2); + lv_obj_align(label_Point2, buttonPoint2, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point3, leveling_menu.position3); + lv_obj_align(label_Point3, buttonPoint3, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point4, leveling_menu.position4); + lv_obj_align(label_Point4, buttonPoint4, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Point5, leveling_menu.position5); + lv_obj_align(label_Point5, buttonPoint5, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + } +} + +void lv_clear_manualLevel() +{ + lv_obj_del(scr); +} +#endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp index 003dd08507..c92c97d3c5 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_move_motor.cpp @@ -32,11 +32,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 X%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_P(PSTR("G91")); + sprintf(public_buf_l, "G1 X%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_P(PSTR(public_buf_l)); + queue.enqueue_one_P(PSTR("G90")); + } } break; case ID_M_X_N: @@ -45,11 +48,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 X-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 X-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Y_P: @@ -58,11 +64,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Y%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Y%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Y_N: @@ -71,11 +80,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Y-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Y-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Z_P: @@ -83,11 +95,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Z%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Z%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_Z_N: @@ -95,11 +110,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { - memset(public_buf_l,0,sizeof(public_buf_l)); - queue.enqueue_one_now(PSTR("G91")); - sprintf(public_buf_l, "G1 Z-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); - queue.enqueue_one_now(PSTR(public_buf_l)); - queue.enqueue_one_now(PSTR("G90")); + if(queue.length <= (BUFSIZE-3)) + { + memset(public_buf_l,0,sizeof(public_buf_l)); + queue.enqueue_one_now(PSTR("G91")); + sprintf(public_buf_l, "G1 Z-%3.1f F%d",uiCfg.move_dist, uiCfg.moveSpeed); + queue.enqueue_one_now(PSTR(public_buf_l)); + queue.enqueue_one_now(PSTR("G90")); + } } break; case ID_M_STEP: diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp index d039386ff1..dd9b9e5bd2 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_opration.cpp @@ -17,6 +17,10 @@ static lv_obj_t * scr; #define ID_O_SPEED 5 #define ID_O_RETURN 6 #define ID_O_FAN 7 +#define ID_O_POWER_OFF 8 + +static lv_obj_t *label_PowerOff; +static lv_obj_t *buttonPowerOff; static void event_handler(lv_obj_t * obj, lv_event_t event) { @@ -89,6 +93,31 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) draw_return_ui(); } break; + case ID_O_POWER_OFF: + if(event == LV_EVENT_CLICKED) { + + } + else if(event == LV_EVENT_RELEASED) { + if(gCfgItems.finish_power_off == 1) + { + gCfgItems.finish_power_off = 0; + lv_obj_set_event_cb_mks(obj, event_handler,ID_O_POWER_OFF,"bmp_Mamual.bin",0); + lv_label_set_text(label_PowerOff, printing_more_menu.manual); + lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + lv_obj_refresh_ext_draw_pad(label_PowerOff); + update_spi_flash(); + } + else + { + gCfgItems.finish_power_off = 1; + lv_obj_set_event_cb_mks(obj, event_handler,ID_O_POWER_OFF,"bmp_Auto.bin",0); + lv_label_set_text(label_PowerOff, printing_more_menu.auto_close); + lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + lv_obj_refresh_ext_draw_pad(label_PowerOff); + update_spi_flash(); + } + } + break; } } @@ -130,10 +159,12 @@ void lv_draw_opration(void) buttonFan = lv_imgbtn_create(scr, NULL); buttonSpeed = lv_imgbtn_create(scr, NULL); + if(uiCfg.print_state != WORKING) //buttonFilament = lv_imgbtn_create(scr, NULL); //else buttonMove = lv_imgbtn_create(scr, NULL); + buttonPowerOff = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); @@ -178,6 +209,18 @@ void lv_draw_opration(void) lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_PR, &tft_style_lable_pre); lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_REL, &tft_style_lable_rel); } + if(gCfgItems.finish_power_off == 1) + { + lv_obj_set_event_cb_mks(buttonPowerOff, event_handler,ID_O_POWER_OFF,"bmp_Auto.bin",0); + } + else + { + lv_obj_set_event_cb_mks(buttonPowerOff, event_handler,ID_O_POWER_OFF,"bmp_Mamual.bin",0); + } + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_REL, &tft_style_lable_rel); lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_O_RETURN,"bmp_Return.bin",0); lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); @@ -202,6 +245,11 @@ void lv_draw_opration(void) else*/ { lv_obj_set_pos(buttonMove,INTERVAL_V,BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_obj_set_pos(buttonPowerOff,BTN_X_PIXEL+INTERVAL_V*2,BTN_Y_PIXEL+INTERVAL_H+titleHeight); + } + else + { + lv_obj_set_pos(buttonPowerOff,INTERVAL_V,BTN_Y_PIXEL+INTERVAL_H+titleHeight); } lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight); @@ -219,6 +267,7 @@ void lv_draw_opration(void) { lv_btn_set_layout(buttonMove, LV_LAYOUT_OFF); } + lv_btn_set_layout(buttonPowerOff, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); labelPreHeat = lv_label_create(buttonPreHeat, NULL); @@ -235,6 +284,7 @@ void lv_draw_opration(void) { label_Move = lv_label_create(buttonMove, NULL); } + label_PowerOff = lv_label_create(buttonPowerOff, NULL); label_Back = lv_label_create(buttonBack, NULL); @@ -263,6 +313,16 @@ void lv_draw_opration(void) lv_label_set_text(label_Move, operation_menu.move); lv_obj_align(label_Move, buttonMove, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); } + + if(gCfgItems.finish_power_off == 1) + { + lv_label_set_text(label_PowerOff, printing_more_menu.auto_close); + } + else + { + lv_label_set_text(label_PowerOff, printing_more_menu.manual); + } + lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_pause_message.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_pause_message.cpp new file mode 100644 index 0000000000..80c33e73b5 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_pause_message.cpp @@ -0,0 +1,36 @@ +#include "../../../../../MarlinCore.h" +#if ENABLED(TFT_LITTLE_VGL_UI) +#include "lv_conf.h" +//#include "../../lvgl/src/lv_objx/lv_imgbtn.h" +//#include "../../lvgl/src/lv_objx/lv_img.h" +//#include "../../lvgl/src/lv_core/lv_disp.h" +//#include "../../lvgl/src/lv_core/lv_refr.h" +//#include "../../MarlinCore.h" + +#include "../inc/draw_ui.h" +#if ENABLED(ADVANCED_PAUSE_FEATURE) +#include "../../../../../feature/pause.h" + + +void lv_draw_pause_message(const PauseMessage msg) +{ + switch (msg) { + case PAUSE_MESSAGE_PAUSING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_PAUSING);break; + case PAUSE_MESSAGE_CHANGING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_CHANGING);break; + case PAUSE_MESSAGE_UNLOAD: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_UNLOAD);break; + case PAUSE_MESSAGE_WAITING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_WAITING);break; + case PAUSE_MESSAGE_INSERT: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_INSERT);break; + case PAUSE_MESSAGE_LOAD: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_LOAD);break; + case PAUSE_MESSAGE_PURGE: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_PURGE);break; + case PAUSE_MESSAGE_RESUME: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_RESUME);break; + case PAUSE_MESSAGE_HEAT: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_HEAT);break; + case PAUSE_MESSAGE_HEATING: clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_HEATING);break; + case PAUSE_MESSAGE_OPTION: pause_menu_response = PAUSE_RESPONSE_WAIT_FOR; + clear_cur_ui();lv_draw_dialog(DIALOG_PAUSE_MESSAGE_OPTION);break; + case PAUSE_MESSAGE_STATUS: + default: break; + } +} +#endif + +#endif \ No newline at end of file diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp index 6e174ec503..6a69a961c5 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_printing.cpp @@ -52,8 +52,13 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { if(uiCfg.print_state == WORKING) { + #if ENABLED(PARK_HEAD_ON_PAUSE) + queue.inject_P(PSTR("M25 P\nM24")); + #elif ENABLED(SDSUPPORT) + queue.inject_P(PSTR("M25")); uiCfg.print_state = PAUSED; - queue.inject_P(PSTR("M25")); + #endif + lv_obj_set_event_cb_mks(buttonPause, event_handler,ID_PAUSE,"bmp_Pause.bin",0); lv_label_set_text(labelPause, printing_menu.resume); lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER,30, 0); @@ -61,10 +66,15 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) else if(uiCfg.print_state == PAUSED) { uiCfg.print_state = WORKING; - queue.inject_P(PSTR("M24")); + + #if ENABLED(PARK_HEAD_ON_PAUSE) + wait_for_heatup = wait_for_user = false; + #endif + if (IS_SD_PAUSED())queue.inject_P(PSTR("M24"));// queue.inject_P(M24_STR); + lv_obj_set_event_cb_mks(obj, event_handler,ID_PAUSE,"bmp_Resume.bin",0); lv_label_set_text(labelPause, printing_menu.pause); - lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER,30, 0); + lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER,30, 0); } #if ENABLED(POWER_LOSS_RECOVERY) else if(uiCfg.print_state == REPRINTED) @@ -413,7 +423,7 @@ void setProBarRate() { lv_bar_set_value(bar1, rate, LV_ANIM_ON); - if(/*(mksReprint.mks_printer_state == MKS_IDLE) &&*/ (rate == 100) ) + if(marlin_state == MF_SD_COMPLETE) { if(once_flag == 0) { @@ -425,6 +435,11 @@ void setProBarRate() lv_draw_dialog(DIALOG_TYPE_FINISH_PRINT); once_flag = 1; + + #if HAS_SUICIDE + if(gCfgItems.finish_power_off == 1) + suicide(); + #endif } } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp index ee1e5bc59a..1879ba5b41 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_set.cpp @@ -59,7 +59,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } else if(event == LV_EVENT_RELEASED) { + #if HAS_SUICIDE + suicide(); + #else queue.enqueue_one_now(PSTR("M84")); + #endif } break; case ID_S_LANGUAGE: @@ -148,8 +152,11 @@ void lv_draw_set(void) //lv_imgbtn_set_src(buttonContinue, LV_BTN_STATE_PR, &bmp_pic); //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_PR, &tft_style_lable_pre); //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_REL, &tft_style_lable_rel); - - lv_obj_set_event_cb_mks(buMotorOff, event_handler,ID_S_MOTOR_OFF,"bmp_Motor_off.bin",0); + #if HAS_SUICIDE + lv_obj_set_event_cb_mks(buMotorOff, event_handler,ID_S_MOTOR_OFF,"bmp_Mamual.bin",0); + #else + lv_obj_set_event_cb_mks(buMotorOff, event_handler,ID_S_MOTOR_OFF,"bmp_Motor_off.bin",0); + #endif lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_REL, &bmp_pic); lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_PR, &bmp_pic); lv_imgbtn_set_style(buMotorOff, LV_BTN_STATE_PR, &tft_style_lable_pre); @@ -216,8 +223,11 @@ void lv_draw_set(void) //lv_label_set_text(label_Continue, set_menu.breakpoint); //lv_obj_align(label_Continue, buttonContinue, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); - - lv_label_set_text(label_MotorOff, set_menu.motoroff); + #if HAS_SUICIDE + lv_label_set_text(label_MotorOff, set_menu.shutdown); + #else + lv_label_set_text(label_MotorOff, set_menu.motoroff); + #endif lv_obj_align(label_MotorOff, buMotorOff, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); lv_label_set_text(label_Language, set_menu.language); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp index 9455e32d7e..a30cdcc7bc 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_tool.cpp @@ -68,6 +68,20 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) } break; case ID_T_LEVELING: + if(event == LV_EVENT_CLICKED) { + + + } + else if(event == LV_EVENT_RELEASED) { + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + queue.enqueue_one_P(PSTR("G28")); + queue.enqueue_one_P(PSTR("G29")); + #else + uiCfg.leveling_first_time = 1; + lv_clear_tool(); + lv_draw_manualLevel(); + #endif + } break; case ID_T_FILAMENT: @@ -95,7 +109,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) void lv_draw_tool(void) { - lv_obj_t *buttonPreHeat,*buttonExtrusion,*buttonMove,*buttonHome; + lv_obj_t *buttonPreHeat,*buttonExtrusion,*buttonMove,*buttonHome,*buttonLevel; lv_obj_t *buttonBack; if(disp_state_stack._disp_state[disp_state_stack._disp_index] != TOOL_UI) @@ -127,7 +141,7 @@ void lv_draw_tool(void) buttonExtrusion = lv_imgbtn_create(scr, NULL); buttonMove = lv_imgbtn_create(scr, NULL); buttonHome = lv_imgbtn_create(scr, NULL); - //buttonLevel = lv_imgbtn_create(scr, NULL); + buttonLevel = lv_imgbtn_create(scr, NULL); //buttonFilament = lv_imgbtn_create(scr, NULL); //buttonMore = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); @@ -158,11 +172,11 @@ void lv_draw_tool(void) lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_PR, &tft_style_lable_pre); lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_REL, &tft_style_lable_rel); - //lv_obj_set_event_cb_mks(buttonLevel, event_handler,ID_T_LEVELING,"bmp_Leveling.bin",0); - //lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_PR, &tft_style_lable_pre); - //lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_REL, &tft_style_lable_rel); + lv_obj_set_event_cb_mks(buttonLevel, event_handler,ID_T_LEVELING,"bmp_Leveling.bin",0); + lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_REL, &bmp_pic); + lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_PR, &bmp_pic); + lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_PR, &tft_style_lable_pre); + lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_REL, &tft_style_lable_rel); //lv_obj_set_event_cb_mks(buttonFilament, event_handler,ID_T_FILAMENT,"bmp_Filamentchange.bin",0); //lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_REL, &bmp_pic); @@ -188,7 +202,7 @@ void lv_draw_tool(void) lv_obj_set_pos(buttonExtrusion,BTN_X_PIXEL+INTERVAL_V*2,titleHeight); lv_obj_set_pos(buttonMove,BTN_X_PIXEL*2+INTERVAL_V*3,titleHeight); lv_obj_set_pos(buttonHome,BTN_X_PIXEL*3+INTERVAL_V*4,titleHeight); - //lv_obj_set_pos(buttonLevel,INTERVAL_V, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_obj_set_pos(buttonLevel,INTERVAL_V, BTN_Y_PIXEL+INTERVAL_H+titleHeight); //lv_obj_set_pos(buttonFilament,BTN_X_PIXEL+INTERVAL_V*2,BTN_Y_PIXEL+INTERVAL_H+titleHeight); //lv_obj_set_pos(buttonMore,BTN_X_PIXEL*2+INTERVAL_V*3, BTN_Y_PIXEL+INTERVAL_H+titleHeight); lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight); @@ -198,7 +212,7 @@ void lv_draw_tool(void) lv_btn_set_layout(buttonExtrusion, LV_LAYOUT_OFF); lv_btn_set_layout(buttonMove, LV_LAYOUT_OFF); lv_btn_set_layout(buttonHome, LV_LAYOUT_OFF); - //lv_btn_set_layout(buttonLevel, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonLevel, LV_LAYOUT_OFF); //lv_btn_set_layout(buttonFilament, LV_LAYOUT_OFF); //lv_btn_set_layout(buttonMore, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); @@ -207,7 +221,7 @@ void lv_draw_tool(void) lv_obj_t * labelExtrusion = lv_label_create(buttonExtrusion, NULL); lv_obj_t * label_Move = lv_label_create(buttonMove, NULL); lv_obj_t * label_Home = lv_label_create(buttonHome, NULL); - //lv_obj_t * label_Level = lv_label_create(buttonLevel, NULL); + lv_obj_t * label_Level = lv_label_create(buttonLevel, NULL); //lv_obj_t * label_Filament = lv_label_create(buttonFilament, NULL); //lv_obj_t * label_More = lv_label_create(buttonMore, NULL); lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); @@ -236,6 +250,12 @@ void lv_draw_tool(void) lv_obj_align(label_Level, buttonLevel, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); }*/ + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) + lv_label_set_text(label_Level, tool_menu.autoleveling); + #else + lv_label_set_text(label_Level, tool_menu.leveling); + #endif + lv_obj_align(label_Level, buttonLevel, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); //lv_label_set_text(label_Filament, tool_menu.filament); //lv_obj_align(label_Filament, buttonFilament, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp index 789c4cba6b..3ac43af520 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/draw_ui.cpp @@ -10,6 +10,9 @@ #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../../../feature/powerloss.h" #endif +#if ENABLED(PARK_HEAD_ON_PAUSE) +#include "../../../../../feature/pause.h" +#endif CFG_ITMES gCfgItems; UI_CFG uiCfg; @@ -41,6 +44,7 @@ void gCfgItems_init() gCfgItems.leveling_mode = 0; gCfgItems.from_flash_pic = 0; gCfgItems.curFilesize = 0; + gCfgItems.finish_power_off = 0; W25QXX.SPI_FLASH_BufferRead((uint8_t *)&gCfgItems.spi_flash_flag,VAR_INF_ADDR,sizeof(gCfgItems.spi_flash_flag)); if(gCfgItems.spi_flash_flag == GCFG_FLAG_VALUE) @@ -67,6 +71,7 @@ void ui_cfg_init() uiCfg.curTempType = 0; uiCfg.curSprayerChoose = 0; uiCfg.stepHeat = 10; + uiCfg.leveling_first_time = 0; uiCfg.extruStep = 5; uiCfg.extruSpeed = 10; uiCfg.move_dist = 1; @@ -700,7 +705,7 @@ void GUI_RefreshPage() disp_print_time(); disp_fan_Zpos(); } - if(printing_rate_update_flag) + if(printing_rate_update_flag || marlin_state == MF_SD_COMPLETE) { printing_rate_update_flag = 0; if(gcode_preview_over == 0) @@ -961,7 +966,7 @@ void clear_cur_ui() //Clear_Printmore(); break; case LEVELING_UI: - //Clear_Leveling();//** + lv_clear_manualLevel(); break; case BIND_UI: //Clear_Bind(); @@ -1179,7 +1184,7 @@ void draw_return_ui() //draw_FilamentChange(); break; case LEVELING_UI: - //draw_leveling(); + lv_draw_manualLevel(); break; case BIND_UI: diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp index 9361716e27..5299ae9770 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_lvgl_configuration.cpp @@ -459,8 +459,14 @@ void tft_lvgl_init() else default_preview_flg = 1; uiCfg.print_state = REPRINTED; - strncpy(list_file.long_name[sel_id],recovery.info.sd_filename,sizeof(list_file.long_name[sel_id])); - lv_draw_printing(); + + memset(public_buf_m,0,sizeof(public_buf_m)); + strncpy(public_buf_m,recovery.info.sd_filename,sizeof(public_buf_m)); + card.printLongPath(public_buf_m); + + strncpy(list_file.long_name[sel_id],card.longFilename,sizeof(list_file.long_name[sel_id])); + + lv_draw_printing(); } else #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp index 22d1146cae..b08f680610 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/src/tft_multi_language.cpp @@ -36,6 +36,7 @@ tool_menu_def tool_menu; MachinePara_menu_def MachinePara_menu; MachineSettings_menu_def MachineSettings_menu; TemperatureSettings_menu_def TemperatureSettings_menu; +pause_msg_def pause_msg_menu; void disp_language_init() { @@ -221,6 +222,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_CN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_CN; set_menu.language=LANGUAGE_TEXT_CN; + set_menu.shutdown=SHUTDOWN_TEXT_CN; //set_menu.machine_para = MACHINE_PARA_CN; // @@ -345,6 +347,21 @@ void disp_language_init() zoffset_menu.title = TITLE_ZOFFSET_CN; zoffset_menu.inc = ZOFFSET_INC_CN; zoffset_menu.dec = ZOFFSET_DEC_CN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_CN; + pause_msg_menu.changing = MESSEGE_CHANGING_CN; + pause_msg_menu.unload = MESSEGE_UNLOAD_CN; + pause_msg_menu.waiting = MESSEGE_WAITING_CN; + pause_msg_menu.insert = MESSEGE_INSERT_CN; + pause_msg_menu.load = MESSEGE_LOAD_CN; + pause_msg_menu.purge = MESSEGE_PURGE_CN; + pause_msg_menu.resume = MESSEGE_RESUME_CN; + pause_msg_menu.heat = MESSEGE_HEAT_CN; + pause_msg_menu.heating = MESSEGE_HEATING_CN; + pause_msg_menu.option = MESSEGE_OPTION_CN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_CN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_CN; + break; #if 1 #if 1 @@ -434,6 +451,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_T_CN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_T_CN; set_menu.language=LANGUAGE_TEXT_T_CN; + set_menu.shutdown=SHUTDOWN_TEXT_T_CN; //set_menu.machine_para = MACHINE_PARA_T_CN; // filesys_menu.title = TITLE_FILESYS_T_CN; @@ -553,7 +571,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_T_CN; zoffset_menu.inc = ZOFFSET_INC_T_CN; - zoffset_menu.dec = ZOFFSET_DEC_T_CN; + zoffset_menu.dec = ZOFFSET_DEC_T_CN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_T_CN; + pause_msg_menu.changing = MESSEGE_CHANGING_T_CN; + pause_msg_menu.unload = MESSEGE_UNLOAD_T_CN; + pause_msg_menu.waiting = MESSEGE_WAITING_T_CN; + pause_msg_menu.insert = MESSEGE_INSERT_T_CN; + pause_msg_menu.load = MESSEGE_LOAD_T_CN; + pause_msg_menu.purge = MESSEGE_PURGE_T_CN; + pause_msg_menu.resume = MESSEGE_RESUME_T_CN; + pause_msg_menu.heat = MESSEGE_HEAT_T_CN; + pause_msg_menu.heating = MESSEGE_HEATING_T_CN; + pause_msg_menu.option = MESSEGE_OPTION_T_CN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_T_CN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_T_CN; break; case LANG_ENGLISH: common_menu.dialog_confirm_title = TITLE_DIALOG_CONFIRM_EN; @@ -635,6 +667,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_EN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_EN; set_menu.language=LANGUAGE_TEXT_EN; + set_menu.shutdown=SHUTDOWN_TEXT_EN; //set_menu.machine_para = MACHINE_PARA_EN; // more_menu.title = TITLE_MORE_EN; @@ -751,7 +784,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_EN; zoffset_menu.inc = ZOFFSET_INC_EN; - zoffset_menu.dec = ZOFFSET_DEC_EN; + zoffset_menu.dec = ZOFFSET_DEC_EN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_EN; + pause_msg_menu.changing = MESSEGE_CHANGING_EN; + pause_msg_menu.unload = MESSEGE_UNLOAD_EN; + pause_msg_menu.waiting = MESSEGE_WAITING_EN; + pause_msg_menu.insert = MESSEGE_INSERT_EN; + pause_msg_menu.load = MESSEGE_LOAD_EN; + pause_msg_menu.purge = MESSEGE_PURGE_EN; + pause_msg_menu.resume = MESSEGE_RESUME_EN; + pause_msg_menu.heat = MESSEGE_HEAT_EN; + pause_msg_menu.heating = MESSEGE_HEATING_EN; + pause_msg_menu.option = MESSEGE_OPTION_EN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_EN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_EN; break; case LANG_RUSSIAN: common_menu.dialog_confirm_title = TITLE_DIALOG_CONFIRM_RU; @@ -833,6 +880,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_RU; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_RU; set_menu.language=LANGUAGE_TEXT_RU; + set_menu.shutdown=SHUTDOWN_TEXT_RU; // more_menu.title = TITLE_MORE_RU; more_menu.zoffset = ZOFFSET_RU; @@ -948,7 +996,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_RU; zoffset_menu.inc = ZOFFSET_INC_RU; - zoffset_menu.dec = ZOFFSET_DEC_RU; + zoffset_menu.dec = ZOFFSET_DEC_RU; + + pause_msg_menu.pausing = MESSEGE_PAUSING_RU; + pause_msg_menu.changing = MESSEGE_CHANGING_RU; + pause_msg_menu.unload = MESSEGE_UNLOAD_RU; + pause_msg_menu.waiting = MESSEGE_WAITING_RU; + pause_msg_menu.insert = MESSEGE_INSERT_RU; + pause_msg_menu.load = MESSEGE_LOAD_RU; + pause_msg_menu.purge = MESSEGE_PURGE_RU; + pause_msg_menu.resume = MESSEGE_RESUME_RU; + pause_msg_menu.heat = MESSEGE_HEAT_RU; + pause_msg_menu.heating = MESSEGE_HEATING_RU; + pause_msg_menu.option = MESSEGE_OPTION_RU; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_RU; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_RU; break; case LANG_SPANISH: common_menu.dialog_confirm_title = TITLE_DIALOG_CONFIRM_SP; @@ -1034,6 +1096,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_SP; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_SP; set_menu.language=LANGUAGE_TEXT_SP; + set_menu.shutdown=SHUTDOWN_TEXT_SP; // more_menu.title = TITLE_MORE_SP; more_menu.zoffset = ZOFFSET_SP; @@ -1150,7 +1213,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_SP; zoffset_menu.inc = ZOFFSET_INC_SP; - zoffset_menu.dec = ZOFFSET_DEC_SP; + zoffset_menu.dec = ZOFFSET_DEC_SP; + + pause_msg_menu.pausing = MESSEGE_PAUSING_SP; + pause_msg_menu.changing = MESSEGE_CHANGING_SP; + pause_msg_menu.unload = MESSEGE_UNLOAD_SP; + pause_msg_menu.waiting = MESSEGE_WAITING_SP; + pause_msg_menu.insert = MESSEGE_INSERT_SP; + pause_msg_menu.load = MESSEGE_LOAD_SP; + pause_msg_menu.purge = MESSEGE_PURGE_SP; + pause_msg_menu.resume = MESSEGE_RESUME_SP; + pause_msg_menu.heat = MESSEGE_HEAT_SP; + pause_msg_menu.heating = MESSEGE_HEATING_SP; + pause_msg_menu.option = MESSEGE_OPTION_SP; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_SP; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_SP; break; #endif @@ -1232,6 +1309,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_FR; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_FR; set_menu.language=LANGUAGE_TEXT_FR; + set_menu.shutdown=SHUTDOWN_TEXT_FR; // more_menu.title = TITLE_MORE_FR; more_menu.zoffset = ZOFFSET_FR; @@ -1349,7 +1427,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_FR; zoffset_menu.inc = ZOFFSET_INC_FR; - zoffset_menu.dec = ZOFFSET_DEC_FR; + zoffset_menu.dec = ZOFFSET_DEC_FR; + + pause_msg_menu.pausing = MESSEGE_PAUSING_FR; + pause_msg_menu.changing = MESSEGE_CHANGING_FR; + pause_msg_menu.unload = MESSEGE_UNLOAD_FR; + pause_msg_menu.waiting = MESSEGE_WAITING_FR; + pause_msg_menu.insert = MESSEGE_INSERT_FR; + pause_msg_menu.load = MESSEGE_LOAD_FR; + pause_msg_menu.purge = MESSEGE_PURGE_FR; + pause_msg_menu.resume = MESSEGE_RESUME_FR; + pause_msg_menu.heat = MESSEGE_HEAT_FR; + pause_msg_menu.heating = MESSEGE_HEATING_FR; + pause_msg_menu.option = MESSEGE_OPTION_FR; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_FR; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_FR; break; case LANG_ITALY: @@ -1433,6 +1525,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_IT; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_IT; set_menu.language=LANGUAGE_TEXT_IT; + set_menu.shutdown=SHUTDOWN_TEXT_IT; // more_menu.title = TITLE_MORE_IT; more_menu.zoffset = ZOFFSET_IT; @@ -1547,7 +1640,21 @@ void disp_language_init() //ZOFFSET zoffset_menu.title = TITLE_ZOFFSET_IT; zoffset_menu.inc = ZOFFSET_INC_IT; - zoffset_menu.dec = ZOFFSET_DEC_IT; + zoffset_menu.dec = ZOFFSET_DEC_IT; + + pause_msg_menu.pausing = MESSEGE_PAUSING_IT; + pause_msg_menu.changing = MESSEGE_CHANGING_IT; + pause_msg_menu.unload = MESSEGE_UNLOAD_IT; + pause_msg_menu.waiting = MESSEGE_WAITING_IT; + pause_msg_menu.insert = MESSEGE_INSERT_IT; + pause_msg_menu.load = MESSEGE_LOAD_IT; + pause_msg_menu.purge = MESSEGE_PURGE_IT; + pause_msg_menu.resume = MESSEGE_RESUME_IT; + pause_msg_menu.heat = MESSEGE_HEAT_IT; + pause_msg_menu.heating = MESSEGE_HEATING_IT; + pause_msg_menu.option = MESSEGE_OPTION_IT; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_IT; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_IT; break; #endif @@ -1631,6 +1738,7 @@ void disp_language_init() set_menu.motoroff=MOTOR_OFF_TEXT_EN; set_menu.motoroffXY=MOTOR_OFF_XY_TEXT_EN; set_menu.language=LANGUAGE_TEXT_EN; + set_menu.shutdown=SHUTDOWN_TEXT_EN; //set_menu.machine_para = MACHINE_PARA_EN; // more_menu.title = TITLE_MORE_EN; @@ -1748,6 +1856,20 @@ void disp_language_init() zoffset_menu.title = TITLE_ZOFFSET_EN; zoffset_menu.inc = ZOFFSET_INC_EN; zoffset_menu.dec = ZOFFSET_DEC_EN; + + pause_msg_menu.pausing = MESSEGE_PAUSING_EN; + pause_msg_menu.changing = MESSEGE_CHANGING_EN; + pause_msg_menu.unload = MESSEGE_UNLOAD_EN; + pause_msg_menu.waiting = MESSEGE_WAITING_EN; + pause_msg_menu.insert = MESSEGE_INSERT_EN; + pause_msg_menu.load = MESSEGE_LOAD_EN; + pause_msg_menu.purge = MESSEGE_PURGE_EN; + pause_msg_menu.resume = MESSEGE_RESUME_EN; + pause_msg_menu.heat = MESSEGE_HEAT_EN; + pause_msg_menu.heating = MESSEGE_HEATING_EN; + pause_msg_menu.option = MESSEGE_OPTION_EN; + pause_msg_menu.purgeMore = MESSEGE_PURGE_MORE_EN; + pause_msg_menu.continuePrint = MESSEGE_CONTINUE_PRINT_EN; break; } } diff --git a/Marlin/src/lcd/menu/menu_filament.cpp b/Marlin/src/lcd/menu/menu_filament.cpp index 0c8f1f61c8..49f7133966 100644 --- a/Marlin/src/lcd/menu/menu_filament.cpp +++ b/Marlin/src/lcd/menu/menu_filament.cpp @@ -299,6 +299,19 @@ FORCE_INLINE screenFunc_t ap_message_screen(const PauseMessage message) { return nullptr; } +#if ENABLED(TFT_LITTLE_VGL_UI) +extern void lv_draw_pause_message(const PauseMessage msg); + +void lcd_pause_show_message( + const PauseMessage message, + const PauseMode mode/*=PAUSE_MODE_SAME*/, + const uint8_t extruder/*=active_extruder*/ +) { + if (mode != PAUSE_MODE_SAME) pause_mode = mode; + hotend_status_extruder = extruder; + lv_draw_pause_message(message); +} +#else void lcd_pause_show_message( const PauseMessage message, const PauseMode mode/*=PAUSE_MODE_SAME*/, @@ -315,4 +328,6 @@ void lcd_pause_show_message( ui.return_to_status(); } +#endif + #endif // HAS_LCD_MENU && ADVANCED_PAUSE_FEATURE diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 39df2ae87a..7b3d8af5a6 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -110,11 +110,15 @@ // // Misc. Functions // -//#define POWER_LOSS_PIN PA2 // PW_DET -//#define PS_ON_PIN PA3 // PW_OFF -//#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define POWER_LOSS_PIN PA2 // PW_DET +//#define PS_ON_PIN PA3 // PW_OFF + +//#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define SUICIDE_PIN_INVERTING false + +//#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY + //#define SERVO0_PIN PA8 // Enable BLTOUCH support ROBIN NANO v1.2 ONLY //#define LED_PIN PB2 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 15af894e3e..288b3d3068 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -192,9 +192,17 @@ //#define MAX6675_SS_PIN PE5 // TC1 - CS1 //#define MAX6675_SS_PIN PF11 // TC2 - CS2 -//#define POWER_LOSS_PIN PA2 // PW_DET -//#define PS_ON_PIN PG11 // PW_OFF -//#define FIL_RUNOUT_PIN PA4 // MT_DET1 +//#define POWER_LOSS_PIN PA2 // PW_DET +//#define PS_ON_PIN PG11 // PW_OFF + +//MKS_PWC +//#define KILL_PIN PA2 // MKS_PWC PW_DET +//#define KILL_PIN_INVERTING true +//#define SUICIDE_PIN PG11 // MKS_PWC PW_OFF +//#define SUICIDE_PIN_INVERTING false + + +#define FIL_RUNOUT_PIN PA4 // MT_DET1 //#define FIL_RUNOUT_PIN PE6 // MT_DET2 //#define FIL_RUNOUT_PIN PG14 // MT_DET3