Jump to content
The simFlight Network Forums


  • Content Count

  • Joined

  • Last visited

  • Days Won


spokes2112 last won the day on January 23

spokes2112 had the most liked content!

Community Reputation

35 Excellent


About spokes2112

  • Rank
    Advanced Member
  • Birthday 04/03/1967

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
  • Interests
    FS Programming, Electronics, Vintage Radios

Recent Profile Visitors

3,166 profile views
  1. Gustavo, Most, if not all the switches/buttons you are referring to have logic built in to the VC click spots, mainly timers. Much like interfacing the AP, there is no real way to do this via L:Var macros & lua is out of the question too. Just returned home after some time away and continuing on your AP interface ( some FMC too 😉 ). If you take some screenshots highlighted with all the buttons & switches you need , I can add those too. (send via our PM thread) Roman P.S. Here's an example of the APU code needed just to make it work - (M:Event) 'LeftSingle' scmi 0 ==
  2. Definitely a non-standard way of using the sim. When this happens, did you try going to the FSUIPC dialog --> Axis Assignment Tab --> Click the "Reload all assignments" button? That should fix it for you without restarting the sim. 1 extra step for your non-standard SOP. Roman
  3. I like doing these things. Still workin on it, hope to get all the AP done today. May even include the DCP(?) and the CCP(?), while not as complicated AP there are some slightly funky things going in the code. Roman
  4. Have it going & it works, just to give an idea of the background logic here's just the press of the VS button. There's also the release. The AP master and VNAV are even more complicated! <!-- VS Press, Param = 5 --> (L:XP850_HW_IF, number) 5 == if{ 1 (>L:BUFFER_BTN_FMC,number) 0 (>C:carenado:AutoPilotAltitudeEnabled) (A:AUTOPILOT MASTER,BOOL) 0 != (C:carenado:AutoPilotAltitudeEnabled) 0 == and if{ 1 (>L:ASD_BTN_850XP_VS,number) (A:Autopilot Nav1 Lock,bool) (>L:NAV,bool) (A:Autopilot Heading Lock,bool) (>L:HDG,bool)
  5. Whoah!! This may be much tougher than thought. The actual AP panel gauge is in XML but is compiled in SimPropBinary. (*.spb) Inside this .spb are XML style calls to a macro eg. @MacroName, which are slightly exposed, and in some cases, very, very important! Also, there are XML style "C" calls to an external Carenado module eg. (C:<module name>:<variable>) Attempting to use L:Var macros or direct FS Controls, in most of the cases, will be overridden by the autopilot gauge itself. About the only thing I can think of doing for a hardware interface is to transpose the exposed
  6. Been looking at this one, off & on with the morning coffee 😉 This one may take a little more than just a L:Var Macro, either a support XML gauge w/ L:Var Macro -or- Lua should do it. The thing about VS hold in flight sim ( since FS2002 ) is that the supplied VS Hold commands never worked. Designers have been using altitude hold and background logic to make their own & separate the actual ALT hold from VS hold in this logic. BTW - It seems all those L:Vars have nothing to do with the actual control of the VS hold in this aircraft, more so that they are there as an interface betwee
  7. In the 850xp this L:Var has 3 values : 0 = Batt 2, 1 = Normal, 2 = Batt 1 Using 2 buttons, the left click can be : #=L:ASD_SWITCH_ISOLATE_850XP=Inc,2 then the right click can be : #=L:ASD_SWITCH_ISOLATE_850XP=Dec,0 Save a button! 👍 😃 Just make 1 button cyclic : #=L:ASD_SWITCH_ISOLATE_850XP=Cyc,2 Ref - Pg. 43 FSUIPC for Advanced Users.pdf Hope this helps, Roman
  8. 0x0D0C is a 16 bit word if you want to get all the lights. 2 function examples below, "getTaxiLights1" is run by the timer, "getTaxiLights2" is run on first load & anytime there is a change at offset 0x0D0C. The last is the preferable method. function getTaxiLights1(time) tL = ipc.readUW(0x0D0C) tL = logic.And(tL, 8) -- Taxi lights are on bit 3, therefore the mask is 8 if tL == 8 then -- Taxi Lights are on else -- Taxi Lights are off end end function getTaxiLights2(offset, value) value = logic.And(value, 8) -- Taxi lights are on bit 3, therefore the mask is 8 if value ==
  9. Perhaps the "log tape" means logging to title bar or to a "green line" display. In any case the VAS number is in kilobytes - 024C Available FS memory in kilobytes (updated every 10 seconds) That is.. If 024C is used. Other memory outputs ( from FSUIPC# Offsets Status.pdf ) 0258 Memory currently assigned to FSUIPC4 (including WideServer) This is in Bytes. 0290 Maximum available FS contiguous memory block in kilobytes (updated every 10 seconds). Roman
  10. No clue on this one. Perhaps the errors below fail the whole lua. IIRC the ipc.ask() returns a string so you could do this 1 of 2 ways - 1) Put this line under ipc.ask() and change your comparison signs in the then following line from = to == & you should be good the rest of the way : doors = tonumber(doors) -or- 2) Change the following 2 lines to first, test against a string & correct the comparison signs, and second, to convert to number for ipc.setbits if doors == "1" or doors == "2" or doors == "3" then -- check input is valid ipc.setbitsUB(0x3367, tonumber(door
  11. Was thinking of this too, perhaps easier than lua? While not using throttle position exactly, it relies on the "effect" of throttle position --> speed. Assign the axis to both Rudder & Nose Wheel Steering and then use the .ini parameters MaxSteerSpeed=<speed> and optionally RudderBlendLowest=<speed>. ( In advanced users .pdf ) Roman
  12. Just an idea I've read about, I have no experience. Have you tried reflashing the Bodnar boards using alternatively named .bin files? On this page at the Bodnar site, it states : " The serial number is unaffected by any firmware change however each renamed device is given a new ProductID (PID). " With 2 of the same boards with 2 unique ProductIDs and 2 unique serial numbers maybe Windows wont get so confused. The link above is also referenced in each of the BUO836X product pages in the "Product Downloads" tab. Again, just an idea. Roman
  13. Pete, Just some early morning theory with the coffee )) I think it's because FSUIPC picks up the first 32 buttons, correct? In this line * all * the buttons are picked up but we only need the ones * not * picked up by FSUIPC to be placed into the VJ offsets. buttons[1], buttons[2], buttons[3], buttons[4], buttons[5], buttons[6], buttons[7], buttons[8] = com.GetHidButtons(dev, CurrentData) So with that, if true, "i" should equal 2 starting the loop. Again just a theory, you 2 are the masters! 😉
  14. Pete, In the demo, i = 2 to begin with, skipping the first 32 buttons picked up by FSUIPC, therefore ipc.writeUD(0x3340 + ((i-1) * 4), buttons["eye"]) -- "eye" = i, the forum picks it up as italic formatting will yield 0x3344 as the first address used. No biggy, excellent demo lua! Never looked at it before.. Now what can I do with it here? lol Roman
  • 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.