Trasteando con el internalsplugin

Addons, plugins y complementos.

Moderador: XRStaff

Responder
ernespeed
Piloto de Pruebas
Piloto de Pruebas
Mensajes: 547
Registrado: 16 Ene 2007 01:00
Volante: Ferrari F1 '09, GP2 2011
Ubicación: Valencia

Trasteando con el internalsplugin

Mensaje por ernespeed »

No se que hacer. Si acordarme de la madre que pario al que hizo el internalsplugin, si acordarme de la madre de Bill Gates, o acordarme de la mia por lo cazurro que soy. Os comento:

Llevo un par de dias tratando de experimentar con los internalsplugin. Me gustaria saber como funcionan y aprender en un futuro a enlazarlos con algun firm para que por lo menos se encienda un led. Con eso me daria por vencido :oks: :oks: .
Nunca he hecho nada de elctronica y menos de programacion, y como me gustaria aprender y esto es un hobby que me gusta bastante, pues creo que trastear con esto es la mejor manera de hacerlo. Pero se me estan resistiendo. Y resistiendo mucho :cabezazos: :cabezazos: :cabezazos: :cabezazos: :cabezazos:

Instale en mi PC (W7/64) el Visual Studio Ultimate 2010 y me descargue los internalsplugins de la web de rFactor.

Cuando intente compilar la V1 fue todo de maravilla. Abri el Visual Studio, cargue el ExamplePlugin.vcproj, le di a la tecla F7 que es la de genarar solucion y TACHAN!!. Todo perfecto y dll creada. Puse esa dll en la carpeta plugins de una instalacion limpia de rFactor y al cargar el juego me salia la consola de visualizacion y cuando salia a pista se veian un monton de datos corriendo en esa consola. Cuando vuelves al garaje la consola dejaba de escribir y al salir del juego la dll me habia creado un archivo de texto en la raiz de rFactor donde podia visualizar toda la telemetria que la dll habia extraido. Guay eh?.

El problema me viene cuando intento hacer lo mismo con los InternalsPluginV3. Hago lo mismo, pero cuando le doy a F7 el visual Studio me reporta este problema:

1>------ Operación Generar iniciada: proyecto: InternalsPlugin, configuración: Debug Win32 ------
1>Compilación iniciada a las 14/12/2011 17:22:17.
1>InitializeBuildStatus:
1> Se creará ".\Debug\InternalsPlugin.unsuccessfulbuild" porque se especificó "AlwaysCreate".
1>ClCompile:
1> Example.cpp
1>Link:
1> Creando biblioteca .\Debug/InternalsPlugin.lib y objeto .\Debug/InternalsPlugin.exp
1>LinkEmbedManifest:
1> Creando biblioteca .\Debug/InternalsPlugin.lib y objeto .\Debug/InternalsPlugin.exp
1> InternalsPlugin.vcxproj -> C:\Users\Valle\Desktop\InternalsPlugins\Win32\.\Debug\InternalsPlugin.dll
1>PostBuildEvent:
1> El sistema no puede encontrar la ruta especificada.
1> 0 archivo(s) copiado(s).
1> El sistema no puede encontrar el archivo especificado.
1> El sistema no puede encontrar la ruta especificada.
1> 0 archivo(s) copiado(s).
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: El comando "copy Debug\InternalsPlugin.dll ..\..\..\rFactor\Working\Plugins
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: copy Debug\vc80.pdb ..\..\..\rFactor\Working\Plugins
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: copy ..\Include\InternalsPlugin.hpp ..\..\..\rFactor\Dev\Include
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" salió con el código 1.
1>
1>ERROR al compilar.
1>
1>Tiempo transcurrido 00:00:04.28
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========


Le he dado mil vueltas, he copiado una por una las lineas de la version V1 y las he comparado con las de la V3. He sustituido unas por otras. He intentado hacer un hibrido..........pero nada, nada de nada. Y lo peor de todo es que he llegado a un momento en el que creo que la culpa la tiene el propio Visual Studio, porque no creo que un fabricante (ISI) ponga un ejemplo de algo en su pagina web y que esto no funcione, ¿no?. Asi que os pido vuestra ayuda.

¿Que me estoy perdiendo? ¿Por que no furula?

Enga, un saludo.
Avatar de Usuario
nomedigano
Poleman
Poleman
Mensajes: 1692
Registrado: 24 Dic 2006 01:00
Volante: Logitech DFP
Contactar:

Re: Trasteando con el internalsplugin

Mensaje por nomedigano »

No he usado el VS2010 ultimate, pero por lo que parece tienes un problema con el script PostBuildEvent, que lo que hace es copiarte el resultado de la compilación (en tu caso la DLL) en otro directorio. Me parece que eso es algo de ISI para que les copie la DLL en su instalación de prueba de rFactor. Como la ruta no coincide, por eso te peta. Si te fijas, es una ruta relativa (..\..\..\rFactor\Working\Plugins) que naturalmente no es la tuya :lengua:

Una de dos, o modificas el script para que te apunte a tu instalación de rfactor o (lo que creo que hice yo en su momento, pero no estoy seguro) simplemente eliminas el PostBuildEvent y tan contento. Si total, ya estás copiando la DLL a manopla :wink:
ernespeed
Piloto de Pruebas
Piloto de Pruebas
Mensajes: 547
Registrado: 16 Ene 2007 01:00
Volante: Ferrari F1 '09, GP2 2011
Ubicación: Valencia

Re: Trasteando con el internalsplugin

Mensaje por ernespeed »

Gracias Nome. Ahora voy a googlear a ver si soy capaz de quitar el postbuildevent ese, jajaja.

Un saludo.
ernespeed
Piloto de Pruebas
Piloto de Pruebas
Mensajes: 547
Registrado: 16 Ene 2007 01:00
Volante: Ferrari F1 '09, GP2 2011
Ubicación: Valencia

Re: Trasteando con el internalsplugin

Mensaje por ernespeed »

Nome. You are the fuc##ng crack of the world, jeje. Me explico.

Como tu me has dejado caer algo de un script, y yo no he visto ninguno en ningun *.hpp y tampoco en ningun *.cpp al cargar el internalsplugin en VB, pues se me ha ocurrido abrir el archivo internalsplugin.vcproj con el bloc de notas. Ahi si que he visto lo del script que comentas y he eliminado esas lineas.

Luego he vuelto a cargar el internalsplugin.vcproj corregido en VB, le he dado a generar y lo ha hecho perfecto a la primera. YUPIIIIIIIIIIII.

Asi que gracias de nuevo. Lo que yo no he visto en dos dias me lo has aclarado tu en 10 segundos.

Un saludo.

Pd: Me voy a seguir trasteando. Y seguramente luego os seguire preguntando, jeje.
ernespeed
Piloto de Pruebas
Piloto de Pruebas
Mensajes: 547
Registrado: 16 Ene 2007 01:00
Volante: Ferrari F1 '09, GP2 2011
Ubicación: Valencia

Re: Trasteando con el internalsplugin

Mensaje por ernespeed »

Probado el plugin y funcionando. No veais la de datos que saca eso, la leche!!!!!!!!!!!!

Una vuelta a Cheste rodando y ha generado un archivo *.txt de 20 megas :blink: :blink: :blink: .

Ahora lo siguiente que tengo que averiguar es como mandar esos paquetes de datos hacia la MMF (Memory Mapped Files). He estado viendo por ahi posts del amigo Nye y mas o menos creo que lo tengo claro, aunque tendre que probarlo. Y aprender a programar un pic y que ademas sea capaz de leerlo. Y aaaahh!!!, se me olvidaba, aprender como se hace el programita ese intermedio como el que se ha currado el amigo pflanzgarten y poder tocar parametros "al gusto".

Ufffff, yo creo que aqui tengo ya faena para todo el 2012 .............

