Simon853 Posted January 18, 2009 Report Posted January 18, 2009 (Using FSUIPC 4.416 in FSX) Pete, I'm trying to read the "Eng 1 N1" for the default 206 helicopter in FSX from offset 0898. This works in FS9 but FSX always returns 100. However, if I read offset 2000 "Turbine N1 %" and *then* read 0898 it reads the correct value. But if read it again it's back to 100%. I realise I can just read 2000 to get the N1 %, but i thought I'd report it since the behaviour differs from FS9. Also, 08F0 "Eng 1 Turbine Temp" does not work in FSX (again, using the Bell 206.) It just reports a static value 518 regardless of what the engine's doing. In FS9 this varies as the N1 does. Regards, Si
Pete Dowson Posted January 19, 2009 Report Posted January 19, 2009 I'm trying to read the "Eng 1 N1" for the default 206 helicopter in FSX from offset 0898. This works in FS9 but FSX always returns 100. However, if I read offset 2000 "Turbine N1 %" and *then* read 0898 it reads the correct value. But if read it again it's back to 100%. Since your reads are "passive" in FSUIPC4, merely reading whatever was last provided by SimConnect, there is actually no way possible for the read of one location to affect the value read from another. The code fulfilling your requests merely copies the values in its memory, which are replenished by SimConnect, asynchronously, when they change (and only when they change). Also, 08F0 "Eng 1 Turbine Temp" does not work in FSX (again, using the Bell 206.) It just reports a static value 518 regardless of what the engine's doing. In FS9 this varies as the N1 does. Hmm. Shame you provide no logs to show this. it is easy enough to see values in real time -- simply add them to the monitor in FSUIPC's logging tab. You can show them on screen ("FS display" checked) and in the "normal log". With the log option checked, fSUIPC will actually show the relevant SimConnect variable being read, the raw value from which the offset version is computed. Here's an extract of the logged results, with the 206 loaded. I don't pretend to know what these values mean when it comes to helos -- FS is notoriously odd in how it simulates them. Sometimes they are like prop planes, sometimes not. Trying to map the right values to the old FS98-compatible offsets (the 08xx-0Axx region) is well nigh impossible to do consistently. I've annotated the log entries for you. Maybe you can advise me what SHOULD actually be provided in each of these offsets, for the 206, and how I can make that work for other helos too when they all differ? 348110 \\LEFT\G\FSX\SimObjects\Rotorcraft\Bell206B\Bell_206B_JetRanger.AIR 349078 SimRead: 0896="TURB ENG N2:1" [also 2008] FLT64: 99.9853181016 [i]<<<<<< offsets 0896 and 2008 populated from the same SimVar "TURB ENG N2"[/i] 349078 SimRead: 0898="TURB ENG N1:1" [also 2000] FLT64: 79.0117452359 [i]<<<<<< offsets 0898 and 2000 populated from the same SimVar "TURB ENG N1"[/i] 349078 SimRead: 08F0="TURB ENG ITT:1" FLT64: 15.0111111111 [i]<<<<<< offsets 08F0 populated from SimVar "TURB ENG ITT"[/i] Okay so far, but then: 349078 SimRead: 2400="GENERAL ENG RPM:1" [also 0898] [also 08C8] FLT64: 394.900097939 [i]<<<<<< offsets 0898, 08C8 and 2400 populated from the same SimVar "GENERAL ENG RPM"[/i] 349078 SimRead: 2408="GENERAL ENG PCT MAX RPM:1" [also 0896] [also 0898] FLT64: 0.999853181016 [i]<<<<<< offsets 0896, 0898 and 2408 populated from the same SimVar "GENERAL ENG PCT MAX RPM"[/i] Note how both of these would change the value for 0898 already read! (Actually it isn't quite like that. Some of those links are used to compute the RPM scaler, again to match FS98 offsets). Now as far as I knew, only one of these would be actually CHANGING for any one aircraft. I thought this was the case for the original helicopters investigated. If the 206 model is actively changing both, this would explain the varied values you read -- not the fact that you also read 2000. That cannot have anything to do with it! The end result of the one cycle you see above is: 349594 Aircraft="Bell 206B JetRanger" 351625 Monitor IPC:0896 (U16) = 16382 351625 Monitor IPC:0898 (U16) = 12945 351625 Monitor IPC:08F0 (S32) = 245942 351625 Monitor IPC:2000 (FLT64) = 79.0117 which seems okay, though I do see that the ITT value in 08F0 isn't changing after this initial reading. Does the 206 sport an ITT read-out? You compare it with FS9 -- is the same aircraft in FS9? One thing, though. Some of this stuff got changed in the recent interim updates to suit another facilty I put in (the one to "spoof" the engine values) and there may be bugs in it in any case. You say you are using FSUIPC 4.416. Could you just try the release version, 4.40 (delete the FSUIPC4.DLL from the FSX modules folder then re-run the 4.40 installer, please). Let me know if you see the same there. But please, please, do use the logging facilities. That's what they are for. If there are conflicting values being used to populate the same offsets, I'd need to try to resolve those somehow. But how do I tell which to choose when they are all or both changing? Testing the name to be the "206" isn't enough, and it doesn't appear to be enough to detect helo against prop against jet. Any ideas? I think much of this problem arises from the need to try to force-match all the new model types onto the original FS98 offsets. I wish I could get away from that, but too many cockpit hardware setups and gauges depend on them. Probably for helos, because they were not supported in FS98 in any case, folks should use the newer variables, and I can add other new ones if more are needed and available -- for instance the ITT equivalent on the 206. Regards Pete
Simon853 Posted January 19, 2009 Author Report Posted January 19, 2009 Thanks for the reply Pete. I will try it again tonight and record a log. Si
Pete Dowson Posted January 19, 2009 Report Posted January 19, 2009 I will try it again tonight and record a log. With 4.40, you mean, to make sure I've not messed something up between 4.40 and 4.416? I don't want logs now for 4.416. Please try 4.421, just posted in the Updates announcement. I now don't overwrite 0896 and 0898 with other values IF the aircraft type (0609) says "Helo". That didn't seem to matter with the other helos. I can find no SimConnect variable which supplies any varying ITT or TIT in any units for the 206. I can't see where the gasuge is to even check it. Are you sure this aircraft is so equipped? Is the value in FS9 the same as one of the newer upper-offsets -- maybe I can get it if i knew which it was, but there's nothing named in SimConnect as a "temperature" which seems to work. If you do find it, please let me know. Regards Pete
Simon853 Posted January 19, 2009 Author Report Posted January 19, 2009 Pete, I just wrote this whilst you were obviously typing your reply. I'll post it anyway for your information and then try what you suggest: --- Pete, Here's a quick log, performed using FSInterrogate and FSUIPC 4.40. As you can see, the first read of 0898 returns a valid value (about 79%) but if I immediately call it again, it returns 16384 (100% N1.) Then I read 2000 and it returned 79% in 8-byte float format. Then I called 0898 again, and this is where it didn't behave exactly as I found last time because it read 100% again a couple of times. Then I went back and read 2000 and tried 0898 again at which point it read 79% again. ********* FSUIPC4, Version 4.40 by Pete Dowson *********FSUIPC4 Key is providedWIDEFS7 not user registered, or expired[Continuation log requested by user]Running inside FSX (SimConnect Acc/SP2 Oct07)Module base=61000000Wind smoothing fix is fully installed 628172 System time = 17:48:33, FSX time = 11:03:47 (16:03Z) 651297 READ0 0898, 2 bytes: 2B 33 +3 655844 READ0 0898, 2 bytes: 00 40 .@ 668375 READ0 2000, 8 bytes: 12 BC E2 5C 88 F9 53 40 ...\..S@ 675515 READ0 0898, 2 bytes: 00 40 .@ 679437 READ0 0898, 2 bytes: 00 40 .@ 688890 READ0 2000, 8 bytes: 93 3D 68 1C 8E F9 53 40 .=h...S@ 698234 READ0 0898, 2 bytes: 23 33 #3 711828 READ0 0898, 2 bytes: 00 40 .@ 715859 READ0 0898, 2 bytes: 00 40 .@ 725234 READ0 2000, 8 bytes: 76 B1 E9 32 97 F9 53 40 v..2..S@ 732703 READ0 0898, 2 bytes: 23 33 #3 736953 READ0 0898, 2 bytes: 00 40 .@ 741469 Sim stopped: average frame rate for last 113 secs = 19.1 fps The value in 2000 is always correct, as you are reading the correct SimConnect variable "TURB ENG N1" for it. The only reason I'm reading 0898 is that i'm trying to debug a friend's SimKits gauges which don't show N1 correctly in FSX. A scan of an FSUIPC log he recorded shows that they're reading 0898, which as demonstrated here, is unreliable. I can get around it by reading 2000 and spoofing that value into 0898, but I just thought i'd let you know there may be a problem. With regards to the helicopter turbine temperature variable, "ENG TURBINE TEMPERATURE" is the correct simulation variable, but the variables list in the FSX SDK says this is applicable to the Bell helicopter (and thus those derived from it also) only. Reading FSUIPC offset 08F0 in FS9 yields the correct value (Deg C * 16384) but in FSX it always reads around 15 * 16384. (Edit - I mean the sim var reads correctly via SimConnect, but the offset that did work in FS9 doesn't in FSX.) Regards, Si
Simon853 Posted January 19, 2009 Author Report Posted January 19, 2009 With 4.421, 0898 now reads correctly. Simon
Simon853 Posted January 19, 2009 Author Report Posted January 19, 2009 349078 SimRead: 2400="GENERAL ENG RPM:1" [also 0898] [also 08C8] FLT64: 394.900097939 [i]<<<<<< offsets 0898, 08C8 and 2400 populated from the same SimVar "GENERAL ENG RPM"[/i] 349078 SimRead: 2408="GENERAL ENG PCT MAX RPM:1" [also 0896] [also 0898] FLT64: 0.999853181016 [i]<<<<<< offsets 0896, 0898 and 2408 populated from the same SimVar "GENERAL ENG PCT MAX RPM"[/i] If "GENERAL ENG RPM:1" returns 394 for the 206 then it's reporting the down-geared output shaft RPM, not the engine RPM (which is about 29,000 RPM at full chat.) I assume that "GENERAL ENG PCT MAX RPM:1" is the percentage 394 of max 395. (But scaled to 1 and not 100.) So, these values shouldn't be used to effect 0898 and 0896. They come from "TURB ENG N1" and "TURB ENG N2" alone. The "ENG ROTOR RPM" also returns about 394 but it differs from the "GENERAL ENG RPM:1" value because if you roll off the throttle the rotor free-wheels (and RPM can be maintained during auto-rotation) and so the rotor RPM can be higher than the engine gearbox output shaft RPM. Si
Pete Dowson Posted January 20, 2009 Report Posted January 20, 2009 Here's a quick log, performed using FSInterrogate and FSUIPC 4.40. Why use FSInterrgogate when you can get detailed logging, including the source SimConnect values being used, directly in FSUIPC's Monitor, as I suggested? As you can see, the first read of 0898 returns a valid value (about 79%) but if I immediately call it again, it returns 16384 (100% N1.)Then I read 2000 and it returned 79% in 8-byte float format. Then I called 0898 again, and this is where it didn't behave exactly as I found last time because it read 100% again a couple of times. Then I went back and read 2000 and tried 0898 again at which point it read 79% again. All this to'ing and fro'ing in FSInterrogate is completely unnecessary if you used the monitor as it will show all these changes, all the ones you'd be missing too -- and live on screen if you wanted. Anyway, that's exactly the same as in 4.416, so it will probably have been the same since 4.000. At least it isn't something I've mucked up recently. The value in 2000 is always correct, as you are reading the correct SimConnect variable "TURB ENG N1" for it. I know. We've been through this before. I am also reading another value into it. Because SimConnect only supplies values when they change, this works perfectly when one value is changed in some aircraft and the other in others. I thought this to be true of these values for 0898 -- but it evidently isn't -- but only for the 206! I don't want to mess the values up for al the other aircraft, which is why I've done what I said. I can get around it by reading 2000 and spoofing that value into 0898, but I just thought i'd let you know there may be a problem. Yes, you explained that too. There's no need to repeat things, I do remember! ;-) With regards to the helicopter turbine temperature variable, "ENG TURBINE TEMPERATURE" is the correct simulation variable Ah. I hadn't spotted that one, or thought it not the relevant one. I'll see if that works. Regards Pete
Pete Dowson Posted January 21, 2009 Report Posted January 21, 2009 With regards to the helicopter turbine temperature variable, "ENG TURBINE TEMPERATURE" is the correct simulation variable Ah. I hadn't spotted that one, or thought it not the relevant one. I'll see if that works. Okay, I think everything is now okay, 0898 and 08F0, if you could double check for me -- FSUIPC version 4.424, now available in the Updates announcement. Thanks, Pete
Simon853 Posted January 21, 2009 Author Report Posted January 21, 2009 Yes, both those offsets look okay now with 4.424. Thanks Pete. Si
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now