Tasos Ionas Posted September 21, 2011 Report Share Posted September 21, 2011 Hello, I have searched through the forum but I couldn't find any similar topic to my question. I am developing an ACARS application for my VA and I need to get the ZFW values from FSUIPC. I am using the following VB code: Dim fsZFW As Offset(Of UInteger) = New Offset(Of UInteger)(&H3BFC) Dim ZeroFuelWeight As Double = fsZFW.Value / 256 The value that I am getting is correct but is not static. For example if the ZFW is 108010 lbs the value in my app is changing continuously from 108009.5 to 108010.4 The current range of change is too small, but it is still a problem for other calculations. Is that normal or I am doing something wrong? I have tested it with various models like PMDGs 737NGX, Wilco Airbus and default FS airplanes with the same results. I am using FSUIPC v4.703 and I am communicating with FS through WideFS. Regards, Tasos Link to comment Share on other sites More sharing options...
Pete Dowson Posted September 21, 2011 Report Share Posted September 21, 2011 The value that I am getting is correct but is not static. For example if the ZFW is 108010 lbs the value in my app is changing continuously from 108009.5 to 108010.4 The current range of change is too small, but it is still a problem for other calculations. It appears to be "normal" for FSX, when the engines are running. It's been checked already with lots of different aircraft models. FSX doesn't actually supply the ZFW, so FSUIPC4 has to compute it from the total weight and the fuel weight -- 0x3BFC shows exactly 0x30C0 minus 0x126C. 0x30C0 , 8 , Current loaded weight in lbs in double floating point format. 0x3BFC , 4 , Zero Fuel Weight, lbs * 256. 0x126C , 4 , Fuel: total quantity weight in pounds (32-bit integer) It seems that with the engines running the total fuel weight will be decreasing. I suspect that the resulting total fuel weight is adjusted for this but that SimConnect is asynchronously supplying these changed values separately, at different times. So you get the little ups and down as one is changed before the other, then the other compensates. Typical changes are shown by monitoring the offset, thus: 6708168 Monitor IPC:3BFC (U32) = 30259288 6708901 Monitor IPC:3BFC (U32) = 30259136 6709494 Monitor IPC:3BFC (U32) = 30259392 6709899 Monitor IPC:3BFC (U32) = 30259240 6711397 Monitor IPC:3BFC (U32) = 30259084 6711397 Monitor IPC:3BFC (U32) = 30259340 6712317 Monitor IPC:3BFC (U32) = 30259188 6712489 Monitor IPC:3BFC (U32) = 30259444 6712910 Monitor IPC:3BFC (U32) = 30259292 6713940 Monitor IPC:3BFC (U32) = 30259140 6714501 Monitor IPC:3BFC (U32) = 30259396 6714938 Monitor IPC:3BFC (U32) = 30259240 6715937 Monitor IPC:3BFC (U32) = 30259088 6716498 Monitor IPC:3BFC (U32) = 30259344 6716951 Monitor IPC:3BFC (U32) = 30259192 6717465 Monitor IPC:3BFC (U32) = 30259448 6717949 Monitor IPC:3BFC (U32) = 30259296 6718947 Monitor IPC:3BFC (U32) = 30259144 6719478 Monitor IPC:3BFC (U32) = 30259400 6719961 Monitor IPC:3BFC (U32) = 30259248 You can see the changes are up and down by 256 (1 pound) max at intervals ranging for 150 to 1000 mSecs. If your application needs a stable value I suggest you either take the average of two of more values, or simply ignore single pounds. If you are using kilograms you shouldn't even notice a change. Regards Pete Link to comment Share on other sites More sharing options...
Tasos Ionas Posted September 21, 2011 Author Report Share Posted September 21, 2011 I think the average value is the best solution! Thank you so much Pete for your detailed answer and your quick reply! Regards, Tasos 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