Air-Cockpit

Air-Cockpit

Echange et partage entre créateurs et réalisateurs de simulateurs de vol.
 
AccueilFAQGroupesS'enregistrerConnexion
Aircokpit est définitivement transféré à sa nouvelle adresse http://www.aircockpit.com. Ce forum sera bientôt en lecture seule. Voir messages d'annonce dans les sujets ci-dessous. L'équipe AIRCOCKPIT

Partagez | 
 

 sioc 3.41

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Jeu 15 Mai - 20:56

ok je fais ca demain car aujourd'hui j'étais en examen
merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 15:52

bon j'ai mis ce code
j'utilise que mes switch et mes rotatif ( et pas les 7 segments )


Var 0000, Link IOCARD_SW, Input 4
{
&LED_SW_4 = V0000
}

Var 0001, Link IOCARD_SW, Input 7
{
&LED_SW_7 = V0001
}

Var 0002, Link IOCARD_SW, Input 5
{
&LED_SW_5 = V0002
}

Var 0003, Link IOCARD_SW, Input 2
{
&LED_SW_2 = V0003
}

Var 0004, Link IOCARD_SW, Input 0
{
&LED_SW_0 = V0004
}

Var 0005, Link IOCARD_SW, Input 3
{
&LED_SW_3 = V0005
}

Var 0006, Link IOCARD_SW, Input 1
{
&LED_SW_1 = V0006
}

Var 0007, Link IOCARD_SW, Input 6
{
&LED_SW_6 = V0007
}

Var 0008, Link IOCARD_SW, Input 10

Var 0009, Link IOCARD_SW, Input 13
{
&LED_SW_65 = V0009
}

Var 0010, Link IOCARD_SW, Input 24, Type P
{
&LED_SW_24 = V0010
}

Var 0011, Link IOCARD_SW, Input 23, Type P
{
&LED_SW_23 = V0011
}

Var 0012, Link IOCARD_SW, Input 21, Type P
{
&LED_SW_21 = V0012
}

Var 0013, Link IOCARD_SW, Input 22, Type P
{
&LED_SW_22 = V0013
}

Var 0014, Link IOCARD_SW, Input 18, Type P
{
&LED_SW_18 = V0014
}

Var 0015, Link IOCARD_SW, Input 25, Type P
{
&LED_SW_25 = V0015
}

Var 0016, Link IOCARD_SW, Input 19, Type P
{
&LED_SW_19 = V0016
}

Var 0017, Link IOCARD_SW, Input 20, Type P
{
&LED_SW_20 = V0017
}

Var 0018, Link IOCARD_SW, Input 65
{
IF V0018 = 1
{
&LED_SW_65a = DELAY 1 ,10
&LED_SW_65b = DELAY 1 ,15
&LED_SW_65c = DELAY 1 ,20
}
ELSE
{
&LED_SW_65a = 0
&LED_SW_65c = 0
&LED_SW_65b = 0
}
}

Var 0019, Link IOCARD_SW, Input 17
{
&LED_SW_59 = V0019
}

Var 0020, Link IOCARD_SW, Input 12, Type P
{
&LED_SW_57 = V0020
}

Var 0021, Link IOCARD_SW, Input 66, Type P
{
&LED_SW_66 = V0021
}

Var 0022, Link IOCARD_SW, Input 67, Type P
{
&LED_SW_67 = V0022
}

Var 0023, Link IOCARD_SW, Input 14, Type P
{
&LED_SW_14 = V0023 AND 1
}

Var 0024, Link IOCARD_SW, Input 15, Type P
{
&LED_SW_15 = V0024
}

Var 0101, name LED_SW_4, Link IOCARD_OUT, Output 11

Var 0102, name LED_SW_7, Link IOCARD_OUT, Output 15

Var 0103, name LED_SW_5, Link IOCARD_OUT, Output 17

Var 0104, name LED_SW_2, Link IOCARD_OUT, Output 14

Var 0105, name LED_SW_0, Link IOCARD_OUT, Output 16

Var 0106, name LED_SW_3, Link IOCARD_OUT, Output 18

Var 0107, name LED_SW_1, Link IOCARD_OUT, Output 36

