PDA

View Full Version : problem with sioc script for flaps indicator (C172N)



flyhigh91
09-01-2013, 09:41 PM
I have a problem with my opencockpit usbservos card and my flaps indicator script.

i just a no reaction of my servos

this is the script (https://dl.dropboxusercontent.com/u/50995470/cessnaflap.txt)

Var 0000, Value 0
{
&ind_le_extend = 0
&ind_le_trans = 0
}
Var 0001, name servo_flaps, Link USB_SERVOS, Device 37, Output 1, PosL 357, PosC 511, PosR 657
Var 0002, name flaps_fsuipc, Link FSUIPC_IN, Offset $0BE0, Length 4
{
L0 = &flaps_fsuipc
L0 = ABS L0
IF L0 = 0
{
&ind_le_extend = 0
&ind_le_trans = 0
}
ELSE
{
L1 = 0
&ind_le_trans = 1
IF L0 = 409
{
L1 = 1
&ind_le_trans = 0
}
IF L0 = 819
{
L1 = 1
&ind_le_trans = 0
}
IF L0 = 2047
{
L1 = 1
&ind_le_trans = 0
}
IF L0 = 4095
{
L1 = 1
&ind_le_trans = 0
}
IF L0 = 6143
{
L1 = 1
&ind_le_trans = 0
}
IF L0 = 10239
{
L1 = 1
&ind_le_trans = 0
}
IF L0 = 12287
{
L1 = 1
&ind_le_trans = 0
}
IF L0 = 16383
{
L1 = 1
&ind_le_trans = 0
}
&ind_le_extend = L1
}
L2 = L0
C0 = L0 >= 0
C1 = L0 <= 409
IF C0 AND C1
{
&flaps_low_val = 0
&flaps_high_val = 409
&servo_high_val = 357
&servo_low_val = 365
}
C0 = L0 >= 409
C1 = L0 <= 819
IF C0 AND C1
{
&flaps_low_val = 409
&flaps_high_val = 819
&servo_high_val = 365
&servo_low_val = 375
}
C0 = L0 >= 819
C1 = L0 <= 2047
IF C0 AND C1
{
&flaps_low_val = 819
&flaps_high_val = 2047
&servo_high_val = 375
&servo_low_val = 400
}
C0 = L0 >= 2047
C1 = L0 <= 4095
IF C0 AND C1
{
&flaps_low_val = 2047
&flaps_high_val = 4095
&servo_high_val = 400
&servo_low_val = 437
}
&servo_calc = &servo_low_val - &servo_high_val
&flaps_calc = &flaps_high_val - &flaps_low_val
&flaps_val = L0 - &flaps_low_val
&servo_val = &servo_calc * &flaps_val
&servo_val = &servo_val / &flaps_calc
L1 = &servo_high_val + &servo_val
&servo_flaps = L1
}
Var 0003, name servo_val
Var 0004, name flaps_calc
Var 0005, name servo_calc
Var 0006, name flaps_val
Var 0007, name flaps_low_val
Var 0008, name flaps_high_val
Var 0009, name servo_high_val
Var 0010, name servo_low_val
Var 0011, name ind_le_extend, Link IOCARD_OUT, Output 1
Var 0012, name ind_le_trans, Link IOCARD_OUT, Output 1
Var 0013, Link FSUIPC_OUT, Offset $0BDC, Length 4
Var 0014, Link USB_ANALOGIC, Input 1, PosL 0, PosC 126, PosR 253
{
IF V0014 > 0 // Pot/Handle @ position 0 degree
{
IF V0014 < 10 // 0 degree
{
V0013 = 2047.875
}
ELSE
{
IF V0014 > 22 // Pot/Handle @ position 10 degree
{
IF V0014 < 48 // 10 degree
{
V0013 = 4095.75
}
ELSE
{
IF V0014 > 52 // Pot/Handle @ position 20 degree
{
IF V0014 < 75 // 20 degree
{
V0013 = 8191.5
}
ELSE
{
IF V0014 > 77 // Pot/Handle @ position 30 degree
{
IF V0014 < 120 // 30 degree
{
V0013 = 16383
}
}
}
}
}
}
}
}
ELSE
{
V0013 = 0
}
}