Aller au contenu

GO Print

[Résolu] Marlin 1.1.9 pour CR-10S - Défaut compilation


Guizboy

Messages recommandés

Bonjour,

J'ai quelques soucis avec un domaine que je ne connais pas très bien. A savoir, la compilation de Marlin 1.1.9 sous Arduino 1.8.6.

J'ai téléchargé le marlin 1.1.9 et modifié tout ce que je souhaitais.
Mais au moment de le compiler, j'obtiens cette erreur :

Arduino : 1.8.6 (Windows Store 1.8.14.0) (Windows 10), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from sketch\HAL.h:33:0,

                 from sketch\MarlinConfig.h:39,

                 from sketch\Sd2Card.cpp:29:

Sd2Card.h:100:39: error: pasting "/* SPI Master In Slave Out pin*/" and "_DDR" does not give a valid preprocessing token

   #define SPI_MISO_PIN MISO_PIN       // SPI Master In Slave Out pin

                                       ^

sketch\fastio.h:86:42: note: in definition of macro '_SET_INPUT'

 #define _SET_INPUT(IO)        CBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)

                                          ^

sketch\Sd2Card.cpp:316:3: note: in expansion of macro 'SET_INPUT'

   SET_INPUT(SPI_MISO_PIN);

   ^

sketch\Sd2Card.cpp:316:13: note: in expansion of macro 'SPI_MISO_PIN'

   SET_INPUT(SPI_MISO_PIN);

             ^

Sd2Card.h:100:39: error: pasting "/* SPI Master In Slave Out pin*/" and "_PIN" does not give a valid preprocessing token

   #define SPI_MISO_PIN MISO_PIN       // SPI Master In Slave Out pin

                                       ^

sketch\fastio.h:86:61: note: in definition of macro '_SET_INPUT'

 #define _SET_INPUT(IO)        CBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)

                                                             ^

sketch\Sd2Card.cpp:316:3: note: in expansion of macro 'SET_INPUT'

   SET_INPUT(SPI_MISO_PIN);

   ^

sketch\Sd2Card.cpp:316:13: note: in expansion of macro 'SPI_MISO_PIN'

   SET_INPUT(SPI_MISO_PIN);

             ^

Sd2Card.h:99:39: error: pasting "/* SPI Master Out Slave In pin*/" and "_DDR" does not give a valid preprocessing token

   #define SPI_MOSI_PIN MOSI_PIN       // SPI Master Out Slave In pin

                                       ^

sketch\fastio.h:87:42: note: in definition of macro '_SET_OUTPUT'

 #define _SET_OUTPUT(IO)       SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)

                                          ^

sketch\Sd2Card.cpp:317:3: note: in expansion of macro 'SET_OUTPUT'

   SET_OUTPUT(SPI_MOSI_PIN);

   ^

sketch\Sd2Card.cpp:317:14: note: in expansion of macro 'SPI_MOSI_PIN'

   SET_OUTPUT(SPI_MOSI_PIN);

              ^

Sd2Card.h:99:39: error: pasting "/* SPI Master Out Slave In pin*/" and "_PIN" does not give a valid preprocessing token

   #define SPI_MOSI_PIN MOSI_PIN       // SPI Master Out Slave In pin

                                       ^

sketch\fastio.h:87:61: note: in definition of macro '_SET_OUTPUT'

 #define _SET_OUTPUT(IO)       SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)

                                                             ^

sketch\Sd2Card.cpp:317:3: note: in expansion of macro 'SET_OUTPUT'

   SET_OUTPUT(SPI_MOSI_PIN);

   ^

sketch\Sd2Card.cpp:317:14: note: in expansion of macro 'SPI_MOSI_PIN'

   SET_OUTPUT(SPI_MOSI_PIN);

              ^

Sd2Card.h:101:39: error: pasting "/* SPI Clock pin*/" and "_DDR" does not give a valid preprocessing token

   #define SPI_SCK_PIN SCK_PIN         // SPI Clock pin

                                       ^

sketch\fastio.h:87:42: note: in definition of macro '_SET_OUTPUT'

 #define _SET_OUTPUT(IO)       SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)

                                          ^

sketch\Sd2Card.cpp:318:3: note: in expansion of macro 'SET_OUTPUT'

   SET_OUTPUT(SPI_SCK_PIN);

   ^

sketch\Sd2Card.cpp:318:14: note: in expansion of macro 'SPI_SCK_PIN'

   SET_OUTPUT(SPI_SCK_PIN);

              ^

Sd2Card.h:101:39: error: pasting "/* SPI Clock pin*/" and "_PIN" does not give a valid preprocessing token

   #define SPI_SCK_PIN SCK_PIN         // SPI Clock pin

                                       ^