Var 0108, name LED_SW_6, Link IOCARD_OUT, Output 37

Var 0109, name LED_SW_24, Link IOCARD_OUT, Output 34

Var 0110, name LED_SW_23, Link IOCARD_OUT, Output 35

Var 0111, name LED_SW_21, Link IOCARD_OUT, Output 29

Var 0112, name LED_SW_22, Link IOCARD_OUT, Output 31

Var 0113, name LED_SW_18, Link IOCARD_OUT, Output 32

Var 0114, name LED_SW_25, Link IOCARD_OUT, Output 30

Var 0115, name LED_SW_19, Link IOCARD_OUT, Output 33

Var 0116, name LED_SW_20, Link IOCARD_OUT, Output 40

Var 0117, name LED_SW_14, Link IOCARD_OUT, Output 23

Var 0118, name LED_SW_65, Link IOCARD_OUT, Output 20

Var 0119, name LED_SW_65a, Link IOCARD_OUT, Output 19

Var 0120, name LED_SW_65b, Link IOCARD_OUT, Output 22

Var 0121, name LED_SW_65c, Link IOCARD_OUT, Output 21

Var 0122, name LED_SW_66, Link IOCARD_OUT, Output 27

Var 0123, name LED_SW_67, Link IOCARD_OUT, Output 28

Var 0124, name LED_SW_15, Link IOCARD_OUT, Output 24

Var 0125, name LED_SW_57, Link IOCARD_OUT, Output 25

Var 0126, name LED_SW_59, Link IOCARD_OUT, Output 26

Var 0200, Link IOCARD_ENCODER, Input 42, Aceleration 5
Var 0201, Link IOCARD_ENCODER, Input 39, Aceleration 5
Var 0202, Link IOCARD_ENCODER, Input 48, Aceleration 5
Var 0203, Link IOCARD_ENCODER, Input 45, Aceleration 5
Var 0204, Link IOCARD_ENCODER, Input 27, Aceleration 5
Var 0205, Link IOCARD_ENCODER, Input 30, Aceleration 5
Var 0206, Link IOCARD_ENCODER, Input 33, Aceleration 5
Var 0207, Link IOCARD_ENCODER, Input 54, Aceleration 5
Var 0208, Link IOCARD_ENCODER, Input 57, Aceleration 5
Var 0209, Link IOCARD_ENCODER, Input 60, Aceleration 5

je l'ai mis en route sans fs bien sur j'ai activé des entrée un peu comme en plein mileu d'un vol
et j'attend
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 17:18

1h30 de fonctionnement entre temps j'ai modifier les position des interrupteur et des rotatif toutes les30min je dirais

aucun probleme
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
Kelt760



Nombre de messages : 285
Date d'inscription : 15/03/2008
Localisation : Saclay

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 17:36

...donc ta carte est OK, apparemment. Le mieux est de remettre aussi les afficheurs, puis petit à petit des offsets FS, et voir ce qui se passe. Bon courage.

Pierre

_________________
www.simubaron.fr (attention adresse modifiée), le site des 2 Pierre. Venez nous voir !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.simubaron.new.fr
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 18:18

ouep je pensais cela aussi
ce sera long tout ca
merci je vous tiens au courant
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
Kelt760



Nombre de messages : 285
Date d'inscription : 15/03/2008
Localisation : Saclay

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 18:56

