Jump to content

Cabina Ka-50


NyZuZ

Recommended Posts

Buenas a todos los amantes de la simulación y en especial a la construcción de cabinas.

 

Hace ya varios meses que me rueda por la cabeza construir una cabina, una recreación idéntica, de alguna de las dos aeronaves en los dos simuladores de la serie DCS. Tras volar bastante tiempo el Ka-50 y estar encantado con él, y viendo que el A-10 me llama la atención pero no tanto, decidí que la cabina la realizaría del helicóptero.

Empiezo este post para compartir lo que he ido avanzando y para escribir un poco todo lo que llevo indagando en archivos de configuración del sim y así aclararme yo también un poco el lio que llevo estas últimas semanas :xd:

Quizás alguno más de vosotros al verlo se anima a empezar, es mucho más fácil de lo que parece. Agradezco al usuario Oakes de los foros de dcs sus posts en dicho foro, que me han ayudado mucho.

 

 

Electrónica

 

La cabina la realizare utilizando el hardware desarrollado por Manuel Velez en Opencockpits , el cual recibí sin ningun problema tras una semana de realizar el pedido (remarcar que incluso me reenvió gratuitamente dos chips que tuve que romper para desoldarlos pues erre en su montaje, un diez en todos los sentidos Opencockpits).

Puede comprarse ya listo para usar todo o las placas y componentes por separado. Esto exige algo de maña soldando, pues soldar los circuitos debe ser preciso para evitar cortocircuitos y rapido para minimizar el calentamiento de los componentes. La ventaja es ahorrarnos alrededor del 50%, merece la pena :lol:

La pagina cuenta también con multitud de PDFS para guiar en el montaje e incluso videos.

 

Pedido a Opencockpits:

 

- 2 Master Cards

- 1 USB Expansion Card

- 1 Alimentación placa Master

- Cables, conectores y interruptores para trastear un poco.

Total unos 90 Euros.

 

Una vez montado, lo enchufamos al pc mediante el cable usb (más comodo impossible). Mentiria si dijera que no tenia cierto acojone de que no explotara todo por un mal soldaje :xd:

Remarcar que la toma de 5V a la placa Master no la he usado hasta empezar a probar LEDS.

bloques01.jpg

test1-00.JPG

 

Siguiendo las completas instrucciones de los PDFS en la pagina de Opencockpits, miramos a que corresponde cada salida en las tarjetas:

 

j3j4.jpg

 

 

Programando

 

 

Iniciamos el Software de las SIOCards:

 

25994084.jpg

 

Como vemos en la esquina superior izquierda, nuestra tarjeta USB Expansion ha tomado el valor 148. Este valor varia de tarjeta en tarjeta. Debemos modificar dicho valor en C:\Program Files\IOCards\SIOC\sioc.ini para indicarlo al software, de modo que insertamos esta línea editando con el bloc de notas mismo:

50563902.jpg

 

Aqui empieza lo divertido del asunto:

 

Clicamos en Config, abriendose el editor y clicamos en Nuevo para crear un archivo en blanco. Clic derecho sobre el espacio vacio y le damos a Insertar Variable. Aparece un pequeño cuadradito y hacemos doble click en el, desplegando un nuevo menu. Le damos en el espacio en Unir a : y elegimos Interruptores. Variable ponemos 10 y en Nombre Test. Por último en Ent/Sal/ ponemos 1, para usar la entrada 1 en el conector JP3 de la tarjeta Master (podemos ver que pines son en el esquema de más arriba). Clicamos en OK.

 

Ahora deberia aparecernos esta linea:

Var 0010, name Test, Link IOCARD_SW, Input 1

 

Clicamos en Ficheros, Guardar Como y le damos el nombre que queramos, pero recordandolo (por ejemplo dcs_001).

 

Cerramos el SIOC y vamos de nuevo a C:\Program Files\IOCards\SIOC\sioc.ini donde cambiamos:

 

[ Fichero de configuracion ]

[ Configuration File ]

CONFIG_FILE= (aqui pondra algo)

 

por

 

[ Fichero de configuracion ]

[ Configuration File ]

CONFIG_FILE=.\dcs_001.ssi

 

Con esto logramos que SIOC se dirija cada vez a este fichero para saber que tiene conectado en cada pin. Abrimos por lo tanto de nuevo SIOC y le damos al boton Reload, lo que hace que en el log aparezca:

 

Welcome to SIOC by Manuel Vélez

Starting SIOC

Loading SIOC config .INI :

C:\Simuladores\IOC\sioc.ini

Initializing IOcard Module

Loading SIOC Script :

.\dcs_001.ssi <---- Si lo hemos hecho bien saldra asi.

 

Clicamos en IOCPConsole y deberia aparecernos esto:

 

76640016.jpg

 

 

Ahora podemos comprobar que si conectamos un cable entre los pines GND y 1, la variable cambia cada vez.

 

 

Llega el momento de empezar a definir que hace cada variable del SIOC dentro del propio simulador. Para ello vamos a la carpeta C:\Ka-50\Config\Export y hacemos un backup de ella, pues le vamos a dar caña y conviene tenerla intacta por lo que pueda pasar. Descargamos los ficheros y lo colocamos todo en la carpeta Export del simulador, aceptando lo que se deba sustituir. Con ello no estamos cambiando nada, sino reemplazando los archivos ya existentes por unos iguales pero con explicaciones para saber mejor que hace cada cosa (una línea de código que tenga -- delante de ella es como si no existiera). Ademas se nos añade una carpeta llamada SiocConfig con un archivo dentro.

 

 

Comandos en el Ka-50

 

En este punto me encontre el problema de no saber como debia referirme a cada interruptor de la cabina para que el simu entendiera las ordenes del SIOC, pero tras un poco de busqueda podemos averiguarlo.

 

C:\Ka-50\Scripts\Aircrafts\Ka-50\Cockpit Archivo Devices

 

-------DEVICE ID-------
devices = {}
devices["DBG_OUTPUT"]				= 1
-- moved forward for correct initialization of another devices
devices["ELEC_INTERFACE"]			= 2
devices["FUELSYS_INTERFACE"]		= 3
devices["ENGINE_INTERFACE"]			= 4
devices["HYDRO_SYS_INTERFACE"]		= 5
devices["EJECT_SYS_INTERFACE"]		= 6

devices["HUD"]						= 7
devices["SHKVAL"]					= 8
devices["ABRIS"]					= 9
devices["EKRAN_32_03"]				= 10
devices["LASERRANGER"]				= 11
devices["WEAP_INTERFACE"]			= 12
devices["VMS"]						= 13
devices["SYST_CONTROLLER"]			= 14
devices["C061K"]					= 15
devices["DISS_32_28"]				= 16
devices["KI_13"]					= 17
devices["ID_6"]						= 18
devices["SNS"]						= 19
devices["PVI"]						= 20
devices["PUI_800"]					= 21
devices["UV_26"]					= 22
devices["HELMET"]					= 23
devices["PADLOCK"]					= 24
devices["DATALINK"]					= 25
devices["CVM_N"]					= 26
devices["CVM_B"]					= 27
devices["NAV_INTERFACE"]			= 28
devices["CLOCK"]					= 29
devices["HSI"]						= 30
devices["ADI"]						= 31
devices["PPK"]						= 32
devices["AUTOPILOT"]				= 33
devices["CPT_MECH"]					= 34
devices["GUN"]						= 35
devices["LASER_WARNING_SYSTEM"]		= 36
devices["MISSILE_TURRET"]			= 37
devices["RADAR_ALTIMETER"]			= 38
devices["BLINK_TIMER"]				= 39
devices["FIRE_EXTING_INTERFACE"]	= 40
devices["MISC_SYSTEMS_INTERFACE"]	= 41
devices["IFF"]						= 42
devices["LIMITERS"]					= 43
devices["SPOTLIGHT_SYSTEM"]			= 44
devices["NAVLIGHT_SYSTEM"]			= 45
devices["ARK_22"]					= 46
devices["MRP"]						= 47
devices["R_800"]					= 48
devices["R_828"]					= 49
devices["SPU_9"]					= 50
devices["NOP"]						= 51
devices["ILLUMINATION_INTERFACE"]	= 52
devices["SIGNAL_FLARE_DISPENSER"]	= 53
devices["MLWS"]						= 54
devices["ARCADE"]					= 55
devices["STBY_ADI"]					= 56
devices["X52Pro"]                   = 57
devices["PShK_7"]                   = 58
devices["ZMS_3"]                    = 59
devices["K041"]						= 60
devices["MACROS"]                   = 61

Vemos que el simulador realiza 61 grupos de elementos dentro de la cabina. Para poner un ejemplo usaremos el 11, el LasserRanger y intentaremos encender el interruptor del laser. Para ello, debemos averiguar como nombra el simulador a cada interruptor dentro de esta clasificaciones por dispositivos (devices).

 

Esto se encuentra en C:\Ka-50\Scripts\Aircrafts\Ka-50\Cockpit Archivo Clicabkedata

 

Os copio una pequeña parte de dicho archivo:

 

-- K041
elements["K-041-PTR"]			= { class = {class_type.TUMB,class_type.TUMB}, hint = LOCALIZE("K-041 Targeting-navigation system power switch"),						device = devices.K041, action = {device_commands.Button_2,device_commands.Button_2},  arg = {433,433}, arg_value = {-direction*1.0,direction*1.0}, arg_lim = {{0.0, 1.0},{0.0, 1.0}}, use_OBB = true, updatable = true}
[color="#0000FF"]-- LASERRANGER
elements["PVR-IZL-PTR"]			= { class = {class_type.TUMB,class_type.TUMB}, hint = LOCALIZE("Laser standby ON/OFF switch"),				device = devices.LASERRANGER   , action = {device_commands.Button_1,device_commands.Button_1}, arg = {435,435}, arg_value = {-direction*1.0,direction*1.0}, arg_lim = {{0, 1},{0, 1}}, use_OBB = true, updatable = true}[/color]
-- HELMET
elements["PVR-OBZ-PTR"]			= { class = {class_type.TUMB,class_type.TUMB}, hint = LOCALIZE("Helmet-mounted sight system power switch"),						device = devices.HELMET        , action = {device_commands.Button_2,device_commands.Button_2}, arg = {434,434}, arg_value = {-direction*1.0,direction*1.0}, arg_lim = {{0, 1},{0, 1}}, use_OBB = true, updatable = true}

-- SHKVAL
elements["V-SCAN-PTR"]			= { class = {class_type.TUMB, class_type.TUMB}, hint = LOCALIZE("Shkval scan rate"), device = devices.SHKVAL, action = {device_commands.Button_6, device_commands.Button_6}, arg = {301, 301}, arg_value = {-direction*0.1, direction*0.1}, arg_lim = {{0, 0.7},{0, 0.7}} }

 

 

Este archivo tambien esta separado por Dispositivos, pero ahora nos da mucha informacion sobre cada interruptor, pulsador, guarda o cualquier elemento clicable de TODA la cabina (e incluso alguno mas).

En azul he marcado el dispositivo que nos interesa; devices["LASERRANGER"]= 11 como vimos antes. Leemos un poco y vemos que el Laser on/of se trata de un interruptor llamado 1 y con un movimiento de 0 a 1. Esto es asi para todos los interruptores de dos posiciones. Dentro de un mismo Dispositivo no existen dos interruptores con el mismo nombre obviamente.

 

Tenemos por lo tanto que el simulador se refiera a cada elemento clicable de la cabina como Dispositivo,interruptor,movimiento que tiene.

 

Vamos a nuestro fichero SIOCConfig en C:\Ka-50\Config\Export\SIOCConfig y abajo del todo substituimos lo que ponga en inputsTable = (varias lineas de codigo) por :

 

inputsTable = {

[10] = {TwoPositionSwitch, 11, 1, 1},  
}

Donde [Variable que hemos usado en SIOC (la llamamos test)] = {TwoPositionSwitch, dispositivo, interruptor, movimiento}

 

Grabamos el archivo y si esta todo correcto, al abrir el simulador y mover el interruptor....el simulador lo reproduce! Aqui casi se me sale una lagrimilla la primera vez :xd:

Podemos seguir probando dispositivos e interruptores programando más variables, tan solo se trata de ir nombrando los interruptores como hace el simu.

 

 

Por el momento tengo programados todos los pulsadores del data link y funcionando. Espero empezar a construir el panel lo más parecido al real posible, incluyendo los leds que se sincronizaran con el simulador, pues las Opencockpits cards aceptan entradas pero también emiten las salidas extrayendo del simulador.

 

 

To be continued....

Edited by NyZuZ
Link to comment
Share on other sites

Muy interesante NyZuZ, yo ando con la genesis de algo similar, un cockpit para BS, pero de momento solo estoy con el diseño de los paneles frontales, a la espera de decidirme por la parte electronica y mecanica.

 

Hace tiempo construi un prototipo en forma de consola:

 

cockpit03.jpg

 

Con esto es con lo que estoy volando ahora, pero tengo la intencion de hacer una version que incluya el PVI-800, casi todo el overhead, y bueno, si me lio mucho, casi todo lo necesario para el arranque, ademas de un diseño de los paneles mas acorde con lo que vemos en cabina. Obviamente, en la consola que tengo ahora no cabe nada mas, asi que todavia no tengo claro si el montaje final tendra formato consola ó cabina.

 

Lo de OpenCockpits no lo habia valorado porque no tengo claro si la programacion necesaria para sincronizar con el simulador es asequible a un humano medio, ¿tienes intencion de hacerlo asi? Hay un usuario en los foros de DCS que ha tirado por esa via (Oakes, creo recordar) Seria la ideal, mas que por los interruptores por los LEDs y los displays del PVI-800 y del panel de armas.

 

Seguire tu proyecto muy de cerca, y si pudiera ayudar en algo cuenta conmigo, saludos.

Link to comment
Share on other sites

Yo no tenia ni idea de programar y ya he conseguido que todas las entradas posibles en cabina me respondan. Básicamente esto es interruptores, pulsadores y encoders (el encoder para que nos entendamos son las ruedecillas que giramos para seleccionar fq de radio o mover el cursor del Abris. De momento con esto tengo para montar meses y meses :xd:

 

Una vez te pones a leer y probar, no tiene mucho misterio. Ahora me queda lograr que se comunique el simulador con las tarjetas para el tema de encender leds, quizas un poco más difícil. Después los dígitos del panel de armamento, radio y bengalas. Por ultimo, y no creo que llegue a tal punto pero la posibilidad existe, instrumentos reales con agujas movidas por servomotores (si lograra hacer el varioaltimetro ya seria feliz jeje).

 

La ventaja de estas tarjetas es su bajo precio por el numero de entradas/salidas y su enorme capacidad de mejora y expansión. Para que te hagas una idea en la USB puedes meter 4 masters, y cada master son 72 entradas, 32 salidas, y 6 displays. Ademas son las únicas que puedes conectar directamente interruptores, pues su método de trabajo es que escanean cada poco las entradas buscando cambios de continuidad, por lo que puedes tener los 72 interruptores cerrados y no sufre nada, no se si me explico bien.

 

 

Yo te lo recomiendo, he pasado muchos meses mirando todas las opciones existentes en el mercado y nada se le parece ni de lejos.

Link to comment
Share on other sites

Muy interesante, a mi me encantaria hacerme algo así. Me veo mas capacitado para la parte de programación que para la parte de construcción, soldadura, etc...

 

El panel de bolas me ha gustado mucho. Es lo que me haría yo, ya que un cockpit no puedo ni por espacio ni por uso del ordenador.

Link to comment
Share on other sites

Interesante. En su momento ya conseguí en el usar el MCP de Opencockpits (que usa IOCards también, claro) con el Flaming Cliffs 2. Aunque el tratamiento de los .lua es distinto que en el Black Shark (quizá algo más sencillo), al final la filosofía es la misma.

 

Voy a probar el mismo ejemplo que comentas porque (a priori) no parece complicado del todo.

 

Desde luego la cabina que vas a montar promete.

 

Ánimo y suerte!

Link to comment
Share on other sites

NyZuz, tengo una pregunta a ver si sabes por donde van los tiros. ¿Sabes qué variables se usan dentro de los ficheros .lua para obtener el estado de los botones del sistema de piloto automático?

 

Estoy mapeando dichos botones a pulsadores del MCP, y me gustaría conocer el estado inicial (activo o inactivo), para encender o apagar el led del botón correspondiente en el MCP. Más o menos tengo clara la forma de devolver variables desde el Export.lua y capturarlas en el script de SIOC, pero lo que no sé es cuales son esas variables (las del estado de cada botón del piloto automático. ¿Tienes alguna idea?

 

Gracias por adelantado.

 

Un saludo!

Link to comment
Share on other sites

Voy a mirarlo ahora y edito si saco algo en claro. Llevo todo el fin de semana peleandome con un encoder rotativo gray de 16 posiciones para mover el ABRIS. Casi lo tengo pero necesitaria saber algo mas de programacion en LUA :(

 

Edito:

 

Todo lo referente a "salidas" lo tienes en C:\Ka-50\Scripts\Aircrafts\Ka-50\Cockpit archivo mainpanel_init

 

[b]PPR_button_K			= CreateGauge()
PPR_button_K.arg_number	= 330
PPR_button_K.input		= {0.0, 0.3}
PPR_button_K.output		= {0.0, 0.3}
PPR_button_K.controller	= controllers.PPR_button_K

PPR_button_H			= CreateGauge()
PPR_button_H.arg_number	= 332
PPR_button_H.input		= {0.0, 0.3}
PPR_button_H.output		= {0.0, 0.3}
PPR_button_H.controller	= controllers.PPR_button_H

PPR_button_B			= CreateGauge()
PPR_button_B.arg_number	= 333
PPR_button_B.input		= {0.0, 0.3}
PPR_button_B.output		= {0.0, 0.3}
PPR_button_B.controller	= controllers.PPR_button_B

PPR_button_T			= CreateGauge()
PPR_button_T.arg_number	= 331
PPR_button_T.input		= {0.0, 0.3}
PPR_button_T.output		= {0.0, 0.3}
PPR_button_T.controller	= controllers.PPR_button_T[/b]

 

 

K,H,B y T es como se llaman los interruptores de piloto automatico en ruso.

 

Creo pues que para encender tu leed seria [Numero variable Sioc] = {0,330},

Edited by NyZuZ
Link to comment
Share on other sites

Genial... justo eso era lo que buscaba. Hay tantos ficheros .lua que me pierdo. Funciona de lujo, ya se inicializa correctamente. También tengo en mente mapear los botones rotatorios del ABRIS, así que si descubro algo te lo haré saber.

 

Poco a poco voy pillando el tema del lenguaje Lua... no sé donde estás atascado, pero si te puedo echar una mano...

 

Un saludo, y gracias de nuevo!

Link to comment
Share on other sites

Veras yo el abris lo quiero modificar con esta funcion que he creado:

-- Calls non-clickable commands without parameters for two-position switch
function TwoPositionSwitch_NCC_noparam(pValue, pDevice, pCommandNumber)
   GetDevice(pDevice):SetCommand(pCommandNumber, pValue)
end

 

Esto va en ExportSupport

 

Luego en el SiocConfig

 

[1] = {TwoPositionSwitch_NCC_noparam, 9, 501}, -- Incrementar Abris
[2] = {TwoPositionSwitch_NCC_noparam, 9, 502}, -- Decrecer Abris

 

El 9 vuelve a ser de la famosa lista de devices (9= Abris) y el 501 y 502 salen de C:\Ka-50\Scripts\Aircrafts\Ka-50\Cockpit. Aqui hay un monton de archivos interesantisimos de cada elemento en cabina. Si abres command_def vemos:

 

[b]Plane_ABRIS_Axis_Increase				= 501,
Plane_ABRIS_Axis_Decrease				= 502,[/b]

Que es de donde salen los valores de arriba para las variables. Este ultimo archivo es extremadamente util.

 

Bueno asi como lo tengo ahora, si pongo dos botones en las variables 1 y 2, puedo mover el cursor sin problema. Pero yo quiero tenerlo con un encoder rotativo, para ser fiel a la cabina real, y no consigo hacer que al girar a un lado SIOC active una variable y al girar al otro active la otra. Seguro que es facil pero se me da mejor interpretar archivos del DCS que el lenguaje lua :xd:

Edited by NyZuZ
Link to comment
Share on other sites

En ese caso, si has conseguido hacerlo funcionar con botones, imagino que el problema está en la parte de SIOC, no en el lua, no? Supongo que habrá que programar el rotatory encoder para que al girar en un sentido actualice el valor de la variable [1] y al girarlo en el otro actualice el de la variable [2], pero dentro del script de SIOC. Tampoco lo sé seguro, tendría que probarlo luego en casa cuando vuelva del curro.

 

No sé si conoces está página http://www.lekseecon.nl/howto.html, pero está muy bien, con ejemplos de como programar los distintos elementos que puedes pinchar a las IOCards. Hay ejemplos para los rotatories, por si quieres echarle un vistazo.

 

Suerte y lo dicho, si descubro algo te aviso.

 

Saludos!

Edited by oscarfg
Link to comment
Share on other sites

Efectivamente, el problema le tengo donde dices y la solución que busco es justo esa, que a cada "clic" de giro del encoder, mande la pulsación de 1 a una variable, 1 o 2, dependiendo del sentido de giro.

He posteado en algún foro como el que me pones a ver si alguien me puede ayudar, porque poderse hacer se puede seguro.

Si te parece ve colgando en este mismo post tus programaciones y códigos, ayudaran a otras personas que vengan, pues como yo mas he aprendido es mirando códigos de otros jeje.

Link to comment
Share on other sites

Efectivamente, el problema le tengo donde dices y la solución que busco es justo esa, que a cada "clic" de giro del encoder, mande la pulsación de 1 a una variable, 1 o 2, dependiendo del sentido de giro.

He posteado en algún foro como el que me pones a ver si alguien me puede ayudar, porque poderse hacer se puede seguro.

Si te parece ve colgando en este mismo post tus programaciones y códigos, ayudaran a otras personas que vengan, pues como yo mas he aprendido es mirando códigos de otros jeje.

 

No sé si has llegado a avanzar algo en el asunto del rotatorio del Abris, Te pego el código de SIOC que he conseguido hacer funcionar:

 

Var 0400, name CRSdcho Link IOCARD_ENCODER, Input 9, Aceleration 1, Type 2 // CRS Derecho
{
IF &CRSdcho > 0	
{	
	&ABRIS_DEC = 1		
	&ABRIS_DEC = 0
}
ELSE 
{
	IF &CRSdcho < 0	
	{
		&ABRIS_INC = 1		
		&ABRIS_INC = 0		
	}	
}
} 

Var 0401, name ABRIS_INC, Link IOCP, Offset 501, Value 0 // Abris Increase
Var 0402, name ABRIS_DEC, Link IOCP, Offset 502, Value 0 // Abris Decrease

 

Si lo miras con atención verás que es un poco extraño el asignar primero un 1 y luego un 0 a las variables ABRIS_INC y ABRIS_DEC. El hacerlo así es porque si sólo actualizo a 1, en el siguiente giro del rotatorio, la variable sigue valiendo 1 (del giro anterior), por lo que al no cambiar el valor, tampoco se modifica la variable y no envia nada al simulador. Imagino que habrá alguna otra forma mejor de hacerlo, pero así de momento me ha funcionado.

 

Por otro lado, te pego también el código de uno de los botones del piloto automático:

 

// Input para Led Autopilot Bank Hold (CMD A)
Var 0112 value 0
{
 IF V0112 = 1
 {
	&CMDAled = 1 
 }
 ELSE
 {
	&CMDAled = 0 
 }
}
Var 0012, name CMDAled, Link IOCARD_OUT, Output 33 				// Led Autopilot Bank Hold (CMD A)
Var 0013, name AP_BANK_HLD, Link IOCP, Offset 13, Value 0 		// Offset Autopilot Bank Hold (CMD A)
Var 0014, name _CMD_A, Link IOCARD_SW, Input 21, Type P			// Btn CMD A
{
 IF &_CMD_A = 1
 {
&CMDAled = 1
&AP_BANK_HLD = 1	
 }
 ELSE 
 {
&CMDAled = 0
&AP_BANK_HLD = 0  
 }
}

 

La variable 112 es la que recibe el estado inicial del botón (la pregunta que te hice). El resto son la variable para el Led del botón (CMDAled), la variable de entrada del botón (_CMD_A) y la variable a enviar al simulador (AP_BANK_HLD).

 

Para los otros tres botones, el bloque de código es el mismo (usando otras variables, claro...)

 

Ya nos contarás tus avances.

 

Un saludo!

Edited by oscarfg
Link to comment
Share on other sites

Ostias Oscarfg acabo de llegar a casa a comer y me vuelvo a subir a currar, pero pienso bajar como un tiro a las 7 a probar si funciona y de hacerlo, te debo algunas cervezas!!

 

Gracias por el otro codigo tambien, curro que nos vamos ahorrando asi el uno al otro jeje.

PD: No te pongas con el Datalink que esta tarde te pego todo el codigo ;)

 

PD2: Al final no me he resistido y rapidamente lo he montado todo para probarlo.....FUNCIONA PERFECTAMENTE!! Muchas gracias crack.

Edited by NyZuZ
Link to comment
Share on other sites

Codigo Data Link Entradas:

 

[b]inputsTable = {

--  Datalink 

-- [0] = {TwoPositionSwitch, , ,0.2}, N/A
[1] = {TwoPositionSwitch, 25, 10, 0.2}, -- Vehículo
[2] = {TwoPositionSwitch, 25, 11, 0.2}, -- SAM
[3] = {TwoPositionSwitch, 25, 12, 0.2}, -- Otro
[4] = {TwoPositionSwitch, 25, 13, 0.2}, -- Punto Ingreso
[5] = {TwoPositionSwitch, 25, 6, 0.2}, -- Wingman 1
[6] = {TwoPositionSwitch, 25, 7, 0.2}, -- Wingman 2
[7] = {TwoPositionSwitch, 25, 8, 0.2}, -- Wingman 3
[8] = {TwoPositionSwitch, 25, 9, 0.2}, -- Wingman 4
[9] = {TwoPositionSwitch, 25, 5, 0.2}, -- Wingman All
[10] = {TwoPositionSwitch, 25, 1, 0.2}, -- Send Mem
[11] = {TwoPositionSwitch, 25, 2, 0.2}, -- Engress to Target
[12] = {TwoPositionSwitch, 25, 3, 0.2}, -- Clear[/b]

Codigo Data Link Salidas:

 

[b]-- Format [sIOC Parameter Value] = {Device ID, arg_number}
-- Device ID and arg_number can be found in Devices.lua and mainpanel_init.lua 
-- respectively.

dataLinkIndicators = {
[201] = {0,17}, -- WINGMAN1
[202] = {0,18}, -- WINGMAN2
[203] = {0,19}, -- WINGMAN3
[204] = {0,20}, -- WINGMAN4
[205] = {0,16}, -- WINGMAN ALL
[206] = {0,21}, -- VEHÍCULO
[207] = {0,22}, -- SAM
[208] = {0,23}, -- OTROS
[209] = {0,50}, -- PUNTO INGRESO
[210] = {0,161}, -- CLEAR
[211] = {0,150}, -- INGRESO
[212] = {0,159}, -- SEND MEM
}[/b]

Codigo Abris Entradas:

 

-- ABRIS

[13] = {TwoPositionSwitch, 9, 1, 0.2}, -- ABRIS 1
[14] = {TwoPositionSwitch, 9, 2, 0.2}, -- ABRIS 2
[15] = {TwoPositionSwitch, 9, 3, 0.2}, -- ABRIS 3
[16] = {TwoPositionSwitch, 9, 4, 0.2}, -- ABRIS 4
[17] = {TwoPositionSwitch, 9, 5, 0.2}, -- ABRIS 5
[18] = {TwoPositionSwitch, 9, 7, 0.2}, -- ABRIS PUSH
[19] = {TwoPositionSwitch_NCC_noparam, 9, 501}, -- Incrementar Abris
[20] = {TwoPositionSwitch_NCC_noparam, 9, 502}, -- Decrecer Abris

}
Edited by NyZuZ
Link to comment
Share on other sites

Pues me alegro que te funcione... Gracias por los códigos para el data link. En principio no tengo claro que más funciones voy a mapear, ya que el MCP no es que tenga muchos botones y tampoco es que dé mucho juego.

 

Ya que sabemos cómo mapear botones, interruptores y rotatorios, ahora mi intención es capturar salidas de valores como la munición de cañón restante o Vikhrs disponibles, etc. e intentar mostrarlos en los displays de 7 segmentos... De momento todo esto me está sirviendo de práctica para cuando pille el A10C, porque también tengo intención de re-utilizar el MCP y supongo que la filosofía será la misma.

 

Una pregunta, ¿has notado bajada en rendimiento del simulador cuando tienes activo todo esto? No sé si es imaginación mía, pero me da la impresión de que bajan los FPS...

 

Saludos!

Link to comment
Share on other sites

Pues no Oscarfg, no he notado nada, aunque debo decir que yo ahora mismo solo lo activo para ir probando cosas. No tengo ningún panel montado para su uso aun.

 

Hoy he empezado a fresar el panel e interruptores para el DataLink y he conseguido lo que sera la joya de la corona en mi cabina. Un interruptor de arranque que le he cambiado por ciclos (15.000 y seguro que aguanta 5 veces más) a un AS 350 B3!!! Se parece muchísimo al interruptor para activar el armamento, con un reborde de seguridad que hace necesario estirar de él para poder mover lo. Tiene 3 posiciones en vez de 2 pero no supone problema alguno

 

pic00017n.th.jpg

 

Espero que el dueño del heli no se pase por este foro, a ver si va a pensar que lo he cambiado por quedarme lo. :xd:

 

PD: Que mierda de fotos hace mi móvil...

Edited by NyZuZ
Link to comment
Share on other sites

Vaya señores, enhorabuena por los avances... me estan siendo tremendamente perjudiciales... Si es "factible" sacar datos del simulador mi futuro panel, que no cabina, cambiaria mucho en su concepcion. De momento declaro que estais invitados a toda la birra que podais asimilar. B)

 

Lo del interruptor "locking lever" que has conseguido NyZuZ llevaba tiempo dandole vueltas, me parecia que hay varios asi en el cockpit real, el K-041 por ejemplo, lo malo es que son carisimos. El que has conseguido desde luego es una verdadera preciosidad, te veo recomendando sustituciones a mansalva a tus clientes. :icon_mrgreen:

 

NyZuZ, ¿No te has planteado usar una controladora tipo las de Leo Bodnar solo para los encoders? Que los maneja muy bien. (edit despues de releer con mas calma)

 

Por otro lado leo que has comenzado a fresar, no se si ello implica que tienes ya diseño de los paneles pero si te ayudase en algo lo que he ido haciendo en Corel no dudes en pedirmelo, aqui una muestra (sorry por el tamaño, lo acabo de convertir ahora para mostrarlo aqui y ha quedado asi) Estoy guiandome en cuanto a proporciones por lo que veo en el simu, ya que no he conseguido buenas fotos del cockpit real. Si es de utilidad esta a vuestra disposicion, aunque lo mismo utilizais alguna herramienta mas "profesional".

 

ka50etiquetas.jpg

 

Me habeis liado kBrones. :grin: Saludos.

Edited by Bolas
Link to comment
Share on other sites

 

 

Ya que sabemos cómo mapear botones, interruptores y rotatorios, ahora mi intención es capturar salidas de valores como la munición de cañón restante o Vikhrs disponibles, etc. e intentar mostrarlos en los displays de 7 segmentos... De momento todo esto me está sirviendo de práctica para cuando pille el A10C, porque también tengo intención de re-utilizar el MCP y supongo que la filosofía será la misma.

 

 

Saludos!

 

Tienes ya las salidas del panel de armamento? Munición, tipo y etc? Si quieres te pego el código que tengo hecho pero sin probar, aun no tengo ningún display de ese tipo para experimentar.

 

Gracias por el aporte Bolas, va a ser muy útil. Aun no tengo claro como serán los botones pk la fresadora que tengo es 100% manual, y grabar cualquier cosa que no sean lineas rectas va a ser bastante difícil...

Link to comment
Share on other sites

 

Tienes ya las salidas del panel de armamento? Munición, tipo y etc? Si quieres te pego el código que tengo hecho pero sin probar, aun no tengo ningún display de ese tipo para experimentar.

 

Gracias por el aporte Bolas, va a ser muy útil. Aun no tengo claro como serán los botones pk la fresadora que tengo es 100% manual, y grabar cualquier cosa que no sean lineas rectas va a ser bastante difícil...

 

Buenas... Sí, ya visualizo tanto misiles como munición de cañón restante, aunque la variable de salida es la misma para ambos valores, y sólo cambia cuando cambias del pilón exterior al interior o viceversa, o bien seleccionas el cañón. Si tienes el código pégalo, por favor, así comparo, que siempre hay cosas que se pueden mejorar. A ver si grabo un vídeo con todas las asignaciones.

 

Bolas, no lo he probado, creo recordar que en el FC2 no había posibilidad de usar todo esto en multijugador, porque el Export.lua que se usa es el del que hace de servidor o algo así. No sé cómo será en el Black Shark, pero tampoco creo que se pueda. Habrá que investigar.

 

Saludos!

Link to comment
Share on other sites

Ostia es una buena pregunta lo del multiplayer.... de todos modos seria tan sencillo como que el server use nuestro export.lua que le mandemos no? Al fin y al cabo lo unico que varia son unas funciones extra que luego nosotros llamamos y que ahora que recuerdo, no es que estén en export.lua sino en exportsuport.lua o algo así. Hasta el lunes no sere capaz de responder esto, a ver si oscarfg es capaz de aportar más luz al tema.

 

Si puedo aconsejarte Bolas, antes de hacer el pedido pega aquí la lista de cosas que vas a pedir. Hay algunos cables y conectores 99% imprescindibles (cuestan 1€ y el trabajo que te supondria soldar 40 terminales minusculos es prácticamente imposible). Yo hice 2 pedidos con los 2 pagos de portes por esto :(

Link to comment
Share on other sites

Si puedo aconsejarte Bolas, antes de hacer el pedido pega aquí la lista de cosas que vas a pedir. Hay algunos cables y conectores 99% imprescindibles (cuestan 1€ y el trabajo que te supondria soldar 40 terminales minusculos es prácticamente imposible). Yo hice 2 pedidos con los 2 pagos de portes por esto :(

 

Muchas gracias. Vaya si puedes aconsejarme, ;) llevo años conociendo lo de OpenCockpit y nunca me habia "atrevido", aparte de seguir el post de Oakes en el foro de DCS casi desde sus inicios, y mas "acojone" aun... :D

 

En principio iria a por una setup igual a la tuya, 1 USB y 2 Master, lo malo es que las pedire montadas y eso casi duplica el coste, aunque los integrados vayan en zocalo me da miedo montarlas yo. :(

 

Saludos, gracias de nuevo.

 

...dioz, zoy un pt cagon... :xd:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Some pretty cookies are used in this website