alaxus
-
Posts
86 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Downloads
Posts posted by alaxus
-
-
Its looks to me like a hook into direct X, similar to what the screen warping software does.
Fritz can you assign this to a button press (keysend) in fsuipc, cause if you can a lua script should work. I currently have a button press assigned to my warping software, which runs outside of fs btw, through fsuipc using keysend shift +F4. I would think this Mod would work the same way.
here is some info
-
Post your network setup, modems, switches etc. and which is connected to what.
Post the contents of ipconfig /all so we can see your network adapters. You may have some virtual ones. ie hamachi
-
I'm not familiar with such technicalities, sorry. I'm just used to something which sets or clears a flag in the input from the Windows joystick interface.
Don't worry about that, the firmware on the card takes care of the type of encoders anyway. It was a FYI not a question as such.
I have since spent quite a number of hours experimenting on the following variables.
FastTimeLimit , Pollrate and the PollInterval rate in the FSUIPC.INI
So far the best numbers that I have come up with are:
FastTimeLimit=33
Pollrate=10
PollInterval=10
By playing with the FastTimeLimit I have managed to get consistent responses on Joy #64 button 0,1 and Joy #64 button 2,3
So on Joy #64 button 0,1 I assigned them to VOR OBS 1 INC , DEC respectively. And Joy #64 button 2,3 to VOR OBS 1 FAST INC , FAST DEC. So that worked ok.
My issue is, I can't seem to get the code to switch from Joy #64 button 0,1 to Joy #64 button 2,3 with any consistency. 32ms favours Joy #64 button 0,1 and barely ever switches up to Joy #64 button 2,3 whereas 34ms is so erratic its all over the place even when the encoder is being turned real slow, and 33ms isn't much better.
After reading this in the Guide for Advanced users;
A polling rate of 40 per second is more than adequate for all normal button programming. It is only when you come to the more advanced uses that you may want to change this. Rotary switches, for instance, may give pulses so fast that some are missed at such a rate.
I think my issue is a lot of the pulses coming off the encoder are being missed.
So just a question on this, would it be more efficient if the encoder inputs were sent direct to the required offsets, rather than to virtual buttons? Or is it more efficient to have an external app write straight to the offsets like FS2Phidgets?
No idea. Where are you seeing those? FSUIPC adds "vor1 obi inc fast", one of the additional FSUIPC controls listed in the Advanced User's guide. There are several added to make up for omissions in FS's supply of controls.They both showed up in the buttons assignment list for fsuipc ver 3.988q
So I am coming to the conclusion that this method maybe little inefficient for what I need.
Anyway
Thanks again for all your help, even if this doesn't work out for me I still managed to learn a fair bit.
Jeff
-
Hi Pete,
I have a few questions regarding the rotaries.lua that was posted a few days ago. I copied it and modified it to the amount of rotaries that I have connected to the card.
The rotaries are set correctly at quarter wave using the encoder utility. There are 16 de-tents per revolution.
Q1. One issue I am having is that it misses steps when using the lua code and writing to Joy #64 button 1,3, ie it isn't catching all the virtual button presses. In some cases it doesn't catch any of the virtual button presses at all. Is this because the polling rate is to slow? Yet when I use the direct assignment Joy #3 button 30 ,31 it catches all the button presses. This issue may be related to Q3 below.
Q2. One thing I have noticed is that when I turn the encoder (left, right), when in the button and switches tab of fsuipc, I get a response on Joy #3 button 30 ,31 and Joy #64 button 1,3. Is this correct?
In this case I assigned the VOR OBS 1 INC , DEC to Joy #64 button 1,3 respectively.
Q3. Am I correct in thinking that the following piece of code increments the Joy #64 button to 2 and 4 if I give the encoder a fast twist?
if (LastTimes[j] ~= nil) and ((Time - LastTimes[j]) < FastTimeLimit) then
thisbutton = buttonbit + buttonbit -- Use next higher button for fast
end
[/CODE]Which I would the assign VOR OBS 1 FAST INC , FAST DEC? If this is true, where would I make the assignment as I don't see Joy #64 button 2 and 4 show up in the button and switches tab. Would it have to be added to the fsuipc.ini?
Here is the code:
[CODE]
-- Set device details here (use HidScanner to find these if not known)
Vendor = 0X1DD2
Product = 0X1001
Device = 0 -- Multiple devices of the same name need increasing Device numbers.
-- Use separate Lua plug-ins for separate cards!
-- NOTE: this can handle up to 16 rotaries only, using the first 64 "virtual buttons"
-- List the pairs here:
Rotaries = {31,30,29,28,27,26,25,24,23,22}
-- Example { 31, 30, 25, 22 } would be 31+30 for one, 25+22 for the next, and so on
-- Which is clockwise and which counterclockwise doesn't matter -- you'll get
-- fast and slow of each in any case
dev, rd, wrf, wr, init = com.openhid(Vendor, Product, Device, Report)
if dev == 0 then
ipc.log("Could not open HID")
ipc.exit()
end
-- Set the boundary time in milliseconds between
-- "fast" (shorter) and "slow" (longer) signalling
FastTimeLimit = 90 -- Adjust to taste
-- Polling time in milliseconds: should be much shorter than
-- the boundary time
Pollrate = 10 -- same as 50 times per second
-- Initialise variables used to keep track of things
LastTimes = {}
Buttons = 0
PrevButtons = 0
Diff = 0
-- This function will be called by a time event, set at the end of the program before exit.
function poll(Time)
-- read any data available from the device (only need most recent report)
data, n = com.readlast(dev, rd)
if n ~= 0 then
-- Data was returned, so get the status of all the possible "buttons" we are using
-- one value of 32 bits
Buttons = com.gethidbuttons(dev, data)
-- See if any changes occurred:
Diff = logic.Xor(Buttons, PrevButtons)
PrevButtons = Buttons
if Diff ~= 0 then
offset = 0x3340
buttonbit = 1
j = 1
while Rotaries[j] ~= nil do
mask = logic.Shl(1, Rotaries[j])
if logic.And(Diff,mask) ~= 0 then
-- This one changed
-- See if changed in less than the "boundary" time
thisbutton = buttonbit
if (LastTimes[j] ~= nil) and ((Time - LastTimes[j]) < FastTimeLimit) then
thisbutton = buttonbit + buttonbit -- Use next higher button for fast
end
LastTimes[j] = Time
-- Toggle a virtual button accordingly
ipc.togglebitsUD(offset, thisbutton)
end
j = j+1
buttonbit = 4 * buttonbit
if logic.And(j,15) == 0 then
buttonbit = 1
offset = offset + 4
end
end
end
end
end
event.timer(Pollrate, "poll")
[/CODE]Thanks for your great work
Jeff
Edit I had a look at the fsuipc log for the button presses, the only ones I could see were Joy #64 button 1,3.
ps Whats the difference between VOR OBS 1 FAST INC and VOR OBS 1 INC FAST?
-
Use this program here to do a thorough check on your memory.
http://www.memtest.org/#downiso
go to the free download links and download the 4.20 version. Its is a iso which you burn to a cd (bootable) or use the usb version. If you have a large amount of ram you may need to run this for at least 12 hrs.
At least this will rule out memory issues.
-
Not Found
The requested document was not found on this server.
The reason why it does not resolve is that the link its pointing to is http://fsuipc.simflight.com/beta/FSUIPC3998q.zip not http://fsuipc.simflight.com/beta/FSUIPC3998r.zip which is what you need. The link in the sub-forums resolves correctly to http://fsuipc.simflight.com/beta/FSUIPC3998r.zip
-
He mentions the TRC1000 in his OP, maybe he is referring to this >> http://www.simkits.com/product.php?prodid=1241#
-
A bit of info on encoders.
Have a read through on this post in the xplane forums,it give a bit of an insight into encoders, and particularly with leos card.
http://forums.x-plane.org/index.php?showtopic=44196
Also read the bit about whether the encoder is full, half or quarter wave. Makes a difference electrically, particularly with coding as well.
-
Rob, I have been reading your posts, and can see you are frustrated.
Please check a couple of things.
In your last post, you had the log of the wideclient (on CAMTECH1 pc) posted, with this line:
C:\Users\Robert C\Desktop\
In this post and the last post you have this line in your FSUIPC log: (which I think is your FSX pc (TERMALTAKE))
C:\Users\R6bert C\Documents\
As you can see they are not the same user. To make things easier in windows and particularly with networking, make sure you have the same user and password on all your pc's and are logged in as such.
It seems to me you have a user / password issue.
To test this see if you can share a folder on your THERMALTAKE Computer and then try and access it with you CAMTECH1 pc. If it asks for a user / pass then your networking isn't set up properly.
-
On a seperate tack, given that I have to use say, Toggle Master Battery in both button pressed and button released boxes, do I need to put something in the Parameter box?
Thanks again,
Eamonn Shanahan
Mine auto-populates with 0 for Toggle Master Battery
I dont have any GF stuff, but I tried with just a switch wired to a joystick button and set it up the way you had it and it works fine. So maybe GFDev.dll is doing something different. Speaking of which does the SECM still show up as a joystick when the GFDev.dll is not in the modules folder?.....If the SECM just shows up as a joystick you may not need GFDev.dll.
-
It looks like air hauler is writing something to a offset that fs does not like. Duncan didn't provide a list of offsets his app writes to? If he has maybe you could log those offsets you may find the one that is causing the problem.
That being said you could always use the logging feature in fsuipc, then start air hauler and see if it tries to write to a offset which would give a bit of an idea to what's causing the issue.
Other than that I will leave this to Pete.
Cheers
-
Still another direction, I am not to familiar to the NGX, but does it have a aircraft.cfg file where you can change this setting in the flight tuning section elevator_trim_effectiveness = 1.0 <-- maybe increase to 1.2. I think 2.0 is the limit
-
You have a timing issue, you need to set the toggle in the right spot before hitting the switch. ie if the bat is already on, and you hit the switch to on it turns off, and vice versa. In this case just use the keyboard command to get the toggle in the right position. ie if your switch on the SECM is on, and FS is off, use the keyboard command to switch the battery to on, then you switch should be correctly timed.
-
Forgot... latest version FSUIPC (3.9.9.1 registered), as is WideFS (3.86 registered)...
Thats quite old, the latest version is 3.998q ---> http://forum.simflight.com/topic/66139-updated-modules/
And widefs is at 6.86 which I think is what you meant.
-
You didn't mention what version of fsuipc you are using?
-
Yes you can. Just make a copy of your aircraft and rename it so it is selectable from the aircraft menu. When setting up fsuipc check the profile specific check box.
-
If your just after the documentation its here -->
-
You could try fs2phidgets, its free and might get you out of a bind.
http://www.mycockpit.org/forums/downloads.php?do=file&id=478 <-- you will need a login to this.
With this app you can assign any phidgets input to an offset.
Unless there is some extra coding logic built into the driver, I would go with the leo bodnar option, fs2phidgets has a few quirks. I currently use it for my phidget encoders.
-
Ok sweet, thanks for the quick reply.
-
Are the reverser's connected to pots or switches?
-
Do I need the Acceleration pack to get fsuipc to work or will the Service packs do?
-
Thanks for the reply Pete, I didnt think FSUIPC would have the feature and nor would I expect it to. That being said, if you dont ask you will never know.
I do have a physical hardware solution in mind, so its no big deal.
Thanks again for your timely response.
-
Hi Pete,
Fs ver 9.00.030612.02
FSUIPC Ver 3.81
FDS sys3 with Interface IT 2.1.0.647
Can you tell me if its possible change the state of one offset based on the condition of another in FSUIPC?
In this case I have master battery (offset 281C) and the Landing gear indicator lights (offsets 0BEC 0BF0 0BF4). Which are interfaced with the sys 3 card using LEDS. The problem is when the master battery is switched off the Landing gear indicator lights switch off in FS but not the leds in the sys3. Seems FS has its own internal logic to control this.
Seeing that InterfaceIT dosent have any thing in the way of logic control (not that I could find) , I was hoping that FSUIPC could somehow provide some sort of simple logic function.
If not, no problem, I can find another solution.
Thanks
ps. some history on this in a FDS thread: http://www.flightdecksolutions.com/foru3593#23593
-
I sort of got it working with offsets 5406, 5408, 540A, 540C, 540E for the mcp. It is working better with these offsets, though fs2phidgets wont read one value and write to another, so there is a couple of other minor issues.
Thanks for all your help Pete
Jeff
Double condition facility - rotary knob with push button
in FSUIPC Support Pete Dowson Modules
Posted
Ok I am confused, are you using a rotary switch or a rotary encoder? If you are using a rotary encoder, what type are you using (full, half or quarter wave)? And what hardware is the encoder connected too?