Compilation firmware Hephestos

Cette rubrique concerne les questions technique que vous aimeriez soumettre.
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Je vais donc publier un post à part car j'ai commencé à imprimer et cela me semble bien.

Donc en ce qui concerne la nouvelle tête d'impression double galet j'ouvre un nouveau post.
Axel
Vénérable membre
Messages : 393
Inscription : sam. oct. 25, 2014 7:23 am
Imprimante 3D : WITBOX

Donc Jacques, vous confirmez qu'on peut bien installer le nouvel extruder sur la W1 SANS devoir modifier quoi que ce soit au firmware (même la version 1,3) ?
On ne risque donc pas d'avoir de la sous ou sur extrusion ?
ping
Membre actif
Messages : 22
Inscription : mer. avr. 06, 2016 7:37 pm
Imprimante 3D : prusa i3 Hephestos
Localisation : Région parisienne

Ci-joint le fichier Configuration.h modifié.
Configuration.h.zip
(15.04 Kio) Téléchargé 315 fois
La gestion de l'alim atx est activé, tu trouvera ici un tuto : https://github.com/foosel/OctoPrint/wik ... -OctoPrint
(octoprint est optionnel, les options sont présentes via les menus de l'écran)

Le plateau chauffant est activé ainsi que le plateau long.

Les valeurs de pid extrudeur/plateau sont propre à chaque config, j'ai mis celles par défaut mais en faisant l'autotune toi même tu aura les "vrais" valeurs.

Pour le nivellement auto fait des test avec le doigt sur l’arrêt d'urgence, chez moi il est effectué avec un capteur au bout d'un servo.
Je sais pas trop comment ça fait avec capteur inductif/capacitif.
Il faudra aussi que tu personnalise les points de test avec les dimensions de ton plateau.

L'écran actif est l'original de l'hephestos, je te laisse le soin de modifier pour ton écran ;)

Quelques explications :
  • alim atx : lignes 134 & 137
    pid extrudeuse : ligne 265-267
    pid lit chauffant : ligne 301-303
    taille plateau : ligne 498-503
    bed level : ligne 542-647
    écrans : ligne 768+
    température de chauffe : ligne 757-763
Toutes les options sont présentes dans le fichier, il suffi de les dé-commenter pour les activer. Encore une fois les commentaires se suffisent à eux même pour une compréhension générale.
activa1969
Contributeur actif
Messages : 146
Inscription : mer. nov. 12, 2014 10:30 pm
Imprimante 3D : Pro: Prusa MK3 et 4 et Zortrax M300, Witox 1 et witbox 2
Perso:Prusa MK3S et CARIBOU

BOnjour,

le lien de telechargement pour la version 1.06 est ds le haut de la page cf image ci-dessous

https://www.arduino.cc/en/Main/OldSoftw ... ases#1.0.x

Image
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Merci pour toute cette aide.

Mais j'en suis toujours au même point. Si j'essaye de compiler avec IDE 1.0.6 le fichier firmware MARLIN 1.3.1 trouvé plus haut sur le lien tout va bien ... Mais par contre si j'enlève simplement les "//" à la ligne du Full Graphic Display :

// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB)
// http://reprap.org/wiki/RepRapDiscount_F ... Controller
//
// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

et que j'essaye de compiler j'obtiens les erreurs suivantes :

ltralcd.cpp: In function 'void config_lcd_level_bed()':
ultralcd.cpp:811: error: 'lcd' was not declared in this scope
ultralcd.cpp: In function 'void lcd_level_bed_cooling()':
ultralcd.cpp:822: error: 'lcd' was not declared in this scope
ultralcd.cpp:844: error: 'lcd' was not declared in this scope
ultralcd.cpp: In function 'void lcd_level_bed()':
ultralcd.cpp:853: error: 'lcd' was not declared in this scope
ultralcd.cpp: In function 'void lcd_load_material_extrud_1()':
ultralcd.cpp:1029: error: 'lcd' was not declared in this scope
ultralcd.cpp: In function 'void lcd_unload_material_extrud_1()':
ultralcd.cpp:1075: error: 'lcd' was not declared in this scope
ultralcd.cpp: In function 'void lcd_init()':
ultralcd.cpp:1602: error: 'lcd' was not declared in this scope
ultralcd.cpp: In function 'void lcd_splash()':
ultralcd.cpp:1620: error: 'lcd' was not declared in this scope

Je ne vois pas pourquoi cela me génère ce type d'erreur.

Une idée ?
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Message pour activa1969 :

Le firmware trouvé sur le lien donné sur thingiverse 1.4.2 semble incomplet. Si je le compile il donne des erreur. En effet je ne trouve pas entre autre le fichier configuration.h. Il doit en manquer d'autres.

Me suis-je trompé quelque part ?
ping
Membre actif
Messages : 22
Inscription : mer. avr. 06, 2016 7:37 pm
Imprimante 3D : prusa i3 Hephestos
Localisation : Région parisienne

Les fichiers qu'il te manque sont dans le dossier config, il faut les copier à côté des autres.
C'est marqué dans le readme ;)
activa1969
Contributeur actif
Messages : 146
Inscription : mer. nov. 12, 2014 10:30 pm
Imprimante 3D : Pro: Prusa MK3 et 4 et Zortrax M300, Witox 1 et witbox 2
Perso:Prusa MK3S et CARIBOU

Bonjour,

As tu installé la librairie u8glib ? elle est indispensable pour le full graphic

// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib

Si tu arrives à compiler pour un lcd standard et pas pour le full graphic, c'est qu'il te manque la librairie u8glib

et ça correspondrait à ton erreur :lcd' was not declared in this scope
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Le readme ne l'indiquait pas mais j'ai fini par trouver ... Il y avait le config et aussi Libraries concernant la SDCARD qu'il fallait ajouter.

Oui la librairie u8glib comme je l'ai indiqué au début de mes questions, est bien installée. Je ne sais pas pourquoi les autres firmware ne fonctionnent pas mais la dernière 1.4.2 fournie par activa1969 fonctionne.

Donc je compile la version fournie par activa1969 version 1.4.2. et le Full Graphic Display fonctionne très bien sauf que comme il est relié au port USB du MAC je n'ai pas mis sous tension avec une alimentation externe 12 Volts. Du coup c'est peut-être pour cela que le lecteur de SD CARD ne fonctionne pas. Cela plante la carte arduino quand j'insère une carte SD dans le lecteur.

Mais ceci est une autre histoire. Nous verrons la suite du feuilleton demain.

Merci pour votre aide patiente et efficace.
ping
Membre actif
Messages : 22
Inscription : mer. avr. 06, 2016 7:37 pm
Imprimante 3D : prusa i3 Hephestos
Localisation : Région parisienne

Je viens de compiler Marlin-1.1.0-RC6 avec adruino 1.6.8 et ton écran, ca passe tout seul :)
Ce n'est qu'en essayant continuellement, que l'on finit par réussir
Ou, en d'autres termes : plus ça rate, plus on a de chance que ça marche ...
proverbes Shadock
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Je vais aussi le tester même si je risque de me perdre avec toutes les modifications faites par BQ et qui n'existent pas sur les version de base.

