Turoriels SIOC

et c'est repartit un petit tuto en complement de l'autre pour simuler des touches de claviers dans la fenetre voulut !

alors tout commence par le fichier SIOC.INI qui se situe dans le repertoire de votre programme files /iocard/sioc/sioc.ini

on ouvre ca avec un bloc note et on descend puis on descend et on descend encore et la PAF ( ca fait des chocapic ! pour ceux qui sont né avant 1985 comprendront la blague ....) on arrive la dessus :

sioccl10.jpg


voila donc ici on peut choisir la fenetre dans laquelle les touches de claviers vont faire effet donc il faut ecrire exactement le nom de la fenetre en question (ici dans l'exemple c'est project magenta)

en suite on definit sur chaque entrées la touche a appuyer ; ici on voit que 1=A 2=B ATTENTION ce sont des majuscules si on veut des minuscules on fait ca : 1=<A

il faut egalement une variable de remise a zero : ici on va prendre 1=(rien pour la remise a zero) et 2=<A (pour simuler la touche "a")

siocte14.jpg


voila une fois que votre fichier est configuré on enregistre et on passe a sioc

alors comme toujours j'ouvre un sioc vierge et je declare un interrupteur et une variable KEYEMULATOR

siocte15.jpg


ok cool !! maintenant quand je vais actionner mon interr bah faut faire comprendre a la variable KEY que quand linterr est fermé il envoie la KEY numero 2 pour faire un A minuscule et quand je relache linterr il est egale a la KEY numero 1 pour relacher la touche de clavier

condition IF et ELSE on a deja vu ca avant !

siocte16.jpg


et c'est tout !!!

donc j'appuie sur mon bouton ca fait un "a" et je relache remise a zero

on peut tester ca dans un bloc note ca fonctionnera sans probleme meme en ayant pas configuré la fenetre active

et bien sur a chaque interr si je rajoute la demande n°3 ca fera un C majuscule ect ect ....

SURTOUT ne pas oublier la remise a zero sinon .......
 
mameloose a dit:
on ouvre ca avec un bloc note et on descend puis on descend et on descend encore et la PAF ( ca fait des chocapic ! pour ceux qui sont né avant 1985 comprendront la blague ....)

J'ai pas pu résister à me refaire la vidéo

 
Bonjour a tous ! ca va t'y ?

allez un nouveau tuto pour declencher les sons que lon veut avec sioc .

tout d'abord choisir un son ( j'ai personnellement piqué ceux de Ricko Assier disponible sur AVSIM sous le nom de "airfranceannouncement.zip" ce sont des sons dambiance et dannonce d'air france cabine)

je selectionne les sons voulut que je renomme si necessaire et il faut mettre le tout dans le dossier SIOC de programmefiles/iocard ...

voila une fois les sons a linterieur il faut ouvrir le SIOC.INI et faire quelques modifes ..



A : il faut changer NO a la place de Yes pour activer la fonction son .
B : il faut ecrire le nom exacte de votre fichier son au format wav
on peut remarquer que si un petit asterix (*) est placé devant le nom le son sera joué en boucle sans sarreter ...
les parametres suivant (,-1,-1,-1 ) ca veut dire pour le premier le choix de la frequence , pour un son normal on mettra 0 ce qui veut dire que l'original sera joué .
pour le deuxieme chiffre il sagit du volume du son ; qui va de 0 a 100 ajustable si c'est trop fort ou pas
et pour le dernier chiffre cela correspond au balance des enceintes (-100 tout a gauche 0 centre et +100 tout a droite)


voila donc pour mon son je vais mettre

