Aller au contenu

Anycubic Kobra 3 Combo

Erreurs compilations end-stop


Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.


 

image.jpg

Lien vers le commentaire
Partager sur d’autres sites

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) par heriat
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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) par heriat
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ..

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

 

Capture d’écran 2020-06-18 à 13.16.18 1.png

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

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
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.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...