-
Posts
38,265 -
Joined
-
Days Won
170
Content Type
Profiles
Forums
Events
Gallery
Downloads
Everything posted by Pete Dowson
-
And FSX doesn't? In FSUIPC4.INI, [JoyNames] section, is it listed? I'm not sure if I know what a "virtual joystick" is from the DirectInput interface view. I might need more information. If Windows says it's a Joystick then FSUIPC's scanning should certainly find it, unless it is numbered beyond 15 in the Registry, as FSUIPC can only handle devices 0-15. Pete
-
If it isn't detected as a joystick type device then no way will FSUIPC or probably Linda be able to handle its buttons and switches. Try HIDSCANNER, see if that detects it and if so what it thinks it is. (HidScanner is available in the Lua thread in Download Links subforum). All that's probably irrelevant if the device isn't detected in any case. What part uses Luacom and Lua5.1.dll? FSUIPC itself doesn't use them. I really have no idea about Pokeys. Are you sure it isn't a keyboard emulation card, translating buttons into key press codes, not joystick buttons? Regards Pete
-
Potententiometer or FSUIPC setting?
Pete Dowson replied to AW1312's topic in FSUIPC Support Pete Dowson Modules
Assuming it's a linear pot, then it sounds like you simply haven't got the centre in the right place. Maybe the pot has twisted in its mounting? On some yokes I've seen there's a trim lever or adjustment which doesn't operate elevator trim but actually moves the centre position. Pete -
Accelerations and Velocities
Pete Dowson replied to JB3DG's topic in FSUIPC Support Pete Dowson Modules
Well pretty much all (probably all in fact) of the flight simulation modelling is in SIM1.DLL. But good luck finding functions you can use -- the whole of FS since FS2004 and on is a set a black boxes using objects. You need the object references. I'm an old-time programmer and Object Oriented Programming defeats me. I'm a regular bottom-up procedural programmer! ASM and C forever! ;-) Regards Pete -
Change sensing on stick HAT
Pete Dowson replied to rfresh's topic in FSUIPC Support Pete Dowson Modules
How is it assigned? In FS9, FSX or what? Or in FSUIPC3, FSUIPC4? A bit more information might help. Note that hats are not axes, but what MS calls "POVs" ("Points Of View"), and are fixed to sending a directional value, either 0-360 degrees or 0-3600 1/10th of degrees. Most hats actually only have 4 button-type sensors and encode for 0, 90, 180, 270 degrees, with the intermediate points 45, 135, 225 and 315 being sent when two out of 4 of those sensors are pressed. If you are assigning to "PAN VIEW" then that number is sent, as is, and is interpreted by FS in whatever way MS thought appropriate. Whether there's a way to change the numbers before they get to FS I don't know at present. BTW, I assume left-right panning is okay? If that was reversed too I'd suggest taking the thing apart and turning it around. Pete -
Saitek Radio Panel & FSUIPC
Pete Dowson replied to Tracon's topic in FSUIPC Support Pete Dowson Modules
You might be able to do it with a Lua plug-in and its COM / HID library, if you can figure out the encoding and protocol, but it wouldn't be a trivial job. Sorry, but I don't support Saitek devices because they refused to pay an agreed and invoiced one-off fee for using FSUIPC for all their units in FS9. Sorry. Try GoFlight. Their radio units are a lot nicer looking anyway. Regards Pete -
Error 5 with Open FSUIPC
Pete Dowson replied to remont's topic in FSUIPC Support Pete Dowson Modules
So, how are you programming this DLL? Are you using the C library source and writing your own version, or are you binding with the C library file? Is "openFSUIPC" the name of your own function to call FSUIPC_Open? Have you looked at the examples? The complete source of the interface is supplied in the SDK, so it should be easy enough for you to use your development system to debug it all to see what is going on. What is error 9 defined as? Sorry, I don't have easy access to my source at present, and I'm not even sure you are using it. If the Open succeeds but a Read fails it is likely you have the data for the latter wrong. The FSUIPC_Read and FSUIPC_Write functions simply manipulate data in your own program, they don't do anything across any interface. For a program external to FS they update the set of requests in the shared memory area obtained by the Open call. After a successful Open you need to Close it before trying to Open again -- if not you will probably get an error, as you found. You say you don't understand file mapping? The FSUIPC interface is based on exchanging data through memory in what is known as a memory-mapped file. This 'file' object is created by a call into Windows. If that call returns an error, you get the error reported. As to WHY you are getting this error, if it isn't related to the fact that you didn't close the link first before trying to reopen it, I wouldn't be able to tell you. I'd need to debug your code -- but you should be able to do that. I assume you have a debugger in your development system? Regards Pete -
Good! There was a silly typo in the code which appears to do this: Joysticks 0-3 all wrote to 03C0. Joysticks 4-7 all wrote to 03C4 Joysticks 8-11 all wrote to 03C8 Joysticks 12-15 all wrote to 03CC What was misleading, and took me a while to understand, was that all scanned joysticks are scanned in one loop, so the last one only in each group of 4 gets its buttons recorded. This made your Joy #2 visible, incorrectly, in 03C0, overwriting any button indications from #0 and #1. It also applied to FSUIPC3 and has been broken in both versions since April 2011. Seems no one ever used it till now! I'll upload the fixed modules to the Download Links subforum now. Thanks for testing! Regards Pete
-
I found one place which doesn't look right, though it doesn't really explain what I see in the Log file. Nevertheless it is worth a test. Please download this: FSUIPC4921iTEST Put it into the Modules folder and test again. Show me the log as before, please. Regards Pete
-
Why are you posting pictures? The log was enough. I'm working it through the code at present. This is an area unchanged since April 2011, so it is not so familiar. I'll get back to you. Please don't post pictures, they don't help at all. Pete
-
You made everything? So why not show me the log which resulted? Why keep it to yourself? I am trying to help, and I'm sorry that I only write English, but perhaps you could read it more carefully, and at least ask questions if you need me to elaborate? I am worried that there is a bug in FSUIPC. If there is one it has been there for many years. I just need more information, as I cannot test it here without going out and buying another joystick or three. Please set the logging as I asked, then press one button on each device, waiting two-three seconds between each. THEN paste the log into a message here. Thank you! Pete
-
BTW there is a good reason I need the exact data, to see exactly what is occurring. I don't have more than one normal "joystick" type device -- all my main controls are PFC serial port devices, and these offsets do not apply to those. I only have one joystick type device, and of course that is device #0 and 03C0 responds correctly to its buttons. I'll look through the code and see if there's something I have wrong, but actual log data would be of immense help. PLEASE! If i do find anything to change I will be asking you to test it for me. The code in this area is quite old and mostly ported from the FS9 version of FSUIPC. Oh, one other thing. I noticed in your previous log that you press several buttons on both devices quite close Please press one button on each device and leave a few seconds between each press, then show me the log. Pete
-
Sorry, we are back at the very start! What on Earth are you doing? What happened to all the interaction till now? The whole purpose of me asking you to log things was to enable me to see what is happening. So far you have not done as I asked and I am none the wiser. Why can't you folllow simple instructions? I am not going to be able to help you unless you do as I ask!!! What's the point of me asking you to do these things if you then don't bother or do them entirely incorrectly? I've got better things to do than this which is turning out to be an immense waste of time and effort! :-( Pete
-
What's the picture for? Why have you checked "DebugString"? Do you have a debugger running in which to receive those? Use the "Normal Log" check box as I said. You don't seem to read what I write, or at least not enough of it, and it gets a bit tiresome having to repeat myself. Please pay attention. Regards Pete
-
You missed that? When I asked you to turn on extra logging, I said, in referring to the Logging tab: You can also monitor the offsets you are interested in on the right-hand side. They'll be type U32 and best to check the 'hex' option, and "Normal log" so that the values appear there. You will also find it clearly documented in the FSUIPC Advanced User's guide, though they are pretty easy to understand when you look at the Logging tab. Pete
-
Where's the monitoring of offsets 03C4 and 03C8? Also I see only one action on Device G, with one button pressed for less than 500 mSecs. That should be enough to detect the change in 03C8, though, so let's see the Monitoring. 549498 Button changed: bRef=0, Joy=2 (G), Btn=23, Pressed 549966 Button changed: bRef=0, Joy=2 (G), Btn=23, Released As I said, FSUIPC does not (cannot) distinguish between joysticks as far as changing the 03C0-- range of offsets. The joystick number simply acts as an index for storing the 32 bit word it gets from Windows. It is very straightforward indeed. Regards Pete
-
"Reinstalling" FSUIPC changes nothing, it merely replacess one DLL file with the same identical DLL file. All your settings and other files are retained. It would be disastrous if I made the installer start everyone from scratch each time they updated, and I don't support old versions! Nothing will recharge flat batteries -- once they get below a certain voltage level they are unrechargeable. The FSUIPC facility does not and never has recharged battereies. It just changes the rate at which they discharge. Batteries which are still okay are charged only by ground power, the APU generators or the Engine generators. If FSUIPC is not talking to FSX and vice versa, this will be indicated in the FSUIPC4 log file, and the FSUIPC entry in the AddOns menu will not appear. Check both. I suspect you are starting FSX with a start-up Flight file in which the battery voltage is too low. Find and delete the FLT file being loaded as default or, if you really don't know which one it is, delete or move all of your saved flights out of your Flight Simulator X Files folder in your Documents folder. Another less likely possibility is a corrupted FSUIPC4.INI file, preventing your option from being saved correctly. However, if the option is shown okay in the FSUIPC options dialogue then it must be okay in the current session. Incidentally, there is absolutely no relation between messing with sceneries and the actions of batteries and aircraft. Regards Pete
-
Well, I only really needed to see theButtons and Joynames sections. I didn't realise it was so long! One of the reasons it is long, you have a large section at the beginning which is commented out and so unused. It's a spare [General] section. Don't know what happened there -- the only operating one is later on. So to clarify things for you, please first delete all the first section, from !1=0[General] down to SimConnectUsed=10.0.61259.0 inclusive. Looks like that was the [general] section when you used version 4.90. Next, the JoyNames section shows these devices:given letters: R=Saitek Pro Flight Rudder Pedals Y=Saitek Pro Flight Yoke G=GVL224-4000-8 M=Outgauge-MCP but of those 4, only 3 are connected: 0=Saitek Pro Flight Rudder Pedals 1=Saitek Pro Flight Yoke 2=GVL224-4000-8 I assume the MCP one is device 3? Because you have some device 3 assignments which have not been replaced by letters (yet): Maybe this is historical and needs tidying up? 68=U3,7,C1038,0 69=P3,7,C1038,0 70=P3,4,C65645,0 In the default [buttons] section you have assignments to Y and G, so certainly both of those should be registering the button states -- Y in 03C4 and G in 03C8. Now, you said: but unless by "MJoy16" you mean "GVL224-4000-8", the MJoy16 device is not connected -- or at least it was not when you posted this INI file. So I think you may be getting confused over the offsets you are looking at. If, when connected, the MJoy16 is joystick #3, then its buttons will be at offset 03CC. But you also need to then check that the assignments to #3 are being changed to 'M', the letter assigned for 3. I honestly don't know how you got the '3's left in the file -- there are no assignments shown at all for 'M' so it won't be scanned even if connected, UNLESS it is actually 3 and the assignment lines get changed. Regards Pete
-
We can do it here. Assign the buttons to the first set of functions, then take a copy of the [buttons] section of the INI. Then reassign them to the second set of functions, and take a copy of that section again. Make a note of the button number you want to hold down to switch to the second set, then post all that information in a message here. Then I'll simply fill in the bits you need. Okay? Pete
-
If you are a Beta tester for P3D V2 the answer is in the Beta Forum. If you are not then the question is not relevant at this time. Pete
-
If you mean a button which when held pressed changes the functions of others, yes -- that's "compound" or "conditional" buttons. Up to 16 conditional buttons can be associated with any button. For a button to select one of two modes for a set of other buttons, you can also do this with conditionals, but in this case using a "button flag" wfich is toggled on and off alternately by the mode button each time it is pressed. For a button to go through a series of modes the way would be to assign that button to an offset cyclic increment control, using one of the user offsets in the range 66C0 to 66FF, and use offset conditions on the actions of the other buttons. All of these things require editing in the FSUIPC INI file -- they are too involved to be suitable for the FSUIPC options tabs. The formats are explained in the FSUIPC Advanced User's guide with examples. Regards Pete
-
Mouse view for FSUIPC?
Pete Dowson replied to Ifikratis's topic in FSUIPC Support Pete Dowson Modules
Oh, yeah, I use EZDOK. Pete -
ipc.set / get questions
Pete Dowson replied to Baldrick's topic in FSUIPC Support Pete Dowson Modules
No. I tried the "value" method, and that only pushes the NAME of the variable. As far as I can see it would be complex to move the entire table from C. It would need iterating through its contents testing each type and constructing a new table in the other thread's stack. I'm not doing that. Regards Pete -
Throttle Manager to Allow Axis Forward/Reverse Toggle
Pete Dowson replied to pilotjohn's topic in User Contributions
Just change the lines to both refer to the same button, so that the button does both things. i.e. 16=PA,20,CL1:T,1 17=PA,20,CL1:T,2 if you want button 20 to operate both. If this doesn't work then it will need action by the Lua plug-in writer I'm afraid. Pete