Autor Tema: SISMO MCP + IOCPServer + SCPascal + Prepar3D  (Leído 2062 veces)

earenas


  • Desconectado
  • *

  • 4
  • Karma:
    +0/-0
    • Ver Perfil
SISMO MCP + IOCPServer + SCPascal + Prepar3D
« en: Enero 27, 2019, 05:24:37 pm »
Hola a todos.

Soy nuevo en este foro, y también en el tema de programación de hardware. Actualmente tengo un MCP de SISMO y estoy probando unos scripts de Pascal para enviarle a través de IOCPServer las acciones, pero no estoy seguro de que lo este haciendo correcto, porque no hace nada. Si abro la consola del FSUIPC si veo como llegan los intentos de ejecución, pero el simulador no responde. Cualquier orientación sería de gran ayuda.

Un saludo y gracias.

Ascanio

  • Administrator

  • Desconectado
  • *****
  • El 'Autor'

  • 292
  • Karma:
    +105/-0
  • Texto personal
    Autor del IOCPServer y del GaugeComposer
    • Ver Perfil
    • Mi WEB
Re:SISMO MCP + IOCPServer + SCPascal + Prepar3D
« Respuesta #1 en: Enero 28, 2019, 08:47:01 am »
Hola,
El sioc se conecta al Iocpserver?
Estas seguro de que el Iocpserver esta funcionando?

earenas


  • Desconectado
  • *

  • 4
  • Karma:
    +0/-0
    • Ver Perfil
Re:SISMO MCP + IOCPServer + SCPascal + Prepar3D
« Respuesta #2 en: Enero 28, 2019, 04:22:37 pm »
Hola Ascanio.

Según el Sc-Pascal detecta el IOCPServer y el puerto, y desde el script puedo lanzar la conexión y no me indica error. El tema es que no estoy seguro de si los offset que tiene IOCPServer son los adecuados para el 737PMDG, porque creo que algo llega al simulador pero no lo entiende, de hecho anoche conseguí que levante el switch del AutoThrotle pero poco más.  :'(  Desconozco si hay una lista de Offset para PMDG, yo tengo una pero es de los offset de cuatro cifras pero creo que es para el FSUIPC.

Muchas gracias.

earenas


  • Desconectado
  • *

  • 4
  • Karma:
    +0/-0
    • Ver Perfil
Re:SISMO MCP + IOCPServer + SCPascal + Prepar3D
« Respuesta #3 en: Enero 29, 2019, 11:24:06 am »
Unas dudas más;

¿El fichero de offset que utiliza IOCPServer es el que se encuentra en la carpeta de modules?
¿Lo carga cuando inicia el simulador?
¿Si modifico el fichero el IOCPServer lo recarga?

Gracias.

earenas


  • Desconectado
  • *

  • 4
  • Karma:
    +0/-0
    • Ver Perfil
Re:SISMO MCP + IOCPServer + SCPascal + Prepar3D
« Respuesta #4 en: Enero 29, 2019, 11:56:40 pm »
He conseguido realizar mas pruebas y finalmente he conseguido comunicarme con el FS, tanto le envío offset como los leo, pero no lo consigo con todos, es decir de la lista de offset, he probado varios al azar y algunos como el freno de estacionamiento si funciona pero otros no, creo que puede ser por el modelo de avión PMDG 737, si alguien puede iluminarme le agradecería.

Ascanio

  • Administrator

  • Desconectado
  • *****
  • El 'Autor'

  • 292
  • Karma:
    +105/-0
  • Texto personal
    Autor del IOCPServer y del GaugeComposer
    • Ver Perfil
    • Mi WEB
Re:SISMO MCP + IOCPServer + SCPascal + Prepar3D
« Respuesta #5 en: Enero 31, 2019, 09:34:27 am »
Hola,

No todos los offsets de PMDG están disponibles a través del API de Prepar.
http://www.prepar3d.com/SDKv3/LearningCenter/utilities/variables/simulation_variables.html#XMLGauges

Ese es el problema. La lista de offsets, mal llamado así porque NO lo son, que usa IOCPServer por defecto es la publicada por Mircrosft inicialmente para FSX que se ha ido actualizando cuando Lockheed Martin actualizaba el Prepar. Y a esto se ha añadido el software del Orion y otros reservados.

Algunos datos de Addon de terceros como el PMDG no son accesibles vía el el Api (o SDK) del Prepar.

Las FSUIPC 'atacan' directamente a la memoria del PC, de ahí el nombre de offset de memoria, mientras que yo no, lo hago usando el API del Simulador lo que me impide hacer ciertas cosas, pero me garantiza compatibilidad con muchos elementos y hacer otras de forma más eficaz. Yo he mkantenido el nombre de Offsets por comodidad, pero no son offsets de memoria, son Variables del Kernel del simulador, y para modificarlos se utilizan Key Event del mismo Api. Descritos aquí:
http://www.prepar3d.com/SDKv3/LearningCenter/utilities/variables/key_variables.html
Y listados aquí:
http://www.prepar3d.com/SDKv3/LearningCenter/utilities/variables/event_ids.html

En ocasiones los fabricantes de Addons utilizan variables libres para otros propósitos por lo que algunos que en principio tendrían una función ahora puede que tengan otra.
No te aconsejo modificar el fichero, pero no serías el primero :-)

Hay una herramienta, el OffSetExplorer que sirve para conocer el valor numérico de cada Variable y cada EventID para poder usarlo en los Scripts.

Por último, a través del interface VC de VirtualCockpit puedes acceder a otros datos del AddOn concreto que uses. Pero como yo no tengo PMDG no te puedo ayudar.

En Facebook hay un grupo, 'Constructores de Cabina' donde hay gente que usa PMDG e IOCPServer...

Recuerda que IOCPServer NO es incompatible con  FSUIPC y que puedes usar ambos a la vez...

Saludos