Aller au contenu principal

Compilation du firmware CAN

Informations avant le flashage

Vérifier le mode actuel et le chemin d'opération

  • Note importante : Si la carte outil est déjà en mode Klipper-CAN, vous pouvez flasher directement via une commande après la compilation du firmware. La commande la réinitialisera automatiquement en mode Katapult et effectuera le flashage.
  • État d'usine : La carte est pré-flashée avec le firmware Katapult en mode CAN, avec un débit de 1M.
  • Détermination de l'état (observer la LED) : Si la LED clignote (comme ci-dessous), cela indique qu'elle est en mode Katapult et prête pour le flashage.
  • Mode anormal : Si la LED ne clignote pas, cela signifie que le firmware n'est pas Katapult. Vous devez d'abord le reflasher en suivant le guide ci-dessous : Cliquez ici pour flasher le firmware Katapult

Configurer les commutateurs DIP et les connexions physiques

  1. Configuration des commutateurs DIP : Quel que soit l'état actuel, veuillez d'abord régler le commutateur DIP sur la carte en mode CAN, et activer le commutateur 120Ω (comme illustré ci-dessous).

  2. Connexion de l'appareil : Utilisez un câble CAN pour connecter la carte outil à un UTOC ou à une carte mère déjà flashée avec un firmware de pont. Reportez-vous à l'illustration ci-dessous pour le câblage :

  3. Vérification cruciale (résistance de terminaison) : En coupant complètement l'alimentation, mesurez la résistance entre les broches CAN_H et CAN_L avec un multimètre.

    AppareilInstructions
    Carte outilTrouvez et insérez le cavalier marqué 120Ω.
    Carte mèreSi connecté à une carte mère, insérez également son cavalier 120Ω.
    Module UTOCRésistance intégrée.

    Comment vérifier :

    1. Maintenez l'alimentation complètement coupée.
    2. Utilisez un multimètre pour mesurer la résistance entre CAN-H et CAN-L du port CAN de la carte outil.
    3. Interprétation des résultats :
      • Environ 60Ω : Normal, les résistances aux deux extrémités sont correctement connectées.
      • Environ 140Ω : CAN-H et CAN-L sont peut-être inversés.
      • Environ 120Ω : Le cavalier 120Ω n'est pas installé ou il y a une coupure.
      • Environ 90Ω : Un seul cavalier 120Ω est installé.
      • Environ 40Ω : Il y a peut-être des résistances supplémentaires, vérifiez les nœuds intermédiaires.

Démarrer la compilation

  • Ordinateur hôte sur lequel le service klipper est installé Connexion SSH via le réseau
  • Et le périphérique doit être correctement connecté à l'ordinateur hôte
  • Remarque : veuillez utiliser un ordinateur hôte standard, comme un Raspberry Pi, une carte FLY, etc. Si vous utilisez un ordinateur hôte modifié (par exemple, une clé WiFi, un Redmi, etc.), ces ordinateurs hôtes présentant trop de problèmes, nous ne pourrons pas vous fournir d'assistance technique.
note
  • S'applique à la plupart des systèmes d'ordinateurs hôtes standards comme Raspberry Pi, carte FLY, etc.
  • Veuillez ne pas utiliser l'utilisateur ROOT pour effectuer n'importe quelle opération sur ce type d'ordinateur hôte
  • Veuillez effectuer les opérations en tant qu'utilisateur standard
  • Méthode pour changer d'utilisateur : par exemple, dans le système FlyOS-Armbian, veuillez utiliser la commande su fly pour passer à l'utilisateur standard
  • Pour les autres systèmes, veuillez utiliser la commande su <nom d'utilisateur de votre ordinateur hôte> pour passer à l'utilisateur standard
su <nom d'utilisateur de votre 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 :

  • Connectez-vous via 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, et make menuconfig est la compilation du firmware ; après exécution, l'interface ci-dessous devrait apparaître :

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

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

  • Sélectionnez Offset du bootloader, puis choisissez : 16KiB bootloader

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

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

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

  • Sélectionnez GPIO pins to set at micro-controller startup, saisissez :
    !gpio5
note

Veuillez saisir en mode de saisie anglais

!gpio5
  • Veuillez vérifier en comparant avec l'image ci-dessus, assurez-vous qu'elle correspond, puis passez à l'étape suivante
  • Appuyez sur la touche Q, l'option Save configuration apparaît, puis appuyez sur la touche Y
  • La configuration devrait maintenant être sauvegardée et vous devriez être revenu à l'interface de ligne de commande
  • Saisissez la commande ci-dessous pour démarrer la compilation, cela prendra un certain temps
make -j4
  • Une sortie finale avec le contenu ci-dessous indique une compilation réussie
  • En raison des versions de Klipper, l'apparition de out/klipper.bin suffit à indiquer le succès
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Rechercher l'ID et flasher

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é.

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érifier si le firmware démarre

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