Highvolt Posted January 13, 2004 Report Share Posted January 13, 2004 Hi Pete, When flying in Overcast (8/8) with Severre icing conditions, i notice that the airspeed indicator goes to 0. I checked the programmers doc, and i couldn't find a variable that has something to do with detecting this icing. I checked the failures for any change, i used fsinterrogate with the 3point find variable method... no luck yet. The way i'm setting my 'bIcing' variable is something like this: if(airspeedindicator == 0 && trueairspeed != 0) bIcing = true; Are there other ways to find variables (i'm using fs2002) ? Kind Regards, Wim Link to comment Share on other sites More sharing options...
Pete Dowson Posted January 13, 2004 Report Share Posted January 13, 2004 When flying in Overcast (8/8) with Severre icing conditions, i notice that the airspeed indicator goes to 0. I checked the programmers doc, and i couldn't find a variable that has something to do with detecting this icing. Icing is a weather property, part of the cloud data. I checked the failures for any change, i used fsinterrogate with the 3point find variable method. If the responsible cloud layer isn't one of the lower two layers which are available in the old FS98 weather areas, then it would only find differences in the New Weather Interface areas up in the Cxxx offset range (FS2004 only). The Advanced Weather Interface for FS2000 and FS2002 would also reveal the data, but that interface is a request-response interface and cannot be searched in that way. Use WeatherSet (WeatherSet2 in FS2004) to check the cloud layers. Regards, Pete Link to comment Share on other sites More sharing options...
Highvolt Posted January 13, 2004 Author Report Share Posted January 13, 2004 Sorry, i probably wasnt clear enough.. I can detect the weathersetting as you say, but i wanted to detect the icing effect on the aircraft itself.. ex: 1. cloudlayer has icingconditions in it. 2. i fly below the cloud, so there will be no icing on my aircraft 3. -> bIcing = false 4. i pull up and go fly in clouds. 5. -> bIcing = false !!!! 6. After a couple of seconds, my airspeed indicator goes to zero, there is icing on my aircraft ! 7. -> bIcing = true See what i mean? the actual variable of icing building up on my aircraft is the one that i'm looking for. I'm using a boolean for now , but it might be an integer that represent actuall buildup stacks of ice. GreetingZ by a C++ apprentice, Wim Link to comment Share on other sites More sharing options...
Pete Dowson Posted January 13, 2004 Report Share Posted January 13, 2004 See what i mean? the actual variable of icing building up on my aircraft is the one that i'm looking for. I'm using a boolean for now , but it might be an integer that represent actuall buildup stacks of ice. Sorry, I'm not aware of one. If you find anything, let me know. Regards, Pete Link to comment Share on other sites More sharing options...
Highvolt Posted January 14, 2004 Author Report Share Posted January 14, 2004 After a lot of experimenting, i dont think there is an icing offset :( This is how i worked: I positioned the plane into the clouds with icingconditions, and I hit the pause button. After lets say 20seconds, the airspeed indicator goes to zero. In FSINTERROGATE i did my first scan, on the whole buffer, from 0000 to FFFF. After that, i hit pitot tube heat (still with pause on) when the airspeed indicator was back up again, i did the second scan. Then, i turned off the pitot heater, and waited for the AirspeedIndicator to go to zero. -> third scan. This resulted in 2 offsets: - the pitot tube switch in the 3xxx area - the airspeed indicator value. I tried several times, tried different approuches, watched different variables, etc .. no luck.. So my conclusion is that there is no such offset? I think that flightsimulator works this way: //presetIcingAmount = enum(light, moderate, severe, etc) if(plane in clouds && clouds has icing && !pitotheat) icingtimer = presetIcingAmount * timerconst; if(pitotheat) deicetimer = presetIcingAmount * timerconst2; if(icingtimer) IndicatedAirspeed = 0; if(deicetimer) IndicatedAirspeed = normal airspeed So, maybe it's possible to implement this kind of logic into fsuipc, using a free offset... I dont exactly need the offset, because i'm programming it my own way. But maybe there is some community interest. Kind Regards, Van Ertvelde Wim Link to comment Share on other sites More sharing options...
Pete Dowson Posted January 14, 2004 Report Share Posted January 14, 2004 After a lot of experimenting, i dont think there is an icing offset :( Well, not mapped by FSUIPC, no. Don't forget nearly 80% of locations FSUIPC presents these days are actively obtained by my code specifically for you to read/write. In many cases this involves procedure calls or long chains of pointers. The offset mechanism for this interface is mostly just an illusion, created to maintain the interface originally started in FS95 days. In order to find anything new, like possible some location somewhere which is "building up ice", someone (not me at present, too busy) would have to disassemble FS and trace backwards from the point where the Pitot tube blocks to find the calculations used to determine this. I don't even know how it is simulated. For all I know if might simply be a random number generator, weighted on the severity of the icing and how deep in the cloud layer you are flying. I do know that it doesn't have to be a cloud graphic you are flying through, only that you are in the layer (between base and tops) defined for the icing cloud. Really the usefulness of FSInterrogate for finding things is almost at an end. It can only search through memory areas I am mapping or am populating, and it isn't likely that I'll map or populate data I am not aware of being of any use. It's a bit of a chicken and egg situation, if you see what I mean. As more and more of FS is re-written using C++ object-oriented methods, more and more data is being encapsulated in private parts of objects and getting hold of it is getting more and more difficult. I think that flightsimulator works this way: Maybe. But finding those values is a very difficult job. So, maybe it's possible to implement this kind of logic into fsuipc, using a free offset... Sorry, I don't understand what you are suggesting. You start off trying to understand FS's logic for determining (one of) the effects of icing, and then suggest that FSUIPC duplicates FS, or attempts to. Why? What's the point of FSUIPC doing it? I dont exactly need the offset, because i'm programming it my own way. You are simulating icing effects on the pitot tube? Is this because you think the FS mechanism for this doesn't work? I'm rather confused now. And what about the effect of the build up of wind ice on performance, expecially lift? Maybe that would be a good addition, as I don't think FS does that. Regards, Pete Link to comment Share on other sites More sharing options...
Highvolt Posted January 14, 2004 Author Report Share Posted January 14, 2004 Well Pete, I'm actually using it for a helicopter. And in a helicopter, when you are in icing conditions, the windschield becomes blurred, so you can't see sh*t :) Secondly, the weight of the helicopter increases, so you need more power. I tackled the icing on the windshield by creating a gauge that covers the whole 3d window. In that gauge there is logic to determine icing conditions. but sadly, it's a true/false situation, so you dont have the animation of gradually building the ice. (currently using xml-gauges for that) the increase in weight is still a problem, i dont think you can increase weight in flight (with fs2002), except if you install an extra 'fueltank' which you could use as ballast. but this is a rather ugly hack in my opinion. I was only looking for this offset so i'd have a clean way of coding it. :roll: i'm currently learning pointers, references, copy constructors and all that kind of sh*t. Now that I know something about it, i respect you even more :) You are one hell of a hacker IMHO 8) Cya Pete Link to comment Share on other sites More sharing options...
Pete Dowson Posted January 14, 2004 Report Share Posted January 14, 2004 the increase in weight is still a problem, i dont think you can increase weight in flight (with fs2002), except if you install an extra 'fueltank' which you could use as ballast. but this is a rather ugly hack in my opinion. Yesin FS2004 you can dynamically change the payload, even different payloads in different locations if you like, so you can upset the balance quite easily. :) I was only looking for this offset so i'd have a clean way of coding it. :roll: Hmmm.. sounds like you have a good project there for a unique helo simulation. As far as I'm concerned, helo flying is too difficult already without messing around with even more realism! :wink: Good luck! Regards, Pete Link to comment Share on other sites More sharing options...
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