Jump to content
The simFlight Network Forums


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About gr8guitar

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Location

Recent Profile Visitors

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

  1. 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
  2. I did see this: . There are no addon developers in a position to do anything yet. Ask again in about 6 months. ☺️
  3. 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.
  4. 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?
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. I think I got it, THANKS, much appreciated. Still wondering if anyone has delved into the default FD issue...
  10. 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.
  11. Ah yes. It's been awhile since I last was flight simming. I had forgotten my own work. And I still don't have access to my books and other documents, or my old hardware since our house was repaired from a flood a year ago. I do recall that range now. So for anyone else that needs a simple example: 1) fsuipc.ini: [Auto] 1=Lua ShowLvar [LuaFiles] 1=ShowLvar [Keys] 0=36,8,L1:R,0 [Buttons] 1=P10,10,Cx610066C0,x00090001 2=P10,11,Cx510066C0,x00090001. This counts up/down 1 at a time up to 9 . PS, can use keys too. BTW: I think the actual datatype for 66Cx is SB, not UD. 2) ShowLvar.lua (taken from some other example): function Board(offset, val) val = ipc.readUD(0x66C0) ipc.writeLvar("L:BOARD", val) end event.offset(0x66C0,"UD","Board") 3) ShowLvar.xml <Element> <Visible>(L:BOARD, number) 8 &lt;= </Visible> <Position X="25" Y="13"/> <Text X="80" Y="15" Length="8" Fixed="Yes" Font="arial" Adjust="Left" VerticalAdjust="Top" Color="#EAEAEA" Bright="Yes"> <String>%((L:BOARD, number))%!07d!</String> </Text> </Element> 4) Running FS2004 (yes, I still primarily use FS2004), under the Modules tab: FSUIPC: I have selected a rotary pushbutton , so under the tab of Buttons + Switches, I select the button I want and then click on the box next to: Select for FS control, then select Offset DWord Cyclic Increase (and another button for Offset DWord Cyclic Decrease), say 66C0. Then under Parameter: 1/9. I used the above combination to be able to select different gauges (Nav/Com) using the same rotary switches. My thought process must have been to find out if there was another available range. I have not tried writing to 66Cx, but that is now the attempt. I suppose for the ***.lua, it would be...? function Board(offset, val) val = ipc.readLvar("L:Board",val) ipc.writeUD(0x66C0) end not sure what to do with the below statement though... event.offset(0x66C0,"UD","Board") Suggestion? BTW: I think the datatype for 66Cx is SB, not UD.
  12. Hello. Thank you for your reply. I do not need an existing list of FSUIPC's default offsets as they apply to MSFS. I was wondering if FSUIPC had some spare offsets that one could use in a case just as this. And if so, what their data type would be. Again, thanks for your time and information.
  13. Hello. Thanks for your reply. I do know that FSUIPC can indeed write and read Lvars and from FSUIPC offsets. But as far as I know, the FSUIPC offsets are known. So I guess in other words, are there unused/spare FSUIPC offsets that can be written and read? And if there are FSUIPC unused/spare offsets available, what is/are their address(es) and what would their format be (i.e.: single integer, double integer, etc.)? I wanted to use Excel so I could chart certain (LVar) data. Currently I wrote an XML gauge to chart the data but I prefer Excel.
  14. Okay, back at it again. I know Excel (VBA) can read FSUIPC offsets: Dim ElevPosInd As Integer If FSUIPC_Read(&HBB4, 2, VarPtr(ElevPosInd), dwResult) Then If FSUIPC_Process(dwResult) Then Range("a18").Value = Format(ElevPosInd, "000") End If End If But can it read Lvar's (L:SomeValue, number)? If so, what is the format? Thanks.
  • 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.