Aller au contenu

Filament ABS

dobodu

[STICKY] Dernière Version MARLIN pour DISCOEASY 200

Messages recommandés

  uint8_t toDigital(char *buffer, bool with_days=false) const {
    uint16_t h = uint16_t(this->hour()),
             m = uint16_t(this->minute() % 60UL);
    if (with_days) {
      uint16_t d = this->day();
      //sprintf_P(buffer, PSTR("%ud %02u:%02u"), d, h % 24, m);      //remplacer ici
      sprintf_P(buffer, PSTR("%ih %im %is"), h, m, s);
      return d >= 10 ? 8 : 7;
    }
    else if (h < 100) {
      //sprintf_P(buffer, PSTR("%02u:%02u"), h % 24, m);               //remplacer ici
      sprintf_P(buffer, PSTR("%ih %im %is"), h, m, s);
      return 5;
    }
    else {
      //sprintf_P(buffer, PSTR("%u:%02u"), h, m);                  //remplacer ici
      sprintf_P(buffer, PSTR("%ih %im %is"), h, m, s);
      return 6;
    }
  }
};

 

Je pense que dans le programme remplacer par celui voulu :

(y) sprintf_P(buffer, PSTR("%iy %id %ih %im %is"), y, d, h, m, s);
(d) sprintf_P(buffer, PSTR("%id %ih %im %is"), d, h, m, s);
 (h) sprintf_P(buffer, PSTR("%ih %im %is"), h, m, s);
(m) sprintf_P(buffer, PSTR("%im %is"), m, s);
sprintf_P(buffer, PSTR("%is"), s);

 

Je fais le test

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour ,

Après test c'est bien dans ce fichier que nous changeons le format du temps, avec le code que je vous présente vous aurez le temps en h:m:s, si vous souhaitez avoir plus de 24H je pense qu'il suffit d'enlever le %24, à vérifier. 

 

 

uint8_t toDigital(char *buffer, bool with_days=false) const {
    uint16_t h = uint16_t(this->hour()),
             m = uint16_t(this->minute() % 60UL),
             s = uint16_t(this->second() % 60UL);


    
    if (with_days) {
      uint16_t d = this->day();
      //sprintf_P(buffer, PSTR("%ud %02u:%02u"), d, h % 24, m);
      sprintf_P(buffer, PSTR("%02u:%02u:%02u"), h % 24, m % 60, s);
      return d >= 10 ? 8 : 7;
    }
    else if (h < 100) {
      //sprintf_P(buffer, PSTR("%02u:%02u"), h % 24, m);
      sprintf_P(buffer, PSTR("%02u:%02u:%02u"), h % 24, m % 60, s);
      return 5;
    }
    else {
      //sprintf_P(buffer, PSTR("%u:%02u"), h, m);
      sprintf_P(buffer, PSTR("%02u:%02u:%02u"), h % 24, m % 60, s);
      return 6;
    }
  }
};

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai trouvé ça ! en Français SVP a vos bécane ! prêt parté !😉

Modifié (le) par Montaignec
  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour le post .

Petit bemol cependant de mon coté : sur une MKS gen V1.4 avec TMC2208 en mode SPI , pas de communications avec les drivers .

==> Passage sur la branche Bugfix 1.1.X : plus de soucis 🙂

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 26/11/2018 at 15:54, Melvin a dit :

Bonjour ,

Après test c'est bien dans ce fichier que nous changeons le format du temps, avec le code que je vous présente vous aurez le temps en h:m:s, si vous souhaitez avoir plus de 24H je pense qu'il suffit d'enlever le %24, à vérifier. 

 

 

uint8_t toDigital(char *buffer, bool with_days=false) const {
    uint16_t h = uint16_t(this->hour()),
             m = uint16_t(this->minute() % 60UL),
             s = uint16_t(this->second() % 60UL);


    
    if (with_days) {
      uint16_t d = this->day();
      //sprintf_P(buffer, PSTR("%ud %02u:%02u"), d, h % 24, m);
      sprintf_P(buffer, PSTR("%02u:%02u:%02u"), h % 24, m % 60, s);
      return d >= 10 ? 8 : 7;
    }
    else if (h < 100) {
      //sprintf_P(buffer, PSTR("%02u:%02u"), h % 24, m);
      sprintf_P(buffer, PSTR("%02u:%02u:%02u"), h % 24, m % 60, s);
      return 5;
    }
    else {
      //sprintf_P(buffer, PSTR("%u:%02u"), h, m);
      sprintf_P(buffer, PSTR("%02u:%02u:%02u"), h % 24, m % 60, s);
      return 6;
    }
  }
};

