BO105cbs PostĂ©(e) Septembre 7, 2024 PostĂ©(e) Septembre 7, 2024 Bonjour Ă tous. Utilisateur d'une Creality Ender 3-S1 fonctionnant sous Marlin 2.0.8, j'ai une magnifique barre sur l'Ă©cran m'indiquant la progression de l'impression et une autre ligne soit disant m'informant de la durĂ©e totale de cette derniĂšre et du temps restant. Alors je ne suis pas un AS du Marlin, mais toutefois je sais le compiler; le 'bricoler" ayant paramĂ©trĂ© mon imprimante Ă ma "main" et voilĂ que je me focalise sur ce temps d'impression, dont les ordres GCode gĂ©rant ces fonctions sont si je m'abuse les M31, 73, 75, 76, 77. L'Ă©tude du GCode d'un fichier STL ordinaire, fait apparaĂźtre des lignes informatives Ă cause du ";" TIME suivie d'une valeur en seconde identique Ă ce que Cura m'a donnĂ©, puis presque tout Ă la fin du mĂȘme fichier TIME_ELAPSED suivie d'une valeur identique Ă la premiĂšre. Et j'ai bien du mal Ă trouver comment Marlin lit le STL et en tire les durĂ©es d'impression qu'il peut joyeusement afficher sur l'Ă©cran de la machine. Car j'aimerai que ces affichages soient en relations avec les durĂ©es affichĂ©es dans Cura. Merci d'avances pour vos explications oĂč ruses et astuces Ă ce sujet
PPAC PostĂ©(e) Septembre 7, 2024 PostĂ©(e) Septembre 7, 2024 Salutation ! Je dirais que normalement le firmware marlin ne perd pas de temps et de ressources Ă lire les commentaires. ( Par exemple si l'on recherche la chaine "TIME_ELAPSED" dans le code source d'un firmware marlin https://github.com/search?q=repo%3AMarlinFirmware%2FMarlin TIME_ELAPSED&type=code rien ne laisse penser qu'il soit utilisĂ© dans les parties qui "parse" (lecture et interprĂ©tation) les lignes d'instructions d'un fichier d'impression) Donc il ne doit lire qu'Ă©ventuellement le "; TIME=". Mais avec un Ă©cran ayant son propre microcontrĂŽleur ou sur OctoPrint ou un Klipper lĂ Ă©ventuellement l'ensemble des commentaires peuvent ĂȘtre traitĂ©s, car tourner sur un truc plus puissant en mĂ©moire et vitesse de calculs. Et peuvent avoir des librairies pour mouliner tout cela, car non contraint par une taille mĂ©moire d'un microcontrĂŽleur ayant peu de ressources et devant rĂ©pondre sans trop de dĂ©lais pour contrĂŽler les mouvements de maniĂšre coordonnĂ©e et sans micro-pauses)  Il y a 5 heures, BO105cbs a dit : Car j'aimerai que ces affichages soient en relations avec les durĂ©es affichĂ©es dans Cura. Il me semble qu'il y a un plugin et/ou un script de post-traitement pour cela dans Ultimaker Cura ( qui en fait, insert des M117 avec comme message le pourcentage d'avancement tout le long de l'impression ... (Mais donc si on change le "feedrate percentage" M220: Set Feedrate Percentage forcement, ils seront faux s'ils affichent des durĂ©es, car ses messages de durĂ©es seront stockĂ©s en dure dans le fichier g-code... )
BO105cbs PostĂ©(e) Septembre 7, 2024 Auteur PostĂ©(e) Septembre 7, 2024 il y a 56 minutes, PPAC a dit : Il me semble qu'il y a un plugin et/ou un script de post-traitement pour cela dans Ultimaker Cura Vi. Justement il y a une impression qui tourne sur la S1. Juste avant j'ai faire un fichier gcode tout simple pour vĂ©rifier le comportement de ce script. Alors Ă la fin de chaque Ă©tape, il place Ă la fin de cette derniĂšre un M177 affichant une durĂ©e. Comment il fait je ne sait pas mais le temps qui s'affiche est la durĂ©e restante d'impression. pour les Ă©tapes qui suivent.  De sĂ©rie, sur l'Ă©cran de la S1, il y a deux indications de temps d'impression le PRINTING TIME et le REMAIN, Soit la durĂ©e d'impression depuis le dĂ©but pour la piĂšce et le temps restant. LĂ le fameux script affiche dans la bande rĂ©servĂ©e au message. Oui ma machine me parle, enfin elle m'Ă©crit , bref l'objet Ă 71 Ă©tapes, tout au dĂ©but donc l'Ă©tape 1/71 le temps affichĂ© qui est donc le global est le mĂȘme que celui que Cura m'a fourni. A un moment, mon impression est 33% d'avance sur le baregraph Le TIME est de 1 heure et le REMAIN est de 2 heures Le script me dit : (11/71) 2h41mn et des secondes... Ce que j'aimerai, souhaiterai, comme un voeux pieu, sans que cela soit la conquĂȘte du Graal  c'est ce que me donne le script actuel, Marlin me le fournisse et au bon endroit. J'ai cherchĂ© sur le web, comment le M75 fonctionne, j'ai trouvĂ© ça et lĂ ,; qu'il dĂ©buterai avec la chauffe de quoi ? MystĂšre. Bref le M75-M78.cpp fait rĂ©fĂ©rence Ă un print_job_timer que je ne trouve nulle part ailleurs....Â
pommeverte Posté(e) Septembre 10, 2024 Posté(e) Septembre 10, 2024 Salut, De ce que je comprends des sources, le calcul serait donné en partie dans le fichier Marlin\src\sd\cardreader.h #if HAS_PRINT_PROGRESS_PERMYRIAD static uint16_t permyriadDone() { if (flag.sdprintdone) return 10000; if (isFileOpen() && filesize) return sdpos / ((filesize + 9999) / 10000); return 0; } #endif static uint8_t percentDone() { if (flag.sdprintdone) return 100; if (isFileOpen() && filesize) return sdpos / ((filesize + 99) / 100); return 0; } appelé dans le fichier Marlin\src\lcd\marlinui.cpp MarlinUI::progress_t MarlinUI::_get_progress() { return ( TERN0(SET_PROGRESS_PERCENT, (progress_override & PROGRESS_MASK)) #if ENABLED(SDSUPPORT) ?: TERN(HAS_PRINT_PROGRESS_PERMYRIAD, card.permyriadDone(), card.percentDone()) #endif ); } avec le calcul du temps restant placé dans Marlin\src\lcd\marlinui.h static uint32_t _calculated_remaining_time() { const duration_t elapsed = print_job_timer.duration(); const progress_t progress = _get_progress(); return progress ? elapsed.value * (100 * (PROGRESS_SCALE) - progress) / progress : 0; } L'estimation du temps d'impression se ferait donc à la serpe, d'aprÚs la taille du fichier Gcode pondéré par le temps écoulé 1
BO105cbs Posté(e) Septembre 12, 2024 Auteur Posté(e) Septembre 12, 2024 Merci de ces informations  @pommeverte, mais cela ne concerne t'il pas la fameuse barre de progrÚs. J'avoue que je cherche toujours c'est assez long, du fait surtout que je connais pas tellement la structure du programme Marlin et de ses sous modules avec leur classement.
pommeverte Posté(e) Septembre 12, 2024 Posté(e) Septembre 12, 2024 (modifié) Salut, Il y a 9 heures, BO105cbs a dit : cela ne concerne t'il pas la fameuse barre de progrÚs oui, c'est utilisé pour gérer l'affichage de la barre de progression mais pas que Rappel: le temps total = 100 x elapsed.value (=temps écoulé) / progress (=pourcentage effectué) Modifié (le) Septembre 12, 2024 par pommeverte
BO105cbs PostĂ©(e) Septembre 13, 2024 Auteur PostĂ©(e) Septembre 13, 2024 Il y a 11 heures, pommeverte a dit : oui, c'est utilisĂ© pour gĂ©rer l'affichage de la barre de progression mais pas que Mouaip ! J'ai aussi chercher hier un peu partout dans le Marlin, dans ceux de ta rĂ©ponse y compris aussi dans les gCode concernĂ© par le "Temps" sans vraiment trouver la logique, sĂ»rement Ă cause d'un manque de connaissance de ma part. Pourtant je fais des efforts (pas violent bien sur ) pour comprendre le langage et ses mĂ©andres.... Toujours est il que j'utilise le plugin de Cura, qui fonctionne parfaitement, enfin largement plus prĂ©cis, Ă©tonnĂ© que le Marlin ne puisse en faire autant, ou Ă minima aurait une fonctionnalitĂ© permettant de rĂ©cupĂ©rer cette information (en cas d'existence, car je ne sais pas si tous les "slicers" offrent la mĂȘme chose) le Marlin ne "tranchants pas.... Maintenant, je cherche dans le systĂšme complexe des menus, comment supprimer l'affichage des informations enfin plutĂŽt de la ligne fournies par Marlin. Bon Ă©videmment, sans te commander  si tu savais ou cela se trouve, se situe, etc....  j'ai bien des idĂ©es Ă force mais forcĂ©ment les bonnes, Enfin merci de tes rĂ©ponses.
pommeverte Posté(e) Septembre 13, 2024 Posté(e) Septembre 13, 2024 Salut, Il y a 4 heures, BO105cbs a dit : Maintenant, je cherche dans le systÚme complexe des menus, comment supprimer l'affichage des informations enfin plutÎt de la ligne fournies par Marlin je n'ai pas trÚs bien compris la question. D'autant plus que tu dis: Il y a 4 heures, BO105cbs a dit : Toujours est il que j'utilise le plugin de Cura, qui fonctionne parfaitement Est-ce que tu as une photo de l'écran pour comprendre de quelles informations tu parles? De quelle version de Marlin es-tu parti? Marlin officiel ou mriscoc? Est-ce que tu peux fournir tes fichiers configuration.h et configuration_adv.h?
fran6p PostĂ©(e) Septembre 13, 2024 PostĂ©(e) Septembre 13, 2024 Les trancheurs ne peuvent fournir que des temps approximatifs (une fois l'impression dĂ©butĂ©e, donc une fois les chauffes rĂ©alisĂ©es), plus ou moins exacts quand les informations d'accĂ©lĂ©rations, vitesses sont identiques entre trancheur et firmware. Le seul rĂ©el moyen d'obtenir la durĂ©e d'impression proche de la rĂ©alitĂ© est l'analyse a posteriori du fichier gcode tranchĂ©. Les utilisateurs de Klipper peuvent ajouter un « greffon » qui se charge d'obtenir ces durĂ©es : klipper estimator (nĂ©cessite tout de mĂȘme un paramĂ©trage pour qu'il soit vraiment efficace). Pour Marlin, que je n'utilise quasiment plus, je ne sais s'il existe un projet semblable. 1
BO105cbs PostĂ©(e) Septembre 13, 2024 Auteur PostĂ©(e) Septembre 13, 2024 (modifiĂ©) @pommeverte Bonjour, Oui j'utilise la base MRisCoc, arrangĂ© Ă un peu Ă ma sauce  (J'ai dĂ©sactivĂ© pas mal de bricoles et commentaires, y compris dans son /Proui) , concernant l'Ă©cran les affichages sont ceux d'origine, avec l'apparation de nombreuses autres lignes dans les menus en fait ce que Marlin offre et que Creality bride. Bref le firmware change deux choses enfin trois  pour l'Ă©cran les icĂŽnes plus sympa, la police de caractĂšres plus lisible Ă mon sens et dans une ligne ou les M117 s'affichent normalement, il a placĂ© des sortes de raccourcis, que j'ai virĂ©, enfin j'ai plutĂŽt dĂ©sactivĂ© ces fonctionnalitĂ©s qui ne me servent pas Ă la finale. Fichiers en piĂšce jointe. La base Marlin en 2.0.8 bugfix si je ne me trompe pas, en gros il fonctionne parfaitement. Ecran d'origine de la S1 (ce n'est pas la mienne, mais il Ă©tait comme ça, seul les icĂŽnes ont changĂ©s et c'est en Français....)   A droite mon Ă©cran, enfin celui de @fran6p , l'impression dĂ©marrĂ©e il est comme ce lui de gauche, mais en Français.. (Sans les accents, je n'arrive pas Ă les mettre... pourtant ils existent dans le fichier font.ttf) La barre ou est notĂ© Creality ENDER 3S1 reste et c'est la que s'affiche les messages et notamment les M177 du plug-in Cura. (Heu 5.1 c'est la derniĂšre version de mes firmware, c'est pour me repĂ©rer, lĂ je travaille sur la 5.2, avec la derniĂšre version du Marlin, dont les compils Ă©chouent Ă chaque fois, pour des raisons inconnues encore, c'est juste pour le fun, car ma version 5.1 me va...) En fait je veux dĂ©sactiver l'affichage de PRINT TIME et REMAIN avec leur valeur en dessous. @fran6p Il y a 5 heures, fran6p a dit : Les trancheurs ne peuvent fournir que des temps approximatifs Vi. Mais je me suis toujours basĂ© sur ce que Cura me disait, en gros de toute façon il y a trĂšs peu de diffĂ©rence entre la rĂ©alitĂ© et ce que Cura Ă prĂ©vu au dĂ©part, quelques minutes, alors qu'avec le poisson, j'ai eu sur une grosse impression une bonne surprise au dĂ©but, la S1 m'affichait une durĂ©e plaisante (-55 mn) et Ă la finale...... Bref, le plug in de Cura, je ne sais comment il fait, mais rĂ©cupĂšre les infos du tranchage, t'affiches au dĂ©part la durĂ©e totale, et ensuite la durĂ©e restante, tout en t'indiquant la phase de travail (X/XX) correspondant en fait au dĂ©coupage Curatesque  du fichier STL. Ca correspond presque avec la barre de progrĂšs. Je n'ai fait que trois impressions (15 mn, 2h30 et 3h50) plug-in activĂ© sans noter de diffĂ©rences notables entre ce que j'ai relevĂ© (Avec mon chronographe, un truc rond que l'on porte au poignet et qui n'a pas besoin d'ĂȘtre rechargĂ© pour donner l'heure  ) depuis le traçage ou la premiĂšre opĂ©ration qui est soit la jupe soit la bordure, le dĂ©compte commence lĂ pour lui. Chauffe et ligne de purge ne sont pas pris en compte. Il y a 5 heures, fran6p a dit : Pour Marlin, que je n'utilise quasiment plus, je ne sais s'il existe un projet semblable. Bah, j'ai cherchĂ©, vu, lu sur des Github, des redit pas mal de choses au sujet des temps d'impressions, mais rien de concluant ou d'approchant ce que je souhaite, et l'Ă©tude du Marlin  (si j'ose ) s'avĂšre complexe, pourtant dans une vie antĂ©rieure, les joies de la programmation ne m'Ă©tait pas inconnus, j'ai mĂȘme peut ĂȘtre encore une K7 de mon Commodore 64 . Donc le poisson j'en comprends la structure, le langage par contre.... Si les ordres ne me sont pas inconnus (Quoique parfois ils auraient faire plus simple, sans compter des fonctions ou des "ordres" qui sortent un peu de mes compĂ©tences..Ă©sotĂ©risme ? ), leur arrangement..    Me prennent un peu la tĂȘte Bon, rassure toi, je ne t'en veux pas de ne plus utiliser le Marlin  Personne n'est parfait  Encore Merci de m'aider dans ma quĂȘte du temps... Configuration.h Configuration_adv.h ModifiĂ© (le) Septembre 13, 2024 par BO105cbs
pommeverte PostĂ©(e) Septembre 13, 2024 PostĂ©(e) Septembre 13, 2024 (modifiĂ©) Je dirais que les valeurs du temps: Ă©coulĂ© est mis Ă jour Ă la ligne suivante du fichier Marlin\src\lcd\e3v2\proui\dwin.cpp DWINUI::drawString(hmiData.colorText, hmiData.colorBackground, 47, 192, buf); restant est mis Ă jour Ă la ligne suivante du fichier Marlin\src\lcd\e3v2\proui\dwin.cpp DWINUI::drawString(hmiData.colorText, hmiData.colorBackground, 181, 192, buf); les titres (labels Printing time et remaining) sont créés dans le mĂȘme fichier, ici:  DWINUI::drawString( 46, 173, GET_TEXT_F(MSG_INFO_PRINT_TIME));  DWINUI::drawString(181, 173, GET_TEXT_F(MSG_REMAINING_TIME)); ModifiĂ© (le) Septembre 13, 2024 par pommeverte
BO105cbs Posté(e) Septembre 14, 2024 Auteur Posté(e) Septembre 14, 2024 Merci, il me suffit donc de "décommenter" ou "désactiver" ces lignes à la finale.
pommeverte Posté(e) Septembre 14, 2024 Posté(e) Septembre 14, 2024 Salut, Si tu commentes ces lignes, ce sera plus efficace
BO105cbs PostĂ©(e) Septembre 14, 2024 Auteur PostĂ©(e) Septembre 14, 2024 (modifiĂ©) Il y a 6 heures, pommeverte a dit : Si tu commentes ces lignes, ce sera plus efficace  Heu avant de faire une connerie que veux tu dire par commentes ? J'ai compris le principe, j'ai trouvĂ© aussi les lignes et d'autres ailleurs traitant du mĂȘme sujet, car le fait de commenter celles que tu m'a indiquĂ© ne suffisait pas. Maintenant c'est OK, je n'ai plus les deux lignes. Bon, je refais tous les calibrages machine avant de poursuivre mon impression qui patientait sagement. Encore un grand Merci @pommeverte ModifiĂ© (le) Septembre 14, 2024 par BO105cbs 1
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez ĂȘtre membre afin de pouvoir dĂ©poser un commentaire
Créer un compte
CrĂ©ez un compte sur notre communautĂ©. Câest facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant