Aller au contenu principal

Compilation du firmware CAN

Démarrer la compilation

  • Vous devez utiliser une station supérieure avec le service klipper installé Connexion via SSH par réseau
  • Assurez-vous que l'appareil est bien connecté à la station supérieure
  • Attention : Veuillez utiliser une station supérieure ordinaire, comme un Raspberry Pi ou un FLY Pi. Si vous utilisez une station supérieure modifiée (par exemple, une clé WiFi, Redmi, etc.), ces stations présentent trop de problèmes et nous ne pouvons pas vous fournir de support technique
note
  • Pour passer de l'utilisateur ROOT à un utilisateur normal, vous pouvez entrer la commande ci-dessous
  • N'utilisez pas l'utilisateur ROOT
  • L'utilisateur fly peut simplement entrer : su fly, si vous n'êtes pas l'utilisateur fly, veuillez remplacer <Votre nom d'utilisateur sur la station supérieure> par votre nom d'utilisateur sur la station supérieure !
su <Votre nom d'utilisateur sur la station supérieure>
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 :

  • 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
  • rm -rf ~/klipper/.config && rm -rf ~/klipper/out est la suppression des données de compilation précédentes et du firmware make menuconfig est la compilation du firmware, une fois exécutée, cela devrait afficher l'interface ci-dessous

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

  • Accédez au menu Micro-controleur Architecture puis sélectionnez Raspberry Pi RP2040 et appuyez sur Entrée

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

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

  • Sélectionnez (4) Numéro de broche CAN RX , supprimez 4 et entrez 1

  • Sélectionnez (5) Numéro de broche CAN TX, supprimez 5 et entrez 0

  • Sélectionnez les broches GPIO à configurer au démarrage du micro-contrôleur, entrez : !gpio5,!gpio19,!gpio24
note

Veuillez entrer !gpio5,!gpio19,!gpio24 en mode saisie anglaise.

  • Appuyez sur la touche Q, puis apparaîtra Enregistrer la configuration, appuyez ensuite sur Y

  • La configuration doit maintenant être sauvegardée et vous êtes revenu à l'interface de commande

  • Entrez make -j4 pour commencer la compilation, cela prendra un certain temps

  • Si la sortie finale ressemble à ce qui suit, la compilation a réussi :

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

Recherche d'appareils

  • Assurez-vous que l'ordinateur principal est correctement connecté à Internet et que le câble de connexion du périphérique inférieur à l'ordinateur principal a la fonction de transmission de données.
  • Après avoir établi une connexion SSH avec l'ordinateur principal, entrez lsusb puis 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 renvoyée, il s'agit d'un problème du système de l'ordinateur principal. Nous ne pouvons rien faire dans ce cas. Vous devez remplacer le système confirmé comme étant normal ou changer l'ordinateur principal.
    • Si l'indication "aucune commande lsusb" apparaît, vous pouvez exécuter cette commande pour installer :
      sudo apt-get install usbutils
  • L'ID affiché dans le cadre rouge peut être utilisé comme référence mais n'est pas un ID "fixe", il est variable. Le suffixe OpenMoko, Inc. Geschwister Schneider CAN adapter a une valeur de jugement.
  • Certains ordinateurs principaux peuvent ne pas afficher ou afficher incomplètement en raison de problèmes de système.

Écriture du firmware

  • Avant d'écrire le firmware, connectez la carte outil à UTOC ou à une carte mère flashed avec le firmware de pont en utilisant un câble XT30. Voici un schéma de raccordement de référence
  • Vérifiez que les codes sont correctement positionnés
  • Assurez-vous que la résistance entre CAN H et CAN L est d'environ 60Ω en coupant le courant avec un multimètre. Si elle est d'environ 120Ω, activez le code de 120Ω. Si elle est d'environ 40Ω, désactivez le code
note
  • Il est conseillé de ne pas effectuer la recherche d'ID ou la mise à jour du firmware pendant le processus d'impression.
  • Le CAN Firmware de la même carte mère ou de la carte d'outil Katapult et celui de Klipper ont exactement les mêmes IDs.
note
  • Veuillez vous assurer que le réseau CAN de l'ordinateur supérieur a été configuré.
  • Lorsque 1d50:606f apparaît après la commande lsusb, vous pouvez utiliser la commande ci-dessous pour rechercher l'ID CAN.
  • Le taux de transmission CAN de la carte d'outil doit être identique à celui de l'ordinateur supérieur, sinon l'ID ne pourra pas être trouvé et le flashage ne fonctionnera pas.
  • Exécutez la commande suivante pour rechercher l'UUID du CANBus :

    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
    • Après avoir exécuté la commande, une des situations suivantes apparaîtra en fonction de votre machine. Voici un exemple de référence :

      • Première situation : La carte principale a installé le firmware de pont, un ID apparaît avec le message Application: Klipper
      • Deuxième situation : La carte principale a installé le firmware de pont et est associée à une carte d'outil devant être flashée, deux IDs apparaissent
      • Troisième situation : Utiliser UTOC avec une carte d'outil devant être flashée
      • Remarque : UTOC n'affiche pas d'ID
      • Quatrième situation : Pas d'ID affiché, généralement c'est Klipper qui l'occupe, le taux de transmission CAN0 de l'ordinateur supérieur n'est pas correct ou il y a une anomalie dans la connexion
    • En règle générale, si la carte d'outil devant être flashée est en mode CANBOOT, elle affichera Application: CanBoot et la LED correspondante clignotera. Dans ce cas, vous devez flasher le firmware Klipper, sinon la connexion ne sera pas possible !!!

    • Remarque : Si c'est le firmware Klipper et que l'ID a été inséré dans la configuration, l'ID ne s'affichera plus et sera occupé par Klipper. Vous devez désactiver l'ID correspondant et redémarrer complètement la carte principale.

    note
    • Si aucun UUID n'a été trouvé, consultez le document ci-dessous.
    • Résumé des problèmes liés à CAN

Flashage du firmware

  • Remplacez <MCU ID> dans la commande ci-dessous par l'ID UUID trouvé lors de la recherche. Notez qu'il y a un espace après -u.

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

Si vous avez besoin de mettre à jour le firmware, il suffit de compiler le nouveau firmware puis de réexécuter la commande de flashage pour mettre à jour le firmware, mais assurez-vous de pouvoir trouver l'ID ou que Klipper soit connecté.

python3 ~/klipper/lib/canboot/flash_can.py -u  <MCU ID>

Vérification du bon démarrage du firmware

  • Si le firmware démarre correctement, la LED s'allumera
- 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 -