Lo que no se es si irme hacia el lado de PIC o meterme en Arduino. PIC me gusta mas porque es mas barato y solamente me montaria lo que necesitaria, pero Arduino me parece mucho mas sencillo para comenzar, ya que viene montado, con un monton de salidas y hay montones de proyectos abiertos que la gente cuelga y que me pueden servir para aprender mas rapido. Ay!!, que dilema, jeje.

Por cierto, una cosa de la que me he dado cuenta es lo del primer parametro que sale en el txt que crea el plugin, el deltatime (DT). Eso es la cantidad de muestras que toma el plugin por segundo, y he visto que siempre saca 90 cuando estas en la pista. He leido por ahi que eso no se puede modificar porque es interno de rFactor y bla, bla, bla. ¿Sabeis si se puede tocar de alguna manera o es completamente intocable?.

Bueno, ya no me lio mas, que ya esta bien de ladrillo por hoy.

Un saludo.
Avatar de Usuario
crobol
Maestro al volante
Maestro al volante
Mensajes: 13867
Registrado: 28 Abr 2007 00:00
Volante: DFP
Ubicación: BCN
Contactar:

Re: Trasteando con el internalsplugin

Mensaje por crobol »

¿Has intentado preguntarle a Gabo?

Si le mandas un MP y no te contesta, yo puedo darle un toque y avisarle de que se pase por el foro.
Avatar de Usuario
Osasunista
Poleman
Poleman
Mensajes: 2052
Registrado: 22 Ene 2011 16:05

Re: Trasteando con el internalsplugin

Mensaje por Osasunista »

Antes lo hablaba con Kiko.

No es nada difícil hacerlo funcionar, pero hay que limitar el número de parámetros que registra o la frecuencia con la que lo hace puesto que ralentiza el sim y genera archivos de texto gigantes.

Yo tengo en mente realizar un proyecto para exportar datos que me interesen a un 2º monitor, más pequeño, para usarlo a modo de display.
Donante PREMIUM EXTRA PLUS PRIMERA PRENSADA
Avatar de Usuario
willynovi
Piloto Histórico
Piloto Histórico
Mensajes: 1177
Registrado: 17 Mar 2009 01:00
Volante: 100% DIY, prox. con FFB
Ubicación: Argentina
Contactar:

Re: Trasteando con el internalsplugin

Mensaje por willynovi »

no hay que usar un archivo de texto y de ahi leer los datos, lo que se hace es como dijo Ernesto una MMF (Memory Mapped File) y con eso no se ralentiza nada.

lo del DT creo que era el tiempo entre dato y dato, no lo recuerdo bien, pero el internalsplugin esta bien documentado.

mucha suerte en este nuevo mundo Ernesto :cheers:
Avatar de Usuario
Osasunista
Poleman
Poleman
Mensajes: 2052
Registrado: 22 Ene 2011 16:05

Re: Trasteando con el internalsplugin

Mensaje por Osasunista »

Tendré que investigar cómo capturar con .net datos de la MMF.
Donante PREMIUM EXTRA PLUS PRIMERA PRENSADA
ernespeed
Piloto de Pruebas
Piloto de Pruebas
Mensajes: 547
Registrado: 16 Ene 2007 01:00
Volante: Ferrari F1 '09, GP2 2011
Ubicación: Valencia

Re: Trasteando con el internalsplugin

Mensaje por ernespeed »

Crobol escribió:¿Has intentado preguntarle a Gabo?.
Si me lo tiene que explicar Gabo o Planz a traves de mails nos podemos volver locos, aunque al final seguro que algo acabaria entendiendo, pero mi problema es que no tengo ni idea de nada, ni de programacion ni de electronica. Soy completamente un "noob" en el tema y me lo tienen que explicar como si fuera para tontos, asi que lo que para mi seria perfecto es poder quedar una tarde con algun forero de Valencia, y mientras nos tomamos unas cervecitas que me diera unas clases rapidas. Alguien lo pilla? :lol: :lol: :lol:
ernespeed
Piloto de Pruebas
Piloto de Pruebas
Mensajes: 547
Registrado: 16 Ene 2007 01:00
Volante: Ferrari F1 '09, GP2 2011
Ubicación: Valencia

