martes, 27 de diciembre de 2011

Indicadores con servos

A los reyes magos de este año les he pedido una tarjeta de servos de opencockpits, y aprobechando estas fiestas he creado un par de indicadores con servo.
Aun no tiene hubicación definitiva y faltan algunos detalles, me ha permitido ir viendo los problemas de construcción y las soluciones de cara a en un futuro crear los 6 instrumentos básicos de vuelo.Todos los instrumentos parten de la misma idea:
  • Un embellecedor exterior, que sujetara el cristal, o en el caso de los de fuel, cartelitos que tapan ciertas partes.
  • Un separador, para poder tener espacio para las agujas entre el fondo y el cristal.
  • Un fondo, donde pegare una hoja impresa con las escalas y demás.
Aunque no me gusta mucho como queda, en el caso donde las agujas recorren menos de 180º, puedo utilizar el servo directamente:
Cuando las agujas giran mas de 180º es necesario utilizar una desmultiplicación, lo mas fácil de conseguir son los engranajes de lego, asi que dicho y echo. Lo mas complicado es sujetar la corona al servo, en este caso como en el resto, el pegamento de silicona caliente es tu amigo.
La aguja es un trozo de plástico pegado sobre una pieza de lego, que va al eje.
El conjunto funciona bastante bien, y el único problema es que los servos son bastante ruidosos, pero solo se nota en casos especiales, p.e. cuando conecto la batería y los indicadores de fuel pasan de marcar 0 a marcar el contenido de los depósitos.
El otro detalle antirealista, es que tienen demasiada profundidad, debido a los materiales que he utilizado, pero es otro detalle sin importancia.

domingo, 18 de diciembre de 2011

El bus de la avionica en X-Plane

Aunque X-Plane simula varios bus electricos, me encontre con que el de la avionica no esta presente, y lo utilizo como condicion para que diversos led de la cabina se enciendan o no.

Asi que realize un pequeño script que lo simula.
La parte SIOC:
Var 0201, name cal_avivolt
{
CALL &sub_audioled
}

Var 0202, name sub_calcavibus, Link SUBRUTINE
{
IF &xp_avionics = 1
{
&cal_avivolt = &xp_mainbusvolt
}
ELSE
{
&cal_avivolt = 0
}
}
Var 1003, name xp_avionics, Link IOCP, Offset 3460
{
CALL &sub_calcavibus
}
Var 1013, name xp_mainbusvolt, Link IOCP, Offset 5004
{
CALL &sub_calcavibus
CALL &sub_gear
}

La parte de uipcxdatos.txt
3460 sim/cockpit2/switches/avionics_power_on int
5004 sim/cockpit2/electrical/bus_volts _0 float

Asi, cuando cambia la tension del bus 0 (que depende de la bateria y el alternador) o cuando cambiamos el interruptor de la avionica, calculamos en la subrutina sub_calcavibus la tension de ese bus.

El resto de subrutinas, controlan las diversas salidas de la placa master en funcion de diversos parametros.

sábado, 17 de diciembre de 2011

Haciendo funcionar la cabina con X-Plane

Un amigo me dejo su X-Plane 9 (aprobechando que el se compro el 10) y me he puesto manos a la obra para hacer que el panel funcione en este simulador. y he aqui algunos tips:

Lo primero es instalar el plugins UIPCX, este funciona diferente a Flight Simulator, crea un servidor IOCP, hay que configurar en SIOC.ini para que lo busque, la ventaja es que puedes tener SIOC funcionando en un 2º ordenador, sin tener que tener una licencia de widefs, o correr otro sioc en el ordenador del Simulador.

X-Plane tiene una forma de acceder a sus variables internas, a lo fichero unix, tipo sim/aircraft/limits/yellow_hi_FF, el flight-gear hace algo similar, p.e., asi que en la instalacion del plugin se copio un archivo uipcxdatos.txt que contiene una relacion entre offsets y rutas, con el plugin viene una version del autor bastante completa, pero podemos y debemos editar este archivo para adaptar los offset a nuestra configuracion. En www.xsquawkbox.net/xpsdk/docs/DataRefs.html hay una relaccion completa de todo lo accesible.

Y ya solo queda adaptar nuestro programa sioc para utilizar las nuevas variables y adaptarse a las particularidades de este simulador.