bonjour j'ai essayé de modifier le fichier duration_t.h mais cela ne marche pas ou j'ai fais une erreur

voici mon fichier duration_t;h avant modif

 possible de me le modifier et de me le renvoyer ce serai sympa

duration_t.h

Modifié (le) par cams08

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens d'ouvrir ton fichier et soit j'ai un problème soit tu n'as pas ajouté les modifications... 

Modification Duration_t.h

·         Ligne 151 -> Ajout « s = uint16_t(this->second() % 60UL); »    (Attention à bien remplacer le ; après les minutes par ,) 

·         Lignes 156-157, 162-163, 167-168

//sprintf_P(buffer, PSTR("%ud %02u:%02u"), d, h % 24, m) ;

               sprintf_P(buffer, PSTR("%02u:%02u:%02u"), h % 24, m % 60, s);

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah d’accord pardon je n’avais pas, si ça ne fonctionne pas avec ces modifications je ne sais pas comment t’aider, dis moi le message que tu as 

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 24/02/2018 at 19:50, cams08 a dit :

bonjour

je suis parvenu a déplacer l'horloge

mais un autre problème avec des impression de plus d'une journée

comment ne pas afficher par exemple

1d 03:45 mais plutôt  27:45

chevauchement du temp restent avec temperature plateau voir photo

 

 

IMG_1622.jpg

bonjour

c'est ce problème que je cherche a enlever 

sur la photo on vois bien que l'affichage du temp restant chevauche la temperature du plateau 

mais si le temp était en heures et minutes a la place d'être en jours heures et minutes plus ce problème   ( 3d 03:10  serait   75:10)

 

voici le code qui affiche le temp restant dans l'onglet  ultralcd_impl_DOGM.h  marlin 1.1.8

  /////////////////////////////////////////////////////////affichage temps restant//////////////////////////////////////////////////////////////////////
      
      if (card.isFileOpen()){ //si on est en train d'imprimer depuis la SD
      
      u8g.drawCircle(64, 19, 7); //cercle
      u8g.drawBox(64,14,1,5); //grande aiguille
      u8g.drawBox(65,19,3,1); //petite aiguille
  
      //if (card.percentDone() != 0 && print_job_timer.duration() != 0) { //si impression a débuté (évite divison par 0)
      if (card.percentDone() >= 10 && print_job_timer.duration() >= 1) { //affiche le temps à partir de 10%)
        char rbuffer[10];
        duration_t remaining = ( ( 100-card.percentDone() )*( print_job_timer.duration()-130) )/card.percentDone(); //(130 = temps approx du bed leveling)
       bool rhas_days = (remaining.value > 60*60*24L);
        uint8_t rlen = remaining.toDigital(rbuffer, rhas_days);
        u8g.setPrintPos(50, 7);
        lcd_print(rbuffer);
      }
   }
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

si un membre du forum pouvais me donner la solution ce serai sympa

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour

c'est fait

 jours passés en heures et aussi quelques petites modifications

IMG_1806.jpg

Marlin-1-1-9.zip

Marlin 1.1.9
Carte : MKS Base v1.0
Cable EndStop : Comme sur la carte (pas le câblage de référence Dagoma)
Numéro de Couche 
Ecran  Temps restant

Plateau chauffant 
3DTouch  Tiges Trapézoidales 


 

Modifié (le) par cams08

Partager ce message


Lien à poster
Partager sur d’autres sites

pas de chance, je n'ai pas de BLTOUCH . Merci tout de même.

Modifié (le) par Emap54

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour pour le bltouch il faut juste  commenter  ces lignes dans le fichier  configuration.h

#define Z_PROBE_SERVO_NR 0   // Defaults to SERVO 0 connector.
#define Z_SERVO_ANGLES {10,90}  // Z Servo Deploy and Stow angles

et décommenter  la ligne  

//#define FIX_MOUNTED_PROBE

pour le capteur dagoma 

modifier aussi la ligne 

#define Z_MAX_POS 320   c'est la hauteur de ma discoEasy    origine dagoma 200
 

Modifié (le) par cams08

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci beaucoup, je vais me débrouiller avec tout cela. J'ai déjà modifier ma version perso de Marlin 1.1.8 et cela fonctionne très bien.

Pour la version 1.1.9 je doit également revenir aux End stop d'origine de la Discoeasy.

Partager ce message


Lien à poster
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.

×