peut etre parles tu de ceci...
// *****************************************************************************
// * Config_SIOC ver 1.98 - By Manolo Vélez -
http://www.opencockpits.com// *****************************************************************************
// * FileName : radio_com.txt
// * Date : 20/5/2005
Var 0000, Value 0 // Inicializacion
{
V0007 = 1 // Pone el 1 FIJO
V0002 = 20 // Inicializamos 2 digitos altos STANDBY
V0003 = 0 // y los 2 digitos bajos para poner 120.00
V0012 = TOBCD 2000 // Inicializo COM1 activo a 120.00
}
Var 0002 // Frecuencia Standby 2D altos
{
CALL V1100 // Pasa valor al simulador
}
Var 0003 // Frecuencia Standby 2D bajos
{
CALL V1100 // Pasa valor al simulador
}
Var 0004, Link IOCARD_DISPLAY, Digit 0, Numbers 5 // Frecuencia Radio
Var 0005, Link IOCARD_DISPLAY, Digit 6, Numbers 2 // Digitos bajos
Var 0006, Link IOCARD_DISPLAY, Digit 8, Numbers 2 // Digitos altos frecuencia standby
Var 0007, Link IOCARD_DISPLAY, Digit 10, Numbers 1 // 1 Fijo de Frecuencia Standby
Var 0008, Value 0
Var 0011, Link FSUIPC_OUT, Offset $311A, Length 2 // Frecuencia Standby COM1
{
V0006 = V0002 // Pasa digitos altos al display
V0005 = V0003 // Paso digitos bajos a display
}
Var 0012, Link FSUIPC_OUT, Offset $034E, Length 2 // Frecuencia activa COM1
{
L0 = FROMBCD V0012 // paso a binario
V0004 = L0 + 10000 // Y se lo mando al display con el 1 delant
}
Var 0013, Link IOCARD_SW, Input 49, Type P // Pulsador de SWAP
{
L0 = V0002 * 100 // Monto los dos digitos altos
L0 = L0 + V0003 // Y ahora los 2 digitos bajos
L1 = FROMBCD V0012 // Salvo la frecuencia actual pasando a dec
V0012 = TOBCD L0 // Y le paso la frecuencia de Standbye
L0 = L1 / 100 // Saco los 2 digitos altos
V0002 = TRUNC L0 // Se los paso a la variable
L2 = V0002 * 100
V0003 = L1 - L2 // Paso los 2 digitos bajos
}
Var 0014, Link IOCARD_ENCODER, Input 28, Aceleration 1 // Encoder digitos altos
{
V0002 = ROTATE 18 ,36 ,V0014 // Inc/Decrement considerando limites 18-36
}
Var 0015, Link IOCARD_ENCODER, Input 41, Aceleration 1 // Digitos bajos
{
IF V0015 > 0 // Si es un incremento de frecuencia
{
IF V0003 = 97 // Si es el limite alto
{
V0003 = 0 // Paso a 0
}
ELSE // Si no ha llegado al limite
{
L0 = V0003 + 3 // Sumo 3 pero ahora reviso...
L1 = L0 / 10 // Saco unidades
L1 = TRUNC L1
L1 = L1 * 10
L1 = L0 - L1
IF L1 = 3 // Si las unidades terminan en 3
{
L0 = L0 - 1 // Decremento en 1
}
IF L1 = 8 // Si las unidades terminan en 8
{
L0 = L0 - 1 // Decremento en 1
}
V0003 = L0 // Paso el valor final
}
}
ELSE // Si es un decremento de Frecuencia
{
IF V0003 = 0 // Si ha llegado al limite
{
V0003 = 97 // Paso al valor alto
}
ELSE // Si no ha llegado al limite
{
L0 = V0003 - 3
IF L0 = -1 // Miro si es -1 que corresponde a 0
{
V0003 = 0 // asigno entonces 0
}
ELSE // Prosigo con lextraccion de las unidades
{
L1 = L0 / 10 // Saco unidades
L1 = TRUNC L1
L1 = L1 * 10
L1 = L0 - L1
IF L1 = 4 // Si termina en 4 corresponde con 5
{
L0 = L0 + 1
}
IF L1 = 9 // Si termina en 9 corresponde con 0
{
L0 = L0 + 1
}
V0003 = L0 // Paso el valor a la variable
}
}
}
}
Var 1100, Link SUBRUTINE // Manda valor a frecuencia standby
{
L0 = V0002 * 100 // Monta el número
L0 = L0 + V0003
V0011 = TOBCD L0 // Pasamos a BCD y enviamos al simulador
}
ou ceci...
// *****************************************************************************
// * Config_SIOC ver 3.6B2 - By Manolo Vélez -
http://www.opencockpits.com// *****************************************************************************
// * FileName : sioc.txt
// * Date : 2008-10-31
Var 0000, Value 0
{
&digitos = 12345
&digitos2 = 67890
&d_bright = 1
&digitos20 = 123456
&digitos22 = 789012
}
Var 0002, name digitos2, Link IOCARD_DISPLAY, Device 3, Digit 5, Numbers 5
Var 0001, name digitos, Link IOCARD_DISPLAY, Device 3, Digit 0, Numbers 5
Var 0100, name d_bright, Link IOCARD_DISPLAY, Device 3, Digit 16, Numbers 3
Var 0005, Link IOCARD_SW, Device 3, Input 2
Var 0006, Link IOCARD_SW, Device 3, Input 3
Var 0007, Link IOCARD_SW, Device 3, Input 4
Var 0008, Link IOCARD_SW, Device 3, Input 5
Var 0009, Link IOCARD_SW, Device 3, Input 6
Var 0003, Link IOCARD_ENCODER, Device 3, Input 0, Aceleration 1, Type 2
{
V0010 = V0010 + V0003
}
Var 0010, Value 1000
Var 0022, name digitos22, Link IOCARD_DISPLAY, Device 4, Digit 6, Numbers 6
Var 0021, name digitos20, Link IOCARD_DISPLAY, Device 4, Digit 0, Numbers 6
Var 0025, Link IOCARD_SW, Device 4, Input 2
Var 0026, Link IOCARD_SW, Device 4, Input 3
Var 0027, Link IOCARD_SW, Device 4, Input 4
Var 0028, Link IOCARD_SW, Device 4, Input 5
Var 0029, Link IOCARD_SW, Device 4, Input 6
Var 0023, Link IOCARD_ENCODER, Device 4, Input 0, Aceleration 1, Type 2
{
V0030 = V0030 + V0023
}
Var 0030, Value 1000
ou ceci...
// *****************************************************************************
// * Opencockpits COM - By Manolo Vélez -
http://www.opencockpits.com// *****************************************************************************
// * FileName : COM_Definicion.txt
// DIGITS
Var 100, name D_ACTIVE, Link IOCARD_DISPLAY, Digit 0, Numbers 6
Var 102, name D_STANDBY, Link IOCARD_DISPLAY, Digit 6, Numbers 6
Var 104, name D_BRIGHT, Link IOCARD_DISPLAY, Digit 16, Numbers 3
// OUTPUTS
Var 200, name DECIMAL_A, Link IOCARD_OUT, Output 20
Var 202, name DECIMAL_S, Link IOCARD_OUT, Output 21
// ROTARY ENCODERS
Var 300, name E_INT, Link IOCARD_ENCODER, Input 0, Aceleration 1, Type 2
Var 302, name E_DEC, Link IOCARD_ENCODER, Input 4, Aceleration 1, Type 2
// SWITCHES
Var 400, name I_TFR, Link IOCARD_SW, Input 6
Var 402, name I_TEST, Link IOCARD_SW, Input 2