Aller au contenu principal

Compilation du firmware CAN

Commencer la compilation

  • Il faut utiliser un ordinateur hôte ayant installé le service klipper Se connecter en SSH via le réseau
  • Et connecter l'appareil à l'ordinateur hôte
  • Remarque : veuillez utiliser un ordinateur hôte normal, comme Raspberry Pi FLY, etc. Si c'est un ordinateur hôte modifié (comme une baguette WiFi, Xiaomi Mi, etc.), cet ordinateur hôte présente trop de problèmes et ne pourra pas être soutenu.
note
  • Remarques sur le système FlyOS-Armbian et les systèmes normaux
    • Les systèmes d'ordinateurs hôtes normaux tels que Raspberry Pi, FLY, etc., appartiennent à cette catégorie
    • Ces ordinateurs hôtes ne doivent pas utiliser l'utilisateur ROOT pour effectuer tout type d'opération
    • Veuillez utiliser un utilisateur normal
    • Méthode de changement d'utilisateur : pour le système FlyOS-Armbian, utilisez la commande su fly pour basculer vers l'utilisateur normal
    • Pour les autres systèmes, utilisez la commande su <votre nom d'utilisateur de l'ordinateur hôte> pour basculer vers l'utilisateur normal
    su <votre nom d'utilisateur de l'ordinateur hôte>
prompt
  • Assurez-vous que l'hôte peut se connecter normalement à Internet
  • Avant de compiler le firmware, vous devez utiliser SSH pour vous connecter à distance via le réseau à l'hôte
  • Veuillez ne pas utiliser d'outil de terminal série pour vous connecter à l'hôte

Instructions d'utilisation pour la compilation et la configuration du firmware Klipper

prompt

Assurez-vous que le mode de saisie du clavier est en mode demi-largeur, c'est-à-dire en mode anglais

  1. La touche (haut) et la touche (bas) du clavier sont utilisées pour déplacer le curseur verticalement afin de sélectionner les éléments du menu
  2. La touche Entrée ou la touche Espace est utilisée pour cocher une option de menu ou entrer dans un sous-menu
  3. La touche Échap est utilisée pour revenir au menu précédent
  4. La touche Q permet de quitter la page de configuration du firmware Klipper
  5. La touche Y, lorsqu'on quitte la page de configuration du firmware Klipper et qu'une invite apparaît, appuyez sur Y pour enregistrer le fichier de configuration
note

Si le nombre d'options de la page de configuration est limité, activez d'abord [ ] Activer les options de configuration de niveau inférieur supplémentaires pour afficher certaines options masquées

Voici la procédure pour compiler le firmware :

  • Connectez-vous à SSH, puis entrez la commande suivante et appuyez sur Entrée :

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • La commande rm -rf ~/klipper/.config && rm -rf ~/klipper/out supprime les données de compilation précédentes et le firmware. make menuconfig est la commande de compilation du firmware. Après l'exécution, une interface similaire au graphique ci-dessous devrait apparaître :

  • Sélectionnez Activer les options de configuration supplémentaires de bas niveau et appuyez sur Entrée

  • Accédez au menu Microcontrôleur Architecture puis sélectionnez STMicroelectronics STM32 et appuyez sur Entrée

  • Accédez au menu Modèle de processeur, sélectionnez STM32H723 et appuyez sur Entrée

  • Sélectionnez Décalage du bootloader, choisissez : 128KiB bootloader

  • Sélectionnez Référence d'horloge (cristal de 8 MHz) , choisissez : cristal de 25 MHz

  • Pour Interface de communication, choisissez : Bus CAN (sur PB8/PB9)

  • Sélectionnez les broches GPIO à définir au démarrage du microcontrôleur, entrée : !PA15 Veuillez noter que ! est en majuscule
  • Vous devriez maintenant avoir enregistré la configuration et être retourné à l'interface de ligne de commande
  • Entrez la commande ci-dessous pour commencer la compilation, cela prend un peu de temps
make -j4
  • Lorsque le message suivant s'affiche, la compilation est réussie

    Linking out/klipper.elf
    Creating hex file out/klipper.bin

Branchement

  • Avant de programmer le firmware, connectez la carte d'outils à UTOC ou à une carte mère avec un firmware de pont installé, voici un schéma de connexion de référence
  • Veuillez noter si les interrupteurs sont positionnés correctement
  • Référence de connexion à UTOC
  • Vérifiez que la résistance entre CAN H et CAN L est d'environ 60Ω lorsqu'elle est déconnectée, si elle est de 120Ω, il faut connecter un saut de 120Ω, si elle est d'environ 40Ω, il faut retirer le saut
  • Après avoir connecté la carte d'outils à UTOC ou à une carte mère avec un firmware de pont installé, les LED de la carte mère clignotent.
