Vous n'êtes pas identifié(e).
Futur nouvel inscrit, tu dois au préalable lire l'intégralité des 10 articles des règles, s'il te plaît. Tout nouveau compte qui ne respecte pas les règles sera supprimé par l'administration.
Bonjour,
J'ai un joystick Thrustmaster Hotas Wartog à effet Hall que j'ai modifié en enlevant le gros ressort et en déplaçant les 4 petits ressorts pour supprimer les efforts sur le manche afin de l'utiliser comme cyclique pour hélicoptères.
Il fonctionne bien, mais j'aimerai enlever la deadzone sur les axes 0 et 1 en le recalibrant, ce que je n'arrive pas à faire.
Je suis sous linux et la commande jscal me donne ceci :
chris@chris ~ $ jscal -c /dev/input/js0
Joystick has 4 axes and 19 buttons.
Correction for axis 0 is broken line, precision is 255.
Coeficients are: 28672, 36862, 21844, 21844
Correction for axis 1 is broken line, precision is 255.
Coeficients are: 28672, 36862, 21844, 21844
Avec jstest-gtk, j'ai les résultats suivants :
Axe 0 : CenterMin = 28672 - CenterMax = 32767 - RangeMin = 4095 - RangeMax = 32767
Idem with Axe 1.
Comme on peut le voir RangeMin = CenterMax-CenterMin (32767-28672 = 4095).
Quelqu'un a t'il une idée ?
Dernière modification par Clm76 (2/12/2021 17:52:01)
Fg 2024.2.0 - Linux Mint 22.1 Xia - Cinnamon et Mate en dual boot - CM Asus P8H67 MLE - CPU i7 3770K - 12 Go Ram - Nvidia Geforce GTX 1660TI - Driver Nvidia 550
+ Hp notebook-15 - Linux Mint 22.1 Xia - CPU i3-7020u - Ram 4Go - Intel Graphics 620.
Hors ligne
Après avoir effectué des recherches sur internet où je n'ai pas trouvé ce que je cherchais vraiment, je me suis pris par la main pour calibrer mon joystick avec suppression de la "dead zone".
Voici ma méthode :
Calibration du thrustmaster Hotas Warthog Flight Stick (capteurs à effet Hall), sous Linux, avec suppression de la "dead zone".
Ce joystick a des plages de 0 à 65536 pour les axes X et Y, avec 0 à gauche et 65536 à droite pour l'axe X, et 0 vers l'avant et 65536 vers l'arrière pour l'axe Y.
Attention : Le programme de calibration jstest-gtk donne des valeurs erronées en ne permettant pas de monter à 65536.
La calibration se fait directement dans /var/lib/joystick/joystick.state et il faut lui donner les droits d'écriture en console par :
sudo chmod go+w /var/lib/joystick/joystick.state
Si celui-ci n'existe pas, brancher le joystick et écrire en console :
sudo jscale-store /dev/input/js0
pour le créer.
Ensuite ouvrir le fichier joystick.state (fichier texte).
Le mien est le suivant :
NAME="Saitek Saitek Pro Flight Yoke"
VENDOR="06a3"
PRODUCT="0bac"
jscal -u 7,0,1,2,3,4,16,17,23,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,704,705,706,707,708,709,710
jscal -s 7,1,0,512,512,1048544,1048544,1,0,512,512,1048544,1048544,1,0,127,127,4227201,4194176,0,0,0,0,0,0,0,0
NAME="Thustmaster Joystick - HOTAS Warthog"
VENDOR="044f"
PRODUCT="0402"
jscal -u 4,0,1,16,17,19,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,704,705,706
jscal -s 4,1,255,31400,31400,19576,19576,1,255,32768,32768,19576,19576,1,0,0,0,536870912,536870912,1,0,0,0,536870912,536870912
C'est le dernier qui nous intéresse (HOTAS Warthog).
On va s'intéresser à la ligne jscal -s :
"4" est le nombre d'axes présents sur le joystick.
"1" est le début des chaînes de code, le premier "1" est celui de l'axe 0 (axe X), le second "1", celui de l'axe 1 (axe Y) etc...
Le premier chiffre qui suit le "1" est la précision(255).
Le chiffre suivant (31400) est la valeur mini de la "dead zone" et celui juste après (également 31400), la valeur maxi de la "dead zone". Les deux chiffres étant égaux, il n'y a plus de "dead zone".
Nota : La plage de fonctionnement étant de 65536, le milieu de la plage devrait se situer à 32768 (comme sur l'axe Y) mais mes essais m'ont amené à réduire ces valeurs pour centrer correctement le joystick. Je me suis aidé pour cela de la propriété /input/joysticks/js(le chiffre de votre joystick)/axis/binding/setting (dans l'arbre des propiétés) qui doit être le plus proche possible de 0. Avec mon joystick, les valeurs de 31400 pour l'axe X me donne un "setting" de -0.0071, ce qui est très acceptable, vu la sensibilité du joystick.
Les chiffres suivants (19576) sont des coefficients permettant de couvrir toute la plage de -1 à +1 du "setting" avec le joystick au maxi de chaque coté.
Les codes de l'axe des Y commencent au second "1" et on peut voir que celui-ci est bien centré avec les valeurs à 32768 (moitié de 65536), ce qui donne un "setting" de -0.0074. Probablement que l'axe des X a un petit décalage de fabrication (???).
Les 3ème et 4ème "1", avec les codes qui suivent, correspondent au bouton multidirectionnel des trims, traité comme deux axes. Nous n'avons pas lieu d'y toucher.
Une fois la calibration terminée, ne pas oublier de reverrouiller le fichier par :
sudo chmod go-w /var/lib/joystick/joystick.state
Pour finir, les tests de ce joystick comme cyclique avec l'Alouette 2 Jsbsim m'ont redonné la sensation que j'avais eu dans la réalité avec le R22.
Fg 2024.2.0 - Linux Mint 22.1 Xia - Cinnamon et Mate en dual boot - CM Asus P8H67 MLE - CPU i7 3770K - 12 Go Ram - Nvidia Geforce GTX 1660TI - Driver Nvidia 550
+ Hp notebook-15 - Linux Mint 22.1 Xia - CPU i3-7020u - Ram 4Go - Intel Graphics 620.
Hors ligne
Ça, c'est de la compréhension et de l’explication !!
Pas évident...
Merci, Clm76
FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.
Hors ligne