Jump to content
The simFlight Network Forums

VISUAL BASIC 6.0 QUESTION and PM System offset's


Recommended Posts

Hi Pete, hope all is well.. question: I am writing a program in vb along the line of Project M. PM System.. I see that PM System uses some offsets that are "unknown" to FS Intergrator. case. " apu " offset H&5600 - H&560f. I am able to read and write to these offsets thru my vb pgm. however I can not read all of them "IF" PM system is not running.. As these offset are not KNOWN to fsuipc, how then can I read or write to them in the first place?. Second, beause I can write to them why, why can't I read them when PM System is not running. What black magic is PM System doing that allows me to read the offset when it is running and not read them when PM System is not running. example... &h5602... can read it if PM SyS. is running but not when PM Sys is not running. Thankyou. Ron.

Link to comment
Share on other sites

I am writing a program in vb along the line of Project M. PM System.. I see that PM System uses some offsets that are "unknown" to FS Intergrator.

Do you mean "FSInterrogate", as supplied with the FSUIPC SDK? If so, then of corse that only includes those locations documented in the FSUIPC Programmer's Guide and populated by FSUIPC. The use of all the private user application areas is entirely a matter for those applications.

It would be nice if application writers did provide FSI files for FSInterrogator to support their products, but this would only be meaningful in those cases, like PM, where the interface is open for programmers to use. As it is, for PM, you have the PM Offsets document on the PM documentation web page, and the SYSVAR lists in the pmSystems package.

case. " apu " offset H&5600 - H&560f. I am able to read and write to these offsets thru my vb pgm. however I can not read all of them "IF" PM system is not running.
.

That's not true. You can always read them -- write them too for that matter. FSUIPC does not prevent anyone reading or writing any of the application-allocated offsets, but of course they are really only of any use if the application is actually running.

As these offset are not KNOWN to fsuipc, how then can I read or write to them in the first place?.

What do you mean "not known"? Of course they are "known". They are known simply as offsets in the memory it maintains (and communicates via WideFS) for the applications which have 'claimed' them, whether this be PM CDU, PM PFD, PM MCP, PM Systems, or any one of many other applications.

Second, beause I can write to them why, why can't I read them when PM System is not running.

You can write to them and read from them at any time. There is absolutely no restriction. but if nothing else is running which uses them, it will be just your program talking to itself, won't it?

What black magic is PM System doing that allows me to read the offset when it is running and not read them when PM System is not running. example... &h5602... can read it if PM SyS. is running but not when PM Sys is not running.

You are severely misunderstanding something most fundamental if you think that. You can write a value to 5602 and you can read that value back. What makes you think you can't read it? Are you getting an error? Why are you so convinced that there's anything complicated going on here? It's just a repositary, a way for two or more things to communicate. If you're only running one program, what are you trying to communicate with?

Regards,

Pete

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.