Results 1 to 9 of 9
Thread: cdu keyboard interface
-
04-06-2008, 12:26 PM #1
- Join Date
- Nov 2007
- Location
- Paris
- Posts
- 17
cdu keyboard interface
hello
i am now testing my home built fmc for 747 (from opencockpits)
when i try to write a value at offset 5428, only the first time and only once a caracter is displayed in the magenta cdu
by example if i write 65 at this offset a "A" is displayed in cdu but if i write 66 or 8 or another caracter, nothing happens !!!
i have tried to toggle some bits in the same time (of hight byte) but i am always the same trouble.
where can i find some examples or help to do this interface working?
Thank you
Patrick
-
04-06-2008, 01:09 PM #2
- Join Date
- Dec 2006
- Location
- USA
- Posts
- 127
Patrick,
What software are you using for your FMC?
Project Magenta, Level-D, or something else?
~Polmer
-
04-06-2008, 01:23 PM #3
- Join Date
- Nov 2007
- Location
- Paris
- Posts
- 17
-
04-06-2008, 10:48 PM #4
- Join Date
- Dec 2006
- Location
- USA
- Posts
- 127
I couldnt find any PM FMC code, but here is a example of how it works for
for Level-D FMC. The offsets,of course, wouldnt work for you though....
Polmer
~Polmer
Var 0000, Value 0 // Initialisation
Var 0001, name OFF_LSK, Link FSUIPC_OUT, Offset $66C0, Length 4
Var 0002, name OFF_LD, Link FSUIPC_OUT, Offset $66C4, Length 4
Var 0003, name OFF_CY, Link FSUIPC_OUT, Offset $66C8, Length 2
Var 0004, name LSK_L1, Link IOCARD_SW, Input 24, Type P
{
&OFF_LSK = CHANGEBIT 0, &LSK_L1
}
Var 0005, name LSK_L2, Link IOCARD_SW, Input 25, Type P
{
&OFF_LSK = CHANGEBIT 1, &LSK_L2
}
Var 0006, name LSK_L3, Link IOCARD_SW, Input 26, Type P
{
&OFF_LSK = CHANGEBIT 2, &LSK_L3
}
Var 0007, name LSK_L4, Link IOCARD_SW, Input 27, Type P
{
&OFF_LSK = CHANGEBIT 3, &LSK_L4
}
Var 0008, name LSK_L5, Link IOCARD_SW, Input 28, Type P
{
&OFF_LSK = CHANGEBIT 4, &LSK_L5
}
Var 0009, name LSK_L6, Link IOCARD_SW, Input 29, Type P
{
&OFF_LSK = CHANGEBIT 5, &LSK_L6
}
Var 0010, name LSK_R1, Link IOCARD_SW, Input 30, Type P
{
&OFF_LSK = CHANGEBIT 6, &LSK_R1
}
Var 0011, name LSK_R2, Link IOCARD_SW, Input 31, Type P
{
&OFF_LSK = CHANGEBIT 7, &LSK_R2
}
Var 0012, name LSK_R3, Link IOCARD_SW, Input 32, Type P
{
&OFF_LSK = CHANGEBIT 8, &LSK_R3
}
Var 0013, name LSK_R4, Link IOCARD_SW, Input 33, Type P
{
&OFF_LSK = CHANGEBIT 9, &LSK_R4
}
Var 0014, name LSK_R5, Link IOCARD_SW, Input 34, Type P
{
&OFF_LSK = CHANGEBIT 10, &LSK_R5
}
Var 0015, name LSK_R6, Link IOCARD_SW, Input 35, Type P
{
&OFF_LSK = CHANGEBIT 11, &LSK_R6
}
Var 0016, name INIT_REF, Link IOCARD_SW, Input 36, Type P
{
&OFF_LSK = CHANGEBIT 12, &INIT_REF
}
Var 0017, name RTE, Link IOCARD_SW, Input 37, Type P
{
&OFF_LSK = CHANGEBIT 13, &RTE
}
Var 0018, name DEP_ARR, Link IOCARD_SW, Input 38, Type P
{
&OFF_LSK = CHANGEBIT 14, &DEP_ARR
}
Var 0019, name ATC, Link IOCARD_SW, Input 39, Type P
{
&OFF_LSK = CHANGEBIT 15, &ATC
}
Var 0020, name VNAV, Link IOCARD_SW, Input 40, Type P
{
&OFF_LSK = CHANGEBIT 16, &VNAV
}
Var 0021, name FIX, Link IOCARD_SW, Input 41, Type P
{
&OFF_LSK = CHANGEBIT 17, &FIX
}
Var 0022, name LEGS, Link IOCARD_SW, Input 42, Type P
{
&OFF_LSK = CHANGEBIT 18, &LEGS
}
Var 0023, name HOLD, Link IOCARD_SW, Input 43, Type P
{
&OFF_LSK = CHANGEBIT 19, &HOLD
}
Var 0024, name F_COMM, Link IOCARD_SW, Input 44, Type P
{
&OFF_LSK = CHANGEBIT 20, &F_COMM
}
Var 0025, name PROG, Link IOCARD_SW, Input 45, Type P
{
&OFF_LSK = CHANGEBIT 21, &PROG
}
Var 0026, name EXEC, Link IOCARD_SW, Input 46, Type P
{
&OFF_LSK = CHANGEBIT 22, &EXEC
}
Var 0027, name MENU, Link IOCARD_SW, Input 47, Type P
{
&OFF_LSK = CHANGEBIT 23, &MENU
}
Var 0028, name NAV_RAD, Link IOCARD_SW, Input 48, Type P
{
&OFF_LSK = CHANGEBIT 24, &NAV_RAD
}
Var 0029, name PREV_PAGE, Link IOCARD_SW, Input 49, Type P
{
&OFF_LSK = CHANGEBIT 25, &PREV_PAGE
}
Var 0030, name NEXT_PAGE, Link IOCARD_SW, Input 50, Type P
{
&OFF_LSK = CHANGEBIT 26, &NEXT_PAGE
}
Var 0031, name FMC_A, Link IOCARD_SW, Input 51, Type P
{
&OFF_LD = CHANGEBIT 0, &FMC_A
}
Var 0032, name FMC_B, Link IOCARD_SW, Input 52, Type P
{
&OFF_LD = CHANGEBIT 1, &FMC_B
}
Var 0033, name FMC_C, Link IOCARD_SW, Input 53, Type P
{
&OFF_LD = CHANGEBIT 2, &FMC_C
}
Var 0034, name FMC_D, Link IOCARD_SW, Input 54, Type P
{
&OFF_LD = CHANGEBIT 3, &FMC_D
}
Var 0035, name FMC_E, Link IOCARD_SW, Input 55, Type P
{
&OFF_LD = CHANGEBIT 4, &FMC_E
}
Var 0036, name FMC_F, Link IOCARD_SW, Input 56, Type P
{
&OFF_LD = CHANGEBIT 5, &FMC_F
}
Var 0037, name FMC_G, Link IOCARD_SW, Input 57, Type P
{
&OFF_LD = CHANGEBIT 6, &FMC_G
}
Var 0038, name FMC_H, Link IOCARD_SW, Input 58, Type P
{
&OFF_LD = CHANGEBIT 7, &FMC_H
}
Var 0039, name FMC_I, Link IOCARD_SW, Input 59, Type P
{
&OFF_LD = CHANGEBIT 8, &FMC_I
}
Var 0040, name FMC_J, Link IOCARD_SW, Input 60, Type P
{
&OFF_LD = CHANGEBIT 9, &FMC_J
}
Var 0041, name FMC_K, Link IOCARD_SW, Input 61, Type P
{
&OFF_LD = CHANGEBIT 10, &FMC_K
}
Var 0042, name FMC_L, Link IOCARD_SW, Input 62, Type P
{
&OFF_LD = CHANGEBIT 11, &FMC_L
}
Var 0043, name FMC_M, Link IOCARD_SW, Input 63, Type P
{
&OFF_LD = CHANGEBIT 12, &FMC_M
}
Var 0044, name FMC_N, Link IOCARD_SW, Input 64, Type P
{
&OFF_LD = CHANGEBIT 13, &FMC_N
}
Var 0045, name FMC_O, Link IOCARD_SW, Input 65, Type P
{
&OFF_LD = CHANGEBIT 14, &FMC_O
}
Var 0046, name FMC_P, Link IOCARD_SW, Input 66, Type P
{
&OFF_LD = CHANGEBIT 15, &FMC_P
}
Var 0047, name FMC_Q, Link IOCARD_SW, Input 67, Type P
{
&OFF_LD = CHANGEBIT 16, &FMC_Q
}
Var 0048, name FMC_R, Link IOCARD_SW, Input 68, Type P
{
&OFF_LD = CHANGEBIT 17, &FMC_R
}
Var 0049, name FMC_S, Link IOCARD_SW, Input 69, Type P
{
&OFF_LD = CHANGEBIT 18, &FMC_S
}
Var 0050, name FMC_T, Link IOCARD_SW, Input 70, Type P
{
&OFF_LD = CHANGEBIT 19, &FMC_T
}
Var 0051, name FMC_U, Link IOCARD_SW, Input 71, Type P
{
&OFF_LD = CHANGEBIT 20, &FMC_U
}
Var 0052, name FMC_V, Link IOCARD_SW, Input 72, Type P
{
&OFF_LD = CHANGEBIT 21, &FMC_V
}
Var 0053, name FMC_W, Link IOCARD_SW, Input 73, Type P
{
&OFF_LD = CHANGEBIT 22, &FMC_W
}
Var 0054, name FMC_X, Link IOCARD_SW, Input 74, Type P
{
&OFF_LD = CHANGEBIT 23, &FMC_X
}
Var 0055, name FMC_Y, Link IOCARD_SW, Input 75, Type P
{
&OFF_LD = CHANGEBIT 24, &FMC_Y
}
Var 0056, name FMC_Z, Link IOCARD_SW, Input 76, Type P
{
&OFF_LD = CHANGEBIT 25, &FMC_Z
}
Var 0057, name FMC_BL, Link IOCARD_SW, Input 77, Type P
{
&OFF_LD = CHANGEBIT 26, &FMC_BL
}
Var 0058, name FMC_DEL, Link IOCARD_SW, Input 78, Type P
{
&OFF_LD = CHANGEBIT 27, &FMC_DEL
}
Var 0059, name FMC_SL, Link IOCARD_SW, Input 79, Type P
{
&OFF_LD = CHANGEBIT 28, &FMC_SL
}
Var 0060, name FMC_CLR, Link IOCARD_SW, Input 80, Type P
{
&OFF_LD = CHANGEBIT 29, &FMC_CLR
}
Var 0061, name FMC_1, Link IOCARD_SW, Input 81, Type P
{
&OFF_CY = CHANGEBIT 0, &FMC_1
}
Var 0062, name FMC_2, Link IOCARD_SW, Input 82, Type P
{
&OFF_CY = CHANGEBIT 1, &FMC_2
}
Var 0063, name FMC_3, Link IOCARD_SW, Input 83, Type P
{
&OFF_CY = CHANGEBIT 2, &FMC_3
}
Var 0064, name FMC_4, Link IOCARD_SW, Input 84, Type P
{
&OFF_CY = CHANGEBIT 3, &FMC_4
}
Var 0065, name FMC_5, Link IOCARD_SW, Input 85, Type P
{
&OFF_CY = CHANGEBIT 4, &FMC_5
}
Var 0066, name FMC_6, Link IOCARD_SW, Input 86, Type P
{
&OFF_CY = CHANGEBIT 5, &FMC_6
}
Var 0067, name FMC_7, Link IOCARD_SW, Input 87, Type P
{
&OFF_CY = CHANGEBIT 6, &FMC_7
}
Var 0068, name FMC_8, Link IOCARD_SW, Input 88, Type P
{
&OFF_CY = CHANGEBIT 7, &FMC_8
}
Var 0069, name FMC_9, Link IOCARD_SW, Input 89, Type P
{
&OFF_CY = CHANGEBIT 8, &FMC_9
}
Var 0070, name FMC_DOT, Link IOCARD_SW, Input 90, Type P
{
&OFF_CY = CHANGEBIT 9, &FMC_DOT
}
Var 0071, name FMC_0, Link IOCARD_SW, Input 91, Type P
{
&OFF_CY = CHANGEBIT 10, &FMC_0
}
Var 0072, name FMC_PLMIN, Link IOCARD_SW, Input 92, Type P
{
&OFF_CY = CHANGEBIT 11, &FMC_PLMIN
}
-
04-07-2008, 02:06 AM #5
- Join Date
- Nov 2007
- Location
- Paris
- Posts
- 17
Thank you Polmer
but i think i can't use this code for pm cdu even if i change the offset.
logic isn't the same.
Patrick
-
04-07-2008, 05:21 AM #6
- Join Date
- Dec 2006
- Location
- Madagascar - Antananarivo
- Posts
- 29
Hello Patrick, perhaps the problem isn't from PM offset but from your sioc code ?
What do you use for entries ? USB KEY or inputs from MASTERCARD ?
Perhaps you could show partially your code ?
Stéphane
-
04-07-2008, 06:11 AM #7
- Join Date
- Nov 2007
- Location
- Paris
- Posts
- 17
Hello Stéphane,
i am using usbkeys and iockeys.exe software but i have tried to write directy with iocpconsole at offset 5428 an ascii value like 65 or 8 or another.
the variable linked to this fsuipcc in/out display the value 65 and so on
the first time and only the first time a caracter "A" is displayed in the CDU scratchpad but nothing happens for the others caracters.
if i close and open again the magenta CDU software, i can display again only once the caracter sent by IOCPConsole and only the first one.
CDU version is the last 394 like FSUIPC
perhaps some bits of the high byte of this offset must be changed for another caracter and i have tried to send 65 + 256*2^3 (to setbit 3) without success.
can you give some examples of sioc code to manage this interface?
Thank you
Patrick
-
04-07-2008, 06:40 AM #8
- Join Date
- Dec 2006
- Location
- Madagascar - Antananarivo
- Posts
- 29
Not at this time because I use USBKEY card and Link_KEY function of SIOC too !
But I will check this problem of repetition of caracters because I'm interrested by using offset assignement instead of key sending ( problem of risk of windows focus lossing)
In documentation :
"CDU "Keyboard Interface" (2 bytes)
low byte, ascii character
high byte shift = Bit0, Ctrl = Bit1, Alt = Bit2 ... other bits must change if you have two same characters after the other..."
Yes...not very explicite as always... did you try to "reset" offset 5428 after every sending ( just an idea... )
( And be carefull too with USBkey and Link_KEYS about a similar problem with "reset"...)
I understand this is not the case as you directly use IOCPconsole to test...
-
04-07-2008, 07:15 AM #9
- Join Date
- Nov 2007
- Location
- Paris
- Posts
- 17
Stephane
i will try to reset this offset (all bits to 0???)
but i am waiting some information from PM
perhaps this fonction isn't fully implemented ???
Similar Threads
-
Hacked USB keyboard for interface
By Rex Flyer in forum General Builder Questions All Aircraft TypesReplies: 5Last Post: 08-19-2009, 03:34 PM -
Can a keyboard be used...
By shearder in forum Where to Start Building a Home CockpitReplies: 10Last Post: 03-23-2009, 02:32 PM -
Keyboard
By Mac in forum MyCockpit Member MeetingsReplies: 1Last Post: 01-06-2009, 10:19 AM
Prettys Womans from your city for night
A320 Sound Files Missing