Code SIOC engines indicators pour T44 A et autre bi

Bonjour,
Ci-dessous le code SIOC que je vais utiliser pour le T44-A.
En espérant que cela puisse aider le plus grand nombre.
Olivier
********************************************************
* INSTRUCTIONS
********************************************************
--> Déclarer dans SIOC.INI les cartes USB Servos comme suit:
USBServos=1,xx
USBServos=2,yy
USBServos=3,zz
xx, yy, zz sont les numéros USB donnés par Windows (c'est le numéro "Device = ..." dans la fenêtre SIOC "Devices")
--> Pour affiner la rotation des servos (tour complet de cadran, 270°, 90°...) change le multiplicateur appliqué à L0
(exemple : L0 = &FS_ENG1_ITT * 0.04)
--> Brancher les servos en respectant les variables 4001-4014 (ex la gauge ITT engine #1 se branche sur la
première broche de la première carte USB Servo; la gauge Oil Pressure de l'engine #2 se branche sur la deuxième broche de
la troisième carte USB Servos)
--> Inverser les fils de couleurs de chaque servo (rouge/jaune ou rouge/blanc)...c'est une contrainte des cartes opencockpit
--> alimenter les cartes USB Servos avec du +5V
********************************************************
* CODE SIOC
********************************************************
Var 4001, name SERV_ENG1_ITT, Link USB_SERVOS, Device 1, Output 1, PosL 0, PosC 512, PosR 1023
Var 4002, name SERV_ENG2_ITT, Link USB_SERVOS, Device 1, Output 2, PosL 0, PosC 512, PosR 1023
Var 4003, name SERV_ENG1_TOR, Link USB_SERVOS, Device 1, Output 3, PosL 0, PosC 512, PosR 1023
Var 4004, name SERV_ENG2_TOR, Link USB_SERVOS, Device 1, Output 4, PosL 0, PosC 512, PosR 1023
Var 4005, name SERV_ENG1_RPM, Link USB_SERVOS, Device 1, Output 5, PosL 0, PosC 512, PosR 1023
Var 4006, name SERV_ENG2_RPM, Link USB_SERVOS, Device 1, Output 6, PosL 0, PosC 512, PosR 1023
Var 4007, name SERV_ENG1_TURB, Link USB_SERVOS, Device 2, Output 1, PosL 0, PosC 512, PosR 1023
Var 4008, name SERV_ENG2_TURB, Link USB_SERVOS, Device 2, Output 2, PosL 0, PosC 512, PosR 1023
Var 4009, name SERV_ENG1_FF, Link USB_SERVOS, Device 2, Output 3, PosL 0, PosC 512, PosR 1023
Var 4010, name SERV_ENG2_FF, Link USB_SERVOS, Device 2, Output 4, PosL 0, PosC 512, PosR 1023
Var 4011, name SERV_ENG1_OT, Link USB_SERVOS, Device 2, Output 5, PosL 0, PosC 512, PosR 1023
Var 4012, name SERV_ENG2_OT, Link USB_SERVOS, Device 2, Output 6, PosL 0, PosC 512, PosR 1023
Var 4013, name SERV_ENG1_OP, Link USB_SERVOS, Device 3, Output 1, PosL 0, PosC 512, PosR 1023
Var 4014, name SERV_ENG2_OP, Link USB_SERVOS, Device 3, Output 2, PosL 0, PosC 512, PosR 1023
Var 4100, name FS_ENG1_ITT, Link FSUIPC_INOUT, Offset $2038, Length 8
{
L0 = &FS_ENG1_ITT * 0.04 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_ITT = L1
}
Var 4101, name FS_ENG2_ITT, Link FSUIPC_INOUT, Offset $2138, Length 8
{
L0 = &FS_ENG2_ITT * 0.04 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_ITT = L1
}
Var 4102, name FS_ENG1_TOR, Link FSUIPC_INOUT, Offset $08F4, Length 4
{
L0 = &FS_ENG1_TOR * 0.0055 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_TOR = L1
}
Var 4103, name FS_ENG2_TOR, Link FSUIPC_INOUT, Offset $098C, Length 4
{
L0 = &FS_ENG2_TOR * 0.0055 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_TOR = L1
}
Var 4104, name FS_ENG1_RPM, Link FSUIPC_INOUT, Offset $0898, Length 2
{
L0 = &FS_ENG1_RPM * 0.0024 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_RPM = L1
}
Var 4105, name FS_ENG2_RPM, Link FSUIPC_INOUT, Offset $0930, Length 2
{
L0 = &FS_ENG2_RPM * 0.0024 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_RPM = L1
}
Var 4106, name FS_ENG1_TURB, Link FSUIPC_INOUT, Offset $2000, Length 8 // N1
{
L0 = &FS_ENG1_TURB * 0.9 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_TURB = L1
}
Var 4107, name FS_ENG2_TURB, Link FSUIPC_INOUT, Offset $2100, Length 8 // N1
{
L0 = &FS_ENG2_TURB * 0.9 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_TURB = L1
}
Var 4108, name FS_ENG1_FF, Link FSUIPC_INOUT, Offset $2020, Length 8 // FUEL FLOW
{
L0 = &FS_ENG1_FF * 0.1 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_FF = L1
}
Var 4109, name FS_ENG2_FF, Link FSUIPC_INOUT, Offset $2020, Length 8 // FUEL FLOW
{
L0 = &FS_ENG2_FF * 0.1 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_FF = L1
}
Var 4110, name FS_ENG1_OT, Link FSUIPC_INOUT, Offset $08B8, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG1_OT * 0.01 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_OT = L1
}
Var 4111, name FS_ENG2_OT, Link FSUIPC_INOUT, Offset $0950, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG2_OT * 0.01 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_OT = L1
}
Var 4112, name FS_ENG1_OP, Link FSUIPC_INOUT, Offset $08BA, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG1_OP * 0.002 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_OP = L1
}
Var 4113, name FS_ENG2_OP, Link FSUIPC_INOUT, Offset $0952, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG2_OP * 0.002 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_OP = L1
}
Ci-dessous le code SIOC que je vais utiliser pour le T44-A.
En espérant que cela puisse aider le plus grand nombre.
Olivier
********************************************************
* INSTRUCTIONS
********************************************************
--> Déclarer dans SIOC.INI les cartes USB Servos comme suit:
USBServos=1,xx
USBServos=2,yy
USBServos=3,zz
xx, yy, zz sont les numéros USB donnés par Windows (c'est le numéro "Device = ..." dans la fenêtre SIOC "Devices")
--> Pour affiner la rotation des servos (tour complet de cadran, 270°, 90°...) change le multiplicateur appliqué à L0
(exemple : L0 = &FS_ENG1_ITT * 0.04)
--> Brancher les servos en respectant les variables 4001-4014 (ex la gauge ITT engine #1 se branche sur la
première broche de la première carte USB Servo; la gauge Oil Pressure de l'engine #2 se branche sur la deuxième broche de
la troisième carte USB Servos)
--> Inverser les fils de couleurs de chaque servo (rouge/jaune ou rouge/blanc)...c'est une contrainte des cartes opencockpit
--> alimenter les cartes USB Servos avec du +5V
********************************************************
* CODE SIOC
********************************************************
Var 4001, name SERV_ENG1_ITT, Link USB_SERVOS, Device 1, Output 1, PosL 0, PosC 512, PosR 1023
Var 4002, name SERV_ENG2_ITT, Link USB_SERVOS, Device 1, Output 2, PosL 0, PosC 512, PosR 1023
Var 4003, name SERV_ENG1_TOR, Link USB_SERVOS, Device 1, Output 3, PosL 0, PosC 512, PosR 1023
Var 4004, name SERV_ENG2_TOR, Link USB_SERVOS, Device 1, Output 4, PosL 0, PosC 512, PosR 1023
Var 4005, name SERV_ENG1_RPM, Link USB_SERVOS, Device 1, Output 5, PosL 0, PosC 512, PosR 1023
Var 4006, name SERV_ENG2_RPM, Link USB_SERVOS, Device 1, Output 6, PosL 0, PosC 512, PosR 1023
Var 4007, name SERV_ENG1_TURB, Link USB_SERVOS, Device 2, Output 1, PosL 0, PosC 512, PosR 1023
Var 4008, name SERV_ENG2_TURB, Link USB_SERVOS, Device 2, Output 2, PosL 0, PosC 512, PosR 1023
Var 4009, name SERV_ENG1_FF, Link USB_SERVOS, Device 2, Output 3, PosL 0, PosC 512, PosR 1023
Var 4010, name SERV_ENG2_FF, Link USB_SERVOS, Device 2, Output 4, PosL 0, PosC 512, PosR 1023
Var 4011, name SERV_ENG1_OT, Link USB_SERVOS, Device 2, Output 5, PosL 0, PosC 512, PosR 1023
Var 4012, name SERV_ENG2_OT, Link USB_SERVOS, Device 2, Output 6, PosL 0, PosC 512, PosR 1023
Var 4013, name SERV_ENG1_OP, Link USB_SERVOS, Device 3, Output 1, PosL 0, PosC 512, PosR 1023
Var 4014, name SERV_ENG2_OP, Link USB_SERVOS, Device 3, Output 2, PosL 0, PosC 512, PosR 1023
Var 4100, name FS_ENG1_ITT, Link FSUIPC_INOUT, Offset $2038, Length 8
{
L0 = &FS_ENG1_ITT * 0.04 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_ITT = L1
}
Var 4101, name FS_ENG2_ITT, Link FSUIPC_INOUT, Offset $2138, Length 8
{
L0 = &FS_ENG2_ITT * 0.04 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_ITT = L1
}
Var 4102, name FS_ENG1_TOR, Link FSUIPC_INOUT, Offset $08F4, Length 4
{
L0 = &FS_ENG1_TOR * 0.0055 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_TOR = L1
}
Var 4103, name FS_ENG2_TOR, Link FSUIPC_INOUT, Offset $098C, Length 4
{
L0 = &FS_ENG2_TOR * 0.0055 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_TOR = L1
}
Var 4104, name FS_ENG1_RPM, Link FSUIPC_INOUT, Offset $0898, Length 2
{
L0 = &FS_ENG1_RPM * 0.0024 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_RPM = L1
}
Var 4105, name FS_ENG2_RPM, Link FSUIPC_INOUT, Offset $0930, Length 2
{
L0 = &FS_ENG2_RPM * 0.0024 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_RPM = L1
}
Var 4106, name FS_ENG1_TURB, Link FSUIPC_INOUT, Offset $2000, Length 8 // N1
{
L0 = &FS_ENG1_TURB * 0.9 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_TURB = L1
}
Var 4107, name FS_ENG2_TURB, Link FSUIPC_INOUT, Offset $2100, Length 8 // N1
{
L0 = &FS_ENG2_TURB * 0.9 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_TURB = L1
}
Var 4108, name FS_ENG1_FF, Link FSUIPC_INOUT, Offset $2020, Length 8 // FUEL FLOW
{
L0 = &FS_ENG1_FF * 0.1 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_FF = L1
}
Var 4109, name FS_ENG2_FF, Link FSUIPC_INOUT, Offset $2020, Length 8 // FUEL FLOW
{
L0 = &FS_ENG2_FF * 0.1 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_FF = L1
}
Var 4110, name FS_ENG1_OT, Link FSUIPC_INOUT, Offset $08B8, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG1_OT * 0.01 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_OT = L1
}
Var 4111, name FS_ENG2_OT, Link FSUIPC_INOUT, Offset $0950, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG2_OT * 0.01 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_OT = L1
}
Var 4112, name FS_ENG1_OP, Link FSUIPC_INOUT, Offset $08BA, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG1_OP * 0.002 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG1_OP = L1
}
Var 4113, name FS_ENG2_OP, Link FSUIPC_INOUT, Offset $0952, Length 2 // 16384 = 55 psi
{
L0 = &FS_ENG2_OP * 0.002 // 0 à 100%
L1 = L0 * 10.22 // 1022 positions
IF L1 > 1022 // UPPER LIMIT
{
L1 = 1022
}
IF L1 < 1 // LOWER LIMIT
{
L1 = 100
}
&SERV_ENG2_OP = L1
}