Jump to content

Programando el Cougar


Ermes

Publicaciones recomendadas

Recogido de un post mío antiguo (alla por el 2007) que seguro que hoy en día a alguien le viene bien. He preferido copy/paste que hacer un bump en este caso, pero si alguien quiere ver el original es este http://www.escuadron111.com/new/index.php?/topic/2885-programacion-tm/

 

Lo he revisado muy por encima, con lo que lo mismo hay algún gazapo que otro. Simplemente mirad todo lo que se puede hacer con esa "bestia"

 

========

 

Bueno, pues tenia por ahi unos "tips" de programacion que se me terminaran perdiendo, con lo que me he decidido a ponerlos por aqui, que seguro que vienen bien.


NOTA: La mayoria de las partes de codigo han sido recuperadas de los foros de programacion de FrugalWorld, los Xfiles de DonUlfonso, los perfiles de Bob Church, Jagstang, J. Hallows, etc... 

Boton con dos funciones dependiendo del tiempo que se pulsa 
=========================================================== 

 

BTN S3 KD(X1) DLY(300) KU(X1)
DEF X2 (X1 AND NOT S3)

BTN X2 Pinky_switch (quick release)

Cuando se pulsa S1 genera una pulsacion instantanea de X1. Esa provoca que X1* se ponga en on. 
Se mantiente asi hasta que 300ms despues se activa X10 y genera otro pulso de X1 haciendo que X1* se ponga a off 
Con la siguiente linea se consigue que si sueltas S1 dentro de esos 300ms se active X3 y por tanto la funcion correspondiente: 
 

DEF X2 (X1* AND NOT S1)
BTN X2 Pinky_switch (quick release)

Lo mismo pero con otro botón que no sea el pinky

P.ej. boton S1: pulsacion corta (menos de 2 segundo) MSL Step / Pulsacion larga TrimReset

BTN S1 KD(X1) DLY(2000) KU(X1) 
DEF X2 (X1 AND NOT S1)
DEF X3 (S1 AND NOT X1) <-- Mantengo S1 y X1 se ha desactivado, es decir, 2seg mas tarde

Rem --- ahora asigno las funciones a las variables
BTN X2 MSL_Step
BTN X3 TrimReset

Al hacer un doble click y mantener mueve RudderTrim. El siguiente doble-click mueve el AileronTrim 
=================================================================================================

Con cada doble-click vamos cambiando el estado de X3* 
 

BTN H1L /T KD(X1) DLY(350) KU(X1) 
/T KD(X2) DLY(350) KU(X2)
BTN H1R /T KD(X9) DLY(350) KU(X9) 
/T KD(X10) DLY(350) KU(X10)

DEF X3 (X1 AND X2) OR (X9 AND X10)
DEF X4 DELAY(400) (H1L OR H1R)
DEF X5 (X4 AND H1L) AND X3*
DEF X6 (X4 AND H1L) AND NOT X3*
BTN X5 RudderTrimLeft
BTN X6 AileronTrimLeft
DEF X7 (X4 AND H1R) AND X3*
DEF X8 (X4 AND H1R) AND NOT X3*
BTN X7 RudderTrimRight
BTN X8 AileronTrimRight

Con un doble click de S1 ejecuto Trim_Reset 
 

DEF X1 (NOT X1* AND H1L) OR (X1* AND X40)
DEF X2 (NOT X2* AND H1L AND X1*) OR (X2* AND X40)
DEF X40 DELAY(350) (X1* OR X2*)
DEF X3 (X1 AND X2) AND H1L
BTN X3 Trim_Reset

Selector de dos estados
============================ 


Hay ocasiones en las que es necesario utilizar distintas funciones para cada boton en funcion del avion que se este volando. Por ejemplo, en aviones como el A10 que no tiene selector de programas de CMS podriamos utilizar esos botones.
Esa misma tecnica es la que utlizo para configurar si voy a utilizar las IVC (internal voice comms) o TeamSpeak. Es como si fuera un interruptor, en nuestro caso de dos estados, que se puede seleccionar en cualquier momento (generalmente al principio, si es que queremos llegar a hablar algo  ;) )

Selecciono el tipo de comunicacion RogerWilco o IVC (por defecto) pulsando simultaneamente H2U y H3U
 

Rem X1 hace de indicador de estado de la seleccion que queramos.

DEF X1 ( H2U AND H3U ) Rem toggle indicator -> (default) Ingame-Comms / RogerWilco
DEF X52 (T2 AND NOT S3) AND NOT X1*
DEF X53 (T3 AND NOT S3) AND NOT X1*
DEF X54 (T2 AND NOT S3) AND X1*
DEF X55 (T2 AND NOT S3) AND X1*

BTN X52 Transmit_Comm1 Rem
BTN X53 Transmit_Comms2 Rem
BTN X54 RogerWilco
BTN X55 Chat 

NOTA: el indicador '*' significa que cambia de estado 'on-->off-->on...' el flag correspondiente (X1*) cada vez que se activa X1.

P. ej.

DEF X1 S1
        __     ________
S1  ___|  |___|        |__
        __     ________
X1  ___|  |___|        |__
        ______
X1* ___|      |___________

       ^      ^
       |      |
cambios de estado



Selector de modos (tres estados o modos)
======================================== 


Conseguimos que X1 este activo una vez que se haya presionado H1L, y hasta que se presione H1U o H1R.
 

BTN H1L /I KD (X1) KU (X2) KU (X3)
REM MODE 1
/O ^
BTN H1U /I KU (X1) KD (X2) KU (X3)
REM MODE 2
/O ^
BTN H1R /I KU (X1) KU (X2) KD (X3)
REM MODE 3
/O ^

Tan solo tendríamos que utilizar los flags X1, X2 y X3 como "master" de cada modo. Es decir, usarlos con un AND a cada comando que le quisiéramos poner esa condición

  • Like 4

Enlace al comentario
Compartir en otros sitios web

Join the conversation

Puede publicar ahora y registrarse más tarde. Si tiene una cuenta, iniciar sesión para publicar con su cuenta.

Guest
Responder a este tema...

×   Pegar como texto enriquecido.   Pegar como texto sin formato

  Sólo se permiten 75 emoji.

×   Tu enlace se ha incrustado automáticamente..   Mostrar como un enlace en su lugar

×   Se ha restaurado el contenido anterior.   Limpiar editor

×   No se pueden pegar imágenes directamente. Carga o inserta imágenes desde la URL.

Cargando...
×
×
  • Crear nuevo...

Información importante

Términos de Uso