NARUTOfzr / Neptune_3_Pro_Plus_Max

Firmware file
180 stars 22 forks source link

Add support for displaying base64 thumbnails #75

Open martin-badin opened 9 months ago

martin-badin commented 9 months ago

Hello. Is it possible to add support for displaying base64 thumbnails generated by PrusaSlicer? Below is an example of gcode.

; generated by PrusaSlicer 2.6.1+MacOS-x64 on 2023-09-12 at 18:51:02 UTC

;
; thumbnail begin 16x16 536
; iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVR4AY2TsUoDQRCG911sJIXRSI
; pcmkspCGK5oI2B2IhyIiJokUKRHIJoVkyjCZxV9LSSE0kQbC3EN7hHuDcY7z+ZZc1t9Iofbm93vv1n
; Zkf4vv/lui7ZFIbhKAiC97/2BQCTkNO2S59vDbq62I09z4uxL6VMzDP4Dwle8KH7fiMLZgGG/3DCQf
; yNWMFEHBreVH9u9ss0UBXqdyvZGtCjA5lwShysAUw9OSzR9dk8jR7r9DJ0fjmBBj2Z5ByY9gFgAYKg
; 8VOdXh8cur1cyNbdTi1zy7UTZgFNAISUxinorreYAtKUUu20ZnQhlVIfUx2wOCUOhtiB7gJX2QaA2v
; uzOhia2oWiAPNN5LpQBMD2dRd4sbFeLQTAWd0F3GxaWl1xaG+r/C+AIWLyYXBK6rwV2wDNtRKZMboL
; bMlMCW5MQOe4mRsuYU5YFEXPtvHd3pyj5aWadby/AZeFKKT41xFVAAAAAElFTkSuQmCC
; thumbnail end
;

