Jump to content
The simFlight Network Forums

Pete Dowson

Moderators
  • Posts

    38,265
  • Joined

  • Days Won

    170

Everything posted by Pete Dowson

  1. Sorry, I've no idea what all that code is. Doesn't look like anything I've seen before. where are the FSUIPC reads and writes? Maybe VB2008 is completely different to previous versions? Either way, the thing to realise that all "byte" means is a collection of 8 bits, the smallest addressable lump of memory in Intel systems. Bytes are used for ASCII characters, yes, and strung together to make strings (but then there are Unicode characters which are sometimes 16-bits long (words), and there are wide characters too!). But forget all that here. The time values are NUMBERS. You can, in any language, use NUMBERs. So store them as numbers. The only time you have to squeeze the numbers into a byte (or a word, 16-bits, where specified) is when the FSUIPC write function is called -- and that is done using the LENGTH parameter -- you don't need to change the number or convert it. A length of 1 writes one byte, no matter how long the data, and so on. I'm sure there must be plenty of help about on programming in VB. For FSUIPC there's the sample, kindly provided by other users, in the FSUIPC SDK. But maybe that's for a different VB and isn't applicable? It seems it is changing too fast. I'm afraid I'm lost with all these different VBs. I didn't even know the first one very well, just brief encounters like this. Regards Pete
  2. Okayso it should also be recognised as a normal joystick in FSUIPCunless their driver is only written for DirectInput and not also for the standard Windows joystick interface. That's not really relevant. FSUIPC's virtual joysticks are just bits in memory. They are nothing to do with anything real, or anything in Windows. If you want the button to do something, why not just program it in FSUIPC? If FSUIPC can detect the button, you can program it. There are FSUIPC controls for changing offset values (Offset DWORD Setbits, clrbits and Togglebits, for example). There are offsets free for users at 66C0 to 66FF. Just program your buttons to change bits in one of the user offsets, then you can see them in SIOC. I think perhaps you've been led astray in your thinking by the term "virtual joystick" being applied by two different applications in two completely different ways. Forget about FSUIPC's virtual joysticks. They aren't relevant here. Regards Pete
  3. No idea why you'd be using strings or characters for a numerical value. Surely VB2008 supports numbers, like integers and things? Just because some of the destinations are only one byte (8-bits) long doesn't mean your source data cannot be longer -- it is the LENGTH in the FSUIPC write which determines how many bytes get copied over. Regards Pete
  4. Okay. I'll upload an update to the "Other Downloads" announcement sometime tomorrow (Wednesday). I'm afraid I won't have time to test this change here, but it is quite straight-forward. Let me know if it is all okay. Pete
  5. ... that is good to hear - it will certainly make my task easier. When do you think this change might be implemented? And how can I find out about it? My email is cockpit@hanskrohn.com, if you want to drop me a line... Sorry, I cannot really undertake to do notifications that way, but the Date in the title of the "Downloads" announcements is always changed when I've uploaded a new increment. So please, just check now and then for the next one -- the change you want WILL be in the next incremental update. If it is only FS9 you need it for, at present, then I can build the FSUIPC3 increment tomorrow and upload it. For FSX it will have to wait till next week as I am partially through some other serious changes and cannot release an increment so soon. Let me know. Regards Pete
  6. These assume you know how to send or process Keyboard messages in your Windows Procedure (wndproc) -- they just provide you with the choice of sending a WM_KEYDOWN or WM_KEYUP message, with parameters defining the key pressed and its properties. To work out what they are you need Windows programming reference documentation. The far easier way is to send the FSUIPC control to ask it to send a keystroke, using offset 3110. The appropriate FSUIPC control is listed in the Advance User's Guide -- see numbers 1070, 1071 and 1072. The keycodes and shift codes you need are also listed in that document. You can test these controls out in FSUIPC's Buttons dialogue -- just try assigning a joystick button to them and see what they do. If you are only sending keystrokes to operate FS's own facilities you would be better off using the FS controls instead, again via offset 3110. Sending a keystroke to FS makes it look it up in its keyboard tables to see what FS control the user has assigned, and then it sends that to itself. You might as well bypass all the first part. Of course, if you are sending keystrokes to an add-on which doesn't respond to controls, then maybe you've no option. Regards Pete
  7. As it actually says in the third line of that reference document, the correct document to use for FSUIPC4 is called "FSUIPC4 Offsets Status.pdf", which has been included in the SDK for some time now, but originally was only supplied in the FSUIPC SDK addendum in the FSX Downloads announcement above. Maybe you are still using an old copy of the SDK? Pete
  8. Well, they're meant to be written, not read, by applications, and then programmed in FSUIPC's Buttons programming section to perform whatever actions you need them to do. I'm not sure why you'd ever want to read them, unless you are using them as a means of communication between two applications on different PCs -- but for that it would be far better to use a common dedicated set of offsets (obtained on application). FSUIPC uses the Windows "joy" API for that - joyGetPosEx in fact. It is an easy interface to use if you know the Joystick number in Windows. No, of course not. FSUIPC cannot read virtual buttons from Windows as they don't really exist. Virtual buttons are just bits in memory. Real buttons are physical things which connect into a PC and are read by USB or other joystick drivers. To read those you have to use the relevant API into Windows. What's a "PPJoy"? Why are you reading buttons? What is the purpose of doing so? Maybe if I understood what you wanted to do I could help more. Regards Pete
  9. I'm not planning any work on it. I've never been happy with the throttle/speed control part though I never really had the time now inclination to continue experimenting with it, which is why i left the parameters open for others to experiment. The bank and pitch controls performed pretty well, at least in FS9 which is where/when I programmed it. It was only more recently made to work properly in FSX thanks to feedback. That said I'm always interested to hear user feedback. Why? Have you got some? Have you got better settings for the speed and mach control? Regards Pete
  10. If you only need this for FSX and beyond, there's are new offsets giving Total Fuel in Gallons and Total Fuel Weight in Pounds, now (offsets 1264 and 126C. I'm afraid I can't help with VB though. Regards Pete
  11. Oh, I didn't realise you could change them to a joystick button! That is excellent news. Thanks! Pete
  12. Oh, Right. I see. Yes, it certainly worked fine that way when it was tested. I don't use the facility myself. Well, okay -- in fact I seem to recall that's the more usual way of effecting motor control of axes in any case. But i'll also take a look at changing those new offsets to behave more like the old ones, too. I don't really remember why I implemented them differently now. ;-) Regards Pete
  13. It writes to the offsets in FSUIPC which control the time -- see offsets 0238 to 023C. Pete
  14. Got that one, and replied. Pete
  15. Not arrived here yet (14:45 BST). That's weird. I'm getting emails from foks all the time, so it isn't this end, unless my ISP has yours blacklisted. Or maybe it's your own IP address -- I've had mine not liked sometimes, when the one allocated automatically is close to some rogue's one. Assuming you are on ADSL, try powering off the modem for 5 minutes then powering it back on. that should give you a new IP address (unless you are paying extra for a fixed one?). Pete
  16. You are making an error somewhere then. The name, email and key must all be EXACTLY correct. They are interrelated. Copy and paste all three parts, not just the Key. Pete
  17. Not received though. Want to re-check the email address and try again please? Pete
  18. They're there and still have the same names they've has since FS98 days: RADIO_VOR1_IDENT_DISABLE 65832 RADIO_VOR1_IDENT_ENABLE 65837 RADIO_VOR1_IDENT_SET 65847 RADIO_VOR1_IDENT_TOGGLE 65842 RADIO_VOR2_IDENT_DISABLE 65833 RADIO_VOR2_IDENT_ENABLE 65838 RADIO_VOR2_IDENT_SET 65848 RADIO_VOR2_IDENT_TOGGLE 65843 To find them I simply searched using the word "IDENT". All of them are actually next to each other in the sorted part of the list, courtesy of the RADIO part! Regards Pete
  19. Okay. I'll check this -- are you disconnecting the axis using the bit in offset 341A? For these new offsets I've a feeling that, for efficiency, I only copy the values here when they are actually needed -- i.e. when they are disconnected so they can be processed before being copied to their normal place. If you are not disconnecting these axes, can I ask why you are reading these copies rather than the real values (i.e. 0BD0 for spoiler, 088C etc for throttle? The only reason the copies were provided was to allow "fly-by-wire" or fault interference, by manipulating the values between input and application. If you only want the application, why not use the actual values instead of the copies? If you really need 3412 (etc -- I'm sure all of the added batch, 3412 - 3418, will be programmed in the same way) active all the time I'll look to see how easy it is, but it would be nice to know the reason. Regards Pete
  20. Write to me at petedowson@btconnect.com Pete
  21. You would need to purchase it, but not "again". The FSX version is FSUIPC4 which is a complete re-write owing to the substantial changes in FSX. So it is a new product, not just an update. Pete
  22. What does "mapped and working" mean? You assigned it in FSUIPC, direct or via FS controls? OR do you mean you assigned it in FS and just calibrated in FSUIPC? And this was "mapped" how? Pete
  23. FSUIPC doesn't even touch the keyboard input unless you program them in FSUIPC. You must have something else going on there. I'm using TrackIR with FSUIPC 4.30 and it works fine. I was merely a bit peeved that something in the way TrackIR reads its keys stops me programming them on a Button instead, as my keyboard is usually rather out of reach, and the "re-centre" key seems to be needed quite frequently when it appears to lose its orientation. Not nice on approach! ;-) Regards Pete
  24. Yes, just change the upper limit (the 8 in x00080001). In one byte you can cycler through as many as 256 values (8 bits gives a 0-255 capacity, or 00 to FF in hexadecimal). If you need more than 256 you'd need to use the Word increment, giving you up to 65535 (hex FFFF). No, all you've changed there is using 2 bytes (16-bits) instead of one. Since the value "8" easily fits in one byte of 8 bits (capacity 256 values), the original command is fine. I'm afraid I don't recall whether the limit provided is INCLUDED or EXCLUDED. I don't use this stuff and the code dates back many years. Have you tried it? That's what I would do -- it is quicker than trying to work out what old code does! If it cycles back to 0 after 7, just make the limit 9 instead of 8. Pete
  25. Yes. You should ALWAYS use the Installer to update FSUIPC4. The interim increments here are only meant to amend the installation created by the Installer. If you downloaded it and unzipped it why not simply run the installer? What are you afraid of? That said I don't think the list of FSX controls has changed much. Maybe it is time I generated a new one (it isn't automatic). Let me know if you find something is missing. 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.