Jump to content
The simFlight Network Forums

Pete Dowson

Moderators
  • Posts

    38,265
  • Joined

  • Days Won

    170

Everything posted by Pete Dowson

  1. Does this popup window respond to any keypresses, or is it operated by FS controls? If so then assignment is easy, just do the assignments. If neither then you would have to see if it will respond to Mouse macro methods or possibly local gauge variable use (L:Vars). Both are described in the documentation, but I'm afraid I cannot advise specifically because I don't know the gauge at all, nor even which aircraft it is in or which version of FS you are using. Maybe you can ask the gauge author for help? Pete
  2. The registration keys are actually sold by simMarket, part of simFlight which runs these Forums. The Schiratti site is a collection of my software, both pay and freeware, made by Enrico Schiratti and maintained by him. All major releases with documentation and installers go there and represent the earliest supported versions. Interim releases are found in the Download Links sub-forum here. However, there are some changes in this week's versions for which I am awaiting feedback from others, so they aren't even in that SubForum yet. The one you should try can be downloaded using this link: FSUIPC 3.997f Regards Pete
  3. Maybe. The current design was based on the idea that you'd do a generic assignment and calibration set to start with, and then the variations for each class of airplane forming the named Profiles afterwards, all from that common base. However, I'll certainly think about a facility to choose another Profile to start with instead. Regards Pete
  4. Not if it means a re-write, like FSX did, and I suspect it would do. I really can't see them maintaining any level of compatibility after all the stick they came in for trying to do that with FSX (and failing in any case). It's not so much that it's hard work -- i enjoy it -- it's more that I am getting old (68 next month) and want to spend some time doing other things, like actually flying in my cockpit, finishing my model railway, and doing more travelling before I'm completely immobile! Regards Pete
  5. The "General Assignments" are those with no specific aircraft associated with them. It sounds like your Bombardier assignments were specific to the Bombardier, and you've not actually done any default calibrations which can be applied to previously unloaded aircraft. There's no facility in the User Interface to copy one set of aircraft settings to another. You would have to edit the FSUIPC INI file. Just make copies of the sections for the Bombardier and change the aircraft name to suit. There might be specific Keys, Axes, Buttons and JoystickCalibration sections. You can edit the INI file whilst FS is running, and then in the various FSUIPC option tabs just tell it to "reload" so it reads your changes for that section. BTW you entitled this thread "Profile Specific Question", but it sounds like you aren't using Profiles, but Aircraft Specific settings. If you are just starting out on this it might be better to switch to Profiles before going too far, as they are much easier to apply and manage. Regards Pete
  6. I'm not too good with French -- forgotten it as unused since I left school 50 years ago, but BabelFish tells me this means: The answer is either: 1. you are entering something wrong. All three parts: name, email and key MUST be exactly correct. Use cut and paste to be sure or 2. You have purchased a key for FSUIPC3 instead of FSUIPC4. I'll try translating all that with BabelFish now: Je ne suis pas trop bon avec les Français - oubliés comme inutilisée depuis que j'ai quitté l'école il ya 50 ans, mais BabelFish me raconte ce qui signifie:
  7. I've added full support for the GF-WP6 in these versions: FSUIPC 3.997f FSUIPC 4.716 Wideclient 6.897 It turned out more complex than I thought. There are two different ways of setting the colours and there's interaction with the brightness facility. There's quite a bit of new code incorporated to support this, and I think i need to try to test it thoroughly myself. I will write a test plug-in for it, but I haven't got time at present, and if problems are shown it may get complicated to debug remotely. So I've asked GoFlight if they can supply one for me to test with. This may take a while, so please, for now, download whichever of the above it is you need, and have a play. Let me know what you find. Here are the relevant display functions for the WP6: gfd.SetBright(model, unit, n) This sets the unit's display and indicator brightness, n=0 being off and n=15 being brightest. gfd.SetColour(model, unit, id, n) or gfd.SetColour(model, unit, id, red, green, blue) (Colour can be spelled "Color" instead if you wish). This is currently only supported for the GF-WP6, and pre-sets the colour of indicator number 'id' either to the pre-determined colour 'n' (0-7, see below), or to the colour represented by separate red green and blue values, each one being a value from 0 - 100. Note that this function does NOT actually address the hardware at all, but merely presets the colour to be used by the SetLight or SetLights functions described below. Pre-determined colour values are: 0 black, 1 white, 2 red, 3 green, 4 blue, 5 magenta, 6 yellow, 7 cyan gfd.SetLight(model, unit, id) This simply turns on the indicator light identified by the id number, on the specified model and unit. For the GF-WP6 you pre-set the colour using gfd.SetColour, above. gfd.ClearLight(model, unit, id) This simply turns off the indicator light identified by the id number, on the specified model and unit. gfd.SetLights(model, unit, on, off) This sets selected indicator lights on or off, on the specified model and unit. The 'on' and 'off' parameters are masks to determine those indicators to be turned on (bits set in 'on') and those to be turned off (bits set in 'off') Indicators not referenced by bits in either mask are unchanged. Indicators are numbered 0 to 31, with 0 being 2^0, worth 1 and so on. These numbers correspond to the indicator ids used in SetLight and ClearLight. Regards Pete
  8. The fix is in these versions: FSUIPC 3.997f FSUIPC 4.716 Although I know you have a work-around in use now. Regards Pete
  9. No, I'm afraid not. You would have to use the Lat/Lon and look it up in a database. Please post general support queries in the main Support Forum. Pete
  10. And you posted your message three times -- only once is needed, so I deleted the other two. You also included your full details and the private Key which, if the message had not been hidden awaiting approval (because you are new), would have meant I would have had to invalidate it to prevent its use by pirates -- it would be all of the web by now! NEVER EVER put any confidential information in an open Forum message. Best not to use pictures but just describe the problem in words. I really don't have time to try to download and view pictures. Please check the FAQ subforum which covers such problems. Pete
  11. No, 339.4 gives 339 because the "math.floor" of 339.9 is 339. Only 339.5 and above will round up to 340. That's the point -- round up for .5 and above, down otherwise. That is "normal" rounding, or "rounding to nearest". Pete
  12. No, that is rounding down the .01 part,. Two things wrong there for a heading 1 under. First is that you don't need headings to 1/100th of a degree, second is that rounding down always reduces, never increases. That's why it is called rounding down. ;-) All you need to do is round up. To do that keep your current code but add 0.5 before display. It's really only simple arithmetic, not programming. ;-) Pete
  13. Hmm. Sorry, I don't understand that. Ah, so there are three zones, not the usual two. Hmmm. But it's odd that 0 wouldn't give you Start/Feather, because that would be normal, and as you say " START/FEATHER is anything that is between -3850 and 0". it seems strange to exclude 0. Are you sure you calibrated the 0 poisition with enough range on the axis to be sure that 0 is always produced when you pull it back? I can't think of anything different if 0 doesn't give you what you want. It just seems a little short-sighted in the aircraft design department. Regards Pete
  14. Er, sorry, no, I don't know. Do you mean it ignores Throttle1 and Throttle2 controls, and also Propitch1 and Propitch2? Why on Earth does it do that? No, it isn't designed that way. No, that's irrelevant. That's a strange way of doing it. Why not simply switch on the "no reverse zone" option in the calibration tab? That's what it's for. Regards Pete
  15. Instead of starting the different aircraft Luas with ipcReady, use the [Auto] facility in FSUIPC INI to automatically start Luas for different aircraft. See the section called Automatic running of Macros and Lua plugins in the FSUIPC advanced users guide. Pete
  16. Check the actual full value of the mach speed by logging the value you read. Maybe it's rounding because the true value is .005 more. You could try forcing it to round down to the nearest .01 by something like Mach = math.floor(ipc.readLvar("L:MCP_MACH_DSP") * 100) / 100 The function "math.floor" takes the integer below or equal to the value given, losing the fraction. Pete
  17. Sorry, I thought as you said it worked you needed no further comment. You could incorporate these parts: prevDES = -1 ... DES = ipc.readLvar("L:MachIASSelect") if (DES ~= prevDES) ... prevDES = DES end into your main code, so getting this. note that on an IA/Mach change I reset the prevspeed and prevMach values to -1 so that the correct one then gets displayed even if it hadn't changed: prevDES = -1 -- ########### ADDED! prevCRS1 = -1 prevalt = -1 prevhdg = -1 prevspeed = -1 prevMach = -1 prevCRS2 = -1 prevVS = -1 prevVNAV = -1 prevLNAV = -1 prevAP1 = -1 prevAP2 = -1 prevAP3 = -1 prevTHR = -1 prevLOC = -1 prevFD = -1 prevN1 = -1 prevSPDN = -1 prevFLCH = -1 prevHDGN = -1 prevAPPR = -1 prevALTN = -1 prevVS = -1 while 1 do CRS1 = ipc.readLvar("L:VOR1_OBS") if (CRS1 ~= prevCRS1) then stringCRS1 = string.format("%03d", CRS1) gfd.setDisplay(GFMCPPRO,0,0,stringCRS1) prevCRS1 = CRS1 end ipc.sleep(50) alt = ipc.readLvar("L:MCP_ALT_DSP") if (alt ~= prevalt) then stringalt = string.format("%05d", alt) gfd.setDisplay(GFMCPPRO,0,3,stringalt) prevalt = alt end ipc.sleep(50) VS = ipc.readLvar("L:MCP_VS_DSP") if (VS ~= prevVS) then stringalt = string.format("%05d", VS) gfd.setDisplay(GFMCPPRO,0,4,stringalt) prevVS = VS end ipc.sleep(50) hdg = ipc.readLvar("L:MCP_HDG_DSP") if (hdg ~= prevhdg) then stringhdg = string.format("%03d", hdg) gfd.setDisplay(GFMCPPRO,0,2,stringhdg) prevhdg = hdg end ipc.sleep(50) -- CHANGES ################################### DES = ipc.readLvar("L:MachIASSelect") if (DES ~= prevDES) then prevDES = DES prevspeed = -1 prevMach = -1 end if DES == 1 then Mach = ipc.readLvar("L:MCP_MACH_DSP") if (Mach ~= prevMach) then stringMach = string.format("%01.2f", Mach) gfd.setDisplay(GFMCPPRO,0,1,stringMach) prevMach = Mach end else speed = ipc.readLvar("L:MCP_IAS_DSP") if (speed ~= prevspeed) then stringspeed = string.format("%03d", speed) gfd.setDisplay(GFMCPPRO,0,1,stringspeed) prevspeed = speed end end -- ####################################### ipc.sleep(50) CRS2 = ipc.readLvar("L:VOR2_OBS") if (CRS2 ~= prevCRS2) then stringCRS2 = string.format("%03d", CRS2) gfd.setDisplay(GFMCPPRO,0,5,stringCRS2) prevCRS2 = CRS2 end ipc.sleep(50) VNAV = ipc.readLvar("L:MCP_VNAV_LT") if (VNAV ~= prevVNAV ) then if VNAV == 1 then gfd.SetLight(GFMCPPRO,0,0) else gfd.ClearLight(GFMCPPRO,0,0) end prevVNAV = VNAV end LNAV = ipc.readLvar("L:MCP_LNAV_LT") if (LNAV ~= prevLNAV ) then if LNAV == 1 then gfd.SetLight(GFMCPPRO,0,1) else gfd.ClearLight(GFMCPPRO,0,1) end prevLNAV = LNAV end AP1 = ipc.readLvar("L:MCP_CMD_L_LT") if (AP1 ~= prevAP1) then if AP1 == 1 then gfd.SetLight(GFMCPPRO,0,2) else gfd.ClearLight(GFMCPPRO,0,2) end prevAP1 = AP1 end AP2 = ipc.readLvar("L:MCP_CMD_R_LT") if (AP2 ~= prevAP2) then if AP2 == 1 then gfd.SetLight(GFMCPPRO,0,3) else gfd.ClearLight(GFMCPPRO,0,3) end prevAP2 = AP2 end AP3 = ipc.readLvar("L:MCP_CMD_C_LT") if (AP3 ~= prevAP3) then if AP3 == 1 then gfd.SetLight(GFMCPPRO,0,9) else gfd.ClearLight(GFMCPPRO,0,9) end prevAP3 = AP3 end THR = ipc.readLvar("L:MCP_AT_SW") if (THR ~= prevTHR) then if THR == 1 then gfd.SetLight(GFMCPPRO,0,100) else gfd.ClearLight(GFMCPPRO,0,100) end prevTHR = ATHR end LOC = ipc.readLvar("L:MCP_LOC_LT") if (LOC ~= prevLOC) then if LOC == 1 then gfd.SetLight(GFMCPPRO,0,7) else gfd.ClearLight(GFMCPPRO,0,7) end prevLOC = LOC end FD = ipc.readLvar("L:MCP_FD_switch") if (FD ~= prevFD) then if FD == 1 then gfd.SetLight(GFMCPPRO,0,14) gfd.SetLight(GFMCPPRO,0,23) else gfd.ClearLight(GFMCPPRO,0,14) gfd.ClearLight(GFMCPPRO,0,23) end prevFD = FD end N1 = ipc.readLvar("L:MCP_EPR_LT") if (N1 ~= prevN1) then if N1 == 1 then gfd.SetLight(GFMCPPRO,0,15) else gfd.ClearLight(GFMCPPRO,0,15) end prevN1 = N1 end SPDN = ipc.readLvar("L:MCP_SPD_LT") if (SPDN ~= prevSPDN) then if SPDN == 1 then gfd.SetLight(GFMCPPRO,0,16) else gfd.ClearLight(GFMCPPRO,0,16) end prevSPDN = SPDN end FLCH = ipc.readLvar("L:MCP_FLCH_LT") if (FLCH ~= prevFLCH) then if FLCH == 1 then gfd.SetLight(GFMCPPRO,0,17) else gfd.ClearLight(GFMCPPRO,0,17) end prevFLCH = FLCH end HDGN = ipc.readLvar("L:MCP_HDG_HOLD_LT") if (HDGN ~= prevHDGN) then if HDGN == 1 then gfd.SetLight(GFMCPPRO,0,18) else gfd.ClearLight(GFMCPPRO,0,18) end prevHDGN = HDGN end APPR = ipc.readLvar("L:MCP_APP_LT") if (APPR ~= prevAPPR) then if APPR == 1 then gfd.SetLight(GFMCPPRO,0,19) else gfd.ClearLight(GFMCPPRO,0,19) end prevAPPR = APPR end ALTN = ipc.readLvar("L:MCP_ALT_HOLD_LT") if (ALTN ~= prevALTN) then if ALTN == 1 then gfd.SetLight(GFMCPPRO,0,20) else gfd.ClearLight(GFMCPPRO,0,20) end prevALTN = ALTN end VS = ipc.readLvar("L:MCP_VS_LT") if (VS ~= prevVS) then if VS == 1 then gfd.SetLight(GFMCPPRO,0,21) else gfd.ClearLight(GFMCPPRO,0,21) gfd.ClearLight(GFMCPPRO,0,10) end prevVS = VS end ipc.sleep(50) end I think it is time now for you to be on top of this stuff, no? Regards Pete
  18. Andy's reply is spot on. The place where you are clicking does not lead to a C/C++ gauge SDK-written mouse processing routine, which is all the mouse macro facilities can work with. Hardly anything written by Microsoft uses the gauge SDK, so you won't find many places at all on any of the default aircraft. And some add-on aircraft will be using XML gauges instead of C/C++ ones too, and it won't work with those either. Regards Pete
  19. Yes, but it is not supported. There's no changed in behaviour by keeping FSUIPC up to date, except bugs will have been fixed and, mostly, new facilities added. Pete
  20. It might do, but not completely. The problem or 180 wind shifts is due to a bug in FSX which was actually also in FS9. But in FS9 I managed to hook into the code a lot lower down and control the wind shifts very effectively. In FSX I have tried to do the same with the wind smoothing and it works most of the time but the occasional silly wind shift can get through. Mostly these appear to be due to interpolation errors in areas of the world where there are a higher number of nearby weather stations and one or more of those has supplied either bad data or no data at all. Programs like ASE try to check for this and fix it before supplying the weather to fSX, but even that isn't 100% successful. The only sure way is to use global weather -- i.e. weather that's the same all over the world (so there's no interpolation), with the weather program changing it as you fly. That's what ASE's "DWC" (Direct Weather Control) does, and is the method i use. I'm afraid I don't know anything about Rex's weather. I've used one or other version of ActiveSky for years. I have Rex installed but only for the clouds, water and skies. If you want more information about FSUIPC please either download and install it, and read the documentation which is then installed for you, or go to the Download Links subforum here and find the documentation separately in the Documentation thread. Regards Pete
  21. The * 256 indicates that the units are pounds * 256. The documentation is correct and informative. All of the offsets have descriptions which tell you what is provided, NOT how you convert it -- that latter is up to you, to suit your needs. Here you get units of 1/256ths of a pound, so to get whole pounds you obviously have to divide by 256. What is confusing you, still, about this? How do you reckon the "the * 256 wasn't needed for this case"? Which cases is it needed for? I think you need to get this sorted, unless you aren't going to do anything else. Regards Pete
  22. Did you not see my last reply, just above yours? Pete
  23. If you want it in pounds, not in pounds * 256, don't you think you need to divide by 256? Why not refer to the documentation yet again which tells you what you get? This is becoming a bit silly. Regards Pete
  24. So, you are okay then! You only need to read that and test it to decide which to increment or decrement and display. Pete
  25. Hope for Thursday or Friday now ... I've partly done it, but had too many other things to do as well. It's a bit more complex than I anticipated because of the different colour setting options. It needs an additional Lua gfd function and some internal jiggery-pokery to allow easy switching on and off without losing a preset colour. i have it all worked out, but not coded yet. You can test it for me later this weeky. I might need to supply a Lua test program to test all the options. Have you got a video camera or phone with video, because it might be easier for me to check it all works by watching the colours and brightnesses change correctly? ;-0 Regards Pete
×
×
  • 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.