Bonsoir à tous ,
je suis à la recherche d'une "autre" solution a mon probléme ;
Sur la nouvelle télécommande , pour changer de sirene il y a un potar ! . j'ai toujours le klaxon sur un BP et le Gyro sur un inter a glissiére ;
toutes ces fonctions sont effectuées par le 08M2 dédié a cela pour le "pseudo multi taches" .
la communication se fait par un adclevel cote 28X2 et readadc coté 08M2 .
Actuellement je planche sur une table de verité , me permettant suivant le code envoyés de svaoir quoi allumer et quelle sirene jouer . mais c'est la grosse galere .
en gros et pour simplifier je fais ca :
klax=0 , gyro=0 , sirene0=0 , sirene1=0 , sirene2=0 , sirene3 = 0 alors daclevel =0
klax=1 , gyro=0 , sirene0=0 , sirene1=0 , sirene2=0 , sirene3 = 0 alors daclevel =1
klax=0 , gyro=1 , sirene0=0 , sirene1=0 , sirene2=0 , sirene3 = 0 alors daclevel =2
klax=1 , gyro=1 , sirene0=0 , sirene1=0 , sirene2=0 , sirene3 = 0 alors daclevel =3
|
|
|
|
klax= , gyro=1 , sirene0=0 , sirene1=0 , sirene2=0 , sirene3 = 1 alors daclevel = X
Mais c'est vraiment mauvais , si vous avez une piste je suis preneur !!! ;
je précise que pour simplifier il seras pas possible de klaxonner SI la sirene est en route ! sa simplifie la table mais toujours pas top comme facon de faire ! Je vois rien d'autre avec un adclevel !
J'en suis rendu la !
Code:
'------------------------------
'##### Commande des TOR #####
if V_TOR = 0 and V_sirene < 50 then ' Si pas de bouton appuyé , daclevel = 0
daclevel 0
end if
'klax 'gyro sirene n°
if V_Klaxon = 1 and V_Gyro=0 and V_sirene<50 then 1 0 0
daclevel 3
end if
if V_Klaxon = 0 and V_Gyro=0 and V_sirene>50 and V_sirene<100 then 0 0 1
daclevel 4
end if
if V_Klaxon = 0 and V_Gyro=0 and V_sirene>=100 and V_sirene<150 then 0 0 2
daclevel 5
end if
if V_Klaxon = 0 and V_Gyro=0 and V_sirene>=150 and V_sirene<200 then 0 0 3
daclevel 6
end if
if V_Klaxon = 0 and V_Gyro=1 and V_sirene<50 then 0 1 0
daclevel 10
end if
if V_Klaxon = 1 and V_Gyro=1 and V_sirene<50 then 1 1 0
daclevel 11
end if
if V_Klaxon = 0 and V_Gyro=0 and V_sirene>50 and V_sirene<100 then 0 1 1
daclevel 12
end if
if V_Klaxon = 0 and V_Gyro=1 and V_sirene>=100 and V_sirene<150 then 0 1 2
daclevel 13
end if
if V_Klaxon = 0 and V_Gyro=1 and V_sirene>=150 and V_sirene<200 then 0 1 3
daclevel 14
end if