Mais patience là aussi je finirai par tout comprendre ou presque ...
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Bien après avoir laissé reposer une nuit l'électronique de l'imprimante et mon cerveau, je confirme que malgré le bon fonctionnement de l'afficheur, le lecteur de carte SD ne lit rien. Il reconnait la présence de la carte SD (Card inserted) mais dans le menu secondaire il marque "No SD card".

Firmware utilisé : BQ Marlin 1.4.2 proposé par activa1969

J'ai branché une alimentation externe pour un montage à blanc avec l'ancienne tête de l'Hephestos pour avoir un retour d'info. J'ai deux afficheurs Full Graphic Smart Controller en provenance de deux fournisseurs différents mais qui se ressemblent mis à part la sérigraphie (http://www.robotLinking.com et http://www.bigtree-tech.com), même problème.

Je vais regarder dans le firmware ce qui pourrait empêcher de lire la carte qui pour information est bien reconnue sur mon Hephestos et sur le PC (carte formatée en FAT32). Peut-être une histoire de librairie ou de "driver". Mais les Wiki sur le sujet n'en parlent pas. Je suppose que le firmware Marlin modifié par BQ ne possède pas tout ce qu'il faut. C'est ce que disait ping dans un précédent message.

Du coup je vais tenter avec le firmware générique de Marlin comme suggéré par activa1969.

Une piste de votre côté ?
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Je m'auto-répond pour vous tenir au courant :

Ayant à ma disposition deux cartes RAMP 1.4 avec deux arduino, mes tests de départ se portaient sur les produits livrés par BQ.

Mais le second couple RAMP 1.4 et Arduino ne proviennent pas de chez BQ mais directement de Chine. Avec les fameux drivers CH341 et non pas FTDI virtual port USB. Du coup cela change pas mal de choses dans le comportement des firmware. La preuve ci après.

Donc voici ce qu'il se passe :

Carte BQ : lecteur de carte SD et affichage OK avec le Full Graphic Smart Controller de chez RobotLinking.com
Carte BQ : affichage KO avec le Full Graphic Smart Controller de chez http://www.bigtree-tech.com acheté chez http://www.reprapme.com

