Turoriels SIOC

Lu mameloose ,
J'aimerai que tu me donne une info supplémentaire ou une astuce ;)
Le temps du timer est il indépendant de la longueur du code dinstruction, total du code (longueur de cycle total pour effectuer une boucle total du programme) ou est il une incrémentation de comptage de tour de cycle ?
En deux mot ,le timer est il un thread à  part entière au niveau du CPU ou non.
J'ai remarqué ,qu'avec 20 timers ,le temps de chaque timer n'est pas constant.Il est aussi différent en fonction de la longueur de mon code de test.Plus le code est long ,plus le temps réel diminue.
Je me demande pourquoi.
Y a til un truc pour réaliser des timer constants.
Merci
JeanMi
 
Oui par expérience.
Je me pose une question depuis pas mal de temps ,j'y ai réfléchit et testé certaines choses sous sioc sur mon portable au Ski.
Sioc exécute le code d'une variable quand la variable change détat.Bon Oké ,ça je comprend.
C'est comme quand jécris une procédure sous Turbo Pascal.Les calculs contenu dans la procédure ne s"exécute que sous certaines conditions.
Mais dire que Sioc ne "consomme" que peu de ressource par rapport à  une autre méthode compilée ,je ne vois pas ou.
Doù la fonction timer intéressante pour comprendre le fonctionnement du temps de cycle du noyau Sioc.
J'ai la possibilité sous Delphi ,de personnaliser les thread à  souhait.J'ai donc créé un thread pour Sioc dans mon apllic.
Si je ne redonne pas la main à  windows à  un moment donné ,le CPU est bloqué jusqua ce que le comptage du timer soit terminé.Ce qui n'est pas le cas avec un timer sous Delphi.
Donc contrairement à  ce que lon croit ,Il y a au moins un thread sous sioc pour scanner l'ensemble du programme.Sinon ,comment repérer le changement détat d"une variable.
Le timer Sioc prend 57 x plus de ressources qu'un timer Delphi.Je teste cette différence sous delphi avec la valeur renvoyée par le bios du Pc ,fonction "DateTime".
Donc pour moi ,les timer sous Sioc ne reflètes pas la valeur demandée.
C'est pas grave si tu n'as pas de soluce ,c'est juste un test que j'ai fait pour ma connaissance perso.
j'ai juste besoin de précision à  un endroit précis de mon noyau.
JeanMi
 
mameloose a dit:
jpeux pas te dire .... sioc na jamais ralentit le pc chez moi ...
Oui je comprend bien ,mais toi tu utilises un noyau Fs ou autre pour ton moteur + Sioc pour tes I/o.
Dans mon cas ,la gestion est différente.Je ne me contente pas daccéder à  des Offset et à  les modifier sous un moteur existant.
Pour le moment ,je cherche à  fignoler mon noyau "système".
Systèmes et I/o en un seul programme.J'ai déjà  pondu ce noyau "système" sous Delphi et il tourne.
Ce que j'ai écrit ,est valable pour n'importe quelle config.
Une page spécifique (une "unité" sous delphi) contient le module de portabilité.Je peut avoir plusieurs pages de ce type que j'active ou non.
J'ai déjà  plusieurs pages actives et testées pour différentes cartes industriels dispo sur le marché.
Je cherche donc à  faire une page spécifique pour Sioc.
Je reparlerai de tous cela au moment du démarrage du simu.
Je note que la fonction timer est un bon exemple pour comprendre le cheminement du code Sioc.Par exemple ,en imbriquant plusieurs timer l'un dans l'autre et analyser les résultats en fin de cycle
JeanMi
 
Salut Jean-mi, puisque tu parles de noyau et de moteur, tu comptes utiliser quoi pour ton affichage extérieur (FSX, P3D ou Xplane) et aussi ton modèle de vol comment tu vas faire?
 
