Bonjour à tous,
Dans cet article, nous allons voir quelques commandes disponibles dans le CLI, l’interface de lignes de commande de CleanFlight / BetaFlight. J’utilise tout ou partie de ces commandes sur mes Naze32, SPF3, ainsi que sur le Vortex d’ImmersionRC (et à minima j’en vérifie les valeurs) :
1 – « deadband » :
Les deux commandes suivantes permettent de définir une zone « morte » autour du neutre des voies. En effet, lorsqu’on se trouve sur l’onglet « receiver », on s’aperçoit que le signal reçu de la radio bouge autour du neutre de quelques points . Par exemple sur un d4r2, le neutre des voies a tendance à osciller autour de la valeur 1500, entre 1498 et 1502, comme cela bouge de 2 vers la gauche et 2 vers la droite, j’additionne les deux valeurs, ce qui me donne 2 + 2 = 4, d’où la valeur rentrée ci-dessous :
set deadband = 4
set yaw_deadband = 4
2 – « looptime » :
La commande looptime (dans CleanFlight 1.10 car dans betaflight le looptime est forcé à 1000) permet de définir la vitesse de rafraichissement de la boucle PID. Attention à cette valeur, sur CleanFlight, sur un Naze32, par défaut, une valeur en dessous de 1500 est considérée comme instable ! Si vous désactivez les accéléromètres (voir un peu plus loin dans l’article), vous pouvez descendre jusqu’à 1200 sans problème ! Enfin, dans BetaFlight, avec les optimisations apportées dans le code, la valeur de looptime est à 1000 (et ne peut être changée) :
set looptime = 1200
3 – « acc_hardware » / « baro_hardware » :
Pour désactiver les accéléromètres et / ou le baromètre (et par la même occasion tous les modes de vols stabilisés « angle » et « horizon »), et ainsi ne voler qu’en mode « acro », passez les commandes ci-dessous. A quoi cela sert ? A donner plus de temps à la Naze32 pour calculer sa boucle PID, et ainsi améliorer le comportement en vol. En effet, la lecture des valeurs des accéléromètres et du baro provoquent de grandes variations dans la valeur du looptime (le temps que la carte lise et interprète ces valeurs, cela prend trop de temps, et la boucle PID s’exécute avec du retard…) :
set acc_hardware = 1
set baro_hardware = 1
4 – « yaw_jump_prevention_limit » :
La commande suivante, je la passe, par habitude, depuis la version 1.9.0 de Cleanflight, pour éviter les décrochages du yaw après une longue ligne droite rapide (le yaw dans certains cas peut décrocher de plus de 90°, ca fait bizarre !) :
set yaw_jump_prevention_limit = 300
5 – « emf_avoidance » :
La commande EMF, je la passe essentiellement sur les naze32 (processeur F1). A l’origine, cette commande était là pour changer la fréquence du processeur et éviter qu’une harmonique ne tombe dans la bande de fréquence de l’UHF. En changeant cette fréquence, cela l’augmente un peu, et donne un peu de mou au processeur lors des calculs, alors autant en profiter :).
Il n’est pas conseillé d’utiliser cette commande sur les CC3D passées sous CF, car si l’on change la fréquence, le port USB devient inaccessible !
set emf_avoidance = 1
6 – « gyro_cmpf_factor » / « acc_lpf_factor » :
Les deux commandes suivantes permettent d’optimiser la lecture des valeurs des accéléromètres (ne sert qu’avec les modes stabilisés, et que sous CF, car sous BetaFlight ces commandes n’existent plus, les algorithmes de stabilisation ayant été mis à jour) :
set gyro_cmpf_factor = 1000
set acc_lpf_factor = 0 (ce paramètre est dépendant du profil, si vous utilisez plusieurs profils – 1 / 2 / 3 – retapez cette commande dans chaque profil !)
7 – FailSafe SBUS (Serial) :
Par défaut, si vous utilisez un recepteur SBUS (par ex. un X4R-SB de FrSky en mode SBUS), vous utilisez le protocole SERIAL dans CF / BetaFlight, vous aurez sans doute remarqué que le failsafe ne se configure pas de la même manière qu’en PPM, et dans CF, celui-ci ne se déclenche qu’au bout de 20sec par défaut. Voici les commandes que je passe dans le CLI pour que le FS se comporte de la « même manière » qu’en PPM :
set failsafe_delay = 10
set failsafe_off_delay = 0
set failsafe_throttle = 1000
set failsafe_throttle_low_delay = 100
8 – Limites du signal radio :
Commandes définissant le min et le max des signaux RX avant qu’ils ne soient considérés comme non valides (dans CF, il existait un bug jusqu’aux versions récentes, où le rx_min_usec était défini à 985 ce qui était une erreur de frappe de la part des dev) :
set rx_min_usec = 885
set rx_max_usec = 2115
Bons vols à toutes et à tous.
Salut Olivier
Je découvre depuis peu le monde de la naze et de cleanflight. Je lis , regarde des vidéos mais je m’embrouille la tête.
J’ai bien compris qu’avec le CLI tu donnes des ordres à la naze mais est-ce que pour activer une option autre que celles à cocher et décocher dans les diffèrents onglets il faut aussi l’utiliser le CLI ?
Je sais pas si je me suis bien fait comprendre 🙁
Bonjour Christian,
En effet, tu as bien compris : tout ce qui ne se trouve pas dans l’interface graphique, il faut le configurer dans le CLI, par exemple le « deadband » n’est pas paramétrable dans l’interface, il faut donc aller dans le CLI pour le paramétrer 🙂
@++
Olivier.
[…] de deadband (voir l’article de ce blog sur les commandes CLI) à adapter en fonction de sa radio, RX radio et protocole utilisé : PPM / […]
Bonjour.
Juste pour vous félicitait pour tous ce travail, et vous remercier. 🙂
Bonjour,
Quel bel article permettant d’économiser des heures précieuses et de comprendre….. Bravo pour vos facultés didactiques !
MERCI !
[…] CleanFlight / BetaFlight – Commandes du « CLI » […]
Bonjour est merci pour vos tutos.
Je voulais désactiver les accéléromètres et le baromètre sur une SP racing F3, mais cela ne fonctionne pas, peut-être a cause de la blackbox, je ne sais pas.
En fait je ne sais pas si cela est utile sur cette FC.
Savez-vous si cela serait utile, et comment le faire, j’utilise betaflight 2.6.1.
Merci.
Bonjour,
J’ai aussi une SP racing F3 sur cleanflight, et les commandes sur CLI ne passe pas.
J’ai toujours INVALID NAME.
J’ai loupé un truc????
Bonjour, en fonction des versions utilisées, le CLI évolue beaucoup, notamment depuis Betaflight 3.0. Pour avoir une liste des commandes à jour, il faut aller fouiller sur le WIKI de Betaflight à cet endroit : https://github.com/betaflight/betaflight/wiki/Betaflight-specific-CLI-commands . Quelle commande voulais-tu passer ?
Bonjour et merci pour ce retour.
Je cherchais les commandes sur la looptime, mais apparemment c’est maintenant gyro_sync & PID.
J’ai un PB avec mon 1er drone: J’ai acheté un EACHINE racer 250 ( pas cher ) qui fonction pas trop mal avec une CC3D. Je souhaite avoir le GPS et le back home.
J’ai donc acheté une SP racing F3, mais là, la bête n’est pas maîtrisable, un vrai cheval sauvage, il tangue de plus en plus. c’est très dangereux. impossible de le faire décoller.
J’ai vu sur le net qu’avec une looptime à 2500, ça améliorait les choses.
As tu une idée, je m’arrache les cheveux.
Salut les gens.
Qu’elle est la commande dans le CLI pour faire savoir a la carte de vol que les moteurs tournent en sens inverse, se qui permet, quand on est en mode tondeuse a gazon, de ne pas avoir d’herbe sur la cam ?
En vous remerciant par avance.
Bien a vous.