Couple de carte Chinoise (RAMP1.4 et clone ARDUINO Mega 2560) : les deux afficheurs Full Graphic Smart Controller OK mais pas le lecteur de carte SD qui reste illisible (No SD card) par le firmware BQ.
Il me faut donc tester le MARLIN générique avec les cartes Chinoises.

Voilà pour mes tests de ce matin.
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

En principe le driver ch341 est utilisé pour le port USB, il n'a pas d'influence sur le chip ATMega et donc sur le fonctionnement de l'imprimante.
Par contre au niveau de la liaison USB en live, ca pourrait avoir une incidence.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
rds2002
Membre actif
Messages : 23
Inscription : jeu. févr. 04, 2016 11:30 am
Imprimante 3D : WitBox jaune, Prusa i3 Hephestos rouge et Vertex K8400 Vellemann

Après des semaines de tests intensifs et de modifications diverses du firmware pour mieux en appréhender le contenu, je me retrouve à nouveau au point de départ pour cause de changement de machine.

Je m'explique :

Nouveau MACBOOK PRO avec les deux cartes graphiques intégrées, IDE ARDUINO 1.0.6, Drivers FTDI et CH341 qui fonctionnent à merveille l'un comme l'autre suivant les cartes Arduino originales ou Chinoises. Mais hélas je suis passé de mac os x LION à El Capitan d'un seul coup avec cette machine (version 10.11.5 !) et me revoilà avec des erreurs de compilation de ce genre :
"
In file included from cardreader.cpp:2:
cardreader.h:10:20: error: SdFile.h: No such file or directory
In file included from cardreader.cpp:2:
cardreader.h:58: error: 'LONG_FILENAME_LENGTH' was not declared in this scope
cardreader.h:62: error: 'SdFile' does not name a type
cardreader.h:64: error: 'Sd2Card' does not name a type
cardreader.h:65: error: 'SdVolume' does not name a type
cardreader.h:66: error: 'SdFile' does not name a type
cardreader.h:82: error: 'SdFile' has not been declared
cardreader.h: In member function 'bool CardReader::isFileOpen()':
cardreader.h:45: error: 'file' was not declared in this scope
cardreader.h: In member function 'int16_t CardReader::get()':
cardreader.h:47: error: 'file' was not declared in this scope
cardreader.h: In member function 'void CardReader::setIndex(long int)':
cardreader.h:48: error: 'file' was not declared in this scope
cardreader.h: In member function 'char* CardReader::getWorkDirName()':
cardreader.h:50: error: 'workDir' was not declared in this scope
cardreader.cpp: In constructor 'CardReader::CardReader()':
cardreader.cpp:23: error: 'workDirParents' was not declared in this scope
cardreader.cpp: At global scope:
cardreader.cpp:36: error: expected ',' or '...' before '&' token
cardreader.cpp:36: error: ISO C++ forbids declaration of 'dir_t' with no type
cardreader.cpp: In function 'char* createFilename(char*, int)':
cardreader.cpp:41: error: 'p' was not declared in this scope
cardreader.cpp:46: error: 'p' was not declared in this scope
cardreader.cpp: At global scope:
cardreader.cpp:53: error: 'SdFile' has not been declared
cardreader.cpp: In member function 'void CardReader::lsDive(const char*, int)':
cardreader.cpp:55: error: 'dir_t' was not declared in this scope
cardreader.cpp:55: error: expected `;' before 'p'
cardreader.cpp:58: error: request for member 'readDir' in 'parent', which is of non-class type 'int'
cardreader.cpp:58: error: 'p' was not declared in this scope
cardreader.cpp:58: error: 'longFilename' was not declared in this scope
cardreader.cpp:60: error: 'DIR_IS_SUBDIR' was not declared in this scope
cardreader.cpp:78: error: 'SdFile' was not declared in this scope
cardreader.cpp:78: error: expected `;' before 'dir'
cardreader.cpp:79: error: 'dir' was not declared in this scope
cardreader.cpp:79: error: 'O_READ' was not declared in this scope
cardreader.cpp:88: error: 'dir' was not declared in this scope
cardreader.cpp:95: error: 'DIR_NAME_FREE' was not declared in this scope
cardreader.cpp:96: error: 'DIR_NAME_DELETED' was not declared in this scope
cardreader.cpp:105: error: 'DIR_IS_FILE_OR_SUBDIR' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::ls()':
cardreader.cpp:142: error: 'root' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::initsd()':
cardreader.cpp:150: error: 'root' was not declared in this scope
cardreader.cpp:155: error: 'class CardReader' has no member named 'init'
cardreader.cpp:155: error: 'SPI_FULL_SPEED' was not declared in this scope
cardreader.cpp:162: error: 'volume' was not declared in this scope
cardreader.cpp:167: error: 'root' was not declared in this scope
cardreader.cpp:178: error: 'workDir' was not declared in this scope
cardreader.cpp:178: error: 'root' was not declared in this scope
cardreader.cpp:179: error: 'curDir' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::setroot()':
cardreader.cpp:195: error: 'workDir' was not declared in this scope
cardreader.cpp:195: error: 'root' was not declared in this scope
cardreader.cpp:197: error: 'curDir' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::getAbsFilename(char*)':
cardreader.cpp:234: error: 'workDirParents' was not declared in this scope
cardreader.cpp:239: error: 'file' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::openFile(char*, bool, bool)':
cardreader.cpp:248: error: 'file' was not declared in this scope
cardreader.cpp:293: error: 'SdFile' was not declared in this scope
cardreader.cpp:293: error: expected `;' before 'myDir'
cardreader.cpp:294: error: 'curDir' was not declared in this scope
cardreader.cpp:294: error: 'root' was not declared in this scope
cardreader.cpp:312: error: 'myDir' was not declared in this scope
cardreader.cpp:312: error: 'O_READ' was not declared in this scope
cardreader.cpp:324: error: 'myDir' was not declared in this scope
cardreader.cpp:339: error: 'workDir' was not declared in this scope
cardreader.cpp:343: error: 'file' was not declared in this scope
cardreader.cpp:343: error: 'O_READ' was not declared in this scope
cardreader.cpp:364: error: 'file' was not declared in this scope
cardreader.cpp:364: error: 'O_CREAT' was not declared in this scope
cardreader.cpp:364: error: 'O_APPEND' was not declared in this scope
cardreader.cpp:364: error: 'O_WRITE' was not declared in this scope
cardreader.cpp:364: error: 'O_TRUNC' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::removeFile(char*)':
cardreader.cpp:385: error: 'file' was not declared in this scope
cardreader.cpp:389: error: 'SdFile' was not declared in this scope
cardreader.cpp:389: error: expected `;' before 'myDir'
cardreader.cpp:390: error: 'curDir' was not declared in this scope
cardreader.cpp:390: error: 'root' was not declared in this scope
cardreader.cpp:408: error: 'myDir' was not declared in this scope
cardreader.cpp:408: error: 'O_READ' was not declared in this scope
cardreader.cpp:420: error: 'myDir' was not declared in this scope
cardreader.cpp:435: error: 'workDir' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::write_command(char*)':
cardreader.cpp:470: error: 'file' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::checkautostart(bool)':
cardreader.cpp:509: error: 'dir_t' was not declared in this scope
cardreader.cpp:509: error: expected `;' before 'p'
cardreader.cpp:511: error: 'root' was not declared in this scope
cardreader.cpp:514: error: 'p' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::closefile(bool)':
cardreader.cpp:540: error: 'file' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::getfilename(uint8_t)':
cardreader.cpp:557: error: 'curDir' was not declared in this scope
cardreader.cpp:557: error: 'workDir' was not declared in this scope
cardreader.cpp: In member function 'uint16_t CardReader::getnrfilenames()':
cardreader.cpp:567: error: 'curDir' was not declared in this scope
cardreader.cpp:567: error: 'workDir' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::chdir(const char*)':
cardreader.cpp:578: error: 'SdFile' was not declared in this scope
cardreader.cpp:578: error: expected `;' before 'newfile'
cardreader.cpp:579: error: 'parent' was not declared in this scope
cardreader.cpp:579: error: 'root' was not declared in this scope
cardreader.cpp:581: error: 'workDir' was not declared in this scope
cardreader.cpp:584: error: 'newfile' was not declared in this scope
cardreader.cpp:584: error: 'O_READ' was not declared in this scope
cardreader.cpp:594: error: 'workDirParents' was not declared in this scope
cardreader.cpp:595: error: 'workDirParents' was not declared in this scope
cardreader.cpp:597: error: 'workDir' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::updir()':
cardreader.cpp:606: error: 'workDir' was not declared in this scope
cardreader.cpp:606: error: 'workDirParents' was not declared in this scope
cardreader.cpp: In member function 'void CardReader::printingHasFinished()':
cardreader.cpp:619: error: 'file' was not declared in this scope
cardreader.cpp:628: error: 'file' was not declared in this scope
"
Je vois bien que tout tourne autour du SDCARD READER mais je n'ai pas assez les idées claires pour m'en sortir. Une idée ?
Je reste persuadé qu'à force une fois de plus de manipuler dans tous les sens, même avec l'habitude, je bute sur un problème tout bête. Si quelqu'un voit ce que je ne vois pas ...
Répondre