Re: Trasteando con el internalsplugin

Mensaje por ernespeed »

Me parece que ya se que proyecto quiero emprender para aprender un poco de electronica y programacion, con vuestra ayuda claro, jeje. Expongo aqui las ideas que tengo en la cabeza y me decis si merecen la pena que abra un post a ver si el trabajo merecera la pena, ok?.

Hace dos semanas que estoy probando un volante FFB hecho por un amiguete partiendo completamente desde 0. El tiene el tinglado montado con un "peazo" servomotor de 40Nm y un driver con un ¿PLR? capaz de moverlo.
El no saca directamente el FFB que proporciona el juego, ya que es una castaña sino que se lo "construye" el en el PLR. El se ha modificado el internalsplugin a su antojo y manda los parametros que quiere al PLR (peso en cada neumatico, velocidad, grados de giro, etc, etc), y alli aplica una serie de filtros y formulas para que el volante reaccione como se supone que deberia en la realidad.

Lo de aplicar filtros es bastante importante, me explico. Resulta que el internalsplugin tira 1 paquete de datos cada 11 milesimas de segundo. Y vosotros direis ........... joder, que guay. PUES NO!!!!!, jajaj. Ayer se me ocurrio calcular la distancia recorrida cada vez que el plugin envia un paquete de datos a 250km/h y es de 77 centimetros. Y a 300km/h recorres 92,5 centimetros. Lo que nos pasaba si mandabas los datos directamente al servomotor sin filtrar es que a partir de 220-230Km/h el volante empezaba a entrar en resonancia (izquierda-derecha-izquierda-derecha), empezando levemente pero incrementandose en cada bandazo, siendo al final imposible de controlar. Tened en cuenta que hablamos de un motor muy potente, jejej. Es mas, si os fijais mucho y teneis el FFB de vuestro G25 mas o menos alto, vereis como en las rectas rapidas ese efecto lo notais vosotros tambien. Levemente pero lo notais.
Tambien hemos puesto filtros en caso de golpear los muros, para que se desconecte el servo inmediatamente y que no nos rompa los dedos gordos o peor aun, las muñecas. A tantas G de desaceleracion, se desconecta.
Incluso hemos tenido que poner una seta de paro de emergencia para desconectar el servo en caso salir a la grava y empezar a dar botes!!!!.

Con todo esto que os quiero decir: que poder hacer se puede, y lo podriamos hacer a pequeña escala, porque ya os aseguro yo que cuerpo no tenemos ninguno para correr durante 30 vueltas seguidas con esas fuerzas G en el volante, jeje.

La idea de como hacerlo en plan barato (y cuando digo barato me refiero a menos de 300 pavos, no los 3700USD que vale lo de LEO BODNAR) la he sacado del post del FFB de este mismo foro. Hay un frances que esta haciendo algo bastante similar, pero pienso que le podriamos dar nuestro toque especial XR.

Este es el invento del Frances:

[img]http://s1.postimage.org/btnj9myul/happf.jpg[/img]

Para hacer el nuestro, y desde mi ignorancia, pienso que lo que nos haria falta seria mas o menos lo mismo que estamos gastando en el post de simulacion de movimiento. Mas o menos esto:
- Una placa controladora USB con un PIC para poder interpretar la informacion del plugin de rFactor y mandarla a ................
- Un puente H grandote (H-bridge). Con este puente controlariamos el sentido y la velocidad de ..........
- Un motor brushless (o brushed, porque con un puente H no lo tengo claro, aunque tambien se podria poner un PWM gigante en vez del puente H.........) de una potencia no inferior de 2.5Nm. Algo mas o menos como esto:
[img]http://www.unitemotor.com/imgsources/Na ... 107145.jpg[/img]
Este tiene unas caracteristicas de:
Modelo: MY1020, 750W 36V/48V/60V, A ≤2.5/2.2/2.0, rpm 3500, N·m 2.8, rpm 2800, A ≤26.7/20.0/16.0
- Una fuente de alimentacion bestial capaz de mover todo esto ¿48V y 25A por ejemplo?
- Luego habria que montar una desmultiplicacion de 3:1 (mas o menos) mediante dos coronas y una correa dentada entre el eje del motor y el eje del volante, para llegar a 8Nm y seguir manteniendo unas 1000rpm.
- Y por ultimo haria falta un encoder que registrara la posicion del volante en todo momento y se la dijera a la placa con el PIC, para que el firm supiera en todo momento en que posicion se encuentra el volante.

