Jump to content
The simFlight Network Forums

yvesb

Members
  • Posts

    25
  • Joined

  • Last visited

Profile Information

  • Gender
    Male
  • Location
    Montréal, Canada

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

yvesb's Achievements

Apprentice

Apprentice (3/14)

  • Dedicated Rare
  • Conversation Starter Rare
  • First Post Rare
  • Collaborator Rare
  • Week One Done Rare

Recent Badges

0

Reputation

  1. Bonjour John, Happy new year ! The latest PMDG 737 2020 update fixed the bug. My 2020 JavaCDU now works like my Prepar3D JavaCDU! Youppi !
  2. Hello John, Thanks for the research, I'll dig more on my end. Yves
  3. Hello John, It's a personal application and it's tricky to share it: I don't own the image, part of the java class code comes from the java SKDs you provide. As for the code I wrote, there is no problem, it's a hobby for me.
  4. Here is my list of events and the Java code I am using. All this works perfectly with PMDG 737 Prepar3D but not with 2020. // CDU #define EVT_CDU_L_L1 (THIRD_PARTY_EVENT_ID_MIN + 534) #define EVT_CDU_L_L2 (THIRD_PARTY_EVENT_ID_MIN + 535) #define EVT_CDU_L_L3 (THIRD_PARTY_EVENT_ID_MIN + 536) #define EVT_CDU_L_L4 (THIRD_PARTY_EVENT_ID_MIN + 537) #define EVT_CDU_L_L5 (THIRD_PARTY_EVENT_ID_MIN + 538) #define EVT_CDU_L_L6 (THIRD_PARTY_EVENT_ID_MIN + 539) #define EVT_CDU_L_R1 (THIRD_PARTY_EVENT_ID_MIN + 540) #define EVT_CDU_L_R2 (THIRD_PARTY_EVENT_ID_MIN + 541) #define EVT_CDU_L_R3 (THIRD_PARTY_EVENT_ID_MIN + 542) #define EVT_CDU_L_R4 (THIRD_PARTY_EVENT_ID_MIN + 543) #define EVT_CDU_L_R5 (THIRD_PARTY_EVENT_ID_MIN + 544) #define EVT_CDU_L_R6 (THIRD_PARTY_EVENT_ID_MIN + 545) #define EVT_CDU_L_INIT_REF (THIRD_PARTY_EVENT_ID_MIN + 546) #define EVT_CDU_L_RTE (THIRD_PARTY_EVENT_ID_MIN + 547) #define EVT_CDU_L_CLB (THIRD_PARTY_EVENT_ID_MIN + 548) #define EVT_CDU_L_CRZ (THIRD_PARTY_EVENT_ID_MIN + 549) #define EVT_CDU_L_DES (THIRD_PARTY_EVENT_ID_MIN + 550) #define EVT_CDU_L_MENU (THIRD_PARTY_EVENT_ID_MIN + 551) #define EVT_CDU_L_LEGS (THIRD_PARTY_EVENT_ID_MIN + 552) #define EVT_CDU_L_DEP_ARR (THIRD_PARTY_EVENT_ID_MIN + 553) #define EVT_CDU_L_HOLD (THIRD_PARTY_EVENT_ID_MIN + 554) #define EVT_CDU_L_PROG (THIRD_PARTY_EVENT_ID_MIN + 555) #define EVT_CDU_L_EXEC (THIRD_PARTY_EVENT_ID_MIN + 556) #define EVT_CDU_L_N1_LIMIT (THIRD_PARTY_EVENT_ID_MIN + 557) #define EVT_CDU_L_FIX (THIRD_PARTY_EVENT_ID_MIN + 558) #define EVT_CDU_L_PREV_PAGE (THIRD_PARTY_EVENT_ID_MIN + 559) #define EVT_CDU_L_NEXT_PAGE (THIRD_PARTY_EVENT_ID_MIN + 560) #define EVT_CDU_L_1 (THIRD_PARTY_EVENT_ID_MIN + 561) #define EVT_CDU_L_2 (THIRD_PARTY_EVENT_ID_MIN + 562) #define EVT_CDU_L_3 (THIRD_PARTY_EVENT_ID_MIN + 563) #define EVT_CDU_L_4 (THIRD_PARTY_EVENT_ID_MIN + 564) #define EVT_CDU_L_5 (THIRD_PARTY_EVENT_ID_MIN + 565) #define EVT_CDU_L_6 (THIRD_PARTY_EVENT_ID_MIN + 566) #define EVT_CDU_L_7 (THIRD_PARTY_EVENT_ID_MIN + 567) #define EVT_CDU_L_8 (THIRD_PARTY_EVENT_ID_MIN + 568) #define EVT_CDU_L_9 (THIRD_PARTY_EVENT_ID_MIN + 569) #define EVT_CDU_L_DOT (THIRD_PARTY_EVENT_ID_MIN + 570) #define EVT_CDU_L_0 (THIRD_PARTY_EVENT_ID_MIN + 571) #define EVT_CDU_L_PLUS_MINUS (THIRD_PARTY_EVENT_ID_MIN + 572) #define EVT_CDU_L_A (THIRD_PARTY_EVENT_ID_MIN + 573) #define EVT_CDU_L_B (THIRD_PARTY_EVENT_ID_MIN + 574) #define EVT_CDU_L_C (THIRD_PARTY_EVENT_ID_MIN + 575) #define EVT_CDU_L_D (THIRD_PARTY_EVENT_ID_MIN + 576) #define EVT_CDU_L_E (THIRD_PARTY_EVENT_ID_MIN + 577) #define EVT_CDU_L_F (THIRD_PARTY_EVENT_ID_MIN + 578) #define EVT_CDU_L_G (THIRD_PARTY_EVENT_ID_MIN + 579) #define EVT_CDU_L_H (THIRD_PARTY_EVENT_ID_MIN + 580) #define EVT_CDU_L_I (THIRD_PARTY_EVENT_ID_MIN + 581) #define EVT_CDU_L_J (THIRD_PARTY_EVENT_ID_MIN + 582) #define EVT_CDU_L_K (THIRD_PARTY_EVENT_ID_MIN + 583) #define EVT_CDU_L_L (THIRD_PARTY_EVENT_ID_MIN + 584) #define EVT_CDU_L_M (THIRD_PARTY_EVENT_ID_MIN + 585) #define EVT_CDU_L_N (THIRD_PARTY_EVENT_ID_MIN + 586) #define EVT_CDU_L_O (THIRD_PARTY_EVENT_ID_MIN + 587) #define EVT_CDU_L_P (THIRD_PARTY_EVENT_ID_MIN + 588) #define EVT_CDU_L_Q (THIRD_PARTY_EVENT_ID_MIN + 589) #define EVT_CDU_L_R (THIRD_PARTY_EVENT_ID_MIN + 590) #define EVT_CDU_L_S (THIRD_PARTY_EVENT_ID_MIN + 591) #define EVT_CDU_L_T (THIRD_PARTY_EVENT_ID_MIN + 592) #define EVT_CDU_L_U (THIRD_PARTY_EVENT_ID_MIN + 593) #define EVT_CDU_L_V (THIRD_PARTY_EVENT_ID_MIN + 594) #define EVT_CDU_L_W (THIRD_PARTY_EVENT_ID_MIN + 595) #define EVT_CDU_L_X (THIRD_PARTY_EVENT_ID_MIN + 596) #define EVT_CDU_L_Y (THIRD_PARTY_EVENT_ID_MIN + 597) #define EVT_CDU_L_Z (THIRD_PARTY_EVENT_ID_MIN + 598) #define EVT_CDU_L_SPACE (THIRD_PARTY_EVENT_ID_MIN + 599) #define EVT_CDU_L_DEL (THIRD_PARTY_EVENT_ID_MIN + 600) #define EVT_CDU_L_SLASH (THIRD_PARTY_EVENT_ID_MIN + 601) #define EVT_CDU_L_CLR (THIRD_PARTY_EVENT_ID_MIN + 602) #define EVT_CDU_L_BRITENESS (THIRD_PARTY_EVENT_ID_MIN + 605) Example : Click INITREF button on the my Java CDU Part of the Java code private final FSAircraft_PMDG_737 pmdg = new FSAircraft_PMDG_737(); private final int THIRD_PARTY_EVENT_ID_MIN = 0x00011000; // equals to 69632 PMDG private void INITREFMouseClicked(java.awt.event.MouseEvent evt) { sendDATAMouseClick(546, evt); } private void sendDATAMouseClick(int valeur, java.awt.event.MouseEvent evt) { // #define MOUSE_FLAG_RIGHTSINGLE 0x80000000 // #define MOUSE_FLAG_MIDDLESINGLE 0x40000000 // #define MOUSE_FLAG_LEFTSINGLE 0x20000000 if (evt.getButton() == MouseEvent.BUTTON1) { pmdg.WriteCommand(THIRD_PARTY_EVENT_ID_MIN + valeur, 0x20000000); } if (evt.getButton() == MouseEvent.BUTTON2) { pmdg.WriteCommand(THIRD_PARTY_EVENT_ID_MIN + valeur, 0x40000000); } if (evt.getButton() == MouseEvent.BUTTON3) { pmdg.WriteCommand(THIRD_PARTY_EVENT_ID_MIN + valeur, 0x80000000); } } The sending to FSUIPC public void WriteCommand(int command, int value) { byte[] data1 = intToByteArray(Integer.reverseBytes(command)); byte[] data2 = intToByteArray(Integer.reverseBytes(value)); fsuipc_wrapper.WriteData(0x3114, 4, data2); fsuipc_wrapper.WriteData(0x3110, 4, data1);
  5. Oups ! sorry for the wrong first name ! 🙄 The H file 2020 is the same as that of Prepard3D : Prepar3D : #define EVT_CDU_L_INIT_REF (THIRD_PARTY_EVENT_ID_MIN + 546) 2020 : #define EVT_CDU_L_INIT_REF (THIRD_PARTY_EVENT_ID_MIN + 546) 😭 Should Hvar be used as for several 2020 aircrafts to generate events ? Thank you for your always quick response. Yves
  6. Hi Peter, I developed a small Java CDU application for the 737 PMDG from Prepar3D. It works fine using offset 0x5400 for display and offsets 0x3110 and 0x3114 for sending events. My CDU works identically to PMDG's CDU. When I use the 737 MSFS 2020 version of the PMDG, my display works correctly but the sending of events by the buttons no longer works. Is the link via offsets 0x3110 and 0x3114 operational with this 2020 version of 737 ? Have a nice day, Yves
  7. Thanks for the quick reply, that clears it up for me.
  8. Hi John, AP_SPEED_INTERVENTION_ACTIVE This variable is listed in the lvar of the 747 and I cannot find it in the list of Presets in order to allocate a button on my joystick to it. Where is she ? Have a nice day, Yves
  9. yvesb

    Lvar offset

    Allo John, I removed the lua script from FSUIPC7.ini and added LvarScanDelay = 60 in FSUIPC_WASM.ini and indeed after 60 seconds the update was activated and all offsets were available. Thank you Yves
  10. yvesb

    Lvar offset

    I try this today and come back to you.
  11. yvesb

    Lvar offset

    Your Lucky Luce : Man who reply (shoots) faster than his shadow 😀 That's Ok, for the moment I reorder the list to place at the beginning what seems to be bytes and I replace the other types at the end. All right, for the JNI, I'll try to get the gist of it. A great challenge for a weekend programmer! Thank you for your help and have a nice day !
  12. yvesb

    Lvar offset

    Allo again ! Your lua script is working wonderfully. Thank you! Since you are thinking of modifying your WASM server, it would be interesting to get the data type when you view the Lvars list. You may need to determine it since the values are exact. Ex: FMC_VOR_FREQUENCY: 1 = 116300000.000000 I could then correctly generate my configuration lines for the fsuipc7.ini file with my bash script if I had the data type (byte, int, double). Right now I take it for granted that these are all bytes and then correct by hand. #!/bin/bash offset=0x66C0 indice=0 for i in $(cat cj4_lvar_complet.txt | cut -f1 -d" " ) do echo -n $indice=L:$i=UB0x printf "%X" ${offset} offset=$(($offset +1)) indice=$(($indice +1)) echo done 0=L:XMLVAR_YokeHidden1=UB0x66C0 1=L:XMLVAR_YokeHidden2=UB0x66C1 2=L:Generic_Master_Caution_Active=UB0x66C2 3=L:Generic_Master_Warning_Active=UB0x66C3 ... When you talk about Java Native Interface, are you referring to the Wasmer Java framework :
  13. yvesb

    Lvar offset

    Allo John, Although I have been using your app for over 10 years, but I do not use macros or Lua scripts. So I configure in FSUIPC_WASM.ini LvarScanDelay to the maximum and I still have to reload using the menu. The 10 second delay is too short. So i will wait modifying the WASM module to see if 60 seconds will suffice. I program with the Fsuipc Java SDK several modifications of the MCP of aeroSystem737 avionics software to make it work with other planes than the 737. I have more then 10 differents home made "MCP" Hence the interest for me in offsets for lvars; this will allow me to control variables inaccessible with standard offsets. It is for this reason that I would like to reload without using the menu because I control all my planes remotely, all the time ! Would it not be possible to do an automatic recharge of the Lvars at programmable intervals in the FSUIPC_WASM.ini ? Thank you for your help
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.