Aller au contenu

GO Print

Affichage du numéro de la couche en cours


Messages recommandés

merci pour votre réponse 

 

sur marlin RC8 je viens d'essayer mais apparemment on ne peut inscrire qu'a partir de la 16 ème ligne en hauteur sur toute la longueur de l'écran

au dessus impossible 

 

pour info sur ma Delta sous marlin RC7 ça fonctionne

Modifié (le) par cams08
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

En suivant ce sujet je vois que vous êtes des pros de l'affichage sur l'écran, j'ai deux petites questions:

- la plus simple, comment obtenez vous le numéro de ligne dans Arduino, je n'ai pas trouvé d'info dans l'aide (certes en anglais).

- la plus compliquée (Dago a pourtant essayé de me répondre malgré un écran pas acheté chez eux):

Mon écran se décale progressivement. Il se divise en 2 colonnes dont la largeur évolue au fil du temps. (photo 20mn après la mise sous tension). Si quelqu'un a une idée de la cause... car je ne voudrais pas changer d'écran si ca vient du soft.

Amicalement,

20170313_094839.jpg.49f409e032417be06dcaf2a279664d9e.jpg

Lien vers le commentaire
Partager sur d’autres sites

bonjour

pour le numéro de ligne dans arduino

il faut aller dans fichier puis préférences et la tu coches la case  afficher les numéros de ligne

pour l'autre problème je ne sais pas du tout

Lien vers le commentaire
Partager sur d’autres sites

dans marlin RC8 il y a deux zone ou on ne peut pas écrire

une photo de l'écran avec marlin RC8

 

IMG_1183.thumb.jpg.c957198b228255281aa7c131f4c4d531.jpg

 

et avec RC6 tout est blanc

IMG_1186.thumb.jpg.d41358701bc4dd0a0f1bc0088ab670a0.jpg

 

peut être une chose a creuser

Modifié (le) par cams08
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

C'est le FW de base Dago, je n'ai rien modifie.

C'est un écran que j'ai acheté sur Banggood dans  le but de remplacer l'OLED a l'évoque ou j'avais une Melzy. Y aurait il une bibliothèque différente des écrans Dago? 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 7 heures, Narayan1986 a dit :

Non ils sont strictement identiques, tu as bien inversé les connecteurs ?

Bonjour et merci,

Malheureusement ça ne donne rien. Ayant parcouru les sujets du forum concernant l'écran, j.ai tout de suite pensé à ça et fait une permutation circulaire des nappes.

J'aussi essayé un reset par le bouton poussoir de l'écran: pas mieux.

J'ai également pensé à un composant qui dériverait avec la T° Car à la première mise sous tension l'eçran reste stable plus longtemps, j'ai donc mis un coup de bombe a froid. Toujours pareil.