SI HABEIS LLEGADO HASTA AQUI ES QUE EL PROYECTO RESULTA INTERESANTE, NO?

Yo, desde mi ignorancia, no veo nada dificil desarrollar esto para que se ponga en funcionamiento, pero lo que si veo complicado sera afinar el PIC para que el FFB quede perfecto. Incluso se podria hacer un programa para poder afinar el FFB desde la pantalla del PC, sin tener que grabar cada vez el PIC, algo asi como el acojoprograma de Gabo para controlar el DisplayXR.

No se, ¿que me decis?. ¿Abrimos un post en taller y bricolaje e intentamos desarrollarlo?.
Un saludo.

@Ya se que me explico como el culo, pero yo escribo asi, que se le va a hacer, jajaja.
Avatar de Usuario
willynovi
Piloto Histórico
Piloto Histórico
Mensajes: 1177
Registrado: 17 Mar 2009 01:00
Volante: 100% DIY, prox. con FFB
Ubicación: Argentina
Contactar:

Re: Trasteando con el internalsplugin

Mensaje por willynovi »

sigamos con el que ya está :scratchchin:
ahí ya hay info, incluso lo que comentas ya se ha tratado :wink:
ernespeed
Piloto de Pruebas
Piloto de Pruebas
Mensajes: 547
Registrado: 16 Ene 2007 01:00
Volante: Ferrari F1 '09, GP2 2011
Ubicación: Valencia

Re: Trasteando con el internalsplugin

Mensaje por ernespeed »

Ok, pues seguimos por alli. A ver si estas fiestas le damos un empujon :scratchchin:
jzfilms
Piloto Privado
Piloto Privado
Mensajes: 460
Registrado: 09 Ago 2010 07:31
Volante: momo
G-27
G-27....jijii
Ubicación: MURCIA

Re: Trasteando con el internalsplugin

Mensaje por jzfilms »

...yo desde mis aposentos y desde lo mas profundo de mi sesera... estoy con este proyecto, tanto desde que lo empezó Willynovi, como desde que me estuviste comentando todo esto Ernesto. Así pues, en lo poco que pueda estar en mi mano, ahí estaré. Con ansia pura....jijijij. Un saludo. :wink:
...haz un click en la simulación...
... entra en SIMULAJE.
Avatar de Usuario
crobol
Maestro al volante
Maestro al volante
Mensajes: 13867
Registrado: 28 Abr 2007 00:00
Volante: DFP
Ubicación: BCN
Contactar:

Re: Trasteando con el internalsplugin

Mensaje por crobol »

¿FFB solo a partir del Internals?

Quizas me he dejado algo por leer de tu propuesta, pero me sorprendia que solo del internals se pudiera sacar un FFB efectivo.

Sea como sea, desarrollar un FFB que dependa exclusivamente del plugin de un simulador, lo limita mucho para usarlo en otros titulos.
Avatar de Usuario
willynovi
Piloto Histórico
Piloto Histórico
Mensajes: 1177
Registrado: 17 Mar 2009 01:00
Volante: 100% DIY, prox. con FFB
Ubicación: Argentina
Contactar:

Re: Trasteando con el internalsplugin

Mensaje por willynovi »

dos ejemplos, LeoFFB y RealFeel, estos toman datos de las físicas, los acomodan y los envian al directx.

lo del multi simulador es cierto, pero para empezar, creo que con el plugin es buen camino :scratchchin:
Responder