Flight controller
Pour flasher la bonne version de Px4 on doit d’abord changer le bootloader sur le flight controller. La première section explique comment flasher le bootloader et la deuxième comment changer de version de px4. Enfin la derniere section propose de recompiler px4 complètement. Toutes ces informations sont également disponibles ici.
Flasher le bootloader
L’exemple donné est pour un contrôleur de type kakute H7. On part du principe que le contrôleur est sous betaflight. Dans un premier temps on vas devoir changer le bootloader pour pouvoir flasher PX4. Deux méthodes sont possible, la première en passant via betaflight et l’autre en ligne de commande.
Première méthode
Pour la première méthode, le fichier hexadécimal à transférer ainsi que toutes les instructions sont disponibles ici .
Deuxième méthode
Pour la deuxième méthode on devra compiler px4 pour avoir un fichier bin
On récupère le fichier px4 de cette adresse en faisant la commande suivante dans un terminal linux :
git clone --recursive --branch tirrex_uav https://github.com/gipsa-lab-uav/PX4-Autopilot.git
On vas dans le dossier où les fichiers sont clonés (px4-autopilot)
on tape la commande suivante (à adapter en fonction de la carte)
make holybro_kakuteh7_bootloader
ou make holybro_kakuteh7mini_bootloader
en faisant un ls
on pourra trouver le fichier bin que l’on veut flasher. Il est aussi disponible ici : holybro_kakuteh7_bootloader.bin
On débranche la kakute et on la rebranche en “DFU” en appuyant sur son bouton.
Il sera alors possible de la flasher en ligne de commande en connectant la kakute au PC et en entrant les commandes suivantes :
dfu-util -a 0 --dfuse-address 0x08000000:force:mass-erase:leave -D build/holybro_kakuteh7_bootloader/holybro_kakuteh7_bootloader.bin
débrancher le drone et rebrancher en mode DFU.
dfu-util -a 0 --dfuse-address 0x08000000 -D build/holybro_kakuteh7_bootloader/holybro_kakuteh7_bootloader.bin
Une fois que le bootloader est changé, on peut installer px4.
Il faut alors débracher le drone et le rebrancher pour qu’il ne soit pas en DFU
Flasher PX4
Maintenant que le bootloader est en PX4 on peut mettre à jour le firmware avec deux methodes.
Ensuite on peut flasher les paramètres dans la FC (décrit dans la partie configuration).
Première méthode
On récupère le bon firmware ici
En connectant le FC à l’ordinateur avec un câble USB, on ouvre Qgroundcontrol et on vas dans “flash firmware”. Il suffit de téléverser le fichier px4 précédemment téléchargé. Le code source est également disponible dans le fichier zip.
Deuxième méthode
On peut aussi recompiler PX4 avec une console linux à l’aide des commandes suivantes (dans le dossier cloné avec le bootloader ci-dessus) :
make holybro_kakuteh7
ou make holybro_kakuteh7mini
Et on le transfert avec :
make holybro_kakuteh7 upload
Pour charger les paramètres, le plus simple est de copier les paramètres d’un autre drone à l’aide de qgroundcontrl. Les paramètres sont disponibles sur le même git.
ensuite on change les valeurs dans px4
dans tools on fait reset all parameters to firmware