Créer un fichier .hex pour Artillery

Arduino et fichier hex
Note
Les manœuvres décrites dans cet article peuvent être dangereuses pour votre machine puisqu’elles concernent son programme interne. Donc, lisez, comprenez et posez éventuellement des questions avant de vous lancer.

Le plus souvent, on flashe une imprimante en utilisant l’IDE (Integrated Development Environment) Arduino. Comme son nom l’indique c’est un environnement de développement. L’intérêt est qu’on peut modifier les paramètres et avoir une imprimante qui correspond exactement à ses besoins. L’inconvénient, c’est que c’est conçu comme un environnement de développement, donc pas franchement sexy à utiliser pour quelqu’un qui veut juste mettre à jour son imprimante.
Il existe une autre façon de flasher, c’est d’utiliser un seul fichier qu’on va envoyer à l’imprimante. Ce fichier porte l’extension .hex.
Les créateurs sympas de firmware (comme 3d-nexus par exemple) proposent directement un fichier .hex, mais tout le monde ne le fait pas et parfois il est utile de le créer soi-même.
Voici une méthode pour obtenir ce fameux fichier .hex.

Qu’est-ce que le fichier .hex ?

Le fichier avec l’extension .hex est le fichier hexadécimal compilé qui sera envoyé à la carte MKS de l’imprimante. Dit en langage clair c’est le programme interne de votre imprimante, son système d’exploitation. C’est à dire également, histoire de rigoler, qu’il peut potentiellement complètement planter votre imprimante à 300 ou 400€ (donc attention !). Concrètement, l’IDE Arduino compile le Marlin destiné à votre machine en tenant compte des paramètres spécifiques que vous avez modifiés (par exemple gestion du bl-touch) et crée un fichier du structure « sidewinder.ino.mega.hex » où « sidewinder » sera le nom de votre fichier Marlin, « ino.mega » le nom de votre carte et « .hex » l’extension qui dit que c’est un fichier hexa.
Quand vous flashez directement avec l’IDE Arduino, celui-ci fait d’abord la compilation, crée le fichier .hex et téléverse ce fichier vers l’imprimante.

Voici le déroulement d’un flashage avec un fichier .hex.

Comment obtenir le fichier .hex ?

Si le site sur lequel vous chargez votre marlin le propose, c’est facile. Vous le copiez et vous le flashez via votre slicer ou un outil adapté (Octoprint ou Prontface).

Si vous ne disposez que du fichier Marlin, vous allez devoir passer par l’IDE Arduino. Je sais. C’est un peu idiot d’utiliser l’outil qu’on ne voulait pas utiliser 🙂 Mais ça peut quand même être utile. Par exemple si vous voulez envoyer un simple fichier à un de vos copains qui n’a pas l’ide Arduino ou qui n’a pas envie de se lancer là-dedans et jouer le chevalier blanc (toujours bon pour l’ego, ça). Ou bien si vous gardez un trace chronologique de vos flashs et que vous voulez revenir en arrière. Autant stocker un seul fichier par version et pouvoir le réinstaller sans le recompiler, et surtout en étant sur qu’on flashe la même chose !

En résumé il est utile de savoir faire un fichier .hex à partir de Marlin.

La méthode

Le principe consiste à faire la compilation dans l’IDE sans l’envoyer à l’imprimante. Depuis quelques versions Arduino, sympa, a simplifié le processus en proposant une fonction qui fait le boulot.
Voici donc votre check-list :

  1. Décompressez dans un répertoire le fichier Marlin si vous l’avez récupéré au format zip

  2. Lancez l’IDE Arduino

  3. Ouvrez le fichier Marlin.ino qui se trouve dans le répertoire Marlin

  4. Faites vos modifications éventuelles des fichiers dans l’IDE Arduino

  5. Pour éviter de toucher au Marlin d’origine, on peut sauvegarder le fichier dans un répertoire à part. Par exemple « SidewinderX1_2020-04-23 ». Pour cela « Fichier > Enregistrer sous… » Vous donnez le nom « SidewinderX1_2020-04-23 ». Vous allez dans ce répertoire et vous allez trouver un fichier « SidewinderX1_2020-04-23.ino ». Vous l’ouvrez avec l’IDE Arduino.

  6. Dans le menu « Outils > Type de carte » , choisissez « Arduino Mega or Mega 2560 »

  7. Dans le menu « Outils > Processeur » , choisissez « ATmega 2560 (Mega 2560) »

  8. Dans le menu « Outils > Programmateur » , choisissez « AVRISP mkII »

  9. Dans le menu « Croquis », cliquez sur « Exporter les binaires compilées »

  10. Une fois le message « Compilation terminée » affiché, vous trouverez dans le répertoire »SidewinderX1_2020-04-23″, le fichier « SidewinderX1_2020-04-23.ino.mega.hex »

Laisser un commentaire