From e4b74649d34ef8595093466551f717315b632685 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 22 Apr 2023 01:59:39 -0500 Subject: [PATCH] Examples Extras --- config/examples/3DFabXYZ/Migbot/README.md | 4 + .../examples/ADIMLab/Gantry v1/_Bootscreen.h | 86 ++ .../examples/ADIMLab/Gantry v2/_Bootscreen.h | 86 ++ .../Alfawise/U20-bltouch/_Statusscreen.h | 77 ++ config/examples/Alfawise/U20/_Statusscreen.h | 77 ++ config/examples/AliExpress/CL-260/README.md | 11 + config/examples/Anet/A6/_Statusscreen.h | 56 ++ config/examples/Anet/A8/_Statusscreen.h | 56 ++ config/examples/Anet/A8plus/_Statusscreen.h | 66 ++ config/examples/Anet/A9/_Statusscreen.h | 56 ++ config/examples/Anet/E16/Stock/_Bootscreen.h | 73 ++ .../examples/Anet/E16/Stock/_Statusscreen.h | 83 ++ config/examples/Anet/ET4+/README.md | 52 ++ config/examples/Anet/ET4-Pro/README.md | 52 ++ config/examples/Anet/ET4/README.md | 52 ++ config/examples/Anet/ET4X/README.md | 52 ++ config/examples/Anet/ET5-Pro/README.md | 52 ++ config/examples/Anet/ET5/README.md | 52 ++ config/examples/Anet/ET5X/README.md | 52 ++ .../examples/AnimationExample/_Bootscreen.h | 220 +++++ .../Mega Zero 2.0/Anycubic V1/README.md | 7 + .../Mega Zero 2.0/Anycubic V1/_Bootscreen.h | 56 ++ .../Mega Zero 2.0/Anycubic V1/_Statusscreen.h | 47 ++ .../AnyCubic/Mega Zero/Anycubic V1/README.md | 7 + .../Mega Zero/Anycubic V1/_Bootscreen.h | 53 ++ .../Mega Zero/Anycubic V1/_Statusscreen.h | 52 ++ .../_Bootscreen.h | 56 ++ .../_Statusscreen.h | 52 ++ .../Artillery/Genius Pro/_Bootscreen.h | 93 +++ .../Artillery/Genius/BLTouch/_Bootscreen.h | 93 +++ .../Artillery/Genius/V1/_Bootscreen.h | 93 +++ .../examples/Artillery/Hornet/_Bootscreen.h | 93 +++ .../0.9 BMG - E3D V6/_Bootscreen.h | 93 +++ .../Artillery/Sidewinder X1/V1/_Bootscreen.h | 93 +++ .../Artillery/Sidewinder X2/_Bootscreen.h | 93 +++ config/examples/BIQU/B1 - SKR 1.4/README.md | 9 + config/examples/BIQU/B1 - SKR 2/README.md | 9 + config/examples/BIQU/B1 SE Plus/README.md | 3 + config/examples/BIQU/BX/README.md | 5 + config/examples/BQ/Hephestos_2/README.md | 29 + config/examples/BQ/Hephestos_2/_Bootscreen.h | 101 +++ config/examples/CTC/A13/_Bootscreen.h | 73 ++ config/examples/CTC/A13/_Statusscreen.h | 36 + config/examples/Cartesio/_Bootscreen.h | 101 +++ .../BigTreeTech SKR Mini E3 2.0/README.md | 89 +++ .../BigTreeTech SKR Mini E3 2.0/_Bootscreen.h | 56 ++ .../_Statusscreen.h | 74 ++ .../CR-10 Mini/CrealityV1/_Bootscreen.h | 56 ++ .../CR-10 Mini/CrealityV1/_Statusscreen.h | 74 ++ .../CR-10 Mini/MEEB-3DP/_Bootscreen.h | 102 +++ .../CR-10 Mini/MEEB-3DP/_Statusscreen.h | 71 ++ .../CR-10 S4/CrealityV1/_Bootscreen.h | 56 ++ .../CR-10 S4/CrealityV1/_Statusscreen.h | 66 ++ .../_Bootscreen.h | 56 ++ .../_Statusscreen.h | 66 ++ .../CR-10 S5/CrealityV1/_Bootscreen.h | 56 ++ .../CR-10 S5/CrealityV1/_Statusscreen.h | 66 ++ .../CrealityV2.2-BLTouch/_Bootscreen.h | 56 ++ .../CrealityV2.2-BLTouch/_Statusscreen.h | 66 ++ .../examples/Creality/CR-10 V2/_Bootscreen.h | 56 ++ .../Creality/CR-10 V2/_Statusscreen.h | 68 ++ .../examples/Creality/CR-10 V3/_Bootscreen.h | 56 ++ .../Creality/CR-10 V3/_Statusscreen.h | 69 ++ .../BigTreeTech SKR Mini E3 2.0/_Bootscreen.h | 56 ++ .../_Statusscreen.h | 66 ++ .../Creality/CR-10/CrealityV1/_Bootscreen.h | 56 ++ .../Creality/CR-10/CrealityV1/_Statusscreen.h | 66 ++ .../_Bootscreen.h | 56 ++ .../_Statusscreen.h | 74 ++ .../BigTreeTech SKR 2.0 TMC2209/README.md | 5 + .../BigTreeTech SKR 2.0 TMC2209/_Bootscreen.h | 56 ++ .../_Statusscreen.h | 74 ++ .../BigTreeTech SKR Mini E3 2.0/_Bootscreen.h | 56 ++ .../_Statusscreen.h | 74 ++ .../CR-10S/BigTreeTech SKR Pro v1.2/README.md | 6 + .../BigTreeTech SKR Pro v1.2/_Bootscreen.h | 78 ++ .../BigTreeTech SKR Pro v1.2/_Statusscreen.h | 74 ++ .../Creality/CR-10S/CrealityV1/_Bootscreen.h | 56 ++ .../CR-10S/CrealityV1/_Statusscreen.h | 74 ++ .../Creality/CR-20 Pro/_Statusscreen.h | 72 ++ .../Creality/CR-30 PrintMill/_Bootscreen.h | 750 ++++++++++++++++++ .../Creality/CR-30 PrintMill/_Statusscreen.h | 53 ++ .../Ender-2 Pro/CrealityV423/README.md | 3 + .../Ender-2 Pro/CrealityV423/_Bootscreen.h | 97 +++ .../Ender-2 Pro/CrealityV423/_Statusscreen.h | 71 ++ config/examples/Creality/Ender-2/README.md | 33 + .../examples/Creality/Ender-2/_Bootscreen.h | 97 +++ .../examples/Creality/Ender-2/_Statusscreen.h | 66 ++ .../Creality/Ender-3 Max/_Bootscreen.h | 97 +++ .../Creality/Ender-3 Max/_Statusscreen.h | 62 ++ .../BigTreeTech SKR 1.4 Turbo/README.md | 16 + .../BigTreeTech SKR 1.4 Turbo/_Bootscreen.h | 97 +++ .../BigTreeTech SKR 1.4 Turbo/_Statusscreen.h | 71 ++ .../BigTreeTech SKR Mini E3 1.0/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 71 ++ .../BigTreeTech SKR Mini E3 1.2/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 71 ++ .../BigTreeTech SKR Mini E3 2.0/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 71 ++ .../BigTreeTech SKR Mini E3 3.0/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 71 ++ .../Ender-3 Pro/CrealityV1/_Bootscreen.h | 97 +++ .../Ender-3 Pro/CrealityV1/_Statusscreen.h | 71 ++ .../Ender-3 Pro/CrealityV422/README.md | 11 + .../Ender-3 Pro/CrealityV422/_Bootscreen.h | 97 +++ .../Ender-3 Pro/CrealityV422/_Statusscreen.h | 71 ++ .../Ender-3 Pro/CrealityV427/_Bootscreen.h | 97 +++ .../Ender-3 Pro/CrealityV427/_Statusscreen.h | 71 ++ .../Creality/Ender-3 S1/LCD Files/README.md | 35 + config/examples/Creality/Ender-3 S1/README.md | 19 + .../Ender-3 V2/LCD Files/DWIN_SET/0T5UIC1.HZK | Bin 0 -> 125440 bytes .../Ender-3 V2/LCD Files/DWIN_SET/0_start.jpg | Bin 0 -> 14172 bytes .../LCD Files/DWIN_SET/1_English.jpg | Bin 0 -> 32581 bytes .../LCD Files/DWIN_SET/2_Chinese.jpg | Bin 0 -> 32457 bytes .../Ender-3 V2/LCD Files/DWIN_SET/3.ICO | Bin 0 -> 30763 bytes .../Ender-3 V2/LCD Files/DWIN_SET/3_bg.jpg | Bin 0 -> 5217 bytes .../Ender-3 V2/LCD Files/DWIN_SET/4.ICO | Bin 0 -> 92780 bytes .../Ender-3 V2/LCD Files/DWIN_SET/7.ICO | Bin 0 -> 217989 bytes .../Ender-3 V2/LCD Files/DWIN_SET/T5UIC1.CFG | Bin 0 -> 16 bytes ..._V20_4\351\241\265\351\235\242_191022.BIN" | Bin 0 -> 17937 bytes .../Ender-3 V2/LCD Files/private/config.txt | 5 + .../Ender-3 V2/LCD Files/private/icon/3.zico | Bin 0 -> 54385 bytes .../LCD Files/private/icon/3.zico0.jpg | Bin 0 -> 16062 bytes .../LCD Files/private/icon/3.zico1.jpg | Bin 0 -> 3206 bytes .../LCD Files/private/icon/3.zico2.jpg | Bin 0 -> 3399 bytes .../LCD Files/private/icon/3.zico3.jpg | Bin 0 -> 2049 bytes .../LCD Files/private/icon/3.zico4.jpg | Bin 0 -> 1951 bytes .../Ender-3 V2/LCD Files/private/icon/4.zico | Bin 0 -> 15068 bytes .../LCD Files/private/icon/4.zico0.jpg | Bin 0 -> 9089 bytes .../LCD Files/private/icon/4.zico1.jpg | Bin 0 -> 3140 bytes .../LCD Files/private/icon/4.zico10.jpg | Bin 0 -> 12319 bytes .../LCD Files/private/icon/4.zico11.jpg | Bin 0 -> 8217 bytes .../LCD Files/private/icon/4.zico12.jpg | Bin 0 -> 3291 bytes .../LCD Files/private/icon/4.zico13.jpg | Bin 0 -> 3300 bytes .../LCD Files/private/icon/4.zico14.jpg | Bin 0 -> 1998 bytes .../LCD Files/private/icon/4.zico15.jpg | Bin 0 -> 1994 bytes .../LCD Files/private/icon/4.zico2.jpg | Bin 0 -> 3000 bytes .../LCD Files/private/icon/4.zico3.jpg | Bin 0 -> 1798 bytes .../LCD Files/private/icon/4.zico4.jpg | Bin 0 -> 3600 bytes .../LCD Files/private/icon/4.zico5.jpg | Bin 0 -> 5003 bytes .../LCD Files/private/icon/4.zico6.jpg | Bin 0 -> 4933 bytes .../LCD Files/private/icon/4.zico7.jpg | Bin 0 -> 5035 bytes .../LCD Files/private/icon/4.zico8.jpg | Bin 0 -> 4977 bytes .../LCD Files/private/icon/4.zico9.jpg | Bin 0 -> 10236 bytes .../Ender-3 V2/LCD Files/private/icon/7.zico | Bin 0 -> 127376 bytes .../LCD Files/private/icon/7.zico0.jpg | Bin 0 -> 4599 bytes .../LCD Files/private/icon/7.zico1.jpg | Bin 0 -> 3353 bytes .../LCD Files/private/icon/7.zico10.jpg | Bin 0 -> 1655 bytes .../LCD Files/private/icon/7.zico11.jpg | Bin 0 -> 1706 bytes .../LCD Files/private/icon/7.zico12.jpg | Bin 0 -> 1654 bytes .../LCD Files/private/icon/7.zico13.jpg | Bin 0 -> 1594 bytes .../LCD Files/private/icon/7.zico14.jpg | Bin 0 -> 1852 bytes .../LCD Files/private/icon/7.zico15.jpg | Bin 0 -> 1759 bytes .../LCD Files/private/icon/7.zico16.jpg | Bin 0 -> 1703 bytes .../LCD Files/private/icon/7.zico17.jpg | Bin 0 -> 3990 bytes .../LCD Files/private/icon/7.zico18.jpg | Bin 0 -> 3981 bytes .../LCD Files/private/icon/7.zico19.jpg | Bin 0 -> 3592 bytes .../LCD Files/private/icon/7.zico2.jpg | Bin 0 -> 3354 bytes .../LCD Files/private/icon/7.zico20.jpg | Bin 0 -> 3583 bytes .../LCD Files/private/icon/7.zico200.jpg | Bin 0 -> 1263 bytes .../LCD Files/private/icon/7.zico201.jpg | Bin 0 -> 1279 bytes .../LCD Files/private/icon/7.zico202.jpg | Bin 0 -> 1360 bytes .../LCD Files/private/icon/7.zico203.jpg | Bin 0 -> 1373 bytes .../LCD Files/private/icon/7.zico204.jpg | Bin 0 -> 1215 bytes .../LCD Files/private/icon/7.zico205.jpg | Bin 0 -> 1922 bytes .../LCD Files/private/icon/7.zico21.jpg | Bin 0 -> 3657 bytes .../LCD Files/private/icon/7.zico22.jpg | Bin 0 -> 3656 bytes .../LCD Files/private/icon/7.zico23.jpg | Bin 0 -> 3490 bytes .../LCD Files/private/icon/7.zico24.jpg | Bin 0 -> 3482 bytes .../LCD Files/private/icon/7.zico249.jpg | Bin 0 -> 1664 bytes .../LCD Files/private/icon/7.zico25.jpg | Bin 0 -> 6315 bytes .../LCD Files/private/icon/7.zico250.jpg | Bin 0 -> 1581 bytes .../LCD Files/private/icon/7.zico251.jpg | Bin 0 -> 2261 bytes .../LCD Files/private/icon/7.zico252.jpg | Bin 0 -> 2021 bytes .../LCD Files/private/icon/7.zico253.jpg | Bin 0 -> 1627 bytes .../LCD Files/private/icon/7.zico254.jpg | Bin 0 -> 1663 bytes .../LCD Files/private/icon/7.zico26.jpg | Bin 0 -> 1612 bytes .../LCD Files/private/icon/7.zico27.jpg | Bin 0 -> 1905 bytes .../LCD Files/private/icon/7.zico28.jpg | Bin 0 -> 1945 bytes .../LCD Files/private/icon/7.zico29.jpg | Bin 0 -> 1920 bytes .../LCD Files/private/icon/7.zico3.jpg | Bin 0 -> 2326 bytes .../LCD Files/private/icon/7.zico30.jpg | Bin 0 -> 1861 bytes .../LCD Files/private/icon/7.zico31.jpg | Bin 0 -> 1745 bytes .../LCD Files/private/icon/7.zico32.jpg | Bin 0 -> 1743 bytes .../LCD Files/private/icon/7.zico33.jpg | Bin 0 -> 1843 bytes .../LCD Files/private/icon/7.zico34.jpg | Bin 0 -> 1960 bytes .../LCD Files/private/icon/7.zico35.jpg | Bin 0 -> 1871 bytes .../LCD Files/private/icon/7.zico36.jpg | Bin 0 -> 1874 bytes .../LCD Files/private/icon/7.zico37.jpg | Bin 0 -> 1820 bytes .../LCD Files/private/icon/7.zico38.jpg | Bin 0 -> 1692 bytes .../LCD Files/private/icon/7.zico4.jpg | Bin 0 -> 2412 bytes .../LCD Files/private/icon/7.zico40.jpg | Bin 0 -> 1821 bytes .../LCD Files/private/icon/7.zico41.jpg | Bin 0 -> 1906 bytes .../LCD Files/private/icon/7.zico42.jpg | Bin 0 -> 1812 bytes .../LCD Files/private/icon/7.zico43.jpg | Bin 0 -> 1876 bytes .../LCD Files/private/icon/7.zico44.jpg | Bin 0 -> 1940 bytes .../LCD Files/private/icon/7.zico45.jpg | Bin 0 -> 1679 bytes .../LCD Files/private/icon/7.zico46.jpg | Bin 0 -> 1808 bytes .../LCD Files/private/icon/7.zico47.jpg | Bin 0 -> 1712 bytes .../LCD Files/private/icon/7.zico48.jpg | Bin 0 -> 1787 bytes .../LCD Files/private/icon/7.zico49.jpg | Bin 0 -> 1782 bytes .../LCD Files/private/icon/7.zico5.jpg | Bin 0 -> 2654 bytes .../LCD Files/private/icon/7.zico50.jpg | Bin 0 -> 1785 bytes .../LCD Files/private/icon/7.zico51.jpg | Bin 0 -> 1718 bytes .../LCD Files/private/icon/7.zico52.jpg | Bin 0 -> 1768 bytes .../LCD Files/private/icon/7.zico53.jpg | Bin 0 -> 1756 bytes .../LCD Files/private/icon/7.zico54.jpg | Bin 0 -> 1816 bytes .../LCD Files/private/icon/7.zico55.jpg | Bin 0 -> 1898 bytes .../LCD Files/private/icon/7.zico56.jpg | Bin 0 -> 1957 bytes .../LCD Files/private/icon/7.zico57.jpg | Bin 0 -> 1862 bytes .../LCD Files/private/icon/7.zico58.jpg | Bin 0 -> 1624 bytes .../LCD Files/private/icon/7.zico59.jpg | Bin 0 -> 1896 bytes .../LCD Files/private/icon/7.zico6.jpg | Bin 0 -> 2657 bytes .../LCD Files/private/icon/7.zico60.jpg | Bin 0 -> 1891 bytes .../LCD Files/private/icon/7.zico61.jpg | Bin 0 -> 1901 bytes .../LCD Files/private/icon/7.zico62.jpg | Bin 0 -> 1888 bytes .../LCD Files/private/icon/7.zico63.jpg | Bin 0 -> 1929 bytes .../LCD Files/private/icon/7.zico64.jpg | Bin 0 -> 1924 bytes .../LCD Files/private/icon/7.zico65.jpg | Bin 0 -> 1934 bytes .../LCD Files/private/icon/7.zico66.jpg | Bin 0 -> 1933 bytes .../LCD Files/private/icon/7.zico67.jpg | Bin 0 -> 1936 bytes .../LCD Files/private/icon/7.zico68.jpg | Bin 0 -> 1938 bytes .../LCD Files/private/icon/7.zico69.jpg | Bin 0 -> 1943 bytes .../LCD Files/private/icon/7.zico7.jpg | Bin 0 -> 2136 bytes .../LCD Files/private/icon/7.zico70.jpg | Bin 0 -> 1934 bytes .../LCD Files/private/icon/7.zico71.jpg | Bin 0 -> 1976 bytes .../LCD Files/private/icon/7.zico72.jpg | Bin 0 -> 1979 bytes .../LCD Files/private/icon/7.zico73.jpg | Bin 0 -> 1984 bytes .../LCD Files/private/icon/7.zico74.jpg | Bin 0 -> 1979 bytes .../LCD Files/private/icon/7.zico75.jpg | Bin 0 -> 1748 bytes .../LCD Files/private/icon/7.zico76.jpg | Bin 0 -> 1881 bytes .../LCD Files/private/icon/7.zico77.jpg | Bin 0 -> 1142 bytes .../LCD Files/private/icon/7.zico78.jpg | Bin 0 -> 2016 bytes .../LCD Files/private/icon/7.zico79.jpg | Bin 0 -> 2058 bytes .../LCD Files/private/icon/7.zico8.jpg | Bin 0 -> 2197 bytes .../LCD Files/private/icon/7.zico80.jpg | Bin 0 -> 2110 bytes .../LCD Files/private/icon/7.zico81.jpg | Bin 0 -> 2137 bytes .../LCD Files/private/icon/7.zico85.jpg | Bin 0 -> 3029 bytes .../LCD Files/private/icon/7.zico87.jpg | Bin 0 -> 2170 bytes .../LCD Files/private/icon/7.zico89.jpg | Bin 0 -> 2841 bytes .../LCD Files/private/icon/7.zico9.jpg | Bin 0 -> 1671 bytes .../LCD Files/private/icon/7.zico90.jpg | Bin 0 -> 3469 bytes .../LCD Files/private/icon/7.zico91.jpg | Bin 0 -> 3465 bytes .../Ender-3 V2/LCD Files/private/image/0.jpg | Bin 0 -> 14172 bytes .../Ender-3 V2/LCD Files/private/image/1.jpg | Bin 0 -> 52339 bytes .../Ender-3 V2/LCD Files/private/image/2.jpg | Bin 0 -> 63064 bytes .../LCD Files/private/image/3_bg.jpg | Bin 0 -> 5217 bytes .../LCD Files/private/truefont/font.ttf | Bin 0 -> 27836 bytes .../LCD Files/private/truefont/truefont.ini | 2 + ...1\346\240\271\347\233\256\345\275\225.txt" | 0 config/examples/Creality/Ender-3 V2/README.md | 18 + .../Ender-3/BigTreeTech E3 RRF/_Bootscreen.h | 97 +++ .../BigTreeTech E3 RRF/_Statusscreen.h | 62 ++ .../Ender-3/BigTreeTech SKR 1.4/README.md | 14 + .../Ender-3/BigTreeTech SKR 1.4/_Bootscreen.h | 97 +++ .../BigTreeTech SKR 1.4/_Statusscreen.h | 62 ++ .../2-into-1 Hotend/_Bootscreen.h | 97 +++ .../2-into-1 Hotend/_Statusscreen.h | 62 ++ .../Dual Z/_Bootscreen.h | 97 +++ .../Dual Z/_Statusscreen.h | 62 ++ .../Single Extruder/_Bootscreen.h | 97 +++ .../Single Extruder/_Statusscreen.h | 62 ++ .../BigTreeTech SKR E3-DIP V1.1/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 62 ++ .../BigTreeTech SKR Mini E3 1.0/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 62 ++ .../BigTreeTech SKR Mini E3 1.2/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 62 ++ .../BigTreeTech SKR Mini E3 2.0/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 62 ++ .../BigTreeTech SKR Mini E3 3.0/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 62 ++ .../Creality/Ender-3/CrealityV1/_Bootscreen.h | 97 +++ .../Ender-3/CrealityV1/_Statusscreen.h | 62 ++ .../Ender-3/CrealityV422/_Bootscreen.h | 97 +++ .../Ender-3/CrealityV422/_Statusscreen.h | 62 ++ .../Ender-3/CrealityV427/_Bootscreen.h | 97 +++ .../Ender-3/CrealityV427/_Statusscreen.h | 62 ++ .../FYSETC Cheetah 1.2/BLTouch/_Bootscreen.h | 97 +++ .../BLTouch/_Statusscreen.h | 62 ++ .../FYSETC Cheetah 1.2/base/_Bootscreen.h | 97 +++ .../FYSETC Cheetah 1.2/base/_Statusscreen.h | 62 ++ .../Ender-3/FYSETC Cheetah 2.0/_Bootscreen.h | 97 +++ .../FYSETC Cheetah 2.0/_Statusscreen.h | 62 ++ .../FYSETC Cheetah/BLTouch/_Bootscreen.h | 97 +++ .../FYSETC Cheetah/BLTouch/_Statusscreen.h | 62 ++ .../Ender-3/FYSETC Cheetah/base/_Bootscreen.h | 97 +++ .../FYSETC Cheetah/base/_Statusscreen.h | 62 ++ .../Creality/Ender-3/MEEB-3DP/_Bootscreen.h | 102 +++ .../Creality/Ender-3/MEEB-3DP/_Statusscreen.h | 71 ++ .../Ender-3/MKS Robin E3/V1.0/_Bootscreen.h | 97 +++ .../Ender-3/MKS Robin E3/V1.0/_Statusscreen.h | 62 ++ .../Ender-3/MKS Robin E3/V1.1/README.md | 10 + .../Ender-3/MKS Robin E3/V1.1/_Bootscreen.h | 97 +++ .../Ender-3/MKS Robin E3/V1.1/_Statusscreen.h | 62 ++ .../Ender-3/MKS Robin E3P/_Bootscreen.h | 97 +++ .../Ender-3/MKS Robin E3P/_Statusscreen.h | 62 ++ .../TH3D EZBoard Lite V2/_Bootscreen.h | 97 +++ .../TH3D EZBoard Lite V2/_Statusscreen.h | 62 ++ .../examples/Creality/Ender-5 Plus/README.md | 27 + .../BigTreeTech SKR E3 Turbo/README.md | 19 + .../BigTreeTech SKR E3 Turbo/_Bootscreen.h | 96 +++ .../BigTreeTech SKR E3 Turbo/_Statusscreen.h | 70 ++ .../BigTreeTech SKR Mini E3 1.2/_Bootscreen.h | 96 +++ .../_Statusscreen.h | 61 ++ .../README.md | 62 ++ .../_Bootscreen.h | 96 +++ .../_Statusscreen.h | 61 ++ .../Ender-5 Pro/CrealityV1/_Bootscreen.h | 96 +++ .../Ender-5 Pro/CrealityV1/_Statusscreen.h | 70 ++ .../Ender-5 Pro/CrealityV422/_Bootscreen.h | 96 +++ .../Ender-5 Pro/CrealityV422/_Statusscreen.h | 70 ++ .../Ender-5 Pro/CrealityV427/_Bootscreen.h | 96 +++ .../Ender-5 Pro/CrealityV427/_Statusscreen.h | 70 ++ .../README.md | 13 + .../_Bootscreen.h | 96 +++ .../_Statusscreen.h | 61 ++ .../BigTreeTech SKR E3 Turbo/README.md | 13 + .../BigTreeTech SKR E3 Turbo/_Bootscreen.h | 96 +++ .../BigTreeTech SKR E3 Turbo/_Statusscreen.h | 61 ++ .../BigTreeTech SKR Mini E3 1.2/_Bootscreen.h | 97 +++ .../_Statusscreen.h | 62 ++ .../BigTreeTech SKR Mini E3 2.0/README.md | 23 + .../BigTreeTech SKR Mini E3 2.0/_Bootscreen.h | 96 +++ .../_Statusscreen.h | 61 ++ .../Creality/Ender-5/CrealityV1/_Bootscreen.h | 96 +++ .../Ender-5/CrealityV1/_Statusscreen.h | 61 ++ .../Ender-5/CrealityV427/_Bootscreen.h | 96 +++ .../Ender-5/CrealityV427/_Statusscreen.h | 61 ++ config/examples/Creality/Ender-5/README.md | 13 + config/examples/Creality/Ender-6/README.md | 34 + .../examples/Dagoma/Disco Ultimate/README.md | 8 + .../Dagoma/Disco Ultimate/_Bootscreen.h | 52 ++ config/examples/Einstart-S/README.md | 162 ++++ config/examples/Elegoo/Neptune 2/README.md | 23 + config/examples/Eryone/Thinker SE/README.md | 23 + .../examples/Eryone/Thinker SE/_Bootscreen.h | 92 +++ config/examples/Eryone/Thinker V2/README.md | 25 + .../examples/Eryone/Thinker V2/_Bootscreen.h | 77 ++ config/examples/Felix/DUAL/README.md | 60 ++ config/examples/Felix/Single/README.md | 60 ++ .../examples/FlashForge/CreatorPro/README.md | 162 ++++ config/examples/FlyingBear/P905H/README.md | 14 + config/examples/Formbot/Raptor/_Bootscreen.h | 94 +++ .../examples/Formbot/Raptor/_Statusscreen.h | 75 ++ .../examples/Formbot/T_Rex_2+/_Bootscreen.h | 102 +++ .../examples/Formbot/T_Rex_2+/_Statusscreen.h | 74 ++ config/examples/Formbot/T_Rex_3/_Bootscreen.h | 102 +++ .../examples/Formbot/T_Rex_3/_Statusscreen.h | 74 ++ .../Geeetech/Prusa i3 Pro B/bltouch/README.md | 54 ++ .../Geeetech/Prusa i3 Pro B/noprobe/README.md | 54 ++ .../Intamsys/FunmatHT 4988/_Bootscreen.h | 103 +++ .../Intamsys/FunmatHT 4988/_Statusscreen.h | 73 ++ config/examples/JGAurora/A5/README.md | 39 + config/examples/Labists/ET4/README.md | 54 ++ config/examples/MakerParts/_Bootscreen.h | 81 ++ config/examples/Malyan/M150/README.md | 55 ++ config/examples/Malyan/M150/_Bootscreen.h | 71 ++ config/examples/Malyan/M200/README.md | 33 + config/examples/Micromake/C1/basic/README.md | 15 + .../examples/Micromake/C1/enhanced/README.md | 15 + config/examples/Mks/Robin_Lite3/README.md | 9 + config/examples/Mks/Robin_Pro/README.md | 11 + config/examples/Mks/Sbase/README.md | 38 + config/examples/Modix/Big60/_Bootscreen.h | 91 +++ config/examples/Modix/Big60/_Statusscreen.h | 60 ++ .../Nextion/HMI/Marlin4Nextion.HMI.zip | Bin 0 -> 10681280 bytes .../HMI/Marlin4Nextion_Enhanced.tft.zip | Bin 0 -> 3221967 bytes .../HMI/Marlin4Nextion_Intelligent.tft.zip | Bin 0 -> 3653372 bytes config/examples/Prusa/MK3/README.md | 108 +++ .../Prusa/MK3S-BigTreeTech-BTT002/README.md | 114 +++ .../BigTreeTech SKR E3 Turbo/_Bootscreen.h | 56 ++ .../BigTreeTech SKR E3 Turbo/_Statusscreen.h | 50 ++ .../BigTreeTech SKR Mini E3 2.0/_Bootscreen.h | 56 ++ .../_Statusscreen.h | 50 ++ .../BigTreeTech SKR Mini E3 3.0/README.md | 9 + .../BigTreeTech SKR Mini E3 3.0/_Bootscreen.h | 56 ++ .../_Statusscreen.h | 68 ++ .../Sovol/SV-01/CrealityV22/_Bootscreen.h | 56 ++ .../Sovol/SV-01/CrealityV22/_Statusscreen.h | 50 ++ .../Sovol/SV-01/CrealityV221/_Bootscreen.h | 56 ++ .../Sovol/SV-01/CrealityV221/_Statusscreen.h | 50 ++ config/examples/Sunlu/S8/README.md | 5 + config/examples/Sunlu/S8/_Bootscreen.h | 100 +++ .../examples/Tevo/Michelangelo/_Bootscreen.h | 83 ++ config/examples/Tevo/Nereus/_Bootscreen.h | 90 +++ .../examples/Tevo/Tarantula Pro/_Bootscreen.h | 80 ++ .../Tevo/Tornado/V1 (MKS Base)/_Bootscreen.h | 84 ++ .../Tevo/Tornado/V2 (MKS GEN-L)/_Bootscreen.h | 84 ++ config/examples/Tronxy/X5SA/README.md | 256 ++++++ config/examples/Tronxy/X5SA/chitu-board.jpg | Bin 0 -> 228480 bytes .../examples/Two Trees/BlueR Plus/README.md | 4 + config/examples/Two Trees/BlueR/README.md | 15 + .../Two Trees/Sapphire Plus/README.md | 30 + .../examples/Two Trees/Sapphire Pro/README.md | 10 + config/examples/VORONDesign/_Bootscreen.h | 82 ++ .../Velleman/K8200 Upgraded/README.md | 72 ++ config/examples/Velleman/K8200/README.md | 20 + .../Velleman/K8400/Dual-head/README.md | 15 + .../Velleman/K8400/Single-head/README.md | 15 + config/examples/WASP/PowerWASP/README.md | 80 ++ .../Duplicator i3 2.1/Chippy_Bootscreen.h | 74 ++ .../Wanhao/Duplicator i3 2.1/README.md | 21 + .../Wanhao/Duplicator i3 2.1/_Bootscreen.h | 72 ++ .../Cocoon Create Model Maker/_Bootscreen.h | 54 ++ .../Monoprice MP i3 Mini/_Bootscreen.h | 74 ++ .../Wanhao/Duplicator i3 Mini/_Bootscreen.h | 76 ++ .../Wanhao/Duplicator i3 Plus/README.md | 16 + config/examples/Weedo/Tina2/README.md | 27 + .../examples/delta/Anycubic/Kossel/README.md | 50 ++ .../Anycubic/Kossel/images/Version1Probe.jpg | Bin 0 -> 94933 bytes .../Anycubic/Kossel/images/Version2Probe.jpg | Bin 0 -> 51853 bytes .../delta/Anycubic/Predator/README.md | 37 + .../delta/Dreammaker/Overlord/_Bootscreen.h | 35 + .../delta/Dreammaker/Overlord_Pro/README.md | 15 + .../Dreammaker/Overlord_Pro/_Bootscreen.h | 35 + .../delta/FLSUN/QQS-Pro/_Bootscreen.h | 76 ++ .../delta/FLSUN/QQS-Pro/_Statusscreen.h | 74 ++ config/examples/delta/MKS/SBASE/README.md | 34 + config/examples/delta/Malyan M300/README.md | 29 + .../examples/delta/Velleman/K8800/README.md | 97 +++ .../delta/Velleman/K8800/_Bootscreen.h | 298 +++++++ config/examples/delta/kossel_pro/README.md | 5 + config/examples/delta/kossel_xl/README.md | 21 + .../examples/gCreate/gMax1.5+/_Bootscreen.h | 101 +++ .../linear_axes/RAMPS 5 LINEAR_AXES/README.md | 12 + 426 files changed, 18892 insertions(+) create mode 100644 config/examples/3DFabXYZ/Migbot/README.md create mode 100644 config/examples/ADIMLab/Gantry v1/_Bootscreen.h create mode 100644 config/examples/ADIMLab/Gantry v2/_Bootscreen.h create mode 100644 config/examples/Alfawise/U20-bltouch/_Statusscreen.h create mode 100644 config/examples/Alfawise/U20/_Statusscreen.h create mode 100644 config/examples/AliExpress/CL-260/README.md create mode 100644 config/examples/Anet/A6/_Statusscreen.h create mode 100644 config/examples/Anet/A8/_Statusscreen.h create mode 100644 config/examples/Anet/A8plus/_Statusscreen.h create mode 100644 config/examples/Anet/A9/_Statusscreen.h create mode 100644 config/examples/Anet/E16/Stock/_Bootscreen.h create mode 100644 config/examples/Anet/E16/Stock/_Statusscreen.h create mode 100644 config/examples/Anet/ET4+/README.md create mode 100644 config/examples/Anet/ET4-Pro/README.md create mode 100644 config/examples/Anet/ET4/README.md create mode 100644 config/examples/Anet/ET4X/README.md create mode 100644 config/examples/Anet/ET5-Pro/README.md create mode 100644 config/examples/Anet/ET5/README.md create mode 100644 config/examples/Anet/ET5X/README.md create mode 100644 config/examples/AnimationExample/_Bootscreen.h create mode 100644 config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/README.md create mode 100644 config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Bootscreen.h create mode 100644 config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Statusscreen.h create mode 100644 config/examples/AnyCubic/Mega Zero/Anycubic V1/README.md create mode 100644 config/examples/AnyCubic/Mega Zero/Anycubic V1/_Bootscreen.h create mode 100644 config/examples/AnyCubic/Mega Zero/Anycubic V1/_Statusscreen.h create mode 100644 config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Bootscreen.h create mode 100644 config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Statusscreen.h create mode 100644 config/examples/Artillery/Genius Pro/_Bootscreen.h create mode 100644 config/examples/Artillery/Genius/BLTouch/_Bootscreen.h create mode 100644 config/examples/Artillery/Genius/V1/_Bootscreen.h create mode 100644 config/examples/Artillery/Hornet/_Bootscreen.h create mode 100644 config/examples/Artillery/Sidewinder X1/0.9 BMG - E3D V6/_Bootscreen.h create mode 100644 config/examples/Artillery/Sidewinder X1/V1/_Bootscreen.h create mode 100644 config/examples/Artillery/Sidewinder X2/_Bootscreen.h create mode 100644 config/examples/BIQU/B1 - SKR 1.4/README.md create mode 100644 config/examples/BIQU/B1 - SKR 2/README.md create mode 100644 config/examples/BIQU/B1 SE Plus/README.md create mode 100644 config/examples/BIQU/BX/README.md create mode 100644 config/examples/BQ/Hephestos_2/README.md create mode 100644 config/examples/BQ/Hephestos_2/_Bootscreen.h create mode 100644 config/examples/CTC/A13/_Bootscreen.h create mode 100644 config/examples/CTC/A13/_Statusscreen.h create mode 100644 config/examples/Cartesio/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/README.md create mode 100644 config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 Mini/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 Mini/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 Mini/MEEB-3DP/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 Mini/MEEB-3DP/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 S4/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 S4/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 S5/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 S5/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 V2/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 V2/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10 V3/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10 V3/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/README.md create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/README.md create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Statusscreen.h create mode 100644 config/examples/Creality/CR-10S/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/CR-10S/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/CR-20 Pro/_Statusscreen.h create mode 100644 config/examples/Creality/CR-30 PrintMill/_Bootscreen.h create mode 100644 config/examples/Creality/CR-30 PrintMill/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-2 Pro/CrealityV423/README.md create mode 100644 config/examples/Creality/Ender-2 Pro/CrealityV423/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-2 Pro/CrealityV423/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-2/README.md create mode 100644 config/examples/Creality/Ender-2/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-2/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Max/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Max/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/README.md create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/CrealityV422/README.md create mode 100644 config/examples/Creality/Ender-3 Pro/CrealityV422/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/CrealityV422/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/CrealityV427/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3 Pro/CrealityV427/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3 S1/LCD Files/README.md create mode 100644 config/examples/Creality/Ender-3 S1/README.md create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/0T5UIC1.HZK create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/0_start.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/1_English.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/2_Chinese.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/3.ICO create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/3_bg.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/4.ICO create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/7.ICO create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/T5UIC1.CFG create mode 100644 "config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/T5UIC1_V20_4\351\241\265\351\235\242_191022.BIN" create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/config.txt create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico0.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico1.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico2.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico3.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico4.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico0.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico1.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico10.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico11.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico12.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico13.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico14.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico15.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico2.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico3.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico4.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico5.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico6.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico7.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico8.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico9.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico0.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico1.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico10.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico11.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico12.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico13.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico14.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico15.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico16.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico17.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico18.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico19.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico2.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico20.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico200.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico201.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico202.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico203.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico204.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico205.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico21.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico22.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico23.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico24.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico249.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico25.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico250.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico251.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico252.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico253.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico254.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico26.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico27.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico28.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico29.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico3.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico30.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico31.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico32.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico33.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico34.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico35.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico36.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico37.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico38.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico4.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico40.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico41.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico42.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico43.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico44.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico45.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico46.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico47.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico48.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico49.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico5.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico50.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico51.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico52.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico53.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico54.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico55.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico56.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico57.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico58.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico59.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico6.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico60.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico61.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico62.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico63.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico64.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico65.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico66.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico67.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico68.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico69.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico7.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico70.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico71.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico72.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico73.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico74.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico75.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico76.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico77.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico78.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico79.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico8.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico80.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico81.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico85.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico87.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico89.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico9.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico90.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico91.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/image/0.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/image/1.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/image/2.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/image/3_bg.jpg create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/truefont/font.ttf create mode 100644 config/examples/Creality/Ender-3 V2/LCD Files/private/truefont/truefont.ini create mode 100644 "config/examples/Creality/Ender-3 V2/LCD Files/\346\213\267\350\264\235private\345\210\260SD\345\215\241\346\240\271\347\233\256\345\275\225.txt" create mode 100644 config/examples/Creality/Ender-3 V2/README.md create mode 100644 config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/README.md create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/CrealityV422/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/CrealityV422/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/CrealityV427/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/CrealityV427/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/MEEB-3DP/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/MEEB-3DP/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/MKS Robin E3/V1.1/README.md create mode 100644 config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/MKS Robin E3P/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/MKS Robin E3P/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5 Plus/README.md create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/README.md create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/README.md create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/CrealityV422/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/CrealityV422/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/CrealityV427/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5 Pro/CrealityV427/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/README.md create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/README.md create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/README.md create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5/CrealityV1/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5/CrealityV1/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5/CrealityV427/_Bootscreen.h create mode 100644 config/examples/Creality/Ender-5/CrealityV427/_Statusscreen.h create mode 100644 config/examples/Creality/Ender-5/README.md create mode 100644 config/examples/Creality/Ender-6/README.md create mode 100644 config/examples/Dagoma/Disco Ultimate/README.md create mode 100644 config/examples/Dagoma/Disco Ultimate/_Bootscreen.h create mode 100644 config/examples/Einstart-S/README.md create mode 100644 config/examples/Elegoo/Neptune 2/README.md create mode 100644 config/examples/Eryone/Thinker SE/README.md create mode 100644 config/examples/Eryone/Thinker SE/_Bootscreen.h create mode 100644 config/examples/Eryone/Thinker V2/README.md create mode 100644 config/examples/Eryone/Thinker V2/_Bootscreen.h create mode 100644 config/examples/Felix/DUAL/README.md create mode 100644 config/examples/Felix/Single/README.md create mode 100644 config/examples/FlashForge/CreatorPro/README.md create mode 100644 config/examples/FlyingBear/P905H/README.md create mode 100644 config/examples/Formbot/Raptor/_Bootscreen.h create mode 100644 config/examples/Formbot/Raptor/_Statusscreen.h create mode 100644 config/examples/Formbot/T_Rex_2+/_Bootscreen.h create mode 100644 config/examples/Formbot/T_Rex_2+/_Statusscreen.h create mode 100644 config/examples/Formbot/T_Rex_3/_Bootscreen.h create mode 100644 config/examples/Formbot/T_Rex_3/_Statusscreen.h create mode 100644 config/examples/Geeetech/Prusa i3 Pro B/bltouch/README.md create mode 100644 config/examples/Geeetech/Prusa i3 Pro B/noprobe/README.md create mode 100644 config/examples/Intamsys/FunmatHT 4988/_Bootscreen.h create mode 100644 config/examples/Intamsys/FunmatHT 4988/_Statusscreen.h create mode 100644 config/examples/JGAurora/A5/README.md create mode 100644 config/examples/Labists/ET4/README.md create mode 100644 config/examples/MakerParts/_Bootscreen.h create mode 100644 config/examples/Malyan/M150/README.md create mode 100644 config/examples/Malyan/M150/_Bootscreen.h create mode 100644 config/examples/Malyan/M200/README.md create mode 100644 config/examples/Micromake/C1/basic/README.md create mode 100644 config/examples/Micromake/C1/enhanced/README.md create mode 100644 config/examples/Mks/Robin_Lite3/README.md create mode 100644 config/examples/Mks/Robin_Pro/README.md create mode 100644 config/examples/Mks/Sbase/README.md create mode 100644 config/examples/Modix/Big60/_Bootscreen.h create mode 100644 config/examples/Modix/Big60/_Statusscreen.h create mode 100644 config/examples/Nextion/HMI/Marlin4Nextion.HMI.zip create mode 100644 config/examples/Nextion/HMI/Marlin4Nextion_Enhanced.tft.zip create mode 100644 config/examples/Nextion/HMI/Marlin4Nextion_Intelligent.tft.zip create mode 100644 config/examples/Prusa/MK3/README.md create mode 100644 config/examples/Prusa/MK3S-BigTreeTech-BTT002/README.md create mode 100644 config/examples/Sovol/SV-01/BigTreeTech SKR E3 Turbo/_Bootscreen.h create mode 100644 config/examples/Sovol/SV-01/BigTreeTech SKR E3 Turbo/_Statusscreen.h create mode 100644 config/examples/Sovol/SV-01/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h create mode 100644 config/examples/Sovol/SV-01/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h create mode 100644 config/examples/Sovol/SV-01/BigTreeTech SKR Mini E3 3.0/README.md create mode 100644 config/examples/Sovol/SV-01/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h create mode 100644 config/examples/Sovol/SV-01/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h create mode 100644 config/examples/Sovol/SV-01/CrealityV22/_Bootscreen.h create mode 100644 config/examples/Sovol/SV-01/CrealityV22/_Statusscreen.h create mode 100644 config/examples/Sovol/SV-01/CrealityV221/_Bootscreen.h create mode 100644 config/examples/Sovol/SV-01/CrealityV221/_Statusscreen.h create mode 100644 config/examples/Sunlu/S8/README.md create mode 100644 config/examples/Sunlu/S8/_Bootscreen.h create mode 100644 config/examples/Tevo/Michelangelo/_Bootscreen.h create mode 100644 config/examples/Tevo/Nereus/_Bootscreen.h create mode 100644 config/examples/Tevo/Tarantula Pro/_Bootscreen.h create mode 100644 config/examples/Tevo/Tornado/V1 (MKS Base)/_Bootscreen.h create mode 100644 config/examples/Tevo/Tornado/V2 (MKS GEN-L)/_Bootscreen.h create mode 100644 config/examples/Tronxy/X5SA/README.md create mode 100644 config/examples/Tronxy/X5SA/chitu-board.jpg create mode 100644 config/examples/Two Trees/BlueR Plus/README.md create mode 100644 config/examples/Two Trees/BlueR/README.md create mode 100644 config/examples/Two Trees/Sapphire Plus/README.md create mode 100644 config/examples/Two Trees/Sapphire Pro/README.md create mode 100644 config/examples/VORONDesign/_Bootscreen.h create mode 100644 config/examples/Velleman/K8200 Upgraded/README.md create mode 100644 config/examples/Velleman/K8200/README.md create mode 100644 config/examples/Velleman/K8400/Dual-head/README.md create mode 100644 config/examples/Velleman/K8400/Single-head/README.md create mode 100644 config/examples/WASP/PowerWASP/README.md create mode 100644 config/examples/Wanhao/Duplicator i3 2.1/Chippy_Bootscreen.h create mode 100644 config/examples/Wanhao/Duplicator i3 2.1/README.md create mode 100644 config/examples/Wanhao/Duplicator i3 2.1/_Bootscreen.h create mode 100644 config/examples/Wanhao/Duplicator i3 Mini/Alternative Bootscreens/Cocoon Create Model Maker/_Bootscreen.h create mode 100644 config/examples/Wanhao/Duplicator i3 Mini/Alternative Bootscreens/Monoprice MP i3 Mini/_Bootscreen.h create mode 100644 config/examples/Wanhao/Duplicator i3 Mini/_Bootscreen.h create mode 100644 config/examples/Wanhao/Duplicator i3 Plus/README.md create mode 100644 config/examples/Weedo/Tina2/README.md create mode 100644 config/examples/delta/Anycubic/Kossel/README.md create mode 100644 config/examples/delta/Anycubic/Kossel/images/Version1Probe.jpg create mode 100644 config/examples/delta/Anycubic/Kossel/images/Version2Probe.jpg create mode 100644 config/examples/delta/Anycubic/Predator/README.md create mode 100644 config/examples/delta/Dreammaker/Overlord/_Bootscreen.h create mode 100644 config/examples/delta/Dreammaker/Overlord_Pro/README.md create mode 100644 config/examples/delta/Dreammaker/Overlord_Pro/_Bootscreen.h create mode 100644 config/examples/delta/FLSUN/QQS-Pro/_Bootscreen.h create mode 100644 config/examples/delta/FLSUN/QQS-Pro/_Statusscreen.h create mode 100644 config/examples/delta/MKS/SBASE/README.md create mode 100644 config/examples/delta/Malyan M300/README.md create mode 100644 config/examples/delta/Velleman/K8800/README.md create mode 100644 config/examples/delta/Velleman/K8800/_Bootscreen.h create mode 100644 config/examples/delta/kossel_pro/README.md create mode 100644 config/examples/delta/kossel_xl/README.md create mode 100644 config/examples/gCreate/gMax1.5+/_Bootscreen.h create mode 100644 config/examples/linear_axes/RAMPS 5 LINEAR_AXES/README.md diff --git a/config/examples/3DFabXYZ/Migbot/README.md b/config/examples/3DFabXYZ/Migbot/README.md new file mode 100644 index 00000000000..708b3fe6327 --- /dev/null +++ b/config/examples/3DFabXYZ/Migbot/README.md @@ -0,0 +1,4 @@ +Personalized config files for the "Electron" "Tevo 3D" i3 6th gen + +- https://www.3dprintersbay.com/electron3d-reprap-prusa-i3-kit +- https://reprap.org/wiki/Migbot_Prusa_i3 diff --git a/config/examples/ADIMLab/Gantry v1/_Bootscreen.h b/config/examples/ADIMLab/Gantry v1/_Bootscreen.h new file mode 100644 index 00000000000..1d6f4f4b66f --- /dev/null +++ b/config/examples/ADIMLab/Gantry v1/_Bootscreen.h @@ -0,0 +1,86 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 88 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00111111,B11111000,B00000000,B01000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011110,B01111111,B11111111,B00000000,B10000100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B00000100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111111,B11111110,B00001100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01111111,B11111111,B11111111,B11110000,B00001000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001111,B11111111,B11100000,B00000000,B00011000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B11111111,B11100011,B10000000,B00111000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00010011,B11111111,B11100001,B10000000,B01111000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011111,B10001111,B11100011,B10000000,B11110000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011110,B00001111,B11111111,B10000001,B11110000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000110,B00011111,B11111111,B10000111,B11100000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B11111111,B11111110,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111111,B11110000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001111,B11111100,B00000011,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011111,B11000000,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111110,B00011111,B11111111,B11111110,B00111111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01111100,B11111111,B11111111,B11111100,B00001111,B11100000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11111001,B11111111,B11111111,B11110000,B00001111,B11110000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11110011,B11111111,B11111111,B11111000,B00011111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11100111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000001,B11101111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000, + B00000000,B00000001,B11101111,B11111110,B00001111,B11111111,B11111111,B11101111,B10000000,B00000000,B00000000, + B00000000,B00000001,B11001111,B11110000,B00000001,B11111111,B11111111,B11110011,B11111000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11100000,B00000000,B11111111,B11111111,B11111000,B01100000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11100000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11000000,B00000000,B00011111,B11111111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01100111,B11100100,B00000000,B00001111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00110011,B11111100,B00000000,B00000111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011001,B11111100,B00000000,B00000011,B11100000,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001100,B01111000,B00000000,B00000001,B11100000,B00111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B01110000,B00011100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000011,B10000000,B00000000,B00000000,B00000000,B00001110,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11100000,B00000000,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11110000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11111000,B00000000,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11111100,B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000, + B00000000,B00000000,B00000011,B11111100,B00000000,B00000000,B00000000,B00001111,B11000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111100,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B10000001,B11111111,B10000111,B10011111,B00000111,B10011110,B00000000,B00000000,B00111000,B00000000, + B00000111,B10000001,B11111111,B11000011,B10011111,B00000111,B10001110,B00000000,B00000000,B00111000,B00000000, + B00000111,B10000001,B11000011,B11100011,B10011111,B00000111,B10001110,B00000000,B00000000,B00111000,B00000000, + B00001111,B11000001,B11000000,B11100011,B10011111,B10001111,B10001110,B00000000,B00111100,B00111011,B00000000, + B00001111,B11000001,B11000000,B11100011,B10011111,B10001111,B10001110,B00000000,B11111110,B00111111,B10000000, + B00011101,B11000001,B11000000,B01110011,B10011111,B10011111,B10001110,B00000000,B11111111,B00111111,B10000000, + B00011100,B11100001,B11000000,B01110011,B10011101,B11011011,B10001110,B00000000,B01101111,B00111011,B11000000, + B00011100,B11100001,B11000000,B01110011,B10011101,B11111011,B10001110,B00000000,B00111111,B00111011,B11000000, + B00111111,B11110001,B11000000,B11100011,B10011100,B11111011,B10001110,B00000000,B11111111,B00111011,B11000000, + B00111111,B11110001,B11000000,B11100011,B10011100,B11110011,B10001110,B00000000,B11101111,B00111011,B11000000, + B01111000,B01110001,B11000001,B11100011,B10011100,B11110011,B10001110,B00000001,B11101111,B00111011,B11000000, + B01110000,B01111001,B11111111,B11000011,B10011100,B01100011,B10001111,B11111111,B11101111,B00111111,B10000000, + B01110000,B00111001,B11111111,B10000011,B10011100,B01100011,B10001111,B11111110,B11110111,B00111111,B10000000, + B11110000,B01111101,B11111111,B00000111,B10011110,B00000011,B11011111,B11111100,B01100111,B00100111,B00000000 +}; diff --git a/config/examples/ADIMLab/Gantry v2/_Bootscreen.h b/config/examples/ADIMLab/Gantry v2/_Bootscreen.h new file mode 100644 index 00000000000..1d6f4f4b66f --- /dev/null +++ b/config/examples/ADIMLab/Gantry v2/_Bootscreen.h @@ -0,0 +1,86 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 88 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00111111,B11111000,B00000000,B01000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011110,B01111111,B11111111,B00000000,B10000100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B00000100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111111,B11111110,B00001100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01111111,B11111111,B11111111,B11110000,B00001000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001111,B11111111,B11100000,B00000000,B00011000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B11111111,B11100011,B10000000,B00111000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00010011,B11111111,B11100001,B10000000,B01111000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011111,B10001111,B11100011,B10000000,B11110000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011110,B00001111,B11111111,B10000001,B11110000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000110,B00011111,B11111111,B10000111,B11100000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B11111111,B11111110,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111111,B11110000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001111,B11111100,B00000011,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011111,B11000000,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111110,B00011111,B11111111,B11111110,B00111111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01111100,B11111111,B11111111,B11111100,B00001111,B11100000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11111001,B11111111,B11111111,B11110000,B00001111,B11110000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11110011,B11111111,B11111111,B11111000,B00011111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11100111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000001,B11101111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000, + B00000000,B00000001,B11101111,B11111110,B00001111,B11111111,B11111111,B11101111,B10000000,B00000000,B00000000, + B00000000,B00000001,B11001111,B11110000,B00000001,B11111111,B11111111,B11110011,B11111000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11100000,B00000000,B11111111,B11111111,B11111000,B01100000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11100000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11101111,B11000000,B00000000,B00011111,B11111111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01100111,B11100100,B00000000,B00001111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00110011,B11111100,B00000000,B00000111,B11111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00011001,B11111100,B00000000,B00000011,B11100000,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00001100,B01111000,B00000000,B00000001,B11100000,B00111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B01110000,B00011100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000011,B10000000,B00000000,B00000000,B00000000,B00001110,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11100000,B00000000,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11110000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11111000,B00000000,B00000000,B00000000,B00000111,B10000000,B00000000,B00000000, + B00000000,B00000000,B00000001,B11111100,B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000, + B00000000,B00000000,B00000011,B11111100,B00000000,B00000000,B00000000,B00001111,B11000000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111100,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B10000001,B11111111,B10000111,B10011111,B00000111,B10011110,B00000000,B00000000,B00111000,B00000000, + B00000111,B10000001,B11111111,B11000011,B10011111,B00000111,B10001110,B00000000,B00000000,B00111000,B00000000, + B00000111,B10000001,B11000011,B11100011,B10011111,B00000111,B10001110,B00000000,B00000000,B00111000,B00000000, + B00001111,B11000001,B11000000,B11100011,B10011111,B10001111,B10001110,B00000000,B00111100,B00111011,B00000000, + B00001111,B11000001,B11000000,B11100011,B10011111,B10001111,B10001110,B00000000,B11111110,B00111111,B10000000, + B00011101,B11000001,B11000000,B01110011,B10011111,B10011111,B10001110,B00000000,B11111111,B00111111,B10000000, + B00011100,B11100001,B11000000,B01110011,B10011101,B11011011,B10001110,B00000000,B01101111,B00111011,B11000000, + B00011100,B11100001,B11000000,B01110011,B10011101,B11111011,B10001110,B00000000,B00111111,B00111011,B11000000, + B00111111,B11110001,B11000000,B11100011,B10011100,B11111011,B10001110,B00000000,B11111111,B00111011,B11000000, + B00111111,B11110001,B11000000,B11100011,B10011100,B11110011,B10001110,B00000000,B11101111,B00111011,B11000000, + B01111000,B01110001,B11000001,B11100011,B10011100,B11110011,B10001110,B00000001,B11101111,B00111011,B11000000, + B01110000,B01111001,B11111111,B11000011,B10011100,B01100011,B10001111,B11111111,B11101111,B00111111,B10000000, + B01110000,B00111001,B11111111,B10000011,B10011100,B01100011,B10001111,B11111110,B11110111,B00111111,B10000000, + B11110000,B01111101,B11111111,B00000111,B10011110,B00000011,B11011111,B11111100,B01100111,B00100111,B00000000 +}; diff --git a/config/examples/Alfawise/U20-bltouch/_Statusscreen.h b/config/examples/Alfawise/U20-bltouch/_Statusscreen.h new file mode 100644 index 00000000000..0fbaaea42c6 --- /dev/null +++ b/config/examples/Alfawise/U20-bltouch/_Statusscreen.h @@ -0,0 +1,77 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#pragma once + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 0 +#define STATUS_LOGO_WIDTH 38 + +static unsigned char status_logo_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11111100, + B10000000,B00000000,B00010000,B00000111,B11111100, + B10000000,B00000000,B00010000,B00000000,B11111100, + B10000000,B00000000,B00110000,B00000000,B01111100, + B10000000,B00000000,B00110000,B00000000,B00111100, + B10000000,B00000000,B01110000,B00000000,B00011100, + B11111111,B10000000,B01110000,B00000000,B00001100, + B11111111,B10000000,B11110000,B11100000,B00001100, + B11111111,B00000000,B11110000,B11111000,B00001100, + B11111111,B00000001,B11110000,B11111100,B00000100, + B11111110,B00000001,B11110000,B11010010,B00000100, + B11111110,B00000011,B11110000,B10101110,B00000100, + B11111100,B00000000,B11110000,B10101111,B00000100, + B11111100,B00000000,B00110000,B10000011,B00000100, + B11111000,B00000000,B00110000,B11111111,B00000100, + B11111000,B00000000,B00010000,B11111111,B00000100, + B11111111,B11100000,B00010000,B10111111,B00000100, + B11111111,B11110000,B00010000,B10101111,B00000100, + B11111111,B11110000,B00010000,B10101110,B00000100, + B11111111,B11110000,B00010000,B10000010,B00000100, + B10000011,B11110000,B00010000,B11111100,B00000100, + B10000001,B11110000,B00010000,B11111000,B00001100, + B10000001,B11100000,B00010000,B11100000,B00001100, + B10000000,B00000000,B00010000,B00000000,B00001100, + B10000000,B00000000,B00110000,B00000000,B00011100, + B11000000,B00000000,B00110000,B00000000,B00111100, + B11000000,B00000000,B01110000,B00000000,B01111100, + B11100000,B00000000,B11110000,B00000000,B11111100, + B11111000,B00000011,B11110000,B00000111,B11111100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_LOGO_X 0 +#define STATUS_HEATERS_X 50 +#define STATUS_BED_X 74 diff --git a/config/examples/Alfawise/U20/_Statusscreen.h b/config/examples/Alfawise/U20/_Statusscreen.h new file mode 100644 index 00000000000..0fbaaea42c6 --- /dev/null +++ b/config/examples/Alfawise/U20/_Statusscreen.h @@ -0,0 +1,77 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#pragma once + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 0 +#define STATUS_LOGO_WIDTH 38 + +static unsigned char status_logo_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11111100, + B10000000,B00000000,B00010000,B00000111,B11111100, + B10000000,B00000000,B00010000,B00000000,B11111100, + B10000000,B00000000,B00110000,B00000000,B01111100, + B10000000,B00000000,B00110000,B00000000,B00111100, + B10000000,B00000000,B01110000,B00000000,B00011100, + B11111111,B10000000,B01110000,B00000000,B00001100, + B11111111,B10000000,B11110000,B11100000,B00001100, + B11111111,B00000000,B11110000,B11111000,B00001100, + B11111111,B00000001,B11110000,B11111100,B00000100, + B11111110,B00000001,B11110000,B11010010,B00000100, + B11111110,B00000011,B11110000,B10101110,B00000100, + B11111100,B00000000,B11110000,B10101111,B00000100, + B11111100,B00000000,B00110000,B10000011,B00000100, + B11111000,B00000000,B00110000,B11111111,B00000100, + B11111000,B00000000,B00010000,B11111111,B00000100, + B11111111,B11100000,B00010000,B10111111,B00000100, + B11111111,B11110000,B00010000,B10101111,B00000100, + B11111111,B11110000,B00010000,B10101110,B00000100, + B11111111,B11110000,B00010000,B10000010,B00000100, + B10000011,B11110000,B00010000,B11111100,B00000100, + B10000001,B11110000,B00010000,B11111000,B00001100, + B10000001,B11100000,B00010000,B11100000,B00001100, + B10000000,B00000000,B00010000,B00000000,B00001100, + B10000000,B00000000,B00110000,B00000000,B00011100, + B11000000,B00000000,B00110000,B00000000,B00111100, + B11000000,B00000000,B01110000,B00000000,B01111100, + B11100000,B00000000,B11110000,B00000000,B11111100, + B11111000,B00000011,B11110000,B00000111,B11111100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_LOGO_X 0 +#define STATUS_HEATERS_X 50 +#define STATUS_BED_X 74 diff --git a/config/examples/AliExpress/CL-260/README.md b/config/examples/AliExpress/CL-260/README.md new file mode 100644 index 00000000000..24652b80bb6 --- /dev/null +++ b/config/examples/AliExpress/CL-260/README.md @@ -0,0 +1,11 @@ +# AliExpress CL-260 + +Example configuration for the [AliExpress CL-260](https://www.aliexpress.com/item/32812528331.html) Ultimaker 2 clone. + +*Note: Change `Z_MAX_POS` to 300 for the CL-260MAX.* + +The setting "works" for my printer and the extruder using my calibration value, but you might want to tweak some settings, e.g enable EEPROM, increase default Z speed, adjust homing speeds,... + +Have fun! + +\- tobi diff --git a/config/examples/Anet/A6/_Statusscreen.h b/config/examples/Anet/A6/_Statusscreen.h new file mode 100644 index 00000000000..dc8c258ed25 --- /dev/null +++ b/config/examples/Anet/A6/_Statusscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 10 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B01110000,B00000000,B00001000,B00000011,B10001110, + B10001000,B00000000,B00001000,B00000100,B01010000, + B10001010,B11000111,B00111110,B00000100,B01010000, + B11111011,B00101000,B10001000,B00000111,B11001110, + B10001010,B00101111,B00001000,B00000100,B01010001, + B10001010,B00101000,B00001000,B00000100,B01010001, + B10001010,B00100111,B00000110,B00000100,B01001110 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_X 48 +#define STATUS_BED_X 74 diff --git a/config/examples/Anet/A8/_Statusscreen.h b/config/examples/Anet/A8/_Statusscreen.h new file mode 100644 index 00000000000..2fb5ec9ac4e --- /dev/null +++ b/config/examples/Anet/A8/_Statusscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 10 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B01110000,B00000000,B00001000,B00000011,B10001110, + B10001000,B00000000,B00001000,B00000100,B01010001, + B10001010,B11000111,B00111110,B00000100,B01010001, + B11111011,B00101000,B10001000,B00000111,B11001110, + B10001010,B00101111,B00001000,B00000100,B01010001, + B10001010,B00101000,B00001000,B00000100,B01010001, + B10001010,B00100111,B00000110,B00000100,B01001110 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_X 48 +#define STATUS_BED_X 74 diff --git a/config/examples/Anet/A8plus/_Statusscreen.h b/config/examples/Anet/A8plus/_Statusscreen.h new file mode 100644 index 00000000000..168317d2464 --- /dev/null +++ b/config/examples/Anet/A8plus/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 6 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B01110000,B00000000,B00001000,B00000011,B10001110, + B10001000,B00000000,B00001000,B00000100,B01010001, + B10001010,B11000111,B00111110,B00000100,B01010001, + B11111011,B00101000,B10001000,B00000111,B11001110, + B10001010,B00101111,B00001000,B00000100,B01010001, + B10001010,B00101000,B00001000,B00000100,B01010001, + B10001010,B00100111,B00000110,B00000100,B01001110, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00001110,B01000000,B00000000,B00000000, + B00000000,B00010001,B01000000,B00000000,B00000000, + B00000000,B00010001,B01010001,B00111000,B00000000, + B00000000,B00011110,B01010001,B01000000,B00000000, + B00000000,B00010000,B01010001,B00111000,B00000000, + B00000000,B00010000,B01010001,B00000100,B00000000, + B00000000,B00010000,B01001110,B00111000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_X 48 +#define STATUS_BED_X 74 diff --git a/config/examples/Anet/A9/_Statusscreen.h b/config/examples/Anet/A9/_Statusscreen.h new file mode 100644 index 00000000000..6c094ad7e22 --- /dev/null +++ b/config/examples/Anet/A9/_Statusscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 10 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B01110000,B00000000,B00001000,B00000011,B10001110, + B10001000,B00000000,B00001000,B00000100,B01010001, + B10001010,B11000111,B00111110,B00000100,B01010001, + B11111011,B00101000,B10001000,B00000111,B11001110, + B10001010,B00101111,B00001000,B00000100,B01000001, + B10001010,B00101000,B00001000,B00000100,B01000001, + B10001010,B00100111,B00000110,B00000100,B01011110 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_X 48 +#define STATUS_BED_X 74 diff --git a/config/examples/Anet/E16/Stock/_Bootscreen.h b/config/examples/Anet/E16/Stock/_Bootscreen.h new file mode 100644 index 00000000000..102fb8e7775 --- /dev/null +++ b/config/examples/Anet/E16/Stock/_Bootscreen.h @@ -0,0 +1,73 @@ +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file '3dpc_tech_bootscreen.bmp' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B11111111,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11000000,B00000000,B11111111, + B11111110,B00000000,B11111111,B11111110,B00000111,B11111111,B11111111,B00000001,B11111111,B11111111,B11100000,B00000011,B11111111,B11111000,B00000000,B01111111, + B11111110,B00000001,B11111111,B11111111,B00000111,B11111111,B11111111,B11000001,B11111111,B11111111,B11111000,B00000111,B11111111,B11111100,B00000000,B01111111, + B11111100,B00000011,B11111111,B11111111,B11000111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111100,B00011111,B11111111,B11111110,B00000000,B01111111, + B11111100,B00000111,B11111111,B11111111,B11100111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111110,B00011111,B11111111,B11111111,B00000000,B00111111, + B11111000,B00001111,B11111111,B11111111,B11100111,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110,B00111111,B11111111,B11111111,B00000000,B00111111, + B11111000,B00001111,B11111111,B11111111,B11100111,B11111111,B11111111,B11111001,B11111111,B11111111,B11111111,B00111111,B11111111,B11111111,B10000000,B00011111, + B11111000,B00001111,B11111111,B11111111,B11110111,B11111111,B00111111,B11111001,B11111111,B11111111,B11111111,B01111111,B11111011,B11111111,B10000000,B00011111, + B11110000,B00001111,B11111100,B01111111,B11110111,B11111111,B00111111,B11111101,B11111111,B11001111,B11111111,B01111111,B11110001,B11111111,B10000000,B00011111, + B11110000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00001111, + B11110000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00001111, + B11110000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00001111, + B11100000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00001111, + B11100000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00000111, + B11100000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00000111, + B11100000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00000111, + B11000000,B00001111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00000111, + B11000000,B00001111,B11111000,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110001,B11111111,B10000000,B00000111, + B11000000,B00000000,B00000000,B01111111,B11100111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000111, + B11000000,B00000000,B00000001,B11111111,B11100111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00001111,B11111111,B11000111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00001111,B11111111,B10000111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00001111,B11111111,B00000111,B11111111,B00011111,B11111101,B11111111,B11000111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00001111,B11111111,B00000111,B11111111,B00011111,B11111101,B11111111,B11001111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00001111,B11111111,B10000111,B11111111,B00011111,B11111101,B11111111,B11111111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00000111,B11111111,B11000111,B11111111,B00011111,B11111101,B11111111,B11111111,B11111111,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00000000,B11111111,B11100111,B11111111,B00011111,B11111101,B11111111,B11111111,B11111110,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00000000,B00000000,B01111111,B11100111,B11111111,B00011111,B11111101,B11111111,B11111111,B11111110,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00001111,B11111000,B01111111,B11100111,B11111111,B00011111,B11111101,B11111111,B11111111,B11111100,B01111111,B11110000,B00000000,B00000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11111111,B11111000,B01111111,B11110001,B11111111,B10000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11111111,B11100000,B01111111,B11110001,B11111111,B10000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000011, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000111, + B11000000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000111, + B11100000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000111, + B11100000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000111, + B11100000,B00011111,B11111100,B01111111,B11110111,B11111111,B00011111,B11111101,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000111, + B11100000,B00001111,B11111111,B11111111,B11110111,B11111111,B00111111,B11111001,B11111111,B11000000,B00000000,B01111111,B11110001,B11111111,B10000000,B00000111, + B11100000,B00001111,B11111111,B11111111,B11100111,B11111111,B11111111,B11111001,B11111111,B11000000,B00000000,B01111111,B11111111,B11111111,B10000000,B00001111, + B11110000,B00001111,B11111111,B11111111,B11100111,B11111111,B11111111,B11111001,B11111111,B11000000,B00000000,B00111111,B11111111,B11111111,B10000000,B00001111, + B11110000,B00001111,B11111111,B11111111,B11100111,B11111111,B11111111,B11110001,B11111111,B11000000,B00000000,B00111111,B11111111,B11111111,B00000000,B00001111, + B11110000,B00000111,B11111111,B11111111,B11000111,B11111111,B11111111,B11100001,B11111111,B11000000,B00000000,B00011111,B11111111,B11111110,B00000000,B00011111, + B11111000,B00000011,B11111111,B11111111,B10000111,B11111111,B11111111,B11000001,B11111111,B11000000,B00000000,B00001111,B11111111,B11111100,B00000000,B00011111, + B11111000,B00000001,B11111111,B11111111,B00000111,B11111111,B11111111,B10000001,B11111111,B11000000,B00000000,B00000111,B11111111,B11111000,B00000000,B00011111, + B11111000,B00000000,B01111111,B11111100,B00000111,B11111111,B11111100,B00000001,B11111111,B11000000,B00000000,B00000001,B11111111,B11100000,B00000000,B00111111, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10000000,B00000000,B01111111, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B11000000,B00000000,B11111111, + B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B11000000,B00000000,B11111111, + B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B01111100,B01111100,B11111100,B00000001,B11111111, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B11001100,B11100000,B11101100,B00000001,B11111111, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B11000100,B11000000,B11000100,B00000011,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B01100000,B11111100,B11000000,B11000100,B00000011,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B01100100,B11000000,B11000000,B11000100,B00000111,B11111111, + B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100,B11111100,B01111100,B11000100,B00000111,B11111111, + B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111100,B01111100,B00111100,B10000100,B00001111,B11111111, + B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111 +}; diff --git a/config/examples/Anet/E16/Stock/_Statusscreen.h b/config/examples/Anet/E16/Stock/_Statusscreen.h new file mode 100644 index 00000000000..180059a102b --- /dev/null +++ b/config/examples/Anet/E16/Stock/_Statusscreen.h @@ -0,0 +1,83 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 3 +#define STATUS_LOGO_WIDTH 24 + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file '3dpc_tech_statusscreen.bmp' + */ +const unsigned char status_logo_bmp[] PROGMEM = { + B11111111,B11111111,B11111111, + B11111111,B00000000,B11111111, + B11111100,B00000000,B00111111, + B11110000,B00000000,B00001111, + B11100000,B00000000,B00000111, + B11100000,B00000000,B00000111, + B11000000,B00000000,B00000011, + B10011101,B11001110,B00110001, + B10010101,B10101111,B01101001, + B10010101,B10101101,B01101001, + B10000101,B10101101,B01100001, + B10001101,B10101111,B01100001, + B10010101,B10101100,B01100001, + B10010101,B10101100,B01101001, + B10010101,B10101100,B01101001, + B10011101,B11001100,B00110001, + B10000000,B00000000,B00000001, + B11000000,B00000001,B11111011, + B11100000,B00000000,B00000111, + B11100000,B00000000,B00000111, + B11110000,B00000000,B00001111, + B11111100,B00000000,B00111111, + B11111110,B01101100,B01111111, + B11111111,B11111111,B11111111 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_LOGO_X 8 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_LOGO_X 0 + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Anet/ET4+/README.md b/config/examples/Anet/ET4+/README.md new file mode 100644 index 00000000000..214b66e9211 --- /dev/null +++ b/config/examples/Anet/ET4+/README.md @@ -0,0 +1,52 @@ +# Marlin for Anet ET4/ET5 Series + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/Anet/ET4-Pro/README.md b/config/examples/Anet/ET4-Pro/README.md new file mode 100644 index 00000000000..214b66e9211 --- /dev/null +++ b/config/examples/Anet/ET4-Pro/README.md @@ -0,0 +1,52 @@ +# Marlin for Anet ET4/ET5 Series + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/Anet/ET4/README.md b/config/examples/Anet/ET4/README.md new file mode 100644 index 00000000000..214b66e9211 --- /dev/null +++ b/config/examples/Anet/ET4/README.md @@ -0,0 +1,52 @@ +# Marlin for Anet ET4/ET5 Series + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/Anet/ET4X/README.md b/config/examples/Anet/ET4X/README.md new file mode 100644 index 00000000000..214b66e9211 --- /dev/null +++ b/config/examples/Anet/ET4X/README.md @@ -0,0 +1,52 @@ +# Marlin for Anet ET4/ET5 Series + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/Anet/ET5-Pro/README.md b/config/examples/Anet/ET5-Pro/README.md new file mode 100644 index 00000000000..214b66e9211 --- /dev/null +++ b/config/examples/Anet/ET5-Pro/README.md @@ -0,0 +1,52 @@ +# Marlin for Anet ET4/ET5 Series + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/Anet/ET5/README.md b/config/examples/Anet/ET5/README.md new file mode 100644 index 00000000000..214b66e9211 --- /dev/null +++ b/config/examples/Anet/ET5/README.md @@ -0,0 +1,52 @@ +# Marlin for Anet ET4/ET5 Series + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/Anet/ET5X/README.md b/config/examples/Anet/ET5X/README.md new file mode 100644 index 00000000000..214b66e9211 --- /dev/null +++ b/config/examples/Anet/ET5X/README.md @@ -0,0 +1,52 @@ +# Marlin for Anet ET4/ET5 Series + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/AnimationExample/_Bootscreen.h b/config/examples/AnimationExample/_Bootscreen.h new file mode 100644 index 00000000000..759e88475b2 --- /dev/null +++ b/config/examples/AnimationExample/_Bootscreen.h @@ -0,0 +1,220 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Animated boot screen example + * + * Create your own with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_ANIMATED +#define CUSTOM_BOOTSCREEN_TIMEOUT 500 // (ms) Extra timeout after the animation + +/** + * Enable one of the following two options depending on your needs. + * Also edit the "custom_bootscreen_animation" at the bottom of this file. + */ +#define CUSTOM_BOOTSCREEN_FRAME_TIME 100 // (ms) Same time for all frames +//#define CUSTOM_BOOTSCREEN_ANIMATED_FRAME_TIME // Each frame also has a duration + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 120 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00001100,B00110000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00001100,B00110000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00001100,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10001100,B00110000,B11100111, + B10001100,B00110000,B11001111,B11000111,B11001100,B00110001,B11110011, + B10001100,B00110000,B11011100,B11101100,B11101100,B00110011,B10111001, + B10001100,B00110000,B11011000,B01101100,B01101100,B00110011,B00011001, + B10001100,B00110000,B11010000,B01101100,B00001100,B00110011,B00011001, + B10001100,B00110000,B11011000,B01101100,B00001100,B00110011,B00011001, + B10001100,B00110000,B11011100,B01101100,B00001110,B00111011,B00011001, + B10001100,B00110000,B11001111,B01111100,B00000111,B10011111,B00011001, + B10001100,B00110000,B11000111,B01111100,B00000011,B10001111,B00011001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 +}; + + +const unsigned char custom_start_bmp1[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 +}; + +const unsigned char custom_start_bmp2[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00000000,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00000000,B00000000,B00001111, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000111, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000011, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000000,B00000000,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 +}; + +const unsigned char custom_start_bmp3[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00000000,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00000000,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000000,B00000000,B00000000,B00000111, + B10001100,B00110000,B11001111,B11000000,B00000000,B00000000,B00000011, + B10001100,B00110000,B11011100,B11100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11010000,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011100,B01100000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11001111,B01110000,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000111,B01110000,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 +}; + +const unsigned char custom_start_bmp4[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00000000,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00000000,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00000000,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10000000,B00000000,B00000111, + B10001100,B00110000,B11001111,B11000111,B11000000,B00000000,B00000011, + B10001100,B00110000,B11011100,B11101100,B11100000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B01100000,B00000000,B00000001, + B10001100,B00110000,B11010000,B01101100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11011100,B01101100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11001111,B01111100,B00000000,B00000000,B00000001, + B10001100,B00110000,B11000111,B01111100,B00000000,B00000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 +}; + +const unsigned char custom_start_bmp5[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00001100,B00000000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00001100,B00000000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00001100,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10001100,B00000000,B00000111, + B10001100,B00110000,B11001111,B11000111,B11001100,B00000000,B00000011, + B10001100,B00110000,B11011100,B11101100,B11101100,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B01101100,B00000000,B00000001, + B10001100,B00110000,B11010000,B01101100,B00001100,B00000000,B00000001, + B10001100,B00110000,B11011000,B01101100,B00001100,B00000000,B00000001, + B10001100,B00110000,B11011100,B01101100,B00001110,B00000000,B00000001, + B10001100,B00110000,B11001111,B01111100,B00000111,B10000000,B00000001, + B10001100,B00110000,B11000111,B01111100,B00000011,B10000000,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 +}; + +const unsigned char custom_start_bmp6[] PROGMEM = { + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111, + B10000011,B11001111,B00000000,B00000000,B00001100,B00110000,B00111111, + B10000111,B11111111,B10000000,B00000000,B00001100,B00110000,B00011111, + B10000110,B01111001,B10000000,B00000000,B00001100,B00000000,B00001111, + B10001100,B00110000,B11000111,B10000011,B10001100,B00110000,B00000111, + B10001100,B00110000,B11001111,B11000111,B11001100,B00110000,B00000011, + B10001100,B00110000,B11011100,B11101100,B11101100,B00110000,B00000001, + B10001100,B00110000,B11011000,B01101100,B01101100,B00110000,B00000001, + B10001100,B00110000,B11010000,B01101100,B00001100,B00110000,B00000001, + B10001100,B00110000,B11011000,B01101100,B00001100,B00110000,B00000001, + B10001100,B00110000,B11011100,B01101100,B00001110,B00111000,B00000001, + B10001100,B00110000,B11001111,B01111100,B00000111,B10011100,B00000001, + B10001100,B00110000,B11000111,B01111100,B00000011,B10001100,B00000001, + B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111000 +}; + +#ifdef CUSTOM_BOOTSCREEN_ANIMATED_FRAME_TIME + + // Each Frame has its own custom duration + const boot_frame_t custom_bootscreen_animation[] PROGMEM = { + { custom_start_bmp1, 2000 }, // 2.0s + { custom_start_bmp2, 100 }, // 0.1s x 5 frames + { custom_start_bmp3, 100 }, + { custom_start_bmp4, 100 }, + { custom_start_bmp5, 100 }, + { custom_start_bmp6, 100 }, + { custom_start_bmp, 500 } // 0.5s + }; + +#else + + // Each frames shows for CUSTOM_BOOTSCREEN_FRAME_TIME + const unsigned char * const custom_bootscreen_animation[] PROGMEM = { + custom_start_bmp1, custom_start_bmp2, custom_start_bmp3, + custom_start_bmp4, custom_start_bmp5, custom_start_bmp6, + custom_start_bmp + }; + +#endif diff --git a/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/README.md b/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/README.md new file mode 100644 index 00000000000..07acf42791e --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/README.md @@ -0,0 +1,7 @@ +# Anycubic Mega Zero 2.0 Support + +This configuration is based on the published firmware v0.0.4 from Anycubic. It is **not** the authoritative source, but has been carefully re-built by looking at their firmware and inferring the base version and configuration they used. + +## Bitmaps + +The bootscreen came from Anycubic's firmware. The custom status screen was recreated from images. diff --git a/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Bootscreen.h b/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Bootscreen.h new file mode 100644 index 00000000000..af694a9035b --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +//#define CUSTOM_BOOTSCREEN_TIMEOUT 2000 +//#define CUSTOM_BOOTSCREEN_INVERTED + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11011100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11101111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11110111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111100,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B01111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B10111111,B00000000,B00000000,B10000000,B10000000,B11101110,B00001110,B00011011,B00000111,B00001110,B00110011,B10000011,B00000011,B10110000, + B00001111,B11111111,B11011111,B10000000,B00000000,B11000000,B11000000,B11100111,B00011100,B01111011,B11000111,B00001110,B00110011,B11000011,B00000111,B10111000, + B00001111,B11111111,B11101111,B11000000,B00000001,B11000000,B11100000,B11100111,B00111100,B11111011,B11000111,B00001110,B00110011,B11100011,B00001111,B00111100, + B00011111,B11111111,B11110111,B11100000,B00000000,B11100000,B01111000,B11100011,B00111000,B11100000,B10000111,B00001110,B00110000,B11100011,B00001100,B00000000, + B00011111,B11111111,B11111011,B11110000,B00000010,B11100000,B00111100,B11100000,B01110001,B11000000,B00000111,B00001110,B00110000,B11100011,B00011100,B00000000, + B00111111,B11111111,B11110100,B00110000,B00000010,B01110000,B10011110,B11100000,B11100001,B11000000,B00000111,B00001110,B00110011,B11000011,B00011100,B00000000, + B01111111,B11111111,B11101111,B11000000,B00000111,B01110000,B11001111,B11100000,B11100001,B11000000,B00000111,B00001110,B00110011,B11000011,B00011100,B00000000, + B00111111,B11111111,B11101111,B11110000,B00000110,B00111000,B11100111,B11100000,B11000001,B11000000,B00000111,B00001110,B00110000,B00100011,B00011100,B00000000, + B00011111,B11111111,B11011111,B11100000,B00001110,B11111000,B11100011,B11100000,B11000000,B11100000,B00000111,B00001110,B00110000,B11100011,B00011100,B00000000, + B00011111,B11111111,B10111111,B11000000,B00001100,B11111100,B11100000,B11100000,B11000000,B11110001,B11000111,B10011100,B00110011,B11100011,B00001111,B00011100, + B00001111,B11111111,B01111111,B10000000,B00011100,B00001100,B11100000,B01100000,B11000000,B01111011,B11000011,B10011100,B00110011,B11000011,B00000111,B10111100, + B00000111,B11111111,B01111111,B00000000,B00011000,B00001110,B11100000,B00100000,B11000000,B00111011,B10000001,B10010000,B00110011,B10000011,B00000011,B10110000, + B00000111,B11111110,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111101,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11111011,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11110111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11110111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B01101110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B01010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Statusscreen.h b/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Statusscreen.h new file mode 100644 index 00000000000..def89a71020 --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero 2.0/Anycubic V1/_Statusscreen.h @@ -0,0 +1,47 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_WIDTH 48 +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 10 +#define STATUS_HEATERS_X 54 +#define STATUS_BED_X 74 + +const unsigned char status_logo_bmp[] PROGMEM = { + B01110011,B11001111,B11110000,B11111100,B00000000,B00111110, + B01110011,B11000000,B00110001,B11001110,B00000000,B01110111, + B01110011,B11000000,B01110001,B10000110,B00000000,B11100011, + B01110011,B11000000,B11100000,B00000110,B00000000,B11100011, + B01111011,B11000000,B11000000,B00001110,B00000000,B11000011, + B01111111,B11000001,B11000000,B00001110,B00000000,B11000011, + B01111111,B11000001,B10000000,B00011100,B00000000,B11000011, + B01111111,B11000011,B10000000,B00111000,B00000000,B11000011, + B01111111,B11000011,B00000000,B01110000,B00000000,B11000011, + B01101101,B11000110,B00000000,B01100000,B00000000,B11100011, + B01101101,B11001110,B00000000,B11100000,B00000000,B01100111, + B01101101,B11001111,B11111001,B11111110,B00011000,B01111110, + B01101101,B11001111,B11111001,B11111110,B00011000,B00011100 +}; diff --git a/config/examples/AnyCubic/Mega Zero/Anycubic V1/README.md b/config/examples/AnyCubic/Mega Zero/Anycubic V1/README.md new file mode 100644 index 00000000000..858faf7bb25 --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero/Anycubic V1/README.md @@ -0,0 +1,7 @@ +# Anycubic Mega Zero Support + +This configuration is based on the published firmware v0.0.4 from Anycubic. It is **not** the authoritative source, but has been carefully re-built by looking at their firmware and inferring the base version and configuration they used. + +## Bitmaps + +The bootscreen and custom status screens come from Anycubic's firmware. diff --git a/config/examples/AnyCubic/Mega Zero/Anycubic V1/_Bootscreen.h b/config/examples/AnyCubic/Mega Zero/Anycubic V1/_Bootscreen.h new file mode 100644 index 00000000000..146049f2685 --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero/Anycubic V1/_Bootscreen.h @@ -0,0 +1,53 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11011100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11101111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11110111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111100,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B01111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B10111111,B00000000,B00000000,B10000000,B10000000,B11101110,B00001110,B00011011,B00000111,B00001110,B00110011,B10000011,B00000011,B10110000, + B00001111,B11111111,B11011111,B10000000,B00000000,B11000000,B11000000,B11100111,B00011100,B01111011,B11000111,B00001110,B00110011,B11000011,B00000111,B10111000, + B00001111,B11111111,B11101111,B11000000,B00000001,B11000000,B11100000,B11100111,B00111100,B11111011,B11000111,B00001110,B00110011,B11100011,B00001111,B00111100, + B00011111,B11111111,B11110111,B11100000,B00000000,B11100000,B01111000,B11100011,B00111000,B11100000,B10000111,B00001110,B00110000,B11100011,B00001100,B00000000, + B00011111,B11111111,B11111011,B11110000,B00000010,B11100000,B00111100,B11100000,B01110001,B11000000,B00000111,B00001110,B00110000,B11100011,B00011100,B00000000, + B00111111,B11111111,B11110100,B00110000,B00000010,B01110000,B10011110,B11100000,B11100001,B11000000,B00000111,B00001110,B00110011,B11000011,B00011100,B00000000, + B01111111,B11111111,B11101111,B11000000,B00000111,B01110000,B11001111,B11100000,B11100001,B11000000,B00000111,B00001110,B00110011,B11000011,B00011100,B00000000, + B00111111,B11111111,B11101111,B11110000,B00000110,B00111000,B11100111,B11100000,B11000001,B11000000,B00000111,B00001110,B00110000,B00100011,B00011100,B00000000, + B00011111,B11111111,B11011111,B11100000,B00001110,B11111000,B11100011,B11100000,B11000000,B11100000,B00000111,B00001110,B00110000,B11100011,B00011100,B00000000, + B00011111,B11111111,B10111111,B11000000,B00001100,B11111100,B11100000,B11100000,B11000000,B11110001,B11000111,B10011100,B00110011,B11100011,B00001111,B00011100, + B00001111,B11111111,B01111111,B10000000,B00011100,B00001100,B11100000,B01100000,B11000000,B01111011,B11000011,B10011100,B00110011,B11000011,B00000111,B10111100, + B00000111,B11111111,B01111111,B00000000,B00011000,B00001110,B11100000,B00100000,B11000000,B00111011,B10000001,B10010000,B00110011,B10000011,B00000011,B10110000, + B00000111,B11111110,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111101,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11111011,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11110111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11110111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B01101110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B01010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/AnyCubic/Mega Zero/Anycubic V1/_Statusscreen.h b/config/examples/AnyCubic/Mega Zero/Anycubic V1/_Statusscreen.h new file mode 100644 index 00000000000..cd2ab8bc2d4 --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero/Anycubic V1/_Statusscreen.h @@ -0,0 +1,52 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from 128x19 C/C++ data + */ +#pragma once + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_WIDTH 64 +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 10 +#define STATUS_HEATERS_X 80 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11101110,B00000000,B00000000,B00000000,B00011111,B00000000,B00000000,B00000000, + B01101100,B00000000,B00000000,B00000000,B00100010,B00000000,B00000000,B00000000, + B01101100,B00000000,B00000000,B00000000,B00000010,B00000000,B00000000,B00000000, + B01101100,B00111100,B00111110,B00111000,B00000100,B00011110,B01110111,B00001100, + B01101100,B01000010,B01000100,B01000100,B00000100,B00100001,B00011001,B00010010, + B01010100,B01000010,B01000100,B00001100,B00001000,B00100001,B00010000,B00100001, + B01010100,B01111110,B00111000,B00110100,B00001000,B00111111,B00010000,B00100001, + B01010100,B01000000,B01000000,B01000100,B00010000,B00100000,B00010000,B00100001, + B01010100,B01000010,B00111100,B01001100,B00010001,B00100001,B00010000,B00010010, + B11010110,B00111100,B01000010,B00110110,B00111111,B00011110,B01111100,B00001100, + B00000000,B00000000,B01000010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111100,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Bootscreen.h b/config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Bootscreen.h new file mode 100644 index 00000000000..11589df2bdc --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +//#define CUSTOM_BOOTSCREEN_TIMEOUT 2000 +//#define CUSTOM_BOOTSCREEN_INVERTED + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11011100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11101111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11110111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111100,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B01111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B10111111,B00000000,B00000000,B10000000,B10000000,B11101110,B00001110,B00011011,B00000111,B00001110,B00110011,B10000011,B00000011,B10110000, + B00001111,B11111111,B11011111,B10000000,B00000000,B11000000,B11000000,B11100111,B00011100,B01111011,B11000111,B00001110,B00110011,B11000011,B00000111,B10111000, + B00001111,B11111111,B11101111,B11000000,B00000001,B11000000,B11100000,B11100111,B00111100,B11111011,B11000111,B00001110,B00110011,B11100011,B00001111,B00111100, + B00011111,B11111111,B11110111,B11100000,B00000000,B11100000,B01111000,B11100011,B00111000,B11100000,B10000111,B00001110,B00110000,B11100011,B00001100,B00000000, + B00011111,B11111111,B11111011,B11110000,B00000010,B11100000,B00111100,B11100000,B01110001,B11000000,B00000111,B00001110,B00110000,B11100011,B00011100,B00000000, + B00111111,B11111111,B11110100,B00110000,B00000010,B01110000,B10011110,B11100000,B11100001,B11000000,B00000111,B00001110,B00110011,B11000011,B00011100,B00000000, + B01111111,B11111111,B11101111,B11000000,B00000111,B01110000,B11001111,B11100000,B11100001,B11000000,B00000111,B00001110,B00110011,B11000011,B00011100,B00000000, + B00111111,B11111111,B11101111,B11110000,B00000110,B00111000,B11100111,B11100000,B11000001,B11000000,B00000111,B00001110,B00110000,B00100011,B00011100,B00000000, + B00011111,B11111111,B11011111,B11100000,B00001110,B11111000,B11100011,B11100000,B11000000,B11100000,B00000111,B00001110,B00110000,B11100011,B00011100,B00000000, + B00011111,B11111111,B10111111,B11000000,B00001100,B11111100,B11100000,B11100000,B11000000,B11110001,B11000111,B10011100,B00110011,B11100011,B00001111,B00011100, + B00001111,B11111111,B01111111,B10000000,B00011100,B00001100,B11100000,B01100000,B11000000,B01111011,B11000011,B10011100,B00110011,B11000011,B00000111,B10111100, + B00000111,B11111111,B01111111,B00000000,B00011000,B00001110,B11100000,B00100000,B11000000,B00111011,B10000001,B10010000,B00110011,B10000011,B00000011,B10110000, + B00000111,B11111110,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111101,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11111011,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11110111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11110111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B01101110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B01010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Statusscreen.h b/config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Statusscreen.h new file mode 100644 index 00000000000..cd2ab8bc2d4 --- /dev/null +++ b/config/examples/AnyCubic/Mega Zero/BigTreeTech SKR Mini MZ V1.0/_Statusscreen.h @@ -0,0 +1,52 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from 128x19 C/C++ data + */ +#pragma once + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_WIDTH 64 +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 10 +#define STATUS_HEATERS_X 80 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11101110,B00000000,B00000000,B00000000,B00011111,B00000000,B00000000,B00000000, + B01101100,B00000000,B00000000,B00000000,B00100010,B00000000,B00000000,B00000000, + B01101100,B00000000,B00000000,B00000000,B00000010,B00000000,B00000000,B00000000, + B01101100,B00111100,B00111110,B00111000,B00000100,B00011110,B01110111,B00001100, + B01101100,B01000010,B01000100,B01000100,B00000100,B00100001,B00011001,B00010010, + B01010100,B01000010,B01000100,B00001100,B00001000,B00100001,B00010000,B00100001, + B01010100,B01111110,B00111000,B00110100,B00001000,B00111111,B00010000,B00100001, + B01010100,B01000000,B01000000,B01000100,B00010000,B00100000,B00010000,B00100001, + B01010100,B01000010,B00111100,B01001100,B00010001,B00100001,B00010000,B00010010, + B11010110,B00111100,B01000010,B00110110,B00111111,B00011110,B01111100,B00001100, + B00000000,B00000000,B01000010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111100,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Artillery/Genius Pro/_Bootscreen.h b/config/examples/Artillery/Genius Pro/_Bootscreen.h new file mode 100644 index 00000000000..7b735f02dae --- /dev/null +++ b/config/examples/Artillery/Genius Pro/_Bootscreen.h @@ -0,0 +1,93 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'EVNOVO-Artillery-Logo.jpg' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 54 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00001111,B11100000,B00000000,B00011111,B11100000,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00011111,B11100000,B00000000,B00011111,B11000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000 +}; diff --git a/config/examples/Artillery/Genius/BLTouch/_Bootscreen.h b/config/examples/Artillery/Genius/BLTouch/_Bootscreen.h new file mode 100644 index 00000000000..fb8e19c204a --- /dev/null +++ b/config/examples/Artillery/Genius/BLTouch/_Bootscreen.h @@ -0,0 +1,93 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'EVNOVO-Artillery-Logo.jpg' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 54 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00001111,B11100000,B00000000,B00011111,B11100000,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00011111,B11100000,B00000000,B00011111,B11000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000 +}; diff --git a/config/examples/Artillery/Genius/V1/_Bootscreen.h b/config/examples/Artillery/Genius/V1/_Bootscreen.h new file mode 100644 index 00000000000..fb8e19c204a --- /dev/null +++ b/config/examples/Artillery/Genius/V1/_Bootscreen.h @@ -0,0 +1,93 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'EVNOVO-Artillery-Logo.jpg' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 54 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00001111,B11100000,B00000000,B00011111,B11100000,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00011111,B11100000,B00000000,B00011111,B11000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000 +}; diff --git a/config/examples/Artillery/Hornet/_Bootscreen.h b/config/examples/Artillery/Hornet/_Bootscreen.h new file mode 100644 index 00000000000..fb8e19c204a --- /dev/null +++ b/config/examples/Artillery/Hornet/_Bootscreen.h @@ -0,0 +1,93 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'EVNOVO-Artillery-Logo.jpg' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 54 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00001111,B11100000,B00000000,B00011111,B11100000,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00011111,B11100000,B00000000,B00011111,B11000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000 +}; diff --git a/config/examples/Artillery/Sidewinder X1/0.9 BMG - E3D V6/_Bootscreen.h b/config/examples/Artillery/Sidewinder X1/0.9 BMG - E3D V6/_Bootscreen.h new file mode 100644 index 00000000000..109b48cf92b --- /dev/null +++ b/config/examples/Artillery/Sidewinder X1/0.9 BMG - E3D V6/_Bootscreen.h @@ -0,0 +1,93 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'EVNOVO-Artillery-Logo.jpg' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 54 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00001111,B11100000,B00000000,B00011111,B11100000,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00011111,B11100000,B00000000,B00011111,B11000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000 +}; diff --git a/config/examples/Artillery/Sidewinder X1/V1/_Bootscreen.h b/config/examples/Artillery/Sidewinder X1/V1/_Bootscreen.h new file mode 100644 index 00000000000..109b48cf92b --- /dev/null +++ b/config/examples/Artillery/Sidewinder X1/V1/_Bootscreen.h @@ -0,0 +1,93 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'EVNOVO-Artillery-Logo.jpg' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 54 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00001111,B11100000,B00000000,B00011111,B11100000,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00011111,B11100000,B00000000,B00011111,B11000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000 +}; diff --git a/config/examples/Artillery/Sidewinder X2/_Bootscreen.h b/config/examples/Artillery/Sidewinder X2/_Bootscreen.h new file mode 100644 index 00000000000..fb8e19c204a --- /dev/null +++ b/config/examples/Artillery/Sidewinder X2/_Bootscreen.h @@ -0,0 +1,93 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'EVNOVO-Artillery-Logo.jpg' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 54 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00001111,B11100000,B00000000,B00011111,B11100000,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00011111,B00000011,B11100000,B00000000,B01111100, + B11111000,B00000000,B00111111,B00000011,B11110000,B00000000,B01111100, + B11111000,B00000000,B11111111,B00000011,B11111100,B00000000,B01111100, + B11111000,B00000001,B11111111,B00000011,B11111110,B00000000,B01111100, + B11111000,B00000011,B11111110,B00000001,B11111111,B00000000,B01111100, + B11111000,B00000011,B11111100,B00000000,B11111111,B00000000,B01111100, + B11111000,B00000011,B11110000,B00000000,B00111111,B00000000,B01111100, + B11111000,B00000011,B11000000,B00000000,B00001111,B00000000,B01111100, + B11111000,B00000011,B00000000,B00000000,B00000011,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111100, + B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100, + B11111111,B10000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B01111111,B11100000,B00000000,B00000000,B00000000,B00011111,B11111000, + B00011111,B11111000,B00000000,B00000000,B00000000,B01111111,B11100000, + B00000111,B11111100,B00000000,B00000000,B00000000,B11111111,B10000000, + B00000011,B11111111,B00000000,B00000000,B00000011,B11111111,B00000000, + B00000000,B11111111,B11000000,B00000000,B00001111,B11111100,B00000000, + B00000000,B00111111,B11100000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00011111,B11100000,B00000000,B00011111,B11000000,B00000000, + B00000000,B00000111,B11100000,B00000000,B00011111,B10000000,B00000000, + B00000000,B00000001,B11100000,B00000000,B00011110,B00000000,B00000000, + B00000000,B00000000,B01100000,B00000000,B00011000,B00000000,B00000000 +}; diff --git a/config/examples/BIQU/B1 - SKR 1.4/README.md b/config/examples/BIQU/B1 - SKR 1.4/README.md new file mode 100644 index 00000000000..e0031d8d2e6 --- /dev/null +++ b/config/examples/BIQU/B1 - SKR 1.4/README.md @@ -0,0 +1,9 @@ +# BIQU B1 (SKR 1.4) Firmware + +Compile with the `LPC1768` environment. + +## BLTouch Probe Support + +Uncomment `B1_USE_BLTOUCH` for probe customizations. + +This configuration retains the use of homing with a Z limit switch. If you want to home with the BLTouch probe, remove your Z limit switch & bracket and enable (uncomment) `USE_PROBE_FOR_Z_HOMING` and `Z_SAFE_HOMING`. Change `Z_MIN_ENDSTOP_INVERTING` from `true` to `false`. diff --git a/config/examples/BIQU/B1 - SKR 2/README.md b/config/examples/BIQU/B1 - SKR 2/README.md new file mode 100644 index 00000000000..0684b91d40a --- /dev/null +++ b/config/examples/BIQU/B1 - SKR 2/README.md @@ -0,0 +1,9 @@ +# BIQU B1 (SKR 2) Firmware + +Flash drive support is enabled, but jumpers to enable support may not have been installed correctly from the factory. [Follow Biqu's instructions, starting with Step 2](https://github.com/bigtreetech/BIQU-B1-SE-PLUS/blob/master/B1-SE%20fimware/B1-SE-U%20Disk%20Usage%20Tutorial-English.pdf) if flash drive support is not working correctly. + +## BLTouch Probe Support + +Uncomment `B1_USE_BLTOUCH` for probe customizations. + +This configuration retains the use of homing with a Z limit switch. If you want to home with the BLTouch probe, remove your Z limit switch & bracket and enable (uncomment) `USE_PROBE_FOR_Z_HOMING` and `Z_SAFE_HOMING`. Change `Z_MIN_ENDSTOP_INVERTING` from `true` to `false`. diff --git a/config/examples/BIQU/B1 SE Plus/README.md b/config/examples/BIQU/B1 SE Plus/README.md new file mode 100644 index 00000000000..98b27068e81 --- /dev/null +++ b/config/examples/BIQU/B1 SE Plus/README.md @@ -0,0 +1,3 @@ +# BIQU B1 SE Plus (SKR 2) Firmware + +Flash drive support is enabled, but jumpers to enable support may not have been installed correctly from the factory. [Follow Biqu's instructions, starting with Step 2](https://github.com/bigtreetech/BIQU-B1-SE-PLUS/blob/master/B1-SE%20fimware/B1-SE-U%20Disk%20Usage%20Tutorial-English.pdf) if flash drive support is not working correctly. diff --git a/config/examples/BIQU/BX/README.md b/config/examples/BIQU/BX/README.md new file mode 100644 index 00000000000..bce822c3df8 --- /dev/null +++ b/config/examples/BIQU/BX/README.md @@ -0,0 +1,5 @@ +# Biqu BX Configuration + +Uncomment `#define MOTHERBOARD BOARD_BTT_SKR_SE_BX_V3` to enable BTT SKR SE BX V3.0 motherboard, otherwise V2.0 is assumed. + +Uncomment `BX_ALL_METAL_HOTEND` to enable higher printing temperatures for newer H2 extruder with all metal heatbreak. diff --git a/config/examples/BQ/Hephestos_2/README.md b/config/examples/BQ/Hephestos_2/README.md new file mode 100644 index 00000000000..ab28487e2d9 --- /dev/null +++ b/config/examples/BQ/Hephestos_2/README.md @@ -0,0 +1,29 @@ +# Example Configuration for BQ [Hephestos 2](http://www.bq.com/uk/hephestos-2) +Based on the original configuration file shipped with the heavily modified Marlin fork by BQ. +The forked firmware and configuration files can be found at the [BQ Github repository](https://github.com/bq/Marlin). + +NOTE: The look and feel of the LCD menu will change dramatically when using the original Marlin firmware. + +## Changelog + * 2018/05/30 - Configuration updated to the latest Marlin version (43a55a9af). + ABL Bilinear 5x5 is active by default. + + * 2017/07/06 - Configuration updated to the latest Marlin version and added support for the + official BQ heated bed upgrade kit. + + * 2016/12/13 - Configuration updated to the latest Marlin version. + + * 2016/07/13 - Configuration updated to the latest Marlin version. + + * 2016/06/21 - Disabled heated bed related options, activated software endstops and SD printing now + disables the heater when finishes printing. + + * 2016/03/21 - Activated 4-point auto leveling by default and updated miscellaneous z-probe values. + + * 2016/03/01 - The first release of Marlin's configuration file for the + BQ Hephestos 2 3D printer. + + +## Support +This configuration should work easily with the stock Hephestos 2, nevertheless if you encounter any +issues you may contact me on [Github](https://github.com/jbrazio), [Twitter](https://twitter.com/jbrazio) or by mail. diff --git a/config/examples/BQ/Hephestos_2/_Bootscreen.h b/config/examples/BQ/Hephestos_2/_Bootscreen.h new file mode 100644 index 00000000000..61b207c8585 --- /dev/null +++ b/config/examples/BQ/Hephestos_2/_Bootscreen.h @@ -0,0 +1,101 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 64 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00001111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00001111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11111000,B00000111,B11111000,B00000111,B11000000,B00000000, + B00000000,B00000001,B11111100,B00000011,B11110000,B00001111,B11100000,B00000000, + B00000000,B00000011,B11111110,B00000000,B11000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111110,B00000000,B00000000,B00011111,B11110000,B00000000, + B00000000,B00000011,B11111100,B00000000,B00000000,B00001111,B11100000,B00000000, + B00000000,B00000001,B11111000,B00000000,B00000000,B00001111,B11100000,B00000000, + B00000000,B00000000,B01110000,B00000000,B00000000,B00000011,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00001111,B10000000,B00000000,B00000000,B01110000,B00000000,B00000000,B00000000, + B00011111,B11000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11100000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11100000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000, + B00111111,B11100000,B00000000,B00000000,B01111011,B11000000,B00001111,B00000000, + B00111111,B11000000,B00000000,B00000000,B01111111,B11110000,B00111111,B11000000, + B00011111,B10000000,B00000000,B00000000,B01111111,B11111000,B01111111,B11100000, + B00001111,B00000000,B00000000,B00000000,B01111110,B11111100,B11111001,B11110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B11100000,B11110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00011101,B11100000,B01110000, + B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B11100000,B11110000, + B00000000,B00000000,B00000000,B00000000,B01111100,B01111100,B11111001,B11110000, + B00000000,B00000000,B00000000,B00000000,B00011111,B11111000,B11111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00001111,B11110000,B01111111,B11110000, + B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00011111,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/CTC/A13/_Bootscreen.h b/config/examples/CTC/A13/_Bootscreen.h new file mode 100644 index 00000000000..280887a9b6e --- /dev/null +++ b/config/examples/CTC/A13/_Bootscreen.h @@ -0,0 +1,73 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 5000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 120 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00111111,B00000011,B11111111,B11111110,B00000011,B11110000,B00000000,B00000000,B11111110,B00000000,B00000111,B10000000,B00111111,B00000000, + B00000000,B00111111,B00000011,B11111111,B11111110,B00000011,B11110000,B00000000,B00000000,B11111110,B00000000,B00000111,B10000000,B00111111,B00000000, + B00000001,B11111111,B11100011,B11111111,B11111110,B00011111,B11111110,B00000000,B00000000,B11111110,B00000000,B00001111,B10000000,B11111111,B11000000, + B00000001,B11111111,B11100011,B11111111,B11111110,B00011111,B11111110,B00000000,B00000000,B11111110,B00000000,B00001111,B10000000,B11111111,B11000000, + B00000011,B11111111,B11110011,B11111111,B11111110,B00111111,B11111111,B00000000,B00000001,B11111110,B00000000,B00011111,B10000001,B11111111,B11100000, + B00000011,B11111111,B11110011,B11111111,B11111110,B00111111,B11111111,B00000000,B00000001,B11111110,B00000000,B00011111,B10000001,B11111111,B11100000, + B00000011,B11111111,B11110011,B11111111,B11111110,B00111111,B11111111,B00000000,B00000001,B11111111,B00000000,B01111111,B10000011,B11100011,B11100000, + B00000011,B11111111,B11110011,B11111111,B11111110,B00111111,B11111111,B00000000,B00000001,B11111111,B00000000,B01111111,B10000011,B11100011,B11100000, + B00000111,B11100001,B11111000,B00001111,B10000000,B01111110,B00011111,B10000000,B00000001,B11111111,B00000001,B11111111,B10000000,B11100011,B11100000, + B00000111,B11100001,B11111000,B00001111,B10000000,B01111110,B00011111,B10000000,B00000001,B11111111,B00000001,B11111111,B10000000,B11100011,B11100000, + B00000111,B11100001,B11111000,B00001111,B10000000,B01111110,B00011111,B10000000,B00000001,B11111111,B00000001,B11111111,B10000000,B11100011,B11100000, + B00000111,B11000000,B11100000,B00001111,B10000000,B01111100,B00001110,B00000000,B00000011,B11101111,B10000001,B11111111,B10000000,B00000011,B11100000, + B00000111,B11000000,B11100000,B00001111,B10000000,B01111100,B00001110,B00000000,B00000011,B11101111,B10000001,B11111111,B10000000,B00000011,B11100000, + B00001111,B11000000,B00000000,B00001111,B10000000,B11111100,B00000000,B00000000,B00000011,B11101111,B10000001,B11001111,B10000000,B00001111,B11000000, + B00001111,B11000000,B00000000,B00001111,B10000000,B11111100,B00000000,B00000000,B00000011,B11101111,B10000001,B11001111,B10000000,B00001111,B11000000, + B00001111,B11000000,B00000000,B00001111,B10000000,B11111100,B00000000,B00000000,B00000011,B11000111,B10000001,B00001111,B10000000,B00001111,B10000000, + B00001111,B11000000,B00000000,B00001111,B10000000,B11111100,B00000000,B00000000,B00000111,B11000111,B11000000,B00001111,B10000000,B00001111,B11100000, + B00001111,B11000000,B00000000,B00001111,B10000000,B11111100,B00000000,B00000000,B00000111,B11000111,B11000000,B00001111,B10000000,B00001111,B11100000, + B00001111,B11000000,B00000000,B00001111,B10000000,B11111100,B00000000,B00000000,B00000111,B11000111,B11000000,B00001111,B10000000,B00000001,B11110000, + B00001111,B11000000,B00000000,B00001111,B10000000,B11111100,B00000000,B00000000,B00000111,B11000111,B11000000,B00001111,B10000000,B00000001,B11110000, + B00001111,B11000000,B11000000,B00001111,B10000000,B11111100,B00001100,B00000000,B00000111,B11111111,B11100000,B00001111,B10000000,B00000001,B11110000, + B00001111,B11000000,B11000000,B00001111,B10000000,B11111100,B00001100,B00000000,B00000111,B11111111,B11100000,B00001111,B10000000,B00000001,B11110000, + B00000111,B11000000,B11111000,B00001111,B10000000,B01111100,B00001111,B10000000,B00001111,B11111111,B11100000,B00001111,B10000000,B00000001,B11110000, + B00000111,B11000000,B11111000,B00001111,B10000000,B01111100,B00001111,B10000000,B00001111,B11111111,B11100000,B00001111,B10000000,B00000001,B11110000, + B00000111,B11000000,B11111000,B00001111,B10000000,B01111100,B00001111,B10000000,B00001111,B11111111,B11100000,B00001111,B10000000,B00000001,B11110000, + B00000111,B11100001,B11111000,B00001111,B10000000,B01111110,B00011111,B10000000,B00001111,B11111111,B11100000,B00001111,B10000011,B11100001,B11110000, + B00000111,B11100001,B11111000,B00001111,B10000000,B01111110,B00011111,B10000000,B00001111,B11111111,B11100000,B00001111,B10000011,B11100001,B11110000, + B00000011,B11111111,B11110000,B00001111,B10000000,B00111111,B11111111,B00000000,B00011111,B11111111,B11110000,B00001111,B10000011,B11110011,B11110000, + B00000011,B11111111,B11110000,B00001111,B10000000,B00111111,B11111111,B00000000,B00011111,B11111111,B11110000,B00001111,B10000011,B11110011,B11110000, + B00000011,B11111111,B11110000,B00001111,B10000000,B00111111,B11111111,B00000000,B00011111,B00000001,B11110000,B00001111,B10000001,B11111111,B11100000, + B00000011,B11111111,B11110000,B00001111,B10000000,B00111111,B11111111,B00000000,B00011111,B00000001,B11110000,B00001111,B10000001,B11111111,B11100000, + B00000001,B11111111,B11100000,B00001111,B10000000,B00011111,B11111110,B00000000,B00011111,B00000001,B11111000,B00001111,B10000000,B11111111,B11000000, + B00000001,B11111111,B11100000,B00001111,B10000000,B00011111,B11111110,B00000000,B00011111,B00000001,B11111000,B00001111,B10000000,B11111111,B11000000, + B00000000,B00111111,B00000000,B00001111,B10000000,B00000011,B11110000,B00000000,B00111111,B00000001,B11111000,B00001111,B10000000,B00111111,B00000000, + B00000000,B00111111,B00000000,B00001111,B10000000,B00000011,B11110000,B00000000,B00111111,B00000001,B11111000,B00001111,B10000000,B00111111,B00000000 +}; diff --git a/config/examples/CTC/A13/_Statusscreen.h b/config/examples/CTC/A13/_Statusscreen.h new file mode 100644 index 00000000000..bdd924b3e59 --- /dev/null +++ b/config/examples/CTC/A13/_Statusscreen.h @@ -0,0 +1,36 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Cartesio/_Bootscreen.h b/config/examples/Cartesio/_Bootscreen.h new file mode 100644 index 00000000000..95c7c9e75a8 --- /dev/null +++ b/config/examples/Cartesio/_Bootscreen.h @@ -0,0 +1,101 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 64 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00111111,B11111100,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000, + B00000000,B00000000,B00011111,B11111111,B11111111,B11110000,B00000000,B00000000, + B00000000,B00000000,B01111111,B11111111,B11111111,B11111100,B00000000,B00000000, + B00000000,B00000000,B11111111,B11111111,B11111111,B11111111,B00000000,B00000000, + B00000000,B00000011,B11111111,B11111111,B11111111,B11111111,B10000000,B00000000, + B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00001111,B00000111,B10000111,B11111111,B11111111,B11100000,B00000000, + B00000000,B00011111,B10001111,B11000111,B11111111,B11111111,B11110001,B00000000, + B00000001,B00011111,B10001111,B11000111,B11111111,B11111111,B11110001,B10000000, + B00000011,B00011111,B10001111,B11000111,B11111111,B11111111,B11110001,B10000000, + B00000111,B00011111,B10001111,B11000111,B11111111,B11111111,B11100001,B11000000, + B00000111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11100000, + B00001111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11100000, + B00001111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11110000, + B00011111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11110000, + B00011111,B00011111,B10001111,B11000111,B11111111,B11111111,B11100001,B11110000, + B00111111,B00011111,B10001111,B11000111,B11111111,B11111111,B11110001,B11111000, + B00111111,B00011111,B10001111,B11000111,B11111111,B11111111,B11110001,B11111000, + B00111111,B00011111,B10001111,B11000111,B11111111,B11111111,B11110001,B11111000, + B00111111,B00011111,B10001111,B11000111,B11111111,B11111111,B11100001,B11111000, + B01111111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11111100, + B01111111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11111100, + B01111111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11111100, + B01111111,B00011111,B10001111,B11000111,B11000000,B00000000,B00000001,B11111100, + B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B00000000,B00000000,B00000111,B11000111,B11100011,B11110001,B11111100, + B01111111,B00000000,B00000000,B00000111,B11000111,B11100011,B11110001,B11111100, + B01111111,B00000000,B00000000,B00000111,B11000111,B11100011,B11110001,B11111100, + B00111111,B00001111,B11111111,B11111111,B11000111,B11100011,B11110001,B11111000, + B00111111,B00011111,B11111111,B11111111,B11000111,B11100011,B11110001,B11111000, + B00111111,B00011111,B11111111,B11111111,B11000111,B11100011,B11110001,B11111000, + B00111111,B00011111,B11111111,B11111111,B11000111,B11100011,B11110001,B11111000, + B00011111,B00011111,B11111111,B11111111,B11000111,B11100011,B11110001,B11110000, + B00011111,B00001111,B11111111,B11111111,B11000111,B11100011,B11110001,B11110000, + B00011111,B00000000,B00000000,B00000111,B11000111,B11100011,B11110001,B11100000, + B00001111,B00000000,B00000000,B00000111,B11000111,B11100011,B11110001,B11100000, + B00001111,B00000000,B00000000,B00000111,B11000111,B11100011,B11110001,B11000000, + B00000111,B00001111,B11111111,B11111111,B11000111,B11100011,B11110001,B11000000, + B00000011,B00011111,B11111111,B11111111,B11000111,B11100011,B11110001,B10000000, + B00000011,B00011111,B11111111,B11111111,B11000111,B11100011,B11110001,B00000000, + B00000001,B00011111,B11111111,B11111111,B11000111,B11100011,B11110000,B00000000, + B00000000,B00011111,B11111111,B11111111,B11000111,B11100011,B11110000,B00000000, + B00000000,B00001111,B11111111,B11111111,B11000011,B11000001,B11100000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11000000,B00000000, + B00000000,B00000011,B11111111,B11111111,B11111111,B11111111,B10000000,B00000000, + B00000000,B00000001,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000, + B00000000,B00000000,B01111111,B11111111,B11111111,B11111100,B00000000,B00000000, + B00000000,B00000000,B00011111,B11111111,B11111111,B11110000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111111,B11111111,B10000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B01111111,B11111000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/README.md b/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/README.md new file mode 100644 index 00000000000..1345949ed93 --- /dev/null +++ b/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/README.md @@ -0,0 +1,89 @@ +## CR-10 Mini with BLTouch + +Configuration for the BigTreeTech SKR E3 Mini V2 in a Creality CR-10 Mini using the stock CR-10 display, and a BL Touch v3.1 ABL probe mounted on a Bullseye fan duct. Additional features are enabled to take advantage of the capabilities of the BTT SKR E3 Mini V2 board, detailed below. + +Compile this in the `STM32F103RC_btt_512K` environment. The test board had 512K of Flash and this configuration uses a little over half of that. If your board has only 256K, you will have to disable some features to make the firmware fit. + +### Configuration.h notes: + +```cpp +#define USE_PROBE_FOR_Z_HOMING +``` +This configuration uses only the probe for Z homing. The Z-stop switch is NOT enabled and can be disconnected. + +```cpp +#define Z_MIN_PROBE_PIN PC14 +``` +Plug the BLTouch Black/White connector into the top two pins of the 5-pin Z-PROBE port with the white whire "up". Do not plug the connector in to the Z-MIN port where the limit switch was plugged in. + +```cpp +#define NOZZLE_TO_PROBE_OFFSET { -38, -8, 0 } +``` +These are the offsets for a left-side mounted BL Touch on a Bullseye fan duct base. Change them as required for your particular BL Touch mount. + +```cpp +#define MULTIPLE_PROBING 2 +``` +Bed probing will test each point twice. 1st probe will be "fast" Z, 2nd will use the slower Z rate. + +```cpp +#define Z_MIN_PROBE_REPEATABILITY_TEST +``` +M48 Enabled to establish probe deviation value. + +```cpp +#define AUTO_BED_LEVELING_BILINEAR +``` +Change this as desired. BILINEAR will work for most printers. + +```cpp +//#define RESTORE_LEVELING_AFTER_G28 +``` +This is disabled to work around an issue where —even with an `M420` command in start G-Code— ABL would toggle to the opposite of whatever the ABL state was (Enabled/Disabled) at the time a print job started. + +```cpp +#define GRID_MAX_POINTS_X 5 +``` +This configuration is set to use a 5x5 (25 point) probing grid. Change as desired. + +```cpp +#define EXTRAPOLATE_BEYOND_GRID +``` +By default, this is disabled. Enabling this seemed to provide better mesh data. + +```cpp +#define LCD_BED_LEVELING +``` +Provides control panel probe controls. + +```cpp +#define LCD_BED_TRAMMING +``` +Provides control panel bed tramming controls. + +```cpp +#define Z_SAFE_HOMING +``` +Ensures the BL Touch probe is not hanging off the edge of the bed when Z homing. + +```cpp +#define CR10_STOCKDISPLAY +``` +If you are using the stock display on your CR-10 Mini, this **MUST** be enabled. + +### Configuration_adv.h notes: + +```cpp +#define LIN_ADVANCE +``` +This is enabled, but the K value is set to 0 which effectively disables LIN_ADVANCE. Calibrate Linear Advance and set your own K value and recompile. + +```cpp +#define ARC_SUPPORT +``` +Enables G2/G3 moves to smooth curves in your prints. Required for the Arc Welder plugin for OctoPrint etc. + +```cpp +#define ARC_P_CIRCLES +``` +Normally disabled by default. diff --git a/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h b/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h new file mode 100644 index 00000000000..9f72450afe8 --- /dev/null +++ b/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h b/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h new file mode 100644 index 00000000000..3d9f7d9f7c5 --- /dev/null +++ b/config/examples/Creality/CR-10 Mini/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 36 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000111,B11001111,B10000000,B00110001,B11100000, + B00001111,B11001111,B11000000,B01110011,B11110000, + B00001100,B00001100,B01000000,B01110011,B00110000, + B00001100,B00001100,B11000000,B00110011,B00110000, + B00001100,B00001111,B11001111,B00110011,B00110000, + B00001100,B00001101,B10001111,B00110011,B00110000, + B00001100,B00001100,B11000000,B00110011,B00110000, + B00001111,B11001100,B11000000,B00110011,B11110000, + B00000111,B11001100,B11000000,B00110001,B11100000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B10000011,B00110000,B00000011,B00000000, + B00000001,B10000011,B00110010,B00000011,B00000000, + B00000001,B11000111,B00000010,B11100000,B00000000, + B00000001,B11000111,B00110011,B11110011,B00000000, + B00000001,B11101111,B00110011,B00110011,B00000000, + B00000001,B10111011,B00110011,B00110011,B00000000, + B00000001,B10010011,B00110011,B00110011,B00000000, + B00000001,B10010011,B00110011,B00110011,B00000000, + B00000001,B10000011,B00110011,B00110011,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 Mini/CrealityV1/_Bootscreen.h b/config/examples/Creality/CR-10 Mini/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10 Mini/CrealityV1/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 Mini/CrealityV1/_Statusscreen.h b/config/examples/Creality/CR-10 Mini/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..5ca57e95826 --- /dev/null +++ b/config/examples/Creality/CR-10 Mini/CrealityV1/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 36 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000111,B11001111,B10000000,B00110001,B11100000, + B00001111,B11001111,B11000000,B01110011,B11110000, + B00001100,B00001100,B01000000,B01110011,B00110000, + B00001100,B00001100,B11000000,B00110011,B00110000, + B00001100,B00001111,B11001111,B00110011,B00110000, + B00001100,B00001101,B10001111,B00110011,B00110000, + B00001100,B00001100,B11000000,B00110011,B00110000, + B00001111,B11001100,B11000000,B00110011,B11110000, + B00000111,B11001100,B11000000,B00110001,B11100000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B10000011,B00110000,B00000011,B00000000, + B00000001,B10000011,B00110010,B00000011,B00000000, + B00000001,B11000111,B00000010,B11100000,B00000000, + B00000001,B11000111,B00110011,B11110011,B00000000, + B00000001,B11101111,B00110011,B00110011,B00000000, + B00000001,B10111011,B00110011,B00110011,B00000000, + B00000001,B10010011,B00110011,B00110011,B00000000, + B00000001,B10010011,B00110011,B00110011,B00000000, + B00000001,B10000011,B00110011,B00110011,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 Mini/MEEB-3DP/_Bootscreen.h b/config/examples/Creality/CR-10 Mini/MEEB-3DP/_Bootscreen.h new file mode 100644 index 00000000000..c3d9f4cd52b --- /dev/null +++ b/config/examples/Creality/CR-10 Mini/MEEB-3DP/_Bootscreen.h @@ -0,0 +1,102 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 112 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00011111,B11111110,B00001111,B11111111,B10000000,B01111111,B11111111,B11110000,B00111111,B11111111,B11111001,B11111111,B11111111,B11100000, + B00011111,B11111111,B00001111,B11111111,B10000000,B11111111,B11111111,B11111000,B01111111,B11111111,B11111001,B11111111,B11111111,B11110000, + B00011111,B11111111,B00001111,B11111111,B10000001,B11111111,B11111111,B11111000,B11111111,B11111111,B11111001,B11111111,B11111111,B11111000, + B00111111,B11111111,B00001111,B11111111,B10000011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111100, + B00111111,B11111111,B00011111,B11111111,B10000011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B00111111,B11111111,B00011111,B11111111,B10000011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B00111111,B11111111,B00011111,B11111111,B10000011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B00111111,B11111111,B00011111,B11111111,B11000011,B11111111,B11111111,B11110011,B11111111,B11111111,B11111001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10011111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10011111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10011111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10111111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B11111111,B11111110, + B00111111,B11111111,B10111111,B11111111,B11000011,B11111111,B11111111,B11000011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111100, + B01111111,B11111111,B10111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111000, + B01111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11110000, + B01111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11100011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111110, + B01111111,B11011111,B11111111,B11111111,B11100011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111110, + B01111111,B11011111,B11111111,B10111111,B11100011,B11111111,B11111111,B11000011,B11111111,B11111111,B11100001,B11111111,B00000001,B11111111, + B01111111,B11011111,B11111111,B10111111,B11100011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B01111111,B11011111,B11111111,B00111111,B11100011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B11111111,B11011111,B11111111,B00111111,B11100011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B11111111,B10011111,B11111111,B00111111,B11100011,B11111111,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B11111111,B10011111,B11111111,B00111111,B11100011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111111, + B11111111,B10001111,B11111111,B00111111,B11100011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111111, + B11111111,B10001111,B11111111,B00111111,B11110011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B11111111,B10001111,B11111111,B00011111,B11110011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B11111111,B10001111,B11111110,B00011111,B11110001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111100, + B11111111,B10001111,B11111110,B00011111,B11110001,B11111111,B11111111,B11111000,B11111111,B11111111,B11111001,B11111111,B11111111,B11111000, + B11111111,B10001111,B11111110,B00011111,B11110000,B11111111,B11111111,B11111000,B01111111,B11111111,B11111001,B11111111,B11111111,B11110000, + B11111111,B00000111,B11111110,B00011111,B11110000,B00111111,B11111111,B11100000,B00011111,B11111111,B11110001,B11111111,B11111111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111111,B11111011,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00111111,B11111111,B11111111,B11111111,B11100000, + B00000000,B00000000,B11111111,B11111111,B11111111,B00000000,B11111011,B11111111,B11111111,B10000000,B00011111,B01111111,B11111111,B11110000, + B00000000,B00000000,B00000111,B11111111,B11111111,B00000000,B00000011,B11111111,B11111111,B11000000,B00000000,B01111111,B11111111,B11111000, + B00000000,B00000000,B00000111,B11111111,B11111111,B10000000,B00000011,B11111111,B11111111,B11100000,B00000000,B01111111,B11111111,B11111000, + B00000011,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111000, + B00000000,B00000000,B11111111,B11111111,B11111111,B00000000,B11111111,B11111111,B11111111,B11110000,B00011111,B11111111,B11111111,B11111100, + B00000000,B00000000,B00000000,B00000000,B11111111,B00000000,B00000111,B11111111,B11111111,B11110000,B00000000,B11111111,B11111111,B11111100, + B00000000,B00000000,B00000000,B00000000,B11111111,B00000000,B00000111,B11111000,B00011111,B11110000,B00000000,B11111111,B00001111,B11111000, + B00000000,B01111111,B11111111,B00000001,B11111111,B11111111,B11110111,B11111000,B00011111,B11111111,B11111110,B11111111,B00001111,B11111000, + B00000000,B00000000,B00011111,B00111111,B11111110,B00000001,B11110111,B11111000,B00011111,B11110000,B00111110,B11111111,B00001111,B11111000, + B00000000,B00000000,B00000000,B11111111,B11111100,B00000000,B00001111,B11111000,B00011111,B11110000,B00000001,B11111111,B00001111,B11111000, + B00000000,B00000000,B00000000,B11111111,B11111000,B00000000,B00001111,B11111000,B00011111,B11110000,B00000001,B11111111,B00001111,B11111000, + B00000000,B01111111,B11111110,B11111111,B11111111,B11111111,B11101111,B11111000,B00111111,B11111111,B11111101,B11111111,B00011111,B11110000, + B00000000,B00000000,B00111110,B11111111,B11111100,B00000011,B11101111,B11110000,B00111111,B11100000,B01111101,B11111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00001111,B11110000,B00111111,B11100000,B00000001,B11111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00001111,B11110000,B00111111,B11100000,B00000001,B11111111,B11111111,B11100000, + B00000000,B11111111,B11111110,B00011111,B11111111,B11111111,B11111111,B11110000,B00111111,B11111111,B11111111,B11111111,B11111111,B11000000, + B00000000,B00000000,B01111100,B00000011,B11111110,B00000011,B11011111,B11110000,B01111111,B11000000,B01111011,B11111111,B11111111,B10000000, + B00000000,B00000000,B00010000,B00000011,B11111110,B00000000,B00011111,B11110000,B01111111,B11000000,B00000011,B11111111,B11111111,B00000000, + B00000000,B00000000,B00011111,B11111111,B11111110,B00000000,B00011111,B11111111,B11111111,B11000000,B00000011,B11111111,B11111100,B00000000, + B00011111,B11111111,B10111111,B11111111,B11111111,B11111111,B11011111,B11111111,B11111111,B11111111,B11111011,B11111100,B00000000,B00000000, + B00000000,B00001111,B10111111,B11111111,B11111100,B00000111,B11111111,B11111111,B11111111,B00000000,B11111011,B11111100,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00111111,B11111111,B11111110,B00000000,B00000111,B11111100,B00000000,B00000000, + B00000000,B00000000,B01111111,B11111111,B11111000,B00000000,B00111111,B11111111,B11111110,B00000000,B00000111,B11111100,B00000000,B00000000, + B01111111,B11111111,B01111111,B11111111,B11111111,B11111111,B10111111,B11111111,B11111111,B11111111,B11110111,B11111100,B00000000,B00000000, + B00000000,B00111111,B01111111,B11111111,B10000000,B00001111,B10111111,B11111111,B11000000,B00000001,B11110111,B11111000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 Mini/MEEB-3DP/_Statusscreen.h b/config/examples/Creality/CR-10 Mini/MEEB-3DP/_Statusscreen.h new file mode 100644 index 00000000000..f28ba41b188 --- /dev/null +++ b/config/examples/Creality/CR-10 Mini/MEEB-3DP/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define STATUS_LOGO_X 0 +#define STATUS_LOGO_Y 0 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11000000,B00110011,B11111011,B11111101,B11111100, + B11100000,B01110111,B11111011,B11111101,B11111110, + B11100000,B01110110,B00000011,B00000001,B10000110, + B11110000,B11110110,B00000011,B00000001,B10000110, + B11110000,B11110110,B00000011,B00000001,B10000110, + B11010000,B10110110,B00000011,B00000001,B10000110, + B11011001,B10110111,B11111011,B11111001,B11111110, + B11011001,B10110110,B00000011,B00000001,B10000110, + B11001111,B00110110,B00000011,B00000001,B10000110, + B11001111,B00110110,B00000011,B00000001,B10000110, + B11001111,B00110110,B00000011,B00000001,B10000110, + B11000110,B00110111,B11111011,B11111101,B11111110, + B11000000,B00110011,B11111001,B11111101,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00001111,B11100001,B11111110,B00001111,B11110000, + B00011111,B11110001,B11111111,B00001111,B11111000, + B00011000,B00110001,B10000001,B10001100,B00011000, + B00000000,B00110001,B10000001,B10001100,B00011000, + B00000000,B00110001,B10000001,B10001100,B00011000, + B00000111,B11100001,B10000001,B10001100,B00011000, + B00000111,B11100001,B10000001,B10001111,B11111000, + B00000000,B00110001,B10000001,B10001111,B11110000, + B00000000,B00110001,B10000001,B10001100,B00000000, + B00000000,B00110001,B10000001,B10001100,B00000000, + B00011000,B00110001,B10000001,B10001100,B00000000, + B00011111,B11110001,B11111111,B00001100,B00000000, + B00001111,B11100001,B11111110,B00001100,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 S4/CrealityV1/_Bootscreen.h b/config/examples/Creality/CR-10 S4/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10 S4/CrealityV1/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 S4/CrealityV1/_Statusscreen.h b/config/examples/Creality/CR-10 S4/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..44a09f121b5 --- /dev/null +++ b/config/examples/Creality/CR-10 S4/CrealityV1/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 22 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111110,B00001111,B11110000, + B11000001,B10000110,B00011000, + B11000001,B10000110,B00001100, + B00000001,B10000110,B00000100, + B00000011,B00000110,B00000100, + B00011111,B00000110,B00000100, + B00000011,B00000110,B00000100, + B00000001,B10000110,B00000100, + B11000001,B10000110,B00001100, + B11000001,B10000110,B00011000, + B00111110,B00001111,B11110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Bootscreen.h b/config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Statusscreen.h b/config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Statusscreen.h new file mode 100644 index 00000000000..44a09f121b5 --- /dev/null +++ b/config/examples/Creality/CR-10 S5/BigTreeTech SKR Mini E3 1.2 with TFT35 E3 V3.0/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 22 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111110,B00001111,B11110000, + B11000001,B10000110,B00011000, + B11000001,B10000110,B00001100, + B00000001,B10000110,B00000100, + B00000011,B00000110,B00000100, + B00011111,B00000110,B00000100, + B00000011,B00000110,B00000100, + B00000001,B10000110,B00000100, + B11000001,B10000110,B00001100, + B11000001,B10000110,B00011000, + B00111110,B00001111,B11110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 S5/CrealityV1/_Bootscreen.h b/config/examples/Creality/CR-10 S5/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10 S5/CrealityV1/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 S5/CrealityV1/_Statusscreen.h b/config/examples/Creality/CR-10 S5/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..44a09f121b5 --- /dev/null +++ b/config/examples/Creality/CR-10 S5/CrealityV1/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 22 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111110,B00001111,B11110000, + B11000001,B10000110,B00011000, + B11000001,B10000110,B00001100, + B00000001,B10000110,B00000100, + B00000011,B00000110,B00000100, + B00011111,B00000110,B00000100, + B00000011,B00000110,B00000100, + B00000001,B10000110,B00000100, + B11000001,B10000110,B00001100, + B11000001,B10000110,B00011000, + B00111110,B00001111,B11110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Bootscreen.h b/config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Bootscreen.h new file mode 100644 index 00000000000..9f72450afe8 --- /dev/null +++ b/config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Statusscreen.h b/config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Statusscreen.h new file mode 100644 index 00000000000..bdf12670ce0 --- /dev/null +++ b/config/examples/Creality/CR-10 S5/CrealityV2.2-BLTouch/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 22 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111110,B00001111,B11110000, + B11000001,B10000110,B00011000, + B11000001,B10000110,B00001100, + B00000001,B10000110,B00000100, + B00000011,B00000110,B00000100, + B00011111,B00000110,B00000100, + B00000011,B00000110,B00000100, + B00000001,B10000110,B00000100, + B11000001,B10000110,B00001100, + B11000001,B10000110,B00011000, + B00111110,B00001111,B11110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 V2/_Bootscreen.h b/config/examples/Creality/CR-10 V2/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10 V2/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 V2/_Statusscreen.h b/config/examples/Creality/CR-10 V2/_Statusscreen.h new file mode 100644 index 00000000000..d848b8a6c45 --- /dev/null +++ b/config/examples/Creality/CR-10 V2/_Statusscreen.h @@ -0,0 +1,68 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define STATUS_LOGO_Y 3 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000000,B11111011,B11110000,B00000000,B00000000, + B00000001,B11011001,B10111000,B11100011,B10000000, + B00000011,B10001001,B10111001,B11100111,B11000000, + B00000011,B10000001,B11110000,B11000110,B11000000, + B00000011,B11000001,B10111000,B11000110,B11000000, + B00000001,B11111011,B10111000,B11100111,B11000000, + B00000000,B11111011,B11011111,B11110011,B10000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B11001110,B00000000,B00000000, + B00000000,B00000001,B11001000,B11110000,B00000000, + B00000000,B00000001,B11011001,B11110000,B00000000, + B00000000,B00000000,B11110000,B01110000,B00000000, + B00000000,B00000000,B11110000,B01100000,B00000000, + B00000000,B00000000,B01100000,B11111000,B00000000, + B00000000,B00000000,B01100001,B11111000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10 V3/_Bootscreen.h b/config/examples/Creality/CR-10 V3/_Bootscreen.h new file mode 100644 index 00000000000..9f72450afe8 --- /dev/null +++ b/config/examples/Creality/CR-10 V3/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10 V3/_Statusscreen.h b/config/examples/Creality/CR-10 V3/_Statusscreen.h new file mode 100644 index 00000000000..0676b313589 --- /dev/null +++ b/config/examples/Creality/CR-10 V3/_Statusscreen.h @@ -0,0 +1,69 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 32 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00011100,B11110000,B00010001,B11000000, + B00100010,B10001000,B00110010,B00100000, + B00100000,B10001000,B00010010,B00100000, + B00100000,B11110011,B10010010,B00100000, + B00100000,B10100000,B00010010,B00100000, + B00100010,B10010000,B00010010,B00100000, + B00011100,B10001000,B00111001,B11000000, + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000000,B01000101,B11110000,B00000000, + B00000000,B01000100,B00100000,B00000000, + B00000000,B01000100,B01000000,B00000000, + B00000000,B01000100,B00100000,B00000000, + B00000000,B01000100,B00010000,B00000000, + B00000000,B00101001,B00010000,B00000000, + B00000000,B00010000,B11100000,B00000000, +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h b/config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h b/config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h new file mode 100644 index 00000000000..44a09f121b5 --- /dev/null +++ b/config/examples/Creality/CR-10/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 22 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111110,B00001111,B11110000, + B11000001,B10000110,B00011000, + B11000001,B10000110,B00001100, + B00000001,B10000110,B00000100, + B00000011,B00000110,B00000100, + B00011111,B00000110,B00000100, + B00000011,B00000110,B00000100, + B00000001,B10000110,B00000100, + B11000001,B10000110,B00001100, + B11000001,B10000110,B00011000, + B00111110,B00001111,B11110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10/CrealityV1/_Bootscreen.h b/config/examples/Creality/CR-10/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10/CrealityV1/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10/CrealityV1/_Statusscreen.h b/config/examples/Creality/CR-10/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..44a09f121b5 --- /dev/null +++ b/config/examples/Creality/CR-10/CrealityV1/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_X 8 +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 22 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111110,B00001111,B11110000, + B11000001,B10000110,B00011000, + B11000001,B10000110,B00001100, + B00000001,B10000110,B00000100, + B00000011,B00000110,B00000100, + B00011111,B00000110,B00000100, + B00000011,B00000110,B00000100, + B00000001,B10000110,B00000100, + B11000001,B10000110,B00001100, + B11000001,B10000110,B00011000, + B00111110,B00001111,B11110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Bootscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Statusscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Statusscreen.h new file mode 100644 index 00000000000..128d1324336 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR 1.4 Turbo TMC2209/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 1 +#define STATUS_LOGO_WIDTH 36 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111101,B11110000,B00000010,B00111000,B11110000, + B01000100,B10001000,B00000110,B01000101,B00010000, + B10000000,B10001000,B00000010,B01000101,B00000000, + B10000000,B11110000,B00000010,B01000100,B10000000, + B10000000,B10100011,B11110010,B01000100,B01100000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B01000100,B10001000,B00000010,B01000101,B00010000, + B00111001,B11001100,B00000111,B00111001,B11100000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00011000,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/README.md b/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/README.md new file mode 100644 index 00000000000..9c4125d4adc --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/README.md @@ -0,0 +1,5 @@ +# Configuration Notes + +This configuration is for the Creality CR-10S with a BigTreeTech SKR 2.0 board, TMC2209 stepper drivers, CR-Touch probe, and the Microswiss All-Metal Hotend. + +Edit and tune this configuration if you have the stock hotend, no probe, a different probe, etc. diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Bootscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Bootscreen.h new file mode 100644 index 00000000000..d6d32fac381 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Statusscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Statusscreen.h new file mode 100644 index 00000000000..95b763a0450 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR 2.0 TMC2209/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 1 +#define STATUS_LOGO_WIDTH 36 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111101,B11110000,B00000010,B00111000,B11110000, + B01000100,B10001000,B00000110,B01000101,B00010000, + B10000000,B10001000,B00000010,B01000101,B00000000, + B10000000,B11110000,B00000010,B01000100,B10000000, + B10000000,B10100011,B11110010,B01000100,B01100000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B01000100,B10001000,B00000010,B01000101,B00010000, + B00111001,B11001100,B00000111,B00111001,B11100000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00011000,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h new file mode 100644 index 00000000000..128d1324336 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 1 +#define STATUS_LOGO_WIDTH 36 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111101,B11110000,B00000010,B00111000,B11110000, + B01000100,B10001000,B00000110,B01000101,B00010000, + B10000000,B10001000,B00000010,B01000101,B00000000, + B10000000,B11110000,B00000010,B01000100,B10000000, + B10000000,B10100011,B11110010,B01000100,B01100000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B01000100,B10001000,B00000010,B01000101,B00010000, + B00111001,B11001100,B00000111,B00111001,B11100000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00011000,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/README.md b/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/README.md new file mode 100644 index 00000000000..27defb882e5 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/README.md @@ -0,0 +1,6 @@ +## CR-10S with SKR Pro V1.2 + +With support for: + - TMC2209 Stepper Drivers + - BLTouch Probe + - Advanced Pause (`M600`) and Nozzle Park (`G27`) with Filament Change diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Bootscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Bootscreen.h new file mode 100644 index 00000000000..16ce89f70fd --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Bootscreen.h @@ -0,0 +1,78 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * http://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 112 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000001,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B00000000,B00000000, + B00000000,B00000000,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11111111,B11000000,B00000000, + B00000000,B00000011,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B11110000,B00000000, + B00000000,B00001111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B11111100,B00000000, + B00000000,B00011111,B11111111,B11111111,B11111001,B11111111,B11111111,B11111111,B11111000,B00001111,B11111111,B11111111,B11111110,B00000000, + B00000000,B00111111,B11111111,B11111111,B11111101,B11111111,B11111111,B11111111,B11111110,B00011111,B11111111,B11111111,B11111111,B00000000, + B00000000,B01111111,B11111000,B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B00011111,B11111110,B00000111,B11111111,B10000000, + B00000000,B01111111,B11100000,B00000011,B11111110,B11111111,B11111111,B11111111,B11111111,B00111111,B11110000,B00000001,B11111111,B10000000, + B00000000,B11111111,B10000000,B00000000,B11111110,B01111111,B11111111,B11111111,B11111111,B11111111,B11000000,B00000000,B01111111,B11000000, + B00000001,B11111111,B00000000,B00000000,B01111110,B00111111,B11111111,B11111111,B11111111,B00111111,B10000000,B00000000,B00111111,B11100000, + B00000001,B11111110,B00000000,B00000000,B00111110,B00111111,B11111111,B11111111,B11111111,B00111111,B00000000,B00000000,B00011111,B11100000, + B00000011,B11111100,B00000000,B00000000,B00011111,B11000000,B00000000,B00000000,B01111110,B00111110,B00000000,B00000000,B00001111,B11110000, + B00000011,B11111000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00111110,B00111100,B00000000,B00000000,B00000111,B11110000, + B00000011,B11111000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00111110,B00111100,B00000000,B00000000,B00000111,B11110000, + B00000111,B11110000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00111100,B00111000,B00000000,B00000000,B00000011,B11111000, + B00000111,B11110000,B00000000,B00000000,B00000111,B11110000,B00000000,B00000000,B01111100,B00111000,B00000000,B00000000,B00000011,B11111000, + B00000111,B11110000,B00000000,B00000000,B00000111,B11110111,B11111111,B11111111,B11111100,B00111000,B00000000,B00000000,B00000011,B11111000, + B00000111,B11100000,B00000000,B00000000,B00000111,B11110011,B11111111,B11111111,B11111100,B00111000,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00000111,B11110001,B11111111,B11111111,B11111100,B01111000,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00000111,B11110000,B11111111,B11111111,B11111100,B01111000,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00000111,B11110000,B11111111,B11111111,B11111100,B01111000,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00000111,B11110000,B01111111,B11111111,B11111100,B00111000,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00000111,B11110000,B00111111,B11111111,B11111100,B00111000,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B01111100,B00111000,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00111110,B00111100,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00111110,B00111100,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00011111,B11000000,B00000000,B00000000,B00111110,B00111110,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B00111111,B11000000,B00000000,B00000000,B01111111,B00111111,B00000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B01111110,B00111111,B11111111,B11111111,B11111111,B00111111,B10000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000000,B11111110,B01111111,B11111111,B11111111,B11111111,B11111111,B11000000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00000011,B11111110,B01111111,B11111111,B11111111,B11111111,B10111111,B11110000,B00000000,B00000001,B11111000, + B00000111,B11100000,B00000000,B00001111,B11111111,B11111111,B11111111,B11111111,B11111111,B10111111,B11111100,B00000000,B00000001,B11111000, + B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00011111,B11111111,B11111111,B11111111,B11111000, + B00000111,B11111111,B11111111,B11111111,B11111101,B11111111,B11111111,B11111111,B11111110,B00001111,B11111111,B11111111,B11111111,B11111000, + B00000111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111000,B00000011,B11111111,B11111111,B11111111,B11111000, + B00000111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B11111111,B11111000, + B00000111,B11111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000, + B00000111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111111,B11111000, + B00000111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B11111000 +}; diff --git a/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Statusscreen.h b/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Statusscreen.h new file mode 100644 index 00000000000..b6613d6dc97 --- /dev/null +++ b/config/examples/Creality/CR-10S/BigTreeTech SKR Pro v1.2/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * http://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 1 +#define STATUS_LOGO_WIDTH 36 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111101,B11110000,B00000010,B00111000,B11110000, + B01000100,B10001000,B00000110,B01000101,B00010000, + B10000000,B10001000,B00000010,B01000101,B00000000, + B10000000,B11110000,B00000010,B01000100,B10000000, + B10000000,B10100011,B11110010,B01000100,B01100000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B01000100,B10001000,B00000010,B01000101,B00010000, + B00111001,B11001100,B00000111,B00111001,B11100000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00011000,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-10S/CrealityV1/_Bootscreen.h b/config/examples/Creality/CR-10S/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..6d0bf681715 --- /dev/null +++ b/config/examples/Creality/CR-10S/CrealityV1/_Bootscreen.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00001111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B10000110,B00011111,B11000000, + B00011000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B01100000, + B00010000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00111100,B00001100,B00000000,B00000000,B00000001,B10000011,B00001100,B00110000, + B00110000,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00001100,B00000000,B00000000,B00000000,B00000011,B00001100,B00011000, + B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100000,B00000000,B00111111,B00001111,B00111100,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000001,B11011111,B00001111,B11100000,B11111110,B00000000,B01100000,B00011100,B00011100,B00000110,B00011000,B00000000,B00000110,B00001100,B00001100, + B01100000,B00000000,B11110011,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00011000,B00000000,B00011110,B00001100,B00001100, + B01100000,B00000000,B11100000,B00110000,B00111001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000011,B00001100,B00001100, + B01100000,B00000000,B11000000,B00110000,B00111000,B00001111,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00000000,B11000000,B00111111,B11111000,B11111011,B00000000,B01100000,B00001100,B00001100,B00000011,B00110000,B00000000,B00000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000001,B11110000,B00000001,B10000001,B10001100,B00001100, + B01100000,B00110000,B11000000,B00110000,B00000001,B10000011,B00000000,B01100000,B00001100,B00001100,B00000000,B11100000,B00000001,B10000001,B10001100,B00011000, + B00110000,B00110000,B11000000,B00011000,B00110001,B10000011,B00000000,B01100000,B00001100,B00001100,B01000000,B11100000,B00000001,B10000011,B10001100,B00110000, + B00011000,B01100000,B11000000,B00001100,B01100001,B10000111,B11000000,B11100000,B00011100,B00001100,B11000000,B01100000,B00000000,B11000011,B00001100,B01100000, + B00001111,B11000011,B11110000,B00000111,B11000000,B11111111,B11000111,B11111100,B01111111,B00000111,B10000001,B11000000,B00000000,B01111110,B00011111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/CR-10S/CrealityV1/_Statusscreen.h b/config/examples/Creality/CR-10S/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..128d1324336 --- /dev/null +++ b/config/examples/Creality/CR-10S/CrealityV1/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 1 +#define STATUS_LOGO_WIDTH 36 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00111101,B11110000,B00000010,B00111000,B11110000, + B01000100,B10001000,B00000110,B01000101,B00010000, + B10000000,B10001000,B00000010,B01000101,B00000000, + B10000000,B11110000,B00000010,B01000100,B10000000, + B10000000,B10100011,B11110010,B01000100,B01100000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B10000000,B10010000,B00000010,B01000100,B00010000, + B01000100,B10001000,B00000010,B01000101,B00010000, + B00111001,B11001100,B00000111,B00111001,B11100000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00011000,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B00000100,B10001001,B00010000,B00000000, + B00000000,B01000100,B10001001,B00010000,B00000000, + B00000000,B00111000,B01110000,B11100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-20 Pro/_Statusscreen.h b/config/examples/Creality/CR-20 Pro/_Statusscreen.h new file mode 100644 index 00000000000..54abd717f0d --- /dev/null +++ b/config/examples/Creality/CR-20 Pro/_Statusscreen.h @@ -0,0 +1,72 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_WIDTH 32 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00001111,B01111100,B00111000,B01110000, + B00010001,B00100010,B01000100,B10001000, + B00100000,B00100010,B01000100,B10001000, + B00100000,B00111100,B00000100,B10001000, + B00100000,B00101000,B00001000,B10001000, + B00100000,B00100100,B00010000,B10001000, + B00100000,B00100100,B00100000,B10001000, + B00010001,B00100010,B01000000,B10001000, + B00001110,B01110011,B01111100,B01110000, + B00000000,B00000000,B00000000,B00000000, + B00000111,B11000000,B00000000,B00000000, + B00000010,B00100000,B00000000,B00000000, + B00000010,B00100000,B00000000,B00000000, + B00000010,B00100110,B11000111,B00000000, + B00000011,B11000011,B00001000,B10000000, + B00000010,B00000010,B00001000,B10000000, + B00000010,B00000010,B00001000,B10000000, + B00000010,B00000010,B00001000,B10000000, + B00000111,B00000111,B10000111,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/CR-30 PrintMill/_Bootscreen.h b/config/examples/Creality/CR-30 PrintMill/_Bootscreen.h new file mode 100644 index 00000000000..e8bdd049fea --- /dev/null +++ b/config/examples/Creality/CR-30 PrintMill/_Bootscreen.h @@ -0,0 +1,750 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Animated boot screen example + */ + +#define CUSTOM_BOOTSCREEN_BOTTOM_JUSTIFY +#define CUSTOM_BOOTSCREEN_ANIMATED + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000001,B11111100,B00111111,B10000111,B11111100,B11111111,B10011011,B00000011,B11111111,B11001110,B01110011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111110,B00111111,B11000111,B11111110,B11111111,B11011011,B10000011,B11111111,B11011111,B11111011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000111,B00110001,B11100110,B00000110,B11000000,B11011011,B11000011,B00001100,B00011111,B11111011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000011,B10110000,B01110110,B01111110,B11001111,B11011011,B11100011,B00001100,B00011101,B10111011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111111,B10110000,B00110110,B11111100,B11011111,B10011011,B01110011,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111111,B10110000,B00110110,B00000000,B11011100,B00011011,B00111011,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000011,B10110000,B01110110,B00000000,B11001110,B00011011,B00011111,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000111,B00110001,B11100110,B00000000,B11000111,B00011011,B00001111,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111110,B00111111,B11000110,B00000000,B11000011,B10011011,B00000111,B00001100,B00011001,B10011011,B01111111,B01111111,B00000000,B00000000, + B00000000,B00000001,B11111100,B00111111,B10000110,B00000000,B11000001,B11011011,B00000011,B00001100,B00011001,B10011011,B01111111,B01111111,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00011111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B10000000,B11111000, + B00011111,B10000011,B11110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001111,B11000001,B11111000, + B00111001,B11000111,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B11100011,B10011100, + B00111000,B11000110,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011100,B01100011,B00011100, + B00110000,B00111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011100,B00001100, + B00111000,B11000110,B00111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B01100011,B00011100, + B00111001,B11000111,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B11100011,B10011100, + B00011111,B10000011,B11110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001111,B11000001,B11111000, + B00011111,B00000001,B11110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001111,B10000000,B11111000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B11000000, + B00000000,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B00000000 +}; + +#if DISABLED(CUSTOM_BOOTSCREEN_ANIMATED) + + #define CUSTOM_BOOTSCREEN_FRAME_TIME 500 // (ms) + +#else + + const unsigned char custom_start_bmp1[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00011111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B10000000,B11111000, + B00011111,B10000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11000001,B11111000, + B00111001,B11000111,B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011100,B11100011,B10011100, + B00111000,B11000110,B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011100,B01100011,B00011100, + B00110000,B00111000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011000,B00011100,B00001100, + B00111000,B11000110,B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011100,B01100011,B00011100, + B00111001,B11000111,B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011100,B11100011,B10011100, + B00011111,B10000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11000001,B11111000, + B00011111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B10000000,B11111000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp2[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00011111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B10000000,B11111000, + B00011111,B10000011,B11110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001111,B11000001,B11111000, + B00111001,B11000111,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B11100011,B10011100, + B00111000,B11000110,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011100,B01100011,B00011100, + B00110000,B00111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011100,B00001100, + B00111000,B11000110,B00111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B01100011,B00011100, + B00111001,B11000111,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B11100011,B10011100, + B00011111,B10000011,B11110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001111,B11000001,B11111000, + B00011111,B00000001,B11110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001111,B10000000,B11111000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp3[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B10010000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B00011000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111110,B00011100,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000011,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000001,B11110000, + B00011100,B00000111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00000011,B10111000, + B00011110,B00000110,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001111,B00000011,B00111000, + B00111111,B00001100,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011111,B10000110,B00011100, + B00111011,B10001000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011101,B11000100,B00011100, + B00110000,B11111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011000,B01111100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B00011100,B00001100, + B00110000,B00111110,B00011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011111,B00001100, + B00111000,B00100011,B10111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00010001,B11011100, + B00111000,B01100001,B11111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00110000,B11111100, + B00011100,B11000000,B11110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B01100000,B01111000, + B00011101,B11000000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B11100000,B00111000, + B00001111,B10000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B11000000, + B00000000,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp4[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11000011,B11111000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100011,B11111100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110011,B00011110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111011,B00000111,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111011,B00000011,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111011,B00000011,B01000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111011,B00000111,B01100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110011,B00011110,B01100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100011,B11111100,B01100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11000011,B11111000,B01100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00001101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000110,B11110000, + B00011100,B00011100,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00001110,B00111000, + B00011100,B00011000,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001110,B00001100,B00111000, + B00111000,B00011100,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B00001110,B00011100, + B00111110,B10010000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011111,B01001000,B00011100, + B00110111,B10111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011011,B11011100,B00001100, + B00110001,B01111111,B10011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B10111111,B11001100, + B00110000,B00111011,B11011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011101,B11101100, + B00111000,B00010010,B11111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00001001,B01111100, + B00111000,B01100000,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00110000,B00011100, + B00011100,B00110000,B01110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B00011000,B00111000, + B00011100,B01100000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B00110000,B00111000, + B00001111,B01100001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10110000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11110101,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11000000, + B00000000,B11111111,B11110101,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp5[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100,B00111111,B10000111,B11111000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111110,B00111111,B11000111,B11111100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00110001,B11100110,B00000110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B10110000,B01110110,B01111110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B10110000,B00110110,B11111100,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B10110000,B00110110,B00000000,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B10110000,B01110110,B00000000,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00110001,B11100110,B00000000,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111110,B00111111,B11000110,B00000000,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111100,B00111111,B10000110,B00000000,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B11000000, + B00001111,B11110111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111011,B11110000, + B00001111,B00111001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10011100,B11110000, + B00011100,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00011100,B00111000, + B00011100,B00111000,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001110,B00011100,B00111000, + B00111000,B00110000,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B00011000,B00011100, + B00111000,B00100000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011100,B00010000,B00011100, + B00110111,B00111111,B11111001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011011,B10011111,B11111100, + B00111111,B10111011,B11111001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011111,B11011101,B11111100, + B00111111,B11111001,B11011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011111,B11111100,B11101100, + B00111000,B00001000,B00111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00000100,B00011100, + B00111000,B00011000,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00001100,B00011100, + B00011100,B00111000,B01110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B00011100,B00111000, + B00011100,B00111000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B00011100,B00111000, + B00001111,B00111001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10011100,B11110000, + B00001111,B11011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11101111,B11110000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp6[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100001,B11111100,B00111111,B11100111,B11111000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11110001,B11111110,B00111111,B11110111,B11111100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B10001111,B00110000,B00110110,B00000110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011101,B10000011,B10110011,B11110110,B01111110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111101,B10000001,B10110111,B11100110,B11111100,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111101,B10000001,B10110000,B00000110,B11100000,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011101,B10000011,B10110000,B00000110,B01110000,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B10001111,B00110000,B00000110,B00111000,B11010000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11110001,B11111110,B00110000,B00000110,B00011100,B11011000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100001,B11111100,B00110000,B00000110,B00001110,B11011000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00001101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000110,B11110000, + B00011100,B00001100,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00000110,B00111000, + B00011100,B00011000,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001110,B00001100,B00111000, + B00111000,B00001100,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B00000110,B00011100, + B00111110,B10010000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011111,B01001000,B00011100, + B00110111,B10111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011011,B11011100,B00001100, + B00110011,B11111101,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011001,B11111110,B10001100, + B00110000,B00111011,B11011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011101,B11101100, + B00111000,B00010010,B11111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00001001,B01111100, + B00111000,B01110000,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00111000,B00011100, + B00011100,B00110000,B01110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B00011000,B00111000, + B00011100,B01110000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B00111000,B00111000, + B00001111,B01100001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10110000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B11000000, + B00000000,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp7[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100001,B11111100,B00111111,B11100111,B11111100,B11011000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11110001,B11111110,B00111111,B11110111,B11111110,B11011100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B10001111,B00110000,B00110110,B00000110,B11011110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011101,B10000011,B10110011,B11110110,B01111110,B11011111,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111101,B10000001,B10110111,B11100110,B11111100,B11011011,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111101,B10000001,B10110000,B00000110,B11100000,B11011001,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011101,B10000011,B10110000,B00000110,B01110000,B11011000,B11100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B10001111,B00110000,B00000110,B00111000,B11011000,B01110000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11110001,B11111110,B00110000,B00000110,B00011100,B11011000,B00111000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100001,B11111100,B00110000,B00000110,B00001110,B11011000,B00011000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000011,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000001,B11110000, + B00011100,B00000111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00000011,B10111000, + B00011110,B00000110,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001111,B00000011,B00111000, + B00111111,B00001100,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011111,B10000110,B00011100, + B00111011,B10001000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011101,B11000100,B00011100, + B00110000,B11111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011000,B01111100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B00011100,B00001100, + B00110000,B00111110,B00011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011111,B00001100, + B00111000,B00100011,B10111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00010001,B11011100, + B00111000,B01100001,B11111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00110000,B11111100, + B00011100,B11000000,B11110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B01100000,B01111000, + B00011101,B11000000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B11100000,B00111000, + B00001111,B10000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11110101,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11000000, + B00000000,B11111111,B11110101,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp8[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B10000111,B11110000,B11111111,B10011111,B11110011,B01100000,B01111000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11000111,B11111000,B11111111,B11011111,B11111011,B01110000,B01111100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100110,B00111100,B11000000,B11011000,B00011011,B01111000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110110,B00001110,B11001111,B11011001,B11111011,B01111100,B01100001,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110110,B00000110,B11011111,B10011011,B11110011,B01101110,B01100001,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110110,B00000110,B11000000,B00011011,B10000011,B01100111,B01100001,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110110,B00001110,B11000000,B00011001,B11000011,B01100011,B11100001,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100110,B00111100,B11000000,B00011000,B11100011,B01100001,B11100001,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11000111,B11111000,B11000000,B00011000,B01110011,B01100000,B11100001,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B10000111,B11110000,B11000000,B00011000,B00111011,B01100000,B01100001,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00011111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B10000000,B11111000, + B00011111,B10000011,B11110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001111,B11000001,B11111000, + B00111001,B11000111,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B11100011,B10011100, + B00111000,B11000110,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011100,B01100011,B00011100, + B00110000,B00111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B00011100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011100,B00001100, + B00111000,B11000110,B00111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B01100011,B00011100, + B00111001,B11000111,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B11100011,B10011100, + B00011111,B10000011,B11110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001111,B11000001,B11111000, + B00011111,B00000001,B11110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001111,B10000000,B11111000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp9[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11111110,B00011111,B11000011,B11111110,B01111111,B11001101,B10000001,B11111111,B11100000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B00011111,B11100011,B11111111,B01111111,B11101101,B11000001,B11111111,B11101100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B10011000,B11110011,B00000011,B01100000,B01101101,B11100001,B10000110,B00001110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11011000,B00111011,B00111111,B01100111,B11101101,B11110001,B10000110,B00001110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11011000,B00011011,B01111110,B01101111,B11001101,B10111001,B10000110,B00001100,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11011000,B00011011,B00000000,B01101110,B00001101,B10011101,B10000110,B00001100,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11011000,B00111011,B00000000,B01100111,B00001101,B10001111,B10000110,B00001100,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B10011000,B11110011,B00000000,B01100011,B10001101,B10000111,B10000110,B00001100,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B00011111,B11100011,B00000000,B01100001,B11001101,B10000011,B10000110,B00001100,B11001000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11111110,B00011111,B11000011,B00000000,B01100000,B11101101,B10000001,B10000110,B00001100,B11001100,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000011,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000001,B11110000, + B00011100,B00000111,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00000011,B10111000, + B00011110,B00000110,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001111,B00000011,B00111000, + B00111111,B00001100,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011111,B10000110,B00011100, + B00111011,B10001000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011101,B11000100,B00011100, + B00110000,B11111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011000,B01111100,B00001100, + B00110000,B00111000,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B00011100,B00001100, + B00110000,B00111110,B00011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011111,B00001100, + B00111000,B00100011,B10111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00010001,B11011100, + B00111000,B01100001,B11111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00110000,B11111100, + B00011100,B11000000,B11110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B01100000,B01111000, + B00011101,B11000000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B11100000,B00111000, + B00001111,B10000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B11000000, + B00000000,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp10[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00111111,B10000111,B11110000,B11111111,B10011111,B11110011,B01100000,B01111111,B11111001,B11001000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00111111,B11000111,B11111000,B11111111,B11011111,B11111011,B01110000,B01111111,B11111011,B11111100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11100110,B00111100,B11000000,B11011000,B00011011,B01111000,B01100001,B10000011,B11111110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B01110110,B00001110,B11001111,B11011001,B11111011,B01111100,B01100001,B10000011,B10110111,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00111111,B11110110,B00000110,B11011111,B10011011,B11110011,B01101110,B01100001,B10000011,B00110011,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00111111,B11110110,B00000110,B11000000,B00011011,B10000011,B01100111,B01100001,B10000011,B00110011,B01000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B01110110,B00001110,B11000000,B00011001,B11000011,B01100011,B11100001,B10000011,B00110011,B01100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11100110,B00111100,B11000000,B00011000,B11100011,B01100001,B11100001,B10000011,B00110011,B01100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00111111,B11000111,B11111000,B11000000,B00011000,B01110011,B01100000,B11100001,B10000011,B00110011,B01101000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00111111,B10000111,B11110000,B11000000,B00011000,B00111011,B01100000,B01100001,B10000011,B00110011,B01101100,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11010111,B11111111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00001101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000110,B11110000, + B00011100,B00011100,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00001110,B00111000, + B00011100,B00011000,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001110,B00001100,B00111000, + B00111000,B00011100,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B00001110,B00011100, + B00111110,B10010000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011111,B01001000,B00011100, + B00110111,B10111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011011,B11011100,B00001100, + B00110001,B01111111,B10011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011000,B10111111,B11001100, + B00110000,B00111011,B11011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011101,B11101100, + B00111000,B00010010,B11111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00001001,B01111100, + B00111000,B01100000,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00110000,B00011100, + B00011100,B00110000,B01110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B00011000,B00111000, + B00011100,B01100000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B00110000,B00111000, + B00001111,B01100001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10110000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11110101,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11000000, + B00000000,B11111111,B11110101,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp11[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11111000,B01111111,B00001111,B11111001,B11111111,B00110110,B00000111,B11111111,B10011100,B11100000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11111100,B01111111,B10001111,B11111101,B11111111,B10110111,B00000111,B11111111,B10111111,B11110100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00001110,B01100011,B11001100,B00001101,B10000001,B10110111,B10000110,B00011000,B00111111,B11110110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000111,B01100000,B11101100,B11111101,B10011111,B10110111,B11000110,B00011000,B00111011,B01110110,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11111111,B01100000,B01101101,B11111001,B10111111,B00110110,B11100110,B00011000,B00110011,B00110110,B10000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11111111,B01100000,B01101100,B00000001,B10111000,B00110110,B01110110,B00011000,B00110011,B00110110,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000111,B01100000,B11101100,B00000001,B10011100,B00110110,B00111110,B00011000,B00110011,B00110110,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00001110,B01100011,B11001100,B00000001,B10001110,B00110110,B00011110,B00011000,B00110011,B00110110,B11000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11111100,B01111111,B10001100,B00000001,B10000111,B00110110,B00001110,B00011000,B00110011,B00110110,B11111000,B00000000, + B00000000,B00000000,B00000000,B00000011,B11111000,B01111111,B00001100,B00000001,B10000011,B10110110,B00000110,B00011000,B00110011,B00110110,B11111100,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B00000000, + B00000011,B11111111,B11111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111101,B01111111,B11111111,B11111111,B11000000, + B00001111,B11110111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111011,B11110000, + B00001111,B00111001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10011100,B11110000, + B00011100,B00111000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00011100,B00111000, + B00011100,B00111000,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001110,B00011100,B00111000, + B00111000,B00110000,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B00011000,B00011100, + B00111000,B00100000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011100,B00010000,B00011100, + B00110111,B00111111,B11111001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011011,B10011111,B11111100, + B00111111,B10111011,B11111001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011111,B11011101,B11111100, + B00111111,B11111001,B11011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011111,B11111100,B11101100, + B00111000,B00001000,B00111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00000100,B00011100, + B00111000,B00011000,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00001100,B00011100, + B00011100,B00111000,B01110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B00011100,B00111000, + B00011100,B00111000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B00011100,B00111000, + B00001111,B00111001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10011100,B11110000, + B00001111,B11011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11101111,B11110000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp12[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000001,B11111100,B00111111,B10000111,B11111100,B11111111,B10011011,B00000011,B11111111,B11001110,B01110011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111110,B00111111,B11000111,B11111110,B11111111,B11011011,B10000011,B11111111,B11011111,B11111011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000111,B00110001,B11100110,B00000110,B11000000,B11011011,B11000011,B00001100,B00011111,B11111011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000011,B10110000,B01110110,B01111110,B11001111,B11011011,B11100011,B00001100,B00011101,B10111011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111111,B10110000,B00110110,B11111100,B11011111,B10011011,B01110011,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111111,B10110000,B00110110,B00000000,B11011100,B00011011,B00111011,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000011,B10110000,B01110110,B00000000,B11001110,B00011011,B00011111,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000000,B00000111,B00110001,B11100110,B00000000,B11000111,B00011011,B00001111,B00001100,B00011001,B10011011,B01100000,B01100000,B00000000,B00000000, + B00000000,B00000001,B11111110,B00111111,B11000110,B00000000,B11000011,B10011011,B00000111,B00001100,B00011001,B10011011,B01111111,B01111111,B00000000,B00000000, + B00000000,B00000001,B11111100,B00111111,B10000110,B00000000,B11000001,B11011011,B00000011,B00001100,B00011001,B10011011,B01111111,B01111111,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00001101,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000110,B11110000, + B00011100,B00001100,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110,B00000110,B00111000, + B00011100,B00011000,B01110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001110,B00001100,B00111000, + B00111000,B00001100,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B00000110,B00011100, + B00111110,B10010000,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011111,B01001000,B00011100, + B00110111,B10111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011011,B11011100,B00001100, + B00110011,B11111101,B00011001,B10000000,B00011011,B11111101,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B01111000,B00011001,B11111110,B10001100, + B00110000,B00111011,B11011001,B10000000,B00011001,B11111001,B11111111,B11000011,B00011000,B01100000,B00110000,B01100000,B00110000,B00011000,B00011101,B11101100, + B00111000,B00010010,B11111001,B11000000,B00011000,B11100001,B11000000,B00000110,B00001100,B01100000,B00110000,B01100000,B00110000,B00011100,B00001001,B01111100, + B00111000,B01110000,B00111000,B11110000,B00011000,B01110000,B11100000,B00001100,B00000110,B01100000,B00110000,B01100000,B00110000,B00011100,B00111000,B00011100, + B00011100,B00110000,B01110000,B01111111,B11011000,B00111000,B01111111,B11001100,B11111110,B01111111,B10110000,B01100000,B00110000,B00001110,B00011000,B00111000, + B00011100,B01110000,B01110000,B00111111,B11011000,B00011100,B00111111,B11011001,B11111111,B01111111,B10110000,B01100000,B00110000,B00001110,B00111000,B00111000, + B00001111,B01100001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10110000,B11110000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00000011,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B11000000, + B00000000,B11111111,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11111111,B00000000 + }; + + const unsigned char custom_start_bmp14[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00011111,B11000001,B11111100,B00011111,B11110001,B11111111,B00011011,B00000001,B11111111,B11110011,B10011110,B01101100,B00000110,B00000000,B00000000, + B00000000,B00011111,B11100001,B11111110,B00011111,B11111001,B11111111,B10011011,B10000001,B11111111,B11110111,B11111111,B01101100,B00000110,B00000000,B00000000, + B00000000,B00000000,B01110001,B10001111,B00011000,B00011001,B10000001,B10011011,B11000001,B10000110,B00000111,B11111111,B01101100,B00000110,B00000000,B00000000, + B00000000,B00000000,B00111001,B10000011,B10011001,B11111001,B10011111,B10011011,B11100001,B10000110,B00000111,B01101111,B01101100,B00000110,B00000000,B00000000, + B00000000,B00011111,B11111001,B10000001,B10011011,B11110001,B10111111,B00011011,B01110001,B10000110,B00000110,B01100011,B01101100,B00000110,B00000000,B00000000, + B00000000,B00011111,B11111001,B10000001,B10011000,B00000001,B10111000,B00011011,B00111001,B10000110,B00000110,B01100011,B01101100,B00000110,B00000000,B00000000, + B00000000,B00000000,B00111001,B10000001,B10011000,B00000001,B10011100,B00011011,B00011101,B10000110,B00000110,B01100011,B01101100,B00000110,B00000000,B00000000, + B00000000,B00000000,B01110001,B10000011,B10011000,B00000001,B10001110,B00011011,B00001111,B10000110,B00000110,B01100011,B01101100,B00000110,B00000000,B00000000, + B00000000,B00000000,B01110001,B10001111,B00011000,B00000001,B10001110,B00011011,B00000111,B10000110,B00000110,B01100011,B01101100,B00000110,B00000000,B00000000, + B00000000,B00011111,B11100001,B11111110,B00011000,B00000001,B10000111,B00011011,B00000011,B10000110,B00000110,B01100011,B01101111,B11110111,B11110000,B00000000, + B00000000,B00011111,B11000001,B11111100,B00011000,B00000001,B10000011,B10011011,B00000001,B10000110,B00000110,B01100011,B01101111,B11110111,B11110000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B00000000, + B00000011,B11111111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B01011111,B11111111,B11000000, + B00001111,B11000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100011,B11110000, + B00001111,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B10000000,B11110000, + B00011111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B10000000,B11111000, + B00011111,B10000011,B11110000,B00111111,B11011111,B11111000,B00111111,B11000000,B01000000,B01100000,B00110111,B11111111,B00000011,B10001111,B11000001,B11111000, + B00111001,B11000111,B00111000,B01111111,B11011111,B11111100,B01111111,B11000000,B11100000,B01100000,B00110111,B11111111,B10000111,B00011100,B11100011,B10011100, + B00111000,B11000110,B00111000,B11110000,B00011000,B00001100,B11100000,B00000000,B11100000,B01100000,B00110000,B01100001,B11001110,B00011100,B01100011,B00011100, + B00110000,B00111000,B00011001,B11000000,B00011000,B00001101,B11000000,B00000001,B10110000,B01100000,B00110000,B01100000,B11111100,B00011000,B00011100,B00001100 + }; + + const unsigned char custom_start_bmp15[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111000,B00111111,B11100001,B11111111,B11000111,B11111111,B00110011,B00000001,B11111111,B11111100,B11110011,B11001110,B11000000,B00110000,B00000000, + B00000111,B11111100,B00111111,B11110001,B11111111,B11110111,B11111111,B10110011,B10000001,B11111111,B11111101,B11111111,B11101110,B11000000,B00110000,B00000000, + B00000000,B00001111,B00111000,B11111001,B11000000,B01110110,B00000011,B10110011,B11000001,B11000001,B10000001,B11111111,B11101110,B11000000,B00110000,B00000000, + B00000000,B00001111,B00111000,B11111001,B11000000,B01110110,B00000011,B10110011,B11100001,B11000001,B10000001,B11111111,B11101110,B11000000,B00110000,B00000000, + B00000000,B00000111,B10111000,B00011101,B11001111,B11110110,B01111111,B10110011,B11110001,B11000001,B10000001,B11101100,B11101110,B11000000,B00110000,B00000000, + B00000111,B11111111,B10111000,B00001101,B11011111,B11000110,B11111111,B00110011,B01111001,B11000001,B10000001,B11001100,B01101110,B11000000,B00110000,B00000000, + B00000111,B11111111,B10111000,B00001101,B11000000,B00000110,B11110000,B00110011,B00011101,B11000001,B10000001,B11001100,B01101110,B11000000,B00110000,B00000000, + B00000000,B00000111,B10111000,B00011101,B11000000,B00000110,B00111000,B00110011,B00001111,B11000001,B10000001,B11001100,B01101110,B11000000,B00110000,B00000000, + B00000000,B00001111,B00111000,B11111001,B11000000,B00000110,B00011100,B00110011,B00000111,B11000001,B10000001,B11001100,B01101110,B11000000,B00110000,B00000000, + B00000000,B00001111,B00111000,B11111001,B11000000,B00000110,B00011100,B00110011,B00000111,B11000001,B10000001,B11001100,B01101110,B11000000,B00110000,B00000000, + B00000111,B11111100,B00111111,B11110001,B11000000,B00000110,B00001111,B00110011,B00000011,B11000001,B10000001,B11001100,B01101110,B11111111,B10111111,B11000000, + B00000111,B11111000,B00111111,B11100001,B11000000,B00000110,B00000111,B10110011,B00000001,B11000001,B10000001,B11001100,B01101110,B11111111,B10111111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + + const unsigned char custom_start_bmp16[] PROGMEM = { + B01111111,B11100001,B11111111,B10000111,B11111111,B00011111,B11111100,B01110011,B10000001,B11111111,B11111110,B00111110,B00111110,B00111001,B11000000,B11100000, + B01111111,B11110001,B11111111,B11000111,B11111111,B10011111,B11111110,B01110011,B10000001,B11111111,B11111110,B01111111,B11111111,B00111001,B11000000,B11100000, + B00000000,B11111001,B11000011,B11100111,B11111111,B10011111,B11111110,B01110011,B11000001,B11111111,B11111110,B01111111,B11111111,B00111001,B11000000,B11100000, + B00000000,B01111001,B11000001,B11100111,B00000001,B10011100,B00000110,B01110011,B11100001,B11000001,B11000000,B01111111,B11111111,B00111001,B11000000,B11100000, + B00000000,B01111001,B11000000,B11100111,B00000001,B10011100,B00000110,B01110011,B11110001,B11000001,B11000000,B01111001,B11001111,B00111001,B11000000,B11100000, + B01111111,B11111001,B11000000,B11100111,B00111111,B10011100,B11111110,B01110011,B11111001,B11000001,B11000000,B01110001,B11000111,B00111001,B11000000,B11100000, + B01111111,B11111001,B11000000,B11100111,B01111111,B10011101,B11111110,B01110011,B10111101,B11000001,B11000000,B01110001,B11000111,B00111001,B11000000,B11100000, + B01111111,B11111001,B11000000,B11100111,B01111111,B00011101,B11111100,B01110011,B10011111,B11000001,B11000000,B01110001,B11000111,B00111001,B11000000,B11100000, + B00000000,B01111001,B11000000,B11100111,B00000000,B00011100,B11110000,B01110011,B10001111,B11000001,B11000000,B01110001,B11000111,B00111001,B11000000,B11100000, + B00000000,B01111001,B11000001,B11100111,B00000000,B00011100,B01111000,B01110011,B10000111,B11000001,B11000000,B01110001,B11000111,B00111001,B11000000,B11100000, + B00000000,B11111001,B11000011,B11100111,B00000000,B00011100,B00111100,B01110011,B10000011,B11000001,B11000000,B01110001,B11000111,B00111001,B11111100,B11111110, + B01111111,B11110001,B11111111,B11000111,B00000000,B00011100,B00011110,B01110011,B10000001,B11000001,B11000000,B01110001,B11000111,B00111001,B11111100,B11111110, + B01111111,B11100001,B11111111,B10000111,B00000000,B00011100,B00001110,B01110011,B10000001,B11000001,B11000000,B01110001,B11000111,B00111001,B11111100,B11111110, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 + }; + + #define CUSTOM_BOOTSCREEN_TIME_PER_FRAME + + static const boot_frame_t boot_frame_0 PROGMEM = { custom_start_bmp1, 200 }; + static const boot_frame_t boot_frame_1 PROGMEM = { custom_start_bmp2, 150 }; + static const boot_frame_t boot_frame_2 PROGMEM = { custom_start_bmp3, 150 }; + static const boot_frame_t boot_frame_3 PROGMEM = { custom_start_bmp4, 150 }; + static const boot_frame_t boot_frame_4 PROGMEM = { custom_start_bmp5, 150 }; + static const boot_frame_t boot_frame_5 PROGMEM = { custom_start_bmp6, 150 }; + static const boot_frame_t boot_frame_6 PROGMEM = { custom_start_bmp7, 150 }; + static const boot_frame_t boot_frame_7 PROGMEM = { custom_start_bmp8, 150 }; + static const boot_frame_t boot_frame_8 PROGMEM = { custom_start_bmp9, 150 }; + static const boot_frame_t boot_frame_9 PROGMEM = { custom_start_bmp10, 150 }; + static const boot_frame_t boot_frame_10 PROGMEM = { custom_start_bmp11, 150 }; + static const boot_frame_t boot_frame_11 PROGMEM = { custom_start_bmp12, 150 }; + static const boot_frame_t boot_frame_12 PROGMEM = { custom_start_bmp, 1000 }; + static const boot_frame_t boot_frame_13 PROGMEM = { custom_start_bmp14, 150 }; + static const boot_frame_t boot_frame_14 PROGMEM = { custom_start_bmp15, 150 }; + static const boot_frame_t boot_frame_15 PROGMEM = { custom_start_bmp16, 1000 }; + + static const boot_frame_t * const custom_bootscreen_animation[] PROGMEM = { + &boot_frame_0, &boot_frame_1, &boot_frame_2, &boot_frame_3, &boot_frame_4, + &boot_frame_5, &boot_frame_6, &boot_frame_7, &boot_frame_8, &boot_frame_9, + &boot_frame_10, &boot_frame_11, &boot_frame_12, &boot_frame_13, &boot_frame_14, &boot_frame_15 + }; + +#endif diff --git a/config/examples/Creality/CR-30 PrintMill/_Statusscreen.h b/config/examples/Creality/CR-30 PrintMill/_Statusscreen.h new file mode 100644 index 00000000000..bd29648e196 --- /dev/null +++ b/config/examples/Creality/CR-30 PrintMill/_Statusscreen.h @@ -0,0 +1,53 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from 56x19 C/C++ data + */ +#pragma once + +#define STATUS_SCREEN_X 64 +#define STATUS_LOGO_WIDTH 48 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000000,B00000000,B00111001,B11000000,B00000000,B00000000, + B00000000,B00000000,B01000101,B00100000,B00000000,B00000000, + B00000000,B00000000,B00000101,B00010000,B00000000,B00000000, + B00000000,B00000000,B00000101,B00010000,B00000000,B00000000, + B00000000,B00000000,B00011001,B00010000,B00000000,B00000000, + B00000000,B00000000,B00000101,B00010000,B00000000,B00000000, + B00000000,B00000000,B00000101,B00010000,B00000000,B00000000, + B00000000,B00000000,B01000101,B00100000,B00000000,B00000000, + B00000000,B00000000,B00111001,B11000000,B00000000,B00000000, + B00111100,B00000000,B00000000,B00011000,B11001001,B10011000, + B00100010,B00000010,B00000000,B10011000,B11000000,B10001000, + B00100010,B00000000,B00000000,B10011000,B11000000,B10001000, + B00100010,B10110110,B01011001,B11010101,B01011000,B10001000, + B00111100,B11000010,B01100100,B10010101,B01001000,B10001000, + B00100000,B10000010,B01000100,B10010101,B01001000,B10001000, + B00100000,B10000010,B01000100,B10010010,B01001000,B10001000, + B00100000,B10000010,B01000100,B10010010,B01001000,B10001000, + B00100000,B10000111,B01000100,B01010010,B01011101,B11011100 +}; diff --git a/config/examples/Creality/Ender-2 Pro/CrealityV423/README.md b/config/examples/Creality/Ender-2 Pro/CrealityV423/README.md new file mode 100644 index 00000000000..d1f786b8e12 --- /dev/null +++ b/config/examples/Creality/Ender-2 Pro/CrealityV423/README.md @@ -0,0 +1,3 @@ +# Ender-2 Pro + +The Creality3D Ender-2 Pro was released in December 2021 sporting a 32-bit Creality Silent board labeled as version 4.2.3. This board is a bit mysterious as it is completely absent from Creality's documentation. It differs only slightly from board version 4.2.2 with the Bed Heater pin exchanged with one of the Encoder pins. diff --git a/config/examples/Creality/Ender-2 Pro/CrealityV423/_Bootscreen.h b/config/examples/Creality/Ender-2 Pro/CrealityV423/_Bootscreen.h new file mode 100644 index 00000000000..3c3eddb333d --- /dev/null +++ b/config/examples/Creality/Ender-2 Pro/CrealityV423/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-2 Pro/CrealityV423/_Statusscreen.h b/config/examples/Creality/Ender-2 Pro/CrealityV423/_Statusscreen.h new file mode 100644 index 00000000000..99f357b5828 --- /dev/null +++ b/config/examples/Creality/Ender-2 Pro/CrealityV423/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00011000, + B01001000,B00000000,B10000000,B00000000,B00100100, + B01000011,B11000011,B10001100,B11010000,B00000100, + B01110001,B00100100,B10010010,B01100111,B11001000, + B01000001,B00100100,B10011110,B01000000,B00010000, + B01001001,B00100100,B10010000,B01000000,B00100000, + B11111011,B10110011,B11001110,B11100000,B00111100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-2/README.md b/config/examples/Creality/Ender-2/README.md new file mode 100644 index 00000000000..3c3fe6578a5 --- /dev/null +++ b/config/examples/Creality/Ender-2/README.md @@ -0,0 +1,33 @@ +# Creality Ender Support + +This configuration is based on the unpublished firmware from Creality. It is **not** the authoritative source, but has been carefully re-built by looking at their firmware and inferring the base version and configuration they used. The basis is the firmware version from "Jul 31 2017 10:16:30". It is based on Marlin 1.0.1, because + +* 1.0.0 had very different serial output in `setup()` and overall code structure. +* 1.0.2 changed the `VERSION_STRING` to include a leading space, and `lcd_init` uses `SET_INPUT` instead of `pinMode`. + +Configurations were found by seeing what code was compiled into the firmware, and constants used there. + +For U8Glib, at least version 1.14 and at most 1.17 is used, because + +* 1.12 didn't have the extra speed argument to u8g_InitCom. +* 1.13 didn't have the soft reset instruction for UC1701 initialization. +* 1.18 has a new directory structure. + +## Bitmaps + +The bootscreen and custom status screens come from Creality's firmware. + +## Creality Ender-2 firmware status + +The firmware source code has been published on 2018/07/10. +It is based on Marlin 1.1. The source code and .hex binaries for all printers (including Ender-2) can be obtained from: +https://www.creality3d.cn/download/firmware_c0001 + +And repositories for CR-10S and Ender-3 can be found here: +https://github.com/Creality3DPrinting + +The configuration files have been verified to match the original configuration, but further investigation is needed to ensure there aren't any extra changes in the source code. + +## Ender-2 specific changelog: + +* 2018/10/08 - Updated BED_MAXTEMP to 75 to match the original Creality Ender-2 Firmware (which is now open source) diff --git a/config/examples/Creality/Ender-2/_Bootscreen.h b/config/examples/Creality/Ender-2/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-2/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-2/_Statusscreen.h b/config/examples/Creality/Ender-2/_Statusscreen.h new file mode 100644 index 00000000000..98a6e50a729 --- /dev/null +++ b/config/examples/Creality/Ender-2/_Statusscreen.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 5 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000000,B00000000,B00000110,B00000000,B00000000, + B11111110,B00000000,B00000010,B00000000,B00000000, + B01000010,B00000000,B00000010,B00000000,B00000000, + B01001000,B00000000,B00000010,B00000000,B00000000, + B01001000,B11011100,B00111110,B00111100,B11101110, + B01111000,B01100010,B01000010,B01000010,B00110010, + B01001000,B01000010,B01000010,B01000010,B00100000, + B01001000,B01000010,B01000010,B01111110,B00100000, + B01000000,B01000010,B01000010,B01000000,B00100000, + B01000010,B01000010,B01000110,B01000010,B00100000, + B11111110,B11100111,B00111011,B00111100,B11111000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Max/_Bootscreen.h b/config/examples/Creality/Ender-3 Max/_Bootscreen.h new file mode 100644 index 00000000000..3c3eddb333d --- /dev/null +++ b/config/examples/Creality/Ender-3 Max/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Max/_Statusscreen.h b/config/examples/Creality/Ender-3 Max/_Statusscreen.h new file mode 100644 index 00000000000..6acdb4cf870 --- /dev/null +++ b/config/examples/Creality/Ender-3 Max/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/README.md b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/README.md new file mode 100644 index 00000000000..1848f94a2cc --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/README.md @@ -0,0 +1,16 @@ +# Ender 3 Pro with SKR 1.4 Turbo + TMC2209 + +Configurations for Ender 3 Pro with the following options enabled: + + - Motherboard: BigTreeTech SKR 1.4 Turbo + - Drivers: TMC2209 (sensorless homing enabled) + - BLTouch Probe plugged into in the PROBE port - ABL Bilinear 5x5 + - Automatic Filament Load / Unload + - Measure the full filament path up to the nozzle and update `FILAMENT_CHANGE_UNLOAD_LENGTH` and `FILAMENT_CHANGE_FAST_LOAD_LENGTH`. + - Linear Advance Extrusion (Do a calibration for your correct values) + - TFT 35V3 Controller with two options: + - EXP3 + TFT cables using `CR10_STOCKDISPLAY`, or + - EXP1/2 with `REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER` + - Extruder Auto Fan at 50C (Fan connected to Pin P2_04 HE1) + +I may have some other options enabled that I don't remember so be careful to check everything that corresponds to your machine. diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Bootscreen.h new file mode 100644 index 00000000000..3c3eddb333d --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Statusscreen.h new file mode 100644 index 00000000000..d0414eaa9e8 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR 1.4 Turbo/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h new file mode 100644 index 00000000000..10b3a514658 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h new file mode 100644 index 00000000000..10b3a514658 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h new file mode 100644 index 00000000000..10b3a514658 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h new file mode 100644 index 00000000000..3a78b5d9989 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h new file mode 100644 index 00000000000..8d6e3ddc237 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/CrealityV1/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/CrealityV1/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/CrealityV1/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..10b3a514658 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/CrealityV1/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/CrealityV422/README.md b/config/examples/Creality/Ender-3 Pro/CrealityV422/README.md new file mode 100644 index 00000000000..ec0e54e640e --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/CrealityV422/README.md @@ -0,0 +1,11 @@ +# Ender 3 Pro "V1.5" + +This is a surprise upgrade to the Ender 3 Pro that some customers began to receive around mid-July of 2020. No documentation or support page exists for this variant. It appears to be an Ender 3 Pro with the 32-bit Ender 3 V2 board and the stock Ender 3 Pro display. To see which version you have, examine the control board. The newer board is Creality v4.2.2. + +This configuration is very similar to the Ender 3 V2 config except that the CR-10 stock display is enabled. + +## Flashing Firmware + +The bootloader which handles flashing new firmware on this board remembers the last filename you used. + +Therefore, to flash the compiled firmware binary onto the board you must give the "`firmware.bin`" file on the SD card a unique name, different from the name of the previous firmware file, or you will be greeted with a blank screen on the next boot. diff --git a/config/examples/Creality/Ender-3 Pro/CrealityV422/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/CrealityV422/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/CrealityV422/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/CrealityV422/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/CrealityV422/_Statusscreen.h new file mode 100644 index 00000000000..10b3a514658 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/CrealityV422/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 Pro/CrealityV427/_Bootscreen.h b/config/examples/Creality/Ender-3 Pro/CrealityV427/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/CrealityV427/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3 Pro/CrealityV427/_Statusscreen.h b/config/examples/Creality/Ender-3 Pro/CrealityV427/_Statusscreen.h new file mode 100644 index 00000000000..10b3a514658 --- /dev/null +++ b/config/examples/Creality/Ender-3 Pro/CrealityV427/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3 S1/LCD Files/README.md b/config/examples/Creality/Ender-3 S1/LCD Files/README.md new file mode 100644 index 00000000000..c2487d61dd2 --- /dev/null +++ b/config/examples/Creality/Ender-3 S1/LCD Files/README.md @@ -0,0 +1,35 @@ +# Ender 3 S1 + +# Display firmware, boot image and icons compilations + +Currently Creality provides two kinds of screen units: + +**Original Ender 3V2 DWIN display** +![Ender3v2-DWIN](https://user-images.githubusercontent.com/2745567/156829365-a58a3afc-77e3-40b9-9e16-5edfe3073de8.jpg) + +**Original Ender 3S1 DACAI display** +![Ender3S1-DACAI](https://user-images.githubusercontent.com/2745567/156829472-2c38a4ab-bdde-4c21-b78f-a30692c96500.jpg) + +For the Ender 3S1 you must to use the `private` display firmware / icon assets, available here: `../config/examples/Creality/Ender-3 V2/LCD Files` + +## How to install +1. Get an SD card of 8GB or less. +1. Format the SD card MBR, FAT32 and with a 4 KB sector size +1. Copy the `private` directory in the Root of SD +1. Turn off your printer +1. Disconnect and disassembly the screen unit +1. Install the SD card into the internal slot of the screen unit +1. Reconnect the screen to the printer +1. Turn on the printer and wait for the display to complete all tasks, confirming the procedure success, with the progress bar at 100% +1. Turn off the printer and remove the SD card from the screen unit +1. Reassembly the screen unit +1. Turn on the printer and verify that the screen assets were updated + +If you want to change only the icons, then you can leave only the **9.ICO** file inside of the DWIN_SET folder. +If you weren't able to update the display, verify the format of the SD Card (MBR, FAT32 and allocation unit of 4096 bytes) and the CRC of the files. + +Be sure to leave **only** the `private` folder at the root of the card. + +--- + +In: https://github.com/mriscoc/Ender3V2S1/blob/Ender3V2S1-Released/display%20assets/readme.md diff --git a/config/examples/Creality/Ender-3 S1/README.md b/config/examples/Creality/Ender-3 S1/README.md new file mode 100644 index 00000000000..8e664ae307c --- /dev/null +++ b/config/examples/Creality/Ender-3 S1/README.md @@ -0,0 +1,19 @@ +# Ender 3 S1 + +## Flashing Mainboard Firmware + +The bootloader which handles flashing new firmware on this board remembers the last filename you used. + +Therefore, to flash the compiled firmware binary onto the board you must give the "`firmware.bin`" file on the SD card a unique name, different from the name of the previous firmware file, or you will be greeted with a blank screen on the next boot. The file rename is done for you when compiling with PlatformIO. Otherwise, rename the `*.bin` file accordingly. + +Pay attention to the two versions of the motherboard for the S1, one is using a SoC STM32F1 and the other using a STM32F4: + + - Ender 3 printers that come with a firmware version **1.x.x** have the **STM32F1** chip. + - Ender 3 printers that come with a firmware version **3.x.x** have the **STM32F4** chip. + - Check the version number on the STM32Fx chip itself to confirm you have the correct version. + - Installing 1.x.x stock firmware or a compiled one to the target **STM32F1** on **STM32F4** mainboards **might brick** them! And _vice-versa_. + +Where to put the firmware file on the SDCard: + + - STM32F1 board: Put the `*.bin` file into the root folder. + - STM32F4 board: Pit the `*.bin` file into a folder named `STM32F4_UPDATE`. diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/0T5UIC1.HZK b/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/0T5UIC1.HZK new file mode 100644 index 0000000000000000000000000000000000000000..61e6ec26dbec02553b08606021cbc48f1d27d79d GIT binary patch literal 125440 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/0_start.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/0_start.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc5e50be0aa4d5c5992440fc3141f28e824cc427 GIT binary patch literal 14172 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 P(mj=tiDqdU!p!_X|2Xq; literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/1_English.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/1_English.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09e50802955829ba8c62b07b6eccf2c9cc75cce0 GIT binary patch literal 32581 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%0DRneM& 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 gGE4ks=9w6U;Lp(u{^p9a(xU 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

nLHM{1)V&F0FZrz_iluwN5HD1GH!Y`2(N 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

lZbKh-NrU^E!+zy1Q8HbmC1tGX=Z6 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

W?@s}Hq&>|Ocx7dz%HqFad`OSc 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/7.ICO b/config/examples/Creality/Ender-3 V2/LCD Files/DWIN_SET/7.ICO new file mode 100644 index 0000000000000000000000000000000000000000..6c6c2cdb46f4dfde54aa709344ec6e694bb59b63 GIT binary patch literal 217989 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 z

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 MT1prgS|0{lk>(*0uK)l5 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/config.txt b/config/examples/Creality/Ender-3 V2/LCD Files/private/config.txt new file mode 100644 index 00000000000..cef80a82305 --- /dev/null +++ b/config/examples/Creality/Ender-3 V2/LCD Files/private/config.txt @@ -0,0 +1,5 @@ +R1=07; 115200 +R2=0C; +R3=7F; +RC0=01; +RFA=01; \ No newline at end of file diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico new file mode 100644 index 0000000000000000000000000000000000000000..d484ec9c16ad27c7ac1b3c20218bc7956fc1ab60 GIT binary patch literal 54385 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 Sm{0n;8(vToN%9L_x}bJsyLAEp literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico0.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ca4d1cf55cc09425773afbbaa034dd44e023152 GIT binary patch literal 16062 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

x@II|qjwP|T|b!pt)Ei&WH-v+y{_y! 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͋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 F|6j_;6t@5X literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico1.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..08e18413ec0f46015131c1a92cc5726826f9459a GIT binary patch literal 3140 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico10.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8d0cddaa8eb9d42025e770b620b328a57477609 GIT binary patch literal 12319 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico11.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..603648e864333acdd8c65b888ee8666f3d7eab4a GIT binary patch literal 8217 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 S>pUgX0J5@$OPQAsv;PBeD|jOS literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico12.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..36f404b9c963676c0e541ce35eab20525eca96c5 GIT binary patch literal 3291 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 VsM;cYNSw0Dy`~W#{|d(RzX8=F_8|ZO literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico13.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3dc443c193ccd5c9da1e759c6914a7e5df7db50e GIT binary patch literal 3300 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico14.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26b08ca10c13af9d7ead1aedaa1794c575469396 GIT binary patch literal 1998 zcmbtUcU02}68CsK`w7?n^I31s8Fy?gKe-kHDVeKX%TZ{EysXShqiQOENR=K&B10DO54 zaOVL#UiA0u2g%=K;8k;J089|j2lV+sFaQh#@xegcK0p=#0bsr#?f%dBgrNdLf?yt~ zaTEYSz+f;4!uMAK1kA?|1qlFxLK1LEv&a^hl(Y;lQI1Cd;{QJu0T7rUDkucup*lQ0 zFo+Kff&N#BrwHK(pfCZrpoFB7l(7k(LRF5uFKxh`14MaRU>F|^um(!G03x`*kbw|) zWSo|0)$|BSv!?bEe^tqu&l7DjSzAfzt_S`+jO2R-mh^OAcHq zb`(iy7*HEw-kX}iJb?Pj>6sCzqIP=AkW*VXYGcH3IA$I8WTto-+b8ZU&CI1+y=U($ zdm#&&Y_%ychnBo_u0taR`*mTe=ToQI*DE6~B1fw=)vq=hX}8(3E$pkFhDSX6q|%&z z1w%jjXng^Tr0|A<#w7R&Pc#%> zj}laqI?(t!q=nbc<<rvkbl2){5l2 z=N?^tw^kWDJJ)<2G7f)gpjL+G$FOXQi!QJ^v=ft zDOeY((GQdVg*deGfkq@v!xOOCI#`-hBD~eil)YcJB77c-KmKLZMC6ehBS139)3K*P zZ!jBsKXe40pfi`GJnZC}R?2?p5X)|LfcG(f#w|RH4cQpLP#0P^GANUtXNn1FTDPAK zXB$jB2^l9(w4+DKN?KK(=oC9)hGp=~w_UqT0(AjZqotF1zkSi26<@s+wTF&h7{Ib! zkI>8r<--+HS?#yp1T`hiVg!3a9jAV3dr)xfu|Pqlo_Y3iQCwJf)8oa0gW;CO>L(wl zk$kSRLH^+{b#tpT^K3l_l)^9`bdiPdn`DUoZx_D7vnlZ&#GPrUj{5KGjY#kDR=PWg zl-bZBChKTkhg7^(ab`AB`gjq=J`45yK_gO8xtq+Qt`2IIl`pfC0*nEgia>Yv1k$soG+QTg_&A-Np?yufur77&wBAmKXoz~{> zf|@yvkx0dqp}Eo{S=AZDDLTdGaiR-7DIma5gPv{^jX`im6Y)k@ld&07?`Blf%KJT0 za2-67O}`G?G#tu&m?N5iEsTP30gpe%{CE4qrctN+OpPo`$=U+(v#a2q&3C)<$hm+1 zB5W&}H8JaX4C0u=-d|e#9eTvqzszsK>G#gL`uy^U^W*WcS3{rc`W-)6D2>xp!cjaF zQb#>LKHNKWP>oB#s5&Hod%N2+nL}yUO z5kGFb5)oQvM!%9C{eCxy<|PfIcblQNfj@>v&N#n#L+@<`il6I-SLQ` z?F=fD*s!%5!}^6|Z0&X%{r!03Ju35{!?HFw(tO(Hub)xpd~3cQv*XifzIa#BUHzS! zm>Z+R1MXUNM)l?Ee}rwnCB9vNI+Vtz4-1R?&@~R|Qg*9Tl{Yu;sQ)nrone@AmZwf6 z+D~p>lNC}Y78(Z+h&}Wd_n#qM{>f|H(2B7I`|KKhnwVMNG_PwWwc=Tj=6}SNk~+7+ zu{O#W$|Kw)L%6Pld&!l2rguh9i?0vm8cF4hB>RNT;p-MhIK!w`Y-mNzzTVKE& XSUi!PF{24%a{*+{1>SFc$({WZv=w#4 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico15.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5587a3f7f2db15067db737a4e44d3e528ea2f80e GIT binary patch literal 1994 zcmbtQc{tmN7X2lJXaxziRgofTQA-%Dt-RL6-l~q&PEi^vM2FhV5IVM&l2BXe60~DU zMmDOXQZltZyDHPME2>%(OQ}h}@4ffE|L5Gl?sv{T_ug|be((;EalqPR0T2iP{DlP^ zOakYH-9N)OlYizQoIYp=;84H-Fc1O30WcgS0tX%NfTI8i0E0z<|AWXOu!NX6R7j#^ z0FWpc3`0jPv5Le4ab1(#P4>Qsd9f*{|1{vX6aV2Bu0LR84=3fF-_ zB481y$bS@I5s)YZ5QB>&pt4B0Bgain6B$hTsC2`FH-My21cr;i0V|;D08qwvmTay& zH*c$jnrqZ;o)o0wQ~i#FcZ|Bsl$4@Q@Ae}4iMI8IvyVK{D=H1@kiFcH!PG*mWmXu> zlpd}EB_ws+<(A*0o^EX@Rj(oHPt;6sRJ5HVeLnjtSQHDm_VF9Mu2#1{V9TA{{s^1E zA__s-u$(QJ(9WiY%BuzKg!08Ma@kb3E| zOE>QF@e&fs@yquJ8u8|YB6rXkwn=c82cJc?ez2}Z`ZCNZrSTKG}0=T6!kB}X2)N8;WeC_o;n@TrH^>an^&j3r{hNN-U`Mj z($*UB^-iC$g=TRsF^-xV&0^5!ZM|Wxs4{%@x1=Vle(_@$`C3`l?b=?8vRSt6- z<#7HmWF~FNcjrrZ!{kTh(jM`*j*Wg9)P0RQj_T17z4^g>Nn%Cps&c}8K2la0c-gf`FGhTYF6*8M)veS+aAJzxtkDvsCTsYcEQZn-;IEB~$z(mAsSx?7D`*^|4LK zRXx<`vX;UrueQQb51H3Dy5+6;nZ-&Kw#5(h%?f5h5+llgs~C^lXRv7YFWxig5I57H zxlk)vN^M?Y`y{_L%>PYSmMY9%hSV4!x{WMgBx^PQHQvf;{GvpUp$=551&S$S`NPKK z6Ut4xNqYBTp1-r>3D4B+9zHzI942Ki*qs@QI8p6NwS9S%(DLXB`xuwp#>OaFkk2kl>7p(LrYBq}JC;@JfZX41-l8RcZgr*J>pihb8Rl z>eB1{HOKE7(ZS~Gl_&?SLz2zpYA;J7i!kRV8d8dFi5l6+TdMN>d`@wf@noGosz+1E zUzE-6*D4_4P&!hu{%nujGeZ}QM;f0aw`BLx9(K`D>pE-A?+tFAY)~^?pS$1dyJ3gt zXAI92viJ`jp*BY8HZn zYK<#3zS>*~wFzXP4Hv4j`zQ%%k&kNF@l)*bzNLn8h&1;i@z7kxzpZ&teIt*c!3uQq zepoJkYtp^vD|pAiUxw|E4G6%+Te(uw)-_we;LKx<`p7q{Xfy7nm6fcf8S7=%oqjB3d z%ORg&ysuUBD_a33zx}CbeLYIyG+g)M8!QS1H5eI}&Mdy8??HW4NXF&-Fj>ZFaQt!B z`CCq75lfaMkt;9WRS`T-sy>6s$Hw7adDR>1_Jn?&%H7{^Oy zbLOS1s%0tMg;Vb^!%>^rw+CaHV!{5NoH>;Y;>vuhCO$;95sk5sv*~PTHKFJyuH6_N z?h%hx=|$mC)?7^8FU8j!`KgqaE| zAR99liIf$70&$3=Qf-(%W6~;l#t@i~?Wi|UR!z}Cj+J?t-)FHgWArV@qNz9|Ix5Ju zX8W>F;_l9Mm(;We9x|DF4#B}w1x>^R*|4iIR26mn)#daQ6D)+XTG&nSOO&o|@?{d5 YKA@YN=^z;z{7(4-+6z~PZ#bCv8z)p*1poj5 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico2.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5b501bd6d99517b552879f664d4afd9a9ef249cc GIT binary patch literal 3000 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico3.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db9b546b3303407c834c974c99f2780ed4086817 GIT binary patch literal 1798 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 #xj?eKleLL%@8FK1aOXF{3m#?&D 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 V?letUL>Ln%^9Akx$ol2X{{a*uH8B7H literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico6.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8111a3db74854ff5412d5f436b400bd81981e1bd GIT binary patch literal 4933 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico8.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba0cae54b012ae7d6edb4fba89aa56b7ed927dd9 GIT binary patch literal 4977 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico new file mode 100644 index 0000000000000000000000000000000000000000..b25a886d9ab2cc00a46e01c7fd6e4b3ad67d2f90 GIT binary patch literal 127376 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μCvf?QR&0wl>(TA3;?v@5a4_cCd1_-`QC>peUeB|h z8u)cj2;hHwnqv+pD(o6-tYG6edfp{pa9Nk>TRUB&J}87kJ`G$J&a4(H=YCZ89eW`% zoiAl@&zw-=lkOM%;Z0eZF-jX2S5c>kfC#%w6@Y@uv<$Bmwr~J%W8FU*D`kW94km;y zDm^nO{Codf1idJJT&|GE@{26ve*bqlIFDWsYnG ze4z*-f~4H!F%%QZ!}Wc^8>A?l3bXWcXqXEb(`ZCEoxbxGkAFJ6RDq10RCqTQw^cC^ zxM-41Eo>ZwfCZ1D3ga@!r}#a0?mG+0W^i?vr7oX0XjLWE$!D)F3rn^?L42mHUz*G0 z8LY~T{$HH#W#eTNp)vVolW-JDWTfsFg*vV-M^d;vvW@uj@yx3-|8PNzXowg=a851< z5AW;2yhAf3(FY8r7KiqcBfC!lwbzlU6&rn|xbGCQGX8_OK2Pl=4{4w-rUa1*gK>`I zonze{mqKA2O#}bBz!}xFE-AVR`LDHk0_K)SeaEpLMFrfPxCoV*S3u;E(7Iu-CfsXB zKJ92-Dgnq|gNAZ>gn7uy#dAW`pOd6vbT59kn?N%|9e0_rjn0#xE1$}L7m7u_%V@B4 z44Oqq)a;!6$K{ z`o3V$M8?Vnsjo1$>EXoNzuN3&CzdM_8V+6s?#cSibNf%Q7b={fs37Lg<8yL}bS`9S zXb9uD+EglPd!-w=UFkYwpAe`EHignMI8CmyQn+E;qsAve*$9Xc?H4R4Ff{A~#^YQ# zV;Z@?dUZmDB@a1@XW{gAfMfm^w@;!^Ibb)=;&VJm+O?O1k+69&LreCM@MS78qg8zp z(QNvl;hAMG@u9~+YUS!+D6%$dHYTc~y&gJn$8Z>2grAvA#bjjg`qPj}r&LrH4P5Fo zJ@LrImxj`Q_4(ZANR{;DT%9gLA4ogD>u#F4(?49U%62OfsS{V+{Mz_1pGCv0^j?cU zgmMzLmyO}KS0>lj2c0eRaFSR!)<4#pNBZVa^RbILtjz!6U?jZZVR3)tgCRAEwcZSb zKYGn>G*jg5uy_nAglQ{t6w$7Wy=ddJls_ZvSOQeFec0HGxMsDLyh_kamx;J!#;aSX zxGtJKFl)Vjo{EovRKQsPfVkr?zE6lHy)wFg`2hc4qLD=cR#?rN3CBbS21ND(7pbBf zjA?9Tz9C&JYYMun8RhQ4X$yN&KZ#Y+w{v<`pN{SoP3jU7b3vL~R#|wX+OD+rzF+5F z1LGMl{~ad>Rq>afJp{P2d5if0Xb$wlzMP*5Vvj_5lx2D>rXJT8TnOHz5*<9IF1yc( zy!$UR+%4_W5{^>%taT=`HuscTEn@jxk$ z(ZOM+Pq&G;2xJADfmlg(BBRzydkw@wWM1~%!dNDbt~cX;3|nIs)>Zyi_<*J(DxzJ? zmIYWX55#Had5--`rYsJwC(mT+gMZ52ca0*i{wwvm!p$@Zoms}Ik*WLB1>5JBK zME2$PXQAqw6X%?EdLm3x`zQGq*|Q7zU(8zGO6NeHPd{M~H4A9=Gr+0~1McOIo`x?* zb7(tvQT9P3B=hct5_|;4BQLV2$!Xa$%+{Pcm?5z0r2ph_r`?>w50EW~pF{|JqvqyW z7^PvL!fm#(xHn@iJ!5=6bFuUO3E#X6vSx6sDWV?cd` zAdoTEYY~v>MDwe}L|T$3MDBNp`8=P8P{)MyYGUIAjP-=_5=tJ4m+!y-lAm3=`#axQ z$A;tjCe~cnXB^%f#K)gccMqhE@^J}b9Z?<$9kZ!9pWoouTlwo}%P+Qaxp>KW`kH(0 z=>84nGJqaFl2vs?aaFaw5)%Ib_1D#1o&#ID!}XEofO|Vt#dB0udq>#H5>|D~&ReQN z2^bP0AwGV4%Gkxn_?@7-#1r|;b;dH4Da%;HCr*x@v%dT?pK}F{%T%g(-c%)u=j9y= z=+z8S?wTn9Gd1%B`63msPhpBDB!@VqGvrx;dpRU*tR^1s@Rjq>d#Yl!srq#DdEnil zKjcZXW6?yAfz8&ldT)XK+&(iO{2@O8XTZ(Wc${@oziSjh6#h~O z@2qy4aIO|JyKu$rVR5?)Io*Ys;33%fqw)vB?&S{<(i|2Ml1nRE7zElJ3WP<^IUTNK#@VoE1Kr?j z_%ax_6eJVI^;`@pY9b}`hvEGq>0OOpB}+w;PFzj)PaVxWIv;JNJDy=yg>`%n7qb;+ z(4^3?N*xB5TkUL}YW_5hU#uNix))uG4S;qr^sVa_vtl>y29iZxr(1Qs_rcJJ23f^u zcZ#6s_*^@80Qi(oTsQ9S3+4v%XzX6hdOza}!`sDS-tnb&g`-Q-S4FFvbq$xj!u2Q^ zp3BY_vKD&^lIzWMo6!`ezuqw3`+-#OFiWTf z#)NL=+*3SDm(sV5<{W#f)y|*0dJS%Du1yX3(W7vI5nd6#o5FU$z(Z*X1l3NJuZm>w!h@218 z+`{gKmnNcr;XSWZBsPMiF&@~ZGba{FV`HV237n9WR>m#{1@jNI5P6lHGrRA+3;2fj z-tNq|Gv9tQ0mDD@WCa-1v@U_y0VdG`HfdkdN>h{&WL@+Tq2n131*Tou^yw6NI8sn% z9bfjA^jG97r)pEANj2fQcq1-cIxjzpag~sA(@Mpi$1dUavadPYvQxmmfSb&u86sx| zY=9bG#1S4I{2AX{9><)P-`5< z{e$-W9mz`melfGnOqOKZdQvs9OOxZN;xoK8f7kRWw}w8hn=3b0YF3k}DQ|VTKiCs4`i;slltoyuDMJ1f4dW*?Yu|>9+43lH+)KgIkX9Zlb0tGYOtz;=_ zQFV$UK2rN%@X4$d!{k7_C0cV|g)pbkf*akPc+Otv-Rh66wa44a%T}Ah)BQR7E?{ov z{M8x9_rs?n93#KuPPC`r)ASc`K714nOa{&V)%!#pg&c2oE=6yn&FFCSGhmO0^C!%+ zU=1`wnSeL9e~KKaJb0XCQZZ}QP!#?$C?^Vf+lr95+NbQp8QC zrgE>0r2I5<>ri09m-lL@)Wx%tjH-~G<#X+oZA zIF!mzLq>Tt>4Xd; zrrblmgqKDXI=;o-;-vaoEiNE%-sT#XmI+*KC4Dt|QamocQS~o+RsHHqxii1j_5^pI};`~S8ovE^8Dsl;|*49 z2|1_Xs)nw|FGoA9P|MdheroJsGd~xXoYSe%t?TJ8tKn4JmOEI|CLuOr`ok7s>y${&|SPM?-JQY0Ai{7(1i+Nrl zzmNO~2Z$_<=wUDV2Pjw%1-%L$7pmYv_9g@muGk**O=7#*gqb{s z-}}BdFE65q6t9RJ{t6NR94JIke3Brd|1U=g60;!akk*^;=>D6~!7RuZ&Nv z?a7&5=&y3F_vGod+6gWxcBk&ZYJSmvuuuEs2Mhhv15|~K@Pu6z0YjPT50D4)^N617 zp{!I#t)hNb1Sr!p3Hr+qFp-%QRXxt>78MG-m)lyva001LIj*=erKrawFqWyV6&xs) zDQj1qqk79YV?^=g&Pp%V9XTr8mcEJUDml2_ys8HwN<9pMj=mD86=$M^sT=Nwyc_I5 z;2U!eE?9%$yllA38oTv~T)xAZ=DhvdR`r{=jNZjq&?{@v{^f}ie@kNYuTefj;Rn(k39V8E82k{Tkhmf?J;9Rv% z)lunGun}>oyrEDmXwm4blfrYT@ZQknjV|pXiWt9lmzU;Ca+mLYzP~>A$yiF3kVCFmt*)uB!7lYBu*-f1 z_ti$e9hb1v>ApA)!b%;=IR`ZJDw|R?C+tzYq27d|%Xrxv5M9aV~23sn^N}ouNS{G&HN3`R^XQS zC@TqQRydBLO0IZR3Bu*<-IKrHG#4c?zv8`+htau~X!RpptE&^Sy%o+dc+y3yJh<=W?E!+=B&HjtW&IwDp}CQ zpV@!?MX)M(oW)TwXcR#d{mseWMs_iUcS$j`LDXHFxVwSe&cM#%rqISFVsg#hDHa;6 zg2hG=O(2~`urLN}v{6Jv#X<`kMY~vesNgj&K@g%StX$#xXA+}@z4O`qf8M-5|NTD- z8Frw93R2|Q#soX`Df3Usb6dx13r|2{TeAu024}`6&?a1;D(pgsd}3=PHJORYP}_df z66Bf(oa!dXpsN*tf`nACzj$rZHnLWgBWq)`T|AwxL<2b&E;*c-e4EAb5^#8ZV*1{* zvZ^lh&K`Lqa`_}%&0f~IQLRi@%1*Ylr1z65ONX*MTYssEivb0L-6$<;PABC~}A#U1V&s5d-MTV2sw_w>n7dGXD ztXaC^9_yWGWDPkiXB(&XE39ZaCvR-j>blAoZ&)t-900HSgU}h>>pUm5)#fUHRk*<^^*cG>hSF zCl`+cI>86-AddWf&I`L{6?TC;tk3lVKiY+@qqp%OzT+t3EkN&JGtPrnFdc}X8MlI& zU?z@fKN0BIZg4YehACXB54n*Wc~kB&cgh|2DDuV$xzE>;!JpUDI{$47|F8W5uXn_I zc${rgF=!M)6#c>GOHgv4kX@VE6Or6iW>=KmS=n83pjbpbV&Ng|o~@M#!Vx7$qMcx2 zj4`A!h>h53ASba2No64-AzX2VMT9hpLgbq9&D@=Liu3uqJAdDw|K9%-am)^96jO|^ zNbg4Qg?&b;i4B?nBI`yIPN{=;1`ru?1x`qjk2uv0#?)ZF@8Kd&P~)Yguy{P84kiIY zXAah^^V{VXP`{Sz`g|gs8&TF}+qVnjs=F@V9O4t!$KyZTSGKN_a-X3C4UKh;y0_a> zYwL&0jj$FjmA2&u&Q1T|ppCZ1)c(88n4Zil)!6)cYO-ARD&dqTNLwE%_~`v}+mCJ> zxqIiKQjg~ZRcTdLO8)5`d8xRg@3wD6L)x|xHj?G9kz$`8-4sUQ% zo|VYqQSX`D8bc2-iG;t5s{J=}QMY?~MoY2=MG^TE6)@;_3Yun7QD;;s!R~yn=B>KW z&7bn^VA77kMi^FtHM0mF)5+Xbw;3F=HNO{Z7lR-u`tCLNSP-~AJTUIN+HMydGetoU z_`CD8uvpN(IPhL5Oyw_H4l0-%sTEMC_hei@hsdG+JTfru%`pAve)R6$Uw75y{2yW7 z^c%H{!)|z-RZ=~R6hRPu1_!kmIAfwSmvoOD$o7G-Ga|Ut(0wo%35Exo?Cc*f5DmQW z4#ix9JO9P`b#AI4n48=MCW@S5qJgp(tXb)TJogHg_U1VV`%bd z;pN%o>@}Ugcu;>TStr(Y9AYP6l@+}* z2lbE4FSN$ra;Lsqc&M(EFtcC^1M}KQZBi3xEzPS@eOT-ztcH%-{9$c)&v#*rEt$>L z-gY@H-*dX0dCACS#9~&gzQ>2eWG4Luk7>s#xuKf8)LkW z3<(v-1ay`ndCneW{8Wrlye51T-g;AvHP-A|4l=7UXo2r9JHEn4jZ{_*VszsGcEu$i zHVl?g0srS29iRfY+6r*kj9SU8-vx|@tL^IRHPL)(ua*Mo>UG7QK!RrvdkLtV3+h#+ zkRssu(WcXjuA-mIvxZ{`_4nhk9tu*nn~e!Qn~5RQ($K>F}?9DayNvfcgkVQr#=6cLDdTz{}Sw)ym*|g zQawupK@c55WdaI!SR`Jxo1jHbt6M~67jA=BSlOv)lM4v?2Lw~vC@R=QP_I+`140yS z#l}V~w6M0au(6AU&h93DG=ktgxI1>=y!U1p4cyacz>q;q0N@w{1E9CYBHdKMF{+Rv zz;@7(c~wyPB(KH^527#B5Mzufa;#uV{|shIZ^@e4lV{>yG%e=UWAYj@(n?XcQNv6% zM2*}G%)^kwUHF)E=PbkOYJ9>hnJIDTRHo#@a3{#rhVM>d($b`HE+^EG&ul-gt94uz z_2lTY(r{y{t*e)!QH&|G$-e0?s#BX!xBE>&!@<;r81l7EkwO(JR&P>0we`4VU*Vg) zEgQ$GQS;2?I6nI=c|%!Z=Syb{F2tNz&M`1kvPqyf*Nj@SC+B?0lQbA?4c28gH4-q_ zGc5auGLyTM*zrti4xLV;DRiOVV?v0oN^#{}bWwak& zdtV$k>l8bgYS=6g}Is>yyHlW2dq8My$ z?}`X%gb*S*EcBWb307%Nuu)K~EY$-m#X497)*}DF%nU8_@m^a_| zzV|f7pdmm5jSMu#6ai}B806rV0(xN-#jxvbc;*j-m(Hu{CjE;cz#0LZ_b7F~Y-1~Wu3X5}{<5X20dB*Ybku~!f#F7FE&AY+U*M&GeN^oy>W$nn9IzrBbz|wG z+ce{ZV|z|5iv~ppcrG49)nWxMjSafS&o}qy)1FJ(@S>c^O%dkYjyMCn#tYe%lu?&` z|6HDw^L!y@+p0qw_hd&fnh3yauPfi#qpCQqG>jZ-?pt|kbaB#Z$?txUn+t~^<>Rn! zCG)fX4sEUtn_kzi+C1mDVQNb>EBG<MP3V1<2T z7^Y``a5>1LFT<^`!{2A*Vm!vZ4F7W;;~9@%&y&I7c$|Gwv2N5r5FLa<#+|o8Vk_@O zq`;97XVb)E$$Pq?0MVh4D9yP_Lji5BLWp!}LEN=LqM(ixZ$w2wL5on1`~WSY2uA_4 zwh4w4_-Smf_s#5^=dox7Mqsf73nTFBqFL3?1_hKTyJ#R10A2{ohE?yD=RE(`!wC0+ z!?fbd`2%ev)5!M-%g|yM1AL4}e8O{{=QDn-Ei@IP4re40!Dr>z@oDb(6Tir79&}HY z4!}zFi@}s#UP(;&IA?XPzN4@3y}}(m&ZknV;xVtPF5}O$Exb}^w9Omo$8;%Z{SgQL zW{pI3(0_O1_WD(0YmauWge%wMB~`Rs^GgXtc=PEGx!A<|d8#>MouANK*)igY_u5z7 z*SFO4jpw}|e2BkO1I=r?_6K~W9kofP6vjdS`0)Pzo|%zgI2+E>8Lf%)g{T8q4W{X2 z=;(;lN+IieaYarTJ~rtIwCX^`6Y_BB7Rf|_fxEpe+NCj_C6`p&a|pN*kJDYsXq%oT z@>Ndp_hq#lNKQK~BguZ)n`ADj5|=#cHQ9s4XUXu>Wm*Rh@LNAivSd9$wfGl)Bf^*X z#e6l_l!1SOlE978l z1jSMm;>qXCCi{4gc{B57zM1*fVix1L^SGzLVh$51=kauz1(sql6D<~yoo=Y}^d`89 zK&?aiwvYGH1PijU)l+_fH}t&|vcOh2a{yR2wnycjr-Lv3LdwRDloy*Tg4t4jj}ek7 z_U(|AkDIqZcyT$~IwoZymkkyhUBv+Uh2k7+CZIN!S(U9Haf@FD6 z_caSle7Veq>bay14$7mU$$F_i+1M<9UHo)e0B5sLQqO!?mx*1)JKPN&QArOVI?IKT zkY8}DTwujE_H$TKA{&V>>8M8WX+j)awoj{^*+`t|p2ptcd?2b-60Z`w;Vb%R5ESYh zdMgg}2G;Z)y_%RyM>GLGIGG;nUZzQ6E}9R`(!`1DjBvbRaic5B;U+_rV4|J)fgOQ7 zE`dI}rzd8v-V?6RxeXf4i ztH!1=Zd}K6*0`$At1rXV)SPi&rTWY913Jx<;-6-h)OE2d0zvF2W(Bsw4(jEwAOyJ0 z4i^az2jVR8&ZdlLCl8Oc&}K;9V>Qa&oZA0Fht=>O$3)qyc$_U$O=uHA6n;^P8&4At z(g`{2Z1m7n1vBwr8)P>G5A_FZE>bVuU_odUL=i0|8ry3thzGS8kx&q`oWP%gD`hkWAcVO5Oj4<-n1oLqhR*6+ui3#uk@esoXL8)(h0Hp@zY4aOu32e{D>uD_iuw|kP2!azbmhq(tuHJvm1 zV~>DE{bg!;RO#QzWn7OG?>c$W2K{cPCcuR*zS`Vw*g#%wm~Zg%a~>%uU1CcAn;acHp^jIt zO%7G>U5K?7ssbomwpDB&IpxDM_O!jx7gI{zR%6w5zTPw6D7F`>VTa;yA&@O(W+S|UDCnQ^0=9J*SnpPLC3R@8%Yq7^G!H*{EBiHlG(LgWBs(2_pV~^l zidLOVVH9um55_CtvJCp|pt;Nsa0NI}VafRZ6jd(- z8R#H~AcS#Y1_%$O9ss^j-w;O|_JpMzOV6Y><(cS*K<5X0?dblYY;; zXktBiu83f@6}{A>dJrraq`q&GhGBPS-@NbF+qX)@SW47IgnL3Uo^>o`Q0$4%JfSFY zA`uaD65P!@#pDT>8lnNjbrOzpB%+oP?E;Y`i3mG#iL*r}uM`P(4WJenN}RLrm1buK zx}y)OFS08ZqD(DjDZ+B*=#M`&hy+6t=69X`g-`F#XWiSBR?NH*~sW6#jO7~ zn6_C@m%hANXze>IIo3N7sq|!c-REf%=rsriRgdQe?^XNop!sxPx>U!Rq`lyCKqep2 zrr!(VQSO-5=l*SPeU#wE_#*x4Bj51Q?@npSpH6dK>D+9umlqbN-Z7py$I~5uqa+Pa zic8*FwVRjF&2@^c+ux>k&Rjrd=-SP%`Ijf75$~;NRyvhaw!+s}!XgjaKwCO(?N&A` z-^Gv@0ePOOl>U_4K!!e&xR%AIa;>nMp^>{3dxN^}@7(Z>V?CVRr4PCHnPG3ke2GyQ zD)BXP6XS5ynB^MZvK!@?afG9yqsE9dem6dc!xEFpGyg%u;KTJF&fli4c$_^_O=uHA z82$E8oxR8eAt_N|CXpVpqR?&+O?O~t$y85P5vmf<-HN9k^kl78q4embC|+8NAm~Mk zcnRcSy-2+IbCR@5F6uR&DkegFGi_zqNp|<`oA=)L5+*5Onk`Yx1WQ@MHTINJ7Q2;_ z#$IBQWju9v8PIq}8Bcf#-)5B2ES^||eM7jwLW0NOj!6)a#2)jEOMIVzFLO(B$pzCi z8)gIqc1$DN3+#`27c(H3R*t=O;37V#FwiPb3W%_E{+zeu<-cTr~huqR@{4V^EqnVsmtsC2HE;6|{Q)t%Z`H62KY%%FeByJIe! z5nteR3Gd*CGh(OxOQxxYa@y&WbSS8sZUu>e&0~K*9DOg4PKhOSvb>;pS&-%#a=CS) zZl-)~HPbtOzjLqieHj0dmGSFpK8lf!V1laSRi#P0oIhO~elgMbJf|rIPO?b#BJixEATMD!CGCFH>k28>gQwP>}r zP&){R=n3*8`dC~Hzf5K{^ZahhPI531v`mf3#qf1ex@PI!v*}?aKeo)~*ROU6sKKB! zct(Y>M-{P`gPSva3g$uSlh(10U>51wzEQk~vVOH|Bw7QUYaXT>VzhWoNONR-nv$gJl=3bnmoh$8^cs?uDMp%SrO1S)LcX)B&583H$@>DM z#gG910g8h;7^5XP2TOdXg|dP3&K++z=$V)1aQUux!$FRrp^@d^)M~@D*RGG9>6tHP zt==)6s2$z*6IiB<6!UALIja$L%!--zo;V$|8ohHi{LOO5910Q)QRBRt8E@Vcqj5)( z#BBIH0N>s$6r;8Jw69pBrWT|)P?$H5%sGcSU^R0U76Hec`Di8D5qY(MIOR9ZT=dJB87Si}dv88yvm&w9chV|H@EjG3xAKH@UR#fr_-FwSUwE}Dz31TolW_NgBn zjdtj#NMN13RT>Py{1O+OuQXQfg)xTC_QQV2FT^st;0oeA#g3)yhNOP&b11DI0V+w{ZYL%YPCul&RK@b?x)f^*PijI?NE$$e5~Ae^>7wgN6dYewg-^=bLQs#f7foJCSiYZFlvy;CUM z0i|yiYV+t~-lVmVS*YYiYcdaJVxEFfL@G#17nv-JQYbD`-6&nyRaHbJQ+JY}i)JID z(PfJuF8o}yBDm?tKWIx*sQ0C)GYrh!Iq%$a&b=Xq=&~5nSiuNFa501`SU^>bs1l)I zRL7VekA+loSrH#)hiwZ6(z7yzsCQ04Oc=s5I!_$)XyH8Yv*&V8g1Sn^FY_19E%_Y9 zVL#$25`G11`kQ}Uwa0&{M0a#2*HztIO-IBa2xHJuPt&eUR9jz3U$m=q?!JB6PxN~= z;4h@K9YLjs`D3 zB-p}B1_9i#_7E*( z^0?ffPDPqF?F8{{!A@aGo)3&7kMvUhlxQKCD)G_`-=cl0z=-uAlMj}Hul!oJ-ww&6 z*{cd}SmmpJM2AXUdv9Bo#i{3+u7INwDaA&nhF1* ziiewpCan*6Bh^Pe_A-9TMUONJ{Lf|(5nAjnZEDXO7#F5)X7?BO2k0EORd}3zQn5}P zF%X?=B9|r=A&p(62vm^|32tr4yTVN*dM?+nIjSTdz;azADvHz`N&`e`=@9E81r#Z% zcMGH>r+mZR70!6}P%a#bpFHFB%#LT?Ov+NWi(BBfEMpS&W3V%sLk=k{df_eEEl2^_DVQ`fwM1 zEZ4efM+Uq;Ms2A>IeA&0!KeOh|LSuHH@wtd19oemH`{`;&oGAN68(>|hNW-eBOmGm z9qZ`nO?}SJ5RJS+oWqEX_>-j(yJiDDi0?A5yed_#d@@YxsMU$8l2VoQU6M7{ak-kP z6_u!tdY*LF619lS)yT!)P6Ex?zpLrB1Uom4|C{6nl4d`h$pv7PKdVQ_?RcC`Qa@-D zQ5gS%*Ya)S|=pfY6rI*RY$qpu=E(&!KT-qTSIu)lP zNTF)LEp#%tNs_@ynnl_O4oxlb`|i%hd)&Qu-}igppWp9`Sd=b^m}EBC0Qg2gr#P|F ziqYa25nE$6$_iQg?kRx0I@;!5+hhOvBGlfwbM`!3TT0Cv8psvq8%e3dsn~x>Dmxw zjLhh(;envLmRbxWm@+-V2alUiy(K zM|l$*t6;s-;GpSe!7}A#C(a;v;@XLZlEHs@kz3=Q)egQoHhLcG?O;Wa@{~EnC1*pj zDm)6>!CmZ&4q;w12F@;PcO6HKbWUk`)C#(11NV5e6js2cX?p!UiKs_jaqwR4Mrt z?M6Dlon4iF<;i!K`1$VL#TBEXV1r{g5TMs@m1*P{!ITle8$_Ft8JRuy#G(~EAU{CX zyZPdGE+#VZGnvUmPGpKUK|4`CmJthJ1NM$ndC5oa*v%b$qaC?q$0{1TSBI$_a#RH! zJYj>@=gjoYV8njSr>HGEl6FJX!WZ4NRXlolOZzx`ychFB~OZP#66q5yrMNR2z zhz9yQ^P@N@e9kaXYf#9!4KZ}-geCHP%R1%z+!7e$DhrE~*T}qcMtR#_3lV$Ug=f}e zO>+_V>~VSRn{EBVDOPLtEPloxyeJ(KP7L`H??@<|H76k86g3-^p>JmrQ5u^oPN;slDu zk&Ka1gjwX@jorKDY15HH6FF&kVEV7F)2UXWG<$*W`JEI9dxyH%lhw1XfT@E1?KPi* z#gweBWn)QhTqZlG1OoH`-+rG9J3Deg8`f=~27|AbWE-sf!cW7(#4Owfc~h}fsAM_W zz|c!z7iFU?%tmRri>BauYVy583^7_demR+v-Q(P!`Ja*bG3JcTTXPQyC|K_oRRAUH zQ9GvuUZOXHYSoHiU9GDa1niCFOqf^dhz|$$UNyLLCS2Wfwy11}rZ!S;weiq}U;r#XUhu z^->~Hlcfd9P6?~5>K2mfUdJmNWMQLDfdT+iJ6T&qk|I(9Rnc&x{?VWFQ?V!J>my&d zwDOZ?)o>pLdHh2h3%$ouRu^yOso!AM|VoIUzF?(wp_BZ_I=x{No4O50PPy=V5AIo?Y)vKhN%8&R`R>Z^D@8>wvf!slj0| z;Ah+f)VyB~cb{*)e=<}#7`f=a;)em#xQyKLp7MQ9{p0WU>dyvyz~bqjHvS^{=5_hQ z3#pmmTXGQP(Xv~^8r4)10$5E7m)yKHj@}v8U>^8Tk6I^J`c7i_f~V6bC(WoetSdyr z6pS9RmPfUfLE;olIq!Y1mt07+FV&1nOk4_?epPoBv!G;a(UUZPzTj+`50Ms{$(fW@ zR`MTdhNd-moK;f4ixWWik(6D{JK*|~T!>@xG-_kMiedog4fLyX*y zF~t}a(%YWmW$$1f7*w zoa$|TBA$o3sunog3+3Z<2H`}G^h6K!l&~W`l-s#`8djoT2wdj89b^FI9Cj&*!hW<{#(SAU)t`up!S=#+3SJ@FZH570;>-y>Y95 zuiqOpib|mDt;+imSS|n)@h4K4P>jNd?eT19cDoTH^-UW77W)y!pqa)~F%rDsPrZFV z{BUTp+3s;9wgnKgl$d=BUx*5+Y9`9zXzyr`qCk;ix4c|@4NZ=e;x>a`^f_Q|-mQMC zudt}}CFqIGi^iVNdl&bc)6UGdx?8`QJcr|zNpskFiN#Ee?MjC~+ zf6#ng24SW?<%ETMH2c zPh{u7-Xb8T^ACu&N5m#zrFe~Ud*BuK1JowU1-T|5Hc7b{1${HOYm$BJ?&HmS-+SLT zPoqK&8m*Csrt%HssB3dEgFMif!y->3TjbHpvG1x?^?eG=o#eO#8~_=RVV7_e*3}k= za0!vaM)*0oEDz-A4>DaS4y(ZMm9o(ozx6$LVj; zaA@?BU7LS8iZ=+5-BK~#6?o~hd zbz{5zCgT6^P0^kV`C7~>j;z|awXI=P_pHr!Q}vdD-6HN{7kAa}%))nnjH^>~uBXPc zsd7>yCnSq(F7*2cnjWUnc${TYJ%|%Q6n+8q-ZnbR6?fqjW;R@kTTw9ExS4^OK(Mn= zLG+s4*x6{If_KZHnAQ5(E$c$bplkj!SbAu$?qBDB!$z z60WJC>NF>EFWmGw=*4XJ3HtWJL9?q)RhMk0hGY*zvs?*+rEo9G)Q-9oju{6-oiA2) z=*F|FDa__JDD$?GseUv@aQ8T&;5fn~dC+`HJq2xG>#N?jDywt8ph%C6)<^6oOUNJN zO|{+J^om{JdL>rJ0Vl=;$o$LX)nss7Lfi9K5EB*w3E}7PB07^*KLt*8m-B0PIa-V@ z)KK*{)cuH4Z-XTm$TLY96imaF{CWG%>#bPRnO+1=Wk&+}nmFB;nY25lw1>=(KK*$2 zxM8^$*ut)S>FN@i(XZ`Cw|os6O1P0fdDL6)FG8IaqU}KEHp*8KZ@00rYP>J1*`_&%N*vqb2_lIroP=ffmv)xt5c>5-AujUKP79Y z&$;KAB5Y*;)!tusilxDLoK;fIYZE~ff0vcF7s(z}^fa?e1=(V;4Yt-9m<^7HfaD+w zCJNaea?Qztk%E6f4?PG%F~^=nTF602upSEj1Aagg@l>U^y)}>u@x9qi#C^=i&inqo zUj+>|!Jwow#e_uCs?cge;{FZqKvK&8Q+@}DuiVL=q=6LqmO_5#7)|#g0YH#&90Rgc z_|GGyr1SiCbfyM&XwOtF@`60)teVtiOK>OZ+mSujw8-+@PINn#AaE9qeFUy74)yMX zc62{rzgEzW`g&j=E^?)LKI#-|ao?`#>bl{+TnvfT7zn*Gm!Ua6uks@2WS}yP1_#GhB=t`ex*6q&_#x4Q&I%SU_+4 z+TruPuiL_P*YfN7O<5FpOw?1&ckcQKpJh5bV(d$7d)H1>j;4fTHBxRiRIim=+17O7 zswvQ&sN;JxyVdegU0^)u{%G$~ck}(@E=>t4a6K5Q%Pwz)u-gxRl=nlR$(`Q$l(ppP zt?t-gHl#TS2c$_L&vt?xRac%b2|Ec69pp)z;1ktRzg&LDDcA`cY8q1aYedXSFND_v8Cz;otmGRGF-GBlo%zq#o6CZDN~&QV zDX&q$o2X$n0`8B1o1+iAuXk^bB(X_Y4C>}%B*1t2w_Y$_t;KiA!uQF=t3>*)!LxL% zy+VL9J<+jSw*a_3d^(iq&uMY2&(?j{1*}9PeRrnze)n;g(7=`xd>EYT2aY$Pyn}EM z^+MLonttuw>pDfW)1#e(khxkkeqdeK^(A3QU|n26{h@p8=#IYhw?R(ex<)h?#dy4T z`h|UPdkfgY(`sG!LJ4+ua{>;-m1+x5KK;1>%Hk)+CzZocOx=>ZQ8+iP4hP?a#{<3- zG4qu7jqo0HxzdFI@1lQM?A9#z_jI=ZadG?wK%}gbc$`&IF>4e-6n+s;<|=m^qokSH zg@D|VptmL=nSt4mxgsD}q%w!FYhmeiLhc%WLW-aeZN(}?2sU?pN;`$zfi{ULErcW{ z!usBu&5HAweY0=gd*Aooyj5XE239E4xkyVU10~Sb;=Hq=Y{tch|z4gY2G9fJd@vA8wtMm7G8Aq>2V%mh=McM z2&~sqy}Q|q)&uGePlH}G)MMMOF;kC6CxupZXqWZIiUH4@Dq&+~R`1zXmATRhDqZ-2 zeZ8woWkV31=4^Eo2#wIB?RbSVf>cnEUmag4%xB})UH`@Xv_&Z$)#_G1iC0$?;evAj9a5~aC z=oy}ZQ+5!JDAMp%_#ON46E#!jF4Etx^B1_K`s(7}eZcFmqt5CHetP@m1LtHJz$-kf zchvh(f+;cu9EOkT+xU6^>Kj1jo(4Xw9)=>HmTvC-G%X*GPT6xmz7tW*l%E^nXVB$J zXRNfu|Fd{ni}}vIxrW8|7rq~_?0B4AQZb7YK@@%g6W$hLw$jTrv%4gaY;i^QK$97m zJ)BsGs3-Aiw&0gX$GknsG)zy9*c>%U=O{qO2qYm?hg;K3|72Eoe>=ibZ48vW>C<+l6`hH z5tn@cgFt-02KfXMi`FwS5H(u@O<_KidRMe>st4kPO{g{9|0yq0k$B_X!j3b|PF}3H zrdh4N1&{qm^u&sn^Tgl=@2QsdRCUGf==bOL-jk7psuiiWXsP=F1LBO~vZ$=iuxe}G zaKAkL{^IAia;P~kTAy@m&I^V`1_@tQdNmBy>eK9FR$akplgDD<+l$b{?6|O5ucS~%->ex)ykxuHoNUdWtl4mI!@Q0w8zaW6=qbl(9|{e zYhzt^xKIbfb$s8r=Q@X;IM4br6U0OXOb{xirG>>g_5UyI>bWyh){q;ur? z3%V_@5_p_lQqOA>K@@%g6JBmv5N+*cW><@34;6OsHBW|M&KW9P@4Z{EE3y)OY?YCr=y zMyN0`BgX_HNNA>&@kVxT*fX<(T_ALJhfoS#%y4v%#>nmo!GT$eKoQ=akTrm!QZxl8 z_{{$$_Vf!q6ix3!QQ;Its}=hS$BvikzE1T>k7Rm1)dSh|O>~P(ESB;K!c=bSj{nH% z%YnS=biBUq$-5!FA5E|fmb{*xlWRpVnQetzVb1sp&Xr0}-tZY@6)4OXU&?K{=qR8n z?1##%^3HwTlBb-k8U~mAs*Lra_W&iq#!B^y@N~OJ2sUg7vU2Ycj4- z#Nqqr?c43&?*P`Ex?GS|{WxTn4+djVlgD`80TX}YTJ7if$Ht06LLTFS9EsfI-BgT( z<;bwhartQZh(TgG(7O6OH>!-;yj5(H;BW!I4M~TATKez z<&J~z!M$L&6xr@Xu*lc_agf$-o?});Q%&7*zm?m_V5$y=5Aj2J)8!LSl4;5?WbVOK z8>GpcVNA_*^`AkeV0WUCe=Xx`qTHD($c{y zp-W>!*}po}1GyS;V3wC#E>#sLrCitDXvHsNAy@ovSm>U-kx>40#APrS_VszWSOws) zmaHXUDxCBeWM5v37`P4;PF8zzU0(8)VNnlep|Z@|dP7e5#G+_k)Rvii6)hY8;g3_h z?oBV_(>RlDITv!9m%&Yu>4t8~Szp_y}2QFqRik&p3_chrm+;1aTzbfd!AL1$5HcJ1{uUlGYs5ZoTjb^U+RyM!B`y( z@8awFgMg2a+-VA^P7Y&jkR~f8yE@a=e+Ev$!AK+jTJAK9fA!V@hx0S!4{Up{mw23A zQqPOiKoouf7hXIyCtbZ{5`RE*D42k5J0p|g^dQJ8E{a_bNfGwA2Ma>=B;H#@JhV_j z^x#1h56ZUaLDYXiNzbJhp|=(5LElW070rWW^5&cOz30unVPDMVkIV*GBp#s0aZ4*)L?a2VU&rU8U#DeR7}Or`oN#6 zq1cKve_UW)sQD9hRJ3fM&bFd%q`zyP#WY7bypm6 zN}V;ot=i&^-$B6f@;5ynmKJv4Vb~ViqUN)L^%}3MhPY`ej+gyy7xi3}-4JzES9c=U z^yuO*-VmSgq@!7%EWbVPb`PJSJhbf3cwDTwWq2*f_=@Wunqa|r@&3!tm)|c+kmg1* zzIQ=a*StrfjL(gB>Tj`Wc(qCwPuny8BXo^g1_N&ty{dxN3Av8*i)Z-4iLqZDMXx=# zxV<^{qK)Wru+BeH4UM+o(Y+ym8*K14pI6etF)m*5CXFn-9zLza*rC}mY_YT9jNGY6X6fv^4x$Q|qz9{D%Y+_U)C zZwcgic98i4c{#BHc$`gAO=uHA6n=%Y&Vu5OAU4~}&c+nGE2!Nm)?@~DL#Ky&D2Rwn zFG&s+R0OS;#*+cTgQy3KHN9C&JybzOq2%Df_9PVAi>(oJ(BjQ{YD{v_HybNu$Sj$8 z@B4Z4!XQT&35g8>gap6_hW~RUz_T3w+KZ7439&K~X(QGLn33z=plS{@)n`>vRots;N@XH6 z~-elDrX*;puU?MAjx(-$-R{OL6Y+tHYzr%9a zbs|xgtB&Sj$nn}s%PkU^8T5Q%`pfFr%b95g+Uc;7mE&?l*ogL+r&LO!BYgvNX6?uO z?QdofX%9(S&G49kTHva+BpO3D6e494?CW-|ev~oPSHjn^rt`%^#BS9@!G75_*0s=8j(x_Z{v2SbwcP(Py}|`WDeXemPY!>0h%La^0mz zc#%(u6?9ZG8QATGbL}*qh>JYLOa#cKGx9NBZCTNq>DauvZ5%~obz6n(eA~!BKzpNyBOc_Tj`c>@gCkxTf*Y6EM$l9 zfBrO!*0e~A{tb7>o%P?kBlL}X&e>Cisnffj!!vR(uGMb#k5E*OegoKpwY!`8MkhmK zhyRkZyZ!>&P`d+ooK2EFOcX&B$KNH~Iop_>g2?SPv%8)ldp5FTB-~80yU9>cs3DNZ z+1ybWBSs=Na%Ur&SZK7li@3x_O>Afkp%C;MjWHH}&;YrX!%i9nWBLv$9JoBZnc)h7{R7 zxuUA-ygN)WVqT)tg;>2&N8Oh+uXm6O@R3egv04{B1_ONy8_$Q3r+uemwW_Wcn5IJB zsHv))P{$2BA){&>Q8CFIRaH{Y6TL`;9jB&#I3Y6nhnjmT+haF(`UgVPd(MsJX9x4( zIR;C9Nv4ee9b>Tfwtjc!*6(Ge9fe_9k{9KM&>0@{A(@ltigp$5N4f8Rx35H~(2Ve2 zMK#ZR44vz$^;-N9xI%vd0CMxgV6$7J02NuXmuq#nhS7qh+KHp+DU3J9p8}rH^*UkX zWJjEGQ9s!tzx);P&GYl`y1+&?aa2f|%f2`lel#BtxsB#!F(_N*fVOLWVx_ zN}?pzoUua2=-!-RKSI~M#q5UPDRz8|=lFin5*B}D>0BW>XhBjd28*=n&v?7ug1_vI z&?RrwIrJC4x~^9Nc|jgz(JR;-7@^uP8v;1QIv7nI(GF_1KKnmoNd5udezPKYoJ~?q zXj4HDoLeolU;Z(unIkideG!zD(IomqP>{p6wm5K5KX~@ z74#4)#R_V@>B&P51+g}T989UV+DpX-e`a1PW``Zv-I;IZ`({HHvHr!q!LHiZ~pQK%^1sJ5%axTTc2>_j&tJ4JATw;jVbCe`@NLFy4=Kws)?&K(ioa zg*l`o=1`?Mzo$1NPA;5Y{MB;tPQnyMW%#)1>0@cquggC9ZGBG!_+pRzMh+d^%>woQ zJ=NB8{)}+3?sa}bHB?1^K;};zKqOLzengyC^d*J8v3{=-J|=7WM}C3bb_x)ZVbrEG zs^6*0s*CjlC`7!5c~#d`QO}A^hggsB7b34~dM9=fwibF#D75$8ClxK@5;Yw5w#J@ClpfAMgox*CFsUlv?y$&`GXcIw#rq4{zct8 zKg}8Lg?Hb*=iYPXCM;nkv}M4wKnM zdp8mewVzLzMRU%c^dtzp;H(AfyS%C`+vorI3TQ7@?XOT`6~OZLA3RGtgdy35VrD)S zT0OxCVIeM?oF{y$S=t#H63_zDb?@h8Gi25^M%ZIjHk}55G?Iw7_j2^!&2B;?#d_@% z)#@c!cPn_S_cYb_`2bJ1zkSHRK7Ua_jkJTnoIuTqpM=3Euv<`avo2#_z-s)1c8YhJ zhCWjy{WjU}ctbx7s9L}?$K&evnok@*hjl#`-wq^5c7u1QOpojLh&=0)CUl5J&dc;= zg|pEFK5_n-pU`XZ3aj}kMg0_GE38M&=qqZ|sh+yI+IXfXR9TM%TRy#H8-G+7$H;1U zDQfddhdXzSe+lRE>v5yE5eKSM?e_*cQ1b!xN)GmqH5mw)$g0y4PxMLvzpn-@on?x<`1NO_D!o6hRcm-vyO- z-He4{Q_bv!1l_Z_oimZ_!pw3jXd##oV|ja`;Y^y~AH+jQ#6r+Q1q)57phhm8g#jx? zP>UcK^|Y`F2nI|gVin)a-o@+`JM-q7H^2AI^OI7|bYMM+r8v012%r z&gMZ=44^>6fS_H8q{0SfG|%7~3T9&k_{nbv`{GXeHT@Ia38p=X+MT7mI1iH5QNZrP zbJa>ul%M(M%NL{Bfy!Vf4WrkPGf2xp^CNsJy`X+Do8dz+S85<&tvI1BSBHukEO|mZ z>u@+-i62wMU?0B1b>a}jvEjAS{`e8GCbm9M>QJriPjlmPlNvNE5dR)N{BD0#p?%*{Z8i z+ZS|_bS%N#t zf875P>Tb6+y~S`Uxao;)MdsfBoHr6KjveKaGG~+}fmQEPB}2&?Xk5o>ckgwWJh1G! zIdqx2eQDpzbi0|>wo}N19<|0~2bJ8eNbiXL1FZI|MtGcUQax|fKoEUbM4Ct-*`1YZ zc29yP*V#!C?;@|2;}-yhBSmW{Q>F?94Fw$yAq7&90MP{ssNfKhxSo;%B$`k|hlP!l z%&vXD5TViR?8n=AZ)es}PKG2I7_vOG95cV-h!L6IN?1rf1He9Dmn8V+Nfdp27A$ZM zBe6fOC*Jh%TCKyeq?@l!Pv7kKIFwYXYIb6f_?xgAf5 zJ9L{KgzxkdeLWPIMcY-mP{$a~h>Tz0^dBVC$>pJ8jW437mBm6`9%P>1&3}%j`XG_W zP~uZ?SjltwTs?AE3%VNa=|V4sPJ^IXaIdmGF7rs~mEKZY`e@YF&fq!o&NF#^u&y%n zYo*X@NmpUspGAlM9ZtXPavEF-YxPGhEdzqp3Ff^Y9QXR14u1#hNv-~>ubYi(RIT2w zN<7>>uEyu;mqYN2f5-3DH#KGFxcMkHxWWC1U(UO2J+I{68fF_fMjj=f{D|&;o<&)w z%%PngM)C*}9*K5M@Fy*EP6HH4p;ETO`&P2iMK=OvuhC`TU)5#1Xf4k2pBtuWoW?7w zX*|4O8?oqk-7ghDukl}VJ9E}Wr~hZ|{u#Ovr2TlDyX|^=6pq4CI0{GM5P$#$95XI> zoV8k8bQ9-xUS+LfNxmc=3aLk&2mN9N&p(z^{bQS@8H=?%mK=12f=1BBbDlCOmMowU z+oY>`O+YdyB&5eC=e(W(mck(k1l#FrV;jo^azc)6^4dr;GKHj^#)gOPe?~I0!zGt? z?KN1pnfbIY-~RR%d1wBKX2vF*cjjCZu1Obtp5wmZ{s2}*II>_XnEmUDmJ9qTPg|(X zd$EbxGGpN_3k{fXV$S&=w*Ry}kGHOvi5e+g*|lO%L9o_LB}BQ>xhC=%x1PKxR*?x? z0Nuu|TE8{`wpZP&994$Zz3QIe44G^=W2+)Bf^EfBEB1ech|p`~oaHkc#m~5{Vvn4& znb1z@RChG7Q9Tm5-nmOSBz)T$2@WI%5+8Sm1P+-{718Y>B4S+ammxB)`tVAP;`>|< z%!I<7H+tI=*E+*O2KS;MPLLDi1a9UJ2Y;JTwDXdQeZyuFOQ=fMSi$qN5#`E=bbp&j z4iM#>6Sj$lBH5T2=&KKA@gNT1UXlA85Ho~hZZTf~rgtJ)_$1B3RrhzT z!Ss`3ww^q1lT+&q94VW-|(&KP~xt1)@&{z znk<=KBfkjI^VmQ{uRyOh!Q~o~?4IB#+|SQsNUvNiTL4Q;Ou@ksGfs}M_r1KLH8 z--1!WS$H&}wQ>BBi2fRP;jNGflg>%tq@2@)8X0H%Y~n^_k&Uw%h!!vVMZXv$F_P3R zC1%6`%AgyOS#5W_g`Kilh*>-f=jS`RIK$76%&Z@YsEZ;357F7|8;E;C8(`=8k82d>a5a@^ilYz*GF<=_Ri+HzZG;yJG5CgY!Q`ASUdTQjqD?OORt^ zhHOjR=sqc7M7@-EO*ktMxqcQR*OcoloCQqHnOKK#Dzdll!_GMJ;}r}tm|kf#pRkPO zfJ~W*W;_oWeqGw8Uh1A91wdpH%XprIC`Y^KBdnZ%1=m^QJkG~nlZN_kbk_-x(IN-j z6BB)eVu-CmWC28eoi772)EwKU4fh?C3JnF$Ov;G#&ixof52Ko|s7CtQR!p^xPy8ot zs>325vmNXlO7v?*l)(@!xkm&eJ;W#aN{@O(`k0eBKt&PJ2nNIyZWh|Kfy8aJ&=3<9uJ zG)6j}<2Z)(3|g^Rh51Q<^okg#*xjDl#F0oG z8+Z&ex)?=N=@b1`oWzFb;!tk^&`b`yqWw1UR_9bh!C6+vkK-ew7q8WuC6B`2YX31V zi#8~i)MuJT*b)2?O-i?thsw+ZucR@x6#Wcv5)WPieZoH5{t2kv6!f^lN@Sjn$h6XJ z$~NU%a4p#CJ%83d^zhaZJ&&PVfThGi@dN1c8OYs~Ol?peq|eASna0y34Gc;@MSF3I z^q^_>i%5UsZl?tmIHPiY1R`9*RDr1A9I^GHjq2YXxXLHlX`O@MKHv$8=RCPe7R92N z6=!7KM0kb`y9KDGX{Cu4oR*VfmF22%8KwlDwdnULW$z<0+dyerQPO5{5_;-cIHrIL zEV!EaH|X`d+l$DLFiFW-IV)zNJ6t7K@p<+Hvk0A~PME>-=5eTj4|gZT=(S3;u1p(84tBZrR;(NBCSwfM3%z^W~Ty zavpuow<>K~olvlGpw`Qi*CXqy0@0+wKTZn)O=Ih2F9r81uLd({!4{xBlw@&@{eo~W zGOP`&qoKLbs4}LGDPzibXkNLm%!lZ)tjsB+>i61j)ptB;jIKQ7MabL}#3Zjw#m^Aew5x>`7@@yB9np1fWJh)yq&}D9c_G22}CDk~-^M z@{WbZLi3?{@4WY>`=)!`J??$YecC$=NE=?6RsR&cf_k76fsbU2(E@`vMpF>NbIb~k4 zhTFsKU7NSx2TV7;r@iyaGQ9u2*020s%L4EPOa*dWhM40Fx&!(BWp|1#G?;LXqtoA` zI!PH(POr1GQ1gHYbp2fk^lQ*T)sQ$sYo3e%`}xrzI>_JQpWX88mfcNznqF;su64|9 z?Xprt-v4QeY-wqUw3C)+TR!KjtqXXBj8GN;l@cH+oMrz;8PKi?e&FvMSM_*AxQvKm zvWNw)&~Q-Ls6^ER{0M?<7AY^DgCpx71jV|D9rmz2WItf9+i=Lbr|GDd4YT28$fA~} zXE$7BZ$oU;>@9WyO~F|sz!spEWU5Zm>@}WF1kC~;agoL0pf=8go zLA7Ceg(P&BB2Ke!2~n*-(JV|g1gJJ8^q@I@hNB4Ai{AjAvmKMAnwtb3TCkl!uLg$` zr-B)nfUwawpij|nyB}ZC5jg}0Kh5^5OCfeUMN>AmYt-Ek-RMnPYQRHDTq8{DlL4Jn z417tHM$X_s-=0V>;-SJD^=$=5^4tW+0ithQxmBuQk^^334@pN8o7A0r9I9SdgD{0P zLcR7tAAxBaRL`PVD-5!m)Hy%|z5y#C+HN390iqfS`UrGlP{5$5bY(|p6~eJayfLx2 z?~r6+On8UbsK;)Sav>==CyecxtIPy>;ORyDZe*{YCF>FNhlD!&SHXGZrjF== z_ksHX#nd(LUJh;YE;6 z&U4&?vy{`6uMI?~88qmqc0mZRfs%icpe=5J%783D(A9t=>-c8-1%9XXhG#x>(@X7Z z9n*bxyN+m^cjtzk_8D{=--c;>5%PIj=cN(3hcxQj6U@}N&uWTNV{b%fxE#%8Kr~fC zMENMED{?bVp~Id5nClmD9A*xh0Wtaw$p{)@tL-8FkHQ_{no!?zmw&b8Tl+RIjhcao zV!H3$Oc8mII)qXW>r@1ugdK2=9 zgUmLIRBM06y$@UfRl#nA&ye;(mZwu0!6YMpAkUBtYPQ}BHoP(v8ime&+Itf^{6DyF zhVF-!z3g_1N=F2k++o_?pr>@v?t5SPTK&h+xc8;#XsEua2sKuO49LJ7Y@r)Md`DVJ zoB}W9ZFJXhhBNA2-*o~<Z*KjM@?5M7_I`|l(IvCSg9M|&q zKNP&a`Z1m8Q(}gkKpQ;Isr#VAcSo(;Pdmn2 zAGkkl{nY*M-ru=@=Y7x3ZWnb#%Q_;8;ih}Ol`_FNAp4hA$S=3G?O(UQ)HUnw_ePca zc2IF7D^u3wK%ZRW$FzHqI6G0_2-WqOJ{uW6;-KoU38RUN!CE_q=nNmz=h0r~QgB|I zhbYa%o!WtK)UM5454`T^ucBXv9(WBz1}5q$Yj_@f(;nX31qvnlAoMACXt{N{wV`dv zJ?p)!C~6T+#A z_xsRgg>DYg=oaaL9(j&jAz5^i->VI14!fCYr2A>;BJa}xyi#;o+2-A+j3-{x zj;aIHlp$pnbna||1mn;NrePvJhF?Vc;ZcA&;#un3?Mbm5rdgEh08eo{pthsRw$Ltn z5XD8G+$bKSss=bI3!N#2Ii_I7mVjm9uX>qYW{^oSwbp6N$hyN#%O$R+Mx*yqc*#2l z)qdNOu$*VBnL$u~Jg|Q+8;3J{+1oPcW5|bd4hSf-W(9(-j(D|y!InZc+tk0~_0g7@8CbMuS^aRjGwSq%9FE!bDs{*lmu&U3_ zxkufA$n%2r8UF3Su0UNUo#g7^?``PLb)ADE76)ajNzZ|9rG3Q@T6d3USR)>c%-D=S zbAhMoFGzEJf9bx8dcmVHea}FRW*<~4e4{i~*t$8SY3z`y`Gmmp=hzlyDYWbcmTtAS zS=;VA<{eU(6rNL_3*BaSNxM2f&}ZH>%xme={2N=@Si*g%Mv*c3fYk99gQJOqos$h_ z1T!s{g?P}o)4hlix3i>VroaqLZ0v~m6Z{IF$ zf6W1TuY468WEOEPcqFyPVrz^lonG+-zAHtw-H{B&pe#9jr*j~2DRLfx+Na1@Au6Al zEbT&)7-o3rxHW)i1UWrJ%90{R#W35o47lK5nA?sj??Q!SNKvHw(X|*>8%O8{HGpdE zry`pY*8^r?fobw(_fXIfI94fE=Ye5om1Ff(+Xb> zf%=CkJJNoVA4EmaEq?N3JTbkKg93sM4_deH-pg^u%>J=6s(l$*Wc@7dtaPimYAYo^ z+{Bbn(Y-zzfvyR-P=;x?UgIye4=9wg_Iib;lh!(Gng#6&JzC%6tlBUA5EIO{7<3&< zA?le6yxDRp(htfh#iVdb_Q`a^Sb?ZwqiFca2MWGNSMiWhkW~jH2Os8%CkmW(FL+m| z-9Xi2n%;vXX(f>-BT54EHB#+PFnd=3Mr_CHqA+tftSKf9--jadtwL0>&oAv6slqKs zFbf)S8a!S^VIj#r-f%9H;vVHf)_$+Prw(Xkth$ zG8yQ9&~^P4h#nbts8|VQULpN)vh#f*mN`wFMwj^lk9$?zFURrxSy74_r zwjv*i_!b{X*c9IQr^D8vt(u`I?g!bn0WSS&#BitYxx?%B3yyU`Sfb3 z=w}sH!EgG0KZPIqDXv>D*r0wqxvzn)#kY{ou*zkPL{iwy<~#DPH|sI8CwR1PZ=yBv zU($IgA=L0jEf+}^7gt$!jn&#=nnsJbY%@eRm}ReGI?>Mj;EYNu;@=2&q>GW!zFF-Z zPa2=8=cpP1-9KUDkV85Z8AuFi!=PD*)iJP9=v8As)$}ue@Y>@JusNu!BN2zdp*)?@ zoK>Vzq#GRizhzSFBD1IEtCoGB?Dx6%whpuow+@5e|Npb2?ys7dEw$DdV@4)o{2uea z>-cX*c$~GFU2qdumd9(Isvxzo88 z^bNY`oNkivGO0I?7;&&(y;mF3#`Io&kD4Ph4X2wnkT=LyvK4Pwwf_sE5(9X~ zS@~o${k^!A_InqbY^b|)q_4-Q*GD2(l|%9&`J2v&8aLzSr;)H6KsL02SoVmBl&<#I z5iMHw=x0W>D8kjzfzJDH_n3D(56D?GfK+7SV|Ws`Nk3CRHwKN56r1qd1{>M1YLD?e zHxXMcFlXgTi$KKIYr0{hTyKsJI(=E3!ZAF6kI`e^0Xjf1Ul4xfxvBptatGxbf^-eX z<9B~vBInocuiYEU*JN}XNHY;p675zm41OAk@th#x7#W}v;Yc+N(KHEgcerc5&yDxh z0=6R?e&YV_Cz$@1Yqo*B2)34JQEbLhbWZ6p?)SAh?7T!m-T`lnVuDGK#%PiRQI!9s zv`xQY-cx4&#$G0xDVvoee-+WI(H+%X%xaCD$x>AkoJ>dumlZ~7!8pDe6O=ZtJhM9LmcMl88;*Px6;bPb)TQ;pYaa9^fH5!)kRm3&G4ot!3g2#85@)R^ z%9nX6L^IE!*}I6P{uDm#oDoIbD%Tqw#z845#K1$0D2f?XfRu>X$}yr8388Me!+h{| zx58F#spMlX%hn3f%ySSiro3n)%{1>kE#{ko==$3oCQ;KUi6N^jo+vIwkY$#af;foN zB!<(tPR$I;Y6{IZ%!*6SM;`iXh~U}aN}@Lpx)?-la^~kJBSjoT6C_Dl^gt}*RkNrj z;CDd`e+Q-_*>2qEJE362yp(rOJJ%4opNq(S*8QG)W+!-Cw4qjcB+@&0LJ6T5PFmTO zpb3&7;}{H$WA;8uVwT^S4`U>W?kU^#&-!v?35aa8!t*qu$E()b-IvRz|^J78Ob2w9sK>29GOt!H(^u5=CXrT~{L? zt!jQvHnQJs#joNQ$u6%U+8|!?_TzHK>@jL2h!1MV0f^?>Jt;azTa^~60PB+mk_j60 z2E75GnX}feKx3fqqeh3G6PD^QJq_9awR^*w`ulxPB5ty<#OOnB4kgZ;pRTdx%;u`t78rOMGOjv4SvAu=} zKa*%phOyr=p5KVg;E|=e<8oZ@&<;vj!W1w@+0&u34M_C2EfYEDc$?KIz%L{pJbs0nEy3F-qi z%$uWWbP&4PKkJ``Kk$F4H5`cRR~*5r9Ldofjgi}8HS{Qwkb~&X3WwGC!I4N5<(q6z zFnynB-N>$}E0~?mh)WF+3+DYunolal|~Xc&yS_1fMeFsqJAg>8l~wenyjRQU=Q`Uu(>RIl zb`F|*3Bwdqx{ldO)Xwh8Yw|)^==r9zNV7~K&?k`(jk}h*chMTlgkHIQXlTBHNQUPIZp=apsDu3QV9@4Sp(bKG}j!XK#1xK=u(EMwla z;$QLez7#HcYdS^#56YKjy)FqHu0-j2Jo!>ZUY&w$(8_fT z8nMb6WEu@QUL%M2A>(3Leq|E1cP`Ufd6P29clZ~y&(s0opwg}6@HKfQJn!c{DbTMu z+K=uCPFKbx5f0_Wgm(k}Z4>Kpo<&sBB*rug6>Ul6&_TIg+oBzpS?^IHDnQo9_%Y*@ zwz*{zwZXd7D78uoh*m%aQv5-s3y7{NE8&cv_|iB_v)(A0Lmx}^`WCZRUTPAdTi<}! zU$y)bL^DpicNT~^0zFMr4BhYR(04;O6a=E+Dp9KxT=siwL5-#&Hko(4M{+o^A+$>chlL*C#4RkwtXcxwLcEJqtv$4Olp? z%nx3VbV)IRKO&NfK(r9fgq@xVlqChqYFrG}I<^?S zgU35(>g*^0TC{6@A}g+$qJuiPPqVHCcsMj$mqXY4;%1#M4IWAoro{bgh(?XLeotX> zo3)5yK$L+vN^>7ezm$r?H}Wm*V)#d{aUjall-0wf&{go#jlQI?)L_HY*7UbtbXSNL ztvoy9o^=C}5EJexar1DbO$mZ7CdnL`AgmuN5lvKGFh*C2n8k$q>M895^%!3v`a(Mu zzAIl63Xlr}H06a!3gv|RkzV5*bTl(f)6NZaaozrityzVLF>!PWbehFVVbbP!hUn({BkQT<1rYDbGy1R~Qb z!HkmTuSgx*{k~ddMqK1=%Figid8YTg&>nY7-Y}MvSi=2Qs8ifinA#7A`lRE^wzq~=*V=h;<`Q?j#q31_0ZG54>D#=5i0#ix=dd*?plr*zrutq*phcWb~guMb*Cl3>b zrP(tOIZIAE+q=S0SDmv>DYOS>p!a>3__OFe(oX|0la=Pg646FE$}=J-5VZi&ZBifu z{7v5}?FLMi=R-H%UeOoAEB<+ZLyvp^5&f<*2Yux@87ISN7+pfIsYeD0XelSyaI>{r z0dto)EsCo|tivz)C@8HB_e?lP5D|K-JLny=HNZOM%=uow8=RPJdhCqG7c3k0bYs< zbHcZMqvpqoC@g{sOk1%$>pUyowunlK&D0X88j7f1A2rU&QGv~djHjQmRCXHH5RF+x zDiF2Et#T6dD5H<~l6;%e-dQW9_;&efC))zb zAnNXHQ&K2Lmgyv2_OdP)Gy^6n$SEQ+HXIZ-I^I`D&E38UGz}BM%+6o9ORF~PE)kWq zKty5bh~A^OIf4S4y_!j7wMyQJT9ay))LNCcLewg?N^NplsMo&KM?3|-R-OdEv~@0f zIcxWgDSi;c#77Fjs5c6e1kAiRAhb$7#u1~-VH2P)asLA1NQB5XmB zGN!!)-VpdFwz@A6q;_^iZ;(;qR{4suVvc~9AigQoRFQdQ$tltqAc9Fv45BXii1A0? z0V#&yGu{9&ttDb{1yd@nmD?O?u2+j|SEV+`ZZ&T78r@P(_*T83f9p$gwNkADu|txe z{vjGG$6tvkSXNt@h#}s)r225Lb`B)tW;BbQ=5>q)XNe1idgs1WbNZq!prI zX(z^7w=^kY=&T*xja#6vhyIAa-}lg5FwVxA1UP^J@ zn;&?-@c%BXc_z88#!p=fTI0T(zH5+qb9jPQcvd~cvWEZ>DHGu|3Gs)0D}%dzNkPPH z%@%h~yQd-RnTLL?z3EU}rfJ37t?H)VMyJffzdPxXd4NJWy|G zo~~c}=ha_Hp{i`vRLetH!_U+#^l1eeeUhgf1HskogLM$PrR{7_LB^P6+Vsx6o9&*- z>X6~`sr&#=dYkE1GE2w7=Sj+V*t)Unv01i=&&dr3GTH;*GPlhCSi7Zv75>iuPuu?P zz{^LjI=VI=svZh2=yAQZaigO}>Bp<K$W_qjcPh1`lp$<4pY6YTCt2?rnb$MgHEEK2*Yi-n75>Wq)sC0Dey9CT zKdQghn5(+)`-}de*51N3R!hT=_9*EO8Am3`CJDMY^I+$h20LQs3Tb>Yve*1$r;0+> z`t+BpS^xKlj?oxjul?=5(Qtd?WqwF|7*@Kz+ws-5@BBx191Z_kcX^h%DbEG%^YEb- zZu4z?>8UKtm<|lkNnGdYF?L6iIEbKf;47iH`9b6(bi1kKp*2Q^pYTyi=+WK#SjDLH9wnwS z5mRrA$ja4tSlAzN9jp4l^-#O$AKNjuV`#@Izi0nHYM(fkxd-Z7M|!m5(Cw#TA__j0 zCu-f%hUcJPnShEBH_l0Rek5|lxB~r7lI<@tD@AmfXn2(<2}DpsP@StIO!sfs+Ny%pSD3TNnJ(DOwcadGtStbY;?#a+!c`(<* z6tgi2J_g<=iGb;yG7)3Sl7mVY=+T1StG(-Lf8ovQzYlK@-_lQMfA+atn>K&M-Bibn z1+&hRLu^KSHc>y>Mc%{1?4$s7HD0bQ;(A9oC=eC2$&(e5P|>V2sd6P^M9pLv zK9R6^*coh+(T1N#~odcjSj{$ZcSBBUo+P4u%{k} zcPYZF7YAkEOhb*_0kPfXi1IKaSUwpi@Q(d=xtmz6Nrd&wDKbfOBnxX-E1!@*_0{`( zv{AiB8}S`Gv*9!^+s9i_qY3bJ!X7Dpk->0EHx+bY#K($L{f2orpQOG0K8QH|6pvy+I4(kU{` zs?DH)fu|aKV#soKULV;qNcto}^ybCmO5EJ8e-UrzsYT+X+xRT*FUNDziXPyAE}p%QQI1}6b8vUaI{0f#XNv+cY)vUyTBBsy zid$!q!V6)}sXRw)cty3P+<0sj&vtEot4aNc;| zH-S&r*%8}Wn--^=MAWK`L`Fd^#~_C@+C}}Ml|vUR20yQUue{e*zprBpmaYER`Y*5r z$g9JVR#`;sM3|i&vG}ugl~7VB@_Sr2U3>kf{CjuwZi{al+cvi2)c>Om?YP;(zf#i} z5?d=AzR7x6BY-evbwvkLs8d}@*c553; z97s!x4Hx@i%!X|2Uq-`?pa?K`K}FZsRX7 z_&n+=j8-e}ts@`tPm$-PS~Ba1pxfAE3>zbWUcFZv)h6^_y(hXr=334AJcc6xc|eB0cz~p(v=UXK z1al?shk;)jzmFHtoFgpl;PLpUe@#ZUxE)o1n;dDhBFV&ykP2`AAdxifvQuU)XQ zz(*NSQW7?iQnFGQCE0%$JojWK3kGyc9usbR)iG9PMJbc?Uym(s_9Q+M#aV zit`gQ>nk$qri>s$^!u%O>&R?NoA8HtLT9`3To|Pwb0U((C__%-lQ;v+Qc{YHp}YQs zwp+_11~HhC&eQiF`a$L7Yrg>_P&rKBZ!zLY9s8Z=xN#=X?o4qQhe-+;n2dmv#VCX^ za2ms9d^9kXzT_XnpzZuTjgfb)!l%k;?yu%lM-GGPLj6i>UWhx-W0&YL68dQ&%VklR zU_wtTX+=qbGsE!6Vnib7h}fC_(3=J|E^qX>NyM)2L>O1uIY z1bo`XiSNG?Zxq5POLCM^m5B-KQ5G_tMhS9^ERX}~8+~ud7||%Ld1u`_72v!r^)?~tpZWPijB>&;=pRoH8zq#-a9T>g1R(t+ zB!w#X`XzdwS9oAW8POArNLk!2b{Zq;+vrwHQkvz>PphcqlTYk%M(d9l;b%>(LLOZ` zbirMZd*b89+kq0w!HI<^Bl0rTdp|^~e;Xka;T_0HdHh;*!uU*%ur_2y--^zmuf%9a zh0$lBe~=%zZ3^U)BPJ)(9{rTFfF`jOpOY2+$yoJ9Dw#zdM_$6{h|sBb8tuY-i;YxH zq8g(oaI&1sm*vr__f7Bmp*cQ@-jDw>{X*AOZV~|xdPXLnlQ@aZ4BAF=2f`#m1|*EL z+|j^N`n7lptvPn&#$S`!Rdofdhfa9cT0WLPFm|a?r^UyD)x{{IoiQ<=#TjfxE(P@# z0ng-eYQ~S!r~UIS>+Y&M{xUtXdhzG|W+kHVcYXK-UqrjK5A>(oCb>!ch)vc+B|=qY zf@gA=B1>Nbnj}D!z@Ko>bo~rlrj2<6i5LVNDdT~zKZtZEa^uD?vwa%`mUcr>%3JtUx5*> zaN5CW-970TK)dz7KYmTfa0OF?;Bz1nl+Q(Sjg+O5RFoDJ6B0ba7B+xYfmWKt;GB|? zYME=|6_^qPjxj%{lD$vJY>Q>xwv)C=bI?=I!)+e4fWh_be?YH4+Eqefgh^H@Dn+RX z-QgO!hA(ob*fMmMCUF5T;HSl>h1;mfS!9cBiOX>X)F9H+OA&CEN(L9uce?JUk47=K z#%GjO_qz@oxURp%$kHUrX&yS-I?tfzoO`rR{VfqX2l(lfl*AcSgs%Rc{E57)Lu|V) z+!a3)-xGc){6hRh_@PtmVB3y%9PPLxek`VGTxsSj$uQ(R`dIL2oko+m?%=_#S0}G0 z*3}M1bC&+N83LZhF~EHg?bTk7=Fu%jg!WKU#0}0%;=TBUF`-YX%j%Ritxs#y+KjrQ zJLwJH6+@gx21Kmk!k;c!?Ap+@I39aB^V@c9-V)V>aGPi9ofB9qZM_xhoE z?>sP?Z^7JK@`Q0O`idBV8Zl!}vZ%-{iX*yod{bWvZU(2-X>~LZ{6=bLRfL{|APVPr-RW=^x?oTDlMd>Ay} zynycYjT_Bf`AV+ZyHP5Z`4h7SzFQUv94HG_uhjKfYZ(3+2D${1^<5E z7}oxw<0>c^Oa)3xfiuTNbO-YL)4nXX-cpBGc{=?)sgqP0t(tXq9%>#Kfv>+SgMW>> zs2h?dY0Z;KP`@x5LxaK{;hBBU>^s`l)AoAXw>;B6d$*l33jV1rzOSPr-bFf|>G)Wv zx6k8~<}{E3PATYdMegsk5o1vdgMP2_wO`H%R~b=GjI_?Lw+xEAwS<0Lm_(4x64k{E za4Uw#z_FIG%NcX3&g0IeU9Z@C+D3z1jEikS7Im~ev+Ejn8_qVzZE&~HJiH6O2ULXs z&I$CBTNLO-&@KWaH!%7$j?Jnxn_`1^t~(gEC%Tk=Kbqx|FoB(v_Tv+Ho*c%svu8<> zxCB*j361ta`*r)}j%8I&a52axb*STC>@PSk$uV&Q*9-OHRdN*=CBczXf080aRAeth zm%Hodk?G&Rz~d?CrWJ2s>7=yoy~W>Zc}^HL#*KDo7Um6}@Hm96&f1R)QU-63Hle|p zVKr?@-3+#LbKTrQdTI}XTk1q`Q{S!TSXGS5lXwz(TnO`+ULgbBr3CqXT1*(j>2`6x zB|^O^p*Nc2=XlESDd~5>=lr3$O3lrI4&8E`La#?B(r2Q1n1Ha=Hz4vf{x9RJCL@>V z5(?a~zNvBtDVr*|?kQhOVs|jZG(dzhxIrwKlL4JnEPff3L+> z2+EqSkbbWXsliW?lS*$Jh(`588_|W%|a_V03ZK->LWwy~-#t=!l z44t?j6_iQkq!NM}>8G`aN}zR9#-hNptBzUstmQP^7x-K5N={R~wiuyy@Ss!1B{9N9 zD)GsHx7Yxe0a<{ctAR!~3GL2H!V&w8z>0b^Nby^f(*s|Z$>>1v$gU&K1#}zVhH1MD z`CP!0WKx<``bn#~J;7{q*OH-W4bE0{j$fs@42vE{e?^cZJtGK64%j(o?e-QBDtndnu#fbg*Y1{JX$*{X+bO zcwIQ{YygK|fJje5jHufSLvFkezU$RM4$V411rNRHwNA~dF;g7@JW_>WJ)yTdBi0lR zC@PKqMzMsB3vUO;^(E*I%lfiD3jO1NukX8C=9vK}6=2?_%Mn= zgnkt`4pko^5mRI9Q5v7(2AH?(y+JOq9NY@pV>7;o>O=L%LHZ|EqaB>!?;m?+JP&+( zO}*S3`*z}|;0omK2@l!ps&BNrge0Oq7}HrCHwyQ_?Oc-Anr9s*4|5I)Ns#N{3v8fV zpT>vvMIp1l_;E#RWLCIva zWip~1Zu(X{R0(E)*}r-qzkK%2e>?bM_mXcon9!QLGF*-n6{?y%&Y?wN+PD`_akI^> zP+cFHvyl}e9;$v(oJwDgHadCgvLK`BJUYO}11kpi-Rav$hwuBp`%F%g`5xph! z8Y70wX=7XIej2*SyR^fiB>QS$%D5aD*L0IPjrbF{9_W9#uVyFFOdD1_LVTsqn^NoK>`@runm9Yg-A7Dl9z}6*mn&LKtz+~o`Hg9 zUk+5NAVC)=CE}7B06FZEH%L^hcV1w3shiN(R>1M!^gQs~^sIR7-COFYdO46~8ijT_ zM^r!6MCt+Pl$(3BC9LdI=+^RQq)E6Ook|b-=UQwCW?H@oy?!+Pdq12Q@UbTQDkty` zI7xRh;I=mCpCpM(5VNQpm9L`T$GPv?V`hy(1@1j)?>^?4R+r%n%A8AVlPArs#H8tK zGdp%VJN74_!voSOd{<5wN8@>n!CCV7j(;TmLHr^Dw@+w<9x>`CbVf_U6`|Kk8xp;0 zh~%JlONuKpNx*q&%jy;=_l)nXXT}GW51Kxqy%Wf@CEQ3OOM7Be*gypeF>_?`cL07=@t|l$0=biI)St z!DWq0a8Tp+n4GXD4g`BT2Aw&!0sK*APeK8mjADDUTV(|I!2v;s2d_JH?|UiM#{Jx% zFg}f!xiCjNE8QwS`Ud^rI4!M&zD*irRW6bu_%-U;+WljY<1y!Hd-J|ObWLfSFx&P9 z@7f1<#q5pt24|btAohdy6j2G&dVqcpZhQOWw$Bh|Tbc_fi)dsn2{z_Td>EWlmWA)3 zgcQ1A+_5JErKFqb4EP&x6R1I;Zl_7SO`elqke?F=VY*lCu3gP-3DBE+fxFJP?7*;N zQCyUd%Rl$4;&I_Pcq!`Mia3w+=C2ly@~Iy(`!F~r@a_b2cSTUdE?kpjH3Q5TbIQa5TV|6rwwi2BY}cTDp@yj$tBKU)8C;WM z*8T=Fd`%9Jtw~ZaNjAyR6Wqz@r1UaO6DR4uf{WRgw9X)|nM#lAB{mQJ54vu62P5-6 z5i{@FMHsTnb@7{{GOm=x@5B60vGo|t=d>&874^P8tSzNA9lkYWORBm{H8;)u zpvBMQm!YN^)U;~?>NL;oHei-^(maA3hW-(%?iQiWd2|0;Bqi)IG+m>Nj3r~rn66;i zWJo>bvPQA8jpYiwFWom0bqjs1fKD>~Ooj>7grUP(5a7nJ7V5tUrk=i{CR~$cF_Q;hJ=dJX z<~|j8SldkK>F{|cVJ1jQV}y-P50SuJOPO?n8)z58klPvR5=`we=OU9+2p&yhI>kpt z6*`(rY?LiDnfG9JGhyu_uK{jTNVj2zYLa7sLAeB7(dAE(vXXkd`eEh>(H$zms9pYG zV07qd!3HYvTHn;rXYv@A2VLmLl})~>6d_YFljdZ!VNOUT380vOdku0GB~bJY#YFXa zktz~Z$RcDdjSLT6{ENGII(vm7zmCTD43WMF;*~l6G<1;z#wYRu;<-tD!Q3~{9HPGu zQGKLQO5%bvY4!v2J63)trjxvd>fYVL1xzuIF2MIF09V>$lV-flz4wma1txJ4Q5SYc z9#3};waYec_Ru+Z3X{Mw<6HW5f1}VQGU8RZX2|?ii2im4lLLG|a3$2&(N0qBDkhVh z)gda+SCM&)FZ~68a(a|K7P7Qk;tiNLNFbqIF-Sa%ZQR5t`$ zVp?nvpj&|dC`%F4B3s$T*bSI>sZrul&_scc9n&q~@%TecpSc?9)p%%U61dSDroM%kHj zIzcak%RnELU2zg{NwPsQFh}0mXYQ{gLm-4ariXhBwv4Jiy3gyrSCRa%9O#XXGggs++Vp5a95a1uP!bu>e9z1JH(N`ep|t|gDueccD;pI zi7wGOhFA%%(0EM`*Qn5ySKj@{iSkV4dqg?P+-AM(#P=*;4xdxEQdl^?fbgV==)fH zTwDmZLq?Z1mIck85#@h1k?tvxR&TTmO)>ZS!YR7668VbDV~XE_+7O45{6#*594K#d z2r6XN>g1cH>il*gYx_RY$}=M7*Ap4LO;B5ntLEtvct}j0tj(l-_yBK5jXxZ6HO-9l zteG!y1LD&BoU$-^l!?(5ra&jC1$y;gLS*bVcI&$<%}-cnj?%ipgW1_)KC)lv0RlHG zLaaFCfZTQ>Cvvf779k3mgqg@bd7s=PjM8Nr#|Eh+{h_r${ojdtfrvzm5EYoR4Kowb zHHAw>#ZKOcf+)zkG$M*O^LD}nKaV3fDs#Q~ozx%KA4D?Tw9U=O!AsAGN>7P?DNmU; zSsOXDKqu%JleOi<#V|r zjoNb1Weap$H}ogE+^k&EjS9b*2aL(lwHAgasP0$k^kVBA1z~Se|!2EoG55lW%$ag1X7>y zm}c}=xI4@gT{kg}=vU0z0=;TWLI&uq%XBBZ624u0Pwo7eG9pnRoUl96&I(po(n`s2#xb)obDQf^` zy@|cRv<@D>%9r9&>2OFi@F5|@e>CVomcas!29u@$+! zw~BMcF{#5=;1(E|iwz$!O?wH^Grh7E;}YHQYFV3P1=`H2w(mIi`87F}>J?%fC7Agn zcJZsCQ|J-y^jCL~36b9+L_)Hx}or`_$x>?73?r zs&o;L^DBG-wS8iT%ytO@=n_uf3HfYM43BYs$ZtXfW^MTBheXYIQ9n>n+G`cfqI5sM zn4<57Q`>nROnDKMM-ca5Q&^l|s?XMI8}DyE-uSdyn)&vy6NiL~(2xB50N*7P#60fd zOVUK@wsI+L6vnhTX++&W7PS|xLOnA=gu3&Tk4k#^yN9yVpoC1w&4>AM!H&x#V&=Wg z-J7SXv-RWkebu=Qx%wc}BL+m%@Tf3`cb@++Eoa8VesNl~`*vTwU3B|=wh}~&s9oZz z3V7^?1kdZZ2Fc1(qB1Q)&-U}XXZgDekqglCg8T#Ffp8JG3dyOV>Y>f!s(n}skz?Z1rZxoOwn zA-2^i^j0Gp`pX;N%%=RJjyFNgyHNE5D<=yD{dAG&0((I-sW|Zj{9?OxE zez=8S#W{v_pro)McHxhe>PBX!10TRnUm)Bmj(V z^U`)8lGW*{cImg-HFZsOMmnUoi$FBrgYCn1Z$JJpeF}(Bsvj3{LO8%r2?x9sZTC67_lde&)_d=By)aiDRu>S(`5X{+0MSh) zKGh*Tyi=<-h;}H@oiclY$l;Ak7pG3utMx)8Cgg>J5a4^zHl&JY<W1G}0-`vd0FBUs#_&S;aj`bvBSdW_CPy_k@E1BFA)*M8 z(b9+;$)TL>D09DWCGzIo*RKv>l}ies4%q_evjhu7LP@mYHQ4hBQEidr(H7BA=Kc}A z*WfL9%I79F7VE9U`cHD83X-6wjL0t>#qVZsDWOO!pJhr^sr}_dgv6*BnPqvhMKeB| z!*?iqS>}fApjShJ5p}UK6a%6JDhnlS6Kd)uH88W?vvlVf(arkoVhc8V+lG_UfajxX zSe+7#pOip5B|)c{(E!g1@$iY_Zn@2ywduM|FY%G4EU8A+bWe$nG1vNrQhQ2^=@vH0 zkMm^bF|xgETqCMzL~H7$Dj|~Z+^jBDn?9=67JEcaBkB@&DyYcvIv@(bKF6_e4K$50 zo=JDtcAd{~D&zb?W>@Hht-!2MM3d+=C1tkc+jI0N6O$gRbPdCtbRw={pumC}Q9&r< zPN@FVRsYOA_wM4U>Qdb~wN3o6D64Jh1CrUxc>~gz=Uew%ViXjL;bSg`>eJ&?{oINYs!+*B50+B)U z1L>BaQ5u^ey>&vQx0t$hRzIFiKT(pC*EqjGb}&aXYJ>R#sYYaI>m`L|yBPe;o(;y-|E^V$Qn{(|_H8#~Qz9Xlq)jAO2Az4-yq55ND z97p@Yk=L^yU%lb$B|ha<#tt;(%Lz<-A#$%@eXJzI_iY&}rp?nfD><3UF*`amA{+4% zskv6`m~cq$t~q?mTu|UNo`$)=@6M-0+chGXYxo^`<|)yV@?rYI;j+jLw+g+WG7mrw z^|C9_v6mSqY<5PdSe-QiGwGUbHT*>RG@HfunKAGX*>}sDXWBX{6#2Jt)>xwV@`KSw z%0$|aji7@lc8kf`G?zB}6WXM`1e5ly7l>qtnqe5a7p~8z*gS=Ko+v1+NR)3(+Aq#2H&y@Sw?}r! z<3N;{>;!L}QU){k+)=S47DNZ^n2>#}3%y7b(wKTtKqyHE zyRBpo;;hqjzfhZ>QxcOsf)j~Wixskn=XkQ=Z^g{cJE8KD|TaAnY_lvu-r`7P{=!g$Gbwx~KAYxs}wdGx8*YXgEAa*W7iT3h|Nq+s~Y!?r?1hWIO z2_ojO8Z3D#M|Yv?k?vY*ep*s(ZrGJ6D}~I2NBeBrwMae)F{m?Rm`cs5Z`3rR;)9KF zwKvi!K3M$s%|q(Sm1U0)=fwpea%)7IZ=O~L)Ct=-AvCcncR)NOKT$*Bj4cOR*P;;_ zAZ}UM$;`ta%WsxUzAo4|#-T$)M}!I6AhK&$2tlR>#GI7zjHmb1-l%=5=puhTl3d)m zDFV@c(LKLbf3$H(El=K;#z0*swX@Q#cW;>qCawvX+(2eR%YC89+2Y69oHz>G8{{|i zfilb#mDszTH@ zep_6fxiJ2khg!T@mz5n~l9|8blcZLiB){F7HDYK4Du;HaN~#C8K;J?6glzJTF>&aN z6jWK3-iycy^9*aJLPp-IcvqHM+Y!U_0VU8>EGiM;~(M2&YlwLap|&R`ov7lCNIa0YguJ?oV#-?}emYA|EN8{Eds z#;J{)8zBxlo?&hw|(1v3pv|*_a zRnJu0(l(D{enMSTjnN~5eK5{DpUdhOtuez5LMvXGd|X_L26z=FZ;KU_fg;cMi&2}a z>5oPp4m5pa(mWp`M3@l0UpuY7CjHluT76ty-AI7#*u1!rs^6^7EFKvt!I%px$@FWy zV>t1XL~c~E8F)KBhG$cM_~wRh*)~PRgndL8L@sbDA$mIJUCpR%ReuQf{Q~Y3PRM&| zudla6zCD?$&OlZ#)UR)>ZrrHL^^cVN%m*HGdf)o2YEE_Fw&9>)|2ae`h^IJ*_YZg9 z`|<+!H#+IPT>S0TG4UElGVZDNXcBRa$g^8S`-R2yY32R(@|AzMotZ^JcX*?3a=vCpdma)bwmpXodb=OVf7);je6R^j0wu+0OUCmgis_ zx%W&JxwRha)QA>@JP=hT=aiG1*B2pfBZWm7cKeSvYa6xtQq_>|@N`AaK;EBFI;Dcg z{WFNj9gNllXq;=dK=`v-DE%FGS)MCqq-}gmaIvJnJG2hsKwR_xYu+LX8`NwbPvd3j zgnV-Sl&VXA;Q7+;&%j3I>ed}||CB+z?mRf}elKUr#NC%I@PT*p7{D`!u%Ia4fIc=T-AN3=< zHL3LvQtjr3wnk(}3$l%@8i1WNkH>IUtW2IRzQ10pzFnN2x;OrT=L1h?B$%01KU@EN z{UbRSxh9TcKXz$P23~D?Hpmx{u{#94yF=U!zTd{5&0dD6-Q!|>5b3(fX$ogv(Th^26?*;T=D)A+uF3GpcGq^-mefDWM2u|9I;+kK`OT{%m(+KQBh1A4$3!&>V?u(@P)<-STIXlYtO2G-utB6fk@16% z3UH?Z;TVoefk%+0JOnr%QcJ5m0EADE7cs>dFFH+xE6E53gB zw2V?2&sT@1r5Mf$dBUT`{il3XwwXb>C-F3wkgh2IqsBZY)`(7}-Yl(7ZWnsslMRq( zKtNCS^bmYXvOU-}4cd!(fL9N6q%Y;gX)z|nqwjEJN}XbkNf!n)@0QT?o9mUhJ1kSMzf1NLI&b9-Y+<@ z6I%vB1@T0)fbYfYk_&b-$T_I!#*@Gx|EfF+Ktv7*eklkVa8GI1d83fwDwM(6L1WuT z(f_Rd?wj|%O!|Ue^I#swA%o)(n;4Ga01k-cSpvifz7JyZdRZ!Ya-NtpK%QlZhT)1- zkOILDD1e@3ze9fv8s$5-anp}PMz4mi`wtlI;_0y&5rFz4j{cjnj?^5;Ec3OQ@B~Nh- z!>TO@dt;u~_D9$r$tl)eKI19R1Q&OxsBWpYRn1j*mHK}*OEr1NKXX+2n#*cWw&JkY z{x6!*hP8N{?O4rn8pjrXida{Svh&@IcRfI)?pe{S++M{Isl0|AJI@iJEb98fhjAGH^HI1~ zT3K&feUJAWTUh=o@y$0r`CXb;ztt}}XE?aiTW_L%;VOHaw)!{jG%Y|C_Ek3Od()g@ zI5_9=EU>R??yl^Hy1;mv9FPL1NBtXc*Gi+5GJs>bIoz?i)f+Frd@~z3^JWdoTf4S} z`5Mv${=D!W^@C3MEajZ=Cc}svrn0+Ze>uEeId7vBnguT{dGh?yP}@P8ja7=zG#EH* z^$W31)b=h)XW^ZC*wK0Q+0M^+50*9i@&1K9T&w*XbX`)H#=ma0&)T@l5fPjF{niTQ zmY)r;bD29b_s=_~63vv2-TtB7)%fPb-IZXce-O9N_|?wc`(&zeb)m+plT;3tae}Y( zEQLh`AK^CmNhG{kS;|{072gvok-#;lny1MT zr5&5cclD*ZQd2cj^>U(D$rL25&uy?nl-f7gkZU(bP_ArGIf$L0H zb_I<^{Z`62+L602dsk|rE_&qR*sRQ0|6c!IPoVvK%#GqG?V1UAd7~%#U$7?kOm&pL zjVb*FW-rxaO`TJonfSs5ZkxoFeV2@Y^*B|}Oxfh!z3rjys3GyPnQgVUj)8JpvZM;uc7A&P&Wtn;6V{Ot0j(M`tMd*rZv zu6Rf3K3K-#8#jh*lbF@X%mqy6xMwI&R8ioRcv(T4U%lXN@)&fTslw4uay3UBco6NA z&!Mi|+RZII3W%%VeUHGXeCS~!|4cIK-u{7GCh8fiLEXb9v=OwGt6O^_F+YzVmzh3E zNjZuccj!}>3Ua$kP2VQA3&#vH*0&NNa>&zqMf6PKOnkePN=$SDOVgKz`W~?_gBLA; z;UeVzy(^Tq8PgjOGsyE1Jp8+axc);QNyP6O^7R(@9)i!QW(7vyyzWI}nVJ%T61)kn z3diSt{Nc5i)m%-r@Qw&_o_s`vxYWNn-f*oSdgNPbQ^f58R*m+KSC#2lLAlD~JPy9V zEb<85=7L}%`g=1I|Hwr50YOrYh+cD0b<9+}x-^%1lh+rBNyElJ7V(81ep`Qf#QR#Z z6MRQckv~TItsWp_L6Rrnicx)#yy?}S>iW-`TrrBACqKXB%pJz`dDqN9g}AZ=&T${# zCcu?9=jO5(5T0p9hl!puN-TeV8Krn*MnRo33VDXP0yI~e8T|dfhrKYzj5O-4q)IEF zRQXoOt+~E{R;Tef>jOygEXnl3XfLxDC#*AK`C!x0Z22psVGQ`=R zlB>82+H>sWD&I!EL4wm?j3MPjztQiLv3~c0b#&D4n5=iD|3ZdBwoJ~_>PhwP3cGLN zrC#KjBj2H}LiCdQ2NhQ6Kv3mLg;z+nYV}tMr7c*^k{Yx(QpwMq^ns?S6kREO=E$v*S7GS913L$YS1OwFBPFrhYEA98^uO&8KlYDT)Laod3VGsmbm`Hn z6)i&w@PC?yj9n%hNpB=;QThrQM`~_FoVg42xzr%&VZgVU3-|1pclEug;vpY2#x7Fo zWD{(*&+tvJQ`n#(xkF|n+FH2tu=!jfiqzn^b&dRZhAy^37lwYaA8Mmp8+!A#E2KiE zW^NrbE3_Rj>Eu5Eu@LoemXZ?aN}uN8p|5E5$ss$6W9k1W)!N-||1qJ}3+ewjb0!|( z%_(b2%buM51b0(vNl$;XPQr+0DA463UGR!_3p-)nOdQ zVI0Q)%lIz@#e7Y8ob6Xjj+`(MJwPL64q`4c5gXXyWi1_g!Rck#}D41KT_j=p3ah$dKH0U@!*-C+6o_-{}{Xt^7$TER!q2emMBqO19f z-AnY;CHZJ89Fui!*0RXSsm^l*cJjd0wn(BQooIPKpayp_<0EmP4k(~ayEM{mTFmUf zv@FQEP1kKy*)T+z{Hb5S<_a7fPYFb*QLgt_^5E?{uZi_{#5mk6L$<@=Ou;CSjf`X% zl&)s>Ot#$`-6W2ma~y5~BWvO+(OpU?B%X*F;-k=lD$4d?{X80xzCsJKJzQ@GMj3~U zE%3oQ9HI*?5ly_3BtY2sI(B)You9Y!(MQ?qOsu0>yPid-w4D(TO^j}bqcM^8KAU;0 zO(o8DnM4M8Q*4aT_AaMBszt-G&8apF$0!q2J~ofUkuwsn%YD0M{UD#U>8Zzvj{+); zE~S4C3M)>}^U%+PNE0){Bl&%=6{1p_qf>``i!jU77+2flh}kO2Y~G_V7FQuejCHx4<;T`I*s5csUCH)vRjGhuhOgadJ>fvRF@HD` zGh(XCIU4y(rH7M??7tr$p*AMEF`>4)Qm~O{rwDIf36(QHKq683yb2uB%r;k=89^>p z_T^jj^?o?^KoNoURg*OZS|2kTU1~8;0v{G)$`l>=khr2cSJ67EeRhw#5W;6cu@{!C zJL_>A4DCs%!jMR0^HcI;;Qa74beGY(DfOx#JjWgS9l2o)5^q5eQAsn~^Z?6NkM;X2 zsi9Ntm+B*}kRKsuDmnCV!fYMok92vwc6{s8O<6T)+13EQB_bhZ2rdGe0!u`^b`1#FD0bge+oAAu-l`-)jL* zW~;?4pbL;%{qugl@AZ2sqT9N(K9m`&pvZv8))Pg)R!W70m zt?!~jq+&mNscjl^dvrfHILwaOlr_-2gLJRI2 z0vS6Uoi$7G99tn@K}v1YjXe$5=DiuInHrd-ey){TJF}{uGpMEh;%2N z7Y~9Py-*8%qx!Jel+yf%89%q&PV8?d12fVUK9B05`q4WH3gJd!_Or5@7v)duWsT_} z{Im4$y}1g8JxWups%oSz1K`4xH4CH}xo7XLCk3b5;aFAGOwH9uKU5E^r7lcn_qN`$ zS$u*OiWjRjrAJ{?Ltc3CRq(@qsOCV&yf@U<_oSB!epALVk&3+VT+a?=1!Ge58QvJH zzoRbvGWWZ|G}@RAt#4Ay@WkUUY$uIKKwN7|5Ad737{C_~)z{wdKzA!ViRM6-hg~`b zI71t&u5t1Y%#%7YD>e2Peph1e70~!x&GcM#f{vMkC0^Vyi9W&gLUjz+IKr$k?*iT> zxN_??*Gh8?J72=0OMd_qx%eef6nvQjF%Q)zo!lMOb9-)_giM}v7B<6@Oz~e|0 zVTmeDqMoa3^aG)K;q#Z*^!K$eiK9BEx$~opCOE^qc%iv+fx8k&W5k?9o!~>ST8;Hk z|D`@bmM84o4&V8d;)9+c8a!jpCK?2Hs#>w9|0)qZS}|p>R(Il$rB5C1RDzYjz10}l z{Va^~8pBnNQ+N$+672P)>UaxjGq7d`>E^m0fXQ(m*nu^55j{bIVXq6{BxHqVq?kkM zv7bd7I~IGi;QwE1YAmul_&ifiI#A zSj+6A*mfG-+ahSiwDcGrOE7ZbGmZgWt3Yi`nLn{lkaMLN7uw+vNc`+) z_TD(uodUO?aCM`+^X72nPV+hKqY?EHM;RUO!C!D=HPksqc=42XkRh{6*mSOP%y|-Q za21CpoZzDELa%GS2eF=~oj;hkVD!&&p_^Jy!*rLR|s zzO_y1K@{bPv;*VLva8_UmN*Ayh>PI6b_U_Km~PLiB_;S3^Y% zjl|Ab?IH4S5-n8CBVo@{70xQ?Yc&VG@ z5hQ0<0V8k+UhN|%>A(UU#aiVGPcH(VuXx()2h3O8D$V7IqzzRt1n zfBH-Q*n}Q0t4vmKrFh0wyV)+wE+yx^mw6jj;bK!%Om<@S6_yuzF?DL4h}8H_497^N z1K(~Wu3(i${qX`_+v>({5#ruMNCgC(;fxnQY;3lDKVg_r7SiV`-%Rk5B9^zsLn0}j z((+Pik}-lk_BEL&{)#WDSb-=nWQDyBB$snLvgUby;9onHC+W({d3juwROn98_T7PUC)g6D8ZFole<6VW?JEwmTCuM64 zNby}Xk-LZH$k&NLM1{7F+WdhXtq4s*V(EtJz(me~#8fue+K$HCq}uL~CQ&3LiW0*n ze8+w;3Fsem5DzNZ4posVCeV^CuGD?M@9elqO*JUv+U@d@f1K~#%lo{~_kF+L_oK<0 z|3w5PM{deZ)(}?>@rw&_Uv}j7w<{6>3DM!xeGf|R9k1K>S+S~17pR_Wi*I)O3iZ6` zGnXa0?F>qTpiP6dAqSP<>J_Rs5bl<|Qn+>7+mI2cQBVp=!Ei7f>e#0Och>ZS*X{m% zT-|mH%~oyk%H+~*c>~p9HnpimvLs8#=olNLS!z-I4M$$%3gn5c1y(Fen=~A`KQ^Up z8hM5-a2#W*1AlaZ&lZK=+*qy`jEKhHX?9t}T z$Ssju`nCfvbH!ZYE5NVC7vOVlV$Th?Me;Py98j<o3~u80I1pm@7s>5Ex6afs|CPvn>gKQ!IKS9OA~cu_GMtH z(8~(OttKnU0j0#UuNxNO;80fpwxCGDw!@yO#6dK8P;bhk9V@uz*8MizLDSD+M@ zt(gy~SyEyF#dd4OIz3h`1Q}yc350R14JsB5Zg^X3L5tDi=D-4PQtu5<67Y{SD_&WK z-!t%SlH41oYReaLyTd&A}tV8mYrH4gEo zVh$;i46&%i(C;IPq)3Z&hR(1IO~4(8JQX{{w`_kI#^M~`JhFR3o-||_vr>~aJ@q8$ zJ6tarkV@>U8T{V%%Y0m@%P+b;T2wh5f;~MG6q`Nw2mM}8I%EcvaNy2>RBx+>$!E4ewl)@eY z?U+N3C8t5R3O`_!X&~%%e8aX^>66ilIn4_^H?cd69ECm1bqCtD0k7L2iPA8~oP z@8~DdUkIy)r?PZ+I5$z?(-0G$j8WtvVr#MEi+W@bbrB|Huv(IxkC&RF>ahDu3Ke!sxp`ZI9)@^#GvCXnCkp22epJp&Zi7meXj7KU;NQW^Cy0Mr-%Wf1jZ0stT))8?T%OuYD=4%mL-FpW?kULX%0q6 zj;Hw5(yJ6lnCrU-Fsonn;Sk42C$1%k`zctx&U3HQtECj56*ZQr?IAPtaHpkd zGsPd`I}MCiy~?1M07j5`eRtb$hKucNtJKq1z-*T6G#=t9u=3MV*;8&Mb|#vJmZbTP znAK~1$jB^9Z=C$=E3SY1{qpzsmB2b}){7g)${jJc#xp}DPq|t2V>Qjwe3W0au|#{_ zhs<8t`$oq*y6+=LgpcgqTlAWZDUNl1qFSF)=F35r9@KQM^HI~3(2uOYUj+MG2F1Gh zh|BN3@y=SwT41a&rBQPf>O81@8vieg+rJE#o85D!j1l|RF^eVWU_YvNvd!>?{aK;t zh1_t=jha~JyPk6!<$Z!%?{)+g^dqi^oR~bf`uD>A1nFhN$Sy-8z^#u*xVPNKXoR1=}e9TjB3Hq+qO7=l7m&F?Y`umuX z*uwi|=ntRk>UQf`hE{uwPmFS9ikh{O?`jE8xn<~G+KO@3=;Pbn6>+w9uLE)vkuPSz zFLwP2tP7SOiTgjI3y3)&+xK?KaH#*u??S{#O zi1Qbghs+G-f-R$!Tru{?yyaG+N24po0^qGE#DMU5t&}?K&>|D$+9Mri#wiQuqVCLk z9m8O_NdF$418xh(o6+9h=F8*uXXs_*w%N#%^Y3(5hjCY+A^&>SA|Ke7AVuKjX2R=s z-l#=3Lv1yqW&BC8J>`Zg0*8#6Rx@hJP}toa=Vvxl79#v&MVcb3^vJnG0Se$kzU@MZWYRu5Y=s0O!1##K@%24ZWw$8kOYN zwGy>GUsbiWE?rCcKBDz-7$CW+z*c6UO@;HcD2m|)L22AhFWsQ6OzSj@6TnxJf$i-G(q1Q znl?tE*HgyFLs{Xy#TpOtSMs3A*8Wd^S$qF?%MX8)dxJe%WSA>E%w01=fAjGW^o}+P z?A{tm5QkP}++p^TTPR!=mV*{{KusAb@Rlji?onE1$P0I5aGlQ*Go5~V4{`T95-{58 zBDcmpfk)}L26k!qbjmoOT13pZ<*FPCUs~%f4MC|YZ&h#}lcBHCV`@uJYr58F{6f86 zs?ws2-fvJrkDnFmCddu<7)xM_1Hii|SLyZAgX)SN(eBo^7zfqYMD(*+2<*XIo2;^} z;{Vqft{a~s59;%J3tD;zUN=S^dW3}B^9vX&DC$=f5dcS18G55kZj3@{eMLX3&g6%)IU8|O%28Y%u?!qpzMOydx42JveW)-+D{1_RI=JZ*0 zRxRi`y#Sv}aTXnyJ`l=gXo-Hn#w8YAibDw%N{F&KeK`7<(5#zjdVQwm{EP`l$zeRv zMDCML#MAm{>~1xurqoe2txoIiXBys9aOHmH)VtNuSXw_3zfZEj!yI0BPU!OB)`25G zLJx!A$di4_OL1hN1NsE?Ho8~H_NDkfC6Bz=Bh-;EUb~k(@syGSwr9~vK$(n7JEQN! zBkD?g1>PgN_|!Ys@5Fb4t(FOv#Wi$i^#s-B2t4#{3h7Ly6=uu@G_{jv6$OzwA61yHj&-Y3%hLAYdT9@nK3yU-_c0`mDnbOQi+!BXWyNg04dIBvbG)|Dp-PIP{qDI7OT=$WtW{%*?OR=J8&wvTh~3&~g|5{V%ys&Z>)4>NS;SLxR@4~r)(6_Hk@5|Hp%yV@cus$HmvVI@L6K~!4AwnZeakZRYSXi+6VYN4^%2RpSZ zBtYznu#MSPTDxRlR#{jnSz@H@Id}Y%rpdzsVhWmk^54vztNYD4=R4=#J1K~T?-bUC zPg5#LX6K02dav4NB{;k3RW~;_AEmYBai_=oO)x1=N(c*V#BIo7N%ql6$H(_=P+=8# z&x>hz<;4o1Am#ay0{&u7kMCPSvSINkvzW!IwrASMogUpcgw;_GJDRMPM*>gDJ`esX zZXJU+GjPPFSOJwZSeQ11GRX-q0CMoHA%v;HlA^7lKRj;8EXm43Bp?P~jvZHa>r?uI zv0zN;yY=JR%P}z&36zB-GaVo2RlghDBgLr@+T+zA~W7BNi8_Us%1U}*-yeu9+maTu_gFS(JV!L7d z$fGt=GRsDATfuM&Cb2imhesE?||S@tHBJ-@fb3{$nAFdi-@?nRo(KdMx;6|8C&-8QM`t=0)SMe1=3= zRZ7C$s-j;)j}>Q`iAktD3Jfx{R2}qCBk+j=oJMfWv&OV>NSz6sA)t<=Ov=KXaI`Nc z)ZzOJ!cj6AI3!OSv-}Tt2t8$x&_v ztQEyPD@eoaMgMXfEWov5Ub{p~ePzgI9_FE8nqUAiA$n+*Opxb&B_FbcTql(JF41|d zX4qFQ$6xeEptl0Ev%RC-xQZ0OGxOxB2T|vzLEHB#UO$dI9EfvHwl*Zix=`{Vw+WIZ zS%^Kz>H*~M_3u?Kz?Gn<`tKgRNRpzhDb6y3ScBRlFGd2d$Tf(tBIx1AYL1kIo!(T1EYJ18;vQ+RGLeq9nO$A0T|q6u zc@NfR{j}ca_0PvMaEEI8In4{K^UUG81ZHModNx!vQed_55i2k!z&&q|3NoHO6R1F} zP57QV+h&G;7bn#z!)GN-yeXL-9b`;hHN6aZx5KS_-@=qdyrd2_CRn z6&M#f@nVW-+c3+LdyjUR73U|wZoCELvntrmLrcPw@+mz7_vwyZbEJZK+(DS)ein@a zuaRf;LERhZ2eqH%IS;DBPStC1&ztZ?*v`eaSN>!SY7~lDY!WpQ-V@-N-oT(f4!)hy zV^M=St0e`gL3Su(;E#{$hvkxxpeC=v3Zl&m`L*u?<~Bn-fA00A+WepPPCyPY#kPuK zy=ICDu-svJ5PBOkb|?+OS)Vk;1{sG40T_4D`)HCMos`xqNui}ASv#+BOz`Yhfflx! z*cM8P_tCrPxG`>wf%O`kyK@+3(O}9L)t}X$j^{|?#ugIVE64fNg@Uv=h_x0(nqX`? zE8Q>V$kXv>^-;K2dqTsGt`$YtZLu+Z6z=n{V+~<5Zgl}IHuAVo`SS`_l9jhll!Xa` z+-|Ie(_%w7j6LdO`fV{Ub&^{{_>VdU;~3JT!N?|-@KE%<=?~Yg``eYzk{sE5r6fY5 zL1d=tJG2IIl3SU)s;Qit2?}}RdB|$yzwfQB{k~I=*csrBy`U?bw6`EKlXS>HZm()( zN4e$5SHMlxhYZYXH`)QS+QB_Jo~5VfZD#oT>xnD@9o&Q)<~f_&-xR004e7lwj-Zj- zd>oM3Cwy34WyuqdcfAt1g|~>N90?k#-qeEn7JYt?+?rsypuWXDw$~>i13d3rN_D;R z->J=gvc*lexn&*YmL*>)&3G@^&P(k&>qaDi9n@3g)w6A8SJw{iL2jGmW(k!N`)kH8 zE6#E&36ChNT21NI4*<9HhOwIM8KwleTCnFg$gMUH5$NM95*zw6rG$8Z?$m40>my1@ zaFSbHI1yXbdW}`>))3fX-THrs#XY8JIDV*sQh?U(h~^dK}H&5$X>$ zwOOqhzXP&S*AA7=n9=XDB*I=_X>dE!`zc@JIGgwvHyyhAX%xX1=;0y5vNjh3jnqtX!T>e_g z0K26D^dVduF~!c_J&v1+_Ql3%>j>3-|Nl+{&MP9zkFjavNPf88Oh>L zF5t|3Ssv%ymeo05lBGpwpV6>dYvJ$HQ6;0Lw3McOdy*qaVNXz z+t&}w;zP=qc2b^$bLb6esp>2@7y+(k#aUh0=0C6Q)Ozm@Dy!;i@&Vcp_rC2_39-S~ zO^_RUW2CjFo{)M#L0*%CTCdWpXv%qYo4+og`dbokbC4NoMwQ1D%wuR-*zP}~&Z@f^9*TPX+X6G92^LI(9U?4D!+dwq083WIVLD8&`3^;UwF_`XQ!T1TqXr_^!v zlsqmk4@l8tbUQ?32{1>t(_>VME)R^$a8^yJ)6jNYl|mI?7JN0)+OsP-ywkCsAz$-m z_kn7Z$xHOyz?iDW9+O9b+o(Jwk8upG`(~ecOjcuK>iL0}DDLq0b7q!wv#{!NLw3XB zEvyIfS;O})_UXWo9F$c+FF;*~_U|BY{B+<0m`h-latj+4%~nrN^VtACp0s!XBC0N2 z6V8x}zGL)A^xc8gfgrG0z2WoSfg|9n7ky_yH|yYylVW;ZPd6X1E<{B{HLMG#g$Z(v z9HdL^q0l?g%h3hE<>))nheAv2AiV~e?ljbz*cS76T69+PH^SWTyS3vc9R)26bADx> zscpOf=>95mUXT~qQEsanYpjjEJArPDV2xD~3;ZeNG~3U!Spz%{pR_2qfZysugWGFA zO|wY}ZC2qsjMw*e^I@{H24r&WG+3O4nQcegPGLA=a80z?RQc0)PLKQlh1o%J9lA%I z9^ZG%@yEkyJ?uETStH5Cb=dm<0DjQ_A@F0z*2?k2*OaaF!_^fRE?l^9;lhOr7cN}5 zaN)v*3l}b2xNzaZg$oxhT)1%IVsrct+}xYLc$~e@I}XAy3|DMZq z>^xnu!VasnB1a`QF*W3n=|*E0@1fS`LcMS;RjTW#6|SaCbq>#Be@6Gc=4v_!XK|8h z&f-+K0eaBf0MZ3$ROjI#_8GdZ=6K5^w@BPRUu(|6S-c03tN(4G7A~0HuwmO-HX$Y- z*H>oi&Db3`^=fW+W@fFCt}>{kW}acrTBT|fb=9stQWv7D=j~Z`r3J(Em^V@P6B%tE&L3TVo`e8(ur3HoWwW6guheW5 zbkYz@hxLy zb<>QZwPmcWjHRuujZxurErtOF0AT=u6nLC{QZb0sP!OF62P24N5g}%qpA~JgU2>wE zANfBdrKQat$mR|!OT}VA5d=#cJ%xiixDz{Vyvn;n;qI`swAhqdd!50JaL)XnY++%B z|0h40Kl9$3(U_sez}28}f*ML#MTH6iEX}Uzq>YsTFpfuZB&8h7g#1d}CqE{i(BgQ` z5+MBd;TX1NiP;|FUCi0wd9`rvJOcc`;9$!oNwr=nc={gZHPW zA6}N6$t*#;gWuxn)~slX16ozF9&3Dl|5JVLo@Eh`4af@&AcHmH`mFac-AM0V5_sr6 zuCtb_)xsiRlp0>eReJuiCY*1)t@?@O0J^QNan&&YIoMBM#{n?ALwB=om1A8A8*8Yj z^3~pSd0PB%2?+@I*u7ILv{s^3oN+3AC|A;VgN&=VC2V_JCwkEf&N?xbPy8Fp7h^&T z!kmx1M|BBZq#~Y*>`Kp1f6Jw_tg_;TPuEK0oX5MN2G(!5 z)s+qxt-H9s@rd@^u6-Pt#0Q6cBqv>cI%Hi1s3!SdgH*!)N}TNaW*J`_#thBy z7?+~5rk_~Uk$tD9fZL14gDA24V;;E58@WZL&$Q7|(46pGWldH!9@tnnJXU*6ZAa8f zJB}&jp~`2-axNU3?+b&6@a}7e%iIe_veI+@VSmf5<93)~D(B6x^>2v@uPBlIo5oSE zIs)l2p71-xZ7sp~)n7+;V+t6QT=)ES`~tk?akF@wV_+Z!RN6!VVUZ;BZP&5G z5^#0Zs)`^IrbYn>C)LbnM7tLM;hLe(!+kT%ru9?KK7|6p7UPxB$ z+kGre5swluI4n>;SN6IKL3Ioae#x=Vb)yL@JYgwwUt}&UOmKrH0kK}meX2y*?5cP= zD2cE#yx{=@QpQroR@zd=(pVr7+K~VNbwpv0c${rgO=uHA6n?vcOao#zZ7`+^yPKS{ zf|%Vv)7^zM>7E)7f)Fdf}3Fo5{p4cOMWDQF}%ScSG} zr>aPdaByEG_SC(o#2k5OgtiRBDyCj50JqVE6*ZTL{hM;$Oj~VpEHvWhz{7HG&@@wz zG_N8#NbRS!L31mASj~C)2Qw_&W6Bxrnu-$P`ar!~dskbR9_Zmip}6elMyvGL5aCO@ zS95TOOb7SZFCF21yEjU(2vt-f=U#IgFSxBu$GzZS+?@whhAC8o8o_vYVib%S!_ITC zuYqxAgAa1h+W16n6k%<2Lc3`U)R00qM)w?vLp zZp-i-M#$noYy84b-3~tKF1QZfoTpfwthpUtXhkBdOWme}TVy);P4lJX^)$n}%&`u0 za6NfK|C)Ruh3jhLVY635(f(LiU6!*u_0nH)YWRRLqx_I%)>VmN1L{Y0zqU7#p|2sz z(JSt;I6iO>pW#a1us)mHBbUf2hlZ4P?jo_qA(T9; zruAt-@*iG;iZCXWnLY|d^+O^CldQ6ekQe6QesdDSRGfY*NUZL;}r+)g2>vbpdjvn@q4rJ%rKec&G)|V{aMbsRa3?mry=eBEaz;n zHEpq_j4GCUtAGX4@J(~KPn6@XBA_W#9%t@WJOz`n$GiPFilgs9I!~^^pHU5@?R1SI z`r6-#cH)hAKRh3J96(2dqsCb~U16)~>}ryXhl@BK4w86yvL_6+)3XkX<>Jxo(G!{! zli{|~6sTpqMme-wnojhH8d#t5X0lnlmfXR!vYI1K;cQ4#E$S)Tkli zjpSVb9d$+-aJ?NICPzt4*F*_k+Oajr<00(I*JPBXy8mCv%tD|xGBO*lGK;wQmNaNBk2kCmc7J?CVT!U|%zTs!;F?!%J z;hpnmex!gZFGQ9MNmhcKl;Ts2^VOe+`;bg z(!^h2(%i-})(X$^HCC}q&`z|~N}_25A!W)$2zU=HE?o>Lh_P5__U_ah-rc^LZ)fKF zW-PhRJRDgzgOW6PKCu^7`;Dg$n16Ay->T%sy?{V9p)wEzQ?=tB=zjm z_!17AUKdsX$2ZUN-?_&FH5JGz=&O@_s=ILm*G+n(lO9{Okh z!qAA-xiQ`<){6VZ=G|=ldkWE#!hg@+sfH0&xHBFy@`zrmmwb=w($}TN(T3FBs~Mw= zvak_3UFTcO;*;j!&yu+VAv~@vGiHX+in(!@PY0Scb2xWWOQvS%-j3v`qJDAGQ8`wc zbF6F#&H)k0`YuUtuA4v4S{XdtnTI;|UWbq2auzp0rrgcAj0%ZP`=|2`_o0b?)$c(& zJKO!UIH*OtUrp7|zc&&_kyWg3@Th*@h^LCX_iw&F{$yhW%iAe^Gk4qa=|UiCX!EM`Q&ML zUWa+_jwS_36}p-z4v~fr!_lll*G_qGbR*rkofIGVC;F^_i0DePKH+kKh;MD9oLagz z+9>+PpvdrkIYM9YFcxm+I?+5Fw1V>Vd3c(i<%8lB>&3`I3CF_C;vDzxtJA3rodCI) zm#8Ye8hrh6`IG;3M>u*rv&xP{8+tR`%ZVFgZ|GI}CACz7spGH3w4&_eK1!}FAjr-#)Kg({8vvGT_ ztwk=WTcJm=iH;0i@4ru{*)-ixe_NxSt*n;2hZ-f~925OX25FY=Si-64-h){3%Ip<2 z93kgU?|EW*sc=`{N>8;ir`=MdQ6>2f?jOsh)X{jHMN%^Xs6&KTF5;}C!E-q5)(oI^;;Nl>H=ps=wT(_F7gF~7n zzwdvSkb4~5-T&S9zW064z(7+>J}EBEZzZk@8PZ&enxxS56d5FZst|h)m7tB6g>P#) z#%l7>;adwsz+4J192X^2!tvF5xn8~~ln_&gV(cUC{y@xkdB=*hUa}+-M`<%E?0=# z?Y+%VoKuWC7))(yZ~!(B$=8k^zmh>ps$18b<{! zDA^R|kxgLzK;F1%80RuThIZ*mCX8|U)mm;I9*Y@2*^B2|P86dOT5xj8?4%W(wZk-) zvy4a2@|b_~1!-+RRkKX99aua$PG7q3d>_tG+5ZdN96jHD=e3geOrbmd50~QNbasHj*yyB?A&!ker3smTZeG-B^La&x{2|kYFLoOve_H4P{{JRtY*3 z2{E&QC`hiv&`$g$7GN;vJ_E&9vY+oe_jAs@g;?>DONm_6GB{+&!nu(4TfvG2Q7Gu6 zhxcBd9p8PMgJ(v1ai(OZLgwN$6H0O7>3etF@Y$}3f-@PsMwpD5L#7a8<*;u4JUcb} zVTQ~U{8||ro~2SWzARoeEwHBD+|){rH$L?0`1b7HvsZ_1p*SflZ19wf*E=%O4&>IR zRi5Zh6?c+T0ivGvKxCynncHHgt{a5fqrT!^TIFkTZFXe@MwCH~JGFKs8z+}Op3_^< z_XI0>W#ZZO^z1k&itYL+^xnQzwL&1@$AdIZr)fV;W@hBr<*R1T%J?ggQmN2emZhFT0S{$7>}RHhs&=A2z)b?IIIs?aY%hC>_vN#5A$)@ zPi|iT=HRS|t61mj0#v(WR#+y>WJMIcSnE0FpF?L>7zdqAV2XvgKe?AI&><=hlYbx< zEjv!zSgP6WO(%m%ocxNfCh=tLOuJjwlu&LZ&r}kHvA8(ckCyQ=dK`UnoTB9a%xi7( z(K%-VeCw}AakS;2+ksPDZj_5|MhWF%vDJIn54%Bj*?$?!@Ta`3ZY8sKLX=Ma6!#l5 zJ< zu(WGfpi5Vnfh98-M5L9YZ*iC}Z6jYHHcQ^k|KfAJ_?U!w z<6(&Cvi&{Qr0H(5+cBM1Zu2nzogQy+pPFHAI=hH<^SvY@$-CF=BDU`}I+zaU@8<_o zP0v(CKW(@3Aa!6v?RY*;x*b9feeUyRI!k1#5pK2eCyB;y4Lu}A^rqJHGrXXQ9oR2W zOW0r6G>a<=)w^{E*fHIgJjl-4=M<3eRd|k&vmj9qyEuWjYX*8XvXyz1nQUuEW?Nz+ zGJoy$a8L(}R6H;fxZo_k)>8Z0Gv0U5KwRi(t@BMiOk3$#2YBn#2`XAI=!ZT^J|W2= nHJ#SRb?qGz0r}tUqHu+C!3N~}VVQ)3`%3QJ{ww|gia4lcuJ{=>KS@F;LbjR6 z5^`jT7#TCR>@$OD%=Y{q=bZQa-ap>!z258nJlB1Hzt43q&*$^K*9ZItP5}~jR<>3E zA0HoJ13dsp1}ZJ1QGNhmYpV{3001Bi?BNpt_#kgP$?^&PX)i;*+~0m6e!H zbqx;b95+5@U~FIn)#m%xf4FS-0TKa=ZT5eIAF}-XP!45(L4aQX0+b1ELqONI*bHSV&Olzm@(|?SFT`4}hcyAPL+N;FARSCHVv-`M`Dn21yk9i`+Kd zZSe662ny{G7TLK=6sk}w0r2xd1h=UP3PPo^P&ptdDYWOXj`@zgPM3s_gi7hgJt`DY zJoUD9pYs4!N$+ylot?Y(OUoRPRaSwks;TQ695*~+WNh)9rIodft)0uc^R8|eF1q{p zUh(q}Km~^1h=`1ej=6a^J|QvbUUEuCW>)s&oF}9ZzbtuGT2@{2uC}iJeM4j0 z$M%lSu20=PgG0k#M@GMmjgu+UGqZE^KNc2g^!1HR#!u!JYg-o|An=zgDE}XIK|$c- zhaxTrg%cWg{-|x?l7d2qb$0AAcM`r7y7!1~oQTw^M}==&cPi>RQ}NOBga!cM}lj8aqH)0W9n04DpkTd9K|1<%`Xud%r5Y2@CY05LPVm5 z?`Iih9hTOL(LUG!0(T!ELf9`!+HHvVhCi(TnT=A`@%*p81v{K(0DyLEh4=>b%{!T3#AW zaE=}kS;Y@A0_K{Peb#>l0|yW(O((>SDt4V%4zwRPajdAEm?RRtf7W}KByGe^T~*MK zd+0kc#A=TDF}Z}x&?%H(>HR!>o}^h-{o@9MKy?jaYTkI}`w-JQ9z5u^W5T+Pka9Kt zM300F@-jnwou z5Am^iMgq6)UGgdj1R#@GUh%H;r?NY<%N)zR7Az}#*D3bw1^@K}SF$W-8`hncK2vz| ziH4F1H>OHmD{;nN$AfFXd%NK)C#}CkYg6LsPj_4`ca46kfK+1jzHs+cOmoV~#YxZO(k9sUpvu#px(B*n&*sayqM}16F~{ApL^#VyNIQ znx2AA|020$SC-Tz)o#OX1K*LVTN?1DEu2>yUMM;$uJ6_5V`K3p-q|*Gl8g=c*#m0I zy)r7R%dhi7f^dHjTGz(XyO0NYs!VaR_($%sMFlNpLa7HT&se6?H&MWZVxOO0ZDE=m z94v#XR1%r=wE4qIYIL?C(#>t3w?1k~%|v@0V;{-VbX>wHQaH!Y$CakGo46E9!)w3S z*{#6UOsv#d-Nj9aND!DR1p(^mkT`EK?o+fVt%zaWI9SUTAM>V+lCdi$$8)&P;Q20h zyD!u_oE_V;8PE7WsU-c)_2E03n#h}n2&ZYhM4NMKXPsopa%|7zI_@lYsp({60b@r>(Kz8L!43;CeLRNbhLNuhD|5$iF zpPbetal*_ox%ngrur;qoTkrPlL2j;qz=D$*sdz+V{Q6gA5O9(JfkAaxq7QlY17b0m z@u8~MERO5NeSslCgZE1_Tx+DRPcmSvXi1>{6N*k>F)hK9wuW-g#24tB*lJ8 z)pKjnxvd0ru-*H6U#pDz#?Nh?dr6G+{)6GL(udXCSmW)21Pa~YmScU>$2-@jlG?PB zcsqwp_oB#L>2v8WqZ{0tKb@W}g1{fBGb@G{-z59+@vA?v5Pvd1SM?>jDvdVgs`1VF zZ0PKn6_X{*p!GWGHq!cO>b+`MC1vsad3oE;FV}6AgV5(@)+&e%TgkLAq8+qJ4Wp&+ zcE}>*-#H3GVf&RQ?B1(VPG&3RjT1W+4%i+{4YF=||ENtk`?Ly5=~(}h@7Y?emejXj z54XSf4tUii?GViAt!^ULGHwPGhi`K3>_hAJnPtrz=UN?JP+48*Z_cnq5;Pl%)|4g= z+T&{6T1h*h?)7l$-?32m-Nb`WN@a9JV0`J~FT;MC98aiG#sbbHj;`jZW)I zH=ejCc+Zzz{9}`J}sS$*TD>7j?v)vOg$*#Y0tEpM>#IBQLmPALYKy~%j{!f zO(s4siM<%Gl<^NcWtCDs@T<(etzz`Nyz{lNQjPkkH8WBn*D!91lO$%PUrH`jHCL?) z)Bf#sEvml6l^E-|m@{3!Tn{ayR$q)b8qR%**%?hA^5VWeDHd&gni|zbievS4ROXs- z^3XYM-LFvnhgB077wLYWxi0%Qg7+MTUY*isr2VORLa<;HZ+ICSsA- zWy%02uFca)Tr6CD%g;D74e9;5Y@kAF_F9l-r+ZMZOy{CTo+k3K(^Fr9=@n>DVGs}V zLM3~)sd_yjg|i#`xCUtg+Z~=9Sc;t)0D+nG(a}NsyGTw4cGj4{iCZPS?P>)93A8#l zlQ2~U6XSUNt`Cz6$U`Jss;+yID4@SGM*V* zXu;M&N6~^ulQ_bq9(WwJeEM?igH3Va{-fTOEiE4x-+cGTKk?*l@X-Nd;=?_^j(npV zzgK+lT{YIZx#9PX`y0)-;J3;nLxOQl_36`5cOG?~k9mo7I8%oHs%AnT_NdEpNB6I& zzMF4$FU4TxnY~lE@fwB(7mt@ihjNQJ7t1+b!#DD2F=Sja{nJmUph<~>mo+VQLyu#A ziwu#kT^`6+zT$y8_hFH8oFs43o24bZ+rKu=FCM1nxJ|sAW~5+B<2Bj-wS#!8p=8 zhRCpX5MX-B`dCvdNgv01Ikqau_$1j~sOsbY3V&(T0AD7q&+w>p>AbDx8_c{5F>D7E z9Unqo@sF(~)|D)n>g7hCTbI??0RrP@FJf`*{;tmr80{!ZeMd=H&N3gBXu-Wp@WrM= zCy5hGHu|Q#H3iphv)U}iR{0Udz(+KBoo@FG{7ordSD!JsLu~d~%E%SBBN4(1`|pQ+ z#>d3t4Od&Sj^*BG1|pe{1}K|$&2H^CPDIA%7216b-E*c-Q&YZv_NMz%-ivE3owwke zy?P8dx5m_H8m91r1jFoKG$t(9u#rDx3kaP{EiUbix|6k?#V;p3KfaoN3kfr}Wr1b-Wrkwj~unEA2Y3^Q00t2Rl`akUuFJouaa?j}u%% zk;S~{5Ql<{e`E1dqpn0qc$T7mKiya)kyaT$D`qV?llj3vTh;!BJT9V74za$x+9?0* zIIZ>|JMPW5MfY&mbX|9P_o?R@7~5r5M@bFhWIspJn(_1EFV<6luJ)urJ5TfwKhaz% zklAVNolPUrc88~LZGu3iHFT>(Tt?bVir4aL30#wM5cmXhzi%}bSkAQJN-Oo} zv~|J^H6-;2bl9UK#E!@jgT{RBa5qx#<@$Z8gwOn|fAz(>be)V_MO%XddcTI`nd;e$ zLX&cmbuXs^CrugMH&yewN~?X!ugoQyrDkGKHt%R#%q)l9@1@pXm#Lo~+P9TngDBmv zjH`rZgQuf_xCCZWc5|^~?kcq_vFNC9#Jg~A&<1v|8%G^Mts3TCVQG{&##0CjGa#Uk z)?pur_VJ(^u3TXoMW>oK=Ge5PcDf4{_f2@}U0A$%-~GxmJk2>MDEUa}_Y0$a)Rq|M z&nR2eS_eA6hCLL(b!nfFKkBxdvM}uC-4ik|(_qPYk-4Qngw9us0Rxf(kBF3Bi-z*PhkZvgs#Om>`u;7%4?Z-_8Z6B}7d$y)U+wCF zUhU7NiVE9{wPi^u`fJ4)2K!FTRI;0tDp^W(HXI%ZBzRBrF5o`7b<&F%+Sf42m>wkk zItYjmmUYB=w>Q_W_p`YOkQ`VU;)Pid@1z`env;M50k?3bhBy^>7o!FO z5B*oxLBQt>G|@`06(UpJm^#>LB+CU+eI3!!gIyXXYz#Xl`K%#jFwK}}n6J=}2%j@ z%r1Frg&hF`-S4rjM?qlO1FOmPokrpa(lS`C5427!84Ll=uZEH~w|M6q z32TJuMPvmgRkQyiiUXhOT2TZ6cof?c1jgVkATYE$ADQM)qU*I|M{~9m+2V18ncQB8 zmKK8L+5bt^xPFkJ?!Sp}Sx6@e^UlD#KwuRGWBIfHq+o<~@u%~fosv344X?$&$@1d!W79jxm| YOwKQcQ5`ucrP!oR|BTVBSX*%H-$+>Vj{pDw literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico1.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4e6df8eb45ce44454654cada1d16e35f31d5178 GIT binary patch literal 3353 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico10.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..186d02ad3b926608bf1296bff6a0d88fd0fd07cf GIT binary patch literal 1655 zcmex=+JW@c$vRenv@2ft9{~ zUa?+cN`6wRUUGh}ennz|zM-ChK7);YML}Y6c4~=2Qfhi;o~_dR-TRdkGE;1o!cBb* zd<&dYGcrA@ic*8C{6dnevXd=Sl&_Q3Q(W~w5=#5%__*n4QdyVXR8GDRC#&1Ub(Seeo?xG?WUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaHmqNUdTL3o}Ygi#E^!3HB zG&dI%0AOQ_OM+4n?!{_waY$uBs(w&vaeir0aw<@{GDvfQm2**QVo82cNPd0}EEEGW z@=NlIGx7@*oSi|TW}%=Fo|%`DUtX*U*5m7I<(XGpl9-pA>gi&u1T;l2Gc(1?($&qx z!ot$U$jHUS(9qSF|+YBuXjBvmNWHB)TNgx3M%uLKc03=vIfSDBx z*g=2;4nW$0s#%$tS=m`xSdnDlO7JuOA7BvVU=U&uVrCR%U=n0x7G(T?grS~+fteAJ z{edhFPA-rO(S+F=~y0b!_Y1l^yo* z@t=H&d(Iha3@3VBxv`=v+tc&X&7GppXF4}E&2y#?DbXG?jJmU zF1v5ey$@%c7#miHCOO=mlGT*(%3OVJu*H0pohRZxh?lUqy6`OcGSlcs0_(Tk+r;+w z9h)x0pSb2$(4+YE*?nudd$N-2+aI}EJ1kB4Y@;sS zee!Poms_@GCcCq9D!oPD+L&!hixv}HGWY4E_4P|0oqoD<>DD{Ump7W2B;SzOuIrc1 z7ZkYZxz$pS23L<_#^&X7{nJt(KQ7{#mp;wRZY`tgk;uiLwyh8>T{->qpSXI(1E*U% z1*ZA*U%%pz&AeWDdXQv+6!&%|?u&WP1HZqVw(ITBOJ81{JO3%~)$NWCHww3joNR4h z;_B|Z)`FjJbBD>L&_l}#?`+qS-OH*W^N2}S=HBj|g}0ACd9~@OZ5cyggT>CUBU2rw z?fkS(&A#vR{qu#VIF3J7^e>sXFWs_nwgbzA3$y3M76tH2&ExaSzEB$dZ^r(`JKTTD if7gHW{<*yQsh`td*m>Xmu~csVgY_aSv>#3Ve-i*zHX2s| literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico11.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..387c166566b72257cbca8cd39c46ceee6d9653c0 GIT binary patch literal 1706 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico13.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7ffb646b396ecf6e564ca4f1a79c5a40a82a86fe GIT binary patch literal 1594 zcmex=+JW@c$vRenv@2ft9{~ zUa?+cN`6wRUUGh}ennz|zM-ChK7);YML}Y6c4~=2Qfhi;o~_dR-TRdkGE;1o!cBb* zd<&dYGcrA@ic*8C{6dnevXd=Sl&_Q3Q(W~w5=#5%__*n4QdyVXR8GDRC#&1Ub(Seeo?xG?WUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaHmqNUdTL3o}Ygi#E^!3HB zG&dI%0AOQ_OM+4n?!{_waY$uBs(w&vaeir0aw<@{GDvfQm2**QVo82cNPd0}EEEGW z@=NlIGx7@*oSi|TW}%=Fo|%`DUtX*U*5m7I<(XGpl9-pA>gi&u1T;l2Gc(1?(8So( z(ZbQ($k@Qr(9qS<$ms$-v1Krq?AuximL5uLPzy1)F|+YBuXjBvmNWHB)TNgx3M%uLKc03=vIfSDBx z*g=2;4nW$0s#%$tS=m`xSdnDlO7JuOA7BvVU=U#tVP+I$U=n0x7G(T?grN!OK2}8b z2eLRBSlQUQ7#SIuffxy}uyU}m3otOSu&}Z)F~g)7nV4BbSlKuPg@i@f8I;606~zr5 z1C0e47=a#QVdjJxz{nuTB*enXEUai4DC(GKG;yI)lCg*iJIDW93_L*7m;{*x8SEL( z#?gXj~xMZ5O0=7yCYH~kuI_r!H}$F$nupfA<08hhHJxY$DdQUyHD^D#GR z%zjcT;=$u$qOHZW_wme`Dtp?U&t*uSS}MF;WA3T@Ua=C5AJkZuajFzD9RJ)NtZ(>T z?9%cup~jaAj^9_!ajQD6xO`{!YTk&_mX`KyDy>4Vq_#yr`#SS&aYLT^g`*#T{jT*t z`6KSp+C#T2TbDFVNt%^&BfLoLPPKVp=4Gco$!C@4QqwXyI{S(xPZnxk(Nb{`Tl<~y z@O6G)+sD>3w>sM|P*+eX`PlPv&%@iQJb?<9S?)fm$6ZrC9$BTbLB>A*;N__OyFT31 zkmdgEWU}Cd=#^Utoj*=_45TmQ;>^#0|e)xXM5ZfBQMm)+%XR%zRdj^52Vg*%?Ny}QtS Zt>gH1Z@aoPcZ;%D`@{RvXPKC1X&U!UrsGny z%v7v`3steBR2ZjK8L(1H6{*W$(JFOCs)*Z+ML}ze3zhT*0sSF|i<7UL6 zwIV{k00Gep99FHq03$g%EZ<~N@CIAkcpQ^K!CM-s5ooLln9-C}YQq+new3jvEzrvi zyah3wXb0*rTg@1$%@mUG6yqq5lyd1$&aaV!_LQ}D(vRa{)m zFBbE0TRtL`%jJkbgos2DR73<(Vj;DT2n!KBuAsySz0G7LO}K^QQq<~jJE`DNmA<}$ z**YQn&R)G0sL{MX)NFP&U{sbM)3G=8zEhaUD6wKlI!54jn;xUWgI#1Rnqb4UByP*V z@xt*grWtV(Cycn2laS!*S`;UIsmWr%i-|d-9E}E5TL@BX(PL_*f=8+FO(p{>6f2{o ziLykISRfY)RdG==dAv#~j#8#C6A;-Cf32u~NQm$(p%vLJ160@0B zVunN;Zsv?$8#PT{i*i!EF|J|KT4bt8xd>GZ;(FY-9(&wHO_0l+7+q>JG5nZ?ns^&E z+RgzmZFFFP;W+h$AZHIK1JDF$ltrUaE491^OoJ&<3*7~nF$#AVm=kc(sb~faGu#<; z##<*7A@4Vw#{r88{D2<}u>g$)!7Rvm64ZU z&ZN^kp|L|6%z)@_?tsPi_45y4a(RJ4y5P;C^tGzcx-et;l<6!0=v2v5eBdz#L}SB% z<;$h}33&{Ex41R&mHJvkKc;sW3#<3bVihaF4&_ zR5@FpZ_sS%R@2W0jqrDPT|0dQqkkmvPWzme+e?Jct(56_p`=dJdN%DYdXw({x} z?hFq$)FA7tXs!>>A=!VJ=(_uolcm^N7YbjhN*srbdL7p!; z*spBumOA8GybVr|3G zmW9DX#Kup5b%Jk$w-0x>FG=d>Z}~p&bHxK`?d;r3GdsQZiyDPNGi%Q^uWLEl+?l!K zr>n`UGIjPj{hwLwO+|LaUr^G%n%g1CO&=cE752yym_?g++tib|IDUO{W@W~`dA3td z(Aieeo1I?ry!Y0zgOX#t^-qi7XTz<%W%jz^6ZMTX$b;jCo3E~J{8F)}|5^L#)VsXx d>uWxc$7EPmd0yTf5O^^&b@{=+Tf3ay{{#JPWHkT) literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico15.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b7bfdbaf124e081e4f9a8f6bf59ea2bef1017c5 GIT binary patch literal 1759 zcmaJ=Yfuwc6uz4fL9C7m@@NXWEI36p*=!I(R-+RMp{T)tAck6}d90GgWY^6?0<^R< zYOPeAfM8okiy}%b)fpaY1&fa=QXGGX)+ac%)tLf@=?fAT>1>1c29YKLUJJp3zbOAmGQka{zGP=c2g`L*XcDvy1g6(m;rf zq!o4QDHIb+P_S^ZlhPY41Opq0^=6v_dE9&kfz2ibk{z#+Xs9G2*Zf`~O{^?T%QO~R zjB*pQcoDqNi94;7m0gpur5?@2?i9%Ar5p~2 z*byft>Gdckm&;L!6qQOvY=p>OU}N-7krn@cjJJ(r~5q$E$*65*I^v&}?0>~p*vjRsG(*%`gfNTjM12&*DCn@u<-!Q?U- zrk2J@yijIiE18 zY0?UNuZ^20u0=JW-YC~JVJ%qlgj|#@2K7AdxW^uIu@mGmeWS~6e8W%J*omjv(RTNP zY2JYarnBr9g4}n(W&ruXVJ!}aUD@RoxEwAEcJcFo%k#qDg8&~qbT*pD}Gse5|?pbNIf5kh#xX(1=CX{6Wq3;rvUJhs!#;@Zx6OH|mDC zSX0UuHx6}HU2My0*{q}&gx4$+pP1W~Tq3+x*?CP+mJ(W89UVMtmh0W+@xe>l17~LJ zKrb)+$+AD;`HfX&<@K|E{d7-6Q?cSlr1+WRWzo5RqeR1kG$^Z~Mt1x!s=v1(|K6S# zb97U(nL5qiGj2Z$eo?r$_1?il+f52~R}KJfDN~Ho3C8s;%mmTbt4w ziIi=9eVq>uSL~e9$ES-{YQ9=Mq@284I3n0mSt+om#cnZNz0zZjZECEs9XwpQ`k1y+ ze6lq)wS&QW462*PR$26bYmoD0v--E{imAfBXpZW+Ybx*e{`B+KCrI8-c?3_FSGTrj zUfQ4koV`_DUY2-zMEG%eb|)K8wkpyNt>`_o;c=!E>z6zo zP!ybpMv|h29icr>PQR?ZGt7(>oEoy+wC!6|UUj;vJyCORvvT95@DFQ6X>;!!FNp~I oI{bRsv6Pt7+Gs%~?21`FqavrheHv1NUWV(0F%d0++3wr_0ix|k2LJ#7 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico16.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad958d31af678b6f903d3f23d75a2e4340494f62 GIT binary patch literal 1703 zcmaJ=eNYr-7=Q2fPO!9GDCR=4WzkgNZg1~Sj$Q9$;J&0d6Qgi6nK|wjS>bNi+eHri zXmSck1RN(!!?G;1XSrWs1oW|v0vMG(5 z@nQiNi{TnA224o-*5%HlcqE%zO8d;{-Nv6$g!Y)x%vnyYleJK}^xR@U^>*>R40my! zoA97Xa}ZO240u^D#k-JzH{ZvR0W%sjC&gGwV<-}&@Ofr5S*nUGbk0XCjGsbgX%f_K z+@M2@ga%L05;{XXqSN9=Ol!n&y;_Tt+5}QhAcH`~YJN`+xxi{4tR?Qu=-{CW3kx-c zdJW@Wis1x7U|Jof)2T&Mt*=cZDvW>j?1(6oot+AS76k!;oJ zwFHjak_o%fX2Fd{tHollTI_})t(9>Xcqt!0r1gwwZDVSsaqzNYWh>>US5O|ipYbBW zW0UmQy`+rkH>mZD-HT;REhaXDNk4bg&mKyN6C{PhqbqKPhoAC^6Ym#CTet&W2o5ap z92K9COy~d~0@*O+VkDP~tGGM?B!@(Zi$VgV3?f8A=rAO?$W}s-GDN9Rj`}i8d3GQi z1#l=(0Tm>JfgF}WuuM1(d;mZ)*~t3`AS86W;yEz|jZOlf7#A`L$P`k;&=4Pz$rZ|R zA#i9|IEY4HdU-r7GGxk8QW=2dkRlonQ;tjj;49%Wm>`PfFa(1n(DilHj_ObTFeJ9n zZu!ZW>IemtRyAdUeTu8&)e6&AMzz+!oy$rgB3rM&_g!htz4ZgjuDt(!zrJo|JB2&2WOR8GJ0((Gs_P4({%ek zMTrmpJYHM-DU}`}fci_H>!06vZ9r2uwU(}{X{_sgFgMb~s7@|+U&@)y3bvDyR{zj6b2M=ah_>%b@9vNsUcc}0(w-~TD?zIIRf z@~|IR?{@z!0o26w{r7EsO+(YZfr&iKZhoBFJw*c@sXt?I++Lbqb%oa-A;a^JA#b%+ zN9l=n_W_A(1X&rp96fHk%ui)txuB1IMQ&G` z)|Pf2#IHG~Uq)khHN`i!$F-V0H&>r@?yo;lcXeg>vW~W_6?^z|rjlRYIn-bEAo1$d aO$W+!25#%`mFmdyXcN3`N35Ytxb#1b-!%UK literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico17.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico17.jpg new file mode 100644 index 0000000000000000000000000000000000000000..92fdc079c6198aba12abc9c8fd95a32a77fb2fb9 GIT binary patch literal 3990 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 ULbl8Khxh3JJWl_QMhk!Fzx3csf&c&j literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico18.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico18.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c6793452182947a859ec71fc2fee5530610261a GIT binary patch literal 3981 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 M`Hq)$ literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico19.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico19.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2f6e83110965fd56b0366cbed7c0a52524a60922 GIT binary patch literal 3592 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico201.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico201.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4eabacad4dc5debaa508f3bbd2e90b653290b3b2 GIT binary patch literal 1279 zcmex=nftib*IMhEKl&GJ+A^2o_d$kP*5-dq5@t zwL#5b1Uj5mkc~k|k=;>Nsw8P!Jc8JeZGFaZ|Lc_ zzV=Ex8+Uy=yUe$7%9Z3FX6w!uo>84%YO&0^=dQPi{i={tiEo$K{XN{n?9nMPpWoj? zRM6Ao@torR=*OpLomtzSHqYbGp^NJe%M|Xk-_g76$GNrxc5K)09NPKZ{P~V^d3Vyg zwo1HSYO&lXy02U|w34V=NBS-lVZiV&-SqzSM&I&^yPFJelcC*Zw_{xTkvj z@+7@yC%^r3Y<&IdPf~;mpGgSiM)3AA584#-H8VT)es4jeOX;Y7eqRS8jOuE-l>6WI1n-)Xc{{$8Ft? znZ`UXxwhP62A^ZUk6YC@wcWxp!k!Yk>mCW-bhNr~llfeO^tV^H4{Z*sl;=J2N&3{H z?9c@>59KIiCb=gpn5O8Me0!UE)J?m;#&Ytfc9{!rT~bq?azFF5jq$w8Whc$%83~Jh z7h?_M_2+%K-qG~b%gJI#7Yle@Wj>~<6|ZJ^ShbkFdw>1K7ji8@Vv>;(dos@6S{tFrt{wA0benf}KEbqdZZ%-0DRQRrPcqUXgYKh-ZoKs{y zE3#hi$%|u?W>;iLM0rn`aqZBqtCiCjzs+UWaSbkxH<-yeMReno?S3Br8MNH2=ZbPH ze3PVn#BJ;H=BL^x4TbI^e%=mz^E#nCyGn6&OF)rHr{M6 z=fs<~qT>6nitoRFW$_ga9+}^kjPkmtm2bZ_?q43Z-%rWlS7l>MujtZ{+Pw>UN-U3- zEjxcOVcuqr8$X}PMr(Q9@LGSg=r>Ol&*aq+riRQiYm(=!mAL(E<Z$cd|Kou9N^WZh!Nc_u|{ z-xov(vHf}d{@V0U>J#kG&F=qg_5QEj+`4tYHvaXW_@BY-{NF0}Pwm40^tOLf`p*#8 zD*XKHmf1$<&ZVr@*4A{HpO|Rp{q)?NV%sB{J>gnA-&fChZuu@WTzhJ0X!te0tEtXUamUxW~a`XBa?v0Q)QB;daYfT#)8g-MyEv$pkhIaf$;%@4TBBi_5U{k DaNFvl literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico202.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico202.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7d327ae9b9c3fa3b0fe3ceb147e8768f52402acc GIT binary patch literal 1360 zcmex=j1_g;h|9fsI{JSSip@MAXQsuyNAC5C3m5@BkgbB*-ktV9)TxdCL9O zZ-fn(+_sfnzw^-wPuA_n-x%vzu6(7usfi=|fe}aN49-qA!5I?kJ?3k8p{WVSc8 zctz~wscYjbS3X%Ex@I=dvYguLHBTD&#iwaXI<>NBBrsZs@^~7>tId11>TB+|V?s4c z`XpnMPMz$JXt=DYrNXJ0bdH;WL$KlO5e;6g`4dg&@;e<|Ru&%q`p~L37MIh%GDRlc z?>k%UJ}r6k!wS=Vsb0KGJwq>hin#O!Cgfc7eyN$fs^G-ICwf9k+3$1u{I}#f#% zUMb??cqI9e2H%fQyde`jzOA|w>F|y1xaT~DGpc+(q|~{03rUnT==7`II`Z4;g2m}gX2GXYOCzRCeKRRjR{0V`Tc2TjujuKo z4Hb{O%zk7`TwA2%mUCWrw^7veuFV^h1Vcr{tZf3B7U}Qz>JoKd%D`atqU!77^-N(s z8$%e~)zWhr7oNPcd2?N4XPVuONuDpB|EWo=s(YRv@%(moLRL)#uWzVaXxpRcbW3rL z1ve^%|Go}p6h70nieoe1$&+7=!c9ZMex)YgJ3m!k@L_=^&zGGtUr&8dO^sCUJF=SV zv?hzv#@x3ey&D4}gl4lwwg=9)e7bwt^6aC{Z>z#os?Q`%i@IoYp0#+PX26odX%3~5 zNedd@o-kVZ;_=g5>sjfsTX%fwdA#DMesWs0fBUYifA4jUZeMXE>FSajnKrkjC4{)t zI3lcEULQ>9Nc;IU?8FMPL<5URny|X&-2#|`?Af_Fl*DFhZV0c%V{6~%E<6f zV1Zuyx*0X`6OQiBR}v3;AeJ_=xVSlFt*`1XW^EmmqS|!Cd`PQ@g_`bQTpZNWGv%l9m z*f4EPw!-wsec^&84UH!s-ao2#NNK}F$=DF(HvjdGMzwnz&;2d>@@Q(u!;=%eTUCCA zUst_$u4_Wb?^wCz(OaWxD?@jdZMwX(;ggi*BCoe~cDpyMsWF@=JzKKk_NwQTECc$# zv`jxMwMNi#ZT9S^KF6P&)D6k9J=kwSnPdpUC14hO15!LRxskc#imp zCaYA>yZEr?(`oC)y)r#nXH_O?N6jzadoO15>}`wYJ-K|4$))FvOGeBhCQpu~ckis~ sUp2kFh~deb+bUlaAG9i^={YcLX56NbvGI{;S$*))(0T^`*!urB0rDvnfB*mh literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico203.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico203.jpg new file mode 100644 index 0000000000000000000000000000000000000000..65c94be0dda9f8fbed817841e36571ef6370b6b8 GIT binary patch literal 1373 zcmex=Z{=G5bSK%dUA&GoR;1 za4w(4bjtQf#M_piZ#0{~^}1SzuDUldx?)aRx@_0!X>VsuJSoH68nCZA_tX(?ZLhUD z+m(78F143@V2BV^j*i-%)jNC2fs5L}YiXmh=g~zVE*svI`>{ zmz8~*b<^nTtXHBJT+h9d`&njk>NMxqW85kn+3&c-_N+1zY*yNOqAzJx<$jIx-|h(+ z`m6WNf4gA2;LODNIUiqTCZ_VO{_Iz<(Jj?o%OUl~le07aOuha&bhG?4kNC!lFQWT6 z9!yn#bgS?L)8YE&U+fJNohoF4Pm15NwM(v0;M%r8GUrS6>D-_oPmj>DwVJ6d4lfs` zu>Th5uU;+sZ~Njq`=u7m7S)a6uT0hRkJefkWZEP$&09X_pN2Z?(%$3?fw4Q;(lRUy z5{`V)ymZUEo;OTn+CtSCC*E|+Pp!163Q4*@S>aj(|2l`h8A7QaedD@cS*_|?9zB_t zHM`S1cGe!&IolSLg$T-N?fTBaBa$+yK(y!gRP}XA=65gu&W^eKO;u)pW%9>@h*cXD zb(17RZxo)m+S?*9wL_;aEG+Q((?hnECiew3<;tomvc;D41wAS3z0&w@%Nm|OZm~Rt zri#KRw;#X0HG77O@6>PAF}aidW6N7su&V6sRAu^iqBL+nt65>wkqOP7Wujq46Ghe) zPx7DrtNPA-fqjd#%f-T$)%o;mq^*u|xyIcYo8Z57QdrhQDZPbv4gm_z>= zF4e2PdB1R?wXNT>UvAr)vg!jjWiQ*Y(dSBtyRw(LlI4mO9V@z~*e$PhE&(ab zXNpgKQ_BDH;ap1RvA+#34hV33V|-QL{q5E7wkd_%UoLi(?*CcwW7mI%xQ?%{KVAr% z?w`JTlecw9+aW%M1;;w0IZ8_dnAE;pbnQ^dXgFH5r_0cE&1dbaQgi=AolRSxzK(nQ zjyA4UtGYHG>sowiNd}YB``n{U>(!DN?z_AUYHG3LFkd^#Tj-4E-_5eqtS;PCdBI;> H|NkZcV8$R; literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico204.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico204.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a1689e05ea110219e1d73ac1542d9ce0720de4a3 GIT binary patch literal 1215 zcmex=vfSVD0xV_34Q=>l6R!M@xU*#C+k(ub$VZrHkkAc3s>!Z-dS8s8ZfZMjsd6 zZqY8YD>!@Rb?aNdgRgq-woQ|%$xPytovth{R~H)A`lREOVADmx6H{|SRtw#le*dp+ z>t0KtCn-mb6+;bD{n_PJ3_P9)inDx)Guxk$aEj?gweP1V_crdzyBC=GxU0%E-}a2J z?Zup(^H=PAerqb9*;0+HuZ>UJPA~BAbZ9fozwg4~=d+FF?~@#p39E`Gma5&am9;TS z&YR7&m@R01=TsYC2ZPl7F3S_At}PLbxasw8(Hgh@?)0xoHj%T_ew^!RyR0oG>AGDk zEWS;`XUzfw#aXV3dzcoyW_+TCDZV5Sa_0WZB z`Eo3Z%u5%_uYdTskcTh$$_&p3C;C^MncVkN$V|%Ui0328<_*!`+7ebsHY|uxVzX_H zUYOdqle@2b%E6@!MOsTkww8r@TL$<}SbC%JV%n!z|C_(PW-b4z{_ebR+vyXRY*XaT zub1q3_nAFGg>_*Mua_EvAU3NPNAJms0&oBs?`YL`}hF3WzMz_-uQQ_gSdzRGv{zE5ZOt$wkqu2E)f zaABso^hUd#&r5sV7B4f|=xIJr+scHI-4wc(_G7SxTTqRp$A+U9(*-MP0bHkIVSg)ZRZ$GFxn(?0LIM zDtygcRtB5$`mH{jxMu5Wsy~^;>lOc%#cSG@E#XB^F`dD|~;cv?)z@8_vk z8hi}NY01k492306x0xL&1F>JR<7A!lo!7z)*sp#p+HqlPmnJpPH zid_~awkwwifbtUnk^*Z;o>05bN~ Aga7~l literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico205.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico205.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22eda81168de36697b4b56427cff8fbc4bdc82db GIT binary patch literal 1922 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 E1+kvgZ2$lO literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico22.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico22.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c8c78f38fa3e075cf2b9d40e24fe310bfbda200 GIT binary patch literal 3656 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico25.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico25.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1449d9a1827af9a7e686a8939d15e99fa36fe197 GIT binary patch literal 6315 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 Wzu5zx?*TTu_cFIHz4)H8H}-#Hi`xwV literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico250.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico250.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f02420c20a3d3f5aa346366b599ae62b3954ad71 GIT binary patch literal 1581 zcmbVJX;70_6n$TIBDRLjicI4IvZz2J5JV+|2r*cyEE+)sSp-24K>}zYR48DP(UGO7 zI3UJ?$RGv6QnUtSQPJQ4vIRyA7{NdoqBISPN#BQ7`=it8^t`$Eo|(JMJ@;t_HP68^ zH&?bRKoA5Rf)8jU;Fe2bcqjmDwgn&o0Ej>b!2$#_)C>{)Vhn-0g7gXK5Oe_Sz+e8JTB( z%*x5l%m1n1;-$;i_}70fExS>Ev!+&1SKrY1Yty~fw)T$u4<2^*^giwD9~c}GOUA}u zNMBA&zLF_kznS}8`G;!$EvgFv*blOx|3_W$2nYsV90$({{~eQn3a8-kt7!xsCl6v^ zjP4rxX_DUd3nkSpT5C6X&guunc9RW^Z6qcNRNA7l|0XQ;e<}MU?6WR0(8eP0^RN`a z1nRHjtiH6F-LK-e`5vo`p6wsqSKFK9K33__e(W2%AIqe>;q)zklHseXsjPF1{1e$l z>jyhus~&dLC5i&`o`#uK3~lq}L~I=?7Ze7>NXKh&g?x6)*k(We3b*0#gb-WNmWLE`W@r>%8+exU7IUh zV9Zl1G=LzC+*L*4iBi50h6H2^YwXS{ZjZ;RvQ{#Qi3~Mm{ds+-G19TQcXLOFqwHEl zy;G?^I@ZCgH7c2c;v-7sr>p-@^Lwt(9YBK zc;+Z`S870-24H)u-y8AuhEG{eyWz3UlP0bHZ zF4Qd)JbOEnG%p!lrb@f#piUnf)tVZ(YoOqy&&X}9v{i-fO-1+j^m3P&_sGPu{+E3@ zJ3}+PIp=m9>TI@NmEGr>7b-W28;}VfcQIyo*}P{OFw1!|oU0}WOP-_^X}>S$84pi6 z>Zqt?Em8c$FjkHF!7u&X#;Zq9-f^io(7KitQ?Xn3;^Q;r+HQVM+G~80y4<|=ICfPm z;ZgDEtbbL7(NqJs?lw1B1F9~}7sb*tI<^;O@m{Bm#ETNV$_%rnZ+Ljh)XEgi(4PVc BcLM+b literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico251.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico251.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed2b5bd86b2a637246fe53533d0f3f36af65b818 GIT binary patch literal 2261 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico254.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico254.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37d4ff9b9dc4f0af8368e34a1ddf9839507c12be GIT binary patch literal 1663 zcmbVJdoZ=&NobMS9g57D3A43M6b7?xM4FUKGlWwbOwyuKvK-YWQ!Ne2 zbrOZ4NE(E2RukV02S>#5$F#=6p9I?3_*|*qy{4)7%+ut!|0{x2e{5>9t1ee}>prC9ugn+?< ziq%jkkc|d;2!%nbt;cU)roP)($$+UrICD8ud4p|n4c1jOX=vdW8oOL&jpkY{ZKLnL z#~GUtNn0$ftjTsecG^2QQk>lOxO?pN+($b^XZQyk4h#wlXC03?5qa|Lxw!N3za}Im zUrAwKy>|Wg)LU8EIk|cH+}kCkyt4B94=O63JmuHc37*vpUo^M0wzYS3b`1;;y&Qh^ zdPFiRoqG5F!}N@7c21!ShLE3R0soJ>z!6{sxHt-&6Z|_OLLnT3La)a!Q`^2<$(N~a zKsckUVS72VxMukV3)e}kU#LiBjUjQsNUD&wr0l;5i~V29z6krOs|#9zgu&+_F^~-v2mc^$XEex4#>+>jWj-n10l53B;5WF0WMEB1W9aPqq+>CX&Xvq#sO5fNa zoRZbom7QqxO=$_h6?AT+?G4)6!{w!UGlz#tQE6F}nn7!?EG?(*zzF)VFpa{i%s3X) zo}uywG{TH&n%i7`1nK3iyWlb@hvGj_HSH2roga`)Z4L(N^De%uiP)6oZh`ag9HK{e z^f=NMPfPD^97u4haTDU6ryJy$95M3G(-J#yxRzrfkJ#CqG?CtKG6ui1G1Bk0zgm28 zmUZnz-VknIy+G{T*)`8=Hyz{7&V~iE7%bMIUxKD1%3bSMj@^)wsVhX*4i{Qan+U7V zyFIgRA}zGKvK{LM>|V1bhsxeLy>i>C0IU@WSAT%ypZcLZPxAVy9O_PU;eAZmik&Bp zJTA3~TU@_D6|rQ#B3|RJr_{R=+9QrQ?mhL?w>Q)U=572Jg0;uiI$q@aaI$7xuJGGG zChRiJITuG8J)Rgo+ftM>ftwf$IXo-QcwW(Wmd)Uoh0(4HdH1GryP4d29B*j6g4kZd zq;}h8S z#V&GKEZ^LwZC5YpX5>pmhu==xzHO{1v5lL3WU}uY%UC86Z=d4Jl3Lzl zAWqIt4)Nf;5P4eMVd!qD@iUi2?HKX6HCl&>qq7u*u`@kg(yjxhCh~rD3m#+RM+w ztOwa7v?-h2MLX!-8y(}EIhS`n3hSm{FX_+oa5qvFzoGYzk^?oS-?Vez^=N9Yxw2o} zwV#v?0EN}Wg?^fNR_clP452H8xpcr%ZeB~o>Yxn1u9Fb1*Eyn zdNMADX=p6ab4w@s(vwR<0*sBSQpJ+tL$6AHT-7kew)V{wz8dfIHcX#BpxGN~{H#t# eOXZ~Tyl@q>n=~sXGxLj@3gfV5cP9emoqqzaj-Q?Y literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico26.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico26.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6ee088a7f221e94c265d3d1524b7c1ab6f8e5df6 GIT binary patch literal 1612 zcmaJ=drVVT7(chSFE(@(S{_?6FBcOY(%#-aX+vpR3Zc_3%0po>nSESrE$zMBUZmi3 z%*`+t-@Lzl z$eg4P3)(3Rm&q}ZZwyj)rQaoLY-5Jp7L)F*U z%j%Ufl3t79I-L%aD=>vZ$}*&Z20vpDO8tS1n1h7~IB5^Xct}4IakM+gI>vyqojy2% zkD9T4=v~br+H8-e`h1ZKh}s62Qew8>hZ+aU8z=%RB?4p}?Ic)wMnp{M3u(g6kaRgo z*2HdcxtnCjfSaU{!otX{WGYgsv=*(xY{o4yt%Y>f`3OG~)4FE0nt8R6aqv-WWeY)j))TH` zn)D&jW9vQh_oAHFZ(8e`zZccKT8wQ5i~QUw5XS z!Ov}-3EST-FA@|dC-(NA-c{iMIsEfxi)t$;weR4bi#yhoWezsg-c$4M_gGK$NtOuO zpm+YbnSZ*oeMomWaOVE@SrOPAek8U|ziG?0s$aWXjaOP`~^2fzA&)v<6M`!PQ%*mdJXH zEj>g{cYn$+X|nG2k8UMe`?9dj|8j4HPTsk`p?S++M@q&e)K9+R^?jP1*IvXo9$9?+ zjZ>|ap@N%dlfIFR?Brg4Z^KiW;!oN~L)a6yUpO&t{BzIOe@mNx`|4u;rY%>Pu>pTv r)oa@hRJ%T1Ak&ofGCPi~9I4y7x3<*!?PvT0#gl6$5~_~(gopnFUE%Vm literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico27.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico27.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2eb19a0011eeae5d2ecd293d50724b966d81bcc7 GIT binary patch literal 1905 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico30.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico30.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bd55f6f929cf7aa8539e02542a2d162ae994323f GIT binary patch literal 1861 zcmaJ=Yfuwc6u!wOf-PDC1QD!;g^_BTcLGTu(U?HN8kL6vib_mY6GO5g2_~SRt&GZ8 zwW1YU1&q9uDr!Ro(FzPIqP0GFC?Z&_cC=F8B4RP!AP+kuen0M78$n+9Kr4COsAkk^FV-#r`1z!nI z6H!7e0*h9!MND#vMVq8E3M@jn-&}yjjx-&n^ixb4AuM)OrNqhRQY5GWp>Sz|R0Wg6 zq6G12%s>X8#rcB5Vlac~j37FbO=U0zj6eaKPZ354 zn>T|$gT)PGGnt`c9*@uBNyHKcnK}07a zf%wjsAqru&64hFz)}_gRa}IFB=*cDnAWVfk_oL6`ep zp;yjTXxA0@a0|J6X(@)-*o?5-&Kb$@rx$;xt%=SNkXI9%4= zL!&IY-FJO9=XIoaWbADAzc{;C`2#C=!nuDFjkj7a-D^XheKUS)0J%5d+9xM}&+E9o z5iY&Lp4Z^^(}q$r_u~V%SJ;84%JO0(1Ybxx5EBoJMBa)AUs(%@lo$;@zTRiSF}c;n zcHNaXL$#-+=eZ4i%3g9gw{fAiq^hUf^C%e~-juUq`!;dZDKAoGPp0kW!M`7#XlZNQ zy(!@ZZf0#cu4?+SW)862?y-Z#Yiz;Q)xpg*)CcVk@sVBGv@=nE)fE@B1L?tJjd9=Q zfSnQD9@8h6mf%R8iN#0GdQWDE6Q#6@c+eTtNe>NIo(D6mDZl``_@%F%VEXOF*hCAa&zB_kinY{_)FI%Qr1 z@9=u}Jv&}K2>m&qS=HW^q-pKd9NbJGr)ksc&fa%1cJ}ex^Bd>tC2xN3d(ZRy ze((GKUjNVj0Wd$q=XL>Lu`B^%FbV%3Kw_?Rlve{D5OB-u0Pqh$Xc^1WIu!LVa+{N~ z6LJSdqCOjqVsZrvmZ$k>o1>gyVLMUk_UMr(-=0HYw^NT4s;vquolcawSJrrmH8nW} zj+$}@?nKg7z{`C)A4!u0YlD5{W)GwD>5-thj*A1!C;|s5Y`GpW2C~9M);u_!@)EFG zu8}#g6eX<1<(Ni+D^r%jN(H7x64bxsU>sgI&AKTM9B{PRsY+IlaFxE= z0!fE#Uwc+lh*s;HsU#UVfS@hIt|lhyeXTK5P)!r)YJ#CEy$*t-O9NtBm+mEOEafer zsLd0nm{&%z6jMggaC&;+)KcNZLbu0BRWV6Hjn%5Nco^2^aS#@>9^qW%ZnsmHp)i|O z%2bU~tx;iEhS6v=nayh4sK~^W=9G-o39XrORFZ^;ozOZbwc2U5fp#EiF0+~Ny0;L{ zOfN;k!ENi@)7O$Rt>3uTIejhaX|*U<3>vuHDVII5#C1?047Dyd2{k|A;X2;SwYL8; zm>q0b;5^SgA)fyZXaKwr_*}&2b0asr0>pYGak3n+Z_M+ zN6i~A3`pAYGp+Yq2NPC3-g_80c)1O?>M<(0f(`G~K3^8yV9W+{S{^@p`d{~#ku_1- zpW{d0%Zpm1N-8YwT5pKW27ku&&MP~4{e9`Om<5I<_SS};VPdPny8W$d`*WK1#tvuC zc)l-58s6w4o-03Ajtw1dv&>rMsZ0DMday8YYkm7Zdx;?jmvq+6&+X5B+I73QC+_8D zGNS9n*vr#@A6x8lt(9eEF7>6Q9)HoX|7Oc?-?&DPyFcv87$~A1o>_S3?!q|DLg}Mb z<@?MZoI>=M->JJ=_jPMn$!D>(56;Cpar{o=kCWwfeVNKYP+=lCl~E&Hx(I1 znwn2qcda~_gyp-Ait-y2N4;QH>-WQJ$SuRL^d6>fGTz_RfsZA}#Q;4NymeA04`r^!O zBZ=#Jk32eiX7^1-w~et}6`ntRFZRY&&setPRy`cZk>iQ-** zwtw-vA8a^t&ksyb#x4zBjXBjk(sEa;*l{;^F?k{ad%B@`aBP28^X2ZZHV&(AP*6lq UR)^}l>;IlL+Qmza@A_~54~lRyX#fBK literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico32.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico32.jpg new file mode 100644 index 0000000000000000000000000000000000000000..274604d2f92b46cc581a629b4d4cd8e9a6e2212e GIT binary patch literal 1743 zcmaJ=Yfuwc6u#NbhWHpY^6*h>mrX^mB)fSLvJxedM59JYKxh%`g$C^g##Qq=7m!xHvAY(x(_-C+^85W# zze37*3vii6qrnL|E|*IpH=AKf zdTueZkYO2LA>%tONwaBX42&Lu{O7ZGU>G#=OT5voTPzBNzutP zM!70QA(I(&I-^Qq)T!l4gW6zJr^+IF)h<>%&&qV^^fPp-~DWX#&0g?y=^Hpy2?Hj+bHl7=cBO#OiDdx5q`@ zvu2G5HG{z%4-&y5Fd1CSuiw20{de!-$N3dR4wKuwr#-WN%szzn&e(%pom-QWxMR0g zYT34`Xu$n01ge=?F-ZDp`BSm5ZP*~!l_$i>9Jcy^GV9sI8OIiun3wJui_AW_jb2jI zLTHyObJh;uIciMo^7xZ)VoIGAyOWHKSsEW>OFUOnQI}xPtP51uEFUZe7@U^!m#4RcRkfhKj5SV&3|7gQghLor3iT((z%zW%X$dw~t%s%Ic1!TFQ^8 zYp#!*b@o>Csx9M(KHl{GvekG0q~BOupduHo`01~8hK3(6cBPhuz?7TXBl!<4zOn?( z<>=8}_gznZf9=+#mX-@_2voJS*>6nUslRdggQ+X8cEI!BJD;0YSFip2vrVt3%~Quh z%7dopL&dsxHdY11!VP7Qj5YH{7X&L>6|L>?>gFf@&eKgf$;NjLr##Icj(=<0uCeCpmN}JMiW&^xY>0bcZ0yKu`f$heKdkBG<{b&^X1{+{MCm(%i9^P% z-tM1utKFwa-+PP(V(rbmaWhYBOcc~6CDme*!RU7Ww_WjV&%Ss#X$fAr>ywY_${R0Q zN2pSRaT}0$)0+LJfnS1Hs01RmJX?PW-(P*Epz-e^7pm0s(cAOw=Nf9;qZN52TUX6T z8kbt{1rAJ|duZadig{#yQ=4VqKUothPk+a#_9bq9>i0e(V-v`)ADD}fpR=noJ4-vi TIyEW;ib#A~vJNR1hkpAHdSxuI literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico33.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico33.jpg new file mode 100644 index 0000000000000000000000000000000000000000..014e6f5dcbabcbee31662d8ed1f2f728c81f318a GIT binary patch literal 1843 zcmaJ=Yfuwc6u!ykh3^0gma6N5R;^@{Kmth#7?aRO3?&eh`p#pKfXT*9cslh}s*b3| zT3!`##4=PtVZb^vicsZYMJyGi8lfFjusRB31;N*(8w9j7;`iguxo5xcJLld#*KyO) z2|N`k##jK9$_0Q0-oo(+u;q#Rgj7HQG%~#c07oZ;#@TEZF^Zb49IXM@VH`bfLQ}LB zl*i$sASfioqSYs0Hdu$PH<~3#@7WpzHX0ZJ7L^vR(WfQoMFu1! z7!FDirPG8dDvGmRqf5XF`tL8Q*AaEvMfmf-{j3phewJrrUkLNLya1FNfb#r&xjZpfDE1S@4D(PA^=X4vVd)!~UY2|{-I<_IRs zsO@|2>K&p=^Xi=VG9B#v{akvGR$(*+q2+vz?G#l__>--^&N+njBtv0P$k16F6gmmE;jRvtiR3Y^j z@Iv_lp&yT@kOl_w{T1>6nKY0qk_C#mBU(AGPc&g>+lbaMs^xRX)H=t(WFafdF~XRH z8A1u%1P>isY#h56`IvsgTEm#V@DyWeQL-7-`E%d-*&``(f}G*#=#rb!;m6G6#1rIb zJ9@yRp@9X4TJi}|9JfI_pp1e_MpP=flFJ)FREPw*(42tiLtr|=8ii9%vgr^+XVPi( zcfO2LJ{&k|0hv!E_n+V^gTE z5Dm=cxw%UbIzz41O`XQvzc|ucruW%+gulJQ@4y^|hrm1FAJa)GFNIk|zF9oZC|k$-vJy@<5pj4O1(ik*dSDyUOd_bSRXQ>lXz7POpM zT9SM}d`VGO?N7@pR_?#W&)6TcheKbrLqO!K86NGY)#pl|dhKrRwx9PBZ<_UKRK!Pp zKR)=mEmys7x+*)f{f1_3o$E6@zm-*KjgNb5k8PgwXnRg;K@wiy?ADxHdnO)6 z&sldCh1`W+ce4^p!g!}n475~vYJ3)V)wtWY=DUA&siUN^zwC_XK~v_@0SispI3ak~ zK;&Z2E?7v?sG z>kuE0!Z3N&Ng7o>b=;b5E)^a3CNsMC%~&4sOKF-ix668zRU&BGWZwvjmLTm#iz@Uj z@|=f956rse642V6{pae{`oHpG^XfX*5##qXX=3hNT2NC~(NQ2?_+oAYvS`x$)*bL; z=A^TwtqC(I-zvSn4rG__Nh>RFU_9(qNI%Z2YKal9G3FPebuj~brMo-pqoaG!?I(LN z+xn_4jny5h_UCCaZqJC$U3k2Hu%Iorw=%Jk_?&!0)66n?K;P}fhfBSn zF5%(+BiC1*z7}xv;L^c;VRxQyYC9Jq`7A4>Z_1%tMfKi)Jh-x!Ke6{zkIkO(iodxc zD8Tv@JgQGFd^zrXr}g5KUcY~TKY)pbbJ73+ literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico34.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico34.jpg new file mode 100644 index 0000000000000000000000000000000000000000..055b4c1ae8e6bd17d5cee0c393dcf8f297fc669c GIT binary patch literal 1960 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 AEC2ui literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico37.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico37.jpg new file mode 100644 index 0000000000000000000000000000000000000000..487d6e4e4436a05c8931814f6bdd217184f40968 GIT binary patch literal 1820 zcmaJ=Yfuwc6uz5HNbofTQLBPoqYN+e4k1|y8WI>$6M0!$?WiGHAV9KfvPb}H$4W;l zVig&r;wToaq86)Ds8fVu6<<`T777v_Q4tX}Djm_PkZzENoe{qucg{WceBU|u+;g3+ z&fDOl2%9kpfT*ZIzyc$1J_2lYhCVF|K!8rUmjU3s4f9h-l0f-PSeW` zoOxkLs13E52opx?5SuC8Y(;Gf&VV>d*)BJqgA9a_X$p?gl@<9^6OE{F3x)*qq+GpF zB0@ssJfTz|7fI$IB7rc3F9_ia#aw|96-ZIB92o?M%4RVnp|R@7!Ccf%!5O?%W@aWY zQ_RCH$$X()F6RqGe36JtMR2WIW>RP4nys^j6x5hiZ!r?25jP_)MO`AEK`J;@rEjlb zB8Fw(+pBj1HJT5HnoO<+49Hr^SZt);_X=C%vj~hIi&^muiyouGXSv7(sAax2E6(qEflKCPVxajAjF#X$=_QXf$Y)*-GlndMrw<;7}?&qtSq>!zChB zh)N&|mWqYK2&F7oEsTg%%cZgirC2Tz4RO`DKEs5W$sw*`gex4C>lz0WL1k8B7ULSs z5NW|p$iTHx9# z2sD_^aD&*M6TK!)X0iZhmTtED6gGfh8r=<|!-KLAo8}4A!A#CXp)$scQWA+JlXR=Y zoo!$om7B(f*X=@4_3;I;&Y&8|vJC~#gk#a^%`}d5+_U+zZB{H6Ve4+pR{rtKf$?`E7-hcKM zm3_`O79HIL9@yv}r3KcrH9ax;GdBj6r>;!wE^K`HWV7+|o8OCc(AN1UF9huQJCGQc zAGhs_cFUn_xm(HjQ%&yn&B0K8xm(gnx5-4F&kP0mtNmQdsRJ*HyVIE^@R^H5*V6U- zZX77^6s&(N&9Ci|%z3zOZb^&-_bZz0cKqh@@+;i-uCM7dVWtxt^Ol`H?OoF3s0ezn zrKF;+!{2&$W2(V?O&hmMnXq{GGS9H+;=J>|vg&Q6FB7wid>xvFM5E*%cWLpe($q!G zZ}RK=T7N$JVrf}48tZ#Ca))3Et*Ib4+M}b4rr6tJn#0X$Se9P4dO?+M{`jI&=?!L6 z%hBk=vLjY-H!z`o!#By5c5{FFFBdBUTm7CT{oCSQrFEO3zI$=*5m_6Jt xQ~#x9>Y|>E)3G@y+wb7mu(>B3Q)}e@xwofUUT0(H#La(&2K6V0#yoRg{}1V&YO4SM literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico38.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico38.jpg new file mode 100644 index 0000000000000000000000000000000000000000..155b9a58576d83b82bce168280b0872d4c294d41 GIT binary patch literal 1692 zcmaJ=c~BE)6#tUVLF6(JJjQETJX#CcY`DzUR6`bOlsHP_Sw|=CE@TI?8+I2GXlnd@x))Pj9LOO%j>Wk3cLQg|5v!CnY;i=r1tQC85qC~hOI zCpi!5cX?4vZ$QEP1%9uKETlzvBVE9-X5@C`83bl1GqNh(Zm@f;w3}H}&eM+arB1TE zkTg-qg4f{re%$ZzdT7xF`#nXhfcwozm>ieRp)iWT;S{mZj95Zd;nntKu$AL!I9;ES zLSkt~IMbxZG7KhTS~6@jV40{P6U9a?6z*9}|kRehvp32Abh@7EXl4nMSn)3O4 zdS9xZ;|oyCWHO-!BWg6JNEs(+QJ>NVjGi z31cRPWm_!sa-(#G@BY6ts4On6}d z)ht~hS+EmS0{MtR(g{*XPe`FugiNVYhE1hXt0UBEl}0meoJJG%yvZO4QYw@hl}ZyG zsfmn^jgc%iHk>r{ihAljj~nrV%|IIgbU+8mv_P(vL0VbxoFoj$A=&8t2SBA(C?hm7 zNig(m7*fg8yk|fBrkQOWey#w)3O-J|ks8`}o^Tdwt?qCkP z&ZcQwLq|DVa~mS|Uz1l_+c&q?K0Z82_wR;|0?@@Ww>s0aHuu^3z{&l}hT10clkThM z(YrVL9yPZYCr>$4Z?D!}oxJzQX^y(wH;(;Xe|h(NTWf0bDv7sAH2ISGokOL6?!74c zbwYspyl3jSO+m0SBbTYY&}Ca0Fz+H(L<`Pc*Kcc1|I7_8d2l_?e6)0+XZ4Zz)-zuR zj;1A{X$^y~zuV-x@XLn&6_2v3n*Q;c@;Z;=Wb*mbiH%R%J1_aTDdd2mWyZ=md+uNF zwtH%7lM}9d@K#pf)jP$vChtp~y3RS!9Oam?2T>oiw`H8r-AZf@ME+%E7xvWbI1c%C z2>pAu48+VtFHEF}@nsd)ax=`gXWxrIezSa&!|6Vou&wQG`O-CY?P_}Y7wq&K$;E+F z-3hIQ=uaKnk93V&F?&|(^wJ{1-S*~js;+|Hw(#7B-Pn|Cryd-u7_8FUv!({L`LmK{ zb*TRoLjbNS}(P>I{4dvkkBjY literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico4.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a9a93a9c4221f6885908d14a4280ad4737913e7 GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico41.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico41.jpg new file mode 100644 index 0000000000000000000000000000000000000000..472a6354e43d81743bdffdf8eb4928cbe69fd8a1 GIT binary patch literal 1906 zcmaJ=Yfuwc6u!wOJnEwcqfu*RSr`#9*=)kYq{IjW1T;khNKvO4k`+?SZYCQbP^^kt z1O`;pnS$c@LY~1vOBIXwLR3(!PXsDH@KJ3=M6IQarW*?A5ApkP=iIa3_nmX^o@>2j zy$2=*nRP1w2o0SH9Kd^6{{kFEk|r?~FaV2AF9E=M4?+`6CW9132}+>Wl5w~|L+Vkp z+JIsLAqxEDW`kOjh@0RzJYGl0kmtXiKwzC#hD3WSg-Sypo}dd!GvX0xUq@=v5;YPn zBA)~MnWbjEL64i%uvx#7prmFQGGH#HV_O2s>0tW7s7$05r@46K70-4 zC4zk=0?bD!5qZsmMMBIM75bu>m@mYnLLaGE0uKVAs~NQ`q$)-5U@dwlLk16(l9D1w z5erCTJc>yq5>zNcMIt`U;8UrDNp0p6l9o>-pdjx6 zNw8StEe^o2Ab-hh2^K8z5()jWfIwd?U`VSVHA#A$Fb!$7@3medYHj17H_(+8xKWpk zYlDrX9v(QhR5x-j*oc0ETJ6Zah(^?+bTg>!=YH_Bhf?$e*}~z`r8mRFj}!F78|l%u zc7w440}He#=_kanc7XMOF$^XhF`4vAFaHB#LNw@wWdp<>fV~Y4!?4L|HXDN2_G}jW zgD=CBPY2eMfa3tTfD17=fXQJ%9EP<4WC6g0-amgja&Tm_KV#5Y#)oM;d%$*JjicEP zEH=a%k}#MYCy2#m+u4twFwp_HAg(+tz|p^2lp%JT%%Kl$M>hp6;BeT(X?pQ(2 z?u+gbeO-&^_QWhJx&n{+0>U7#1nssp@C+fNA#O1%_2(W1 zDYvGhH& zg4>HmSM%7J$g<;;*HoO4z9gI=>Ox0HYfWZdN8#3M8(z$hIBH+AM+MwR@fy9YAiqvl zyeoaj&L?lDWhfqV48jXBiuzH{E47N6d5 zadA-WvZ5V_PsPT{ey;LyJkpw`toJ;=xy+Nd)Z(F)HIhlL{q9dR{c-kwLd`8t{|D9E z!w-(BkI1S>y?e9O=ic&~3e}YJU6bt`HYxsIm%r`wwe`QW^;v$8T1V)vdR-22L1xd3 zdgC5+2I`CL)F1BitdDiR`m8#p7B8-Nw!LhhM^=B#)TVeWd8^D)C=I#go9?uEYFSAH z@91KM&^MuX46BJdm$&9FQTwebw|FzQxNMx_;`r{FYeaSp^D`d&f46bg4Yv)sSKC+cSDy`e*X_PnnxB_GyFOx* z6)Y$U&a2FBC{%hc%TKNfKP~U+u!5KT>@W4+^9~%?f1*0;)oBaW(%W`3cJkKpXQe%e zOH|{#y2ZQzOrEHUC)n`?cf+5-Q<`1dxAlgPUw4Pt({{P?`j!>v%fmWvL>enF i)XUUT9`agoso=1@mHW0%e!%HOd1=3E_D)lmwe3G?50dl% literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico42.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico42.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a4dd5b9296c40e0f7044421ace29a1e1342c007 GIT binary patch literal 1812 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 DCYE&& literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico44.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico44.jpg new file mode 100644 index 0000000000000000000000000000000000000000..840bac57286160038a403837ee36b6afbe7c271f GIT binary patch literal 1940 zcmaJ=X;4#F6uwCaBviy8n}YW7P+25-B!nfAh#?6BLMTF1+;BqjGy#$qlOQ0JYEg=| zb*x*dV+*3PGsSU4r7Biq8N{I?D63Uea6mzUx>X^4LAD>__v6mF=brC7=bn46vDMfG z97U)TUg7G<^36o`sX@CICaQAuuj9nx|q1S7;2%^?8q;f1CWymlUk}B08 zOolfC0)tXDQduIZhvLz#N;MCD@kb2|DdjwPt*_WytP!9JW#|qq8nYu(BHNKD!Q+=oNl9U( z_%JZ-R)opna1d`6!eY_!2)Zs!t(T_K)jHP+1tF@FX_Xqi5>rDaMQJ>itmnaar5~@L z(oD*JvRBgr#p2J0s#K;1jLGWs(dbmYpA^D*lBC#tyI>5GFyyEg}(L@#P~(L=p~sF*AWg9)pDmlu4NAcr=+rB3qEn z$kR?HLq2a9uL2qc*aBM;fd+^)0*OX28bCGxL=s`@{{ujw63OP4c(&d(No2xYGjj`?jjf$M1-LA7aHR5G=P_x3fFGHgnOTfW5NJdjk{NJe&L#7u!M1kh z+hCUcuAj6Ht4^GWcNJI|+rcbcmPjMfKoEGk^j=*$;{-L?{!;p~{Aa6cly*aFHW%6U z#2sF7Q2#QIdmVuy7Tuz%Boa~5yeN6$4S}UsZsCsw%*w~^a%Y8T1>0jt@yo`SO&)*K zL0)v6nj&otg|fcgs9NAt?U8VfQ!P2qJKN?Jcro7b~B@}@?yc86+Lmz zxw8Vr2Dib|qBPe>4YT(5^wF281|R;$J3BA4|GCfpf>#|4@7gfNV&2JhcdNDEur&jN zFT+20mAtY3>a`KX#?*J$*7W}O^UZzVR~aO5MCOz28^YzD8TUM!@0XT|mz2g780_7b zh7TugOQ?v-@~EhSgbU4WZxb7tM~8assX^lYcO!M}cTP1@`V_~9dS%T$5zLTAL-rGg z57(|;NoUXQ&x?sk=IIunYOuc&o9(c0j;K%l;ZAzWtE@{EhUjAz7kU{7j;SB`b+#6d z)HM`E*c3z?PVGE!{BE}$E#Is3&+>(e_3@OQhNtmlQ;hKDF+U?tZ|L>Hb}Ut4$d zsS6`<&()k9GcuhV>d^JJEn$0cUGuP&M^a1nL7?%Bx<+lKQVLr#H-~LL{ZDMQ|M`pW zFRgKGX^T95$FY;wQdQlj-c&P)4s3LPKbrMmLF8y0Te3Wt^(aC!3^TebYunpv&W|{~ ze<+Fby4AXNRz_*bWv?qJZ$t6Hf0v+TasG?y2Gb7JJ0<>L-J#0ssByM?-4gS3UDGh< z$WZr<`J=5F50-KgGOGAJF7+KYg24^twZ$#ZtooYTGoPTFic5G#ke=?+A9-Zo-F5d= zw=Z06?|pNBuWnCYr>1Q5(2Iev%eo+!;4S6MBvCb6@;IB}Sb=nWO$r#|r0vb1l)UVc Rbe5d+stm9?ce%#c_CLbQrBMI? literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico45.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico45.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34e63e587a1c07c0efbe4291b4ebf1907d585e75 GIT binary patch literal 1679 zcmex=+JW@c$vRenv@2ft9{~ zUa?+cN`6wRUUGh}ennz|zM-ChK7);YML}Y6c4~=2Qfhi;o~_dR-TRdkGE;1o!cBb* zd<&dYGcrA@ic*8C{6dnevXd=Sl&_Q3Q(W~w5=#5%__*n4QdyVXR8GDRC#&1Ub(Seeo?xG?WUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaHmqNUdTL3o}Ygi#E^!3HB zG&dI%0AOQ_OM+4n?!{_waY$uBs(w&vaeir0aw<@{GDvfQm2**QVo82cNPd0}EEEGW z@=NlIGx7@*oSi|TW}%=Fo|%`DUtX*U*5m7I<(XGpl9-pA>gi&u1T;l2Gc(1?%*4Xn z+{Mts$kf=((9qS<(Za;p!qvhAXn>^&kPXx8lAm0fo0?Yw)0=|OYl%}YC^_U70Bv?j zEy^rQO>ryA&s6|>+bR>cTg-5p2i2Q`+b!le_38s1qYsK)q{xN|0aFl&2~WB}4m|Ov z<^fZD5in{0f5*TFPOuCq2Y^|K@&9dx76wK*U;?t3n1CdZfBk8y6!`lo45&nU#f|gH3>effeWk7Pt;ZCT12^VKxRqAyIZk5l%xTaSq3YCV~u% zOstHoZ0s--7zLRa6or^s3>^c7S=kZ`8%0Dp79Lb8Y7%4re~W#!=WcR zIaAIwYs{#4`gCc^R3*cUxq*R)r*msqdCl@vVzWGx_<~h~qmMi7^gA2VhUu~lGwlRq z=FBe3oqnevJ4$3y0OOv?OKjzpuE}@pGx+%Wi`SK3e~(;WF8R~2;?%wBZ$GVj=YBi7 ztM}0Lf+?rkR8OrqI!DH*%RPDP6o-zfPWrwM7d!u)pOTum!|3n!=t3^$Sy90?2U=w& zuQ1rz?RzGA?XCkJs(sl_@4_aV{K)2L=X&@icE`=F*A-8g#kls`Ji4*_oupY|*`Lqh z-kTyf&kQ{+70h(@ob!amF%CERgF4z5JiPDwC^e;+JFM_dblKxu$0m4aJ@%L}?}qOc z|6^&q$DbJ3U6zW8a!_dN+G1qoy-jlebiOdJ=TFWlKN9Pn7rCG3_94A@;q0Puwv}eQ z2fl_Fbj(+op;Bm8>sOrqvitp=bN<{jBM&%j(_N_^6gTUKiQK1TyXuse&E3rtXFc>h zu~V&+L1Gv0z5J!MH2CA~?|znflfG2RKGAfYtG&Me6l2A* K$Lst5-vj_KUm}wL literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico46.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico46.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33f50041836c0c6a19356f8f8103e51ad864c591 GIT binary patch literal 1808 zcmaJ=c~BEq7=N2h44x$rL~3!CMJ^@T-CU3;SO`HPrd0@s?NlZtD`X(qxLF_^T2XXR zTTv`UsW^^Ttq0Tt#(JO@I$EcWjDU*QD3w-56daE#RMQP|*ctKn$D8kc@B96}?|tuk z&g;&5V2Z|JUIKttI|I0Z5jeYnASTC{l@B1mW!+x@;JgQ8nG9o7VVKn}Hkhb%Qf#Cw zn8RSh2r-U<*>fB=gE5O_kaRM`Y>hyBPM$##vnc{ik?U}sO-*K+;|gdpvEVbku^`K+ zG@)}Mk=YKF!(y|Li~(_2vaNQNBLW=|SFyIsjiJau2$L0oM!B*gsk#M-nxaWWE>?() zgiL~jDaC{WS4w1|hy*9XFgy$+q#~S9;R=;hi3|c|v(cs{s)U%>!CdSv0v)_mUS6I! zPb#M942)1Jl^8C;BoYxDA+qON8G}P)wfhe##E^C)ZMHFH%8IxY4e3-46M?dozP*CQ zHZ1$zUcD2j(|tJ9VsSNKK-SJAkR$cJSJ=c=$;xJMlC-+Rn#d z(!jt1(^>WlLC%|?1VF>!uoj2IuI%y_Fb8JAE?gI2-T?S6xDCTaXQO#A%;WR8ymwB9 zLq2Rc&jNuP5CS0#2>?d`!2-zH1j+$`p^@*;TKuu&+#uEo{m(sy5A)pI0pM~uJgz%` zkO6UEt|xB{U*G}!gkElhZ1R-eg-g+BY2x&f0C}LoJHuy9P-Xbo5TyV>FyscoTzH5o zV7b7Li1J_s78+1t@unyI=mdY~4KRVNh$DanU=H}sDhSYQfVZpQVGO819^7gos59htX{=xJJEfF=gN7O%mIlk~>y^5`j_Is#UN zZ!F?;yL)y{Zgzqj6<&6_RXA~b9I}ro{tM-n)b03rhR0RozT$g{Q>PwZe5&=lFsz~M za7EA9-1H<(ie}3m{UwudX;)W&vTo0YX~72%KlEM~nnJE#r}3K*=$o3=G;7(c^0KY> z7ij}zP+5{_NhN?HuZ%l%4f=NT8RN6Q4Zk#LFC@}l8>&Pqb?4Pz<5xhBM6m9k@@ONu z5c>XU`_b^*H)Ce^Hf9xji}6<|*;`m}tUS}&v3ULSe{WvtFKchh-JPcSJTf%*a9&M{ z<%eX(w=ga!t^L43kNY)pe4Ov8bN=zdMX_a_HJ(bttn3Uv0j_VntDOJI%1PBT>sp#C zTiVW_)JASX&Na^4wMFk=wR`pPyG13B|8AXr-`7_sTQlRh+;Vbqwf3i4pSla)L}~B* z*3Kl8Bf03%Z}n~Cnb*`;&XyJk4uA4hr-+`tWfV=ha8IZl%%t`#S1ti&9_Iw_GpXUb^;0 z-ApH#aJt|`?X~LE22NLZOQ93&T7K=pvvTaw_}jIf{OZ2Oi?13k?N!{l)YzZb-QV#b i_1MPc)UxKt(?$J#e?Iy853IGO@a3wOXQ5v@+y4XP(N*IB literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico47.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico47.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09e5072ab9b4e69a5ca2d17ce6eb83abd720e81b GIT binary patch literal 1712 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 N6&^`@uf^)U@*j7!O6dRq literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico49.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico49.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f69c6f454e1985298e99d1dec6a742964e0bbd33 GIT binary patch literal 1782 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico53.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico53.jpg new file mode 100644 index 0000000000000000000000000000000000000000..119df1a03d640da7a8df0627c27e160b0a05a6e7 GIT binary patch literal 1756 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 M;thp=d|_|<5Bm^qc>n+a literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico55.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico55.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f08d5f1f92ca938c1a811604246d9e9c14a4a20 GIT binary patch literal 1898 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�@l5=u&K zm$p@M8wZ;nyqdE4)_&$o{E=>Hgg=xU{f#f>@$1{4)-n|*OSF9_8mxoQfmfqk4!M=j zK6dG+&kI{ayt3ZJ4g8Eo?l_w$@$rfK;g-A0wy*NaKNB}R;{URo=Zd?6Z&*_op(9Vf z70?!_SV~s6{C)AUcfxRH)2fG=^1IQ$cYF2i{<^(F{$|l%a}x`Z!bh7vF*L1ZD(`ju zIyC)N^}2%UZurz(%k#1z|+ML(nonCd__>g1u-e3OGjgfiV4%EX{H|?NZ@Sk<@+sxGFh}K&5{iL$q m;q1nJ8`SeJ-rHWVZ&{_slboT}eBL?F49|s>>Mz6Xcm4-V>Taq4 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico58.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico58.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e2b6fedbe13d70828d9edfd21ff5c0e95272e7a GIT binary patch literal 1624 zcmaJ=eN0nV6u+;prPU2WZRuQb?D>ExZtZIeZFw&i2K|V{l^__HfQ$Wj(xxA;zCPB1 z+kz7&j%DJU+rR}>B7=VxNS4frV~oIzb6*;nQ!!4aamy4x<|a$*y4y;DKg8c3H|L&v ze!p|hz2`=MiCzKA&0+Ue07^>M01=o+^ac={>K&d2fB-&pR|62ef)Xx{3s3~%4=Qa= z#!f38jE@N00)$$rBEZ_haKPs9&>Uu`>)d_=erxC}9CJGjc$LO2jmCzWcQiqz!2fN4}}J)zPQ>Rg3NO{sKLE{V+ohuK)?R;t`&nau@v27I=u zP$;AfMWa?Q54Z|~IsdAS;ksn}d(G$*(w#!>I1{ak|Uoad5@a%1D*3&6}KnsvWQ zJ1s2Z!{TjI?!{}-Evh%mbuM0ueo-y~iy>lAQbQg3r^-j z9&bcPfLH{iK#C$_z!M{=7>SO7HUN0&{P%~JXer7UA^;H}3*AD5hYFJTsQ{pS5l@hu zIO7SD5Eu`{%OujYr*4WNKTq3bJjo8 zY44dD7!llC|0i<%HR_u+9W^x-IiLS`c~9H3cf2m&%;}>C&Cgw1#Wr>>n>n!W+mn%9 z!}klm`}e}d-MWEIp5g~`=|TBYNq_6%3D+Qd+R|R|VY}r07Gw6lzgG7hv3y*Se&qWX z^T+o7+La`FFr13?;prA#PhB@(dbBk4?)8lI)S(aF=1(3g$yz5#&29>#8hh$^tFY%C zZp-b|A8@s7Gc|Ch$CK`~i!7M@_}3@4?KQV!^i=r|XqoQ`frJc?IDvCO4Nnen~AL2K2@0@$@`Mz`Rx#wE% zSbKqcv`L)>KwO+JV1Nl&`v6mBQ0AHe1yITDWB{zaFp@(MS}}rPdago+XQEssu0c!+ zEyCyW5D*q_(khg>D8b4^v(=b{{iO9Ao26Ds*sB8NJh@hi=BQ)yb?A!xrHRV?T%}0G z4qwO$Gl@+atp+6&ER!Y=(~C_K_K3Kcv~Al6n>FG><3q`C^u*qmTRhBqG7Bd=)TuIoYmogfS zT%(YS>#`BPNF+jd0z@F-kRBYp86y-X4yN}SQ;?y0rB1CS)HuenDJn8?10i9PnZCb* zMmsM1(OP}rD3^cQRim*LU_@3=B%l-depFbWXx5@g0;~KYA}t6aXL5QE7=lTV6V(QoHUhd0jB(iLq&E$QX>=Nu z_QA=x%cl)%8(=bkGjN6}OaL({Fq2|!2W0?2FlFNZ13+g$v?=x!3V_Km0Xm@BQ5iD; zfN6F#m^OAqfv8N_nP%tcfOmxSuUk$DNkmdvddw>*A12Wl3}E!peut!*f+Lswd4RZEH%FiWdm?ibDu zlf>4a`|`#*Z{Objd&C#=!gv=*ekcn1r#&gcWam}1dDnM7{b%~5+QsSW;rlHOXS+9M ztWaN@<{C94ZM|(qpi@kw(IIZ@1w>#MUVj7kQxtm(|_aEJ=ODzpK&h)@yqp2;@ zHd+Yd(I)DKOSfMAT9B7x!M?fq>~Pf3PI2{X_1j|p!ibqC+uNWH`cA(;y6bbREQ$7F_v6aVi>W1l z8=0m?2W5t5UGwe#bc2tQ3ybSAo+VYfhWkD4`1VUpxwI9(u~+`8xAAcNrfcSHhmVAo zT&>P7TKN1zD0SE~{Y|G#Dqd5qsTmyJ<5tyl)>Ts6rS0f*ypr1W8Izu61w#!3t$AnO z8S9ayg9DVskxQ9@8y8gsm|7<+Gn}u;F4p8>B+>hdh=raQ#U94b!~NwF*&KDT3Awhs%+Nr YR?nk{-mXf!?f+&?({-PI3vTWCA2hvu)Bpeg literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico6.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..240cd0ffd21be76a171a782936c1361ee2ae144c GIT binary patch literal 2657 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico62.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico62.jpg new file mode 100644 index 0000000000000000000000000000000000000000..519f1b448c84021fff252a8e10ed9bf583145b73 GIT binary patch literal 1888 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 IJFM;h0Yw;+u>b%7 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico64.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico64.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a163314560cf2101c522785e0cf3ebff3f906a9 GIT binary patch literal 1924 zcmaJ=eKeF=7{Bvnq@)qb9;bbc2$^~39cD0*n4vT~5sF22$IOd2X5KL~7^1SLU2JVf zZG^~?=%}@ONICl0oU^v9=L2Kz zg7yA7EDnIcKxbeK7NH*j3{i?KF&&Tqm2gJ_pnpn%6SP{D0EU$swp5PCqHGzifOS$8 zjIcQ{@bb~Aq_RX*3&o=Gn9`g1>iR7vgvq^`;XDaPq7tGB*p3V}8k(^yOqP)-^OQ4v zwnAPyfli@Ppjs)UQzR)h0-ZN=R$M^X1~<%vW<#`z-b`OZRwzOe3<+^H3h~%{mJD&@ zLhhbygwOHhy177H4&n}T++oC(#X$rdzQENJngf%_rk2MELPP;`xrm)NbM8`UX=&^< zS2nJWhY?RtPng4nxm*?z!P2BFwNf2Rsj-_^5TP2G8dGU8TnQNzrLlO5)|*LG`u++E z)q?B?d$lA`BKdfzLSbmYtgJ>Gf-ctkL19f;x(bCuPz|1t$M zJZZj*!3nq)*CgO7NGLRP%>!}_$CPqBP2)7nkw^rAN{v>kl%atlZziF_#xS|SmE-T> z$M<#T@^~Ty@%Q!M@P&TvLXQA9gwNx<@#eWAT$Z9hmD+i(e39$1EY~m&3KfxAgsQPr zR34zl70~Rp1=#Yn@Rrq^g}*EpCW?U#kGtft=Uv1E8O(*zB{mDgk1C0YR}-VH ze+gF44lIy26JLm=?*>NzX#r%yB9n=gSl)v|rVt<&ssR+*Ea(OpFTg-2qG=QgjZUM| zmYghveB97C1BNlM02UMy1CSXc3WKC?0eJvWNQ>W}u;|7sOh_a^rY!Z+$wpL~@fsqS zMkmv#^JgS7QLUvBongM#!fKr{VA}d}?KWont+#fwU%>!?N+D>pd3_RtY;H@T0>pQ% z1#LIi(ny+|eS#Ts($#7mUH=fQA_^fhC=B2OTJP9+)c4hNYM(@J-uIbIq#K25oayHW zai!RSK6{fbMQ*Ei%cza(LLaP|9_|BS9K+|yK7 z=2MyEpmZ&5MYFA}ZW z)2gX!72@7Bt2Lcr;_@J8v7m$9G~PTYeWZR zjOjbiR8iZ`wpW)0S+t%(T*Wk(ZNU{|j$qupZfonQkhG4tb0#$fj;L|psg1sv*%$da zU<>cib6Whx%;vLGnDhNS`$0z^i?6CD>x54GrKgLW`b~0Wk%e{A@)e@JtFS8r6^DNIm>O**=)#+)7F9Y4shO0 zmDe`u!DOT!^k?|l^jxrFwYS6dv>|NpPVL*C-|WUG>}n^yDoM?E{dlXgj*vH5y}P{H zHb-qc5;K|l_&JQf5MWK##XdH-n;QSy5IoSI>K^cj6@LC+K%$2E%cgx3*zMuFD@V6A zc}}0}I=%f_>hOrs)SemE>6=w=D*2UB!haj@yc3Dx?6JDot_@S=yB}QprdF_Nu%*6d v`sAU_15rL9z literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico65.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico65.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23255ce0e591fcccf003ec52339bc53122fec042 GIT binary patch literal 1934 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 Jx8FJ&{s&Xtn1=uW literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico67.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico67.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c316c750b58cbb87b50e938651e249524afb005b GIT binary patch literal 1936 zcmaJ=X;4#F6uvJnfnco?7ExiwmxrJNSzbuMq((~;5R@Qd%IZ`@@{kmh7m`2%S}AVh z0%}=Qa4Qy!b<}|trv`1sWssp_i~E8yf{IuLv9@3p(-#WJ5ApkP=iGD8_nmXkJ=cEA z{s2r4w`kG;h>8jTbnqVbXMiEgQf1@-2vA9PG641mFelw)(u+78osq3n6R9{`MQAw| zrJjSaxg0QOo<*-zW#A?x6Wm_b7#$QBk+#FlL6N}_Q-&A~b7Vyl<*|sAFyM%Q9l}y! zd>#@iWMd&*A&(z~@VHngha1Ylf>~Tl#0?Pz3y~q9WHy63O%x}K7|KQN#OTna%w{v& z9Ly#RD>#@?DCBT?93GEFMzD-II+N1E(iwe+6=b+kWzgtN8bXIS6qTt&mPw3~mHvMP zt$sxIgS{FRD3^acRI7C~U{Ka*io@U6`$1u&B1eyN;&3C8Wl-T{xUYk(7fB7c(nJ^( z1hI0si?Qj1i7=)UdPFL9bZs^=GeM(M6K3PAL5^H5iqaWPN}URil8I4Lg{{%3MWF%# zU&fR2c>+NMhJ}ZP@gx$dOe&G`L&60@LFh17MyRs1xXv`pRlny7#^gH2L8~V-%W#7x z8&^jd2rV*rZINc|T6kmX4RO_D*AhG?mqQlAaXjv*#~yZ(6XY;QMwi@-3_q?TC*DAg zw!Irn7#vujt|z|`WWNj6184*k(xOnvm0bP@Oo2&|3)KObHV9`2=p%5@$!Ho3)0}Bk z+NhI}kdGVodcdFq58weq3_xK(Faxq*0EOf~hoSfX9{?AM6MY;6C=__K*U1^sAu7!k z0N9BJQ)slILkg7!G2CD$XLk?JNp!&ULVdBY3Z9E3HF)wA1^`qljY6e54@E-^iW?Jl zrvfa@gXZa^{1$c2=fzE0Tq7y+E%vhC0prP9C=8eZ=7EPxw(VVJ?GB$3-}YIXAz$6! z8RlJ5{zFprch|m%-+8D>`AwB?F`Rh&5ckg6@!C~>HAmeg{@mC-*=-v1>AeJV@T?Rh zQV|i5aAn7}JPt3e&kk(v{cmim&C_NW^Y}jWkSaQTZfb2*J-oC4$vw7WQ!8Y%J~@@s zFgJm<;PlTBBu*;~KPuU#b$z*Ioqzq>^rtR4Qw_UQSm#Rx#Xc=mW`V>UZd?_dUza@n z_R>PU(ql)`INAJH^h)T+3->>KH+EAh)7-imFtBUju~( z7;fNfVMlUb<9+6xhSOz7pAYPz8*?uknWb+kwt8RbJN3BF+_mhA&YY4~m>{S-*?78F zwWj^Yt~Z?aGFk@Oto{yi)LUYV7Z}lk|Irt*iUC}LDJ=1M7V~lQV)yJpS9x21* z#WB9zFPh$-=*S6t*RZP^C~OP%oO~Tk|H>}{qb$10Xq-qF^tOI& z&1>1$JQ4c})pyyV(2}Gx?^Erlh(!_fga6cQ!wtuR){3fHi^5k|mZg;`8rhJ%1bMt!y>2Tz(Yml8^zQv>J0IHkuMR4@mSv literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico68.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico68.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c7cda895033b1fd4aab35285009224d93ad4263b GIT binary patch literal 1938 zcmaJ=X;c$e6n>M*21nGe2rktzs0UFpnS=mIj2H+sp`s8`S*kS42q7esCWDD`tQ#sQ z;9lITSgIV4yPiT(K}Ffrsnc$&d1OF$gcV0bypSLr7A!zQ z#XKy8FBSw(L+6y=Aam@tTsN%$cWp&01_m&#_<&y%PX(LK4Sos8RaDZAayvkQ5I zH4VkYVlm1WpaMY<6%k}xU?w$=AhXTCS3!Z>bXJ3fG!SOQrKr&oS)`0hRr>AW?ZmQ{yS;r=eNMG|SnH6&q8Ac)M~ zF2Zz;TIepojBc=8VE4gAr=l4!%wRF-j1Nxw zLOyLcs{n@$yn#0iaR7}2!5qk04e|k?!SBC6WwG68Om_$Z5aUBPiwPh)gFP4kn8|=? z%w7&eV{klSI+Nw)?K6Z8M*DL8G5H=rgjVP_lmh^r&Y;ohtR5wZL-QOBd(i^Iysr8$pAeoUy;rDcIFx)AHUw(d9o^KNICkvY(wORuFY@W`fI9|S zQP7(FckOSZZ~roPYUBL>E|cY_)5PoQyRMurcw$WIG)iBjUN_rQ<`v8q{Zv+a>e;o* zuan5G&hzG)%4n~(^^?Q&c`wJ_KHvlgE9{D!b$N-o3AB@`!`J663AnlmsVnWssMCPC`9Ky$Nf99`tOH(|=g7uD86$oJy2 z#?wv^^04cyAOknmG{!3%k`-PM=Jj%laHV_7z50rZOHD-=1COt&5B_&iYUX%VV9k1r zHfx&VxNm*yU{7Pl%84t~5%j0kO2hS)c_WiYC@o8NEkDuBT$*h-*EwQUz^*MoShBp> zZ3%msLKQcp?5(nfeWne~ExN!<9p^sOi=NAf<}!D~Q{|UYXvsj72C{ zf?*r0>oc-bObe7HmE1kdko^+=u; zl%n4AO|5T(`_|C;=~Nhcxf4%*R;>^!JXFe#7J-HO^b;&_m-x^zy{Vb#+)(@E*5>DM~9E#Jbr zc)m9KP|K+|Qc2^h_Pgabe$*T({W7Pt{6WP1Ol5vUWSF*Gc93%?WQRv}Qq`5AZO<+c RS06q8d0(<}m++|b*8h}OlsNzZ literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico69.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico69.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be450cd460ac69baeb096607fecc8e2f95790a49 GIT binary patch literal 1943 zcmaJ=X;4#F6uwzmL?MU>Q_)ATtdf@m0!d0(Llh*k2<}Ql@`M1%i&-GxQltzzh=a1& zvIvzyYo?%Bpn_CEkrphpidqptL_o(8wY1ven!cbcKg93Ho%7E7zVDoS@45P3{SdGT z)=IYn5E9}FjKK`_V}Qcfh?CL)4iK^QCIIw91UNyhR&ZfhuA+$~XdFTlqcT`4Qosxv z9R@yrT7^iQgs7o7Bwi}#QJ*!pP$8*=M_tbn(uIm3Btg0=U5TtsUlT1(PZDz^R6k$H zN6Xd96f#6Dg0!+^xr(dhQ76s0SZqkcRA`c-PU2Am3{{~G!U!k`RU#0J=H)JCcrqbx z4vpbO=P*52KukKr8>V~13=elYgG=|~dT^i*pkmdOlI`3mzTiVG?2AYJu&LD4R9dPB z4OPa&3=W3_)0r@n>5ehnRcUgyNb4?FIZQe55tUdeRj8$?95OhH;!us6N5wjQzXh3M z+V-PoHH#<|ewr$i84h65R;7+YX8Qf8u_`)EfxuCS3e_mZ2u61>h!xx*B_dLz%4if# zo;t;d1XPWx5>N#c6l6FxHsrisDwm+CDwj!(P{<9DtJEU77zyF?sF({)DwS}(Jp<@` zwl|&0VhI?G-~bLgFqrKT$QIB8Sq$t7rnG!itdSvd^^{gJqh-vgHH?EyfmP-sN@)rr z5hzg^G`VfAbk1J9g6H)6pq0$oi0-k^YTZje_NRu!!z<3%4ImRXt2qYsC zku>YiH09HQz7_J8eV;I3mf| z0ssP;M8K1$G&nqoVo4y9jTTxhvNi_xi>VHbfMd)+lQ<7s3IIeR2~RMZa>7yYmiB~& zM8F8JB2meai;P5j4>O~z7oQ2tcPP;J0W$&)YmGnwexT!fJ9bNWe-5+eLh6N4%g*uN zGfT5dbQ`md-H2Itr1FwU=5dG4L;i7HqWv}xt+VJB^ukthitNtrsslf0w)S@&Pu^=E zX`_n`4T^m0yL|QFyQ=Wvr=#QjyN-6hxvGHr3L)ra&NU}6UrFCvl;k70H@`cg^2wmh z%PkG2|7;-=UzD({&$xQ_E&n?wBX|cnQA6HFE;|vK-F7L5V&mu%`Z5=H;}p7G;k}w) z>UOxgJ~Mxw{i^-%E?Q--4UJ_w8y}Bi-@n*say2f2xYjPWM0Vy?dmg!mF+&_}yC7xjUYTO*J=v z2_FAd@U|Tpef=CqK7We+1pJbyAb%(E4_C)8`e7U3~w3sUJu`F6= z7g|#3RPNkmQHxypoKln=)X?gZWqW<#tZm2Ozbk5ML3C4SY2$(dfIC?vfI?oyaaMwy z;fdFN5sm|~Y{#&$n#QjWjM^rJhY@csJxNxynLZ%>^>bN%qfc1)(7v%nZlzWgW-dQE zT#wO&FTEGG{&i-}KI0dx=mvPF%gDXljk>yWvoc$grk>7_EB^M`lrEdvSYhLu&4)(X zu4IstYuTA$Spn3_$c%!#NVB#!W8W$`=bLudSl6Kf&sF(u&KkUMIfU=IN(R1c;+uAv z9`wdKKRBM^JJyjHzR*SYM0WPu-KUy$JM$VU3N{W_nbT|E6b_rlY)I$i`aQojn5hT# z&-B0=qxbAc>?@i#;eWn2y0f`1NcVhecyg1=d1i69pZOBy?J;v{fB56}vH#jy0=A?U zKXHoC`4_~T5-k%3KKf%crD>&|o2sEY=b+Bo_6z6w;UmZiZIN5E<`M6J?&&`9qgTGF z2o;#tFYF!B^zn+#de;(LDX_{{g3Kn3Dhi literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico7.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b6b93bbd6c86915ef96a382cd3a29ff1e889aec GIT binary patch literal 2136 zcmbtTdpOi-8~)AlXHbl^WgVu*IBX(^#$g>J%p_sk9GZ_M6gis)gB^#I95SdVF*d?D zbQ0q%eOXo;lMzib!WYuWF&P@)?CfZ-@4NQj@A~fde(&pjuIG8~=l$oAa3xcK;xQ+p z699og0D|-Y5P*lN_HF4m%N;; z{C2Qy@>eSq0fQlAK_vLK^mP2mpmie+K*)pbP|w zf20^5dkF5+v!b~PMM%$?nu#`X?pVkJC4 z9ws$J!_a^&FrA3~?pl4uQ9>%p9A+E*!F0Yrxv`t!$--Lt34s9{bsl-$U!19li#G0R z$DHt-AM|plS^T_Qbh_m7qlO$&n~n3NMoME7KaIm`sO2YClP>tnS7jP)9eldKa^GQb zo*a3#V8s*DW_BrW{0Xb&zTLW8a%liLSG*>~`gQ4l7(7uC;Y;#PN^|-2+)>MRrf$!z zpI+|VCjq!NoC@rVT%*p1UqFy9_V&rlaH-ZBLwxQDSH~Qk9{gA`i&MP{7XE~ z0%bp&)MSepGCgfT{Q1moq7BFT?c3(79bT=`%t{=i$0hTFi(s9ZSTt6Ab-A6SFjKVW z582CJt!CqOWJuEOa_ih^aaMvxGNo@$uvJkWQkdP%D*c{74b|KcAEgNo=qb-7^HWoS+D2Qy#pXbtO|YwL7yi@@wsxnX`Sd!i zfxfR*VFzXrrh<6G?q@IE4UcT59AfS{gwuvXfVd{h)T_vNcaTObVEl!p7kQ1r1IYWwFw_cn-I2L zy`^_BDXY@V#be%Ar8ZO$&Z{d@`KYo_yDt5{RioEq*yD9g^i*k_H9bxPwc}=-v!|ey zC91dYE-`V%TU}oc9WV&v9>J}R6Dz^D%&7wY5@Bf4_%a zVs5LIQ-ToDwpY;NZR-2S<9I5G^O<|5Ji52|6L(43fY1lg5ht&Pjc#xlv^H(dz}^Mw%qN9sWkjzJ4E9NfZcA+3$9R2v39t*x=x3@% zXPA2q5={ib*Gtc>W8|tLjrik+F}zdiZo2eSQ2F-;J3ZV_tl>;~zfBjf{PHC* zXsSM%(S_izGgEVi*AMk7xZ-#C zz2m%}jR+fwb8=u)*OZ7xbz;HC!GpQA=FPiqZ!#8yx3)_e*+RT0`u zCLDDf#Qjsc29piG$08YwtO8P`a>3T|g`77P;aJm)j4_r*U(>k-@Y=@nmmZN`K^7;o zzMX$QBr2{UyZX|OLok8bx{1R1#)+{q>y8%7ji$aC!Ud?z>6={hsRPZ-4gLkZ-wnExAI0%# zkq}Tv-RK{e04ySVQvzt6mus9negA5!uP*O$qFqo)maF$8;id_f*2R8!)A_gvtXQ}m zmPS)*K9&*l-8{k(V-QKhCg&qTe>dvL1YN`!XFM>gTRY3spUrXEC2yv;sLsooNWa5= z;k(-F@()3boWsT7Kw1&Q?N)#NP$hnukoZI1YAvPAS~%&edIzsKvbW;^AUZ>KnB-|F zjIg!tW7IyW`nNpu2;cc`$>E-p+EXRSIci2butEKa)A|N z+v)&*|DDkdg&*&YdsO`!pZ-_^=p!6b9j>|W4DY39;aKLIycqhGe$AQ`5oOPLtLx#;Og)e`1sDP%h|Cq%P{`4v zSN_AS%zm}uc9hGO-?$||B~)!jF`5d8t^I4iLU!H(XM*oyi&n3E*PN&{W^Hw&2c{#Z qTVqhg)Gi&9J9P=^KWm&&41;8E&R)#@(rb^^HIlhf@PE=)^5##w=&o1* literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico70.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico70.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c926b85651935a5e5f4b0d1fd1d4302349f613b GIT binary patch literal 1934 zcmaJ=X;4#F6u!yJg18J}Q4kA{2QDDw<%JMTAV?sgf`qb-po7woJSD{B#Uwz$k*cLA zVznSGYN-pZRa%R6r&LO*)RnP9l^qmh#t|5)Qelee3$pk_{C?ay_uTV+=iGD8H9sDa1THt}WSuZnkIRjOKAs>p zPINIkl`s;9R6+-bhFZF|3|^9;(kh8egXb7WCKHBh4Mw?Efrm>(2&uwWsgy#09#7)W z=X1G!eqk6U6$^M_9DzTNBbM^{d@+Via3zEyU4v_l6I|sK*LPa3WgIj*GP4BNt1@t9 zn4ZwUW7ig{rmuxFt=>3SIejhIv|N-d2DLoyJC8l#A}7dVPL3|QnH+vxOHRC=9Bp$y zm@_u8Kv_+GA&R*Lj_5T5wL1kE3Qvj6;z3XK#ffa>Dw*dfR z&><>g;*dh6vuq(6gK1~)FxLvW%|qNV@lkHbj1*rd763FFoeDAO<4P13)z%HNqXA58 zPe&Mq4$K(&wu;!f^SB{J?)%KmU=~>ll?AcDa?l;Or!@Igztm|}M?i-@U-`OMEUS^l zm)Ar;^E$gSMo#-Jwy^t87+cS&oncFth*>?|@_4PUqCtb82 zY^Bj&9rT-9;T72IF}Q21bQ2>jow1HldNL;O_nKWS$3>nI!@DW>liKfeYQM?nC%CUx z(LLsd6tYIQdxEs8nrxcx{LioAs$O?TUh65h;TN6soaq!r-yWOXTwES@{7QB35h@bw zi2b5oH|$&+utt6J;JuEfA4~kpd$~@@S07eX`KW_58*;vW6KA;A!b`jQL*otUlLF^| z9ZE_D4moFtMmVK8tf4Mvr17tF*H^#vt32Q2V4d=1OnF_=X_oa)J9*xzIVU3zc}vCK ziE`_tvas9x=VV*~>p8Bg{v+H!dvyAdhXXtMZYwi<+ic0{MjMY&Y{9Wy_(kiMQ>X2; z=SuAsEn3wUJh&@t&4ULNY;QcYOzt;YG{`^J>nc#Si*?Yx!OSW~yUhE>iNeM+EjxeW z8Rr*yU)c7v$Fra@@<{kXTb`pPpPlRbRep(QS*=?hkXXMQ$m_{+iE*zzzH}vI=eD&- zDvO7oQ`i%ZHSGkA^`8)7S6Gn9Ud z^NSmXF16eVdbqZss;;^IX8FMV-u;O=5u3j7DihaL#u8!jgA3fb1-ryDO(Wu`4 z@q_4VhEevzC68~l_NkF$Y0|u?TRzKr4yX<-jOcI6{v_qu=A(~Ba`u)sET|6RyM(r7 z&hBk$`upρCP>=S^xk5 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico71.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico71.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1015b82185f1a126f222893c0df32cc2f09b05c GIT binary patch literal 1976 zcmaJ=X;c$e6n@E&kknQUOJq~WfF3t8StKE&krD!m7(_%+P&CV+Lrf;jB(kXI^t4)0 zidH~Tv;wwTMUNtADej6}MXR_Aih@NeqEtO-i%U9*fc_A_AMf0E-~I0W-hKDkZ`zxH zS9k`V0zhQsNWcLfU~dCFwM}o#1PtIpyAuJhH$ljJtJQ)ch?x><4TKI8>IoB)p|v1l zp$GxvLNY8`y%Dp*I&2g2K`BTG(ug#cFl;_PF^j~eWktv7vy6I$K@c(? z9+!b;m@FpDs)aL53(ORnp%gfiqqOaCBLdhNVl^rSp^mEX3{4CiMvxdBB$Nf}#bYF} zTp<+8L<-56(Xd1$mLnoLB9;b<#HdJyN)>Py1avjhkb=glBf4tQJEfrOQt9dG!gQ&S zAm<@sg+hUdB#1;3NJj)xnP#gtBhXCwcV|#zl%B*bR-7=yj*MCzVY4a)w9@xiFj;!i zezI2|1!^>(4>g$_4REHVtg+Y!y`M}>#bsJBBo?Cx8>z?WaDNBcf`*Zp)=H3Z1hJsI zi!t*FD?!aCEO1zuqiezN@C4j!AkwK3PL4){Mw%(B)~v@O)k*=KMTp}DR3r_O%fe-H zNsvq|7Keuht7URkSXh``5~`Aj6`|c+HKDheFtfFrYxuwo?v?8p2a|=atj0)uA!djm z2@~wRHj4MIC8*bYU0g%&T4cR)5n2r5c-)U3yW2%iki+a5U3$|q{Fs@Zc#1k0SlKKy?GI9&D@POTq1T{&!4e*hpht-F)0Yg;&UgA*g-hd!)E)Osuz-6+TP**gA$8-Zj#G#P83yUrAoGMXy z@CRt~(*j)W_25g0L2H6|AOy5jnNjYR_~ai2cQ&^s9-&e;gcRg&sn-)o{$$T&!xgwz!W-BSxsJc?M|+IWgsl6^bp zL1Av`)~wY^$)bs}cRtp(1qYf@JaFAkyrS}YK>vKv@u0C^0nOY=(lc92PTz0HZ`c;> z8vO!36PY-xeRL~}q2AZ82`{>{u+dh&xBkK7q}??O`U?FZKkx6eo-f^Wi@&SPr5^p} zm%m?D+g@*fS$Z`RtvGt+a6;b3D->}ox8JA@wWt2d;oep}TYllRyy@oK`&DP7r^b;; z?#i63p)V7{+bj0n^=TI=GN~Un2JGig&5K`Il{DSGN^@ur>FeL{EQ@5$o3^BUR8h&b zTGib(n^Xnl>w?QZ>XY~#xK9CayHVgXqrPsR&a3D=d)P4J!pWNUm2*QPq=SDJdhOCr zgq6IrKZW~VRh8utrSIy>QfkfzCAY1UCi++!UwzBf?VLV2anB=qDp*(J+H=y@J?yO6 z?i;n=%D;BiXgFMX&J*uAV{4pH`{&nVN2+x`vs>hGxig!lkh=p$`l6g7n4=!bo#1zS zhM(NKx#-TT#Pfda!;IFn=jF-GsSLNy3+w8apRFF0ufNo+*Yn+)F4sNCtS*T!+i{Pz zaOTEWk^b*0J33;YY)wJ=#W95~TT*sd{>eNiwS$e^hs`hEEDpy0i!W~T7LHCB;kkY1 z;2V#l;tzl&X}KN0R;}{LSLj+Q=2Tt!Eut*y?ZNc+-}!fSBiDAWP|P}#x^`3Trl+=x z6FB0u6)lTeR=e0i%bX!k*Uv7Sw*Fad-r$g}JX19u@nZ9Zw!63ey&Chv2PHj;LM91q z#hr@!d#}*aIuGuir0O+q&DONki=E!f2Yv@_9^^$GttlS=T3RV@+!h@@Oc$ybR3F)} yMdf))NtPB5_*ZUuw~L~D`z-z=4hi3%I_E^Jwln5Ud3op9{3kHVRZ~YIMP_JwN literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico72.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico72.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9bb3e6e6beb79f8acf54eccfda0bf8ae7c1cfa34 GIT binary patch literal 1979 zcmaJ=X;c$e6n@!*S|Ex->ox`~$dXCI5)z3qB%qN-5d|tmX-GyHA(@cHBp?=-x*Mv3 z8_)`BKt((js3>lSY5@d5#?uJ^*qcajiou{2z_3QoQmC+Ggr&sPuvwvnIV?5| z!bE1RLYayfpk!nLsu41u*PLWRs7lC;50fn9$;2`RvM}8O zn8WAuVKx`$aszNifZn1pD9iyGy=Sk36wxbnsMdgD8pz?ONXCo?ArtTP!x7ZlKHE>; z)kj3R{PR?`+HnEhwt7Ph(%1JbCTJJ4J zr(gz5pMq&2iNtYhp^#5Js!?Gk{e*6fTrQAl^ah1SiO8fvCho#QQI&wrjpXqoczkYf z2#3Ro5Qj!`#ZnGi%H#3^LvWW~trSxl)riK>t5x-D#RF;`%z`cYHsD<%nV8_q>=x6t)@CkB+eWQzS`i39T;1jRIN8A1kICl>$ zP@Te`5W(IERscdDh7#r; zu%7}9I&cGSBmx5v83Yo8U_T930ze}4KYu);(VYf$_xf>`MyFC-aViz>kJig4lE{Ri z!zff5!)-VnFh{s^!aY64i4}*ug1>ZP00N0XB~yvL_5=oTC<%w))M81t{tE1 zabgyGvSP}RO*@!$bQ$BvwXQqPQi|E5yxT5U6&LLsJ!PJ4yLNd(Le%-M<(}Eqz8g&s z*UhMTn`tb>VukLzBC2$E^JlhYMnID9J40Pcj3_P4S|%{OZe4wly~97tYqGJdSj4`0nDNQyE?rAb}*_?=%?Tj#{Y-~%^jxf&BJ3hNM?rF})g^?*5UW z$`_qSV&9f_7S+oH6-kfo?Y|)Z_fF$Ko|20#x)&B^t;u<@q9fh<%DCi3<3n$seSG(G zl!*Il&JBKgq%$u6!Q2)a%u3&^+E#p#8+A2)C2!8wGW7M&4}Rk*mZxsEl`b58&?mp> zs6lF-Uc}hDv3|LiZ0n9_CwgpwYu&sU%Zy67$4Z!Rc*Sv(bpMUcLRxF~-dT}}zMKtE zcGsvimn@dmiLx+tcI%scSv2$G@_mI`TXkr7e+?Rj-8gv4E=+CX6N*6lIYCI>9txPLy<`>e8-=^2wHhaH_Lc0U)`wCaLb;JX$Fn8UE&alngpk+}`mh#beWS@7ng5 z(+3TkL{CIX3-dI2+gj&}qPI2|&#$aDhqbJ?gO*y$t7Gp)&LdC6mb|4##rfr~t&h!l z@}JEwt0bx1FAHsZFilo)NY?~6wkCQS_q@Mb^YYFh?9f-Xlck&U>RKwxS`z=(muG~E z*R7x7_m{uf+Ya&;uR0pj7E^G}n)uV}cRuTKC{-g*Wb!J0(5_dW@md>pEd86%J^A^+ zzZ=!2%`7Z6L@o_}V&aMpT(Pps?4W2{`YkrUscF^3F8=f96%zxq9;+VKUz+N#isxMm yni~G9q&zOL!49a;#x`3uN=43g)+)EexaO|$wy}F$>IS>)s?Ms;QHvYxxBmxO^R0gX literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico73.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico73.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78dce2a36933d6f986f21027cdb263d23326ec59 GIT binary patch literal 1984 zcmaJ=X;c$e6n@ztfC~{Ys0d>~R5Z&ZK%7Wwk%&eNAfS|`+K>#AU@~Je2oV*i3j(4? zC>A|p6^pHHU2rKBHxS`ySv=x`0xne4qooLP(5lsRf`I%GzaQ`1ci;WKd*6NcnQxoh zf%E(nO*{Z{xffu9k1%%vmMlq?XaW>KC*9EinA>Um1cJaNe7@euQ>w8zl&8XU{1he5 zhj{`%@SB^0D^-ao0mY#!HF_!M`I!qGNTZf=B7GDB1s;GVXcn$Dpy6wSBUEb>Rfw81 z_Y24`MUtY!bts{PQgo~IMoEg4(=RR|ZHt@Ff%-#;L@CGLk`?+&5efxh1{Ct)`EpgT zw-6E|JlI!&2)$=PLIEu13&ea_#1+62fv-e_Km*{A*$nDHF`CcY@E^0Q79yGy^&DrRj6Dh<&Y{ojYcgI2xkZS z_T-M$hC}v4kt6qP=jU- zstz<@I;j8J63vLUhyq8{8{n!(u0=2+mroYMw><8!#~yT%6J#-mMwi?S4L_Kz#M{wPDV3mG=?>U z&KPzw6!Lk)TnSiA;0PRP6c(VeC^Qzud$4d=pwbwWaSn7VYnG!E6L7|}=eavif&G=G9zHe`Sb#zUOuE&OJcUIa2d2O@2Rg&b zpEJ*CiBjk|p1nFh!^7I#0!Gm&WK}d4m<#HH?{+TTw!ibn`L41!;;#Z*#*O1qt@yXa zIezPvvx`KMsU9_mDBC-%13uBQwS8Mt%SD-|fNNiMal_qKlgs%pwMd`XV4oNyH`#fX z<4%k)uU=06%XjxG8dH}^JhOApZ!E=Jn==TPN!F#6SrgmRY4wbR(WA7D)wf^Phc5fU z;C9rm=uLZU`L@IPzxNn_oiXvS)M-s|ICMNnn|Z@#hA7x++WKy9JjUy;o}9VH)V*o% zO>UGUy#>k3?rnM$`Rrg*=8{E8@fWV2i_D9>Zp12c$IjecSJRPW(}wh9Hq_2(Z+`c% z>~ipu2m?PiJEz7Wx8Rzw^S83vGxcL!T^@Q~;m-d~T~K_?PJ2MS^m=dWjyt0>MxUC# zx#rxlhM5cRX8Ta=U#lK@Xaksz6<+kTJdwg88y^p;C!UuLBq`6no| zqju`!#pTOObD{LNE?M;^)7BWdpC* zyrj8;F>~6vJ*|nmlH-EdQm;zg72D_nSy^9$U2xOkQxg+pVa0uN-_s$tmfD2>nPVHM z2njAk5Wh+Ey!$raF!4Ddnw6)|KIHM7AKcovk~p4(H2zF~&+gR*KWlrhum;@aZMB*>*s0=Ona{M`)_$#+Q}^! z3efjedG~7YozdB)@78Oy&GILI=R7|mJ*)q*u#U~mdw0%Gtu4OLTDIYBhT^4rM04Lb z!yoHz73{6s+m&>68WUcf)t=hEgKh?oR!r&o{_9`D3wx^b+*T~&v{q>XpYLnvyx->T z+#~1g2$>YtIAh-9UNcxQC)V|eb~0uAklM?9$y`UG(1N)vG&2 zyU+Ita10)2H^Hgq=^l?MvEfG}L@j1u)#Y|`JI`H-9rns}j9FIlV$rO*UT#~)yG_I2 MtafeM_>=k0|4X^ClK=n! literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico74.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico74.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58eaff565032860f0ba11c2cccaa8f965aa5298a GIT binary patch literal 1979 zcmaJ=X;4#F6u#L=5U>Uk!KM0mpdvyx5J)s&ARsA?vRT=R4aq|iNnT8XB#785)e6;4 zQK7aXR%fsUWyT6ql~Jf|LBt}W0)ohnf-A+MfSSHUwjbj6Al07N2JKmk)QJ_b}_igb$s-~bVG#{gjLBrub7IyH~URB0I!8Jd7Fq^Odqm#CR+ z28#(+`{~sZ=@vu>B_NySDn9(IyaI;gGCsUqk+v>UnzlvCmBD_# z&}uzTuT(1$odnV=lT})to)4Ro^Dx`wX2Os;M7M)j_G((7Sp4BorP9;@b6Tw~9GTMl-o)BSgBoFmBU&^?BSo-qClguC3(z1E9jb{$ z(d3CPh9;ppRGWmVp@0BW*L)zCjdGO?P1P7uaJKHue7jpjZ-TnYB)Lk|`FXIRIelNCZ52 z`~*)Rl5FiP$T%vE4&b@=6ekBuw!fo5a@Kj}JSxBua27-okuV;OqvCA|z>!TPSqNY| zI>(YNUC$Wxy;ErBFAZuM@ThZ=*F52JNT?`Ek~X5uG*~iEj*ezzo8-Czouj% z>5s_l%RMm}?d46;Hx$*vn_*?gpPpG;))7A2W_NRkaR1XaxIX*~i`vn~tIeSoV#nA$ zdDVf}UbPpM2sV7;_c4Q>nDdKDk+CB_%sI!~Lt&A7SP^kN@>hmq7PI9~ssziche&UBBQ9&-6QdvcB(9wA-m;HlFui?y^iM7Q}xx^l#~L3h0!* zyehtauD~@u*}2@;vHnJB7(M%BPHok|pz_D0h^Pn~f9Z2|YMQ*n^-4Z17vxjB*R>yl zD6?1rJy)LO7awcVUOy?w1csyE%&*USunK&+xMTTmOS|tG_*T$pSpnR6?eFjh^q{iy z_k%ap2$C1|I~YM@#^pBGw&Jk*@{Er5!Xrg3y}h&ro;&|JOw$_PR_wKYJ5c+2_mX0I zKU_waj=t{CYL}07XSL5y(>LU#zz&c%|^EuJ=JM*qP>&^0=$)_uVHE+&;rxdgr@BR-f CEV7;e literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico75.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico75.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94b808f716a24c444918d3919e909e90ee413fb7 GIT binary patch literal 1748 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 H);s?LiaLdi literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico77.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico77.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3069eccd504847de5704c53d7e29472b5c07b05f GIT binary patch literal 1142 zcmaJ=O>fgc5M9TK8YEQV8^@J<0YtpE(|oK|QzdpQB4JdON=4jUd)rv4y_UTpZY2Z< zeh_yK^uSNxz{ja~1V6#7-NdO%(|1_S&dz%?J3E_y&o9BlohU^IFHnqZ0iH<0Y9 zH#q|WsB`xl0P;%_jTws#grZb&eR@O`kA^67W27l60$bZz?0OTz;1M|qB2)hR`HKt# z-;@tKj_Sk~83)hL6Y}c(<$-rT@vtv%KZ9GDk%e(cma z($hs3_r{dbbWCGtSw+|S@X=uq`E-^(E;){4jG~mekw-?hDRUJi2z&!~Ep0fohI*%m zHEn0mx78jVwuig@LAPULyx`i@n}#G}3$DN9S}VE5ID|3JY?CB-OZ?r0hOoT05v;BS zuhg4!{nfP$R&o(91{IHc?XedwK0$?9jV|9*!%reU@d+R8{0~?!2Nw7j{0j;BFYplv z6>8k7)%ePnD~L6bgD>?0Vxz=bfo6q*&Z8Tm*jQ`S8`n;%kh_ii0!U4;3D!kH0yRkx xB_aO`Uhu+}zrVDaJkt%=y$3fvK>E*<{{;6%flG@L*an}zy{mtyWZvgL{sEzwA0_|* literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico78.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico78.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3234d45aa12f9c909b935e13022bdeec8569220 GIT binary patch literal 2016 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 NKH>VmGzHP;zX48^&Jh3r literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico80.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico80.jpg new file mode 100644 index 0000000000000000000000000000000000000000..837c5ee28161ebbe72077f51428a99a34cf8f9ba GIT binary patch literal 2110 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 l5F^VjosfC3&^Iz)796JC2 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico85.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico85.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2fb635d2bffaf1929918f5ab26bbb58b98b63892 GIT binary patch literal 3029 zcmaJ?XIPWT7XH#8p$I{xuf_ziK&k{x5GkQcS1F=GNP>ot1XE~I)w@aO|KD*xc$M?;dIq!SU%$%8#_sd5BU599PC;+&) ztOwx0H^?Ueq`jEIi2*OrLB->FLL8mR4`JaLd@eqk9)Ty~2zX$V zb#w%s!C{F|A*?-Yo)!94eG?kRW?G^B$nFI92pVfI+c{Ri+8XPzjSuj-{}y(4Qw26%~bx z+JNH=_TY&W3I$If;YlQ{!UHRe;fd(cSe_8`MZumWWC++1A~v6gT2Q2i@Wmo4v?9|_ zQ{YB?mHpSX`irBx`~P?4au*h0QC2AOVSUT@UxkI+Vj@_0AC{0W7BE-}cgzAgf=Uyx z=pw#g8=oKkWfi^l@@Pr~dkHK=Ww?Zpa zaBMb{N+4Je?96FIvOUp(NOZ8JknPOu9BggvC=`c;s}A{4}n7f_$wfa76hvJLZC3{0$@t8MJOpL zE5ntQl@JIO6$C=oC zV2EM}Kx!>jT18x@?2Wc1(UUQXAYc##3{?U_Kgol@01~oF3rh61r7wl;OGA_Fe3D<6 z^@QA@Et3xdY7j*xNC*4M^2(Q9(juS$Io*|-EdkBKgdEQtEJQGz4t|7 z_%db<*`zB!dftYyYBD$pdHq0JJ2&Z4MrPHqpEEE;zPTjp;s%GweGT~u#51_>)@aIZsYg;y*7tm(QH2w_o!|wcW&PV<8mt^aA5^iqQuhmOKT5I4}U8b;le$c+T{cS0Hf}C1~GaV=$ zZ(CkAwAVRutGznDLCd81e*Z7A%d``!ciE6sZ}__D=Hf>SbDR1yES9`MF&IU9ga(*2 zS3TPzN3Nw0znk_o~RBR`Bvl{T#=QSDWp|9dhk*B&+CfJQKac z3=5?!&E3#yHP^uk(;1jzg(uypIw>Zlh5(z@a6HJq&QiK&oD z87!qU2q7~r9@y#g7+*t4#C+grPt>}E`mQbh&9i^y+|iqv&v6)Pro&Uw%HX!V1nnB9 zw*Kiq))$oM9T|Jt(HvXU+93%x;FeUD=PVf;6tDEROqnuz(MT&S;fzMl^+i^SHq&x{ zZM>3*uHj0${k;kg@-C+2Q^M_5%n>b z4e$4+;CroC?wZAD1f-krSVj#lJth0ccT_#z{XseCY^L8SyBwpkgL{s&mVU@j`wx6< z4D)hpp7gD{6JwnGqTl7o^mP7Q0xZl4Ak1Iyc$zh{ zPnXH$z`FVN%DZ6 z>s1X}GZOCV#hG;WNk4?*B{%Q<9#=ncZQ@mzUTtlK-{rjDYOn1-Iu%!p!YDaznW#)l zTo**Tb;kmB6>HFMp1jl-`|M%-8dvzCcAt*%^0d?N%%d0TkK{J3!5ggbf?P&LU5FkY zX&WWRQS|)Zp?Xdk8W_-@hqMpYM(RaQHZ;zrH)py>#@PvJQQ$gI5W2&{8WA71_ zSe50pk=|#U5-0DzG_3EMskbN`nhm;rcQ)JE)+yOQ-OG(w>}a27p^{u+l6mR?(e+6I zraVbE_ua|;Z~OLz-FrdFmZ_*kMjmip0bKZ1mN$LQG@!dW`~A!e8SB?}WspK1O6Ub& z3RF2ZRkG8iLM3qdiVENlXX~pislC}w8gQdS`dL&lCQ#PNoqANGVql_qF}biCX}_d7 z1ujJ+!ZHIos#qSs*u+e!sxQ5|C1wy&?6q&*pZgJIBgCGw8FOwDs^MB1SowaRWOO5b z1Ls(P%x!5*4yo+mmfa7A#9y8JP~tJ9I2G=o|~HIt~(Oh*vRPUjdjaF&oCKXlFs0Poa|(q UvWC^W#p(Zi3O~P(iSmK}0pVrKTL1t6 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico87.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico87.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db1642e00c59e0ab5044af1d86adaffcc0062ac9 GIT binary patch literal 2170 zcmaJ>c~}z%7N5z4gdm84)}m-OCMyDkBojHm0AwDwAEF&mNno>yWNtVghTta?E7Qpz4yJ}?;Z2r zID4FTfPgrgZan}EW}J#AzGbY%ou7p$Dr#pVn!NI#*rCfkxbp&8;r<18xrN} z4OwcTh7q-dzSt(Rp#~H&E9o{gTW=EC#0)pN2-jV1HiPaCF=vSx(XOoYbXhVz7BeDr z9*ZBYh8J?_0wD|LbA;T5VRSAB7O*)2HXISofkhm?C_+dd7Y3fqs97&sA&DQ)gV#H2Rr3}zjsr@I)HD$HUQ zGw@2sT0jkxw0}6OR{~|S{~wB?t^v4dP39HI%Xl_yS>M44229z)CQ+1x57c39RNN7M>F8S_jmC zXOakcq6{rP6sgEy|93$6+a=+*$-?52$KTg8brjO5YdC^5)YDxTSz1_*^^8rQ7B$s z6pHt61%x2TgXlpaktjaXDARm=r{m)5>kb-!d5>AY#Z6kyR)FdW1OXZdqyhvg2vI?2 z8;}oxWAgGBK=gn}Ao+K00CW{R0|1Ex5F&UGA`Xzppv-R z@@=L-WI4QM=36t+(2p}0)H5ladqV9`?i8#_88$LMJYuWhHtoB0%_#IAk!KVEzju)t z3BKEcB*u!R6@sWD;hfz~^`DnrZ~}*lXf^9=3ywFUqVw~c^PZR4L#;`fzXTU1Ri)qR z^gF$0?#8o6_SWUJ&uM7)d%)_Lc{wOG!K=`JXk(|bSMFlGA`=f4PAN!>Y(275oxKC-!?+;PLEZtJgVtV&w&Lv!eRQ5#qXD{7yo z!q22HOrZ^1Lypy~!_aB0w0f>2r$Tyl-jMmjVEX**I-4(EYCFGX2;X&``>r}T6?0a zxb9uq2pOy0*|N6Jk!;_jrOiJ*{GVqZ9OFrP7Y^rEz4&>1SWmY3y{9#eDr>-vVYOv- zX{2`f`=^gu(H2E7Z)z3?({8hiZ^$z&;%;1H1mquD`mb`%J{IQK7@VbrFPpZNGe%_&R?^ z>pES>t=n10*J_U_dIzf{(EiHH`?E{@=8#V|7fy*_VDL!M;{kHuL-|?^ZUlbTLx3Phw?lN z_6}*k4q3EuqtA~I|GC$HU!_Vqa|pA@9Q|LRFgc@9zj}JR!f)gv;dWp4Fz1Z#pK|tB zs(7?=W_5++U&WyX_R>RT*1nNdRs2+||NVCd`edh?svn#}50+Q{y%GtW9Tehi6+0fP iXLsH&@GL1EPLLL%CmL5JzjC%?XY9J?vAs@n_Wlpn)e)@# literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico89.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico89.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f424b67ea7c0860166632aadb36ece5ddb943fa GIT binary patch literal 2841 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 RVfmik%lF&=Wk62U^ literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico91.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/7.zico91.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cde9c0b064e25ace2783184bcdbc4d807d0e62af GIT binary patch literal 3465 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 I9*8ygU(%eKsQ>@~ literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/image/0.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/image/0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc5e50be0aa4d5c5992440fc3141f28e824cc427 GIT binary patch literal 14172 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 P(mj=tiDqdU!p!_X|2Xq; literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/image/1.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/image/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..341bfeb96cc428ea0811c995c684f85a5094a74d GIT binary patch literal 52339 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 bZICSx%Aj?#kcT^dsRG<*_KG3OKYjlT0%KVl literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/image/2.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/image/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..75fab81bc122eb90e9c3c62a1f95a41be08bd27d GIT binary patch literal 63064 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/image/3_bg.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/image/3_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..71b343d67c6e17f04f7ba789c73ba16d86768ceb GIT binary patch literal 5217 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/truefont/truefont.ini b/config/examples/Creality/Ender-3 V2/LCD Files/private/truefont/truefont.ini new file mode 100644 index 00000000000..ac29fdc9149 --- /dev/null +++ b/config/examples/Creality/Ender-3 V2/LCD Files/private/truefont/truefont.ini @@ -0,0 +1,2 @@ +[setting] +font0=font.ttf \ No newline at end of file diff --git "a/config/examples/Creality/Ender-3 V2/LCD Files/\346\213\267\350\264\235private\345\210\260SD\345\215\241\346\240\271\347\233\256\345\275\225.txt" "b/config/examples/Creality/Ender-3 V2/LCD Files/\346\213\267\350\264\235private\345\210\260SD\345\215\241\346\240\271\347\233\256\345\275\225.txt" new file mode 100644 index 00000000000..e69de29bb2d diff --git a/config/examples/Creality/Ender-3 V2/README.md b/config/examples/Creality/Ender-3 V2/README.md new file mode 100644 index 00000000000..87d8cebfb64 --- /dev/null +++ b/config/examples/Creality/Ender-3 V2/README.md @@ -0,0 +1,18 @@ +# Ender 3 V2 + +## Flashing Firmware + +The bootloader which handles flashing new firmware on this board remembers the last filename you used. + +Therefore, to flash the compiled firmware binary onto the board you must give the "`firmware.bin`" file on the SD card a unique name, different from the name of the previous firmware file, or you will be greeted with a blank screen on the next boot. + +# Updating the Display + +To update the graphics and icons on the display: + +- Format an SD card using the FAT32 filesystem with 4K cluster size. +- Copy the `DWIN_SET` folder to the SD card and insert the card into the slot on the back of the display unit. +- Power on the machine and wait for the screen to change from blue to orange. +- Power off the machine. +- Remove the SD card from the back of the display. +- Power on to confirm a successful flash. diff --git a/config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech E3 RRF/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/README.md b/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/README.md new file mode 100644 index 00000000000..b79b46a7215 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/README.md @@ -0,0 +1,14 @@ +## SKR 1.4 Board + +These files configure Marlin for an Ender 3 with `BOARD_BTT_SKR_V1_4` board installed with silent stepper drivers and a BLTouch probe. The probe is configured to use the dedicated BLTouch port on the board, so you can remove the Z endstop entirely. + +Features included: + + - BLTouch + - TMC2208 Stepper Drivers + - Advanced Pause for Filament Change (`M600`) + - Nozzle Parking + +### Nozzle to Probe Offsets + +You'll need to to adjust the `NOZZLE_TO_PROBE_OFFSET` values according to your probe's mounting location. This example is based on the Ender 3 BLTouch mount posted at https://www.thingiverse.com/thing:3584158 diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR 1.4/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/2-into-1 Hotend/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Dual Z/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3 Turbo/Single Extruder/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.0/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 3.0/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/CrealityV1/_Bootscreen.h b/config/examples/Creality/Ender-3/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/CrealityV1/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/CrealityV1/_Statusscreen.h b/config/examples/Creality/Ender-3/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/CrealityV1/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/CrealityV422/_Bootscreen.h b/config/examples/Creality/Ender-3/CrealityV422/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/CrealityV422/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/CrealityV422/_Statusscreen.h b/config/examples/Creality/Ender-3/CrealityV422/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/CrealityV422/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/CrealityV427/_Bootscreen.h b/config/examples/Creality/Ender-3/CrealityV427/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/CrealityV427/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/CrealityV427/_Statusscreen.h b/config/examples/Creality/Ender-3/CrealityV427/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/CrealityV427/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Bootscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Statusscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/BLTouch/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Bootscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Statusscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah 1.2/base/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Bootscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Bootscreen.h new file mode 100644 index 00000000000..3a78b5d9989 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Statusscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Statusscreen.h new file mode 100644 index 00000000000..9afa459318b --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah 2.0/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Bootscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Statusscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah/BLTouch/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Bootscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Statusscreen.h b/config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/FYSETC Cheetah/base/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/MEEB-3DP/_Bootscreen.h b/config/examples/Creality/Ender-3/MEEB-3DP/_Bootscreen.h new file mode 100644 index 00000000000..c3d9f4cd52b --- /dev/null +++ b/config/examples/Creality/Ender-3/MEEB-3DP/_Bootscreen.h @@ -0,0 +1,102 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 112 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00011111,B11111110,B00001111,B11111111,B10000000,B01111111,B11111111,B11110000,B00111111,B11111111,B11111001,B11111111,B11111111,B11100000, + B00011111,B11111111,B00001111,B11111111,B10000000,B11111111,B11111111,B11111000,B01111111,B11111111,B11111001,B11111111,B11111111,B11110000, + B00011111,B11111111,B00001111,B11111111,B10000001,B11111111,B11111111,B11111000,B11111111,B11111111,B11111001,B11111111,B11111111,B11111000, + B00111111,B11111111,B00001111,B11111111,B10000011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111100, + B00111111,B11111111,B00011111,B11111111,B10000011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B00111111,B11111111,B00011111,B11111111,B10000011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B00111111,B11111111,B00011111,B11111111,B10000011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B00111111,B11111111,B00011111,B11111111,B11000011,B11111111,B11111111,B11110011,B11111111,B11111111,B11111001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10011111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10011111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10011111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000011,B11111110, + B00111111,B11111111,B10111111,B11111111,B11000011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B11111111,B11111110, + B00111111,B11111111,B10111111,B11111111,B11000011,B11111111,B11111111,B11000011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111100, + B01111111,B11111111,B10111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111000, + B01111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11110000, + B01111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111100, + B01111111,B11111111,B11111111,B11111111,B11100011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111110, + B01111111,B11011111,B11111111,B11111111,B11100011,B11111111,B11111111,B11100011,B11111111,B11111111,B11100001,B11111111,B11111111,B11111110, + B01111111,B11011111,B11111111,B10111111,B11100011,B11111111,B11111111,B11000011,B11111111,B11111111,B11100001,B11111111,B00000001,B11111111, + B01111111,B11011111,B11111111,B10111111,B11100011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B01111111,B11011111,B11111111,B00111111,B11100011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B11111111,B11011111,B11111111,B00111111,B11100011,B11111110,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B11111111,B10011111,B11111111,B00111111,B11100011,B11111111,B00000000,B00000011,B11111111,B00000000,B00000001,B11111111,B00000001,B11111111, + B11111111,B10011111,B11111111,B00111111,B11100011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111111, + B11111111,B10001111,B11111111,B00111111,B11100011,B11111111,B11111111,B11111011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111111, + B11111111,B10001111,B11111111,B00111111,B11110011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B11111111,B10001111,B11111111,B00011111,B11110011,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111110, + B11111111,B10001111,B11111110,B00011111,B11110001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111001,B11111111,B11111111,B11111100, + B11111111,B10001111,B11111110,B00011111,B11110001,B11111111,B11111111,B11111000,B11111111,B11111111,B11111001,B11111111,B11111111,B11111000, + B11111111,B10001111,B11111110,B00011111,B11110000,B11111111,B11111111,B11111000,B01111111,B11111111,B11111001,B11111111,B11111111,B11110000, + B11111111,B00000111,B11111110,B00011111,B11110000,B00111111,B11111111,B11100000,B00011111,B11111111,B11110001,B11111111,B11111111,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111111,B11111011,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00111111,B11111111,B11111111,B11111111,B11100000, + B00000000,B00000000,B11111111,B11111111,B11111111,B00000000,B11111011,B11111111,B11111111,B10000000,B00011111,B01111111,B11111111,B11110000, + B00000000,B00000000,B00000111,B11111111,B11111111,B00000000,B00000011,B11111111,B11111111,B11000000,B00000000,B01111111,B11111111,B11111000, + B00000000,B00000000,B00000111,B11111111,B11111111,B10000000,B00000011,B11111111,B11111111,B11100000,B00000000,B01111111,B11111111,B11111000, + B00000011,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111000, + B00000000,B00000000,B11111111,B11111111,B11111111,B00000000,B11111111,B11111111,B11111111,B11110000,B00011111,B11111111,B11111111,B11111100, + B00000000,B00000000,B00000000,B00000000,B11111111,B00000000,B00000111,B11111111,B11111111,B11110000,B00000000,B11111111,B11111111,B11111100, + B00000000,B00000000,B00000000,B00000000,B11111111,B00000000,B00000111,B11111000,B00011111,B11110000,B00000000,B11111111,B00001111,B11111000, + B00000000,B01111111,B11111111,B00000001,B11111111,B11111111,B11110111,B11111000,B00011111,B11111111,B11111110,B11111111,B00001111,B11111000, + B00000000,B00000000,B00011111,B00111111,B11111110,B00000001,B11110111,B11111000,B00011111,B11110000,B00111110,B11111111,B00001111,B11111000, + B00000000,B00000000,B00000000,B11111111,B11111100,B00000000,B00001111,B11111000,B00011111,B11110000,B00000001,B11111111,B00001111,B11111000, + B00000000,B00000000,B00000000,B11111111,B11111000,B00000000,B00001111,B11111000,B00011111,B11110000,B00000001,B11111111,B00001111,B11111000, + B00000000,B01111111,B11111110,B11111111,B11111111,B11111111,B11101111,B11111000,B00111111,B11111111,B11111101,B11111111,B00011111,B11110000, + B00000000,B00000000,B00111110,B11111111,B11111100,B00000011,B11101111,B11110000,B00111111,B11100000,B01111101,B11111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00001111,B11110000,B00111111,B11100000,B00000001,B11111111,B11111111,B11110000, + B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00001111,B11110000,B00111111,B11100000,B00000001,B11111111,B11111111,B11100000, + B00000000,B11111111,B11111110,B00011111,B11111111,B11111111,B11111111,B11110000,B00111111,B11111111,B11111111,B11111111,B11111111,B11000000, + B00000000,B00000000,B01111100,B00000011,B11111110,B00000011,B11011111,B11110000,B01111111,B11000000,B01111011,B11111111,B11111111,B10000000, + B00000000,B00000000,B00010000,B00000011,B11111110,B00000000,B00011111,B11110000,B01111111,B11000000,B00000011,B11111111,B11111111,B00000000, + B00000000,B00000000,B00011111,B11111111,B11111110,B00000000,B00011111,B11111111,B11111111,B11000000,B00000011,B11111111,B11111100,B00000000, + B00011111,B11111111,B10111111,B11111111,B11111111,B11111111,B11011111,B11111111,B11111111,B11111111,B11111011,B11111100,B00000000,B00000000, + B00000000,B00001111,B10111111,B11111111,B11111100,B00000111,B11111111,B11111111,B11111111,B00000000,B11111011,B11111100,B00000000,B00000000, + B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00111111,B11111111,B11111110,B00000000,B00000111,B11111100,B00000000,B00000000, + B00000000,B00000000,B01111111,B11111111,B11111000,B00000000,B00111111,B11111111,B11111110,B00000000,B00000111,B11111100,B00000000,B00000000, + B01111111,B11111111,B01111111,B11111111,B11111111,B11111111,B10111111,B11111111,B11111111,B11111111,B11110111,B11111100,B00000000,B00000000, + B00000000,B00111111,B01111111,B11111111,B10000000,B00001111,B10111111,B11111111,B11000000,B00000001,B11110111,B11111000,B00000000,B00000000, + B00000000,B00000000,B00000111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Creality/Ender-3/MEEB-3DP/_Statusscreen.h b/config/examples/Creality/Ender-3/MEEB-3DP/_Statusscreen.h new file mode 100644 index 00000000000..f28ba41b188 --- /dev/null +++ b/config/examples/Creality/Ender-3/MEEB-3DP/_Statusscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define STATUS_LOGO_X 0 +#define STATUS_LOGO_Y 0 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11000000,B00110011,B11111011,B11111101,B11111100, + B11100000,B01110111,B11111011,B11111101,B11111110, + B11100000,B01110110,B00000011,B00000001,B10000110, + B11110000,B11110110,B00000011,B00000001,B10000110, + B11110000,B11110110,B00000011,B00000001,B10000110, + B11010000,B10110110,B00000011,B00000001,B10000110, + B11011001,B10110111,B11111011,B11111001,B11111110, + B11011001,B10110110,B00000011,B00000001,B10000110, + B11001111,B00110110,B00000011,B00000001,B10000110, + B11001111,B00110110,B00000011,B00000001,B10000110, + B11001111,B00110110,B00000011,B00000001,B10000110, + B11000110,B00110111,B11111011,B11111101,B11111110, + B11000000,B00110011,B11111001,B11111101,B11111100, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00001111,B11100001,B11111110,B00001111,B11110000, + B00011111,B11110001,B11111111,B00001111,B11111000, + B00011000,B00110001,B10000001,B10001100,B00011000, + B00000000,B00110001,B10000001,B10001100,B00011000, + B00000000,B00110001,B10000001,B10001100,B00011000, + B00000111,B11100001,B10000001,B10001100,B00011000, + B00000111,B11100001,B10000001,B10001111,B11111000, + B00000000,B00110001,B10000001,B10001111,B11110000, + B00000000,B00110001,B10000001,B10001100,B00000000, + B00000000,B00110001,B10000001,B10001100,B00000000, + B00011000,B00110001,B10000001,B10001100,B00000000, + B00011111,B11110001,B11111111,B00001100,B00000000, + B00001111,B11100001,B11111110,B00001100,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Bootscreen.h b/config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Statusscreen.h b/config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/MKS Robin E3/V1.0/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/README.md b/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/README.md new file mode 100644 index 00000000000..802be739d9d --- /dev/null +++ b/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/README.md @@ -0,0 +1,10 @@ +## MKS V1.1 Board + +To compile Marlin for this board set `MOTHERBOARD` to `BOARD_MKS_ROBIN_E3_V1_1` (not `BOARD_MKS_ROBIN_E3`). + +Changes in MKS Version 1.1: + - `Z_STEP_PIN` is now `PC14` + - `Z_DIR_PIN` is now `PC15` + - The EEPROM on the board is the AT24C32D (32KB) + +Full specs and documentation for MKS E3 hardware can be found at https://github.com/makerbase-mks/MKS-Robin-E3-E3D/tree/master/hardware diff --git a/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Bootscreen.h b/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Bootscreen.h new file mode 100644 index 00000000000..3c3eddb333d --- /dev/null +++ b/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Statusscreen.h b/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Statusscreen.h new file mode 100644 index 00000000000..6acdb4cf870 --- /dev/null +++ b/config/examples/Creality/Ender-3/MKS Robin E3/V1.1/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/MKS Robin E3P/_Bootscreen.h b/config/examples/Creality/Ender-3/MKS Robin E3P/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-3/MKS Robin E3P/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/MKS Robin E3P/_Statusscreen.h b/config/examples/Creality/Ender-3/MKS Robin E3P/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-3/MKS Robin E3P/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Bootscreen.h b/config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Bootscreen.h new file mode 100644 index 00000000000..3c3eddb333d --- /dev/null +++ b/config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Statusscreen.h b/config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Statusscreen.h new file mode 100644 index 00000000000..6acdb4cf870 --- /dev/null +++ b/config/examples/Creality/Ender-3/TH3D EZBoard Lite V2/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-5 Plus/README.md b/config/examples/Creality/Ender-5 Plus/README.md new file mode 100644 index 00000000000..6ec2f4ed354 --- /dev/null +++ b/config/examples/Creality/Ender-5 Plus/README.md @@ -0,0 +1,27 @@ +# Ender-5 Plus Configurations for Marlin Firmware + +## Important + +NOTE: The Ender-5 LCD stock firmware is only compatible with Creality firmware. The LCD standard UI will not function. This is expected. + +## Marlin DGUS UI Instructions + +The Ender-5 stock LCD can optionally use a [customized Marlin DGUS interface](https://github.com/coldtobi/Marlin_DGUS_Resources). With the stock LCD firmware Marlin can only be controlled from a host over USB. + +- Format an SD card using the FAT32 filesystem with 4K cluster size. +- Copy the `DWIN_SET` folder to the SD card. +- Power off the printer and disassemble the front panel to get access to the LCD board. +- Insert the SD card into the slot on the back of the LCD (not the main SD slot). +- Power on the printer. The screen will turn blue and display several messages, finishing with "SD Card Process... END!". +- Remove the microSD card and power cycle the printer. +- Once it looks good reassemble the front panel. You may need to physically rotate the LCD by 180˚ for proper UI orientation. + +## Restoring Factory Firmware + +The original firmware can be restored by downloading the [Ender 5 Plus firmware](https://www.creality.com/download) from Creality. You can follow the same LCD flashing procedure using the Creality-provided `DWIN_SET` folder. + +## Marlin DGUS UI Limitations + +- The Information button (i) doesn't function. +- The Tools menu does not do anything at this time. +- If you press the Tools menu icon, enter another menu, then press "back" you will end up stuck at the Boot Screen. Touch anywhere on the screen to get back to the Status Screen. diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/README.md b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/README.md new file mode 100644 index 00000000000..ad692666919 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/README.md @@ -0,0 +1,19 @@ +# Ender 5 Pro with BigTreeTech SKR E3 Turbo + +This folder contains configuration files for Ender 5 Pro using Marlin 2.0.x. + +To compile, just use these config files and set `default_envs = LPC1769` in `platformio.ini` file. + +BigTreeTech SKR E3 Turbo is larger than other SKR Mini E3 and Creality boards and interferes with the power supply in the Ender 5 Pro electronics case. + +I (lpla) did a simple adapter for the power supply that can use short M8 screws and bolts (glued to this adapter): https://www.thingiverse.com/thing:4676935 + +That way the PSU gives enough space for the board to be drop-in replace. So all components fit inside the electronics case and are hold properly. + +Regarding wiring, electronics case fan should be connected to the FAN2 pins. + +## BLTouch Support + +Enable `E5_USE_BLTOUCH` for BLTouch support. + +BLTouch can be connected like the SKR E3 mini v2.0 to the Z-PROBE pins (check naming: https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/blob/master/Hardware/BTT%20SKR%20E3%20Turbo-Pin.pdf). See a SKR E3 mini v2.0 guide: https://linsomniac.gitlab.io/post/2020-06-20-ender3-pro-skr-v2_0-bltouch-upgrade/ diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Bootscreen.h b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Statusscreen.h b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Statusscreen.h new file mode 100644 index 00000000000..f1f5666638d --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR E3 Turbo/_Statusscreen.h @@ -0,0 +1,70 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 6 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00011110,B00000000,B10000000,B00000000,B01111000, + B00010000,B00000000,B10000000,B00000000,B01000000, + B00010000,B10100011,B10011001,B01100000,B01110000, + B00011100,B11010100,B10100101,B10000000,B00001000, + B00010000,B10010100,B10111101,B00001111,B00001000, + B00010000,B10010100,B10100001,B00000000,B01001000, + B00011110,B10010011,B10011101,B00000000,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h new file mode 100644 index 00000000000..997351457cd --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h @@ -0,0 +1,61 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 37 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B01111000, + B01001000,B00000000,B10000000,B00000000,B01000000, + B01000011,B11000011,B10001100,B11010000,B01110000, + B01110001,B00100100,B10010010,B01100111,B00001000, + B01000001,B00100100,B10011110,B01000000,B00001000, + B01001001,B00100100,B10010000,B01000000,B01001000, + B11111011,B10110011,B11001110,B11100000,B00110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/README.md b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/README.md new file mode 100644 index 00000000000..06fea7a9748 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/README.md @@ -0,0 +1,62 @@ +## Creality Ender-5 Pro with BTT SKR Mini E3 + +The configuration was made on a Phaetus Dragon hotend and a BMG clone extruder, running the Leon-Me Gen 5 cooling shroud with dual 5015s. + +### Changes: + +#### Configuration.h + +- Set `SERIAL_PORT` to `2` +- Set `SERIAL_PORT_2` to `-1` +- Set `MOTHERBOARD` to `BOARD_BTT_SKR_MINI_E3_V2_0` +- Enabled `PIDTEMPBED` and set default values +- Set `EXTRUDE_MAXLENGTH` to `600` to allow BMG extruder load/unload +- Set `[XYZE]_DRIVER_TYPE` to `TMC2209` +- Enabled `CLASSIC_JERK` and set default values +- Disabled `Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN` +- Enabled `USE_PROBE_FOR_Z_HOMING` +- Set `Z_MIN_PROBE_PIN` to `PC14` +- Enabled `BLTOUCH` +- Set `PROBING_MARGIN` to `8` +- Set `XY_PROBE_FEEDRATE` and `Z_PROBE_FEEDRATE_FAST` to faster values +- Set `MULTIPLE_PROBING` to 2 +- Set `INVERT_[XYZE]_DIR` to `true` +- Set `X_BED_SIZE` to `230` to regain bed size +- Set `Y_BED_SIZE` to `225` to regain bed size +- Enabled `SOFT_ENDSTOPS_MENU_ITEM` +- Enabled `AUTO_BED_LEVELING_BILINEAR` +- Enabled `RESTORE_LEVELING_AFTER_G28` +- Enabled `PREHEAT_BEFORE_LEVELING` and set default values +- Enabled `G26_MESH_VALIDATION` +- Set `GRID_MAX_POINTS_X` to `9` +- Enabled `EXTRAPOLATE_BEYOND_GRID` +- Enabled `MESH_EDIT_GFX_OVERLAY`, set `MESH_INSET` to `10` and `GRID_MAX_POINTS_X` to `9` (for UBL) +- Enabled `LCD_BED_LEVELING` +- Enabled `MESH_EDIT_MENU` +- Enabled `LCD_BED_TRAMMING` +- Enabled `Z_SAFE_HOMING` +- Set `HOMING_FEEDRATE_MM_M` to faster values +- Enabled `NOZZLE_PARK_FEATURE` +- Disabled `SPEAKER` to work around fan stuck at 100% issue +- Enabled `FAN_SOFT_PWM` for my dual 5015 setup + +#### Configuration_adv.h + +- Enabled `USE_CONTROLLER_FAN` +- Enabled `CONTROLLER_FAN_EDITABLE` +- Set `BLTOUCH_DELAY` to `500` +- Enabled `PROBE_OFFSET_WIZARD` +- Enabled `BROWSE_MEDIA_ON_INSERT` +- Enabled `LONG_FILENAME_HOST_SUPPORT` +- Set `SDCARD_CONNECTION` to `ONBOARD` +- Enabled `BABYSTEP_ZPROBE_OFFSET` and `BABYSTEP_ZPROBE_GFX_OVERLAY` +- Enabled `LIN_ADVANCE` and set default value +- Enabled `ARC_P_CIRCLES` +- Enabled `ADVANCED_PAUSE_FEATURE` +- Set `FILAMENT_CHANGE_UNLOAD_LENGTH` to `500` +- Enabled `ADVANCED_PAUSE_CONTINUOUS_PURGE` +- Set `ADVANCED_PAUSE_PURGE_LENGTH` to `600` +- Enabled `PARK_HEAD_ON_PAUSE` +- Set all `SLAVE_ADDRESS` to SKR values +- Set `[XY]_STALL_SENSITIVITY` to `50` +- Enabled `IMPROVE_HOMING_RELIABILITY` diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Bootscreen.h b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Statusscreen.h b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Statusscreen.h new file mode 100644 index 00000000000..997351457cd --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/BigTreeTech SKR Mini E3 2.0 with BLTouch/_Statusscreen.h @@ -0,0 +1,61 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 37 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B01111000, + B01001000,B00000000,B10000000,B00000000,B01000000, + B01000011,B11000011,B10001100,B11010000,B01110000, + B01110001,B00100100,B10010010,B01100111,B00001000, + B01000001,B00100100,B10011110,B01000000,B00001000, + B01001001,B00100100,B10010000,B01000000,B01001000, + B11111011,B10110011,B11001110,B11100000,B00110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5 Pro/CrealityV1/_Bootscreen.h b/config/examples/Creality/Ender-5 Pro/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/CrealityV1/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5 Pro/CrealityV1/_Statusscreen.h b/config/examples/Creality/Ender-5 Pro/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..f1f5666638d --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/CrealityV1/_Statusscreen.h @@ -0,0 +1,70 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 6 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00011110,B00000000,B10000000,B00000000,B01111000, + B00010000,B00000000,B10000000,B00000000,B01000000, + B00010000,B10100011,B10011001,B01100000,B01110000, + B00011100,B11010100,B10100101,B10000000,B00001000, + B00010000,B10010100,B10111101,B00001111,B00001000, + B00010000,B10010100,B10100001,B00000000,B01001000, + B00011110,B10010011,B10011101,B00000000,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5 Pro/CrealityV422/_Bootscreen.h b/config/examples/Creality/Ender-5 Pro/CrealityV422/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/CrealityV422/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5 Pro/CrealityV422/_Statusscreen.h b/config/examples/Creality/Ender-5 Pro/CrealityV422/_Statusscreen.h new file mode 100644 index 00000000000..f1f5666638d --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/CrealityV422/_Statusscreen.h @@ -0,0 +1,70 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 6 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00011110,B00000000,B10000000,B00000000,B01111000, + B00010000,B00000000,B10000000,B00000000,B01000000, + B00010000,B10100011,B10011001,B01100000,B01110000, + B00011100,B11010100,B10100101,B10000000,B00001000, + B00010000,B10010100,B10111101,B00001111,B00001000, + B00010000,B10010100,B10100001,B00000000,B01001000, + B00011110,B10010011,B10011101,B00000000,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5 Pro/CrealityV427/_Bootscreen.h b/config/examples/Creality/Ender-5 Pro/CrealityV427/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/CrealityV427/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5 Pro/CrealityV427/_Statusscreen.h b/config/examples/Creality/Ender-5 Pro/CrealityV427/_Statusscreen.h new file mode 100644 index 00000000000..f1f5666638d --- /dev/null +++ b/config/examples/Creality/Ender-5 Pro/CrealityV427/_Statusscreen.h @@ -0,0 +1,70 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 6 +#define STATUS_LOGO_WIDTH 40 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00011110,B00000000,B10000000,B00000000,B01111000, + B00010000,B00000000,B10000000,B00000000,B01000000, + B00010000,B10100011,B10011001,B01100000,B01110000, + B00011100,B11010100,B10100101,B10000000,B00001000, + B00010000,B10010100,B10111101,B00001111,B00001000, + B00010000,B10010100,B10100001,B00000000,B01001000, + B00011110,B10010011,B10011101,B00000000,B00110000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B10000000,B00000000,B00000000, + B00000000,B00000010,B01000000,B00000000,B00000000, + B00000000,B00000010,B01010110,B01100000,B00000000, + B00000000,B00000011,B10011000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B10010000,B00000000, + B00000000,B00000010,B00010000,B01100000,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/README.md b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/README.md new file mode 100644 index 00000000000..792b0b61b57 --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/README.md @@ -0,0 +1,13 @@ +# BigTreeTech SKR E3 Turbo with BL-Touch in Ender 5 + +This board is larger than the other SKR Mini E3 and Creality boards and interferes with the power supply in the Ender 5 electronics case. + +I (lpla) did a simple adapter for the power supply that can use short M8 screws and bolts (glued to this adapter): https://www.thingiverse.com/thing:4676935 + +That way the PSU gives enough space for the board to be drop-in replace. So all components fit inside the electronics case and are hold properly. + +Regarding wiring, electronics case fan should be connected to the FAN2 pins. BLTouch can be connected like the SKR E3 mini v2.0 to the Z-PROBE pins (check naming: https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/blob/master/Hardware/BTT%20SKR%20E3%20Turbo-Pin.pdf). See a SKR E3 mini v2.0 guide: https://linsomniac.gitlab.io/post/2020-06-20-ender3-pro-skr-v2_0-bltouch-upgrade/ + +This folder contains configuration files for Ender 5 using v2.0.X Marlin with BLTouch. + +To compile, just use these config files and set `default_envs = LPC1769` in platformio.ini file. diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Bootscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Statusscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Statusscreen.h new file mode 100644 index 00000000000..997351457cd --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo with BLTouch/_Statusscreen.h @@ -0,0 +1,61 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 37 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B01111000, + B01001000,B00000000,B10000000,B00000000,B01000000, + B01000011,B11000011,B10001100,B11010000,B01110000, + B01110001,B00100100,B10010010,B01100111,B00001000, + B01000001,B00100100,B10011110,B01000000,B00001000, + B01001001,B00100100,B10010000,B01000000,B01001000, + B11111011,B10110011,B11001110,B11100000,B00110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/README.md b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/README.md new file mode 100644 index 00000000000..331ce49968c --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/README.md @@ -0,0 +1,13 @@ +# BigTreeTech SKR E3 Turbo in Ender 5 + +This board is larger than the other SKR Mini E3 and Creality boards and interferes with the power supply in the Ender 5 electronics case. + +I (lpla) did a simple adapter for the power supply that can use short M8 screws and bolts (glued to this adapter): https://www.thingiverse.com/thing:4676935 + +That way the PSU gives enough space for the board to be drop-in replace. So all components fit inside the electronics case and are hold properly. + +Regarding wiring, electronics case fan should be connected to the FAN2 pins. + +This folder contains configuration files for Ender 5 using v2.0.X Marlin. + +To compile, just use these config files and set `default_envs = LPC1769` in platformio.ini file. diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Bootscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Statusscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Statusscreen.h new file mode 100644 index 00000000000..997351457cd --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR E3 Turbo/_Statusscreen.h @@ -0,0 +1,61 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 37 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B01111000, + B01001000,B00000000,B10000000,B00000000,B01000000, + B01000011,B11000011,B10001100,B11010000,B01110000, + B01110001,B00100100,B10010010,B01100111,B00001000, + B01000001,B00100100,B10011110,B01000000,B00001000, + B01001001,B00100100,B10010000,B01000000,B01001000, + B11111011,B10110011,B11001110,B11100000,B00110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h new file mode 100644 index 00000000000..324cb4a6167 --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Bootscreen.h @@ -0,0 +1,97 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h new file mode 100644 index 00000000000..d1e2f4a6429 --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 1.2/_Statusscreen.h @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 39 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B00001100, + B01001000,B00000000,B10000000,B00000000,B00010010, + B01000011,B11000011,B10001100,B11010000,B00000010, + B01110001,B00100100,B10010010,B01100111,B11001100, + B01000001,B00100100,B10011110,B01000000,B00000010, + B01001001,B00100100,B10010000,B01000000,B00010010, + B11111011,B10110011,B11001110,B11100000,B00001100 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 72 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/README.md b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/README.md new file mode 100644 index 00000000000..15ea6c022a7 --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/README.md @@ -0,0 +1,23 @@ +# Ender-5 with BigTreeTech SKR Mini E3 v2.0 + +## Build with "Auto Build Marlin" + +For the best experience building with PlatformIO in VSCode, open up the "Extensions" panel and install the "Auto Build Marlin" extension. After installation, open up the Auto Build Marlin view and click the "Build" button for the "512K" environment. + +## Build with PlatformIO + +For direct PlatformIO build, locate the `env:STM32F103RC_btt_512K` group the PlatformIO panel and click the "Build" item in that group to start the build. + +To make the main "Build" button apply to this board's environment, edit the `platformio.ini` section `[platformio]` and change `default_envs` to + +```ini +default_envs = STM32F103RC_btt_512K +``` + +## Older Leadscrew + +**Note:** This Ender-5 `Configuration.h` applies to the newer leadscrew with 800 steps/mm. If your printer has the older leadscrew, change the Z component of `DEFAULT_AXIS_STEP_PER_UNIT` to 400 as in the example below: + +```cpp +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } +``` diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h new file mode 100644 index 00000000000..997351457cd --- /dev/null +++ b/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0/_Statusscreen.h @@ -0,0 +1,61 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 37 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B01111000, + B01001000,B00000000,B10000000,B00000000,B01000000, + B01000011,B11000011,B10001100,B11010000,B01110000, + B01110001,B00100100,B10010010,B01100111,B00001000, + B01000001,B00100100,B10011110,B01000000,B00001000, + B01001001,B00100100,B10010000,B01000000,B01001000, + B11111011,B10110011,B11001110,B11100000,B00110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5/CrealityV1/_Bootscreen.h b/config/examples/Creality/Ender-5/CrealityV1/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5/CrealityV1/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5/CrealityV1/_Statusscreen.h b/config/examples/Creality/Ender-5/CrealityV1/_Statusscreen.h new file mode 100644 index 00000000000..997351457cd --- /dev/null +++ b/config/examples/Creality/Ender-5/CrealityV1/_Statusscreen.h @@ -0,0 +1,61 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 37 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B01111000, + B01001000,B00000000,B10000000,B00000000,B01000000, + B01000011,B11000011,B10001100,B11010000,B01110000, + B01110001,B00100100,B10010010,B01100111,B00001000, + B01000001,B00100100,B10011110,B01000000,B00001000, + B01001001,B00100100,B10010000,B01000000,B01001000, + B11111011,B10110011,B11001110,B11100000,B00110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5/CrealityV427/_Bootscreen.h b/config/examples/Creality/Ender-5/CrealityV427/_Bootscreen.h new file mode 100644 index 00000000000..ab828376510 --- /dev/null +++ b/config/examples/Creality/Ender-5/CrealityV427/_Bootscreen.h @@ -0,0 +1,96 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 81 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111, + B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111, + B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111, + B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111, + B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111, + B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111, + B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111, + B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111, + B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111, + B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111, + B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111, + B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111, + B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111, + B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111, + B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111, + B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111, + B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111, + B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111, + B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111, + B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111, + B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111, + B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111 +}; diff --git a/config/examples/Creality/Ender-5/CrealityV427/_Statusscreen.h b/config/examples/Creality/Ender-5/CrealityV427/_Statusscreen.h new file mode 100644 index 00000000000..997351457cd --- /dev/null +++ b/config/examples/Creality/Ender-5/CrealityV427/_Statusscreen.h @@ -0,0 +1,61 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 8 +#define STATUS_LOGO_WIDTH 37 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111000,B00000001,B10000000,B00000000,B01111000, + B01001000,B00000000,B10000000,B00000000,B01000000, + B01000011,B11000011,B10001100,B11010000,B01110000, + B01110001,B00100100,B10010010,B01100111,B00001000, + B01000001,B00100100,B10011110,B01000000,B00001000, + B01001001,B00100100,B10010000,B01000000,B01001000, + B11111011,B10110011,B11001110,B11100000,B00110000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#define STATUS_HEATERS_XSPACE 20 +#if HOTENDS < 2 + #define STATUS_HEATERS_X 48 + #define STATUS_BED_X 73 +#else + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 81 +#endif diff --git a/config/examples/Creality/Ender-5/README.md b/config/examples/Creality/Ender-5/README.md new file mode 100644 index 00000000000..ef74777b91e --- /dev/null +++ b/config/examples/Creality/Ender-5/README.md @@ -0,0 +1,13 @@ +# Creality Ender-5 Leadscrew Changes + +In mid-to-late 2019, Creality upgraded the base Ender-5 leadscrew to the same one used on the Ender-5 Pro which prevents the bed from dropping once power is cut. + +If your machine shipped with the upgraded leadscrew (or if your prints are 1/2 as tall as they should be), change your Z steps from `400` to `800` in `Configuration.h`: + +Before: +`DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 }` + +After: +`DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 800, 93 }` + +Or by sending `M92 Z800` followed by `M500` after updating your firmware. diff --git a/config/examples/Creality/Ender-6/README.md b/config/examples/Creality/Ender-6/README.md new file mode 100644 index 00000000000..dc455a859bd --- /dev/null +++ b/config/examples/Creality/Ender-6/README.md @@ -0,0 +1,34 @@ +# Ender-6 Configurations for Marlin Firmware + +## First Connect a USB Cable + +The Ender-6 doesn't have an accessible USB port, so it's a good idea to connect a USB cable to the micro-USB port on the motherboard. Even if the factory LCD is reflashed with compatible LCD firmware, not all features will be accessible. A USB cable allows the printer to be controlled from a host and will provide complete functionality. + +## BLTouch Instructions + +To use an installed BLTouch probe, enable the custom option `E6_USE_BLTOUCH` at the top of `Configuration.h` to get all the settings needed to support the probe. Creality isn't shipping printers with a BLTouch option at this time, but the existence of factory mounts, wiring, and OEM firmware supporting it suggests this may change in the future. + +NOTE: Due to slight manufacturing differences, you will still need to tune your probe's `NOZZLE_TO_PROBE_OFFSET` values, at least for Z. For best results use the Probe Offset Wizard. + +## Flashing Instructions + +NOTE: The bootloader on this printer remembers the name of the most recent firmware file that was flashed from SD, so you must give the firmware file a unique name or it will be ignored. + +Copy the compiled "`firmware.bin`" file to an SD card, giving it a distinct name. Turn off the printer, insert the SD card, and turn the printer on. The update will take a few seconds. + +NOTE: The factory LCD firmware is only compatible with Creality's firmware. The LCD will not show the progress bar increment and the standard UI will not function. This is expected. + +## Marlin DGUS UI Instructions + +The Ender-6 stock LCD can optionally use a [customized Marlin DGUS interface](https://github.com/coldtobi/Marlin_DGUS_Resources). With the stock LCD firmware Marlin can only be controlled from a host over USB (see first section). + +- Copy the `DWIN_SET` folder to a microSD card. The microSD card must be smaller than 8 GB and formatted with a 4K cluster size. +- Power off the printer and disassemble the front panel to get access to the LCD board. +- Insert the SD card into the slot on the back of the LCD (not the main SD slot). +- Power on the printer. The screen will turn blue and display several messages, finishing with "SD Card Process... END!". +- Remove the microSD card and power cycle the printer. +- Once it looks good reassemble the front panel. You may need to physically rotate the LCD by 180˚ for proper UI orientation. + +## Restoring Factory Firmware + +The Creality firmware can be restored by downloading the [Ender-6 V1.0.1 firmware](https://www.creality.com/download) and following the flashing procedure above with the Creality-provided `DWIN_SET` folder. diff --git a/config/examples/Dagoma/Disco Ultimate/README.md b/config/examples/Dagoma/Disco Ultimate/README.md new file mode 100644 index 00000000000..79cce6bca2d --- /dev/null +++ b/config/examples/Dagoma/Disco Ultimate/README.md @@ -0,0 +1,8 @@ +# Dagoma Disco Ultimate Configuration + +## Requirements +- Dagoma Disco Ultimate with F5 board +- Reprap screen + +## TODO +The pause button feature is not yet implemented but its behavior can be replicated with the screen. \ No newline at end of file diff --git a/config/examples/Dagoma/Disco Ultimate/_Bootscreen.h b/config/examples/Dagoma/Disco Ultimate/_Bootscreen.h new file mode 100644 index 00000000000..655921ee582 --- /dev/null +++ b/config/examples/Dagoma/Disco Ultimate/_Bootscreen.h @@ -0,0 +1,52 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 2500 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 112 + +const unsigned char custom_start_bmp[] PROGMEM = { + B01111111,B11100000,B00000001,B11100000,B00000001,B11111111,B10000000,B00111111,B11100000,B00111100,B00000000,B11110000,B00001111,B00000000, + B01111111,B11111000,B00000011,B11110000,B00000111,B11111111,B10000000,B01111111,B11111000,B00111110,B00000001,B11110000,B00001111,B10000000, + B01110000,B00111100,B00000011,B11110000,B00001111,B10000001,B00000000,B11110000,B00111100,B00111111,B00000011,B11110000,B00011111,B10000000, + B01110000,B00001110,B00000111,B11111000,B00001110,B00000000,B00000001,B11100000,B00011110,B00111111,B10000111,B11110000,B00011101,B11000000, + B01110000,B00001111,B00000111,B00111000,B00011100,B00000000,B00000001,B11000000,B00001110,B00111011,B10001111,B01110000,B00111001,B11000000, + B01110000,B00000111,B00000111,B00111100,B00011100,B00000000,B00000011,B10000000,B00001110,B00111001,B11001110,B01110000,B00111000,B11100000, + B01110000,B00000111,B00001110,B00011100,B00011100,B00001111,B11110011,B10000000,B00000111,B00111000,B11111100,B01110000,B01110000,B11100000, + B01110000,B00000111,B00001110,B00011110,B00011100,B00001111,B11110011,B10000000,B00000111,B00111000,B11111000,B01110000,B01110000,B01110000, + B01110000,B00000111,B00001100,B00001110,B00011100,B00001111,B11110011,B10000000,B00001110,B00111000,B01111000,B01110000,B11100000,B01110000, + B01110000,B00001111,B00000100,B00001111,B00011100,B00000000,B01110001,B11000000,B00001110,B00111000,B00110000,B01110000,B11100000,B00111000, + B01110000,B00001110,B00110000,B00000111,B00011110,B00000000,B01100001,B11000000,B00011110,B00111000,B00000000,B01110000,B11100000,B00111000, + B01110000,B00011110,B00110000,B00000111,B10001111,B00000000,B11100000,B11100000,B00111100,B00111000,B00000000,B01110001,B11000000,B00011100, + B01111111,B11111100,B00010011,B11111111,B10000111,B11111111,B11000000,B01111111,B11111000,B00111000,B00000000,B01110001,B11000000,B00011100, + B01111111,B11110000,B00110011,B11111111,B11000011,B11111111,B10000000,B00111111,B11110000,B00111000,B00000000,B01110011,B10011111,B11111110, + B01111111,B10000000,B00110011,B11111111,B11000000,B01111110,B00000000,B00001111,B11000000,B00011000,B00000000,B01100011,B10011111,B11111110 +}; diff --git a/config/examples/Einstart-S/README.md b/config/examples/Einstart-S/README.md new file mode 100644 index 00000000000..2ed4e1a2afd --- /dev/null +++ b/config/examples/Einstart-S/README.md @@ -0,0 +1,162 @@ +## Einstart S Machine Notes + +The Einstart S is a commercial machine that ships with a proprietary firmware and "licensed" slicer program which requires the original SD card or license file (.lic/.reg) from support in order to function. The impetus for the port was that I acquired the machine on the weekend when tech support was closed. + +## Specifications: + + - Powder coated, formed steel enclosure + - Machined Aluminum internal axis support frame + - Genuine matched HIWIN rails on all axis + - Genuine Minebea NEMA17 motors (200 steps/rev) + - THC7128 3A Stepper Drivers (configured for 16 microsteps, loud) + - 160x160 magnetically coupled non-heated bed + - PLA-only, Direct Drive extruder + - SH1106 OLED Display w/ Cardinal navigation + - 9533 I2C PWM RGB LED Chassis illumination + - Onboard SD-Card Support + +## Initial modifications + +### Bootloader/Marlin installation + +This machine probably doesn't ship with the arduino boot loader, so unless you reflow a 2560 on there to replace the atmega1280 like I did (to preserve the original firmware), you'll need to use ISP to do an initial firmware load and/or bootloader flash! + +It's not that bad though, you can just buy an ISP programmer with the appropriate header, or build an ISP programmer using the Arduino ISP sketch (wiring is easier if you use the "old style wiring" which utilizes the following pinout: (see the comments in the ArduinoISP sketch). + +I used an arduino Nano and a header I had lying around, but you could do the same with a nano and some dupont headers cut and soldered to the board, and taped/glued into a header. + +Triple check your pinouts, it shouldn't fry if connected backwards but if your pinout is wrong you're going to struggle for sure. + +#### ArduinoISP Sketch pinout for 10pin ISP header using "old style wiring": + +See the comments in the ArduinoISP sketch under File:Examples:ArduinoISP + +``` +1 MOSI D11 +2 5v Vcc +3 N/C +4 GND +5 RES D10 +6 N/C +7 SCK D13 +8 N/C +9 MISO D12 +10 GND GND +``` + +#### Einstart Motherboard ISP Header Pinout + +The 10 pin ISP Header is located to the right of the ATMEGA chip, just above the long LCD header. + +#### ISP Diagram + +``` +<--- Face of chassis + +MOSI ( 1 ) ( 2 ) Vcc + N/C ( 3 ) ( 4 ) GND + RST ( 5 ) ( 6 ) GND + SCK ( 7 ) ( 8 ) GND +MISO ( 9 ) (10 ) GND + +Component Plugs ---> +``` + +### Motherboard Diagram + +``` + |1234|1234|1234|1234|12|12|12|12|12|12|12|12|12|12|123|12|1234| + --------------------------------------------------------------- +| XMOT YMOT ZMOT EMOT EF HB HE PF ZS YS XS PS BT ET PT1 TC VBRG | +| ===== ====== [DC| +|====== ====== ____ ISP IC1__ ___| +| |1280| ::::: | | |USB| +| |____| 1 |__| |___| +| BUTTON |SD | +| GDLRUO LCD |___| +|________________________[......][....................]_________| + +Legend: + +XMOT X-Motor +YMOT Y-Motor +ZMOT Z-Motor +EMOT E-Motor +EF Extruder Fan +HB Heated Bed (PWM) +HE Hot End (PWM) +PF Part Fan (PWM) +ZS Z-Endstop (Max) +YS Y-Endstop (Min) +XS X-Endstop (Min) +PS SPST Switch to enable DC 24v +BT Bed Thermistor (header not populated) +ET Extruder Thermistor +PT1 Pt100 Thermocouple (not populated) +TC Thermocouple (not populated) +VBRG LED Output from PCA5933 +BUTTONS +G GND (buttons are pulled low on activation) +D DOWN +L LEFT +R RIGHT +U UP +O OK (MIDDLE) +``` + +## Uploading Marlin firmware to a stock Einstart S + +### Summary: + +Make, buy or steal a 10 pin ISP programmer and select the appropriate programmer option via Tools:Programmer in Arduino IDE, use the Sketch:Upload Using Programmer command or Shift-Ctrl-U (vs Ctrl-U to upload via serial). + +### Detailed procedure: + +You can either load Marlin directly via ISP programmer (easiest, but requires opening the chassis every time you want to change/update firmware) or, just program the bootloader which will enable later uploads via USB. HOWEVER, to actually upload the sketch you will need one of the following: + + - ISP programming header (ArduinoISP sketch, pinout below) + - OR + - Install bootloader on atmega1280 to enable native USB uploads (also requires ISP). + - AND + - Connect button between RESET and GND on ISP header, release post compile just before upload starts. + - OR + - Install permanent modification described below, requires no button press during upload. + +### Permanent modification to enable USB uploads via Arduino IDE + +As a permanent modification to enable direct USB upload from the arduino IDE, you would need to flash the boot loader using ISP first; but then you can solder a wire or 100n capacaitor between the DTR line on the FTDI to the reset line, which is conveniently located in several places on the board. + +#### FTDI Chip Diagram (IC1) + +``` + ______ + TXD --|1 28|--OSCO + DTR --|2 27|--OSCI + RTS --|3 26|--TEST + VCCIO--|4 25|--AGND + RXD --|5 24|--N/C + RI --|6 23|--CBUS0 + GND --|7 22|--CBUS1 + N/C --|8 21|--GND + DSR --|9 20|--Vcc + DCD --|10 19|--RES + CTS --|11 18|--GND + CBUS4--|12 17|--3V3 + CBUS2--|13 16|--USBDM + CBUS3--|14 15|--USBDP + |______| +``` + +#### Arduino Reset Circuit + +``` + DTR-----||----GND----/\/\/\/----Vcc + 100nf 10k +``` + +With this modification you no longer need the reset button and you can program directly from the Arduino IDE. + +### Power notes during flashing + +You do NOT need power connected when flashing via ISP. +You DO need power when flashing via USB Serial but you MUST time the release of the reset line to allow the upload unless you've performed the permanent modification. diff --git a/config/examples/Elegoo/Neptune 2/README.md b/config/examples/Elegoo/Neptune 2/README.md new file mode 100644 index 00000000000..27081bebbbd --- /dev/null +++ b/config/examples/Elegoo/Neptune 2/README.md @@ -0,0 +1,23 @@ +# Elegoo Neptune 2/Neptune 2D/Neptune 2S Configuration + +*IMPORTANT:* Once compiled, be sure to rename `Robin_nano35.bin` to `elegoo.bin` before flashing. + +Compiled binaries of configurations are available here: https://github.com/just-trey/Marlin/tree/elegoo-neptune-2/config/Elegoo/Neptune-2 + +The configuration provided has custom switches in the `Configuration.h` file `// @section custom` to simplify the build options. This configuration supports the ZNP Robin Nano 1.2 and 1.3 Boards with only minor changes in `// @section custom` and a `default_envs` change in the `platformio.ini` file. The configuration is currently set for the 1.3 board without BLTouch, which is the most common option. + +NOTE: The original Neptune 2 and 2S use the same configurations except the 2S is always a 1.3 version of the board. + +## For ZNP Robin Nano 1.2 boards: + - In the `Configuration.h` file, ensure `#define IS_BOARD_1_3` is set to `false`. + - Update/Ensure `default_envs = mks_robin_nano35` in the `platformio.ini` file. + +## For ZNP Robin Nano 1.3 boards: + - In the `Configuration.h` file, ensure `#define IS_BOARD_1_3` is set to `true`. + - In the `platformio.ini` file update/ensure `default_envs = mks_robin_nano_v1_3_f4`. + +## To enable BlTouch (All boards): + - In the `Configuration.h` file, ensure `#define HAS_BLTOUCH` is set to `true`. + +## For the Neptune 2D (All boards): + - In the `Configuration.h` file, ensure `#define IS_2D` is set to `true`. diff --git a/config/examples/Eryone/Thinker SE/README.md b/config/examples/Eryone/Thinker SE/README.md new file mode 100644 index 00000000000..7d02b4e3c34 --- /dev/null +++ b/config/examples/Eryone/Thinker SE/README.md @@ -0,0 +1,23 @@ +## Eryone Thinker SE + + - BLTouch probe + - Filament runout Sensor + - TMC2208 (standalone) stepper drivers + +## How to use the config + +#### Check the hardware of your printer + +1. If you're using the stock printer there's need to modify the config. +2. If you're using the Filament Runout Sensor: + - Enable this line (Remove the "`//`" prefix)
+ `//#define THINKERV2_FL // Enable for an installed Filament runout sensor` +3. You are using the Bltouch: + - Enable this line (Remove the "`//`" prefix)
+ `//#define THINKERV2_BLTOUCH // Enable for an installed BLTOUCH` +4. You are using the direct drive extruder: + - Enable this line (Remove the "`//`" prefix)
+ `//#define THINKERV2_Direct // Enable for Direct drive extruder system` +5. Can I use all of the mods? The answer is yes. You can use all of them or just some of them. + +## Have fun :) diff --git a/config/examples/Eryone/Thinker SE/_Bootscreen.h b/config/examples/Eryone/Thinker SE/_Bootscreen.h new file mode 100644 index 00000000000..b9bf62056e8 --- /dev/null +++ b/config/examples/Eryone/Thinker SE/_Bootscreen.h @@ -0,0 +1,92 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + */ +#pragma once + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00011100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00111100,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B01111111,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000001,B11111111,B11001111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B11100011,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00011111,B11111111,B11000001,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00111111,B11111111,B10000000,B01111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B11111110,B00000000,B00011111,B11111001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B11111000,B00000000,B00000111,B11100011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B11100000,B00000000,B00000001,B11001111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B10000000,B00000000,B00000000,B00111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B00000000,B00001110,B00000000,B00111111,B10011111,B11111110,B01111111,B11110000,B00000000,B00000000,B11111100,B00001100,B00000011,B00111111,B11111110, + B01111111,B00000000,B00011111,B10000000,B00111111,B10011111,B11111110,B01111111,B11111001,B11000000,B00110001,B11111110,B00011110,B00000011,B00111111,B11111110, + B01111111,B00000000,B01111111,B11100000,B00111111,B10001111,B11111000,B01111111,B11111101,B11000000,B01110011,B11111111,B00011111,B00000011,B00001111,B11111000, + B01111111,B00000001,B11111111,B11110000,B00111111,B10000000,B00000000,B01110000,B00011100,B11100000,B01110111,B10000011,B10011111,B10000011,B00000000,B00000000, + B01111111,B00000001,B11111111,B11100000,B00111111,B10000000,B00000000,B01110000,B00011100,B11110001,B11100111,B00000011,B10011111,B11000011,B00000000,B00000000, + B01111111,B00000000,B01111111,B10000000,B00111111,B10011111,B11111110,B01111111,B11111100,B01111111,B11000111,B00000001,B11011101,B10000011,B00111111,B11111110, + B01111111,B00000000,B00011110,B00000000,B00111111,B10011111,B11111110,B01111111,B11111000,B00111111,B10000110,B00000001,B11011100,B00010011,B00111111,B11111110, + B01111111,B00000000,B00001100,B00000000,B00111111,B10001111,B11111100,B01111111,B11111000,B00001110,B00000111,B00000001,B10011100,B00111111,B00001111,B11111000, + B01111111,B00000000,B00111111,B00000000,B00111111,B10000000,B00000000,B01110000,B00011100,B00000110,B00000111,B00000011,B10011100,B00111111,B00000000,B00000000, + B01111111,B00000000,B11111111,B10000000,B00111111,B10000000,B00000000,B01110000,B00011100,B00000110,B00000011,B11000111,B10011100,B00011111,B00000000,B00000000, + B01111111,B00000001,B11111111,B11100000,B00111111,B10011111,B11111110,B01110000,B00011100,B00000110,B00000001,B11111111,B00011100,B00001111,B00111111,B11111110, + B01111111,B00000011,B11111111,B11000000,B00111111,B10011111,B11111110,B01100000,B00011000,B00000110,B00000000,B11111110,B00001100,B00000111,B00111111,B11111110, + B01111111,B00000000,B11111111,B00000000,B00111111,B10001111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111000, + B01111111,B00000000,B00111100,B00000000,B00111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B10000000,B00011000,B00000000,B01111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B11000000,B00000000,B00000001,B11111111,B10011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B11110000,B00000000,B00000011,B11111111,B10011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B11111100,B00000000,B00001111,B11111111,B10011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100, + B01111111,B11111111,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00111111,B11111111,B10000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00001111,B11111111,B11100011,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000011,B11111111,B11110111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11110111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00111111,B11110111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00011111,B11110111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000111,B11110111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000001,B11110111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01110111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00010110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00001111,B11111111,B11111000,B00000011,B11000000,B00000000,B01111000,B00000000,B00000000,B00000000,B00000000,B11111111,B00011111,B11111100,B00000000,B00000000, + B00001111,B11111111,B11111000,B00000011,B11000000,B00000000,B01111000,B00000000,B00000000,B00000000,B00000001,B11111111,B10011111,B11111100,B00000000,B00000000, + B00000000,B11111000,B01111000,B00000011,B11000000,B00000000,B01111000,B00000000,B00000000,B00000000,B00000011,B11100011,B10011111,B00000000,B00000110,B00000000, + B00000000,B11111000,B01111000,B00000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000,B00000011,B11000000,B00011111,B00000000,B00000110,B00000000, + B00000000,B11111000,B01111011,B11100011,B11001111,B01111100,B01111000,B11110011,B11111000,B11110111,B10000011,B11000000,B00011111,B00000000,B00000110,B00000000, + B00000000,B11111000,B01111111,B11110011,B11001111,B11111110,B01111001,B11100111,B11111100,B11111111,B10000011,B11111100,B00011111,B00000000,B00000110,B00000000, + B00000000,B11111000,B01111100,B11110011,B11001111,B10011110,B01111011,B11001111,B10111110,B11111100,B00000001,B11111111,B00011111,B11111000,B00000110,B00000000, + B00000000,B11111000,B01111000,B11110011,B11001111,B00011110,B01111111,B10001111,B00011110,B11111000,B00000001,B11111111,B10011111,B11111000,B11111111,B11110000, + B00000000,B11111000,B01111000,B11110011,B11001111,B00011110,B01111111,B00001111,B11111110,B11110000,B00000000,B01111111,B10011111,B00000000,B11111111,B11110000, + B00000000,B11111000,B01111000,B11110011,B11001111,B00011110,B01111111,B10001111,B11111110,B11110000,B00000000,B00000111,B11011111,B00000000,B00000110,B00000000, + B00000000,B11111000,B01111000,B11110011,B11001111,B00011110,B01111111,B11001111,B00000000,B11110000,B00000000,B00000011,B11011111,B00000000,B00000110,B00000000, + B00000000,B11111000,B01111000,B11110011,B11001111,B00011110,B01111011,B11101111,B10001110,B11110000,B00000011,B10000111,B11011111,B00000000,B00000110,B00000000, + B00000000,B11111000,B01111000,B11110011,B11001111,B00011110,B01111001,B11110111,B11111110,B11110000,B00000011,B11111111,B10011111,B11111100,B00000110,B00000000, + B00000000,B11111000,B01111000,B11110011,B11001111,B00011110,B01111000,B11111011,B11111100,B11110000,B00000001,B11111110,B00011111,B11111100,B00000110,B00000000 +}; diff --git a/config/examples/Eryone/Thinker V2/README.md b/config/examples/Eryone/Thinker V2/README.md new file mode 100644 index 00000000000..e8cb523456f --- /dev/null +++ b/config/examples/Eryone/Thinker V2/README.md @@ -0,0 +1,25 @@ +## Eryone Thinker V2 + + - BLTouch probe + - Filament runout Sensor + +## How to use the config + +#### Check the hardware of your printer + +1. If you're using the stock printer there's need to modify the config. +2. If you're using the Filament Runout Sensor: + - Enable this line (Remove the "`//`" prefix)
+ `//#define THINKERV2_FL // Enable for an installed Filament runout sensor` +3. You are using the Bltouch: + - Enable this line (Remove the "`//`" prefix)
+ `//#define THINKERV2_BLTOUCH // Enable for an installed BLTOUCH` +4. You are using the direct drive extruder: + - Enable this line (Remove the "`//`" prefix)
+ `//#define THINKERV2_Direct // Enable for Direct drive extruder system` +5. Can I use all of the mods? The answer is yes. You can use all of them or just some of them. +6. If your printer's PSU has a reset problem you can disable the `PIDTEMPBED` feature: + - Disable this line (Prefix with "`//`")
+ `#define PIDTEMPBED // If your PSU has a reset problem then try to disable it to improve this problem` + +## Have fun :) diff --git a/config/examples/Eryone/Thinker V2/_Bootscreen.h b/config/examples/Eryone/Thinker V2/_Bootscreen.h new file mode 100644 index 00000000000..d28dc1d6511 --- /dev/null +++ b/config/examples/Eryone/Thinker V2/_Bootscreen.h @@ -0,0 +1,77 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Made with Marlin Bitmap Converter + * https://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file 'tHINKER V2.png' + */ + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B01111111,B11111111,B00001111,B11111111,B00000000,B00000000,B00000000,B00011111,B10000000,B01100000,B00000011,B00001111,B11111111,B11100000,B00000000, + B00000000,B01111111,B11111111,B00011111,B11111111,B10000111,B00000000,B00111000,B00111111,B11000000,B01110000,B00000011,B00001111,B11111111,B11100000,B00000000, + B00000000,B01111111,B11111110,B00011111,B11111111,B11000011,B00000000,B00111000,B01111111,B11100000,B01111000,B00000011,B00001111,B11111111,B11100000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000001,B11000011,B00000000,B00110000,B11110000,B11110000,B01111000,B00000011,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11100011,B00000000,B00110000,B11100000,B01111000,B01111100,B00000011,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B01100011,B10000000,B01110001,B11000000,B00111000,B01101110,B00000011,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11100011,B10000000,B01110001,B10000000,B00011000,B01100111,B00000011,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11000001,B11100001,B11100001,B10000000,B00011100,B01100111,B00000011,B00000000,B00000000,B00000000,B00000000, + B00000000,B01111111,B11111110,B00011111,B11111111,B11000001,B11111111,B11100011,B10000000,B00011100,B01100011,B00000011,B00000111,B11111111,B11000000,B00000000, + B00000000,B01111111,B11111111,B00011111,B11111111,B11000000,B01111111,B10000011,B10000000,B00011100,B01100000,B00000011,B00001111,B11111111,B11100000,B00000000, + B00000000,B01111111,B11111111,B00011111,B11111111,B10000000,B00111111,B00000011,B10000000,B00011100,B01100000,B00000011,B00001111,B11111111,B11100000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000001,B11000000,B00001100,B00000011,B10000000,B00011100,B01100000,B00110011,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11000000,B00001100,B00000001,B10000000,B00011000,B01100000,B00111011,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11000000,B00001100,B00000001,B11000000,B00011000,B01100000,B00111011,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11000000,B00001100,B00000001,B11000000,B00111000,B01100000,B00011111,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11000000,B00001100,B00000000,B11100000,B01110000,B01100000,B00001111,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00011000,B00000000,B11000000,B00001100,B00000000,B01111001,B11110000,B01100000,B00001111,B00000000,B00000000,B00000000,B00000000, + B00000000,B01111111,B11111111,B00011000,B00000000,B11000000,B00001100,B00000000,B01111111,B11100000,B01100000,B00000111,B00001111,B11111111,B11100000,B00000000, + B00000000,B01111111,B11111111,B00011000,B00000000,B11000000,B00001100,B00000000,B00011111,B10000000,B01100000,B00000011,B00001111,B11111111,B11100000,B00000000, + B00000000,B01111111,B11111110,B00001000,B00000000,B11000000,B00000100,B00000000,B00001111,B00000000,B00100000,B00000001,B00001111,B11111111,B11100000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00001100,B00000011,B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00111111,B11101100,B00000011,B00000000,B00000100,B00000000,B00000000,B00000000,B11000000,B01100111,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B01000000,B01000100,B01100000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00000000,B00000000,B00000100,B00000000,B00000000,B00000000,B01100000,B11000000,B01100000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001101,B11100011,B00110111,B10000100,B01110001,B11100011,B01100000,B00100000,B11000000,B00100000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001110,B00110011,B00111000,B11000100,B11000011,B00110011,B10000000,B00110000,B10000000,B01100000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00110011,B00110000,B11000100,B10000110,B00010011,B00000000,B00110001,B10000000,B01000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00110011,B00110000,B11000101,B00000110,B00010011,B00000000,B00010001,B00000001,B11000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00110011,B00110000,B11000111,B00000111,B11110011,B00000000,B00011001,B00000011,B10000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00110011,B00110000,B11000101,B10000100,B00000011,B00000000,B00011011,B00000110,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00110011,B00110000,B11000100,B11000110,B00000011,B00000000,B00001010,B00001100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00110011,B00110000,B11000100,B01100011,B00010011,B00000000,B00001110,B00001100,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000010,B00001100,B00110011,B00110000,B11000100,B00110001,B11100011,B00000000,B00001110,B00001111,B11100000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Felix/DUAL/README.md b/config/examples/Felix/DUAL/README.md new file mode 100644 index 00000000000..48fe099151b --- /dev/null +++ b/config/examples/Felix/DUAL/README.md @@ -0,0 +1,60 @@ +# Felix 2.0/3.0 Configuration for Marlin Firmware + +Bringing silky smooth prints to Felix. + +## Build HOWTO + + - Install the latest non-beta Arduino software IDE/toolset: http://www.arduino.cc/en/Main/Software + - Download the Marlin firmware + - [Latest developement version](https://github.com/MarlinFirmware/Marlin/tree/Development) + - [Stable version](https://github.com/MarlinFirmware/Marlin/tree/Development) + - In both cases use the "Download Zip" button on the right. + +``` +cd Marlin/src +cp config/examples/Felix/Configuration_adv.h . +``` + +The next step depends on your setup: + +### Single Extruder Configuration + + cp config/examples/Felix/Configuration.h . + +### Dual Extruder Configuration + + cp config/examples/Felix/DUAL/Configuration.h Configuration.h + +### Compile Firmware + + - Start the Arduino IDE. + - Select Tools -> Board -> Arduino Mega 2560 + - Select the correct serial port in Tools -> Serial Port (usually /dev/ttyUSB0) + - Open Marlin.pde or .ino + - Click the Verify/Compile button + +### Flash Firmware + +#### Connected directly via USB + + - Click the Upload button. If all goes well the firmware is uploading + +#### Remote update + +Find the latest Arduino build: + + ls -altr /tmp/ + drwxr-xr-x 5 chrono users 12288 Mar 3 21:41 build6072035599686630843.tmp + +Copy the firmware to your printer host: + + scp /tmp/build6072035599686630843.tmp/Marlin.cpp.hex a.b.c.d:/tmp/ + +Connect to your printer host via ssh, stop Octoprint or any other service that may block your USB device and make sure you have avrdude installed, then run: + + avrdude -C/etc/avrdude.conf -v -v -v -patmega2560 -cwiring -P/dev/ttyUSB0 \ + -b115200 -D -Uflash:w:/tmp/Marlin.cpp.hex:i + +## Acknowledgements + +Mashed together and tested on https://apollo.open-resource.org/mission:resources:picoprint based on collaborative teamwork of @andrewsil1 and @thinkyhead. diff --git a/config/examples/Felix/Single/README.md b/config/examples/Felix/Single/README.md new file mode 100644 index 00000000000..48fe099151b --- /dev/null +++ b/config/examples/Felix/Single/README.md @@ -0,0 +1,60 @@ +# Felix 2.0/3.0 Configuration for Marlin Firmware + +Bringing silky smooth prints to Felix. + +## Build HOWTO + + - Install the latest non-beta Arduino software IDE/toolset: http://www.arduino.cc/en/Main/Software + - Download the Marlin firmware + - [Latest developement version](https://github.com/MarlinFirmware/Marlin/tree/Development) + - [Stable version](https://github.com/MarlinFirmware/Marlin/tree/Development) + - In both cases use the "Download Zip" button on the right. + +``` +cd Marlin/src +cp config/examples/Felix/Configuration_adv.h . +``` + +The next step depends on your setup: + +### Single Extruder Configuration + + cp config/examples/Felix/Configuration.h . + +### Dual Extruder Configuration + + cp config/examples/Felix/DUAL/Configuration.h Configuration.h + +### Compile Firmware + + - Start the Arduino IDE. + - Select Tools -> Board -> Arduino Mega 2560 + - Select the correct serial port in Tools -> Serial Port (usually /dev/ttyUSB0) + - Open Marlin.pde or .ino + - Click the Verify/Compile button + +### Flash Firmware + +#### Connected directly via USB + + - Click the Upload button. If all goes well the firmware is uploading + +#### Remote update + +Find the latest Arduino build: + + ls -altr /tmp/ + drwxr-xr-x 5 chrono users 12288 Mar 3 21:41 build6072035599686630843.tmp + +Copy the firmware to your printer host: + + scp /tmp/build6072035599686630843.tmp/Marlin.cpp.hex a.b.c.d:/tmp/ + +Connect to your printer host via ssh, stop Octoprint or any other service that may block your USB device and make sure you have avrdude installed, then run: + + avrdude -C/etc/avrdude.conf -v -v -v -patmega2560 -cwiring -P/dev/ttyUSB0 \ + -b115200 -D -Uflash:w:/tmp/Marlin.cpp.hex:i + +## Acknowledgements + +Mashed together and tested on https://apollo.open-resource.org/mission:resources:picoprint based on collaborative teamwork of @andrewsil1 and @thinkyhead. diff --git a/config/examples/FlashForge/CreatorPro/README.md b/config/examples/FlashForge/CreatorPro/README.md new file mode 100644 index 00000000000..a57108ae44a --- /dev/null +++ b/config/examples/FlashForge/CreatorPro/README.md @@ -0,0 +1,162 @@ +# NOTE ON FLASHING THE FIRMWARE: + +The firmware for the Atmel chip used for USB on the Mighty Board is the same as the Arduino Mega's, but it doesn't do an automatic reset. If you want the printer to reset on DTR you will need to flash it with the firmware for the Arduino Mega. + +### Use with all nozzle settings + +- Build plate shape: Rectangular +- Origin at center +- Heated bed +- G-code flavor: Marlin + +### Right Nozzle + +- Number of Extruders: 1 +- X (Width) 227 +- Y (Depth) 148 +- Z (Heigth) 150 + +## Extruder 1 +- Nozzle size: 0.4 +- Compatible material diameter: 1.75 +- Nozzle offset X: 0 +- Nozzle offset Y: 0 +- Cooling Fan Number:0 + +```gcode +;START G-CODE; +M104 T0 S{material_print_temperature} +M140 S{material_bed_temperature} +G28 +T0 +G1 X150 Y-70 Z30 F4800 ; move to wait position left hand side of the table +M190 S{material_bed_temperature} +M109 T0 S{material_print_temperature} +G92 E0 +G1 Z0.4 F1800 +G1 X110 Y-70 E20 F300 ; purge nozzle +G1 X120 Y-70 Z0.15 F1200 ; slow wipe +G1 X110 Y-70 Z0.5 F1200 ; lift +G92 E0 +;START G-CODE; + +;END G-CODE; +G1 X150 Y75 Z150 F1000 ; send Z axis to bottom of machine +M140 S0; cool down HBP +M104 T0 S0 ; cool down right extruder +M104 T1 S0 ; cool down left extruder +M127 ; stop blower fan +M18 ; disable stepper +;END G-CODE; +``` + +## Left Nozzle +Number of Extruders: 1 +X (Width) 227 +Y (Depth) 148 +Z (Heigth) 150 + +Extruder 1 - + Nozzle size: 0.4 + Compatible material diameter: 1.75 + Nozzle offset X: -34 + Nozzle offset Y: 0 + Cooling Fan Number:0 + +```gcode +;START G-CODE; +M104 S{material_print_temperature} +M140 S{material_bed_temperature} +G28 +T1 +G1 X-110 Y-70 Z30 F4800 ; move to wait position left hand side of the table +M104 S{material_print_temperature} +M190 S{material_bed_temperature} +M109 S{material_print_temperature} +G92 E0 +G1 Z0.4 F1800 +G1 E10 F300 ; purge nozzle +G1 X-67 Y-70 E25 F300 ; purge nozzle +G1 X-77 Y-70 Z0.15 F1200 ; slow wipe +G1 X-67 Y-70 Z0.5 F1200 ; lift +G92 E0 +;START G-CODE; + +;END G-CODE; +G1 X150 Y75 Z150 F1000 ; send Z axis to bottom of machine +M140 S0; cool down HBP +M104 T0 S0 ; cool down right extruder +M104 T1 S0 ; cool down left extruder +M127 ; stop blower fan +M18 ; disable stepper +;END G-CODE; +``` + +## Both Nozzles +Number of Extruders: 2 +X (Width) 295 <---- bed width + 2 x nozzle offset +Y (Depth) 148 +Z (Heigth) 150 + +Extruder 1 - + Nozzle size: 0.4 + Compatible material diameter: 1.75 + Nozzle offset X: 0 + Nozzle offset Y: 0 + Cooling Fan Number:0 + ;Extruder End G-code; + G1 X150 Y70 F9000;move away from print in case extrusion cool down speed modifier too low + ;Extruder End G-code; + +Extruder 2 - + Nozzle size: 0.4 + Compatible material diameter: 1.75 + Nozzle offset X: -34 + Nozzle offset Y: 0 + Cooling Fan Number:0 + ;Extruder End G-code; + G1 X150 Y70 F9000;move away from print in case extrusion cool down speed modifier too low + ;Extruder End G-code; + +```gcode +;START G-CODE; +M104 T0 S{material_print_temperature, 0} +M104 T1 S{material_print_temperature, 1} +M140 S{material_bed_temperature} +G28 +;purge right +T0 +G1 X155 Y-70 Z30 F4800 +M190 S{material_bed_temperature} +M109 T0 S{material_print_temperature, 0} +M104 T0 S{material_standby_temperature, 0} +G92 E0 +G1 Z0.4 F1800 +G1 X110 Y-70 E20 F300 ; purge nozzle +G1 X120 Y-70 Z0.15 F1200 ; slow wipe +G1 E17 F2400 +G1 X110 Y-70 Z0.5 F1200 ; lift +G92 E0 +;purge left +T1 +;M104 T0 S{material_standby_temperature, 0} +M104 T1 S{material_print_temperature, 1} +G1 X-110 Y-70 Z30 F4800 +M109 T1 S{material_print_temperature, 1} +G92 E0 +G1 Z0.4 F1800 +G1 X-67 Y-70 E25 F300 ; purge nozzle +G1 X-77 Y-70 Z0.15 F1200 ; slow wipe +G1 E22 F3600 +G1 X-67 Y-70 Z0.5 F1200 ; lift +G92 E0 +;START G-CODE; +;END G-CODE; +G1 X150 Y75 Z150 F1000 ; send Z axis to bottom of machine +M140 S0; cool down HBP +M104 T0 S0 ; cool down right extruder +M104 T1 S0 ; cool down left extruder +M127 ; stop blower fan +M18 ; disable stepper +;END G-CODE; +``` diff --git a/config/examples/FlyingBear/P905H/README.md b/config/examples/FlyingBear/P905H/README.md new file mode 100644 index 00000000000..dcb9ba10293 --- /dev/null +++ b/config/examples/FlyingBear/P905H/README.md @@ -0,0 +1,14 @@ +# Flying Bear P905H configuration + +This configuration is for a P905H with **a single extruder and inductive Z-sensor**. It's been thoroughly tested, and I've tried to make the printer work smoothly, so this configuration is more focused on print quality than speed. + +- Use this firmware as a baseline for other P905 modifications. +- Find other notes in the config files by searching for "P905H". + +## Build Instructions + - Get Visual Studio Code and install the "Auto Build Marlin" extension. + - Download the [Marlin source code](https://marlinfw.org/meta/download/). + - Copy the two Configuration files from this folder into the 'Marlin' folder (replacing the existing files). + - Open the 'MarlinFirmware' project folder in Visual Studio Code. + - Click the "Auto Build Marlin" button and then the Upload button. + - Don't forget to reset your EEPROM with `M502` and `M500` after flashing. diff --git a/config/examples/Formbot/Raptor/_Bootscreen.h b/config/examples/Formbot/Raptor/_Bootscreen.h new file mode 100644 index 00000000000..e49825df929 --- /dev/null +++ b/config/examples/Formbot/Raptor/_Bootscreen.h @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Bitmap for splashscreen + * + * You may use one of the following tools to generate the C++ bitmap array from + * a black and white image: + * + * - http://www.marlinfw.org/tools/u8glib/converter.html + * - http://www.digole.com/tools/PicturetoC_Hex_converter.php + */ +#include + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 +#define CUSTOM_BOOTSCREEN_INVERTED + +const unsigned char custom_start_bmp[] PROGMEM = { + B11111101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111, + B11111110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111, + B11111100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111, + B11111100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111, + B11111110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111, + B11111100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000000,B00000001,B11110000,B00111111, + B11111110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000000,B00000010,B00001000,B00011111, + B11111100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000000,B00000101,B00000100,B00111111, + B11111110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000000,B00001010,B00000010,B00011111, + B11111100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000000,B00010101,B00000001,B00111111, + B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000000,B00011000,B00000001,B00011111, + B11111100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000000,B00010100,B00000001,B00111111, + B11111110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000000,B00011000,B00000001,B00011111, + B11111100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B00010101,B00000001,B00111111, + B11111110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101010,B00001010,B00000010,B00011111, + B11111100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010001,B00000101,B00000100,B00111111, + B11111110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100001,B00000010,B10001000,B00011111, + B11111100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010001,B00000001,B11110000,B00111111, + B11111110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101010,B00000000,B00000000,B00011111, + B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00000000,B00000000,B00111111, + B11111110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111, + B11111100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111, + B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111111,B11111111,B11111111,B10011111, + B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010101,B01010101,B01010101,B10111111, + B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111, + B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000001,B00000100,B00010001,B10111111, + B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111, + B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000001,B00000100,B00010001,B10111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010101,B01010101,B01010101,B10111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111111,B11111111,B11111111,B10011111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B11100000,B00101110,B11111011,B01111101,B11111011,B11111011,B11001111,B11000001,B11011111,B10111011,B00111110,B11000000,B11100001,B11111110,B00111100,B00011111, + B11111101,B11101110,B01111011,B00111001,B11111001,B11110011,B11001111,B10011110,B11011111,B10111011,B00111110,B11011111,B11011110,B11111100,B11011101,B11100111, + B11111101,B11101110,B00111011,B10111011,B11111001,B11101011,B11010111,B10111111,B01011111,B10111011,B01011110,B11011111,B11011110,B11111101,B11101101,B11110111, + B11111101,B11101110,B10111011,B11010011,B11111010,B11101011,B10110111,B00111111,B11011111,B10111011,B01001110,B11011111,B11011111,B11111111,B11001101,B11110011, + B11111101,B11101110,B11011011,B11000111,B11111010,B11101011,B10111011,B01111111,B11000000,B00111011,B01101110,B11000000,B11100011,B11111111,B00011101,B11110011, + B11111101,B11101110,B11001011,B11101111,B11111010,B11011011,B10111011,B01111111,B11011111,B10111011,B01100110,B11011111,B11111000,B11111111,B11001101,B11110011, + B11111101,B11101110,B11101011,B11101111,B11111011,B01011011,B00000011,B00111111,B01011111,B10111011,B01110110,B11011111,B11111110,B01111111,B11101101,B11110011, + B11111101,B11101110,B11110011,B11101111,B11111011,B01011011,B01111001,B10111110,B11011111,B10111011,B01111010,B11011111,B11011110,B01111101,B11101101,B11110111, + B11111101,B11101110,B11110011,B11101111,B11111011,B10111010,B11111101,B10011110,B11011111,B10111011,B01111100,B11011111,B11011110,B11111101,B11001101,B11100111, + B11111101,B11101110,B11111011,B11101111,B11111011,B10111010,B11111101,B11000001,B11011111,B10111011,B01111110,B11000000,B11100000,B11111110,B00011100,B00011111 +}; diff --git a/config/examples/Formbot/Raptor/_Statusscreen.h b/config/examples/Formbot/Raptor/_Statusscreen.h new file mode 100644 index 00000000000..062a34ac183 --- /dev/null +++ b/config/examples/Formbot/Raptor/_Statusscreen.h @@ -0,0 +1,75 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 3 +#define STATUS_LOGO_WIDTH 24 + +const unsigned char status_logo_bmp[] PROGMEM = { + B11111111,B11111111,B11111111, + B10000000,B00000000,B00000001, + B10001110,B00000000,B11100001, + B10011111,B00000001,B11110001, + B10010011,B10000001,B00111001, + B10011111,B10000001,B11111001, + B10011111,B10000001,B11111001, + B10011111,B10111001,B11111001, + B10001111,B00101000,B11110001, + B10000000,B00111000,B00000001, + B10000000,B00000000,B00000001, + B10011111,B11111111,B11111001, + B10010001,B01110100,B10011001, + B10011011,B00000110,B10101001, + B10011011,B01010100,B10101001, + B10011011,B01010110,B10101001, + B10011011,B01010100,B10011001, + B10011111,B11111111,B11111001, + B11111111,B11111111,B11111111 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_LOGO_X 8 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_LOGO_X 0 + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Formbot/T_Rex_2+/_Bootscreen.h b/config/examples/Formbot/T_Rex_2+/_Bootscreen.h new file mode 100644 index 00000000000..8408d1803f9 --- /dev/null +++ b/config/examples/Formbot/T_Rex_2+/_Bootscreen.h @@ -0,0 +1,102 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Bitmap for splashscreen + * + * You may use one of the following tools to generate the C++ bitmap array from + * a black and white image: + * + * - http://www.marlinfw.org/tools/u8glib/converter.html + * - http://www.digole.com/tools/PicturetoC_Hex_converter.php + */ +#include + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11100000,B00111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B00000000,B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00000000,B00000000, + B00000000,B11111111,B11111111,B00000000,B01111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000, + B00000000,B10000011,B11000001,B00000000,B01110000,B00111100,B00000000,B00111000,B00000011,B11000000,B01111000,B00000000,B00000111,B00111000,B00000000,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000001,B11111110,B00000000,B11000000,B01100000,B00000000,B00001110,B00011100,B00000110,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000011,B11000111,B00000000,B01100000,B11000000,B00000000,B00001100,B00001100,B00000110,B00000000, + B00000000,B00000011,B11000000,B00000000,B01111110,B01111000,B00000110,B00000001,B10000000,B00110001,B10000000,B00000000,B00000000,B00001100,B00000110,B00000000, + B00000000,B00000011,B11000000,B11111111,B01111111,B11100000,B00000110,B00000001,B11000000,B00011011,B00000000,B00000000,B00000000,B00011100,B00111111,B11000000, + B00000000,B00000011,B11000000,B11111111,B01110000,B11100000,B00001111,B11111111,B11000000,B00001111,B00000000,B00000000,B00000000,B00111000,B00111111,B11000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B01111000,B00001100,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B01110000,B00000110,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000110,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B01100000,B00000110,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000110,B00000000,B11000000,B00110000,B11000000,B00000000,B00000001,B11000000,B00000110,B00000000, + B10000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000011,B10000001,B10000000,B01100000,B01100000,B00000000,B00000011,B10000000,B00000000,B00000001, + B10000000,B00000011,B11000000,B00000000,B01110000,B00001110,B10000001,B11111111,B10000000,B11000000,B00110000,B00000000,B00001111,B11111100,B00000000,B00000001, + B10000000,B00000011,B11000000,B00000000,B01110000,B00000111,B00000000,B01111100,B00000011,B10000000,B00011100,B00000000,B00011111,B11111100,B00000000,B00000001, + B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111 +}; diff --git a/config/examples/Formbot/T_Rex_2+/_Statusscreen.h b/config/examples/Formbot/T_Rex_2+/_Statusscreen.h new file mode 100644 index 00000000000..454c3003ff7 --- /dev/null +++ b/config/examples/Formbot/T_Rex_2+/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 4 +#define STATUS_LOGO_WIDTH 21 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000000,B00011110,B00000000, + B00000000,B11111111,B10000000, + B00000001,B11111111,B11100000, + B00000111,B00000000,B00000000, + B00001111,B00000000,B00000000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00000000,B00000000, + B00011111,B00000000,B00000000, + B00001111,B00001111,B11111000, + B00000111,B00001111,B11110000, + B00000011,B00001111,B11000000, + B00000001,B00001111,B00000000, + B00000000,B00001100,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_LOGO_X 8 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_LOGO_X 0 + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Formbot/T_Rex_3/_Bootscreen.h b/config/examples/Formbot/T_Rex_3/_Bootscreen.h new file mode 100644 index 00000000000..43aa1fa09af --- /dev/null +++ b/config/examples/Formbot/T_Rex_3/_Bootscreen.h @@ -0,0 +1,102 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Bitmap for splashscreen + * + * You may use one of the following tools to generate the C++ bitmap array from + * a black and white image: + * + * - http://www.marlinfw.org/tools/u8glib/converter.html + * - http://www.digole.com/tools/PicturetoC_Hex_converter.php + */ +#include + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11100000,B00111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B00000000,B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00000000,B00000000, + B00000000,B11111111,B11111111,B00000000,B01111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11110000,B00000000,B00000000, + B00000000,B10000011,B11000001,B00000000,B01110000,B00111100,B00000000,B00111000,B00000011,B11000000,B01111000,B00000000,B00001100,B00011000,B00000000,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000001,B11111110,B00000000,B11000000,B01100000,B00000000,B00000000,B00001100,B00000000,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000011,B11000111,B00000000,B01100000,B11000000,B00000000,B00000000,B00001100,B00000000,B00000000, + B00000000,B00000011,B11000000,B00000000,B01111110,B01111000,B00000110,B00000001,B10000000,B00110001,B10000000,B00000000,B00000000,B00011100,B00000000,B00000000, + B00000000,B00000011,B11000000,B11111111,B01111111,B11100000,B00000110,B00000001,B11000000,B00011011,B00000000,B00000000,B00000011,B11111000,B00000000,B00000000, + B00000000,B00000011,B11000000,B11111111,B01110000,B11100000,B00001111,B11111111,B11000000,B00001111,B00000000,B00000000,B00000011,B11111000,B00000000,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B01111000,B00001100,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B00011100,B00000000,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000110,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B00001100,B00000000,B00000000, + B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000110,B00000000,B11000000,B00110000,B11000000,B00000000,B00000000,B00001100,B00000000,B00000000, + B10000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000011,B10000001,B10000000,B01100000,B01100000,B00000000,B00001100,B00011000,B00000000,B00000001, + B10000000,B00000011,B11000000,B00000000,B01110000,B00001110,B10000001,B11111111,B10000000,B11000000,B00110000,B00000000,B00000111,B11110000,B00000000,B00000001, + B10000000,B00000011,B11000000,B00000000,B01110000,B00000111,B00000000,B01111100,B00000011,B10000000,B00011100,B00000000,B00000001,B11100000,B00000000,B00000001, + B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111 +}; diff --git a/config/examples/Formbot/T_Rex_3/_Statusscreen.h b/config/examples/Formbot/T_Rex_3/_Statusscreen.h new file mode 100644 index 00000000000..454c3003ff7 --- /dev/null +++ b/config/examples/Formbot/T_Rex_3/_Statusscreen.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 4 +#define STATUS_LOGO_WIDTH 21 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000000,B00011110,B00000000, + B00000000,B11111111,B10000000, + B00000001,B11111111,B11100000, + B00000111,B00000000,B00000000, + B00001111,B00000000,B00000000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00001111,B11111000, + B00011111,B00000000,B00000000, + B00011111,B00000000,B00000000, + B00001111,B00001111,B11111000, + B00000111,B00001111,B11110000, + B00000011,B00001111,B11000000, + B00000001,B00001111,B00000000, + B00000000,B00001100,B00000000 +}; + +// +// Use default bitmaps +// +#define STATUS_HOTEND_ANIM +#define STATUS_BED_ANIM +#if HOTENDS < 2 + #define STATUS_LOGO_X 8 + #define STATUS_HEATERS_X 40 + #define STATUS_BED_X 72 +#else + #define STATUS_LOGO_X 0 + #define STATUS_HEATERS_X 32 + #define STATUS_BED_X 80 +#endif diff --git a/config/examples/Geeetech/Prusa i3 Pro B/bltouch/README.md b/config/examples/Geeetech/Prusa i3 Pro B/bltouch/README.md new file mode 100644 index 00000000000..c36feb71ae6 --- /dev/null +++ b/config/examples/Geeetech/Prusa i3 Pro B/bltouch/README.md @@ -0,0 +1,54 @@ +These are example configurations for the low-cost [Acrylic Průša I3 pro B 3D Printer DIY kit](http://www.geeetech.com/acrylic-geeetech-prusa-i3-pro-b-3d-printer-diy-kit-p-917.html) and the [3DTouch auto bed leveling sensor](http://www.geeetech.com/geeetech-3dtouch-auto-bed-leveling-sensor-for-3d-printer-p-1010.html) based on: + +- `../GT2560/` +- [Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B](https://www.geeetech.com/forum/viewtopic.php?t=19846) + +The main characteristics of these configurations are: + +- The defined motherboard is `BOARD_GT2560_REV_A_PLUS`. +- Travel limits are adjusted to the printer bed size and position. +- An example `SKEW_CORRECTION` for a particular printer is enabled. See comments below about how to adjust it to a particular printer. +- Using the LCD controller for bed leveling is enabled. + - `PROBE_MANUALLY` is enabled, which *provides a means to do "Auto" Bed Leveling without a probe*. + - The `LCD_BED_TRAMMING` option for manual bed adjustment is enabled. + - Bilinear bed leveling is enabled, the boundaries for probing are adjusted to the glass size, and extrapolation is enabled. +- `PRINTCOUNTER` is enabled, in order to track statistical data. +- `INDIVIDUAL_AXIS_HOMING_MENU` is enabled, which adds individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +- The speaker is enabled for the UI feedback. +- `bltouch` variant: + - `USE_ZMAX_PLUG` is enabled. See comments about connections below. + - Heaters and fans are turned off when probing. + - Multiple probing is set to 3. + +# First-time configuration + +## Skew factor + +The skew factor must be adjusted for each printer: + +- First, uncomment `#define XY_SKEW_FACTOR 0.0`, compile and upload the firmware. +- Then, print [YACS (Yet Another Calibration Square)](https://www.thingiverse.com/thing:2563185). Hint, scale it considering a margin for brim (if used). The larger, the better to make error measurements. +- Measure the printed part according to the comments in the example configuration file, and set `XY_DIAG_AC`, `XY_DIAG_BD` and `Y_SIDE_AD`. +- Last, comment `#define XY_SKEW_FACTOR 0.0` again, compile and upload. + +## 3DTouch auto leveling sensor + +- Print a suitable mount to attach the sensor to the printer. The example configuration file is adjusted to http://www.geeetech.com/wiki/images/6/61/3DTouch_auto_leveling_sensor-1.zip +- Unlike suggested in [geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor](https://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor), the existing end stop switch is expected to be kept connected to Z_MIN. So, the sensor is to be connected to Z_MAX, according to Marlin's default settings. Furthermore, GT2560-A+ provides a connector for the servo next to thermistor connectors (see [GT2560](https://www.geeetech.com/wiki/images/thumb/4/45/GT2560_wiring.jpg/700px-GT2560_wiring.jpg) and [GT2560-A+](http://i.imgur.com/E0t34VU.png)). +- Be careful to respect the polarity of the sensor when connecting it to the GT2560-A+. Unlike end stops, reversing the connection will prevent the sensor from working properly. +- [Test](http://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor#Testing) and [calibrate](https://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor#Calibration) the sensor. +- If using the GT2560-A+ and with the sensor connected to Z_MAX and an endstop connected to Z_MIN use the following calibration routine instead. + +## 3DTouch Calibration with Z_MAX + +- Home the printer with `G28` command. +- Disable the Z axis software endstop with `M211 S0 Z0` +- Reset the probe Z_OFFSET with `M851 Z0` +- Move to the center of the bed with `G1 X100 Y100` +- Move Z incrementally until the nozzle is the correct height from the bed using a shim or piece of paper, record this Z movement, for example -0.2. +- Do a single probe at the current point in the middle of the bed using `G30` and not the returned value, for example 1.9. Invert this value, i.e. -1.9, and add it to the Z offset above, i.e. -0.2 in this example giving -2.1. +- Update the probe Z_OFFSET to this value using `M851` i.e. `M851 Z-2.1`. +- Re-enable software end-stops with `M211 S1 Z0` +- Save this value to the EEPROM with `M500`. +- Update the start G-Code in your slicer software to insert a `G29` after the last `G28`. +- Carefully test that the offset is correct in the first print. diff --git a/config/examples/Geeetech/Prusa i3 Pro B/noprobe/README.md b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/README.md new file mode 100644 index 00000000000..c36feb71ae6 --- /dev/null +++ b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/README.md @@ -0,0 +1,54 @@ +These are example configurations for the low-cost [Acrylic Průša I3 pro B 3D Printer DIY kit](http://www.geeetech.com/acrylic-geeetech-prusa-i3-pro-b-3d-printer-diy-kit-p-917.html) and the [3DTouch auto bed leveling sensor](http://www.geeetech.com/geeetech-3dtouch-auto-bed-leveling-sensor-for-3d-printer-p-1010.html) based on: + +- `../GT2560/` +- [Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B](https://www.geeetech.com/forum/viewtopic.php?t=19846) + +The main characteristics of these configurations are: + +- The defined motherboard is `BOARD_GT2560_REV_A_PLUS`. +- Travel limits are adjusted to the printer bed size and position. +- An example `SKEW_CORRECTION` for a particular printer is enabled. See comments below about how to adjust it to a particular printer. +- Using the LCD controller for bed leveling is enabled. + - `PROBE_MANUALLY` is enabled, which *provides a means to do "Auto" Bed Leveling without a probe*. + - The `LCD_BED_TRAMMING` option for manual bed adjustment is enabled. + - Bilinear bed leveling is enabled, the boundaries for probing are adjusted to the glass size, and extrapolation is enabled. +- `PRINTCOUNTER` is enabled, in order to track statistical data. +- `INDIVIDUAL_AXIS_HOMING_MENU` is enabled, which adds individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. +- The speaker is enabled for the UI feedback. +- `bltouch` variant: + - `USE_ZMAX_PLUG` is enabled. See comments about connections below. + - Heaters and fans are turned off when probing. + - Multiple probing is set to 3. + +# First-time configuration + +## Skew factor + +The skew factor must be adjusted for each printer: + +- First, uncomment `#define XY_SKEW_FACTOR 0.0`, compile and upload the firmware. +- Then, print [YACS (Yet Another Calibration Square)](https://www.thingiverse.com/thing:2563185). Hint, scale it considering a margin for brim (if used). The larger, the better to make error measurements. +- Measure the printed part according to the comments in the example configuration file, and set `XY_DIAG_AC`, `XY_DIAG_BD` and `Y_SIDE_AD`. +- Last, comment `#define XY_SKEW_FACTOR 0.0` again, compile and upload. + +## 3DTouch auto leveling sensor + +- Print a suitable mount to attach the sensor to the printer. The example configuration file is adjusted to http://www.geeetech.com/wiki/images/6/61/3DTouch_auto_leveling_sensor-1.zip +- Unlike suggested in [geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor](https://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor), the existing end stop switch is expected to be kept connected to Z_MIN. So, the sensor is to be connected to Z_MAX, according to Marlin's default settings. Furthermore, GT2560-A+ provides a connector for the servo next to thermistor connectors (see [GT2560](https://www.geeetech.com/wiki/images/thumb/4/45/GT2560_wiring.jpg/700px-GT2560_wiring.jpg) and [GT2560-A+](http://i.imgur.com/E0t34VU.png)). +- Be careful to respect the polarity of the sensor when connecting it to the GT2560-A+. Unlike end stops, reversing the connection will prevent the sensor from working properly. +- [Test](http://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor#Testing) and [calibrate](https://www.geeetech.com/wiki/index.php/3DTouch_Auto_Leveling_Sensor#Calibration) the sensor. +- If using the GT2560-A+ and with the sensor connected to Z_MAX and an endstop connected to Z_MIN use the following calibration routine instead. + +## 3DTouch Calibration with Z_MAX + +- Home the printer with `G28` command. +- Disable the Z axis software endstop with `M211 S0 Z0` +- Reset the probe Z_OFFSET with `M851 Z0` +- Move to the center of the bed with `G1 X100 Y100` +- Move Z incrementally until the nozzle is the correct height from the bed using a shim or piece of paper, record this Z movement, for example -0.2. +- Do a single probe at the current point in the middle of the bed using `G30` and not the returned value, for example 1.9. Invert this value, i.e. -1.9, and add it to the Z offset above, i.e. -0.2 in this example giving -2.1. +- Update the probe Z_OFFSET to this value using `M851` i.e. `M851 Z-2.1`. +- Re-enable software end-stops with `M211 S1 Z0` +- Save this value to the EEPROM with `M500`. +- Update the start G-Code in your slicer software to insert a `G29` after the last `G28`. +- Carefully test that the offset is correct in the first print. diff --git a/config/examples/Intamsys/FunmatHT 4988/_Bootscreen.h b/config/examples/Intamsys/FunmatHT 4988/_Bootscreen.h new file mode 100644 index 00000000000..f53f05f0efe --- /dev/null +++ b/config/examples/Intamsys/FunmatHT 4988/_Bootscreen.h @@ -0,0 +1,103 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Bitmap for splashscreen + * + * You may use one of the following tools to generate the C++ bitmap array from + * a black and white image: + * + * - http://www.marlinfw.org/tools/u8glib/converter.html + * - http://www.digole.com/tools/PicturetoC_Hex_converter.php + */ +#include + +#define CUSTOM_BOOTSCREEN_TIMEOUT 2500 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 125 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111100,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000,B00000000,B10000111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00001100,B00000000,B10000011,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00001100,B00000000,B10000001,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001100,B00000110,B00000000,B10000000,B11100011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011000,B00000110,B00000000,B10000000,B01101111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00011100,B00111000,B00000010,B00000000,B10000000,B00111100,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00011111,B00110000,B00000011,B00000000,B11000000,B00111100,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B01110111,B10110000,B00000010,B11111111,B01100000,B00111100,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B11100000,B11111000,B00000110,B11111111,B10110000,B00111100,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B11000000,B11011000,B00001101,B10000001,B10011000,B00011100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B10000000,B11011000,B00001001,B10000000,B11011100,B11111100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000010,B00000000,B11011000,B00011011,B00000000,B01101111,B11100100,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000010,B00000000,B11011111,B11111011,B00000000,B00110111,B00000110,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000110,B00000000,B11100111,B11110110,B00000000,B00011000,B00000011,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000110,B00000000,B11100000,B00001110,B00000000,B00011000,B00001111,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000110,B00000000,B11000000,B00101110,B00000000,B00011011,B11111111,B11000110,B00000000,B00000000,B00000000,B00000000,B00000000, + B00111111,B11111100,B00011111,B11110110,B01111101,B10000001,B11100110,B00000000,B00011011,B11000111,B11000110,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B11111110,B00111111,B11111111,B00011111,B10001111,B11000011,B11111111,B11111111,B11111111,B11111100,B00011111,B11111111,B00111000,B00000011,B11000000, + B11111111,B11111111,B11111111,B11111111,B10001111,B00011111,B11000111,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B00111100,B00000011,B11100000, + B00010000,B00001111,B11110000,B00001111,B10001111,B11111111,B10000011,B11111111,B11110111,B11111111,B11111000,B11111111,B11111100,B00111100,B00000011,B11100000, + B00000000,B00001111,B11110000,B00000111,B11111111,B11111111,B00000001,B10011110,B00100111,B11111100,B11000010,B11111000,B00000000,B00111110,B00000011,B11100000, + B00001111,B11111111,B11110000,B00000011,B11011111,B11111110,B00000001,B11001110,B01101100,B11111100,B01000111,B11111000,B00000000,B00111111,B11111111,B11100000, + B00011111,B11111111,B11110000,B00000011,B11000011,B11111100,B00000000,B11111111,B11001100,B11111111,B11111111,B11110000,B00000000,B00111111,B11111111,B11100000, + B00011111,B11111111,B11110000,B00000011,B11000011,B11111100,B00000000,B00001110,B00011100,B11111111,B11111001,B11100000,B00000000,B00111111,B11111111,B11100000, + B00000000,B00001111,B11110000,B00001111,B11000111,B11111100,B00000000,B00001110,B00011100,B11111111,B11110001,B11100000,B00000000,B00111111,B11111111,B11100000, + B00000000,B00001111,B11111000,B00001111,B10000111,B11111110,B00000000,B00001110,B00001100,B11111000,B11110000,B11110000,B00000000,B00111100,B00000011,B11100000, + B01111111,B11111111,B11111111,B11111111,B10111111,B10001111,B00000000,B00111111,B11100110,B11111000,B11100000,B11111100,B00000000,B00111100,B00000011,B11100000, + B01111111,B11111111,B11111111,B11111111,B11111111,B00000111,B11000000,B11111111,B11100111,B11111111,B11111100,B11111111,B11111111,B00111100,B00000011,B11100000, + B11111111,B11111111,B11111111,B11111111,B11111110,B00000011,B11100000,B10001110,B00110011,B11111111,B11111100,B00011111,B11111111,B00111100,B00000011,B11100000, + B01111111,B11111100,B00111111,B11110000,B00111100,B00000001,B11110001,B10011110,B00110001,B11111111,B11111001,B00001111,B11111110,B00111100,B00000011,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00011001,B11111111,B11000001,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00001100,B11100000,B11000001,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00000000,B00001100,B00000000,B01000010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00000000,B00000110,B00000001,B01100010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001100,B00000000,B00000110,B00111111,B01100010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00001110,B00000000,B00001101,B11111101,B11101110,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11100110,B00000000,B00011001,B10000001,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11101111,B11110111,B00000000,B00011011,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11000000,B00110011,B00000000,B00110011,B00000001,B11001000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B10000000,B00011011,B00000000,B00110110,B00000001,B10011000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000001,B10000000,B00001101,B11111111,B11101100,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000001,B00000000,B00001110,B11111111,B11011000,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000001,B11110001,B10000000,B00000110,B01100000,B00111000,B00000111,B10100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000001,B11111101,B10000000,B00000011,B00000000,B00011000,B00000101,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000001,B10001111,B11000000,B00000110,B11111111,B11011100,B00001010,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B10000001,B11100000,B00001100,B11111111,B11001100,B00011111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B10000001,B11110000,B00001101,B10000000,B01101100,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B01000000,B11111110,B00011011,B00000000,B01100111,B10001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11110110,B00000000,B00100000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00010000,B00110000,B01101110,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000100,B00110000,B00001110,B00000000,B11111111,B10100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000011,B00110000,B00000110,B00000000,B11100001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000001,B11110000,B00000011,B00000011,B11100010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B10001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Intamsys/FunmatHT 4988/_Statusscreen.h b/config/examples/Intamsys/FunmatHT 4988/_Statusscreen.h new file mode 100644 index 00000000000..73125d1cfc5 --- /dev/null +++ b/config/examples/Intamsys/FunmatHT 4988/_Statusscreen.h @@ -0,0 +1,73 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Status Screen bitmap + * + * Place this file in the root with your configuration files + * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +// +// Status Screen Logo bitmap +// +#define STATUS_LOGO_Y 1 +#define STATUS_LOGO_WIDTH 32 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00010000,B00000000, + B00000000,B00000000,B00000110,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000001,B00000000,B00000000,B00000000, + B00001000,B00000000,B00000001,B00000000, + B00000001,B00000000,B01000001,B00000000, + B00000001,B00000000,B00000010,B00000000, + B00000000,B11100000,B00000000,B00000000, + B10000000,B00001000,B00010000,B10000000, + B00000100,B00000000,B00000000,B01000000, + B00001000,B00000000,B00001000,B00000000, + B00010000,B00000100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00110000, + B00000000,B00000000,B00000000,B00100000, + B00000000,B00000001,B11101000,B00100000, + B00000000,B00000000,B00000000,B01100000, + B00000000,B00000000,B00000010,B00000000, + B00000000,B00001000,B00000000,B00000000, + B00000000,B00000000,B00000001,B00100000, + B00000010,B11101000,B00010000,B01100000, + B00000000,B00000000,B00000000,B01000000, + B00000000,B00000011,B11000000,B01100000, + B01100100,B00000000,B00010000,B00000000, + B00000100,B00000011,B11000000,B00000000, + B00000010,B00000000,B00100000,B00000000, + B00000000,B00101000,B00000000,B00000000, + B00000000,B00001000,B00100000,B00000000, + B00000000,B00000000,B01000000,B00000000, + B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/JGAurora/A5/README.md b/config/examples/JGAurora/A5/README.md new file mode 100644 index 00000000000..861f276750f --- /dev/null +++ b/config/examples/JGAurora/A5/README.md @@ -0,0 +1,39 @@ +# Configuration for JGAurora A5 printer + +## Firmware Installation Instructions + +To install custom firmware: + +- Download and install arduino IDE software from https://www.arduino.cc/en/Main/Software +- Plug in A5 to your computer via USB cable +- In arduino IDE, under the Tools menu, set: + – **Board** to "Arduino/Genuino Mega or Mega 2560" + – ***Processor*** to "Atmega 2560 (Mega 2560)" + – **Port** to your 3D printer’s serial port. To figure out the correct serial port unplug the printer and observe the "Port" menu. Connect the printer's USB cable, re-open the "Port" menu and see if a new ports has appeared. This new port is likely to be your printer. + - If you can’t find the right port or if your machine isn't detected, you may need to install a driver for the CH340 serial-to-USB interface chip in the printer. + - [macOS CH340 Serial Driver](http://sampin.ch/ch340-driver-mac) + - [Windows CH340 Serial Driver](https://sparks.gogo.co.nz/ch340.html) +- Install the u8glib library using the library manager in the menu "Sketch -> Include Library -> Manage Libraries." +- IMPORTANT: Unplug the 8-pin LCD panel header connector on your printer. The LCD should turn off completely. This is found underneath the LCD, and can be accessed from underneath the printer without removing any screws. Remember where it goes so you can put it back after flashing. +- Close all other programs (Cura, Repetier Host, JGCreat, etc.) that could connect to the serial port. +- Open the "Marlin.ino" file in Arduino IDE and wait for the new project window to appear. +- Select "Upload" from the "Sketch" menu or click the Upload button. +- Wait for the firmware to finish uploading and verifying. This may take a couple of minutes. +- Plug the LCD connector back in. +- In the Arduino IDE, select "Tools -> Serial monitor" to open up a simple console. In the popup menus, select "Newline" and a Baud Rate of "250000." +- In the input box, enter the following G-code commands: + - `M502` (press return) to reset settings (in RAM) to your configured defaults. + - `M500` (press return) to write settings and initialize the EEPROM. + +## Graphical Display + +The control panel included with the JGAurora interfaces only indirectly with Marlin, and this imposes some limitations. But you can use a RepRap Discount Full Graphic Smart Controller with the JGAurora A5 by applying the following additional settings in `Configuration.h`: + +```cpp +#define ENCODER_PULSES_PER_STEP 5 +#define ENCODER_STEPS_PER_MENU_ITEM 1 +#define REVERSE_ENCODER_DIRECTION +#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER +``` + +You may also be able to change `BEEPER_PIN` to use the piezo on the LCD controller instead of the one on the board. diff --git a/config/examples/Labists/ET4/README.md b/config/examples/Labists/ET4/README.md new file mode 100644 index 00000000000..bde2f1f1ddf --- /dev/null +++ b/config/examples/Labists/ET4/README.md @@ -0,0 +1,54 @@ +# Marlin for Labists ET4 + +_Note: The Labists ET4 is OEM'd by Anet, so the update process is very similar._ + +A debugging/programming probe (_e.g._, ST-Link, J-Link, or Black Magic Probe) is required to flash the the [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases) due to incompatibility with the stock bootloader. Once OpenBLT is flashed, Marlin can be updated by SD card just like the original firmware. + +## Flashing OpenBLT Bootloader with an ST-Link V2 + +1. Using three female to female Dupont jumper cables, connect `GND`, `SWDIO`, and `SWCLK` pins from the ST-Link to the Serial Wire Debug (SWD) header on the motherboard. Pay close attention that the cables on SWD header side match the order below using the `U` and `G` letters printed on the motherboard as a reference: + + ``` + SWD Header on ET Series motherboard + ___ + U | o | (not connected) + |---| + | o | SWDIO + |---| + | o | SWCLCK + |---| + G | o | GND + --- + ``` + Photo reference: + + + + _`GND` is connected to `GND` (black wire), `SWDIO` to `SWDIO` (yellow wire), and `SWCLK` to `SWCLK` (green wire). Your ST-Link pinout may differ from the one pictured, so double-check pinout._ +2. Plug in the ST-Link to your computer's USB port & power on your printer. +3. Download & install [STM32 ST-Link Utility](https://www.st.com/en/development-tools/stsw-link004.html). +4. Launch STM32 ST-Link Utility & click `Target` then `Connect`. +5. Back up the original motherboard firmware starting at address `0x08000000` with a size of `0x100000`: + +6. Download & extract [OpenBLT bootloader for Anet ET4/ET5 series printers](https://github.com/davidtgbe/openblt/releases). +7. Click on `Target` then `Program...` +8. Set the `Start Address` to `0x08000000`. +9. Under `File Path`, click `Browse` and select `openblt_et4.bin` extracted in Step 6. +10. Click `Start` to initiate the flashing process. +11. OpenBLT for Anet ET4/ET5 series printers is now installed on your motherboard. + +## Compiling Marlin + +1. Overwrite the default Marlin configs with the ones from this folder. +2. Compile with the `Anet_ET4_OpenBLT` PlatformIO environment. + +## Installing Marlin + +1. Once Marlin is compiled, copy `Marlin/.pio/build/Anet_ET4_OpenBLT/firmware.srec` to a blank SD card and insert it into your printer. +2. Power cycle your printer to start the update process. + +## Acknowledgements +- [@davidtgbe](https://github.com/davidtgbe) for porting Marlin to the ET4/ET5 series. +- [Telegram Anet ET4 spanish group](https://t.me/anetet4esp), especially [@olidnon](https://github.com/olidnon), who lent his motherboard for testing. +- [@uwe](https://github.com/uwe) and [@mubes](https://github.com/mubes) from Black Magic Probe team, and to [@Ebiroll](https://github.com/Ebiroll) (BMP/ESP32). +- All contributors and testers. diff --git a/config/examples/MakerParts/_Bootscreen.h b/config/examples/MakerParts/_Bootscreen.h new file mode 100644 index 00000000000..d7323418cf8 --- /dev/null +++ b/config/examples/MakerParts/_Bootscreen.h @@ -0,0 +1,81 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00011111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B11111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B11111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00011111,B11111111,B11111111,B11111111,B11000000,B00001111,B10000000,B01111100,B00000111,B11100000,B00111111,B00001111,B11011111,B11111111,B01111111,B11110000, + B00111111,B11111111,B11111111,B11111111,B11100000,B00001111,B11000000,B11111100,B00000111,B11100000,B00111111,B00011111,B10011111,B11111111,B01111111,B11111100, + B01111111,B10111111,B11111111,B11101111,B11110000,B00001111,B11000000,B11111100,B00001111,B11110000,B00111111,B00011111,B00011111,B11111111,B01111111,B11111110, + B01111110,B00001111,B11111111,B10000011,B11110000,B00001111,B11100001,B11111100,B00001111,B11110000,B00111111,B00111110,B00011111,B11111111,B01111111,B11111110, + B01111100,B00000111,B11111111,B00000001,B11110000,B00001111,B11100001,B11111100,B00011111,B11111000,B00111111,B01111110,B00011111,B10000000,B01111100,B00111110, + B01111100,B00000011,B11111110,B00000001,B11110000,B00001111,B11110011,B11111100,B00011111,B11111000,B00111111,B11111100,B00011111,B10000000,B01111100,B00011110, + B01111100,B00000001,B11111100,B00000001,B11110000,B00001111,B11110011,B11111100,B00011111,B11111000,B00111111,B11111000,B00011111,B11111100,B01111100,B00111110, + B01111100,B00000000,B11111000,B00000001,B11110000,B00001111,B11111111,B11111100,B00111110,B01111100,B00111111,B11111000,B00011111,B11111100,B01111111,B11111110, + B01111100,B00000000,B01110000,B00000001,B11110000,B00001111,B11111111,B11111100,B00111110,B01111100,B00111111,B11111100,B00011111,B11111100,B01111111,B11111110, + B01111100,B00000000,B00100000,B00000001,B11110000,B00001111,B11111111,B11111100,B00111110,B01111100,B00111111,B11111100,B00011111,B11111100,B01111111,B11111100, + B01111100,B00000000,B00000000,B00000001,B11110000,B00001111,B10111111,B01111100,B01111111,B11111110,B00111111,B11111110,B00011111,B11111100,B01111111,B11111000, + B01111100,B00000000,B00000000,B00000001,B11110000,B00001111,B10111111,B01111100,B01111111,B11111110,B00111111,B11111110,B00011111,B10000000,B01111111,B11111000, + B01111100,B00000000,B00000000,B00000001,B11110000,B00001111,B10011110,B01111100,B01111111,B11111110,B00111111,B00111111,B00011111,B10000000,B01111100,B11111000, + B01111100,B00000110,B00000011,B00000001,B11110000,B00001111,B10011110,B01111100,B11111111,B11111111,B00111111,B00111111,B00011111,B11111111,B01111100,B11111100, + B01111100,B00000111,B00000111,B00000001,B11110000,B00001111,B10001100,B01111100,B11111111,B11111111,B00111111,B00011111,B10011111,B11111111,B01111100,B11111100, + B01111100,B00000111,B10001111,B00000001,B11110000,B00001111,B10000000,B01111100,B11111000,B00011111,B00111111,B00011111,B10011111,B11111111,B01111100,B01111110, + B01111100,B00000111,B11011111,B00000001,B11110000,B00001111,B10000000,B01111101,B11111000,B00011111,B10111111,B00001111,B11011111,B11111111,B01111100,B00111111, + B01111100,B00000111,B11111111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111100,B00000111,B11111111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111100,B00000111,B11111111,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111100,B00000111,B11111111,B00000001,B11110000,B00001111,B11111110,B00000011,B11110000,B00011111,B11111000,B00111111,B11111111,B10000111,B11111000,B00000000, + B01111100,B00000111,B11111111,B00000001,B11110000,B00001111,B11111111,B00000011,B11110000,B00011111,B11111110,B00111111,B11111111,B10011111,B11111110,B00000000, + B01111100,B00000111,B11111111,B00000001,B11100000,B00001111,B11111111,B10000111,B11111000,B00011111,B11111111,B00111111,B11111111,B10011111,B11111110,B00000000, + B00111100,B00001111,B11111111,B10000001,B11100000,B00001111,B11111111,B11000111,B11111000,B00011111,B11111111,B10111111,B11111111,B10111111,B11111110,B00000000, + B00111100,B00001111,B11111111,B10000001,B11100000,B00001111,B11111111,B11000111,B11111000,B00011111,B11111111,B10111111,B11111111,B10111111,B00111100,B00000000, + B00011110,B00001111,B11111111,B10000011,B11000000,B00001111,B10000111,B11001111,B11111100,B00011111,B00001111,B11000001,B11110000,B00111110,B00000000,B00000000, + B00011110,B00001111,B11111111,B10000011,B11000000,B00001111,B10000011,B11001111,B11111100,B00011111,B00000111,B11000001,B11110000,B00111111,B11000000,B00000000, + B00001111,B00001111,B11111111,B10000111,B10000000,B00001111,B10000111,B11001111,B00111100,B00011111,B00001111,B10000001,B11110000,B00111111,B11111000,B00000000, + B00001111,B00001111,B11111111,B10000111,B10000000,B00001111,B11111111,B11011111,B00111110,B00011111,B11111111,B10000001,B11110000,B00011111,B11111110,B00000000, + B00000111,B10001111,B11111111,B10001111,B00000000,B00001111,B11111111,B10011111,B00111110,B00011111,B11111111,B10000001,B11110000,B00011111,B11111110,B00000000, + B00000111,B11001111,B11111111,B10011111,B00000000,B00001111,B11111111,B00011111,B00111110,B00011111,B11111111,B00000001,B11110000,B00000111,B11111111,B00000000, + B00000011,B11101111,B11111111,B10111110,B00000000,B00001111,B11111100,B00111111,B11111111,B00011111,B11111110,B00000001,B11110000,B00000000,B01111111,B00000000, + B00000001,B11101111,B11111111,B10111100,B00000000,B00001111,B10000000,B00111111,B11111111,B00011111,B00111110,B00000001,B11110000,B00011000,B00011111,B00000000, + B00000000,B11101111,B11111111,B10111000,B00000000,B00001111,B10000000,B00111111,B11111111,B00011111,B00111111,B00000001,B11110000,B00011110,B00111111,B01111100, + B00000000,B01101111,B11111111,B10110000,B00000000,B00001111,B10000000,B01111111,B11111111,B10011111,B00111111,B00000001,B11110000,B00111111,B11111111,B01111100, + B00000000,B00101111,B11111111,B10100000,B00000000,B00001111,B10000000,B01111111,B11111111,B10011111,B00011111,B10000001,B11110000,B01111111,B11111110,B01111100, + B00000000,B00001111,B11111111,B10000000,B00000000,B00001111,B10000000,B01111100,B00001111,B10011111,B00011111,B10000001,B11110000,B00111111,B11111110,B01111100, + B00000000,B00001111,B11111111,B10000000,B00000000,B00001111,B10000000,B11111100,B00001111,B11011111,B00001111,B11000001,B11110000,B00001111,B11111000,B01111100, + B00000000,B00000111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000011,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Malyan/M150/README.md b/config/examples/Malyan/M150/README.md new file mode 100644 index 00000000000..3a5026a4bd1 --- /dev/null +++ b/config/examples/Malyan/M150/README.md @@ -0,0 +1,55 @@ +# Configuration for Malyan M150 HobbyKing printer + +Config without automatic bed level sensor, or in other words, "as stock" + +## To install: + +1. Install [Arduino](https://www.arduino.cc/en/Main/Software) + +1. Install U8glib + * `Sketch` -> `Include Library` -> `Manage Libraries...` + * Search for and install `U8glib` by oliver + +1. Install Sanguino + * `File` -> `Preferences` + * Add + `https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json` + to `Additional Boards Manager URLs` + +1. Modify Sanguino `boards.txt` + * Close Arduino + * Locate Arduino15 folder + - `C:\Users\\AppData\Local\Arduino15` for Windows + - `~/.arduino15` for Linux + + * Locate `boards.txt` in `packages/Sanguino/hardware/avr/1.0.2` + (version number may change) + * Add the following to the end of `boards.txt` + (note that it is the same as sanguino.menu.cpu.atmega1284p but with + a different name and upload speed) + + ## Malyan M150 W/ ATmega1284P 16MHz + sanguino.menu.cpu.malyan_m150=Malyan M150 + sanguino.menu.cpu.malyan_m150.upload.maximum_size=130048 + sanguino.menu.cpu.malyan_m150.upload.maximum_data_size=16384 + sanguino.menu.cpu.malyan_m150.upload.speed=57600 + sanguino.menu.cpu.malyan_m150.bootloader.file=optiboot/optiboot_atmega1284p.hex + sanguino.menu.cpu.malyan_m150.build.mcu=atmega1284p + sanguino.menu.cpu.malyan_m150.build.f_cpu=16000000L + +1. Configure Marlin + * Copy `_Bootscreen.h`, `Configuration.h`, and `Configuration_adv.h` + from `config/examples/Malyan/M150` to `Marlin` + (overwrite files) + * Read `Configuration.h` and make any necessary changes + +1. Flash Marlin + * Turn on printer while pressing scroll wheel button + * Plug printer in to computer with USB cable + * Open `Marlin/Marlin.ino` with Arduino + * Configure Arduino + - `Tools` -> `Board` -> `Sanguino` + - `Tools` -> `Processor` -> `Malyan M150` + - `Tools` -> `Port` -> Select your port + + * `Sketch` -> `Upload` or click arrow in top right corner diff --git a/config/examples/Malyan/M150/_Bootscreen.h b/config/examples/Malyan/M150/_Bootscreen.h new file mode 100644 index 00000000000..70ec17abb21 --- /dev/null +++ b/config/examples/Malyan/M150/_Bootscreen.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Custom Boot Screen bitmap + * + * Place this file in the root with your configuration files + * and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h. + * + * Use the Marlin Bitmap Converter to make your own: + * https://marlinfw.org/tools/u8glib/converter.html + */ + +#define CUSTOM_BOOTSCREEN_TIMEOUT 1000 +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000111,B00000000,B00000000,B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00011111,B11000000,B00000000,B00001111,B11100000,B01111100,B00000011,B11100000,B01111000,B00011100,B00000111,B10000001,B11100000,B11110000,B00111110,B00001110, + B01111111,B11100000,B00000000,B00111111,B11110000,B01111110,B00000111,B11100000,B11111100,B00011100,B00000011,B10000001,B11000001,B11111000,B00111111,B00001110, + B01111111,B11111000,B00000000,B01111111,B11110000,B01111110,B00000111,B11100000,B11111100,B00011100,B00000011,B11000011,B11000001,B11111000,B00111111,B00001110, + B01111011,B11111110,B00000001,B11111110,B11110000,B01111111,B00001111,B11100001,B11111110,B00011100,B00000001,B11000011,B10000011,B11111100,B00111111,B10001110, + B01111100,B11111111,B10000111,B11111001,B11110000,B01110111,B00001110,B11100001,B11111110,B00011100,B00000001,B11100111,B10000011,B11111100,B00111011,B10001110, + B01111111,B01111111,B11001111,B11110111,B11110000,B01110111,B10011110,B11100001,B11001110,B00011100,B00000000,B11100111,B00000011,B10011100,B00111011,B11001110, + B01111111,B10011111,B11111111,B11001111,B11110000,B01110011,B10011100,B11100011,B11001111,B00011100,B00000000,B11111111,B00000111,B10011110,B00111001,B11001110, + B01111111,B11100111,B11111111,B00111111,B11110000,B01110011,B11111100,B11100011,B10000111,B00011100,B00000000,B01111110,B00000111,B00001110,B00111001,B11101110, + B01111111,B11111011,B11111110,B11111111,B11110000,B01110001,B11111000,B11100011,B10000111,B00011100,B00000000,B01111110,B00001111,B00001111,B00111000,B11101110, + B01111111,B11111100,B11111001,B11111111,B11110000,B01110001,B11111000,B11100111,B11111111,B10011100,B00000000,B00111100,B00001111,B11111111,B00111000,B11111110, + B01111111,B11111111,B00100111,B11111111,B11110000,B01110000,B11110000,B11100111,B11111111,B10011100,B00000000,B00111100,B00001111,B11111111,B00111000,B01111110, + B01111111,B11111111,B11011111,B11111111,B11110000,B01110000,B11110000,B11101111,B11111111,B11011100,B00000000,B00111100,B00011111,B11111111,B10111000,B01111110, + B01111111,B11011111,B11111111,B11011111,B11110000,B01110000,B01100000,B11101111,B00000011,B11011111,B11111000,B00111100,B00011110,B00000111,B10111000,B00111110, + B01111111,B11000111,B11111111,B00011111,B11110000,B01110000,B01100000,B11101110,B00000001,B11011111,B11111000,B00111100,B00011100,B00000011,B10111000,B00111110, + B01111111,B11000011,B11111110,B00011111,B11110000,B01110000,B00000000,B11101110,B00000001,B11011111,B11111000,B00111100,B00011100,B00000011,B10111000,B00011110, + B01111111,B11000011,B11111110,B00011111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B11000011,B11011110,B00011111,B11110000,B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110, + B01111111,B11000011,B11011110,B00011111,B11110000,B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110, + B01111111,B11000011,B11011110,B00011111,B11110000,B01111100,B00111111,B11111010,B11111011,B11111111,B11111111,B11111111,B11111101,B01111010,B10111111,B11111110, + B01111111,B11000011,B11011110,B00011111,B11110000,B01111101,B10011111,B11111011,B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110111,B11111110, + B01111111,B11000011,B11011110,B00011111,B11110000,B01111101,B10010011,B00011010,B10001010,B00011000,B11100011,B10001100,B01000101,B00011010,B10100010,B11011110, + B00111111,B11000011,B11011110,B00001111,B11110000,B01111100,B00101101,B11001010,B11001010,B11010110,B11101001,B00100100,B11001101,B01101010,B10110110,B10111110, + B00011111,B10000011,B11011110,B00000111,B11100000,B01111101,B10100011,B01101010,B10011010,B11010110,B11101001,B00100110,B01100101,B01101010,B10110110,B00111110, + B00000110,B00000011,B11011110,B00000001,B10000000,B01111101,B10010001,B00001010,B10001010,B11011000,B11100011,B10001100,B01000101,B00011010,B10110011,B01111110, + B00000000,B00000011,B11011110,B00000000,B00000000,B01111111,B11111111,B11111111,B11111111,B11111110,B11101111,B11111111,B11111111,B11111111,B11111111,B01111110, + B00000000,B00000011,B11011110,B00000000,B00000000,B01111111,B11111111,B11111111,B11111111,B11110001,B11101111,B11111111,B11111111,B11111111,B11111110,B11111110, + B00000000,B00000011,B11011110,B00000000,B00000000,B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110, + B00000000,B00000011,B11011110,B00000000,B00000000,B01111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110, + B00000000,B00000011,B11011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000001,B11011100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B01010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, +}; diff --git a/config/examples/Malyan/M200/README.md b/config/examples/Malyan/M200/README.md new file mode 100644 index 00000000000..8129650dc74 --- /dev/null +++ b/config/examples/Malyan/M200/README.md @@ -0,0 +1,33 @@ +### Malyan M200 Build Instructions + +Malyan M200 series firmware currently builds using the Arduino IDE. These instructions should +guide you through the configuration and compilation. + +1. Install the Arduino IDE from your favorite source (arduino.cc, windows store, app store) +2. Launch the IDE to add the ST boards manager: + - Open the **Preferences** dialog. + - Add this link in the "*Additional Boards Managers URLs*" field: + https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json + - Select "**Show verbose ouptut during: compilation**." +3. Select **Tools** > **Board** > **Boards Manager**. +4. Type "Malyan" into the Search field. +5. The only board listed will be "**STM32 Cores by STMicroelectronics**." Any version from 1.6.0 up is fine. Choose install. This will download many tools and packages, be patient. +6. Open the **Tools** > **Board** submenu, scroll all the way down, and select **3D Printer Boards**. +7. From the **Tools** menu, select a board part number: + - If you own a M200 V1 or early run (black V2), choose **Malyan M200 V1**. + - If you own a M200 V2 later run (white/black) or V3 (Pro), choose **Malyan M200 V2** (The V2 and V3 both share an STM32F070 MCU). Note that the V3 pinout is not complete (autolevel doesn't work as of this writing). +8. From the **Tools** menu, choose **USB Support** > **CDC No Generic Serial**. +9. Download the latest Marlin source (from the [bugfix-2.0.x](https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x) branch) and unzip it. +10. Look in the `Marlin` subdirectory for the `Configuration.h` and `Configuration_adv.h` files. Replace these files with the configurations in the `config\examples\Malyan\M200` folder. +11. If you have an early-run V2, the steps-per-mm are roughly half. Consult the [mpminipro.com wiki](https://mpminipro.com/) for the steps that apply to your unit. Modify `Configuration.h`. +12. Inverting Axis. There's no pattern to axes will need to be inverted. The only way to know is to test your particular printer. If you *do* know, go ahead and invert the correct axes. +13. Open the `Marlin/Marlin.ino` file in Arduino IDE. +14. From the **Sketch** menu, select **File** > **Export Compiled Binary**. +15. When compilation is done you've built the firmware. The next stage is to flash it to the board. To do this look for a line like this: `"path/to/bin/arm-none-eabi-objcopy" -O binary "/path/to/Marlin.ino.elf" "/path/to/Marlin.ino.bin"` + The file `Marlin.ino.bin` is your firmware binary. M200 (v1-3) and M300 printers require flashing via SD card. Use the SD card that came with the printer if possible. The bootloader is very picky about SD cards. Copy `Marlin.ino.bin` to your SD card under three names: `firmware.bin`, `update.bin`, and `fcupdate.flg`. +16. Insert the SD card into your printer. Make sure the X and Y axes are centered in the middle of the bed. (When X and Y endstops are closed this signals a UI upgrade to the bootloader.) +17. Power-cycle the printer. The first flash may take longer. Don't be surprised if the .99 version number doesn't show up until after the UI has launched the default screen. +18. Remove the SD card and delete the `fcupdate.flg` file from the card to prevent an accidental re-flash. +19. Test the endstops and homing directions, run M303 PID autotune, and verify all features are working correctly. + +Welcome to Marlin 2.x... diff --git a/config/examples/Micromake/C1/basic/README.md b/config/examples/Micromake/C1/basic/README.md new file mode 100644 index 00000000000..0111f6f00a0 --- /dev/null +++ b/config/examples/Micromake/C1/basic/README.md @@ -0,0 +1,15 @@ +# Micromake C1 + +### In the folder "basic" +Configuration files for Micromake C1 without mods + - English LCD 2X16 Characters + - Motors 16 STEPS + - No heated bed + - No probe, etc. + - Like a standard C1 as shipped by Micromake. + +### In the folder "enhanced" +Configuration files for Micromake C1 with… + - 128 STEPS configured with jumper on the motherboard (all open for 128 Steps). + - Capacitive Probe (Adjust offsets at your convenience) + - French language with no accents for Japanese LCD. diff --git a/config/examples/Micromake/C1/enhanced/README.md b/config/examples/Micromake/C1/enhanced/README.md new file mode 100644 index 00000000000..0111f6f00a0 --- /dev/null +++ b/config/examples/Micromake/C1/enhanced/README.md @@ -0,0 +1,15 @@ +# Micromake C1 + +### In the folder "basic" +Configuration files for Micromake C1 without mods + - English LCD 2X16 Characters + - Motors 16 STEPS + - No heated bed + - No probe, etc. + - Like a standard C1 as shipped by Micromake. + +### In the folder "enhanced" +Configuration files for Micromake C1 with… + - 128 STEPS configured with jumper on the motherboard (all open for 128 Steps). + - Capacitive Probe (Adjust offsets at your convenience) + - French language with no accents for Japanese LCD. diff --git a/config/examples/Mks/Robin_Lite3/README.md b/config/examples/Mks/Robin_Lite3/README.md new file mode 100644 index 00000000000..b61ce7bbbb0 --- /dev/null +++ b/config/examples/Mks/Robin_Lite3/README.md @@ -0,0 +1,9 @@ +# MKS Robin Lite3 + +The [MKS Robin Lite3](https://www.aliexpress.com/item/4000295949948.html) is a powerful 32-bit 3D printer control board with: +- STM32F103RCT6 processor +- Supports MKS LCD12864B/MINI12864/LCD2004/12864 and MKS TFT Touch Screens. +- Integrated 5 AXIS interface +- BLTOUCH interface +- hot bed, 2 heating heads, 3 NTC100K +- Firmware updating via LCD screen SD card diff --git a/config/examples/Mks/Robin_Pro/README.md b/config/examples/Mks/Robin_Pro/README.md new file mode 100644 index 00000000000..92ffa06c18b --- /dev/null +++ b/config/examples/Mks/Robin_Pro/README.md @@ -0,0 +1,11 @@ +# MKS Robin Pro + +The [MKS Robin Pro](https://www.aliexpress.com/item/4000444286159.html) is a powerful 32-bit 3D printer control board with: +- STM32F103ZET6 processor +- 6 AXIS interface +- BLTOUCH interface +- hot bed, 3 heating heads, 4 NTC100K, 2 MAX31855 +- integrated SPI / UART interface +- LCD2004/12864 LCDs +- MKS Robin TFT24/28/32 TFTs +- MKS TMC2130/TMC2208 V2.0 support diff --git a/config/examples/Mks/Sbase/README.md b/config/examples/Mks/Sbase/README.md new file mode 100644 index 00000000000..2a52983f890 --- /dev/null +++ b/config/examples/Mks/Sbase/README.md @@ -0,0 +1,38 @@ +# MKS SBase + +MKS products (all?) have the EXP1 & EXP2 LCD connectors rotated 180 degrees from the ones on the RepRap LCD controllers. + +In order to attach the RepRap Discount Full Graphic Smart Controller you'll need to do something like one of the following for both EXP1 & EXP2: + +- On one end only, shave the keying plug off the cables and plug the cables in backwards. +- On one end only, carefully pry the housings off the board, rotate them 180 degrees and press them back onto the pins. +- Make custom cables where one connector is rotated 180 degrees. + +``` + MKS: 1 2 3 4 5 6 7 8 9 10 +RepRap: 10 9 8 7 6 5 4 3 2 1 +``` + +## 3 DEC 2017 + +The current Marlin 2.0.x firmware cannot properly access some of the pins on the EXP2 connector. In order to use the RepRap Discount Full Graphic Smart Controller you'll need a custom cable that gets three of the signals from a different connector. In that cable move the pin/wire that: + +``` +used to go to P0.8 to J8-3 +" " " " P0.7 to J8-2 +" " " " P0.5 to J8-4 +``` + +If pins different than the J8 ones above are used then the spi_pins.h file will need to be modified. + +An octopus cable something like the Adafruit 1199 will simply the construction of the custom cable. Just plug the Adafruit 1199 into one of the cables that came with the LCD and the individual pins into J8 and EXP2 as needed. + +[Adafruit 10-pin IDC Socket Rainbow Breakout Cable 1199](https://www.adafruit.com/product/1199) + +## 27 APR 2018 + +If you also want a functional `SD_DETECT_PIN` then you'll need to also move the following pin: + + used to go to P0.27 to J8-5 + +if you decide to use a different pin then the `pins_MKS_SBASE.h` file will need to be modified. diff --git a/config/examples/Modix/Big60/_Bootscreen.h b/config/examples/Modix/Big60/_Bootscreen.h new file mode 100644 index 00000000000..4c6dce0d11c --- /dev/null +++ b/config/examples/Modix/Big60/_Bootscreen.h @@ -0,0 +1,91 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 + +const unsigned char custom_start_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01110001,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111100,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000,B00000000,B10000111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00001100,B00000000,B10000011,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00001100,B00000000,B10000001,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00001100,B00000110,B00000000,B10000000,B11100011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00011000,B00000110,B00000000,B10000000,B01101111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00011100,B00111000,B00000010,B00000000,B10000000,B00111100,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00011111,B00110000,B00000011,B00000000,B11000000,B00111100,B01100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B01110111,B10110000,B00000010,B11111111,B01100000,B00111100,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B11100000,B11111000,B00000110,B11111111,B10110000,B00111100,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B11000000,B11011000,B00001101,B10000001,B10011000,B00011100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000011,B10000000,B11011000,B00001001,B10000000,B11011100,B11111100,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000010,B00000000,B11011000,B00011011,B00000000,B01101111,B11100100,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000010,B00000000,B11011111,B11111011,B00000000,B00110111,B00000110,B00001100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000110,B00000000,B11100111,B11110110,B00000000,B00011000,B00000011,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000110,B00000000,B11100000,B00001110,B00000000,B00011000,B00001111,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000110,B00000000,B11000000,B00101110,B00000000,B00011011,B11111111,B11000110,B00000000,B00000000,B00000000,B00000000,B00000000, + B00111111,B11111100,B00011111,B11110110,B01111101,B10000001,B11100110,B00000000,B00011011,B11000111,B11000110,B00000000,B00000000,B00000000,B00000000,B00000000, + B01111111,B11111110,B00111111,B11111111,B00011111,B10001111,B11000011,B11111111,B11111111,B11111111,B11111100,B00011111,B11111111,B00111000,B00000011,B11000000, + B11111111,B11111111,B11111111,B11111111,B10001111,B00011111,B11000111,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B00111100,B00000011,B11100000, + B00010000,B00001111,B11110000,B00001111,B10001111,B11111111,B10000011,B11111111,B11110111,B11111111,B11111000,B11111111,B11111100,B00111100,B00000011,B11100000, + B00000000,B00001111,B11110000,B00000111,B11111111,B11111111,B00000001,B10011110,B00100111,B11111100,B11000010,B11111000,B00000000,B00111110,B00000011,B11100000, + B00001111,B11111111,B11110000,B00000011,B11011111,B11111110,B00000001,B11001110,B01101100,B11111100,B01000111,B11111000,B00000000,B00111111,B11111111,B11100000, + B00011111,B11111111,B11110000,B00000011,B11000011,B11111100,B00000000,B11111111,B11001100,B11111111,B11111111,B11110000,B00000000,B00111111,B11111111,B11100000, + B00011111,B11111111,B11110000,B00000011,B11000011,B11111100,B00000000,B00001110,B00011100,B11111111,B11111001,B11100000,B00000000,B00111111,B11111111,B11100000, + B00000000,B00001111,B11110000,B00001111,B11000111,B11111100,B00000000,B00001110,B00011100,B11111111,B11110001,B11100000,B00000000,B00111111,B11111111,B11100000, + B00000000,B00001111,B11111000,B00001111,B10000111,B11111110,B00000000,B00001110,B00001100,B11111000,B11110000,B11110000,B00000000,B00111100,B00000011,B11100000, + B01111111,B11111111,B11111111,B11111111,B10111111,B10001111,B00000000,B00111111,B11100110,B11111000,B11100000,B11111100,B00000000,B00111100,B00000011,B11100000, + B01111111,B11111111,B11111111,B11111111,B11111111,B00000111,B11000000,B11111111,B11100111,B11111111,B11111100,B11111111,B11111111,B00111100,B00000011,B11100000, + B11111111,B11111111,B11111111,B11111111,B11111110,B00000011,B11100000,B10001110,B00110011,B11111111,B11111100,B00011111,B11111111,B00111100,B00000011,B11100000, + B01111111,B11111100,B00111111,B11110000,B00111100,B00000001,B11110001,B10011110,B00110001,B11111111,B11111001,B00001111,B11111110,B00111100,B00000011,B11000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00011001,B11111111,B11000001,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00001100,B11100000,B11000001,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00000000,B00001100,B00000000,B01000010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00000000,B00000110,B00000001,B01100010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001100,B00000000,B00000110,B00111111,B01100010,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00111000,B00001110,B00000000,B00001101,B11111101,B11101110,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11100110,B00000000,B00011001,B10000001,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11101111,B11110111,B00000000,B00011011,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B11000000,B00110011,B00000000,B00110011,B00000001,B11001000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B10000000,B00011011,B00000000,B00110110,B00000001,B10011000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000001,B10000000,B00001101,B11111111,B11101100,B00000001,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000001,B00000000,B00001110,B11111111,B11011000,B00000001,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000001,B11110001,B10000000,B00000110,B01100000,B00111000,B00000111,B10100000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000001,B11111101,B10000000,B00000011,B00000000,B00011000,B00000101,B01000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000001,B10001111,B11000000,B00000110,B11111111,B11011100,B00001010,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B10000001,B11100000,B00001100,B11111111,B11001100,B00011111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B10000001,B11110000,B00001101,B10000000,B01101100,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B01000000,B11111110,B00011011,B00000000,B01100111,B10001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00100000,B01111111,B11110110,B00000000,B00100000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00010000,B00110000,B01101110,B00000000,B00111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000100,B00110000,B00001110,B00000000,B11111111,B10100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000011,B00110000,B00000110,B00000000,B11100001,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000001,B11110000,B00000011,B00000011,B11100010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B10001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, +}; diff --git a/config/examples/Modix/Big60/_Statusscreen.h b/config/examples/Modix/Big60/_Statusscreen.h new file mode 100644 index 00000000000..232a73f01bf --- /dev/null +++ b/config/examples/Modix/Big60/_Statusscreen.h @@ -0,0 +1,60 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define STATUS_LOGO_Y 1 +#define STATUS_LOGO_WIDTH 32 + +const unsigned char status_logo_bmp[] PROGMEM = { + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000000,B00000000,B00010000,B00000000, + B00000000,B00000000,B00000110,B00000000, + B00000000,B00000000,B00000000,B00000000, + B00000001,B00000000,B00000000,B00000000, + B00001000,B00000000,B00000001,B00000000, + B00000001,B00000000,B01000001,B00000000, + B00000001,B00000000,B00000010,B00000000, + B00000000,B11100000,B00000000,B00000000, + B10000000,B00001000,B00010000,B10000000, + B00000100,B00000000,B00000000,B01000000, + B00001000,B00000000,B00001000,B00000000, + B00010000,B00000100,B00000000,B00000000, + B00000000,B00000000,B00000000,B00110000, + B00000000,B00000000,B00000000,B00100000, + B00000000,B00000001,B11101000,B00100000, + B00000000,B00000000,B00000000,B01100000, + B00000000,B00000000,B00000010,B00000000, + B00000000,B00001000,B00000000,B00000000, + B00000000,B00000000,B00000001,B00100000, + B00000010,B11101000,B00010000,B01100000, + B00000000,B00000000,B00000000,B01000000, + B00000000,B00000011,B11000000,B01100000, + B01100100,B00000000,B00010000,B00000000, + B00000100,B00000011,B11000000,B00000000, + B00000010,B00000000,B00100000,B00000000, + B00000000,B00101000,B00000000,B00000000, + B00000000,B00001000,B00100000,B00000000, + B00000000,B00000000,B01000000,B00000000, + B00000000,B00000000,B00000000,B00000000 +}; diff --git a/config/examples/Nextion/HMI/Marlin4Nextion.HMI.zip b/config/examples/Nextion/HMI/Marlin4Nextion.HMI.zip new file mode 100644 index 0000000000000000000000000000000000000000..c2157d010269dd68eb7824583e5b92239a6426a2 GIT binary patch literal 10681280 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico1.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2c43da314b1524e9448c77fa25fad845c365fbf GIT binary patch literal 3206 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico2.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0be90fa9bd943b3b4e59a1f4c04bcc34ad5aa666 GIT binary patch literal 3399 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 literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico4.jpg b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/3.zico4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3691d68c24479271fbdcdc55d742abe6f85117d GIT binary patch literal 1951 zcmbu4X*k=77RLXHC9zAW)*3@?BVsqCN^6N5LG6MWTP-EDl-NSr(Yjr%Rf$Te)?Q+% zed}0C`=BGLwHs>RGL($i8NDCwhkHNHdp@1_eb4WC>0cS3uYjgT(+K5D4%(8{l*j zF#W#$BYlVbBf$6L(+&Uz1$Y562M7j$VIU3|=(HP<0st@vzySjOD=uyhP6z;o@}8wC z!e=Q60C9rB0OUUn4o)x^HwXfQi--c}#N?rJ7ZsGWbla8v)t#kd$GyM_H z9(lTx|8n9>6-{w{4Q!pjuY{J`FSaGtEo?`xAuiYkmZPGmjjjjf3HlWck+hEARQka^ zV!W-3??#nH{>N-=;H6vvVoGeXeOC{OONDZXV+VDUizV|R$DS!QQ4MJEDUBTrxyp1w z(xE7)>ZR>BG2?go))sOF+OJjP*B3QiXeGXsj?9*!GSp`wjX}tVnA*y}hVtrFb2w4Tk&THXffxR$m5c>H8) z-H%{hq6T*Lx*Q{12>>bu=?`WTrlmS#?l3_eOz3=42hlsklN!$X*wV-xe^pEgz;Ab7y8lM97>Q zdk}Stn-R>(LA)v#apG4ENoJ)_TeRQiTJ0FlJy$T%wZQt2&3DsT3hvx};}yNKtRP!b z-UPbiA+p7GCA?1xEFq>VFJ4u%cdcN+eFZ4z06Bip#-%CNfjJ!-@QLa7w_s(Xo3K`h^ z#%7i6b291kxEf2o8?d_?c2enHuR9-F735%*U%)f1#c^#&KV?S7GKtYKnQS z)72Vlz-k>Ld6DQCt3Ots8*>|pXGCJue-N~}y>NX+#$g?a$?BU;f;^-Bs|LxVYB=8h!6i@+WuFR@;o7w?6$?4pJQGyyw_V)bdYL# zFDJgDoOOO(lVQrSsMMo>xVR>fs<*LBi_OCkjN)h1_a!T1jYf@TLe^?K8`g~{kB{r1 z?^O|5GrQ(cfjp{anm#NBJ@*ImBo#F=Zh$B)x>H}0eLc^lwpZeXi^7UMBhSA5X%^i5 zgkqo)DvYR#H*t4Q3cTmkJAr2;W~Gy_h12^N4#{c*ilgmc-tHb#I2G`_u}A$-FQq2i zFFoQ7qBJAZ~r&R+7gUUTj4@@H~$< zDzcR=s3;d&=0%LPD)N(~=NkCBr#}rC?)z|G;K#0Reogge{nj<0CFqYtz^8wDm>V4C zR?_F=Cht2qH-EcwNRVGDdB5{&lW@8}2fKSKXU+qcv56KVs8zW9qFxo?CA24rb2&z7 zsk1*%t~`$2+=d&kSlOp1I-CLqQ0%~UW(n#q>CoLMrEO;uNMo&z_||1E2VvDe;YxJ3 zqDYrY9e5%X_2fwCbo_7nH%s3D literal 0 HcmV?d00001 diff --git a/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico b/config/examples/Creality/Ender-3 V2/LCD Files/private/icon/4.zico new file mode 100644 index 0000000000000000000000000000000000000000..2e9f388b0bac1ffe921ea518b26c74c7dd9442e8 GIT binary patch literal 15068 zcmXY&WmMeU*Y?q3#fleq3dKsH_&|Z;#a)ZLySuv-XRrdr-3Az3ibHW3+}&lEdHa9f zJNdGIC+8$P**Vu*XXT2ntb`H*BEr875g`bH<$nRfIO_ih5rGSV;s4?$Bm@Mc|2PO8 z0RiV9Bmc(#$Z4|I7UN2!1|AG*bor-{~dq(-*`4I z1O$zL*T?>kgLn`SME)_(f851~fDrXBU)=v#iXQ$bopUtD@J>fB;kCaQYZBWhoVn$=HJEdiSg-5=uJ zHD%O*Zgh56TcSMNRznr}jRDqXv3r3UNM5Wgh>Z}$7e!IaNou_?ltWPiRT59FcYd^0dJDo5KK2}8&vuMyQ%pPF- zNC_92KOs2y{`oq^B0-w!zfuY~s)ClUAAODeYXx$X%_xy;ITCTF+wY{W{=CVzT6*WA z365F~IwaF;=wTQ74hwGnxi<6T`L;{dh`hGnL1yo@d~$o+v5cqE;@KW0GW-;Lu?he7 zoM7m$$(+pG(RAcd)iVf@smn19}9EAG&b z@MhesPWjpK)&RQ9*fdnn7_@rwj4Rf}U45cIxf_`bm=b@SC!MGtWtSbT>bGG8cUPEw z9VF$>nKl(jhz~uPou&%{f9132_F{OCk@8(t1hYVB# zb=pnp(VPynRR(;vw>@9r(_2UNak9u00k2Sl(T0n?FFOt_7k}kW*ks>EQ#N`VLw<7v z_vBPV=8DrP2I0e5P-G`*>%B^Cq<{dacCG6xqvt0r&$LN>4Tv>obV|IAG|G(@&m)`l zTbKA*%Ra0$6ev_;w1KO$k|mIVH`!|y)jrv^frip8<=3_tip@}&pW-qjy-P$5;a)9W zG-QTtmQKECawAO(6QeU6Y-y!KM8w1SmNx$WFKUmY z+DXB6Z9MU(UlTSYwaS#^0__d~iGkJ2X0K6d@gXWd_m&E(N6EI=`@wQ(QE*32I6k`L z9Q}>VJ!Mg)G%;W@kPtpH=2-JK1h5ZHG<