Je n'ai encore rien décidé.Il faudra le moment venu étudier les différents softs dispo.
Je ne dépense pas d'énergie pour en choisir un maintenant.Dans 6 mois il y aura encore une nouveauté.
Donc je finis le simu mécaniquement ,ensuite je verrai.
JeanMi
 
sur aircockpit on a eu un petit débat sur la fonction timer !

quand un timer est lancée dans sioc il ne sarrête pas avant datteindre sa valeur ....

du coup j'ai trouvé la solution pour annuler un timer et le remplacer par un autre ....

c'est un peu complexe mais ça pourra servir a pas mal de gens quand ils maîtriseront sioc

Code:
[== Indéfini ==]
Var 0001, name VALEUR, Value 0
{
  IF &VALEUR = 1
  {
    CALL &increm'en
  }
  IF &VALEUR = 0
  {
    CALL &decrement
  }
}

Var 0002, name SERVO, Link USB_SERVOS, Output 1, PosL 0, PosC 512, PosR 1023

Var 0003, name increm'en, Link SUBRUTINE
{
  &montee = TIMER 200 ,1 ,5
}

Var 0004, name decrement, Link SUBRUTINE
{
  &descente = TIMER 0 ,-1 ,5
}

Var 0005, name montee
{
  IF &VALEUR = 1
  {
    &descente = &montee    
    &SERVO = &montee    
  }
  IF &VALEUR = 0
  {
    &montee = &descente    
    &SERVO = &descente    
  }
}

Var 0006, name descente
{
  IF &VALEUR = 1
  {
    &descente = &montee    
    &SERVO = &montee    
  }
  IF &VALEUR = 0
  {
    &montee = &descente    
    &SERVO = &descente    
  }
}
 
Greg "mameloose" a regroupé ses 13 tutoriels SIOC dans un seul fichier.

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
 
j'ai déjà  télécharger fsuipc il est dans addon sur fsx
tu la trouve ou cette fenêtre?


1483204153_capture.png
 
bah fallait le savoir j'en profite pour demander ce que vais trouver en cliquant dessus et ce que lon fait comme ca sa évitera que je te harcèle de question
merci encore de me supporter
 
C'est logique pascal jtenvoi sur un site fallait juste chercher un peu ;)
Dedans tu vas trouver fsinterrogate c'est la liste des offset de fsx pour contrôler la totalité de l'avion.
Je prépare le jour de lan on verra ça plus tard...
Bonne année
 
pascal dan a dit:
bah fallait le savoir j'en profite pour demander ce que vais trouver en cliquant dessus et ce que lon fait comme ca sa évitera que je te harcèle de question
merci encore de me supporter

Tu vas trouver une série de fichiers à  décompresser.
Dedans ,les routines pour les développeurs qui permettent d'interfacer avec des langages autre que Sioc.La console FsUipc est faite à  partir de ces routines par exemple.
Et dedans aussi le fichier que tu cherches "FSInterrogate2std.exe"
Tu le lance et hop O:)
JeanMi
 
Pascal tembete pas avec ça, tu mas dit que tu veux utiliser prosim? Tu n'as pas besoin de faire un script pour le train d'atterrissage car celui ci est gerer par Prosim. Il te faut juste un Potar ou le levier d'un throttle (Saitek par exemple).

Fais toi plutot un script pour bouger un interrupteur dans le simulateur.
 
c'est le tutoriel de mameloose que j'ai suivi a la lettre j'étais content de moi d'avoir réussi ce petit programme

sinon donne moi un truc a réalisée
 
Fait bouger le yaw damper par exemple. Tu devrais ouvrir un post du genre " aide pour configurer des Input/Output sur Prosim ça serait plus facile"
 
Pour finir ce que tu as fais pascal tu fais file puis save sur ton bureau avec le même nom que le ssi que tu as créer avant...
Silverstar à  raison la programmation de prosim est différente mais je te conseille malgré tout de prendre en main sioc de base comme tu viens de le faire tu en auras besoin pour certaines fonctions que prosim ne fais pas tu ten rendra compte plus tard....
 
Retour
Haut