Création d'un menu de choix vers plusieurs Marlin différent

Bonjour à tous Je souhaiterais créer une imprimante 3d/cnc/laser Mon problème est que je ne trouve aucun firmware capable de tout gérer. Ce que j'aimerais faire est : -soit créer un menu qui me donnerai accès à deux Marlin configuré différemment ( un pour l'impression 3d et un autre pour cnc graveur bois/cnc laser) -soit un menu qui me permettrais de choisir entre Marlin et grbl -soit un menu qui me permettrait de modifier automatiquement certain paramètre de Marlin pour qu'il fonctionne sur les deux têtes différentes (impression/cnc)

Selon vous quel serait l'option la plus envisageable et réalisable ?

Pour info je suis vraiment pas calé en arduino si possible de m'expliquer pas à pas cela serait gentil.

Je vous remercie pour votre attention et vos futures réponses

Le problème c'est qu'il est absolument impossible de faire rentrer deux versions de marlin ou autre dans la rom d'un atmega2560, donc ta demande n'est pas réalisable.

Les paramètres de Marlin sont modifiés avant compilation si je ne m'abuse, donc la encore ce n'est pas possible.

Le plus simple est sans doute d'avoir les différentes configs prêtes sur le PC et de les téléverser dans la machine en fonction des besoins

Merci de ta réponse il n'y a aucune possibilité d'allonger cette mémoire ?

Non, aucune

Merci de ta réponse il n'y a aucune possibilité d'allonger cette mémoire ?

Ce n'est pas un problème de taille mémoire.

Un sketch se charge à une adresse précise. Pour charger deux sketches il faudrait changer l'adresse de démarrage (lien) des deux sketches et créer un genre de bootloader avec menu pour exécuter l'un ou l'autre. Pas du tout à la portée d'un débutant malheureusement.

bricofoy: Le plus simple est sans doute d'avoir les différentes configs prêtes sur le PC et de les téléverser dans la machine en fonction des besoins

Certainement.

OK bon bah je vais voir ça avec mon informaticien de beau frère sinon j'utiliserai la solution que tu m'as donné merci de tes lumières

hbachetti: Ce n'est pas un problème de taille mémoire.

Dans ce cas précis, si. Même si le problème que tu soulèves est sans doute aussi compliqué à gérer

Une solution à coût raisonnable serait de mettre un RPi devant l’arduino et vous créez une petite interface sur le raspberry qui upload le bon programme sur larduino

En bossant plus si vous avez une compréhension fine de ce que font les logiciels c’est de prendre un plus gros Arduino genre teensy 3.5/3.6 et bosser sur l’intégration, mais ce n’est pas trivial du tout

Dans ce cas précis, si. Même si le problème que tu soulèves est sans doute aussi compliqué à gérer

En compilant Marlin j'obtiens :

RAM:   [===       ]  29.5% (used 2417 bytes from 8192 bytes)
Flash: [==        ]  21.2% (used 53832 bytes from 253952 bytes)

Dans une MEGA il y a assez de place pour loger 4 sketches Marlin.

Pour en revenir à ceci :

bricofoy: Le plus simple est sans doute d'avoir les différentes configs prêtes sur le PC et de les téléverser dans la machine en fonction des besoins

On fait souvent ça en production industrielle. Imaginons un logiciel de test sur PC. Ce logiciel doit tester une carte d'un point de vue fonctionnel. Il charge dans la carte à tester un firmware de test, exécute les tests et ensuite si la carte est OK il charge dans la carte le firmware définitif dit "officiel".

En fait avec d'autres processeurs qu'ATMEGA328 c'est plus simple. On charge le firmware de test en RAM avec un programmateur (JTAG). En fin de test il suffit de redémarrer la carte pour que le firmware officiel démarre.

Il serrait assez facile de charger un sketch parmi N avec un script (ou batch Windows) appelant AVRDUDE avec les paramètres qui vont bien.

Il suffit de compiler chaque version, et récupérer les .elf correspondants.

Ensuite pour charger l'un ou l'autre, lancer simplement le script correspondant. C'est à la portée d'un débutant, avec un peu de travail.

hbachetti:
En compilant Marlin j’obtiens :

RAM:   [===       ]  29.5% (used 2417 bytes from 8192 bytes)

Flash: [==        ]  21.2% (used 53832 bytes from 253952 bytes)



Dans une MEGA il y a assez de place pour loger 4 sketches Marlin.

Hu ? Sur ma propre imprimante 3D je suis à 60% de la flash :o

Il serrait assez facile de charger un sketch parmi N avec un script (ou batch Windows) appelant AVRDUDE avec les paramètres qui vont bien.

Il suffit de compiler chaque version, et récupérer les .elf correspondants.

Ensuite pour charger l’un ou l’autre, lancer simplement le script correspondant.
C’est à la portée d’un débutant, avec un peu de travail.

C’est exactement à ça que je pensais

bricofoy: C'est exactement à ça que je pensais

Moi aussi mais depuis un RPi plutôt que de monopoliser un PC

bricofoy:
Hu ? Sur ma propre imprimante 3D je suis à 60% de la flash :o

J’ai compilé sans toucher aux options. Tu as peut être activé des options gourmandes ?

J-M-L:
Moi aussi mais depuis un RPi plutôt que de monopoliser un PC

Je pensais qu’une imprimante 3D était forcément reliée à un PC pour l’envoi des commandes ?

Non, elle lit le fichier gcode sur une carte SD et se débrouille avec.

Dans mon cas, j'avais utilisé les options préconisées par le constructeur de la machine,mais je serai bien en peine de les détailler, c'était il y a 2 ans, et je n'ai plus les fichiers. J'ai un LCD graphique, c'est peut-être ça ? Ou le code d'il y a quelques années était moins optimisé ?

Non, elle lit le fichier gcode sur une carte SD et se débrouille avec.

Ah OK. Dans ce cas une RASPBERRY PI pourrait apporter un plus.

Madmonkey630 sera t-il par contre plus calé en RPI qu'en ARDUINO ? :confused: