Título: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: ssemmartin en 20 Julio, 2011, 21:24:40 Muchachada.
Tengo conectados varios periféricos a mi notebook y les he asignado las funciones que yo considero más importantes. Pero hay 2 puntualmente que no puedo encontrar. A) He logrado asignarle funciones al zoom del HSI para cambiar de 20 40 80 160 etc.....PERO no logro encontrar las asignaciones para cambiar de APP VOR MAP en el EFIS B) La segunda y menos importante es el AUTOBRAKE. No encuentro un toogle para cambiar de RTO a 1 - 2 - 3 Agradecido y a la espera de data. Título: Re: Asignación de botones para el EFIS Publicado por: Dragun en 21 Julio, 2011, 01:04:04 Necesitas botones?? o datarefs .....otra cosa es para el X737?
Título: Re: Asignación de botones para el EFIS Publicado por: ssemmartin en 21 Julio, 2011, 02:00:44 Necesitas botones?? o datarefs .....otra cosa es para el X737? No, simplemente asignarle a un botón del joystick una determinada acción.Tengo varios periféricos y módulos de Saitek, pero además, he agregado 2 joystick económicos (tipo PlayStation) pero con puerto USB y a los botones le he asignado funciones del Transponder, del RMI, y me faltan estas que no las puedo encontrar :( Me he recorrido todos los menúes en el ADVANCE BUTTONS pero no logro encontrar al muy maldito >:( Por otro lado: qué es un dataref? ??? EDITADO: SOLUCIÓN: El gran Sandy se ocupa de todo, aquí hay varias asignaciones que faltaban http://www.xpluginsdk.org/sbcommands.htm (http://www.xpluginsdk.org/sbcommands.htm) Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: Dragun en 21 Julio, 2011, 09:41:26 Un Datarefs es una 'orden' , el X-plane esta programado con estas funciones determinadas , y a estas , hacer referencia la asignacion de botones.
http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html (http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html) As probado por casualidad esta forma de asignacion de botones ? ... mira este ejemplo par el toga http://forums.x-plane.org/index.php?showtopic=47453 (http://forums.x-plane.org/index.php?showtopic=47453) Si todo se a solucionado me alegro mucho , en e link q as puesto , la verdad q a ido mejorandolo segu le pedia la gente , asiq siempre le puedes pedir lo q te falte....te falta algo??? Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: Dragun en 21 Julio, 2011, 12:58:15 Mirate este link, es el que te comentaba q era por requerimiento de los usuarios http://www.xpluginsdk.org/misc_plugins.htm (http://www.xpluginsdk.org/misc_plugins.htm) :-r-
Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: ssemmartin en 21 Julio, 2011, 13:59:26 Espectacular.
Algo curioso: la cantidad de desarrollos que ha hecho este señor y sin embargo tiene una web tan pedorra :o Extraño, no? Comprendo que no desperdicia recursos en hacer algo bonito sino práctico y útil, pero.....esos diseños tiene más de 15 años :D Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: kha29096335 en 21 Julio, 2011, 14:43:25 Un Datarefs es una 'orden' , el X-plane esta programado con estas funciones determinadas , y a estas , hacer referencia la asignacion de botones. Eeeh.... no exactamente. Un DataRef es una variable del simulador, expuesta a través del SDK, para poder ser leída, o establecida si no es de solo lectura, desde un programa exterior al simulador -plugin-. Un Command es una orden o evento, que puede asociarse a un interfaz físico externo -joystick, panel de mandos, etc- de modo que puede desencadenarse por acción directa de un dispositivo conectado al ordenador. Es totalmente posible crear tanto DataRefs como Commands por nosotros mismos, a los que se les denomina Custom DataRefs / Commands, de forma que un Custom Command determinado desencadena la ejecución de una rutina específica de nuestro plugin, y un Custom DataRef expresa un valor creado por nosotros en el plugin, como por ejemplo puede ser una animación a medida, o un dato de entrada a para nuestro código. Saludetes. Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: Dragun en 21 Julio, 2011, 15:15:32 @Kha , era mas q nada un comentario sobre el Datarefs ....jejejejeje....
Un Datarefs es una 'orden' , el X-plane esta programado con estas funciones determinadas , y a estas , hacer referencia la asignacion de botones. Eeeh.... no exactamente. Un DataRef es una variable del simulador, expuesta a través del SDK, para poder ser leída, o establecida si no es de solo lectura, desde un programa exterior al simulador -plugin-. Un Command es una orden o evento, que puede asociarse a un interfaz físico externo -joystick, panel de mandos, etc- de modo que puede desencadenarse por acción directa de un dispositivo conectado al ordenador. Es totalmente posible crear tanto DataRefs como Commands por nosotros mismos, a los que se les denomina Custom DataRefs / Commands, de forma que un Custom Command determinado desencadena la ejecución de una rutina específica de nuestro plugin, y un Custom DataRef expresa un valor creado por nosotros en el plugin, como por ejemplo puede ser una animación a medida, o un dato de entrada a para nuestro código. Saludetes. Gracias por la clase jejejeje...y ya q estamos , como se crea un Commands?? Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: ssemmartin en 21 Julio, 2011, 17:48:32 Un Datarefs es una 'orden' , el X-plane esta programado con estas funciones determinadas , y a estas , hacer referencia la asignacion de botones. Eeeh.... no exactamente. Un DataRef es una variable del simulador, expuesta a través del SDK, para poder ser leída, o establecida si no es de solo lectura, desde un programa exterior al simulador -plugin-. Un Command es una orden o evento, que puede asociarse a un interfaz físico externo -joystick, panel de mandos, etc- de modo que puede desencadenarse por acción directa de un dispositivo conectado al ordenador. Es totalmente posible crear tanto DataRefs como Commands por nosotros mismos, a los que se les denomina Custom DataRefs / Commands, de forma que un Custom Command determinado desencadena la ejecución de una rutina específica de nuestro plugin, y un Custom DataRef expresa un valor creado por nosotros en el plugin, como por ejemplo puede ser una animación a medida, o un dato de entrada a para nuestro código. Saludetes. Pensé que ambos hablábamos castellano, pero no te entiendo nada :( En serio, muy bueno y gracias a ambos. Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: kha29096335 en 21 Julio, 2011, 17:49:07 Gracias por la clase jejejeje...y ya q estamos , como se crea un Commands?? Todo se resume en crear los commands, las funciones llamadas a cada uno y registrarlos, estas son las partes relevantes de todo el código: Código: /************************************************** Variables que almacenarán las definiciones de los custom commands Código: XPLMCommandRef integer_frequency_up_command = NULL; //Command to up the integer part of the COM frequency Prototyping (se definiran mas adelante) de las funciones que se llamaran para cada custom command Código: int int_freq_up_command_handler(XPLMCommandRef inCommand, XPLMCommandPhase inPhase, void * inRefcon); Creación de los custom commands, en donde se dice qué nombres tienen y su descripción Código: //Custom command creation Registro de los custom commands en X-Plane, para que el simulador sepa cuales son y que funciones debe llamar para cada uno Código: //Custom command registration in X-Plane Desregistro de los custom commands al recibir el plugin la señalización de terminación Código: //Unregistration of custom Commands and Standard commands interceptors Definicion de las funciones que se llamarán como reacción a los commands (mediante manipuladores en la cabina 3D) Código: //Custom plugin functions for commands Siento no haber podido poner el código completo del plugin, los 12000 caracteres que se permiten por post no son suficientes. Título: Re: Asignación de botones para el EFIS (SOLUCIONADO) Publicado por: Dragun en 03 Agosto, 2011, 09:25:26 @ssemmartin Creo q esto te va encantar http://sourceforge.net/apps/mediawiki/xhsi/index.php?title=X-Plane_XHSI_commands (http://sourceforge.net/apps/mediawiki/xhsi/index.php?title=X-Plane_XHSI_commands)
// pilot commands // mode mode_app xhsi/efis/pilot/mode_app "EFIS mode APP" mode_vor xhsi/efis/pilot/mode_vor "EFIS mode VOR" mode_map xhsi/efis/pilot/mode_map "EFIS mode MAP" mode_nav xhsi/efis/pilot/mode_nav "EFIS mode NAV" mode_pln xhsi/efis/pilot/mode_pln "EFIS mode PLN" mode_down xhsi/efis/pilot/mode_down "Previous EFIS mode" mode_up xhsi/efis/pilot/mode_up "Next EFIS mode" // ctr ctr_toggle xhsi/efis/pilot/mode_ctr_toggle "Toggle EFIS map CTR" ctr_on xhsi/efis/pilot/mode_ctr_on "EFIS map CTR on" ctr_off xhsi/efis/pilot/mode_ctr_off "EFIS map CTR off" // range range_10 xhsi/efis/pilot/range_10 "EFIS map range 10" range_20 xhsi/efis/pilot/range_20 "EFIS map range 20" range_40 xhsi/efis/pilot/range_40 "EFIS map range 40" range_80 xhsi/efis/pilot/range_80 "EFIS map range 80" range_160 xhsi/efis/pilot/range_160 "EFIS map range 160" range_320 xhsi/efis/pilot/range_320 "EFIS map range 320" range_640 xhsi/efis/pilot/range_640 "EFIS map range 640" range_down xhsi/efis/pilot/range_down "Decrease EFIS map range" range_up xhsi/efis/pilot/range_up "Increase EFIS map range" // radio1 radio1_adf xhsi/efis/pilot/radio1_adf "EFIS radio1 ADF" radio1_off xhsi/efis/pilot/radio1_off "EFIS radio1 OFF" radio1_nav xhsi/efis/pilot/radio1_nav "EFIS radio1 NAV" radio1_down xhsi/efis/pilot/radio1_down "Previous EFIS radio1" radio1_up xhsi/efis/pilot/radio1_up "Next EFIS radio1" // radio2 radio2_adf xhsi/efis/pilot/radio2_adf "EFIS radio2 ADF" radio2_off xhsi/efis/pilot/radio2_off "EFIS radio2 OFF" radio2_nav xhsi/efis/pilot/radio2_nav "EFIS radio2 NAV" radio2_down xhsi/efis/pilot/radio2_down "Previous EFIS radio2" radio2_up xhsi/efis/pilot/radio2_up "Next EFIS radio2" // source source_nav1 xhsi/efis/pilot/source_nav1 "EFIS source NAV1" source_nav2 xhsi/efis/pilot/source_nav2 "EFIS source NAV2" source_fmc xhsi/efis/pilot/source_fmc "EFIS source FMC" source_down xhsi/efis/pilot/source_down "Previous EFIS source" source_up xhsi/efis/pilot/source_up "Next EFIS source" // tfc tfc_toggle xhsi/efis/pilot/tfc_toggle "Toggle EFIS TFC" tfc_on xhsi/efis/pilot/tfc_on "EFIS TFC on" tfc_off xhsi/efis/pilot/tfc_off "EFIS TFC off" // arpt arpt_toggle xhsi/efis/pilot/arpt_toggle "Toggle EFIS ARPT" arpt_on xhsi/efis/pilot/arpt_on "EFIS ARPT on" arpt_off xhsi/efis/pilot/arpt_off "EFIS ARPT off" // wpt wpt_toggle xhsi/efis/pilot/wpt_toggle "Toggle EFIS WPT" wpt_on xhsi/efis/pilot/wpt_on "EFIS WPT on" wpt_off xhsi/efis/pilot/wpt_off "EFIS WPT off" // vor vor_toggle xhsi/efis/pilot/vor_toggle "Toggle EFIS VOR" vor_on xhsi/efis/pilot/vor_on "EFIS VOR on" vor_off xhsi/efis/pilot/vor_off "EFIS VOR off" // ndb ndb_toggle xhsi/efis/pilot/ndb_toggle "Toggle EFIS NDB" ndb_on xhsi/efis/pilot/ndb_on "EFIS NDB on" ndb_off xhsi/efis/pilot/ndb_off "EFIS NDB off" // sta = vor + ndb sta_toggle xhsi/efis/pilot/sta_toggle "Toggle EFIS STA" sta_on xhsi/efis/pilot/sta_on "EFIS STA on" sta_off xhsi/efis/pilot/sta_off "EFIS STA off" // data = route data data_toggle xhsi/efis/pilot/data_toggle "Toggle EFIS DATA" data_on xhsi/efis/pilot/data_on "EFIS DATA on" data_off xhsi/efis/pilot/data_off "EFIS DATA off" // pos pos_toggle xhsi/efis/pilot/pos_toggle "Toggle EFIS POS" pos_on xhsi/efis/pilot/pos_on "EFIS POS on" pos_off xhsi/efis/pilot/pos_off "EFIS POS off" // copilot commands // copilot mode copilot_mode_app xhsi/efis/copilot/mode_app "EFIS mode APP - copilot" copilot_mode_vor xhsi/efis/copilot/mode_vor "EFIS mode VOR - copilot" copilot_mode_map xhsi/efis/copilot/mode_map "EFIS mode MAP - copilot" copilot_mode_nav xhsi/efis/copilot/mode_nav "EFIS mode NAV - copilot" copilot_mode_pln xhsi/efis/copilot/mode_pln "EFIS mode PLN - copilot" copilot_mode_down xhsi/efis/copilot/mode_down "Previous EFIS mode - copilot" copilot_mode_up xhsi/efis/copilot/mode_up "Next EFIS mode - copilot" // copilot ctr copilot_ctr_toggle xhsi/efis/copilot/mode_ctr_toggle "Toggle EFIS map CTR - copilot" copilot_ctr_on xhsi/efis/copilot/mode_ctr_on "EFIS map CTR on - copilot" copilot_ctr_off xhsi/efis/copilot/mode_ctr_off "EFIS map CTR off - copilot" // copilot range copilot_range_10 xhsi/efis/copilot/range_10 "EFIS map range 10 - copilot" copilot_range_20 xhsi/efis/copilot/range_20 "EFIS map range 20 - copilot" copilot_range_40 xhsi/efis/copilot/range_40 "EFIS map range 40 - copilot" copilot_range_80 xhsi/efis/copilot/range_80 "EFIS map range 80 - copilot" copilot_range_160 xhsi/efis/copilot/range_160 "EFIS map range 160 - copilot" copilot_range_320 xhsi/efis/copilot/range_320 "EFIS map range 320 - copilot" copilot_range_640 xhsi/efis/copilot/range_640 "EFIS map range 640 - copilot" copilot_range_down xhsi/efis/copilot/range_down "Decrease EFIS map range - copilot" copilot_range_up xhsi/efis/copilot/range_up "Increase EFIS map range - copilot" // copilot radio1 copilot_radio1_adf xhsi/efis/copilot/radio1_adf "EFIS radio1 ADF - copilot" XPLMRegisterCommandHandler(copilot_radio1_adf, copilot_radio1_handler, 1, (void *) RADIO_ADF); copilot_radio1_off xhsi/efis/copilot/radio1_off "EFIS radio1 OFF - copilot" XPLMRegisterCommandHandler(copilot_radio1_off, copilot_radio1_handler, 1, (void *) RADIO_OFF); copilot_radio1_nav xhsi/efis/copilot/radio1_nav "EFIS radio1 NAV - copilot" XPLMRegisterCommandHandler(copilot_radio1_nav, copilot_radio1_handler, 1, (void *) RADIO_NAV); copilot_radio1_down xhsi/efis/copilot/radio1_down "Previous EFIS radio1 - copilot" XPLMRegisterCommandHandler(copilot_radio1_down, copilot_radio1_handler, 1, (void *) DOWN); copilot_radio1_up xhsi/efis/copilot/radio1_up "Next EFIS radio1 - copilot" XPLMRegisterCommandHandler(copilot_radio1_up, copilot_radio1_handler, 1, (void *) UP); // copilot radio2 copilot_radio2_adf xhsi/efis/copilot/radio2_adf "EFIS radio2 ADF - copilot" copilot_radio2_off xhsi/efis/copilot/radio2_off "EFIS radio2 OFF - copilot" copilot_radio2_nav xhsi/efis/copilot/radio2_nav "EFIS radio2 NAV - copilot" copilot_radio2_down xhsi/efis/copilot/radio2_down "Previous EFIS radio2 - copilot" copilot_radio2_up xhsi/efis/copilot/radio2_up "Next EFIS radio2 - copilot" // copilot source copilot_source_nav1 xhsi/efis/copilot/source_nav1 "EFIS source NAV1 - copilot" copilot_source_nav2 xhsi/efis/copilot/source_nav2 "EFIS source NAV2 - copilot" copilot_source_fmc xhsi/efis/copilot/source_fmc "EFIS source FMC - copilot" copilot_source_down xhsi/efis/copilot/source_down "Previous EFIS source - copilot" copilot_source_up xhsi/efis/copilot/source_up "Next EFIS source - copilot" // copilot tfc copilot_tfc_toggle xhsi/efis/copilot/tfc_toggle "Toggle EFIS TFC - copilot" copilot_tfc_on xhsi/efis/copilot/tfc_on "EFIS TFC on - copilot" copilot_tfc_off xhsi/efis/copilot/tfc_off "EFIS TFC off - copilot" // copilot arpt copilot_arpt_toggle xhsi/efis/copilot/arpt_toggle "Toggle EFIS ARPT - copilot" copilot_arpt_on xhsi/efis/copilot/arpt_on "EFIS ARPT on - copilot" copilot_arpt_off xhsi/efis/copilot/arpt_off "EFIS ARPT off - copilot" // copilot wpt copilot_wpt_toggle xhsi/efis/copilot/wpt_toggle "Toggle EFIS WPT - copilot" copilot_wpt_on xhsi/efis/copilot/wpt_on "EFIS WPT on - copilot" copilot_wpt_off xhsi/efis/copilot/wpt_off "EFIS WPT off - copilot" // copilot vor copilot_vor_toggle xhsi/efis/copilot/vor_toggle "Toggle EFIS VOR - copilot" copilot_vor_on xhsi/efis/copilot/vor_on "EFIS VOR on - copilot" copilot_vor_off xhsi/efis/copilot/vor_off "EFIS VOR off - copilot" // copilot ndb copilot_ndb_toggle xhsi/efis/copilot/ndb_toggle "Toggle EFIS NDB - copilot" copilot_ndb_on xhsi/efis/copilot/ndb_on "EFIS NDB on - copilot" copilot_ndb_off xhsi/efis/copilot/ndb_off "EFIS NDB off - copilot" // copilot sta = vor + ndb copilot_sta_toggle xhsi/efis/copilot/sta_toggle "Toggle EFIS STA - copilot" copilot_sta_on xhsi/efis/copilot/sta_on "EFIS STA on - copilot" copilot_sta_off xhsi/efis/copilot/sta_off "EFIS STA off - copilot" // copilot data = route data copilot_data_toggle xhsi/efis/copilot/data_toggle "Toggle EFIS DATA - copilot" copilot_data_on xhsi/efis/copilot/data_on "EFIS DATA on - copilot" copilot_data_off xhsi/efis/copilot/data_off "EFIS DATA off - copilot" // copilot pos copilot_pos_toggle xhsi/efis/copilot/pos_toggle "Toggle EFIS POS - copilot" copilot_pos_on xhsi/efis/copilot/pos_on "EFIS POS on - copilot" copilot_pos_off xhsi/efis/copilot/pos_off "EFIS POS off - copilot" There are also 2 sets of commands to simulate B737-Classic modes: // B737-Classic modes b737cl_mode_fullvorils xhsi/efis/b737_classic/pilot_mode_fullvorils "B737-Classic mode FULL VOR/ILS" b737cl_mode_expvorils xhsi/efis/b737_classic/pilot_mode_expvorils "B737-Classic mode EXP VOR/ILS" b737cl_mode_map xhsi/efis/b737_classic/pilot_mode_map "B737-Classic mode MAP" b737cl_mode_ctrmap xhsi/efis/b737_classic/pilot_mode_ctrmap "B737-Classic mode CTR MAP" b737cl_mode_plan xhsi/efis/b737_classic/pilot_mode_plan "B737-Classic mode PLAN" // copilot B737-Classic modes b737cl_copilot_mode_fullvorils xhsi/efis/b737_classic/copilot_mode_fullvorils "B737-Classic mode FULL VOR/ILS - copilot" b737cl_copilot_mode_expvorils xhsi/efis/b737_classic/copilot_mode_expvorils "B737-Classic mode EXP VOR/ILS - copilot" b737cl_copilot_mode_map xhsi/efis/b737_classic/copilot_mode_map "B737-Classic mode MAP - copilot" b737cl_copilot_mode_ctrmap xhsi/efis/b737_classic/copilot_mode_ctrmap "B737-Classic mode CTR MAP - copilot" b737cl_copilot_mode_plan xhsi/efis/b737_classic/copilot_mode_plan "B737-Classic mode PLAN - copilot" These have been implemented because the B737-Classic modes cannot be directly mapped to B737-NG modes. FULL VOR/ILS will set mode 0=APP/Centered EXP VOR/ILS will set mode 0=APP/Expanded MAP will set mode 2=MAP/Expanded CTR MAP will set mode 2=MAP/Centered PLAN will set mode 4=PLAN |