fanfoi Posté(e) Juin 13, 2020 Posté(e) Juin 13, 2020 Bonsoir à tous, Lors de la compilation de Marlin sur ma carte je suis bloqué par une erreur : In file included from sketch\endstops.cpp:35:0: sketch\endstop_interrupts.h: In function 'void setup_endstop_interrupts()': endstop_interrupts.h:111:7: error: static assertion failed: X_MAX_PIN is not interrupt-capable static_assert(digitalPinToPCICR(X_MAX_PIN) != NULL, "X_MAX_PIN is not interrupt-capable"); // if pin has no pin change interrupt - error ^ endstop_interrupts.h:121:7: error: static assertion failed: X_MIN_PIN is not interrupt-capable static_assert(digitalPinToPCICR(X_MIN_PIN) != NULL, "X_MIN_PIN is not interrupt-capable"); ^ endstop_interrupts.h:131:7: error: static assertion failed: Y_MAX_PIN is not interrupt-capable static_assert(digitalPinToPCICR(Y_MAX_PIN) != NULL, "Y_MAX_PIN is not interrupt-capable"); ^ endstop_interrupts.h:141:7: error: static assertion failed: Y_MIN_PIN is not interrupt-capable static_assert(digitalPinToPCICR(Y_MIN_PIN) != NULL, "Y_MIN_PIN is not interrupt-capable"); ^ exit status 1 static assertion failed: X_MAX_PIN is not interrupt-capable cette erreur est résumé par : static assertion failed: X_MAX_PIN is not interrupt-capable le seul moyen que j'ai trouvé pour la faire disparaître est de commenté dans configuration.h : #define ENDSTOP_INTERRUPTS_FEATURE Mon problème est : Quand je lance Pronterface pour tester mes moteurs (montage a nu) et que je les déplacent, soit au bout de "x" tours la carte plante et je suis obligé de déconnecté puis reconnecté, entrer la commande : G28 puis je peux refaire fonctionner mes moteurs. Mais mon plus gros problème est que quand j'actionne manuellement une endstop les moteurs ne s’arrêtent pas de tourné. Est-ce que la réactivation de "#define ENDSTOP_INTERRUPTS_FEATURE" permettra le blocage suite a l'activation de mes endstops et si oui, comment régler mon erreur ? Très amicalement, Fanfoi
heriat Posté(e) Juin 14, 2020 Posté(e) Juin 14, 2020 salut si je peux me permettre pour pouvoir t'aider il faudrait plus de précisions quel hardware ? quelle machine ? quelle version de Marlin ? cordialement Jean-Marie
fanfoi Posté(e) Juin 14, 2020 Auteur Posté(e) Juin 14, 2020 Il y a 3 heures, heriat a dit : salut si je peux me permettre pour pouvoir t'aider il faudrait plus de précisions quel hardware ? quelle machine ? quelle version de Marlin ? cordialement Jean-Marie Bonjour my bad j’avais complètement oublié les basiques... Pour le firmware je ne peux plus te dire précisément car ce n’est pas marqué dans un des fichiers mais le copyright date de 2018 et dans mes souvenirs cela datais de janvier. Le hardware maintenant : - les moteurs : Nema 23 (72mm) - drivers : TB6600 - alimentations : 24V 10A - carte mère : Megatronic V3.3 - endstop : IE5287 (capteur inductif), simple capteur mécanique. L’imprimante étant une reprap je n’ai pas de nom à te donner. Mais je te joins une photo du montage d’aujourd’hui. Si possiblement le problème viens de Marlin, est-il possible de la télécharger puis échanger mon fichier configuration.h (déjà rempli et paramétrer) ou je doit tout reprendre à zéro ? Très amicalement, Fanfoi.
heriat Posté(e) Juin 14, 2020 Posté(e) Juin 14, 2020 (modifié) je ne connais pas cette carte et tu as un nema 23 et une carte stepper que je ne connais pas non plus mais ce que je peux dire et cela sans aucune prétention paracerque c'est un domaine ou il est facile de se perdre c'est que il faut être très méthodique moi je commence par compiler une version de base qui ne peut rien faire bien sur ensuite je fais une sauvegarde que j'appelle V1 ensuite je commence a travailler dessus les endstops en premier ensuite le sens des moteurs et des que j'avance un peu je fais une nouvelle sauvegarde en V2 ou V1.1 v1.2 etc ainsi si je rencontre un souci , je reviens a la version précédente et je continue a travailler dessus maintenant chacun sa méthode mais il est très facile de se perdre et de s'embrouiller .. bon courage Jean-Marie ps: c'est ta première conception de machine ? Modifié (le) Juin 14, 2020 par heriat
papagalak Posté(e) Juin 14, 2020 Posté(e) Juin 14, 2020 il y a 14 minutes, heriat a dit : c'est que il faut être très méthodique moi je commence par compiler une version de base qui ne peut rien faire bien sûr. Jean-Marie Je suis tout à fait d'accord avec @heriat Pour une bonne compréhension de ce que l'on fait, on y va petit à petit, comme en modélisme, il est difficile de savoir ce qui ne va pas si on modifie plusieurs choses en même temps. oui tu peux régler ton fichier.h
heriat Posté(e) Juin 14, 2020 Posté(e) Juin 14, 2020 (modifié) en general avec le marlin 1.1 on travaille sur le config.h mais quand on avance un peu plus ou que l'on veut des fonctions spéciales on va être amené a travailler sur d'autres fichiers par exemple le configadvanced mais y a quand même déjà beaucoup a faire sur le config.h on regle les temp , le sens des endstops , le mode des endstops (leur type) le sens des moteurs si tu as 1 ou 2 moteurs en Z si tu as un capteur de bed (toucj) il faut tester les endstop avec pronterface pour voir si ils sont reconnus la commande M119 donne l'etat des endstops Modifié (le) Juin 14, 2020 par heriat
fanfoi Posté(e) Juin 14, 2020 Auteur Posté(e) Juin 14, 2020 il y a 44 minutes, heriat a dit : des que j'avance un peu je fais une nouvelle sauvegarde en V2 ou V1.1 v1.2 etc Pour la datation des versions que je crée (V1,1-V2) je l'ai déjà commencé étant donné que je suis en V2 il y a 50 minutes, heriat a dit : ps: c'est ta première conception de machine ? Effectivement c'est mon premier projet d'imprimante 3D mais je le fait en collaboration avec mon frère (qui finance et gère la conception de la machine) il y a 19 minutes, heriat a dit : la commande M119 donne l'etat des endstops Merci pour la commande je vais l'essayer. Histoire de repartir sur de bonne base, je vais recommencer entièrement a partir de la dernière version la configuration de marlin, peut-être que cela résoudra mon problème de compilation. Je vous tiens informé de l'avancement de mon projet d'ici quelque heure. Amicalement, Fanfoi.
heriat Posté(e) Juin 14, 2020 Posté(e) Juin 14, 2020 je vais te dire une chose encore une fois sans prétention mais pour un premier projet , tu devrais partir sur une machine simple et après seulement se lancer sur un projet plus lourd moi aussi j'aurais aimé me faire une bécane de 500 *400 mais j'ai décidé de partir sur du 220*220 et sur du ramps er Arduino pour me faire la main après je vais me lancer dans d'autres projets plus ambitieux mais griller les étapes c'est la meilleure façon de se décourager mais bon c'est toi qui voit dans tous les cas il faut beaucoup de patience paracerque y a quelquefois des trucs qui rendent chèvre ..
fanfoi Posté(e) Juin 14, 2020 Auteur Posté(e) Juin 14, 2020 Effectivement c'est un gros projet qui va coûter quasiment 800€ pour la première version mais cela fait plus de 2 ans que l'on est sur le projet et tout est déjà prêt. mais l'on a déjà acheter la moitié des pièces (de la carte, aux capteurs jusqu'aux profilé) et la conception entière en 3D de l'imprimante via SolidWorks a déjà été faite. Il ne reste plus que le firmware et beaucoup de tests. c'est pour cela que je vais repartir à 0 en recommençant avec Marlin 2.0. Amicalement, Fanfoi
Francis. Posté(e) Juin 14, 2020 Posté(e) Juin 14, 2020 Il y a une option dans la config qui dit que l'action du endstop peut être géré via des interrupts. Ce n'est pas compatible avec cette carte. Il faut enlever cette option et ça marche très bien sans.. Aux alentours de la ligne 600 du config.h de marlin 1.1.9: // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //#define ENDSTOP_INTERRUPTS_FEATURE Francis.
fanfoi Posté(e) Juin 18, 2020 Auteur Posté(e) Juin 18, 2020 (modifié) Bonjour, Petite mise a jour : Je suis passé sur Marlin 2.0.5.3, j'ai donc re-paramétrer entièrement mon configuration.h a partir de ma version 1.1.9 de Marlin. Mais je block sur une erreur après la vérification encore jamais vu... stray "#" in program Je n'ai pas la moindre idée à quoi elle correspond, est-ce possible que cela viennes de Mac OS X ? elle est suivi de : sketch/src/inc/../core/macros.h:430:24: note: in expansion of macro 'EVAL4' #define EVAL8(V...) EVAL4(EVAL4(V)) Je n'ai pas mit la totalité de l'erreur, après vérification l'erreur fait 9774 lignes (sans exagérations). Le morceau de code que je vous ait joins est une "phase" répété principalement dans toute l'erreur. Je vous joins une capture d'écran du google docs que je fait dans le but de mon projet. Amicalement, Fanfoi. Modifié (le) Juin 18, 2020 par fanfoi
gerardm Posté(e) Juin 19, 2020 Posté(e) Juin 19, 2020 stray veut dire égaré. Ne manque-t-il pas un "#" quelque part?
heriat Posté(e) Juin 19, 2020 Posté(e) Juin 19, 2020 salut verifie que tu as bien la derniere version de arduino parceque je me suis fait avoir il y a peu j'avais une version qui avait été installée par windows de facon autoritaire et après reinstall d'une version 1.8.9 plus d'erreurs je ne dis pas que c'est ca mais il faut éliminer tous les doutes bon courage Jean-Marie
fanfoi Posté(e) Juin 19, 2020 Auteur Posté(e) Juin 19, 2020 Bonjour, Il y a 4 heures, gerardm a dit : stray veut dire égaré. Ne manque-t-il pas un "#" quelque part? Je vais look mais je n'ai supprimé aucun caractère surtout que j'ai télécharger le firmware le jour même sur le site. Il y a 3 heures, heriat a dit : verifie que tu as bien la derniere version de arduino Normalement oui, je l'ai installer le jour même pour la vérification. Il y a 3 heures, heriat a dit : reinstall d'une version 1.8.9 plus d'erreurs effectivement je vais voir parce que la version fournis par le site Arduino pour mac est la 1.8.13... je vais voir pour téléverser sur un pc plutôt que sur le mac avec une version récente. merci a vous deux. Amicalement, Fanfoi
heriat Posté(e) Juin 19, 2020 Posté(e) Juin 19, 2020 le piège c'est que quand tu vas sur le site arduino.cc tu fais download là tu cliques sur le bon téléchargement sauf que a ce moment là y a le navigateur edge qui redirige vers le store et le store lui installe une version 1.8.6 donc méfiance bien regarder quand on lance arduino en haut de la barre si c'est bien écrit 1.8.9 ou 1.8.11
fanfoi Posté(e) Juin 19, 2020 Auteur Posté(e) Juin 19, 2020 Hello, petite update. il y a 2 minutes, heriat a dit : navigateur edge qui redirige vers le store et le store lui installe une version 1.8.6 Je n'ai pas ce "problème" vu que je suis sur mac. L'erreur venais bien de deux fois où j'avais mit des caractères sans faire attention avant des "#". Cette erreur est donc réglé ! Mais, ensuite j'ai eu un petit problème avec le leveling où il fallait activé des réglages EEPROM... assez simple a réglé. MAIS je reviens directement sur l'erreur de début avant même d'avoir essayer de téléverser mon programme. sketch/src/module/../HAL/AVR/endstop_interrupts.h:151:7: error: static assertion failed: Y_MIN_PIN is not interrupt-capable static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable"); ^~~~~~~~~~~~~ D'après certains forums anglais : https://reprap.org/forum/read.php?415,861799 il s'agirais d'un problème de compatibilité avec ma carte ? mais le hic, c'est que je ne téléverse même pas, je vérifie uniquement le programme ? Quelqu'un a une solution ? Merci d'avance. Amicalement, Fanfoi ps : voici le code d'erreur en entier si ça peut help : In file included from sketch/src/module/endstops.cpp:36:0: sketch/src/module/../HAL/AVR/endstop_interrupts.h: In function 'void setup_endstop_interrupts()': sketch/src/module/../HAL/AVR/endstop_interrupts.h:127:7: error: static assertion failed: X_MAX_PIN is not interrupt-capable static_assert(digitalPinHasPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable"); ^~~~~~~~~~~~~ sketch/src/module/../HAL/AVR/endstop_interrupts.h:135:7: error: static assertion failed: X_MIN_PIN is not interrupt-capable static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable"); ^~~~~~~~~~~~~ sketch/src/module/../HAL/AVR/endstop_interrupts.h:143:7: error: static assertion failed: Y_MAX_PIN is not interrupt-capable static_assert(digitalPinHasPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable"); ^~~~~~~~~~~~~ sketch/src/module/../HAL/AVR/endstop_interrupts.h:151:7: error: static assertion failed: Y_MIN_PIN is not interrupt-capable static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable"); ^~~~~~~~~~~~~ exit status 1 Erreur de compilation pour la carte Arduino Mega or Mega 2560
gerardm Posté(e) Juin 19, 2020 Posté(e) Juin 19, 2020 Je ne connais pas ta carte mère mais d'après ce que j'ai lu tu peux activer PINS_DEBUGGING puis envoyer M43 pour obtenir une liste complète de toutes les broches et de leurs capacités. Attention la fonctionnalité PINS_DEBUGGING doit être désactivée pour une utilisation en production. Tu auras la liste de toutes les broches et leurs emplois ..... Par exemple voila un extrait: PIN: 0 Port: E0 RXD protected PIN: 1 Port: E1 TXD protected PIN: 2 Port: E4 HEATER_0_PIN protected PIN: 3 Port: E5 <unused/unknown> Input = 0 TIMER3C PWM: 0 WGM: 1 COM3C: 0 CS: 3 TCCR3A: 1 TCCR3B: 3 TIMSK3: 0 PIN: 4 Port: G5 SPINDLE_LASER_PWM_PIN Input = 0 TIMER0B PWM: 128 WGM: 3 COM0B: 0 CS: 3 TCCR0A: 3 TCCR0B: 3 TIMSK0: 5 PIN: 5 Port: E3 SERVO0_PIN Input = 0 TIMER3A PWM: 0 WGM: 1 COM3A: 0 CS: 3 TCCR3A: 1 TCCR3B: 3 TIMSK3: 0 PIN: 6 Port: H3 HEATER_BED_PIN protected PIN: 7 Port: H4 FAN_PIN protected PIN: 8 Port: H5 E0_AUTO_FAN_PIN protected . FAN1_PIN protected l'étiquette "protégée", la broche est protégée contre le changement par Marlin. Si tu as suffisamment de broches capables d'interruption, tu pourras peut-être déplacer tes butées vers celles-ci. Mais la 1 ére chose à faire c'est d'indiquer la bonne carte à arduino
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant