Salut,
Premièrement ne pas modifier POSL, POSC et POSR les laisser à leurs valeurs habituelles
Deuxièment le principe des moteurs-servo est simple:
le servo prend une position suivant la valeur qu'on lui envoie de 1 à 1023
correspondant à environ 190° de rotation de base.
la valeur 0 l'inactive.
En premier lieu, il faut déterminer les valeurs limites de la gauge gauche et droite
par exemple 100 - 800 et donc la plage de valeur-servo à disposition, ici 800-100 = 700 unités
il est important avant d'envoyer la valeur à la variable servo d'utiliser la fonction LIMIT
avec les valeurs limites déterminées, surtout pour les gauges où la course excessive pourrait tordre les aiguilles.
Ensuite il faut déterminer les valeurs limites de l'offset de la gauges par exemple
l'instrument affiche de 0° (0) à 100° (16358), la plage de l'offset est donc 16358 - 0 = 16358 unités.
ces 2 plages que nous venons de déterminer (la plage du servo et la plage de l'offset) nous permettent
de calculer un facteur. F = offset / servo 16358 / 700
on divise ensuite la valeur de l'offset par ce facteur pour obtenir la valeur servo correspondante à laquelle
on ajoute la limite basse du servo pour decaler la valeur sur le zéro de la gauge.
en SIOC ca donne à peu près ca
L0 = 16358 / 700 __________(facteur offset/servo)
L1 = &fs_offset
L1 = L1 / L0 ______________(division par le facteur)
L2 = L1 + 100 ____________ (décalage limite basse)
L2 = LIMIT 100, 800, 0 ______(limitation de la course de l'aiguille)
&servo = L2 _____________ (envoi de la valeur)
Voila, c'est un peu dure à expliquer en texte mais à la base c'est des maths purs
cela revient à convertir deux échelles de valeurs différentes mais proportionelles
(convertir 0-16358 en 100-800).
Pour ce faire il faut donc utiliser des calculs de base (divisions et addition) et ne pas
toucher aux valeur de calibrations POSL, POSC et POSR
Si t'as d'autres questions ...
BOB
PS:
Si la gauge est inversée donc va de 800 - 100, il y a un petit calcul de plus à faire ...
(passer à -800 - -100 puis prendre la valeur absolue par ex. )