sketch\fastio.h:87:61: note: in definition of macro '_SET_OUTPUT'

 #define _SET_OUTPUT(IO)       SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)

                                                             ^

sketch\Sd2Card.cpp:318:3: note: in expansion of macro 'SET_OUTPUT'

   SET_OUTPUT(SPI_SCK_PIN);

   ^

sketch\Sd2Card.cpp:318:14: note: in expansion of macro 'SPI_SCK_PIN'

   SET_OUTPUT(SPI_SCK_PIN);

              ^

exit status 1
pasting "/* SPI Master In Slave Out pin*/" and "_DDR" does not give a valid preprocessing token

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

Sachant que pas mal de personnes ont déjà installé Marlin 1.1.9, je suppose que le problème est connu. Pourtant et malgré mes recherches, je n'ai pas trouvé de solution.

Quelqu'un peut-il me dépanner avec ce schmilblick s'il vous plaît ?

Lien vers le commentaire
Partager sur d’autres sites

Je l'ai déjà fait pour la version 1.1.8 et je n'ai eu aucun problème.
C'est possible que ça vienne d'une librairie qui n'est pas à jour ?

Je reviens dans deux heures, je vais changer les roulements de moyeux sur une 307 SW 😕

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Si tu regarde la première erreur, le compilateur indique, grâce à ^ , que ça se situe au niveau du double slash (//)

Fait une sauvegarde et supprime tous les commentaires, y compris les doubles slash.

 

🙂

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

Même si c’était la solution ça doit marcher avec les commentaires.

ça ne coute rien de faire une mise à jour de tes bibliothèques (arduino te le propose au démarrage) mais tu as du effacer une ligne de code par accident ça arrive.

Reprend la version d'origine de la 1.19 pour comparer ou recommence tout de zero.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Apparemment, la macro MISO_PIN est vide. Donc lorsque le compilateur veut concaténer DIO, IO ET _DDR avec ##, ce sont les commentaires qui sont utilisés (au lieu du N° de pin).

As tu utilisé Git pour télécharger l'archive de Marlin ? Si oui peux tu affricher le résultat de la commande :

git diff

Enlever les commentaires vas te permettre de compiler Marlin (enfin de passer cette erreur, il y en aura peut être une autre après), mais je doute que le binaire fonctionne correctement.

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

Merci pour votre aide 🙂

J'ai essayé de virer les // sur les lignes indiquées @Yo'.
Du coup la compilation va jusqu'au bout mais ensuite un message d'erreur apparaît :

Arduino : 1.8.6 (Windows Store 1.8.14.0) (Windows 10), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\Guiz\Documents\Arduino\libraries\U8glib\src\clib\u8g_ll_api.c: In function 'u8g_NextPage.constprop':

C:\Users\Guiz\Documents\Arduino\libraries\U8glib\src\clib\u8g_ll_api.c:395:1: internal compiler error: Segmentation fault

 }

 ^

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.14.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.14.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Erreur de compilation pour la carte Arduino/Genuino Mega or Mega 2560

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

On dirait que ça a un rapport avec la libraire U8glib, non ?

Il y a 5 heures, doby02 a dit :

ça ne coute rien de faire une mise à jour de tes bibliothèques (arduino te le propose au démarrage) mais tu as du effacer une ligne de code par accident ça arrive.

Je fais les MAJ à chaque fois que ça me le propose.
Effacer une ligne de code ? Possible, je vais réessayer à partir d'un nouveau téléchargement du marlin.

 

Il y a 4 heures, zPixel a dit :

Apparemment, la macro MISO_PIN est vide. Donc lorsque le compilateur veut concaténer DIO, IO ET _DDR avec ##, ce sont les commentaires qui sont utilisés (au lieu du N° de pin).

Mec tu m'as filé une de ces migraines 😕
J'ai compris "compilateur". le reste de ta phrase m'a mis en PLS !
Je n'y connais pas grand chose sur ce sujet 😉

  • Haha 1
Lien vers le commentaire
Partager sur d’autres sites

J'ai retéléchargé le Marlin 1.1.9 et j'ai essayé de le compiler sans rien modifier.
Ça marche sans soucis.
Je vais refaire les modifs dont j'ai besoin et je vous tiens au courant.

Lien vers le commentaire
Partager sur d’autres sites

L'erreur apparait dès lors que je dé commente la ligne #define SDSUPPORT
Je vais reprendre les lignes une par une pour voir si j'ai fait une erreur.

Lien vers le commentaire
Partager sur d’autres sites

il y a 10 minutes, jmarie3D a dit :

Dans le fichier Configuration.h fourni pour la CR10S, cette ligne n'est pas commentée

Je ne suis pas sûr d'avoir bien compris la question.
Je n'ai rien copié, j'ai juste téléchargé le marlin 1.1.9 sur GitHub et extrait ce qu'il y a dans l'archive.
Ensuite j'ai lancé Arduino à partir du fichier Marlin.ino.
Puis j'ai modifié tout ce dont j'avais besoin.

Je ne sais pas si ça répond à ta question.

Pour le reste j'ai pu tout modifier, ça marche. Il n'y a que le support de carte SD qui ne fonctionne pas.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @Guizboy ,

As-tu essayé de compilé avec Arduino version 1.8.5 (tu indiques que tu as utilisé la version 1.8.6). Sur Reddit, un utilisateur avait des problèmes de compilation qui se sont résolus en utilisant cette version 1.8.5.

Sinon, le firmware mis à disposition par TH3D incorpore quasiment toutes les modifications pour nos machines, il suffit de décommenter la machine utilisée (CR10S) et les options ajoutées. Même si je me doute que tu préfères tout faire à la main et à ta sauce 😉 .

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

il y a 7 minutes, fran6p a dit :

Même si je me doute que tu préfères tout faire à la main et à ta sauce 😉 .

T'as tout compris ^^
Je voulais partir de zéro pour comprendre plus en profondeur le système marlin. Mais c'est encore trop tôt apparemment 🙂

Je vais essayer de faire un différentiel avec le Firmware de TH3D.

Là ça fonctionne mais après avoir pris son origine, elle fait des M600 en boucle 😕
Je suis en train de chercher la cause.

Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, Guizboy a dit :

Je vais essayer de faire un différentiel avec le Firmware de TH3D.

Bonne méthode mais avec le Marlin de TH3D c'est pas simple de faire un diff.

Problème avec le détecteur de filament (M600)?

Lien vers le commentaire
Partager sur d’autres sites

Bien pensé, malheureusement, je viens d'essayer et ce n'est pas ça 🙂

En tout cas la gestion fine des mouvements de cette version à l'air d'être très bien pensée.
Les accélérations, mouvements sur les butées, c'est beaucoup mieux 🙂

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

il y a 23 minutes, fran6p a dit :

Problème avec le détecteur de filament (M600)?

Eh ben si finalement, tu avais raison, au temps pour moi.
J'avais oublié de changer la valeur de "FIL_RUNOUT_PIN" dans l'onglet "pins_RAMPS_h"

Merci @fran6p

  • J'aime 2
Lien vers le commentaire
Partager sur d’autres sites

Problème résolu :

  • J'ai supprimé les commentaires sur les lignes suivantes en suivant cette soluce : Forum Arduino
    #define SPI_MOSI_PIN MOSI_PIN       
        #define SPI_MISO_PIN MISO_PIN       
        #define SPI_SCK_PIN SCK_PIN   
    Plus de problème avec le SDSUPPORT
  • Quant à mon autre soucis, il venait du fait que j'avais deux dossier u8glib dans user/documents/arduino/libraries

Merci pour votre aide les copains !

@pascal_lb : Est-ce que tu peux mettre une balise [Résolu] sur ce sujet s'il te plaît ?
D'avance merci 😉

Lien vers le commentaire
Partager sur d’autres sites

  • pascal_lb changed the title to [Résolu] Marlin 1.1.9 pour CR-10S - Défaut compilage
Bonjour [mention=11066]Guizboy[/mention] ,
As-tu essayé de compilé avec Arduino version 1.8.5 (tu indiques que tu as utilisé la version 1.8.6). Sur Reddit, un utilisateur avait des problèmes de compilation qui se sont résolus en utilisant cette version 1.8.5.
Sinon, le firmware mis à disposition par TH3D incorpore quasiment toutes les modifications pour nos machines, il suffit de décommenter la machine utilisée (CR10S) et les options ajoutées. Même si je me doute que tu préfères tout faire à la main et à ta sauce [emoji6] .
Bonjour
Je confirme, j'ai aussi eu des soucis et ai utilisé cette procédure.
Le arduino 1.86 m'a posé des soucis avec des erreurs aléatoires.

Quand tu télécharges th3d, dans les dossiers, il y a arduino 1.85 en version portable.

Avec la version portable, je n'ai plus de soucis alors qu'avec la version installée sur mon pc, j'ai tenté désinstalle et réinstallation, mais j'avais toujours des erreurs.

Après tu peux utiliser les tutos cr10.fr + le fil sur ce forum pour une install propre, moi je ne voulais pas avoir la customisation th3d.

J'espère que cela pourra t'aider.

Envoyé de mon SM-G955F en utilisant Tapatalk

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • fran6p changed the title to [Résolu] Marlin 1.1.9 pour CR-10S - Défaut compilation

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
×
×
  • Créer...