[ #1 ]
Sound=APDis.wav,0,50,0

ok donc frequence normale le volume a 50 (la moitié pour faire un essai) et 0 pour jouer le son dans mes deux enceintes ...


ok mon son est donc le numero #1 on peut mettre autant de sons que lon veut ...

une fois la configuration terminée on enregistre et on passe a sioc ...

Jouvre donc un code vierge et c'est partit .... NEWVAR



ici je declare l'interrupteur qui va declencher mon son , un interrupteur simple cablé sur l'entrée numero 005 de ma master .

(a noter que les sons peuvent etre declenchés par d'autres evenement et pas forcement un bouton ...)

Puis je declare une autre variable qui appellera les sons voulut




OK alors cette variable ne servira qua declencher mes sons elle peut etre activée par n'importe quels moyens comme le changement d'un etat (deconnection du pilote auto) ou l'appui sur un inter comme dans cet exemple ... ou meme selon plusieurs conditions (si tel voyant est allumé et tel bouton enclenché ect....)

maintenant la commande dactivation je vais faire comprendre a sioc que mon inter va declencher le son

CLique droit sur linter et NEWCOMMAND



ici condition IF (si mon inter est fermé donc egal a 1)

REclique droit et newcommand



commande dassignation je donne un ordre (ici la variable PLAY joue le son Numero 1)



voila j'aurai très bien pu mettre 2 ou 3 selon le son que je veux et surtout selon la configuration de mon fichier ini car si j'avais mis 3 par exemple le son HELLO serai joué et non pas APdis ....

Puis il faut dans la foulée remettre une assignation pour que la variable PLAY retourne a zero .
si on ne le fait pas le son ne sera joué qu'une fois et a l'appuie de mon inter il ne se passera plus rien ...

du coup reclic droit et newcommand



voila ca devrai fonctionner !!

je poursuit sur les sons joués en boucle (il suffit d'ajouter lasterix (*) devant le nom du son dans le sioc.ini )

dans cette exemple le son ne sarrêtera jamais (sauf coupure de courant DEDF mais ca reste rare .....)

donc il faut ajouter une autre variable qui elle va couper le son qui est joué en cours ...



IMPORTANT le "S" dans la case type qui veut dire : jvai arreter tout ca moi !

je vais donc modifier le code de mon inter pour faire comprendre que quand je le relache le son sarrete nette



et voila meme principe que pour PLAY la variable STOP des'activera le son numero 1 et passera a 0 (reset)

voila pour le declenchement de vos sons je laisse place a votre imagination et si vous n'y arrivez pas nhesiter pas a me contacter et me demander

a bientot

Mameloose
 
hello

Je regroupe tous mes tutos ici



Regroupement des tutoriels SIOC au format PDF.

Prochainement dans les ressources.

Format : PDF
Nombre de fichiers : 13
Taille : 10 mo

SIOC Aerowinx
SIOC Assigner une led
SIOC DC Motor
SIOC Déclencher des sons personnalisés
SIOC Emuler une touche de clavier ou une fonction
SIOC Encodeur et display
SIOC Fonction setbit clearbit
SIOC Fonction testbit
SIOC Les servomoteurs
SIOC Les subroutines
SIOC Programmer un interrupteur
SIOC Simuler une touche de clavier autre que dans FSX
SIOC Utiliser des potentiomètres
 
Bravo

J'aime les esprits clairs ,
ton classement est impeccable !
Si j'avais eu ça il y a 2 ou 3 ans je n'aurais pas été dégoutè de SIOC ! :p

Super

Erik.
 
:D j'ai juste tout ranger dans lesprit du forum "net, précis et efficace". Greg merci pour ses tutoriels, c'est un travail fait gratuitement et mis pour la communauté, et sa place devait être épinglé plutôt que en fin de mon tutoriel sur SIOC.
 
robertmuda a dit:
Si j'avais eu ça il y a 2 ou 3 ans je n'aurais pas été dégoutè de SIOC ! :p

Erik me dis pas que tes un frileux de SIOC, ça serait cool de nous donner plus d'informations sur ta configuration, ton simu...ahhh tes un grand timide aussi
 
Salut Windy,salut tout le monde;

J'ai effectivement commencé il y a 5 ans avec du matériel Opencockpits
qui marchait très bien.
J'ai ainsi réalisé une partie de MIP et un pédestal de B737.
Tout n'était pas fonctionnel et des pièces essentielles nét'aient pas fournies par Opencockpits :
système incendie radar répartiteur radio etc
première lacune : le hard
Seconde lacune: le sioc j'y ai passé des heures pour arriver à  des résultats pas toujours probants.
A l'époque tout le monde pataugeaient avec sioc , dans sioc !donc pas d'aide possible ou très peu .
Doù le sentiment de découragement.

Pour remédier à  cela je me suis dirigé vers SISMO.Cétait un gros progrès surtout avec linterfaçage RJ 45.
Mais il y avait également un problème de drivers et la ça n'était plus du sioc mais du Pascal une fois encore j'étais dans une impasse.
Le pire a été quand je me suis rendu compte du nombre de prise USB qu'il y avait a gérer j'en ai dénombré jusqu'à  25
sur une même machine.Malgré lusage de hubs de qualité ça posait problème.

Voulant poursuivre la réalisation vers un OVH je me suis trouvé dans un cul de sac !
surtout qu'il y avait ces problèmes de micro coupures des USB malgré une config Hard puissante.

J'en ai eu marre et j'ai tout revendu et mon cahier des charges s'est réduit a être :
-tout doit fonctionner
-sans USB
-Sans drivers.

Du coup lopportunité d acheter du matériel de chez Engravit'y et CPflight à  un prix canon mayant été donné
j'ai sauté sur l'occasion.Depuis à  titre indicatif mon simulateur fonctionne avec en tout et pour tout 4 USB
sans aucun driver daucune sorte en clair du vrai plug and play, la partie soft étant gérée par Prosim.

Je ne regrette vraiment pas mon choix.

Depuis autour du MIP et du pedestal j'ai mis un shell ,un in-liner et même des dauthentiques breaker board, mais pas connectés.
Quand je saurais faire un blog je vous montrerai tout ça.

Voila vous savez tout ! :p

Erik.
 
Ah oui je comprends ton désarroi de l'époque où la simulation aérienne comm'ençait à  prendre de lampleur. Pendant un moment j'étais tenter par du Plug and play mais les tarifs ont freiner mon élan.

J'essaye le plus possible d'acheter du matériel tout fait (surtout la structure afin déviter de couper du bois).

Avec les idées de Greg j'étais prêt à  faire un MIP en mdf mais finalement à  force dhésitation je mets des sous de côté pour une structure pour la fin dannée.

Sinon l'électronique et SIOC ne me font pas peur, Greg ma donner un bon coup de main pour comprendre le logiciel et grâce à  ses tutoriels et ceux des "Grands noms" (Simubaron... ) d'autres membres s'y mettront.

Si tu veux un coup de main pour faire un blog, je peux regarder ce qui se fait de mieux, léger facile d'interface, ainsi que ce qui touche aux noms de domaine, à  lhébergement...
 
Merci Windy

pour ta proposition de regarder comment faire un blog.
La encore j'ai eté échaudé:
Sur Air Virtuel j'avais mis quelques pages et pas mal de photos et celles-ci ont disparues !
C'est de la faute de lhébergeur de photos.

Je vais m'y remettre un de ces jours.

Erik
 
robertmuda a dit:
Sur Air Virtuel j'avais mis quelques pages et pas mal de photos et celles-ci ont disparues !
C'est de la faute de lhébergeur de photo.

Erik

C'est curieux, bon on va pas embêter le post de Greg pour ses tutoriels. Si tu as envie de faire un blog tu m'envoies un MP et on en discute.
 
Lu ,

Je ne comprend pas ,
La variable $0D0 est de longueur 2 (1111111111111111).
Pour moi ,le bit "strobe" est le bit n°5 de la variable $0D0 et pas le 16.
Quand la variable vaut 16 ,cad en bin'aire "10000" ,le cinquième bit est à  1,"Strobe" est à  1.
Rassure moi
JeanMi
 
Ah
ben oui ,tu testes la valeur de l'offset ,pas la valeur du bit.
Le bit 5 vaut bien 1 ,"strobe" n'est pas le 16 em bit.
Je te cite ,"on peut voir dans le sdk que le bit des strobe est le numero 16".C'est cette phrase qui ma fait douter
Le bit "strobe" est bien le 5 em bit ,pas le 16 em. ;)
En deux mots ,si je veux passer la variable à  zéro ,ben jindique zéro pour l'offset ou alors je fais lopération sur le bit ,soit " clearbit 4".
Merçi.
JeanMi
 
Ca fonctionne ,car tu n'as qu'une valeur possible à  la fois pour ton offset.
Bon j'ai comprit :)
En faite ça ne teste pas vraiment un bit spécifique d'un offset
JeanMi
 
Lu ,
Justement je cherche à  simplifier le format des variables Sioc pour lenvoie sur le résaux IOCP :)
1 variable Sioc est codée sur 32 bits.
Si je dois envoyer l'état de toutes les entrées (36) d'une seul carte sioc par Iocp vers mon application ,je dois envoyer :
(32 x 36)/8 = 144 Octets :/
Donc ,je déclare 2 Offsets IOCP de 32 bits (de longueur 4) ou chaque bit représente l'état d'une entrée.Je ne teste pas les bits en trop.J'envoie 8 Octets soit 136 octets en moins.
Je décode en 3 lignes dinstructions les 2 octets dans mon application. Ca je sais faire.
En Sioc ,non ,donc ce tuto.
Je suis venu voir ce que proposait la fonction testbit de sioc pour pouvoir faire linverse ,de mon application vers Sioc.
Le nom de la fonction ma interpellé.
Je me rend compte quelle ne porte que le nom ,et ne teste pas l'état des bits.
Donc je cherche autre chose.
JeanMi
 
et rebonjour ! tonton Mameloose a la rescousse !

aujourd'hui petite explication de la fonction TIMER pratique pour reguler la vitesse d'une servo par exemple ...


en gros la fonction timer permet d'assigner une valeur mais dans le temps que l'ont veux .... (hum pas très clair tout ca ...)

exemple :

j'ai une servo dindication de volet par exemple .... dans un code classique comme celui qui suit j'ai declaré la variable de position volet ainsi que ma servo :



voila donc maintenant les valeurs de positions volet pour un cessna par exemple sont :

0=0
10=5475
20=10907

maintenant si je veux que ma servo soit s'ynchronisée avec mes volet je releve les positions de ma servo en la bougeant avec sioc monitor

jobtient pour exemple

servo 0=0
servo 10=256
servo 20=345

voila donc bien sur n'importe qui assignerai la fonction IF de cette maniere :




MAIS UN PROBLEME SURVIENT !

la servo bouge beaucoup trop vite et ce n'est pas realiste !!


donc pour reguler cette vitesse on utilise la fonction TIMER


elle se definit comme ceci :



donc pour un timer on renseigne notre variable qui prendra tel valeur de tant en tant a chaque impulsion de tant de centieme de seconde


en gros au lieu d'aller de 0 a volet 10 en une fraction de seconde elle mettera environ 25 secondes ! c'est plus realiste et plus fluide !

on peux bien sur changer le temps en centieme de seconde au lieu de 10 si je met 100 alors chaque impulsion sera de 10 seconde !

donc pour aller de zero a 256 ma servo mettera 256 secondes a y aller ! (c'est beaucoup trop long bien sur mais c'est pour l'exemple)


voila du coup pour le code ca donne cela :




BON une expliquation simpose ....

ici le code va dans les deux sens

un sens positif et un sens negatif

donc si la valeurs des positions volet augmente alors la servo incremente de 1en 1 toutes les 0.1 seconde

et a linverse si la valeur volet diminue alors on decremente de -1 en -1



ici en partie 1 lincrementation
et en partie 2 la decrementation


voila et le principe et le meme pour des valeurs de volet plus grandes comme sur un 737 par exemple et on peux changer le temps pour chaque position !


voila la fonction Timer est pratique egalement pour fabriquer un chronometre ou ajouter du temps entre des actions de variable quelconque .....
 
Retour
Haut