N308WA
PILOTE PRO
- Messages
- 292
- Réactions
- 35
- Points
- 75
Bonjour à tous,
Est ce que quelqu'un a déjà programmé la fonction de debounce avec SIOC ?
Je précise un peu le besoin : j'ai des starter switches OEM pour lesquels la position ground correspond à trois broches actives simultanément et la position CONT à deux broches actives simultanément... sauf que les deux broches de ground sont aussi deux des trois broches de la position CONT. Donc quand je bascule sur CONT, ça bascule d'abord sur GRD puis une fraction de seconde suivante ça bascule bien sur CONT. Pas génant pour le simu mais pas très propre quand même. Mon idée est de temporiser chaque position pour "masquer" l'aller-retour start - CONT... mais je ne sais pas comment faire (la fonction delay ne me semble pas appropriée).
Merci pour votre aide et vos lumières.
Arnaud
Est ce que quelqu'un a déjà programmé la fonction de debounce avec SIOC ?
Je précise un peu le besoin : j'ai des starter switches OEM pour lesquels la position ground correspond à trois broches actives simultanément et la position CONT à deux broches actives simultanément... sauf que les deux broches de ground sont aussi deux des trois broches de la position CONT. Donc quand je bascule sur CONT, ça bascule d'abord sur GRD puis une fraction de seconde suivante ça bascule bien sur CONT. Pas génant pour le simu mais pas très propre quand même. Mon idée est de temporiser chaque position pour "masquer" l'aller-retour start - CONT... mais je ne sais pas comment faire (la fonction delay ne me semble pas appropriée).
Code:
Mon script :
// ======================================================================
// ENGINE 2 START
// ======================================================================
Var 1726, Link IOCARD_SW, device 1, Input 23 // Eng Start 2
{
CALL V1725 // Check status of all SW
}
Var 1727, Link IOCARD_SW, device 1, Input 24 // Eng Start 2
{
CALL V1725 // Check status of all SW
}
Var 1728, Link IOCARD_SW, device 1, Input 25 // Eng Start 2
{
CALL V1725 // Check status of all SW
}
Var 1729, Link IOCARD_SW, device 1, Input 26 // Eng Start 2
{
CALL V1725 // Check status of all SW
}
Var 1725, Link SUBRUTINE
{
IF V1726 = 1 // input 23
{
&IFLY737CMD = 495 // ENGAPU_ENG2_START_POS4, position 4 = FLT
}
IF V1727 = 1 // input 25
{
IF V1728 = 1 // input 26
{
IF V1727 = 1 // input 24
{
&IFLY737CMD = 492 // ENGAPU_ENG2_START_POS1, position 1 = GRD START
}
}
}
IF V1727 = 1 // input 24
{
IF V1728 = 1 // input 25
{
IF V1729 = 0 // input 26
{
&IFLY737CMD = 494 // ENGAPU_ENG2_START_POS1, position 3 = CONT
}
}
}
IF V1726 = 0
{
IF V1727 = 0
{
IF V1728 = 0
{
IF V1729 = 0
{
&IFLY737CMD = 493 // ENGAPU_ENG2_START_POS2, position 2 = OFF
}
}
}
}
}
Merci pour votre aide et vos lumières.
Arnaud