Jump to content
The simFlight Network Forums

John Dowson

Members
  • Posts

    11,155
  • Joined

  • Last visited

  • Days Won

    220

Everything posted by John Dowson

  1. Do you have any other events just before the crash event? Can you try disabling weather by adding NoWeatherAtAll=Yes to the [General] section of you ini. If that doesn't work then we'll add some logging flags. I'm away from my PC for a while, but Pete will be back next week if you don'y hear from me before then.
  2. Hi Raj, you don't assign to a 'joystick trigger', you assign to controls. Your 'joystick trigger' will also be sending a control - just assign your mouse button to the same control that your trigger is sending (on press and release, if applicable). If you don't know what control its sending, you can activate event and button logging (from the fsuipc logging tab) to see whats being sent.
  3. Hi, maybe try without having the a320 as your default aircraft in your default flight - your log shows this is still there, although I'm not sure that this matters but worth a try. Many people seem to have problems with add-on aircraft unless the sim is initialised with a default aircraft first. Defender updates shouldn't effect things, but you never know with windows, and the timing is suspicious. Maybe check your defender logs after the update to see if they show anything. Did you not manage to re-register (or retrieve your old key file)?
  4. Also, presumably this was previously working. What did you change?
  5. As the documentation says, you can read both 0574 (for altitude in metres) and 0570 (for fractional part) and combine them, or just read 6020 which is the altitude as a a 64bit double floating point.
  6. Many add-on aircraft, PMDG especially, ignore or even re-purpose many of the P3D controls and also use their own. For PMDG aircraft, please see this FAQ article:
  7. Hi, for the crash problem, please try with LINDA disabled (rename your ipcReady.lua to ipcReady.notUsed - you can change it back later). Also try with loading a default aircraft first, then switching to the A320. When re-installing there is no need to register, you can skip the registration and your previous key file will be used. However, your details are still valid. All 3 field (name, email, key) must be exactly right - best to cut and paste from your registration email. Please don't post the dll - this is not needed. Generally you should post the log and ini files if you have any issues (and install log if you have installation problems) and we can advise from there.
  8. Also, why do you have controls being sent when your axis go into and out of 0 (right hand side of Axis Assignment)? 1=0X,B,0,0,65697,0 -{ TO SIM: THROTTLE_SETEntering=THROTTLE_SET }- 3=0Y,B,0,0,65767,0 -{ TO SIM: PROP_PITCH_SETEntering=PROP_PITCH_SET }- 5=0Z,B,0,0,66292,0 -{ TO SIM: AXIS_MIXTURE_SETEntering=AXIS_MIXTURE_SET }- 7=1X,B,0,0,65695,0 -{ TO SIM: AILERON_SETEntering=AILERON_SET }- 9=1Y,B,0,0,65694,0 -{ TO SIM: ELEVATOR_SETEntering=ELEVATOR_SET }- 11=2X,B,0,0,66387,0 -{ TO SIM: AXIS_LEFT_BRAKE_SETEntering=AXIS_LEFT_BRAKE_SET }- 13=2Y,B,0,0,66388,0 -{ TO SIM: AXIS_RIGHT_BRAKE_SETEntering=AXIS_RIGHT_BRAKE_SET }- 15=2R,B,0,0,65696,0 -{ TO SIM: RUDDER_SETEntering=RUDDER_SET }- I'm not sure what purpose these serve, if any. John
  9. Using an axis for gear-up/gear-down is also the example in the FSUIPC user manual, page 37. John
  10. Just checked and it seems that you can calibrate the other axis (aileron, elevator and rudder) without using the corresponding axis set command, but not with throttle. Not sure why this is, I'll look into it. John
  11. You need to use 'Axis Throttle Set' and not 'Throttle Set' if you want to calibrate as an axis. Or set to 'send Direct to FSUIPC Calibration' and use the Throttle or Throttle/SlewAlt control, but you must calibrate if you send it this way. Also applies to your Aileron, Elevator and Rudder. John
  12. The version on SimMarket is 5.151, and the ones posted since on other posts have been later versions - 5.151a, & 5.151b. Could @Drumcodeand @UniformAlpha2014 therefore please try 5.15.. 5.15 is attached - rename to FSUIPC5.dll once downloaded. FSUIPC5.txt
  13. Do you mean 5.15? @UniformAlpha2014 reports 5.11 being ok, but I assumed that was a typo. I can post 5.15 if you really need it (i.e. reducing AI traffic is not an option), but this is not supported, so please don't post any issues if you use it. Let me know. I'm pretty certain that the problem is due to heap corruption somewhere, but its a bugger to track down. The release (commit) where the problem first arises is not related to where the problem was introduced. Any heap analysis tool I've tried crashes in P3D before it even touches the FSUIPC code, which is also worrying (and am working on to raise with LM). Thanks for all the info so far, but no point in posting more really - just adding noise to the topic. Cheers, John
  14. Hi Ernst, Can you check that you have controllers disabled in P3D. If so, please post your log and ini files. John
  15. Maybe its this OACSP.observeOffset (0x057C, OAC::OFFSET_UINT32); // FSUIPC offset 0x0578 pitch Wouldn't OFFSET_UINT32 be for unsigned 32-bit ints? You want signed.
  16. If I monitor 057C (as S32) in the FSUIPC logging tab, I can see this value change from + to - and it looks to be correct. This is in FSUIPC5. Can you try this to see if you see the same? If so, then the error is in your code (or the interface library you are using - what is this?)
  17. There is a know problem with AI when using AIM OCI which is currently being investigated - see This only seems to happen with lots of AI traffic, so for the time being try and reduce your traffic sliders to < 50%.
  18. No problem. You can add ipc.log statements anywhere you wish - it just logs the message in the output. John
  19. Hi again, just noticed your actual requirements: The function provided above only changes the step rate based upon the speed of input - anything less than 200ms (or over 2s) will set the step/delta to 1, and if the time since last input > 200ms (and < 2s) then it will set the step/delta to 10. If you also want to add logic to adjust the step/delta rate depending upon HDG difference, then you will need to add this yourself. John
  20. I've also just noticed that your are reading the lvar AB_AP_HDGTRK twice, into variables AB_hdgtrk and AB_drift. You never use the latter. Also the function DspHDG isn't defined, so the script can be simplified to: require "socket" lastTime = 0; function AB_HDG_plus () currentTime = socket.gettime()*1000 difference = currentTime - lastTime lastTime = currentTime if (difference > 200 and difference < 2000) then delta = 10 else delta = 1 end AB_hdgtrk = ipc.readLvar("AB_AP_HDGTRK") if AB_hdgtrk == 0 then LVarSet = "AB_AP_HDG_Select" else LVarSet = "AB_AP_TRK_set" end LVarGet = round(ipc.readLvar(LVarSet)) AddVar = LVarGet + delta if AddVar > 359 then AddVar = 0 end ipc.writeLvar(LVarSet, AddVar) end event.flag(1, "AB_HDG_plus")
  21. You should review basic lua programming! Merging the code I gave into your function gives this: require "socket" lastTime = 0; function AB_HDG_plus () currentTime = socket.gettime()*1000 difference = currentTime - lastTime lastTime = currentTime if (difference > 200 and difference < 2000) then delta = 10 else delta = 1 end AB_hdgtrk = ipc.readLvar("AB_AP_HDGTRK") AB_drift = round(ipc.readLvar("AB_AP_HDGTRK")) if AB_hdgtrk == 0 then LVarSet = "AB_AP_HDG_Select" else LVarSet = "AB_AP_TRK_set" end LVarGet = round(ipc.readLvar(LVarSet)) AddVar = LVarGet + delta if AddVar > 359 then AddVar = 0 end DspHDG(AddVar) ipc.writeLvar(LVarSet, AddVar) end event.flag(1, "AB_HDG_plus") John
  22. To get you going, here's a short lua script that will adjust a delta value depending upon the time since last activated - it requires the lua socket package which you will need to download and install if using FSUIPC5: require "socket" lastTime = 0; function myTimer(flag) currentTime = socket.gettime()*1000 ipc.log("Current time is " .. currentTime .. ", lasTime is " .. lastTime) difference = currentTime - lastTime if (difference > 200 and difference < 1000) then delta = 10 else delta = 1 end ipc.log("Delta is " .. delta .. " (difference=" .. difference .. ")") lastTime = currentTime end event.flag(1, "myTimer") You can use the logic in this script in the first script you posted (dump the second) - should be reasonably straightforward (hopefully!). John
  23. event.timer calls a function after the interval specified, it doesn't return anything. In your case, it will call a function called 'deg1', which isn't defined. What you need to do is to save the current time whenever you increment. Then, the next time your function is called, you can compare the previously saved 'current time', and adjust your reading delta accordingly. John
×
×
  • 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.