Jump to content
The simFlight Network Forums

gr8guitar

Members
  • Content Count

    130
  • Joined

  • Last visited

Community Reputation

0 Neutral

About gr8guitar

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location
    usa

Recent Profile Visitors

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

  1. Well... sad to say, the above works great with FSX, but NOT with FS9. Hm... what could be the reason (the ipc.readLvar) not available in FS9's FSUIPC (v3.999z9)? Well, don't I feel a bit silly. I had forgotten that I had assigned the throttle axis to 66D0. I did this so I could use the throttle axis to control up to 4 engine throttles, either together or separately as well as prop pitch, mixture, cowl flaps, flaps and spoiler. Re-assigned to 0x66E0 and all it well.
  2. Okay, Attached is a picture of my situation. I had to change the offset from 66CD to 66CF as, for some strange reason, was affecting 66CB. 66CB is used to be able to send alphanumeric characters to an FMC (actually its FS's default GPS500 with an CDU keypad). It worked fine until I added this lvar-to-offset logic - then things went badly. I separated the logic and restored the original FSUIPCShow.lua and added spokes2112.lua. FSUIPCShow.lua now works as intended - whew. I copied the above example from spokes2112's lua, with the exception of using 66CF as the offset. As can be seen by the attached screenshot, 66CF is not receiving, thus not displaying the data - ugh! Okay, figured it out. I guess I had an old version of FSUIPC (4.84) installed and it seems to not have the event.lvar option. I haven't had the need to update - until now. But shouldn't still there be a way to do this without the event.lvar option? If so, how? Okay! Final update: I was looking at Lvar_vasFMC.lua and where is what I got working without the event.lvar (good because I primarily use FS9): I suppose the "while 1 do" was required. Now I can "ipc.sleep" :) while 1 do FDValue = ipc.readLvar("L:CpitCmdrSetValue") ipc.writeDBL(0x66CF,FDValue) ipc.sleep(50) end
  3. Hello spokes2112. Thank you for your info. I did change the datatype to FLT and the lua is running on the local pc (with FS runnning). Still nothing, strange. I see you have it working on yours!!! Will keep plugging. Glenn Copeland's gauge is pretty cool as it brings some flight operations into the "digital" age. BTW, any math errors can also be corrected with Excel.
  4. Hello spokes2112. Thank you for your reply. Actually CpitCmdrSetValue is a Lvar from Glenn Copeland's Cockpit Commander gauge. It can be found at library.avsim.net or flightsim.com, or at least it used to be there. It is a great gauge in that it's easy to insert data directly for Nav/Com and autopilot parameters. It has a "keyboard" of numbers, so say you want the AP altitude to be 8500. Just "type" 8500, then hit the ALT button and that value goes into AP's altitude. btw: when the ALT button is "pressed" CpitCmdrSetValue is set to 0 (zero). This is required so a new value can be inserted. It's really nice for the Nav/Com frequencies. I've taken that gauge and added more features for my own use. Now use that function along with WideFS on a touchscreen tablet and life is easy. However, unless there is a way that I don't know about (high possibility), I can't see the L:CpitCmdrSetValue on the remote computer. The next step I took was to implement this idea using Excel. Excel talks to FSUIPC rather nicely with the offsets. I don't know if Excel can talk to Lvar's, that would be even easier, if so, what is the format for a Lvar in Excel? I know Excel can talk to the offsets so if I can move the Lvar into an offset, I can see that value on the tablet. Thanks for the lua tip.
  5. Hello. I am able to read an offset and insert a value into a Lvar. However, per Paul Henty and dagoston93 examples above, I attempted to have a Lvar value being inserted into an offset 66CD as follows; with no luck (the Lvar exists). I am using the FSUIPC logging option to check 66CD: function writeFDCmdr(varname, value) ipc.writeUW(0x66CD, value) end event.Lvar("L:CpitCmdrSetValue",100,"writeFDCmdr") BTW: Shouldn't the ipc.readLvar(Lvar name) be used first? I did try it but to no avail. Do any of you see an obvious reason why the above lua doesn't work? I tried this too, with no success: function writeFDCmdr(varname, value) ipc.writeFLT(0x66CD, value) end writeFDCmdr("CpitCmdrSetValue",ipc.readLvar("CpitCmdrSetValue")) event.Lvar("CpitCmdrSetValue",100,"writeFDCmdr") also, is there a way to reload a lua without having to shutdown FS and restart it?
  6. Boy Pete! You've got to take a chill pill. 1) Again, you assume because it's so obvious to you that it should be obvious to everyone. Basics are important and I know you don't have time to teach basics on a continuous basis but perhaps providing a little background information can go along way. I had the correct format: ipc.writeSTR(0x66CC, "a") but what I did forget to notice was in the logging tab, under Type, there was an AsciiZ option (not sure what the Z is for). And I did forget number shown was a decimal number converted from hexadecimal converted from ASCII. In the original example, I had: ipc.writeSTR(0x66CC,"Fly") where the logger showed 7957574. After further research I found 7957574 is 796C46(h), which looks like y-l-F. I was looking directly for the text itself. 2) I wrote above that I did see this: There are no addon developers in a position to do anything yet. Ask again in about 6 months. ☺️ This was in reference to the MSFS 2020 question where I indeed I search and found an answer and ended with a smiley face to show "I got it." I did not find it in the FAQ or Announcements sections - hence asking directly. 3) You wrote: Sorry if you natural language is not English. Why would you assume this !?!?!?: This came off rude, prejudice and totally unnecessary. We've been conversing about FSUIPC for several years, I don't recall that there was a language issue before. And my profile shows locationusa. We do have many people that speak many different languages here but English is the official language here - especially among pilots - real and/or simmer. 0
  7. I did see this: . There are no addon developers in a position to do anything yet. Ask again in about 6 months. ☺️
  8. Hello. Yes, I know about 66C0 - 66FF, I guess I don't understand the format because I am not able to get 66C0 to except any ASCII or string information. No biggie, I found another way to get what I required. I don't understand: Please refer to the thread near here on that subject. Where is "near here?" Thanks for your time and info.
  9. Hello. Thank you for your reply. I wasn't really looking to change the name but was curious if there are "spare" offsets that string data can be written to them. Also, will you be planning on providing FSUIPC to MSFS 2020?
  10. Hello. I realize that FSUIPC 3 isn't updated anymore but I know I can read offest 3D00 (name of current aircraft). Are there available offsets that string data can be written to them? Thanks.
  11. Hello. You wrote: A "Word" is 16 bits, so occupying two bytes. "W66C3" covers 66C3 and 66C4. So... if I am understanding this correctly, instead of stating B66C3 and B66C4, I can use W66C3 that covers 66C3 and 66C4; if correct, great to know, thank you. As I mentioned above, I do use lua's and macros - but only if I don't have a choice. I thank you that you did implement conditional programming in FSUIPC. I'm not sure why but I'm still not comfortable with lua's, even though I do see its advantages. Again, thank you for your time and information.
  12. Hello. Thank you for your reply and putting this inquiry in the proper place. You stated: Only one Offset condition is possible. You could combine them into on Word by using 66C3 and 66C4 instead, then W66C3=1 would work. How does one do that? And you stated: Too verbose for what? You or the computer? The computer doesn't care, so why do you? And... If you want a neater approach to programming things for FSUIPC, use a Lua plug-in. That's what they are for, to enable you to do things not possible or not easy with rather arcane parmeter lists. 1) Yes, too verbose for me. I care to reduce typing (wrist issues, etc.) and have a cleaner code, if it's possible. 2) I am using lua's and macros as well but I really try to use FSUIPC.ini as much as possible to keep "things" in one place. The main reason, and as you can see I do a lot of comments, is when I go back several weeks, months, even years, I can recall the mind-set/logic of what I was attempting to do. If I can have the code in one place, I don't have to go to two more files to re-think. As for response to your other answers, thank you. I can at least know what is allowed, or not allowed.
  13. Hello. I use a separate computer to either modify or design gauges for the FS. To reduce mouse and keyboard control (carpel tunnel syndrome), I use a set of rotary encoders and push buttons. For example, I don't have to use the mouse or keyboard to control the default GPS. Then I made an "Item Selector" gauge to display the settings. I was trying to set up a secondary Compound/(condition)/(check). The reason is not use a lua or macro and have the ability to inc/dec. attempted but a NO GO: n=B66C3=1 B66C5=0 P1,0,C65638,0 also: n=B66C3=1&B66C5=0 P1,0,C65638,0 also: n=B66C3=1, B66C5=0 P1,0,C65638,0 also tried this to remove C1004's but NO GO (FSUIPC only accepted the first Control): 200=B66C3=0 CP(F+15,3)1,0,C1004,3843,C65638,0 So, below worked beautifully but too verbose. This set up is so that operations are independent with limited rotary encoders. Any ideas? Thanks. FSUIPC.ini, in part: 4=P1,8,Cx610066C5,x00050001 ;secondary condition dec 5=P1,9,Cx510066C5,x00050001 ;secondary condition inc !1=; gauge control 16=B66C5=1 P1,8,C1004,3840 ;panel clr 17=B66C5=1 P1,8,C1003,3841 ;gauge set 18=B66C5=1 P1,8,C1004,3842 ;button clr 19=B66C5=1 P1,8,C1004,3843 ;avionics clr 20=B66C5=1 P1,8,C1004,3844 ;atc clr !1=; 21=B66C5=1 P1,9,C1004,3840 ;panel clr 22=B66C5=1 P1,9,C1003,3841 ;gauge set 23=B66C5=1 P1,9,C1004,3842 ;button clr 24=B66C5=1 P1,9,C1004,3843 ;avionics clr 25=B66C5=1 P1,9,C1004,3844 ;atc clr !1=; avionics control 36=B66C5=3 P1,8,C1004,3840 ;panel clr 37=B66C5=3 P1,8,C1004,3841 ;gauge clr 38=B66C5=3 P1,8,C1004,3842 ;button clr 39=B66C5=3 P1,8,C1003,3843 ;avionics set 40=B66C5=3 P1,8,C1004,3844 ;atc clr !1=; 41=B66C5=3 P1,9,C1004,3840 ;panel clr 42=B66C5=3 P1,9,C1004,3841 ;gauge clr 43=B66C5=3 P1,9,C1004,3842 ;button clr 44=B66C5=3 P1,9,C1003,3843 ;avionics set 45=B66C5=3 P1,9,C1004,3844 ;atc clr !1=;------- other counters ---------- 122=P1,11,Cx510066C1,x00120001 ; gauge selector 123=P1,10,Cx610066C1,x00120001 124=P1,11,Cx510066C2,x00120001 ; button selector 125=P1,10,Cx610066C2,x00120001 126=P1,11,Cx510066C3,x00060001 ; avionics selector 127=P1,10,Cx610066C3,x00060001 128=P1,4,Cx610066C6,x000B0001 ; counter dec 129=P1,5,Cx510066C6,x000B0001 ; counter inc !1-; !1=; Avionics Control 200=B66C3=0 CP(F+15,3)1,0,C65638,0 ; COM1 frac dec 201=B66C3=0 CP(F+15,3)1,1,C65639,0 ; COM1 frac inc 202=B66C3=0 CP(F+15,3)1,2,C65636,0 ; COM1 whole dec 203=B66C3=0 CP(F+15,3)1,3,C65637,0 ; COM1 whole inc 204=B66C3=0 CP(F+15,3)1,16,C66372,0 ; COM1 swap !1=; 206=B66C3=0 CP(F+15,3)1,4,C66438,0 ; COM2 frac dec 207=B66C3=0 CP(F+15,3)1,5,C66440,0 ; COM2 frac inc 208=B66C3=0 CP(F+15,3)1,6,C66436,0 ; COM2 whole dec 209=B66C3=0 CP(F+15,3)1,7,C66437,0 ; COM2 whole inc 210=B66C3=0 CP(F+15,3)1,17,C66444,0 ;COM2 swap !1=; etc. !1=; Gauge control 250=B66C1=1 CP(F+15,1)1,0,C66299,0 ; autobrake dec 251=B66C1=1 CP(F+15,1)1,1,C66298,0 ; autobrake inc 252=B66C1=2 CP(F+15,1)1,0,C66322,0 ; DH dec 253=B66C1=2 CP(F+15,1)1,1,C66321,0 ; DH inc 254=B66C1=3 CP(F+15,1)1,0,C65662,0 ; OBS 1 dec 255=B66C1=3 CP(F+15,1)1,1,C65663,0 ; OBS 1 inc 256=B66C1=3 CP(F+15,1)1,2,C1026,0 ; OBS 1 dec fast 257=B66C1=3 CP(F+15,1)1,3,C1027,0 ; OBS 1 inc fast !1=; etc. !1=;Note that many controls are "self inc/dec" !1=; 327=B66C3=2 CP(F+15,3)1,0,C66628,0 ;GPS PAGE DEC 328=B66C3=2 CP(F+15,3)1,1,C66627,0 ;GPS PAGE INC 329=B66C3=2 CP(F+15,3)1,2,C66626,0 ;GPS GROUP DEC 330=B66C3=2 CP(F+15,3)1,3,C66625,0 ;GPS GROUP INC 331=B66C3=2 CP(F+15,3)1,16,C66624,0 ;GPS CURSOR !1=; just a bit faster rotary switch 332=B66C3=2 CP(F+15,3)1,13,C66628,0 ;GPS PAGE DEC 333=B66C3=2 CP(F+15,3)1,12,C66627,0 ;GPS PAGE INC 334=B66C3=2 CP(F+15,3)1,4,Cx610066C6,x000B0001 ;GPS/Audio SEL dec 335=B66C3=2 CP(F+15,3)1,5,Cx510066C6,x000B0001 ;GPS/Audio SEL inc !1=; !1=;these controls are toggle PB !1=; 336=B66C6=0 CP(F+15,3)1,17,C66604,0 ;[NRST] 337=B66C6=1 CP(F+15,3)1,17,C66605,0 ;[OBS] 338=B66C6=2 CP(F+15,3)1,17,C66606,0 ;[MSG] 339=B66C6=3 CP(F+15,3)1,17,C66609,0 ;[FPL] 340=B66C6=4 CP(F+15,3)1,17,C66611,0 ;[TERR] 341=B66C6=5 CP(F+15,3)1,17,C66612,0 ;[PROC] 342=B66C6=6 CP(F+15,3)1,17,C66616,0 ;[ZOOMOUT] 343=B66C6=7 CP(F+15,3)1,17,C66615,0 ;[ZOOMIN] 344=B66C6=8 CP(F+15,3)1,17,C66617,0 ;[DTO] 345=B66C6=9 CP(F+15,3)1,17,C66618,0 ;[MSG] 346=B66C6=10 CP(F+15,3)1,17,C66619,0 ;[CLR] 347=B66C6=11 CP(F+15,3)1,17,C66623,0 ;[ENT] !1=; !1=; Gauge control 350=B66C1=1 CP(F+15,1)1,0,C66299,0 ; autobrake dec 351=B66C1=1 CP(F+15,1)1,1,C66298,0 ; autobrake inc 352=B66C1=2 CP(F+15,1)1,0,C66322,0 ; DH dec 353=B66C1=2 CP(F+15,1)1,1,C66321,0 ; DH inc 354=B66C1=3 CP(F+15,1)1,0,C65662,0 ; OBS 1 dec 355=B66C1=3 CP(F+15,1)1,1,C65663,0 ; OBS 1 inc 356=B66C1=3 CP(F+15,1)1,2,C1026,0 ; OBS 1 dec fast 357=B66C1=3 CP(F+15,1)1,3,C1027,0 ; OBS 1 inc fast etc. !1=; 430=B66C6=0 CP(F+15,3)1,18,C66463,0 ;Com1 Xmit 431=B66C6=1 CP(F+15,3)1,18,C66464,0 ;Com2 Xmit 432=B66C6=2 CP(F+15,3)1,18,C66465,0 ;Com1/2 Recv tog 433=B66C6=3 CP(F+15,3)1,18,C65842,0 ;Nav1 ID 434=B66C6=4 CP(F+15,3)1,18,C65843,0 ;Nav2 ID 435=B66C6=5 CP(F+15,3)1,18,C66477,0 ;MKR ID 436=B66C6=6 CP(F+15,3)1,18,C65844,0 ;Dme1 ID 437=B66C6=7 CP(F+15,3)1,18,C65845,0 ;Dme2 ID 438=B66C6=8 CP(F+15,3)1,18,C65846,0 ;Adf1 ID 439=B66C6=9 CP(F+15,3)1,18,C66559,0 ;Adf2 ID A picture of the item selector gauge is attached. Wherever the blue light is (66C5), those are the parameters that are controlled.
  14. I think I got it, THANKS, much appreciated. Still wondering if anyone has delved into the default FD issue...
  15. Hello. I do not think I wrote: ival = ipc.readLvar("L:Board",val) . What is ival? And thanks for the correction of the syntax. I was going by what it took to read a Lvar, but I did not understand how to write the Lvar to an offset. In my frustration/impatience, I ended up making an X vs Y graph in the gauge itself instead of using Excel. But now that I have the syntax, I'll use it next time. Graphing in XML is a bit awkward and verbose. Thanks for the information. BTW, in case someone else has solved the Flight Director (FD) problem, that is the end goal here. It has frustrated me for years that the default FD does not always match the CDI and GS when flying an ILS approach in manual mode. Real Boeing FD's do. I have finally decided to tackle that issue and PID is a way to get there - sort of. MS FS2004 (FS9), and I think FSX (don't spend too much time with it) default Autopilot seems to follow a typical PID with the exception of: Max. Bank Angle, Max. Bank Acceleration, Max. Bank Velocity. The Max. Bank Angle, I get and got it working, I currently don't understand how Max. Acceleration and Max. Velocity fit in Mathematically. As a private pilot though, I was taught, for example, when banking at 30°, the lead-in to level out would start about 15° (half the bank angle) from the desired heading. What I observed from the FS is a slight PID "hunt" and not a lead-in. My take is, this is where the Max. Acceleration and Velocity fit in. If anyone knows, please let me know.
×
×
  • 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.