La seule chose qui réinitialise l'affichage c'est un Arrêt/Marche et la dérive de l'écran évolue plus ou moins vite selon que je ne touche à rien, que je manipule les menus d'écran ou que j'imprime. J'en suis même arrivé à un écran tout bleu apres plusieurs heures d'impression. C'est pour cela que je me suis rabattu sur le soft, mais n'y connaissant pas grand chose dans ce domaine je suis un peu à la peine quant à la logique de l'architecture du système (j'essaie d'apprendre mais c'est long et pas facile...)

Le canard est toujours vivant...

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...
  • 1 month later...
  • 1 month later...

@Narayan1986

Bonjour, ta modification est super, ça m'intéresse. Mais je suis un newbee ici et je découvre tout juste l'impression 3D et Arduino.

Pourrais tu dire quels fichiers sont impactés pour les modifs dans Marlin car je n'ai pas retrouvé où mettre tes lignes de code. J'ai une DiscoEasy 200, ça ne devrait pas poser de problème.

Merci encore pour tes trouvailles !

Lien vers le commentaire
Partager sur d’autres sites

Le 11/06/2017 at 15:00, cams08 a dit :

bonjour

toutes les lignes sont a mettre dans le fichier ultralcd_impl_DOGM.h

je suis sous marlin RC8

ultralcd_impl_DOGM.h

Et en plus il donne le fichier modifié ! Merci !!!

Je vais mettre le RC8, je suis en RC6 depuis l'achat de la machine. Merci encore.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...
  • 3 months later...

Bonjour tout le monde

D'abord merci @Vivion91 pour ce tuto fort sympathique

La modif fonctionnait jusqu'à ce que j'essaye de modifier des trucs moi-même 9_9J'ai voulu garder l’affichage de base de @Vivion91  mais avec le dessin sans l'animation ( enfin je crois que c’est une animation :D) et depuis j’ai le numéros de couche 3 fois sur la même ligne.

59ff157508b73_20171105_1441431.thumb.jpg.93c9230764a858a7d25d4516df3d7f3c.jpg

Voici mon code dans dogm_lcd_implementation :

static void lcd_implementation_status_screen() {
  u8g.setColorIndex(1); // black on white
 // numero de couche
    if (z_en_cours > current_position[Z_AXIS]) // test si extrudeur est redescendu
    {
        nb_couche = 1; // impression première couche
        z_en_cours = current_position[Z_AXIS];
    }
    // test du changement de niveau de la couche
    if (z_en_cours != current_position[Z_AXIS])
    {
        nb_couche++;// incrementation du nombre de couche
        z_en_cours = current_position[Z_AXIS];
    }
//affichage du numero de la couche  
    u8g.setPrintPos(50, 28); 
    lcd_print(ftostr32sp(nb_couche));
    
    u8g.drawBox(62,0,6,7);
    u8g.drawBox(64,7,2,2);
    u8g.drawBox(57,9,5,2);
    u8g.drawBox(57,12,15,2);
    u8g.drawBox(57,15,15,2);
    u8g.drawBox(57,18,15,2);
    
    char buf[5];
    itoa(nb_couche, buf, 10);
    lcd_print(buf);

Est-ce que quelqu'un aurais une idée de la cause du problème ? (Désolé si la cause est évidente je suis un gros noob :P)

Merci d’avance à ceux qui prendront le temps de me répondre

 

J'ai  trouver le problème : j'avais 3 fois cette ligne :

  lcd_print(ftostr32sp(nb_couche));
Modifié (le) par ServNer
Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

Bonjour,

Je me suis enfin décidé à faire cette belle amélioration, VRAIMENT UN GRAND MERCI A TOUS.

J'apprends sur le tas et jusque là j'étais trop "frileux" pour oser rentrer sans le FW, j'ai d'ailleurs un peu galéré, d'où mon intervention qui pourra peut être aider un peu ceux qui sont dans mon cas.

-  Une fois lu et relu les 4 pages je suis perdu. Mon interrogation: où je trouve les lignes correspondantes et qu'est ce que je modifie?

D'abord trouver Dogm_ LCD implementation (Ca aidera peut être Stephane Dago): quand on est dans config h, il  se trouve dans le menu déroulant sou la flèche complètement à droite en haut. Ne pas hésiter à descendre dans le menu et à interpréter car le nom et pas tout à fait identique en RC6 et RC8

Puis j'ai édité le fichier de Cams08 qui m'a permis, en le comparant avec le mien (d'origine) de retouver les lignes semblables (lui en RC8 moi en RC6) . Ligne 430 dans mon FW qui est devenue 480 après la modif.

J'ai comparé avec les modifs initiales deVivion91 pour confirmer

J'ai enfin fait du copier collé à partir du fichier de Cam08 .

Puis j'ai fait une verif et là...planté ! il me manquait la bibliothèque xxxxx.

Retour à la case départ ==> recherche de la signification du message ==> aide précieuse du forum ==> miracle j'ai compris, j'ai fait, j'ai vérifié et ça marche.

Après le téléversement, tout est parfait.

Pour vous qui êtes des pros, je passe peut être pour un "Bolosse" mais vous m'avez fait progressr

ENCORE UN GRAND MERCI A VOUS TOUS QUI AVEZ LES IDEES ET LES CONNAISSANCES

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonjour.

Merci pour toutes les infos, j'ai appliqué les modif (avec un peu de mal, je connais pas arduino) mais cela fonctionne.

Par contre, à l'utilisation, je me rends compte qu'il y a de gros écarts sur le n° de la couche. Je pense que cela vient de la logique de calcul:

    // test du changement de niveau de la couche
    if (z_en_cours != current_position[Z_AXIS])
    {
        nb_couche++;// incrementation du nombre de couche
        z_en_cours = current_position[Z_AXIS];

en partant de ces lignes de codes, dés que la position Z est différente de celle préalablement enregistrée, on incrémente la couche, mais parfois lors de changements de zones, la tête monte un peu, puis redescend pour faire la couche ailleurs, au bout d'un moment, cela fausse le calcul. Serait il possible de ne tenir compte des Z que si l'imrpimante dépose du fil ? SI oui, avez vous une idée du comment, ? l'extrudeur peut il estre interrogé comme l'axe Z en utilisant quelquechose du genre current_position[E_AXIS] ?

Je n'ai jamais codé en arduino, et mes notions de programmations sur plûtôt restée sur du basic et du C.

 

quel est votre avis ? A moins qu'il soit possible de lire le n°de layer du code G, mais s'agissant d'un commentaire, je suppose que c'est pas possible

 

xpj

Lien vers le commentaire
Partager sur d’autres sites

il y a 10 minutes, xpj45 a dit :

Bonjour.

Merci pour toutes les infos, j'ai appliqué les modif (avec un peu de mal, je connais pas arduino) mais cela fonctionne.

Par contre, à l'utilisation, je me rends compte qu'il y a de gros écarts sur le n° de la couche. Je pense que cela vient de la logique de calcul:


    // test du changement de niveau de la couche
    if (z_en_cours != current_position[Z_AXIS])
    {
        nb_couche++;// incrementation du nombre de couche
        z_en_cours = current_position[Z_AXIS];

en partant de ces lignes de codes, dés que la position Z est différente de celle préalablement enregistrée, on incrémente la couche, mais parfois lors de changements de zones, la tête monte un peu, puis redescend pour faire la couche ailleurs, au bout d'un moment, cela fausse le calcul. Serait il possible de ne tenir compte des Z que si l'imrpimante dépose du fil ? SI oui, avez vous une idée du comment, ? l'extrudeur peut il estre interrogé comme l'axe Z en utilisant quelquechose du genre current_position[E_AXIS] ?

Je n'ai jamais codé en arduino, et mes notions de programmations sur plûtôt restée sur du basic et du C.

 

quel est votre avis ? A moins qu'il soit possible de lire le n°de layer du code G, mais s'agissant d'un commentaire, je suppose que c'est pas possible

 

xpj

Une piste à explorer... un regex sur le gcode du fichier. Je crois que le numéro de la ligne est écrit ( ;Line xx ).

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, Skaarian a dit :

Une piste à explorer... un regex sur le gcode du fichier. Je crois que le numéro de la ligne est écrit ( ;Line xx ).

heu c'est quoi un regex ? les couches sont définies par (;LAYER:n), mais je n'ai aucune idée de comment récupérer cette info.

Je n'ai rien trouvé sur le net pour le moment, si c'est possible, il suffira alors d'aller chercher le chiffre après le (;LAYER:)

Lien vers le commentaire
Partager sur d’autres sites

Il y a 15 heures, xpj45 a dit :

heu c'est quoi un regex ? les couches sont définies par (;LAYER:n), mais je n'ai aucune idée de comment récupérer cette info.

Je n'ai rien trouvé sur le net pour le moment, si c'est possible, il suffira alors d'aller chercher le chiffre après le (;LAYER:)

J'ai regardé vite fait. Tu as déjà toutes les class qu'il faut. Dans ultralcd.cpp.

Il faut lire le fichier, créer une boucle pour récupérer le numéro de la ligne via un regex (;LAYER:) puis récupérer la position Z de la ligne suivante et les encapsuler dans un tableau (array) : N°Ligne/Position en Z.

Il n'y a plus qu-a comparer l'axe Z en cour à ceux stockés dans le tableau pour afficher le n° de la ligne.

Je pense que c'est vraiment une piste à explorer.

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...