Je suis en train de faire la programmation des servos pour les gauges moteur de notre Baron58 et je bute sur un Pb !!!

Pour les gauges qui on un zéro et un maxi bien défini (gauges carburant par Ex.), pas de Pb !
Mais pour les autres, je n'arrive pas a faire en sorte qu'elle indiquent la même valeur que FS ...
Fuel Flow par Ex n'est juste qu'a partir de 10Gal/H, en dessous mes servos indique une valeur trop faible et de plus en plus si je diminue les gaz.
Mon script pour Fuel Flow :
- Code: Tout sélectionner
Var 0036, name serv_FF1, link usb_servos, device 0, output 6, posl 1, posc 512, posr 1023
Var 0037, name serv_FF2, link usb_servos, device 0, output 3, posl 1, posc 512, posr 1023
//
// Fuel flow 1 & 2
//
// Offset $ 0918 et $09B0 donne fuel flow en Pound/Heure (donc un poids/H)
// 1 pound = 0,454 kg 1 kg = 1,39 litres de 100LL (D=0,72) & 1 gallon = 3,78 litres :
// 1 Pound * 0,454 * 1,39 = 0,63106 litres de 100LL
// "X" litres / 3,78 = "Y" gallons (par Heure)
// Servo : 820 pas pour 30 graduations donc 820/30 = 27,33 pas pour 1 gallon/Heure
// D'ou le calcul de la constante :
// 0,454 * 1,39 / 3.78 = 0,1669 puis 0,1669 * 27,33 = 4,5627
// J'ai du mettre "5" pour être conforme à FS pour consommation > 10 Gal/H
// Mais les valeurs basses (< 10) sont quand même trop faibles sur les servos.
//
// Fuel flow 1
//
Var 0030, name fs_fuel_flow1, link FSuiPC_IN, Offset $0918, Length 8
{
// l0 = &fs_fuel_flow1 * 0.454 Une autre méthode de calcul
// l1 = l0 * 1.39 Mais l'aiguille avance
// &serv_FF1 = &Val_fuel_flow1 * 27.33 par sacade
&Val_fuel_flow1 = &fs_fuel_flow1 * 5
&serv_FF1 = &Val_fuel_flow1
IF &serv_FF1 < 140 // Position mini du servo
{
&serv_FF1 = 140
}
}
Var 0031, name Val_fuel_flow1
//
// Fuel flow 2
//
Var 0032, name fs_fuel_flow2, link FSuiPC_IN, Offset $09B0, Length 8
{
// l0 = &fs_fuel_flow2 * 0.454
// l1 = l0 * 1.39
// &Val_fuel_flow2 = l1 / 3.78
// &serv_FF2 = &Val_fuel_flow2 * 27.33
&Val_fuel_flow2 = &fs_fuel_flow2 * 5
&serv_FF2 = &Val_fuel_flow2
IF &serv_FF2 < 140
{
&serv_FF2 = 140
}
}
Var 0033, name Val_fuel_flow2
Quelqu'un aurait-il un exemple avec quelques explications sur la méthode de calcul ?
Une autre question :
En utilisant les variables locale L0 à L3, mon aiguille bouge par sacades.
Si je fait mes calculs par des Variables, pas de Pb, j'en déduit donc que L0 à L3 ne prennent que des valeurs entières ?
D'autres part, comment peut-on voir les valeurs décimales dans la console ?
Merci d'avance.