Aller au contenu principal

Compilation du firmware CAN

Démarrage de 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 comment compiler le firmware :

  • Après avoir établi une connexion SSH, entrez la commande suivante et appuyez sur Entrée :

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • Parmi les commandes, rm -rf ~/klipper/.config && rm -rf ~/klipper/out supprime les données de compilation précédentes et le firmware, tandis que make menuconfig est utilisé pour compiler le firmware. Une fois exécuté, l'interface ci-dessous devrait apparaître :

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

  • Allez dans le menu Microcontrôleur Architecture puis sélectionnez Raspberry Pi RP2040/RP235x et appuyez sur Entrée

  • Sélectionnez Bootloader offset, puis choisissez : 16KiB bootloader

  • Sélectionnez Interface de communication, puis choisissez : BUS CAN

  • Sélectionnez les broches GPIO à définir lors du démarrage du microcontrôleur, saisissez : !gpio13 Veuillez noter que ! est en majuscule
  • Appuyez sur la touche Q, Enregistrer la configuration apparaît, puis appuyez sur Y
  • 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 certain temps
make -j4
  • Lorsque le message suivant s'affiche, la compilation est réussie

    Linking out/klipper.elf
    Creating bin 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, voici un schéma de câblage de référence
  • Assurez-vous que la résistance entre CAN H et CAN L est d'environ 60Ω lorsque l'alimentation est coupée, si elle est de 120Ω, il faut brancher le jumper de 120Ω, si elle est d'environ 40Ω, il faut retirer le jumper
Avertissement
  • Si aucune LED ne clignote, répétez le programme du firmware katapult :Programmer le firmware katapult
  • Si aucune LED ne clignote, exécutez la suite après avoir programmé le firmware katapult

Recherche d'appareils

  • Assurez-vous que l'hôte est correctement connecté à Internet et que le périphérique inférieur est connecté à l'hôte avec un câble de données capable de transférer des données.
  • Après avoir établi une connexion SSH avec l'hôte, entrez la commande lsusb et appuyez sur Entrée. Si les informations entourées dans l'image ci-dessous apparaissent, vous pouvez passer à l'étape suivante.
    • Si aucune information n'est retournée, il s'agit d'un problème du système de l'hôte, et nous ne pouvons rien faire. Vous devez changer pour un système fonctionnel ou remplacer l'hôte.
    • Si la commande affiche « instruction introuvable », vous pouvez exécuter la commande suivante pour l'installer :
      sudo apt-get install usbutils
  • 1d50:606f appartient au périphérique que vous utiliserez cette fois-ci.
  • Certains hôtes peuvent ne pas afficher complètement ou ne pas afficher du tout en raison de problèmes de système.
  • Si la commande lsusb affiche le périphérique mais que 1d50:606f n'est pas visible, essayez de changer de câble de données et reliez la carte mère à un autre port USB de l'hôte.
Remarque

Vous ne pouvez passer à l'étape suivante qu'en présence de 1d50:606f.

Recherche d'ID et programmation

prompt
  • Il est déconseillé de rechercher l'ID ou de刷固件 pendant l'impression
  • Les ID des firmware CAN de Katapult et des firmware CAN de Klipper sont exactement les mêmes pour la même carte mère ou carte d'outil
note
  • Veuillez vous assurer que le réseau CAN de l'ordinateur hôte est correctement configuré
  • Seulement lorsque 1d50:606f apparaît après la commande lsusb, vous pouvez utiliser les commandes ci-dessous pour rechercher l'ID CAN
  • Le taux de communication CAN de la carte d'outil doit être identique à celui de l'ordinateur hôte, sinon l'ID ne pourra pas être trouvé et la programmation ne pourra pas non plus être effectuée
  • Exécutez la commande suivante pour rechercher l'UUID du CANBus :

    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

    Pour les systèmes fast, utilisez cette commande pour rechercher l'ID_CAN

    python ~/klipper/scripts/canbus_query.py can0
    • Après l'exécution, plusieurs cas peuvent apparaître selon votre machine, voici des exemples de référence

      • Premier cas : carte mère avec firmware de pontage, un ID apparaît et affiche Application : Klipper
      • Deuxième cas : carte mère avec firmware de pontage et carte d'outil nécessitant un firmware à programmer, deux ID apparaissent
      • Troisième cas : utilisation de UTOC avec une carte d'outil à programmer
      • Remarque : UTOC n'affiche aucun ID
      • Quatrième cas : aucun ID n'est affiché, généralement cela signifie que Klipper l'a déjà occupé, le taux de communication CAN0 de l'hôte est incorrect ou il y a un problème de câblage
    • Normalement, si la carte d'outil à programmer est en mode CANBOOT, le message Application : CanBoot s'affiche et la LED du firmware clignote. À ce moment-là, vous devez programmer le firmware Klipper, sinon la connexion ne sera pas possible !!!

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

note
  • Si l'UUID n'est pas trouvé, veuillez consulter le document ci-dessous
  • Problèmes courants liés au CAN

Programmation du firmware

  • Remplacez 241696050c56 dans la commande suivante par l'UUID trouvé précédemment, faites attention à bien laisser 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 s'affiche, la programmation a réussi

Mise à jour du firmware

  • Si vous souhaitez mettre à jour le firmware, il suffit de recompiler le firmware puis de réexécuter la commande de programmation pour mettre à jour le firmware
  • 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 correctement, la LED reste allumée
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 -