;
; thumbnail begin 220x124 5200
; iVBORw0KGgoAAAANSUhEUgAAANwAAAB8CAYAAAACRt5vAAAPAklEQVR4Ae1dTY8exRGuv4IN2NgC/C
; EiGV+cY6RIEeIQWUqkyHZM4hh/EAeIF5uNjPGH8gFmA1iEXRTnkICXnJyNEqNIUThxiHzNyT/B/2Cy
; tdDQDDM9Xd1V3VX9zuGRLO/MdFf1PPVUV3fPC4cOHeq04tatW/8+e/bs/djr8Vq8R5MNufYfPnz4wW
; x/O/aD5s4hrl+/fg8R42y8jjJA2oG2UOynBCdL9sfYZcV+0N5B58yxaEcZFKsIBRPnm9l+G/aDhU4i
; hoi1CC/blP2tqXrI/v5YO/ut2IAAKx3tO7nFFCrW/pWVlc9aV/UxoN1ov9VAC1Y66oBOXl9fv7uoL5
; yzf1GUfcj+jY2NO9SCihaAlY46Z/spxCKlVM5en2SxBZUW7bc6dwcLnRzK32P+ZgFXlg91H619uzv2
; o/FrQnPVUEGpFUzZbynogvYOxrxQlPK5FiDBkGj//ddXQPIN2T/1QrVcqY2Zq1uyHzR3jupEK9EOie
; UTzQeSEK9JeYlaSrFTKtAW7AeNncop92uPdiGy+fj4wzQbWlC7HOJon2KAtg5xlfu1RbtYok2lmLFw
; KbYlteMKFpqnGKClIzmqFnK8hmiXQjY/xQwVVGJ8aoF0EuOvMcUEDZ2QdkytaDdUGElFqtpZSDG5sh
; oL9kPNxks6o3S0z1E1KbXTFu0lVE27/VCr4ZLOdihFcAmytaZ2NQigYYoBNRqVTCFqDrY00fpqp83+
; GGggfc2CCpQ0vIaqlRr4kmTjSDFrRHtN41+joIRtQqlop3VRMrd8XoNoXCmmb7+0n2tnNUMopbZ+O+
; D+QyryWNjrmBrtapDtb38+wK52ktFek6qF+iglBn37wf8jd7Sz4GwHSrSLKfff/fhgUcLlqp1EtNeo
; arXth6GLOKKdJWf3+x2KdrGq9tHqt0QIt3pj73Tba3ULKpYCbR8cO3RC9sPQDTlst+zsKfspKeSVC7
; vZybb21r4owjnUKKjUKEZIjH+qDVMBC3JuHrreMtHG7E/aB7lJuNuMKrfxlwPd6ee2kwiXk2IiqFOM
; lo4IUfdjxooUcDyoBVUbwwfvHn6QQhAk3NWLu1lSSyTbmU2yIeHw39T7pQsqLY9/jOhQ7IfYhsdyW6
; 3lfg48872nuw/ffyqJJI5wr7+yq3vn108mF1FWb+zrTh/fnkW4XLULBd3Wshpp+4HSsB/tWj5l7ICE
; u7yEhNlDfrkxnXSEe+38Y92vXt7ZvXX1ie4ft5+Ouv8Pb+ztTh7b1p368TY2wnGonQuuLauapP1AbR
; Qbw69GIVp3tiOcA0Wlhgj36os7uwvndnSv/HxH9+brj3dvXH68+9M7+7tbb+/v/vj7/d21V3d3z28S
; DIl24shD3yDclQu7ssjmI6eg4r6a1mJWQ7E/5X6g3uAktOVU0qFPOAQlxcT52xjhEOfPPtr98syj3U
; unHunOnXy4e+HEw0HC5arbkNpRXzaX1XCUz63BV7XUNWtIaWxoAGo5QRJDhHMpZqza3fzNHhbC4ZIA
; J9moKebY+C9KWjlUPEpZAoHYxkLRrFW1GyMcVe2waJJDuLUbMmTzESqohAoD1PK5RYREhSo6EPoj5W
; EtRrsTzz37IEQ4SkHln+sHt4omFMK9/+bejotQKWpHKQy0GHQl7AeOxny0Eu3Q7vduXr43RThqQQWr
; lAhXNHGEu768e6toggvb1MVtCbVzLxDFZy1NMVKWO2LsB67G+vdb3d7jO20qpcwpqGjHf/6et5fQqt
; pxLHeECkrA3djQi8vljNLOphKOWlCxAEsHXDnGnytQjIkO9BvTbIS0s/svRwrhWlQ7CwdccyAlDkPP
; BU5VCzWsNdqF7M8hXGtq1+r3MUu8/77oQElHaIt2U+qbS7hZ7b6CxilGbq0ixX4o0VjfyNrRLnbwuQ
; hHWT6goNapcuvfxyyhamOA0g1SXvjazuYknESKKXWqfIpwDjkFlZrjXzPLgloN+8aXinbUFIKbcNwp
; JhLutgDpcP9n7LVWfnBESx0BajbuHCEd7VJTCCnCcakdEu7aRd5POeCezVPHt9H6saa7oKKpaAO1O+
; A7RSLa5UyMJQnHoXaOcDd/u6f7hCFVRbKd+cl2MuFy1U4y6Gor1ICWjjjHc8k+x8S4BOFyCiqOcHi6
; HJ+To5i4QRqPAOUQDp/x3e8cyBoz7oVnbUtRoKkzCI7d51wpRCnCOVAJ88lfD36NcJfOP9atXHtia6
; N0zP1YHMEN0s97Z+6QcCkHXde++BREDuH88c/dWqh1hwto7FQOaThTiNKES0kx+4Rbfmlnd/EXO7ZO
; JXx5qvzdz0+VIz5Y2bd1Eh1J9rOjD22hTzjKQdetr4lt3uuQSzh//Klqp1XVfIDWjiEo0U7C2TUI51
; LMWLXDKuUY4fAI0NILnx8Devn0I1unEvAI0Nmfbh8l3FWCujlVkyCcG//WjgeB5s7FOlMqhahFOKra
; 4VyOi3Cx6nZlc+mgTzZuwjmEphjWNsmDhU46x/ajnXQKUZtwFLVDcuYQLvZU+ZCqSRPOH+uhTxxYOp
; EAVjrq4KJdiRRCA+EcYkiH12DRhEq42AOvU2STJBzCVzPNhZEQwEpHfaevrq5+WmIhUxPhnNrFzq/8
; U+V9wmHRBEkWu4UrhmglCIdAkm1sbNyxesAZrHTUOdulECVyd22Eo6SYXKCQTZpw/j5Iq9/QASsdHU
; shJFNLjYRzkD7yg8WTscJIacKFyGXtGzqgvYMxE2MptdNMOEm1o6qaJOFixl/TXskpgObOUY9ScO8+
; 1044CbXLIRs34SiFESvLA6CxUzn5ec6P6fVhhXBO7WoSjZNwOeV+7QvgoK1DHGsrXF8DtkQ4h5QUk4
; tsHITjKPdrVjvQ1BmJHzXPiXYWCYeITTH7+yBrEk5iEVuj2oGGTkjuGMiJdlYJh5gqqHCqWi7hJImh
; bfkAaneg1I6BlEG1TLiQ2kmRjUq4Uqkf1xSDA1Cr4Rr74KjRrgXC+WonSTQq4WqMv4YUE2o0Wtvw2G
; jXCuEQyy/uFCdbLOFq7oOsXVCB0gqjpXoUs1g6E46XcDVULdSX0kEf24RSua0mZztMBYCZcHyE01gx
; LFlQcaoOJZxRM4WI7d+Q/TPh8glnYQeIpOj0hQYkHaNR1cYwZP9MuDzCWRr/mClGyjP7gRxiLuJqzA
; L8/Zgz4dIJpz2rGQKX6ISeA2M35OxltPSNiSG4aBfzG98z4b6OC0snzH32YGj8U8ViStUhdDM1t7WU
; QkwBnX1p+eR9S6TSQLhjR54xdwp7bPypwhGj6hDzkJjc1mIKMYU5pcybw7WAmCNfFKGBmEZDbG9J1f
; qYCTcTzr3/Y6JDTT+B0nD/4S2qmo+ZcDPhHPr7MVNrFZDS8Pr6+l1Ey2RDzISbCdcHvvMrKyufpWZ1
; kNIgNoaNWiz7UzATbibc0Pu/tLT0v9RKPMReOCShEouFmjATbiZc/13vv/9U0YHUxhxaWHcbw0y4mX
; Du/R97v6lr1pDTWP+61lLMmXB0tLIO597pWDLFrlkDR2MOLakd2vDezcv3LJFKA+HeXrnUzPhTp0sx
; 98DYjTlqZV3tnKrPCpemcFo+Z5CKHNGYEh2gXExt2NqCeF/VZ8Klz+EsBl3OTRxj9oNEYz6sRLshB8
; 2ESyccwtIUQ2ITx5DogFRjfWO0Lh+EXoqZcHmE88dfq9qV2Jro78eEUmmfxmg35eyZcDyEc+OvbYpR
; MhC4dw2kG6pp5FQ/pgZ/Jhwf4Rw0TDFqBn8o3aAzuFa0o6QQM+H4CeePQY2gWyKFDAFqNOpQOtpR1X
; UmnAzhEDVURrpWEQOo2bhzgnS0yxnccyefNEUsK4Tzx196ilFb1XxA7Q7kEqKEs1sgnea9lNLjr2lZ
; CrR0xHcOV7TjTCGsp5cWNi/HfM4gFlo3XoCmzjhH5UY7qRQCSWdV7aycFuCYYmhe9wVtHfKdlhLtSk
; yMj/zwKVNks0Q4RE7Q1b6zBbR2zDk+VqlKT4ytqZ3F83CUoKupMBICaO4cov/xlpCza6QQVtTO6gHU
; GLXTUO6PBVjopHPqULTTkEJYKKhYP/E9NP5WVM0HWOkowo92Gp2tOcVs4RML/hSjxPqdBMBKR324z5
; RpdLbWFLOVb5rgmG9sbNzB8dc29jEAKx1F+Kqm+YCrxoJKC4Tzx19z6T8EsNLR0BxO6wFXTWrXwhyu
; H1wtfkMHtHcwtkqlNdppUTurhIuZq1uaz4HmzlEKI9qjXW3Stb4OZ+UbOqC1Y6lrK5qjXc0U09pOk1
; TyaP+GDmjrEEe5X7Pa1Uoxre2l5NhLO++ljHAUZ3Ti3H3OjdJqZ4FwnDtGtAZd0NAJyfw79GN6tVFS
; 7TQTTnITg7YpBtTuQIkdIzH7MWvav/K74/cXlXCcqjY1/gt/4ruEs/vtaYl2/ZdAej+mNOG+/+xe8l
; iUripqGH+o0WgNZx8aedG12S+VYkoSLoVstV782ssHUNro0qqmbdBj7JcoqEgQ7ugPdpFSSC2pXa0p
; xtaXl0s5oKaqhRxQqk9U+7kLKtyEs5BCxvSpypeXpcvnmhejffslnZ36fC614yRcCtm07gApobq+/e
; A3zB2BrP16CvfyAZdPOQoqHIRrQdVCfeUWhSH7of+CcEV7S87u28/RZwkC56SYuYSzVBjJGX/O34cb
; eg5IOEtzChHb/xz7JVU9NcVMJRyVaBaPzAyNX6roTAkNcDrOoqpZtD+loJJCuGuvHb2/qOOfkqHEBG
; rgeAjlOmuILSjVUHWK2lEJh+V+yhTDelYzhNigSwnOENvwWORqIYWYQija1Y7qsWoXS7ihFDIUTFtS
; tdD4c9kPlIb70W4RnO0wFFg0qfqU2sUQLjRfC9lf2/aa409994HasE+yRSDakP341TCNqh5aPggRjl
; IYQZtXV1c/XZRA2weOu/tqXIr9QL0BG1lfX7+LjS4q4dB+awdcxwiXUu5H+xeVcL79KZkNUBvTmlKV
; crYV+/spZp9w1H2QiH6Q0XrkSQL9lDJ1zRpiLgrN1RapaDJmv4XvY/qE49wxklI+b2n8qUEXYhubeq
; D0fsyazo6xS/v3MR3hJPZBthx0ue2H0B9TF35bIF2Kcmm2H9WOcn1KBbqlKYaU/TD2h9Q0qZVol2u/
; BhtykEqcFuzPqcC7QD329/8DaMEV1N6cTo0AAAAASUVORK5CYII=
; thumbnail end
;
; 

; external perimeters extrusion width = 0.45mm
; perimeters extrusion width = 0.45mm
; infill extrusion width = 0.45mm
; solid infill extrusion width = 0.45mm
; top infill extrusion width = 0.40mm
; support material extrusion width = 0.38mm
; first layer extrusion width = 0.42mm

M73 P0 R22
;TYPE:Custom
M413 S0 ; disable Power Loss Recovery
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling
M140 S55 ; set final bed temp
G4 S10 ; allow partial nozzle warmup
G28 ; home all axis
;G29 ; run abl mesh
M420 S1 ; load mesh
G1 Z50 F240
G1 X2 Y10 F3000
M104 S200 ; set final nozzle temp
M190 S55 ; wait for bed temp to stabilize
M109 S200 ; wait for nozzle temp to stabilize