Page 3 sur 3

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 12:52 pm
par rds2002
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.

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 1:02 pm
par Axel
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 ?

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 2:03 pm
par ping
Ci-joint le fichier Configuration.h modifié.
Configuration.h.zip
(15.04 Kio) Téléchargé 343 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.

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 2:23 pm
par activa1969
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

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 9:10 pm
par rds2002
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 ?

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 9:54 pm
par rds2002
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 ?

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 10:14 pm
par ping
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 ;)

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 11:36 pm
par activa1969
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

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 11:50 pm
par rds2002
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.

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 11:56 pm
par ping
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

Re: Compilation firmware Hephestos

Publié : mar. mai 03, 2016 11:59 pm
par rds2002
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 ...

Re: Compilation firmware Hephestos

Publié : mer. mai 04, 2016 9:51 am
par rds2002
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é ?

Re: Compilation firmware Hephestos

Publié : mer. mai 04, 2016 11:59 am
par rds2002
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.

Re: Compilation firmware Hephestos

Publié : mer. mai 04, 2016 8:11 pm
par Jacques
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.

Re: Compilation firmware Hephestos

Publié : sam. juin 04, 2016 11:31 am
par rds2002
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 ...