Avertissement
  • Si aucune LED ne clignote, réprogrammez le firmware katapult : Programmer le firmware katapult
  • Si aucune LED ne clignote, exécutez la suite des étapes après avoir programmé le firmware katapult

Recherche de périphériques

  • Maintenant que vous êtes correctement connecté à l'ordinateur hôte, vous pouvez entrer la commande lsusb pour rechercher les périphériques. Plusieurs cas peuvent se présenter :
    • Si la commande lsusb affiche un message indiquant que ls est introuvable, vous pouvez installer les utilitaires nécessaires en utilisant la commande suivante :
      sudo apt-get install usbutils
    • Si la commande lsusb ne donne aucune réponse, cela indique un problème système pour lequel nous ne pouvons rien faire. Vous devez changer de système ou utiliser un système dont vous savez qu'il fonctionne correctement.
    • Si vous voyez apparaître les informations comme sur l'image ci-dessous (à titre d'exemple), vérifiez simplement que 1d50:606f s'affiche bien.
  • 1d50:606f est le périphérique que vous devez utiliser lors de cette étape.
  • S'il y a plusieurs périphériques 1d50:606f, vous devez en éliminer un, sinon cela affectera le processus d'écriture du firmware et la connexion à ce dernier. Par exemple, si vous avez un FLY MINI PAD, il est recommandé d'utiliser le UTOC intégré à la carte et non d'autres périphériques de pontage CAN.
  • Si aucun périphérique n'apparaît, vérifiez que le câble USB est correctement branché et que le firmware approprié a été gravé.
Remarque importante

La recherche de l'ID CAN ne doit être effectuée que lorsque le périphérique 1d50:606f est détecté.

Recherche d'ID et programmation

prompt
  • Il est déconseillé de rechercher l'ID ou de flasher le firmware pendant l'impression
  • Les firmwares CAN de Katapult et de Klipper pour la même carte mère ou la même carte d'outil ont exactement le même ID
note
  • Veuillez vous assurer que le réseau CAN de l'ordinateur hôte est correctement configuré
  • La commande de recherche de l'ID CAN ci-dessous ne peut être utilisée que si 1d50:606f apparaît après la commande lsusb
  • Le débit en bauds CAN de la carte d'outil doit correspondre à celui de l'ordinateur hôte, sinon l'ID ne sera pas trouvé et le flashage échouera
  • Utilisez la commande suivante pour rechercher l'UUID du CANBus :

    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • Plusieurs cas peuvent apparaître selon votre machine après l'exécution :

    • Premier cas : carte mère avec firmware de pontage, affichage d'un seul ID avec le message Application : Klipper
    • Deuxième cas : carte mère avec firmware de pontage associée à une carte d'outil nécessitant un firmware à flasher, affichage de deux ID
    • Troisième cas : utilisation de UTOC avec une carte d'outil à flasher
    • Remarque : UTOC ne montre aucun ID
    • Quatrième cas : aucun ID affiché, généralement dû au fait que Klipper est en cours d'utilisation, au mauvais débit en bauds CAN0 de l'ordinateur hôte ou à un câblage incorrect
  • Normalement, lorsque la carte d'outil à flasher est en mode CANBOOT, le message Application : CanBoot apparaît et la LED du firmware clignote. À ce moment-là, vous devez flasher le firmware Klipper, sinon la connexion sera impossible !!!

  • Remarque : Si la carte est déjà flashée avec le firmware Klipper et que l'ID a été saisi dans la configuration, l'ID ne s'affichera plus car il sera utilisé par Klipper. Vous devez masquer l'ID correspondant, couper complètement l'alimentation de la carte mère, puis redémarrer.

note
  • Si aucun UUID n'est trouvé, veuillez consulter le document ci-dessous
  • Problèmes CAN courants

Flashage du firmware

  • Remplacez 241696050c56 dans la commande ci-dessous par l'UUID trouvé précédemment. Veuillez noter qu'il y a un espace après -u

    python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
  • Comme indiqué sur l'image ci-dessous, si CAN Flash Success apparaît, le flashage est réussi

Mise à jour du firmware

  • Pour mettre à jour le firmware, il suffit de recompiler le firmware puis de réexécuter la commande de flashage pour mettre à jour
  • Mais veuillez vous assurer de pouvoir trouver l'ID correspondant ou que Klipper soit déjà connecté
    python3 ~/klipper/lib/canboot/flash_can.py -u  <MCU ID>

Vérification du démarrage du firmware

  • Si le firmware démarre normalement, la LED s'allume
Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
Loading...