Pour gagner du temps, si ton programme SIOC est modulaire, tu peux essayer de remettre ces modules un par un (attention aux routines communes, s'il y en a).

Pierre

_________________
www.simubaron.fr (attention adresse modifiée), le site des 2 Pierre. Venez nous voir !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.simubaron.new.fr
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 19:30

oui il l'est ca va

je vais voir tous ca
merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 21:26

Je viens de penser à quelque chose.

Quand tu envoies un nombres à un afficheur il est très important
que le nombre de chiffre de la variable corresponde au nombre
de chiffre de l'afficheur. (utilise la fonction LIMIT)

exemple de 0-999 pour un afficheur à 3 chiffres.

Si tu as commis une faute dans ton code et que tu envoie un nombre à 5 chiffres
sur un afficheur à 3 chiffres tu vas provoquer des bugs, apparemment tu
vas décaler une base de registre dans l'exécuteur de SIOC et perturber toutes les autres
variables, ce qui a pour cause d'allumer ou d'éteindre des LED de facon aléatoire.

Ce n'est pas vraiment un bug de SIOC mais une absence de sécurité sur les
variable display si tu overpasse leur longueur.

Tu peux aussi provoquer cet effet en envoyant une variable négative (la VS p.ex.)
si tu as oublié de déclarer son Type=1 qui la force à prendre un valeur négative.
La variable va alors prendre un valeur dans les 65000 et donc dépassera le nombre
de chiffres de l'afficheur.

Voila

BOB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kelt760



Nombre de messages : 285
Date d'inscription : 15/03/2008
Localisation : Saclay

MessageSujet: Re: sioc 3.41   Ven 16 Mai - 22:05

Ca c'est un truc qu'il vaut mieux savoir ! Je parie que les ennuis de Guillou viennent de là !

Pierre

_________________
www.simubaron.fr (attention adresse modifiée), le site des 2 Pierre. Venez nous voir !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.simubaron.new.fr
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Sam 17 Mai - 9:02

ha ok ca c un très bon point
merci bcp de cette précision

je vais faire attention a cela
je suis en cours la donc je verais cela

merci bcp
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Sam 17 Mai - 21:21

sALUT

cet apres-midi

j'ai mis des bout de code en faisant un test avec fs apres ajout de chacun d'eux et je n'ai fais aucune condition de courant ny rien:
tous ce qui est switch c ok pas de soucis pas de bug YOUPPIIII !!! jespere que ca va durer

puis j'ai mis petit a petit
affichage et reglage du cap , affichage et réglage de la course, choix altitude et son affichage pareil pour la vs

et la pas de bug grave à recenser a part juste maintenant apres plusieurs heures de fonctionnement l'affichage de la course et de l'altitude qui pete les plomb mais cela et du je pense au pic qui a chauffer en effet j'ai un pic qui chauffe beaucoup sur une carte.

sinon lorsque j'ai branché la DME la j'ai eu un petit bug donc enlever et j'ai mis a la place la com et la pareil petit bug

bizarre car le code DME est simple :

Var 0415, name FS_DME1DIGIT, Link FSUIPC_IN, Offset $0C29, Length 1 // PREMIER DIGIT DME
{
&AFFICH_DME1 = &FS_DME1DIGIT
}

Var 0305, name AFFICH_DME1, Link IOCARD_DISPLAY, Digit 39, Numbers 1

Var 0416, name FS_DME2DIGIT, Link FSUIPC_IN, Offset $0C2A, Length 1 // 2 DIGIT DME1
{
&AFFICH_DME2 = &FS_DME2DIGIT
}

Var 0306, name AFFICH_DME2, Link IOCARD_DISPLAY, Digit 38, Numbers 1 // 2 DIGIT DME

Var 0417, name FS_DME3DIGIT, Link FSUIPC_IN, Offset $0C2C, Length 1 // 3 DIGIT DME1
{
&AFFICH_DME3 = &FS_DME3DIGIT
}

Var 0307, name AFFICH_DME3, Link IOCARD_DISPLAY, Digit 37, Numbers 1 // 3 DIGIT DME

Var 0418, name DMEAVALAIBEL, Link FSUIPC_INOUT, Offset $3300, Length 2


voila pour l'instant
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: sioc 3.41   Sam 17 Mai - 21:23

Le plus facile pour tester ça est de désactiver tes variables Link Display
en mettant des //
et les remplacer par des variables normale même nom, même n°, mais sans link


// Var 0003, name display, Link IOCARD_DISPLAY, Digit 3, Numbers 4

Var 0003, name display

Et d'aller voir le chiffre affiché dans la Console de SIOC.exe
notamment s'il dépasse la grandeur max ou deviens négatif ...etc

BOB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: sioc 3.41   Sam 17 Mai - 21:30

Ouups tu as écris un nouveau message pendant que j'écrivais le mien ...


ATTENTION

Tu utilise l'offset $0C29 pour la distance DME, or si tu regardes dans FSinterrogate
tu verras que le format de cet offset est ASCII, donc ce n'est pas un nombre décimal mais du texte...
SIOC ne traite pas les variables texte et de plus tu l'affiche avec un nombre de chiffre NUMBERS=1 dans le
display alors que cette offset a certainement plus qu'un chiffre !!!!
D'ou le problème ...

BOB

PS: Jamais eu un seul pic qu'a chauffé sur une quinzaine de cartes différentes d'opencockpits
tout les PIC restent froids, tu doit avoir un problème de cablage ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Dim 18 Mai - 12:46

okok merci de ta réponse je vais vérifier cela

et également regarder pour le pic, j'ai trois carte display et seul pic chauffe les autres sont froid
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
trajector



Nombre de messages : 13
Date d'inscription : 17/03/2008
Age : 73
Localisation : morbihan

MessageSujet: Re: sioc 3.41   Dim 18 Mai - 18:28

bonjour à tous.
réponse à guillou

j'avais interrogé il y quelque temps le forum d'opencockpit au sujet de la DME.
Je n'ai pas pris le temps de vérifier le programme: voici en brut la réponse qui me fut
donné par Admin (administrateur du forum d'opencockpit)

Var 0010, Link FSUIPC_IN, Offset $0C29, Length 1 // Primera posicion DME NX.X
{
V0014 = V0010 - 48
}

Var 0011, Link FSUIPC_IN, Offset $0C2A, Length 1 // Segunda posicion DME XN.X
{
V0015 = V0011 - 48
}

Var 0012, Link FSUIPC_IN, Offset $0C2B, Length 1 // Tercera posicion DME XX.X
{
IF V0012 = 44 // Si hay un punto decimal
{
V0016 = 1
}
ELSE
{
V0016 = 0
}
}

Var 0013, Link FSUIPC_IN, Offset $0C2C, Length 1 // Cuarta posicion DME XX.N
{
V0016 = V0013 - 48
}

var 0014, Link IOCARD_DISPLAY, Digit 2, Numbers 1 // Digito mas significativo

var 0015, Link IOCARD_DISPLAY, Digit 1, Numbers 1

var 0016, Link IOCARD_DISPLAY, Digit 0, Numbers 1 // Digito menos significativo

var 0017, Link IOCARD_OUT, Output 10 // Punto decimal


le "-48" permet je le supose d'extraire la valeur à un chiffre de la variable et les unites,
les dizaines et les centaines ont leur variable.

Peut être peux tu essayer ce programme.

Jean-Gilles
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
guillou



Nombre de messages : 120
Date d'inscription : 07/04/2008
Age : 30
Localisation : dunkerque

MessageSujet: Re: sioc 3.41   Lun 19 Mai - 20:18

j'ai trouvé!!!!!!!
Enfin du moins en grosse partie
en effet je me suis dit maintenant je vais pouvoir remettre mon sous-programme des condition courant puisque cela fonctionne et donc je le remet je le modifie un peu

et la
le big désastre les bug ont recommencé sans attendres

donc voila lol j'ai jamais pensé à ce truc lol mais il est vrai en y repensant que je douté de certain truc

mais de toute facon il va falloir que je revoi mon code pour avoir quelque chose de plus "propre" car il arrive parfois un bug qd meme

le voici le code
Var 0500, name INIT_AFFICH, Link SUBRUTINE
{
IF &FS_BATTERY = 0
{
&LED_STROBES = 0
&LED_NAV_LIGHTS = 0
&LED_BEACON = 0
&LEDTAXI_LIGHTS = 0
&LED_LANDLIGHTS = 0
&LED_INSTRUMENT = 0
&LED_PITOT_HEAT = 0
&LEDVERDROITRAI = DELAY 0 ,40
&LEDVERHAUTRAIN = 0
&LEDVERGAUTRAIN = DELAY 0 ,20
&LED_VOLET_BAS = 0
&LED_VOLET_HAUT = 0
&LED__FUEL_PUMP = 0
&AFFICH_ALT_AP = -999999
&AFFICHE_VS_FIX = -999999
&AFFICH_VS_ALT = -999999
&AFFICH_DME3 = -999999
&AFFICH_DME2 = -999999
&AFFICH_DME1 = -999999
&AFFICH_COURSE = -999999
&AFFICH_CAP = -999999
&FIXE_0_ALTIT = -999999
}
IF &FS_BATTERY = 1
{
&FS_CAP_AFFICH = 0
&AFFICH_COURSE = 0
&LED_INSTRUMENT = TESTBIT &FS_LIGHTS ,5
&LED_BEACON = TESTBIT &FS_LIGHTS ,1
&LED_NAV_LIGHTS = TESTBIT &FS_LIGHTS ,0
&LED__FUEL_PUMP = &FS_FUEL_PUMP
&LED_STROBES = TESTBIT &FS_LIGHTS ,4
&LEDTAXI_LIGHTS = TESTBIT &FS_LIGHTS ,3
&LEDVERHAUTRAIN = &LEDVERHAUTRAIN
&LEDVERGAUTRAIN = &LEDVERGAUTRAIN
&LEDVERDROITRAI = &LEDVERDROITRAI
&LED_LANDLIGHTS = TESTBIT &FS_LIGHTS ,2
&LED_PITOT_HEAT = &FS_PITOT_HEAT
IF &FS_POS_VOL_HAU = 0
{
&LED_VOLET_HAUT = 1
}
ELSE
{
&LED_VOLET_HAUT = 0
}
IF &FS_POS_VOL_HAU > 0
{
&LED_VOLET_BAS = 1
}
ELSE
{
&LED_VOLET_BAS = 0
}
IF &FS_AVIONICS = 0
{
&AFFICHE_VS_FIX = -999999
&DISP_C1_SB_RHS = -999999
&D_NAV1Freq = -999999
&FS_NAV_AUTOPIL = 0
&FS_CAP_LOCK = 0

&FS_APPROC_LOCK = 0
&FS_AUTOPILOT = 0
&FS_ALTITUDE_AP = 0
&FS_ALTI_LOCK = 0
&Standby_Freq = -999999
&nav1fixact = -999999
&nav1fix = -999999
&DISP_C1_SB_LHS = -999999
&DISP_C1_ACT = -999999
&AFFI_COM1FIXAC = -999999
&AFF_COM1FIXENT = -999999
&AFFICH_VS_ALT = -999999
&AFFICH_ALT_AP = -999999
&FIXE_0_ALTIT = -999999
&AFFICH_DME3 = -999999
&AFFICH_DME2 = -999999
&AFFICH_DME1 = -999999
&AFFICH_CAP = -999999
&AFFICH_COURSE = -999999
}
}
IF &FS_BATTERY = 1
{
IF &FS_AVIONICS = 1
{
&AFFICH_VS_ALT = &VS_ALTITUDE
&AFFI_COM1FIXAC = 1
&Standby_Freq = &NAV1Freq

&D_NAV1Freq = &NAV1Freq
&nav1fixact = 1
&nav1fix = 1
&DISP_C1_ACT = &C1_FREACT
&DISP_C1_SB_RHS = &C1_SB_RHS
&DISP_C1_SB_LHS = &C1_LHS_ROT_VAL
&AFF_COM1FIXENT = 1
&AFFICHE_VS_FIX = 0
&AFFICH_ALT_AP = &ALTITUDE
&FIXE_0_ALTIT = 0
&AFFICH_CAP = &MEMROT_CAP
&AFFICH_COURSE = &MEMROT_COURSE
L0 = TESTBIT &DMEAVALAIBEL ,4
IF L0 = 0
{
&AFFICH_DME1 = -999998
&AFFICH_DME2 = -999998
&AFFICH_DME3 = -999998
}
IF L0 = 1
{
&AFFICH_DME1 = &FS_DME1DIGIT - 48
&AFFICH_DME1 = &FS_DME1DIGIT - 48
&AFFICH_DME1 = &FS_DME1DIGIT - 48
}
}
}
}

PS merci trajector ton code marche et concorde avec ce que disait stevelep sur le taille des variable à afficher
par contre faut enlever le point décimal car celui-ci n'est plus gérer par les displayII
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://perso.numericable.fr/francis.derycke/
Contenu sponsorisé




MessageSujet: Re: sioc 3.41   

Revenir en haut Aller en bas
 
sioc 3.41
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Air-Cockpit :: Réalisations électronique :: Programmations Pics , Sioc et autres-
Sauter vers: