Jump to content
The simFlight Network Forums

Recommended Posts

Posted

I was applying non-conditional "button" range in Axis Assignments. That worked, it just didn't stop at idle. :)

But that is an assignment in FSUIPC's "axis assignments"! How can it operate the ranges if it doesn't know the joystick and axis to check?

No biggie, I'll unassign in FSX and assign in FSUIPC it to send to calibration.

Well it isn't essential if you already have it assigned as you say, but dual assignments in both FS and FSUIPC aren't a good idea, even if to different purposes. Both will be scanning independently -- a waste of time and resources.

Regards

Pete

Posted

Hmm... I'm getting:

********* LUA: "throttles" Log [from FSUIPC version 4.728a] *********
  2521834 System time = 14/09/2011 14:37:29, Simulator time = 12:37:58 (16:37Z)
  2521834 LUA: beginning "C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Modules\throttles.lua"
  2522864 *** LUA Error: ...s\Microsoft Flight Simulator X\Modules\throttles.lua:2: attempt to call field 'axis' (a nil value)
  2523878 *** LUA Error: ...s\Microsoft Flight Simulator X\Modules\throttles.lua:2: attempt to call field 'axis' (a nil value)
  2525110 *** LUA Error: ...s\Microsoft Flight Simulator X\Modules\throttles.lua:2: attempt to call field 'axis' (a nil value)

Running a simple test with throttles.lua:

function poll_axis()
  v = ipc.axis(0, "Z")
end

event.timer(1000, "poll_axis")

UPDATE: your link shows 4.728b but it's downloading a. I downloaded b, testing...

Posted

Hmm... I'm getting:

********* LUA: "throttles" Log [from FSUIPC version 4.728a] *********
  2521834 System time = 14/09/2011 14:37:29, Simulator time = 12:37:58 (16:37Z)
  2521834 LUA: beginning "C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Modules\throttles.lua"
  2522864 *** LUA Error: ...s\Microsoft Flight Simulator X\Modules\throttles.lua:2: attempt to call field 'axis' (a nil value)

That's because 4.728a did not include that function.

UPDATE: your link shows 4.728b but it's downloading a. I downloaded b, testing...

Weird. I'm cross-checking now ...

... Oops, yes, you're right! It's this new Forum software. I'll never get used to it! You have to edit both the visible text and the link text AND click a "confirm" button, not just press return, or it reverts!

I'll fix the link in the original post. Please try again. Apologies.

Pete

Posted

That's because 4.728a did not include that function.

Weird. I'm cross-checking now ...

... Oops, yes, you're right! It's this new Forum software. I'll never get used to it! You have to edit both the visible text and the link text AND click a "confirm" button, not just press return, or it reverts!

I'll fix the link in the original post. Please try again. Apologies.

Pete

Works, thanks! I'll post my generic-ized Lua in case others are interested when I'm done (I made it variable speed based on the axis position in the range).

Posted

Works, thanks! I'll post my generic-ized Lua in case others are interested when I'm done (I made it variable speed based on the axis position in the range).

If I writeSW, and then immediately readSW, should that reflect the new value? Setting the throttle directly (instead of using throttle increment) seems to work on less complex planes (Turbine Duke), but not the J41. If yes, I can put in logic that if the throttle position didn't change, then use throttle increment instead.

Posted

If I writeSW, and then immediately readSW, should that reflect the new value?

Not necessarily. The write instigates a write to SimConnect, which updates the throttle and sends the new value back to FSUIPC. It could happen fast enough for Lua not to notice the difference, but it isn't guaranteed.

Setting the throttle directly (instead of using throttle increment) seems to work on less complex planes (Turbine Duke), but not the J41.

Really? That's strange.

If yes, I can put in logic that if the throttle position didn't change, then use throttle increment instead.

You could do that, but for safety check if it changed by the next loop.

The FS one may still change in any case -- maybe the J41 simply ignores the FS one? But then how can it work to detect reverse? Hmmm.

If you use throttle increment you'd need to adjust the time of the loop to match. my 32 at 50 mSecs would need to be 256 (small incr) at 400 mSecs if you wanted the same slow speed.

Pete

Posted

Another question... is it possible to "take over" the handling of the axes only under certain circumstances. The more I develop this little hack, the more I realize the best way to handle this would as follows:

1. If the aircraft throttle < 0 and the throttle axis is moved "forward", the aircraft throttles should not be "set" but rather incremented as the "small" range solution does.

2. However, if the aircraft throttle >= 0, let FSUIPC do as it always does and send throttle settings to FS

It's possible to trigger a Lua on all axis changes, correct - without FSUIPC handling anything FS controls? What's the overhead on this, instead of polling?

Posted

Really? That's strange.

You could do that, but for safety check if it changed by the next loop.

The FS one may still change in any case -- maybe the J41 simply ignores the FS one? But then how can it work to detect reverse? Hmmm.

Pete

Yep... it's strange.

Even at 50ms intervals, sometimes the new value I read is still the same as in the previous loop.

Posted

Even at 50ms intervals, sometimes the new value I read is still the same as in the previous loop.

And this is only with the J41? Definitely sounds like it intercepts these things and overrules my writes to SimConnect, though I suppose it could have a built in delay for "realism". Try 100 or even 500mSecs, just to check.

Could you use the FSUIPC logging tab, please? On the right-hand side put 088C as an offset, type S16, then check "Normal Log" below. Reproduce this, then show me the resulting FSUIPC.4 Log file (or a relevant extract).

Thanks.

Pete

Posted

Even more odd is that ipc.control(65965) doesn't work either on the J41 (but does on the Duke).

"F3" does work, and so does THROTTLE1_DECR_SMALL for the reverse assigned to the button below the detent.

Also if I assign THROTTLE1_INCR_SMALL to an axis range within FSUIPC, it also works.

J41:

  5132698 Monitor IPC:088C (S16) = -16383
  5134819 Monitor IPC:088C (S16) = -16301
  5134819 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -99.4995117188
  5134882 Monitor IPC:088C (S16) = -16091
  5134882 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -98.2177734375
  5134913 Monitor IPC:088C (S16) = -16383
  5134913 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -100
  5134944 Monitor IPC:088C (S16) = -15881
  5134944 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -96.9360351563
  5134991 Monitor IPC:088C (S16) = -16383
  5134991 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -100
  5135022 Monitor IPC:088C (S16) = -15543
  5135022 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -94.873046875
  5135053 Monitor IPC:088C (S16) = -16383
  5135053 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -100
  5135147 Monitor IPC:088C (S16) = 519
  5135147 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 3.16772460938
  5135209 Monitor IPC:088C (S16) = 1005
  5135209 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 6.13403320313
  5135303 Monitor IPC:088C (S16) = 1342
  5135303 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 8.19091796875
  5135365 Monitor IPC:088C (S16) = 1572
  5135365 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 9.5947265625
  5135443 Monitor IPC:088C (S16) = 1792
  5135443 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 10.9375
  5135475 Monitor IPC:088C (S16) = 1892
  5135475 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 11.5478515625
  5135537 Monitor IPC:088C (S16) = 1939
  5135537 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 11.8347167969
  5135599 Monitor IPC:088C (S16) = 2149
  5135599 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 13.1164550781
  5135631 Monitor IPC:088C (S16) = 2245
  5135631 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 13.7023925781
  5135693 Monitor IPC:088C (S16) = 2328
  5135693 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 14.208984375
  5135755 Monitor IPC:088C (S16) = 2365
  5135755 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 14.4348144531
  5135833 Monitor IPC:088C (S16) = 2383
  5135833 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 14.5446777344
  5135927 Monitor IPC:088C (S16) = 2315
  5135927 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 14.1296386719
  5135989 Monitor IPC:088C (S16) = 2020
  5135989 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 12.3291015625
  5136021 Monitor IPC:088C (S16) = 1468
  5136021 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 8.9599609375
  5136083 Monitor IPC:088C (S16) = 875
  5136083 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 5.34057617188
  5136145 Monitor IPC:088C (S16) = 338
  5136145 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 2.06298828125
  5136223 Monitor IPC:088C (S16) = 0
  5136223 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0
  5137035 Monitor IPC:088C (S16) = -163
  5137035 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -1
  5137159 Monitor IPC:088C (S16) = -327
  5137159 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -2
  5137191 Monitor IPC:088C (S16) = -491
  5137191 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -3
  5137253 Monitor IPC:088C (S16) = -818
  5137253 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -5
  5137331 Monitor IPC:088C (S16) = -1146
  5137331 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -7
  5137362 Monitor IPC:088C (S16) = -1310
  5137362 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -8
  5137425 Monitor IPC:088C (S16) = -1637
  5137425 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -10
  5137487 Monitor IPC:088C (S16) = -1965
  5137487 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -12
  5137518 Monitor IPC:088C (S16) = -2129
  5137518 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -13
  5137581 Monitor IPC:088C (S16) = -2457
  5137581 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -15
  5137659 Monitor IPC:088C (S16) = -2784
  5137659 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -17
  5137721 Monitor IPC:088C (S16) = -3112
  5137721 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -19
  5137752 Monitor IPC:088C (S16) = -3276
  5137752 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -20
  5137815 Monitor IPC:088C (S16) = -3603
  5137815 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -22
  5137877 Monitor IPC:088C (S16) = -3931
  5137877 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -24
  5137908 Monitor IPC:088C (S16) = -4095
  5137908 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -25
  5137971 Monitor IPC:088C (S16) = -4423
  5137971 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -27
  5138049 Monitor IPC:088C (S16) = -4750
  5138049 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -29
  5138080 Monitor IPC:088C (S16) = -4914
  5138080 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -30
  5138142 Monitor IPC:088C (S16) = -5242
  5138142 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -32
  5138205 Monitor IPC:088C (S16) = -5570
  5138205 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -34
  5138267 Monitor IPC:088C (S16) = -5897
  5138267 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -36
  5138314 Monitor IPC:088C (S16) = -6061
  5138314 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -37
  5138376 Monitor IPC:088C (S16) = -6389
  5138376 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -39
  5138439 Monitor IPC:088C (S16) = -6716
  5138439 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -41
  5138470 Monitor IPC:088C (S16) = -6880
  5138470 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -42
  5138532 Monitor IPC:088C (S16) = -7208
  5138532 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -44
  5138595 Monitor IPC:088C (S16) = -7536
  5138595 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -46
  5138626 Monitor IPC:088C (S16) = -7699
  5138626 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -47
  5138704 Monitor IPC:088C (S16) = -8027
  5138704 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -49
  5138766 Monitor IPC:088C (S16) = -8355
  5138766 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -51
  5138829 Monitor IPC:088C (S16) = -8683
  5138829 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -53
  5138860 Monitor IPC:088C (S16) = -8846
  5138860 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -54
  5138922 Monitor IPC:088C (S16) = -9174
  5138922 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -56
  5138985 Monitor IPC:088C (S16) = -9502
  5138985 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -58
  5139016 Monitor IPC:088C (S16) = -9666
  5139016 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -59
  5139094 Monitor IPC:088C (S16) = -9993
  5139094 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -61
  5139156 Monitor IPC:088C (S16) = -10321
  5139156 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -63
  5139187 Monitor IPC:088C (S16) = -10485
  5139187 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -64
  5139250 Monitor IPC:088C (S16) = -10812
  5139250 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -66
  5139312 Monitor IPC:088C (S16) = -11140
  5139312 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -68
  5139375 Monitor IPC:088C (S16) = -11468
  5139375 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -70
  5139406 Monitor IPC:088C (S16) = -11632
  5139406 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -71
  5139484 Monitor IPC:088C (S16) = -11959
  5139484 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -73
  5139546 Monitor IPC:088C (S16) = -12287
  5139546 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -75
  5139609 Monitor IPC:088C (S16) = -12615
  5139609 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -77
  5139640 Monitor IPC:088C (S16) = -12779
  5139640 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -78
  5139702 Monitor IPC:088C (S16) = -13106
  5139702 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -80
  5139765 Monitor IPC:088C (S16) = -13434
  5139765 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -82
  5139812 Monitor IPC:088C (S16) = -13598
  5139812 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -83
  5139874 Monitor IPC:088C (S16) = -13925
  5139874 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -85
  5139936 Monitor IPC:088C (S16) = -14253
  5139936 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -87
  5139968 Monitor IPC:088C (S16) = -14417
  5139968 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -88
  5140030 Monitor IPC:088C (S16) = -14745
  5140030 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -90
  5140092 Monitor IPC:088C (S16) = -15072
  5140092 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -92
  5140155 Monitor IPC:088C (S16) = -15400
  5140155 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -94
  5140186 Monitor IPC:088C (S16) = -15564
  5140186 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -95
  5140264 Monitor IPC:088C (S16) = -15891
  5140264 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -97
  5140326 Monitor IPC:088C (S16) = -16219
  5140326 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -99
  5140358 Monitor IPC:088C (S16) = -16383
  5140358 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -100
  5141637 Monitor IPC:088C (S16) = -16301
  5141637 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -99.4995117188
  5141668 Monitor IPC:088C (S16) = -16383
  5141668 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -100
  5141699 Monitor IPC:088C (S16) = -16219
  5141699 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -98.9990234375
  5141762 Monitor IPC:088C (S16) = -16073
  5141762 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -98.1079101563
  5141824 Monitor IPC:088C (S16) = -15287
  5141824 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -93.310546875
  5141855 Monitor IPC:088C (S16) = -16383
  5141855 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -100
  5142058 Monitor IPC:088C (S16) = 15
  5142058 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.091552734375
  5142089 Monitor IPC:088C (S16) = 55
  5142089 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.335693359375
  5142152 Monitor IPC:088C (S16) = 74
  5142152 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.45166015625
  5142214 Monitor IPC:088C (S16) = 82
  5142214 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.50048828125
  5142245 Monitor IPC:088C (S16) = 87
  5142245 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.531005859375
  5142308 Monitor IPC:088C (S16) = 88
  5142308 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.537109375
  5142386 Monitor IPC:088C (S16) = 89
  5142386 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.543212890625
  5142542 Monitor IPC:088C (S16) = 90
  5142542 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.54931640625
  5143197 Monitor IPC:088C (S16) = 0
  5143197 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0
  5143649 Monitor IPC:088C (S16) = -163
  5143649 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -1
  5143821 Monitor IPC:088C (S16) = -327
  5143821 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -2
  5143883 Monitor IPC:088C (S16) = -654
  5143883 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -4
  5143914 Monitor IPC:088C (S16) = -818
  5143914 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -5
  5143977 Monitor IPC:088C (S16) = -1146
  5143977 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -7
  5144039 Monitor IPC:088C (S16) = -1474
  5144039 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -9
  5144102 Monitor IPC:088C (S16) = -1801
  5144102 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -11
  5144148 Monitor IPC:088C (S16) = -1965
  5144148 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -12
  5144211 Monitor IPC:088C (S16) = -2293
  5144211 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -14
  5144273 Monitor IPC:088C (S16) = -2620
  5144273 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -16
  5144304 Monitor IPC:088C (S16) = -2784
  5144304 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -17
  5144367 Monitor IPC:088C (S16) = -3112
  5144367 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -19
  5144429 Monitor IPC:088C (S16) = -3440
  5144429 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -21
  5144492 Monitor IPC:088C (S16) = -3767
  5144492 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23
  5144538 Monitor IPC:088C (S16) = -3931
  5144538 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -24
  5144601 Monitor IPC:088C (S16) = -4259
  5144601 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -26
  5144663 Monitor IPC:088C (S16) = -4587
  5144663 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -28
  5144694 Monitor IPC:088C (S16) = -4750
  5144694 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -29
  5144757 Monitor IPC:088C (S16) = -5078
  5144757 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -31
  5144819 Monitor IPC:088C (S16) = -5406
  5144819 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -33
  5144850 Monitor IPC:088C (S16) = -5570
  5144850 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -34
  5144928 Monitor IPC:088C (S16) = -5897
  5144928 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -36
  5144991 Monitor IPC:088C (S16) = -6225
  5144991 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -38
  5145053 Monitor IPC:088C (S16) = -6553
  5145069 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -40
  5145100 Monitor IPC:088C (S16) = -6716
  5145100 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -41
  5145131 Monitor IPC:088C (S16) = -6880
  5145131 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -42
  5145194 Monitor IPC:088C (S16) = -7208
  5145194 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -44
  5145256 Monitor IPC:088C (S16) = -7536
  5145256 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -46
  5145318 Monitor IPC:088C (S16) = -7863
  5145318 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -48
  5145365 Monitor IPC:088C (S16) = -8027
  5145365 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -49
  5145428 Monitor IPC:088C (S16) = -8355
  5145428 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -51
  5145490 Monitor IPC:088C (S16) = -8683
  5145490 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -53
  5145521 Monitor IPC:088C (S16) = -8846
  5145521 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -54
  5145584 Monitor IPC:088C (S16) = -9174
  5145584 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -56
  5145646 Monitor IPC:088C (S16) = -9502
  5145646 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -58
  5145724 Monitor IPC:088C (S16) = -9829
  5145724 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -60
  5145755 Monitor IPC:088C (S16) = -9993
  5145755 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -61
  5145818 Monitor IPC:088C (S16) = -10321
  5145818 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -63
  5145896 Monitor IPC:088C (S16) = -10649
  5145896 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -65
  5145896 Monitor IPC:088C (S16) = -10812
  5145896 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -66
  5145989 Monitor IPC:088C (S16) = -11140
  5145989 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -68
  5146052 Monitor IPC:088C (S16) = -11304
  5146052 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -69
  5146098 Monitor IPC:088C (S16) = -11632
  5146098 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -71
  5146208 Monitor IPC:088C (S16) = -11959
  5146208 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -73
  5146254 Monitor IPC:088C (S16) = -12287
  5146254 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -75
  5146301 Monitor IPC:088C (S16) = -12451
  5146301 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -76
  5146410 Monitor IPC:088C (S16) = -12942
  5146410 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -79
  5146457 Monitor IPC:088C (S16) = -13106
  5146457 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -80
  5146520 Monitor IPC:088C (S16) = -13434
  5146520 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -82
  5146644 Monitor IPC:088C (S16) = -13925
  5146644 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -85
  5146676 Monitor IPC:088C (S16) = -14089
  5146676 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -86
  5146785 Monitor IPC:088C (S16) = -14581
  5146785 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -89
  5146894 Monitor IPC:088C (S16) = -14908
  5146894 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -91
  5146956 Monitor IPC:088C (S16) = -15236
  5146956 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -93
  5147003 Monitor IPC:088C (S16) = -15564
  5147003 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -95
  5147066 Monitor IPC:088C (S16) = -15728
  5147066 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -96
  5147112 Monitor IPC:088C (S16) = -15891
  5147112 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -97
  5147159 Monitor IPC:088C (S16) = -16055
  5147159 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -98
  5147206 Monitor IPC:088C (S16) = -16219
  5147206 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -99
  5147222 Monitor IPC:088C (S16) = -16383
  5147222 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -100
  5305563 Sim stopped: average frame rate for last 167 secs = 22.7 fps
  5305563 Average weather filter write interval in that time = 1943.3 msecs

Duke:

  5316030 C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\SimObjects\Airplanes\RealAir Duke Turbine\RealAir_Duke_Turbine.AIR
  5316592 Monitor IPC:088C (S16) = -3931
  5316592 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.9999994636
  5316607 Aircraft="RealAir Beech Duke Turbine VHDUC Winglets Ventral"
  5323237 Monitor IPC:088C (S16) = -3849
  5323237 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.4985351563
  5323331 Monitor IPC:088C (S16) = -3767
  5323331 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -22.998046875
  5323393 Monitor IPC:088C (S16) = -3557
  5323393 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -21.7163085938
  5323456 Monitor IPC:088C (S16) = -3155
  5323456 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -19.2626953125
  5323534 Monitor IPC:088C (S16) = -2689
  5323534 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -16.4184570313
  5323596 Monitor IPC:088C (S16) = -2223
  5323596 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -13.57421875
  5323659 Monitor IPC:088C (S16) = -1629
  5323659 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -9.94873046875
  5323721 Monitor IPC:088C (S16) = -1035
  5323721 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -6.3232421875
  5323783 Monitor IPC:088C (S16) = -441
  5323783 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -2.69775390625
  5323846 Monitor IPC:088C (S16) = 0
  5323846 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0
  5325718 Monitor IPC:088C (S16) = -63
  5325718 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -0.390625
  5325889 Monitor IPC:088C (S16) = -319
  5325889 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -1.953125
  5325921 Monitor IPC:088C (S16) = -575
  5325921 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -3.515625
  5325952 Monitor IPC:088C (S16) = -831
  5325952 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -5.078125
  5325983 Monitor IPC:088C (S16) = -1087
  5325983 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -6.640625
  5326014 Monitor IPC:088C (S16) = -1343
  5326014 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -8.203125
  5326045 Monitor IPC:088C (S16) = -1599
  5326045 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -9.765625
  5326077 Monitor IPC:088C (S16) = -1855
  5326077 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -11.328125
  5326108 Monitor IPC:088C (S16) = -2111
  5326108 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -12.890625
  5326139 Monitor IPC:088C (S16) = -2367
  5326139 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -14.453125
  5326170 Monitor IPC:088C (S16) = -2623
  5326170 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -16.015625
  5326201 Monitor IPC:088C (S16) = -2879
  5326201 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -17.578125
  5326233 Monitor IPC:088C (S16) = -3135
  5326233 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -19.140625
  5326279 Monitor IPC:088C (S16) = -3391
  5326279 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -20.703125
  5326311 Monitor IPC:088C (S16) = -3647
  5326311 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -22.265625
  5326342 Monitor IPC:088C (S16) = -3903
  5326342 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.828125
  5326373 Monitor IPC:088C (S16) = -3931
  5326373 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.9999994636
  5328042 Monitor IPC:088C (S16) = -3785
  5328042 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.1079101563
  5328105 Monitor IPC:088C (S16) = -3447
  5328105 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -21.044921875
  5328167 Monitor IPC:088C (S16) = -3109
  5328167 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -18.9819335938
  5328230 Monitor IPC:088C (S16) = -2771
  5328230 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -16.9189453125
  5328292 Monitor IPC:088C (S16) = -2433
  5328292 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -14.8559570313
  5328370 Monitor IPC:088C (S16) = -2095
  5328370 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -12.79296875
  5328432 Monitor IPC:088C (S16) = -1757
  5328432 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -10.7299804688
  5328495 Monitor IPC:088C (S16) = -1419
  5328495 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -8.6669921875
  5328557 Monitor IPC:088C (S16) = -1081
  5328557 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -6.60400390625
  5328620 Monitor IPC:088C (S16) = -743
  5328620 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -4.541015625
  5328682 Monitor IPC:088C (S16) = -405
  5328682 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -2.47802734375
  5328760 Monitor IPC:088C (S16) = -67
  5328760 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -0.4150390625
  5328822 Monitor IPC:088C (S16) = 0
  5328822 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0
  5330850 Monitor IPC:088C (S16) = 157
  5330850 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.958251953125
  5330913 Monitor IPC:088C (S16) = 612
  5330913 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 3.7353515625
  5330975 Monitor IPC:088C (S16) = 1048
  5330975 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 6.396484375
  5331038 Monitor IPC:088C (S16) = 1437
  5331038 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 8.77075195313
  5331100 Monitor IPC:088C (S16) = 1729
  5331100 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 10.5529785156
  5331178 Monitor IPC:088C (S16) = 2052
  5331178 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 12.5244140625
  5331240 Monitor IPC:088C (S16) = 2352
  5331240 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 14.35546875
  5331303 Monitor IPC:088C (S16) = 2679
  5331303 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 16.3513183594
  5331365 Monitor IPC:088C (S16) = 3094
  5331365 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 18.8842773438
  5331428 Monitor IPC:088C (S16) = 3511
  5331428 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 21.4294433594
  5331490 Monitor IPC:088C (S16) = 4005
  5331490 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 24.4445800781
  5331568 Monitor IPC:088C (S16) = 4421
  5331568 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 26.9836425781
  5331599 Monitor IPC:088C (S16) = 4726
  5331599 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 28.8452148438
  5331662 Monitor IPC:088C (S16) = 5055
  5331662 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 30.8532714844
  5331724 Monitor IPC:088C (S16) = 5433
  5331724 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 33.1604003906
  5331786 Monitor IPC:088C (S16) = 5758
  5331786 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 35.1440429688
  5331849 Monitor IPC:088C (S16) = 6209
  5331849 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 37.8967285156
  5331911 Monitor IPC:088C (S16) = 6568
  5331911 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 40.087890625
  5331989 Monitor IPC:088C (S16) = 6922
  5331989 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 42.2485351563
  5332052 Monitor IPC:088C (S16) = 7385
  5332052 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 45.0744628906
  5332114 Monitor IPC:088C (S16) = 7784
  5332114 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 47.509765625
  5332176 Monitor IPC:088C (S16) = 8264
  5332176 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 50.439453125
  5332239 Monitor IPC:088C (S16) = 8672
  5332239 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 52.9296875
  5332301 Monitor IPC:088C (S16) = 9007
  5332301 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 54.9743652344
  5332379 Monitor IPC:088C (S16) = 9273
  5332379 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 56.5979003906
  5332442 Monitor IPC:088C (S16) = 9395
  5332442 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 57.3425292969
  5332473 Monitor IPC:088C (S16) = 9452
  5332473 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 57.6904296875
  5332535 Monitor IPC:088C (S16) = 9366
  5332535 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 57.1655273438
  5332598 Monitor IPC:088C (S16) = 9029
  5332598 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 55.1086425781
  5332660 Monitor IPC:088C (S16) = 8503
  5332660 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 51.8981933594
  5332722 Monitor IPC:088C (S16) = 7849
  5332722 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 47.9064941406
  5332800 Monitor IPC:088C (S16) = 7172
  5332800 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 43.7744140625
  5332863 Monitor IPC:088C (S16) = 6519
  5332863 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 39.7888183594
  5332925 Monitor IPC:088C (S16) = 5577
  5332925 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 34.0393066406
  5332988 Monitor IPC:088C (S16) = 4502
  5332988 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 27.4780273438
  5333050 Monitor IPC:088C (S16) = 3441
  5333050 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 21.0021972656
  5333112 Monitor IPC:088C (S16) = 2538
  5333112 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 15.4907226563
  5333190 Monitor IPC:088C (S16) = 1593
  5333190 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 9.72290039063
  5333253 Monitor IPC:088C (S16) = 630
  5333253 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 3.84521484375
  5333284 Monitor IPC:088C (S16) = 0
  5333284 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0
  5334236 Monitor IPC:088C (S16) = 337
  5334236 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 2.05688476563
  5334298 Monitor IPC:088C (S16) = 770
  5334298 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 4.69970703125
  5334360 Monitor IPC:088C (S16) = 1083
  5334360 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 6.61010742188
  5334423 Monitor IPC:088C (S16) = 1377
  5334423 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 8.40454101563
  5334485 Monitor IPC:088C (S16) = 1702
  5334485 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 10.3881835938
  5334548 Monitor IPC:088C (S16) = 2040
  5334548 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 12.451171875
  5334610 Monitor IPC:088C (S16) = 2233
  5334610 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 13.6291503906
  5334688 Monitor IPC:088C (S16) = 2586
  5334688 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 15.7836914063
  5334719 Monitor IPC:088C (S16) = 2900
  5334719 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 17.7001953125
  5334782 Monitor IPC:088C (S16) = 3195
  5334782 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 19.5007324219
  5334844 Monitor IPC:088C (S16) = 3368
  5334844 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 20.556640625
  5334906 Monitor IPC:088C (S16) = 3486
  5334906 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 21.2768554688
  5334969 Monitor IPC:088C (S16) = 3465
  5334969 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 21.1486816406
  5335031 Monitor IPC:088C (S16) = 3039
  5335031 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 18.5485839844
  5335109 Monitor IPC:088C (S16) = 2693
  5335109 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 16.4367675781
  5335172 Monitor IPC:088C (S16) = 2156
  5335172 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 13.1591796875
  5335234 Monitor IPC:088C (S16) = 1531
  5335234 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 9.34448242188
  5335296 Monitor IPC:088C (S16) = 979
  5335296 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 5.97534179688
  5335359 Monitor IPC:088C (S16) = 499
  5335359 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 3.04565429688
  5335421 Monitor IPC:088C (S16) = 13
  5335421 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0.079345703125
  5335499 Monitor IPC:088C (S16) = 0
  5335499 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0
  5336669 Monitor IPC:088C (S16) = -255
  5336669 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -1.5625
  5336825 Monitor IPC:088C (S16) = -511
  5336825 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -3.125
  5336856 Monitor IPC:088C (S16) = -767
  5336856 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -4.6875
  5336888 Monitor IPC:088C (S16) = -1023
  5336888 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -6.25
  5336919 Monitor IPC:088C (S16) = -1279
  5336919 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -7.8125
  5336950 Monitor IPC:088C (S16) = -1535
  5336950 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -9.375
  5336981 Monitor IPC:088C (S16) = -1791
  5336981 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -10.9375
  5337012 Monitor IPC:088C (S16) = -2047
  5337012 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -12.5
  5337059 Monitor IPC:088C (S16) = -2303
  5337059 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -14.0625
  5337090 Monitor IPC:088C (S16) = -2559
  5337090 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -15.625
  5337122 Monitor IPC:088C (S16) = -2815
  5337122 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -17.1875
  5337153 Monitor IPC:088C (S16) = -3071
  5337153 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -18.75
  5337184 Monitor IPC:088C (S16) = -3327
  5337184 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -20.3125
  5337215 Monitor IPC:088C (S16) = -3583
  5337215 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -21.875
  5337246 Monitor IPC:088C (S16) = -3839
  5337246 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.4375
  5337278 Monitor IPC:088C (S16) = -3931
  5337278 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.9999994636
  5338650 Monitor IPC:088C (S16) = -3849
  5338650 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -23.4985351563
  5338744 Monitor IPC:088C (S16) = -3639
  5338744 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -22.216796875
  5338806 Monitor IPC:088C (S16) = -3301
  5338806 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -20.1538085938
  5338869 Monitor IPC:088C (S16) = -2963
  5338869 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -18.0908203125
  5338931 Monitor IPC:088C (S16) = -2625
  5338931 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -16.0278320313
  5339009 Monitor IPC:088C (S16) = -2287
  5339009 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -13.96484375
  5339072 Monitor IPC:088C (S16) = -1949
  5339072 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -11.9018554688
  5339134 Monitor IPC:088C (S16) = -1611
  5339134 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -9.8388671875
  5339196 Monitor IPC:088C (S16) = -1273
  5339196 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -7.77587890625
  5339259 Monitor IPC:088C (S16) = -935
  5339259 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -5.712890625
  5339321 Monitor IPC:088C (S16) = -597
  5339321 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -3.64990234375
  5339384 Monitor IPC:088C (S16) = -259
  5339384 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -1.5869140625
  5339462 Monitor IPC:088C (S16) = 0
  5339462 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: 0
  5341630 Monitor IPC:088C (S16) = -63
  5341630 SimRead: 088C="GENERAL ENG THROTTLE LEVER POSITION:1" [also 3AE8]
        	FLT64: -0.390625

Posted

To recap:

Button assigned in FSUIPC to throttle_decr_small works on J41 and Duke (and other generics).

Range assigned in FSUIPC to throttle_incr_small works on both.

Neither ipc.write nor ipc.control work on J41, but they work on Duke.

Posted

Button assigned in FSUIPC to throttle_decr_small works on J41 and Duke (and other generics).

Range assigned in FSUIPC to throttle_incr_small works on both.

Neither ipc.write nor ipc.control work on J41, but they work on Duke.

Earlier you said "throttle decr small", which is not the same control as "throttle1 decr small". the are numbers 66634 and 66635 respectively. The FS keys will operate the general all-engine controls, not the individual engines.

There's no difference between assigning a control in FSUIPC and using the ipc.control function in Lua. both do the same thing -- send the control number to FS.

BTW I noticed the thrust logged in one of the logs above going to -16384 -- full power reverse! Is that actually allowed on that aircraft? I know jets tend to have a max of 25% (-4096) or less in reverse.

Regards

Pete

Posted

Earlier you said "throttle decr small", which is not the same control as "throttle1 decr small". the are numbers 66634 and 66635 respectively. The FS keys will operate the general all-engine controls, not the individual engines.

There's no difference between assigning a control in FSUIPC and using the ipc.control function in Lua. both do the same thing -- send the control number to FS.

BTW I noticed the thrust logged in one of the logs above going to -16384 -- full power reverse! Is that actually allowed on that aircraft? I know jets tend to have a max of 25% (-4096) or less in reverse.

Regards

Pete

In FSUIPC it's assigned to THROTTLE1_DECR_SMALL for below the detent. Works on J41 and others.

If I assign THROTTLE1_INCR_SMALL to the axis range in FSUIPC it works. If I call ipc.writeXX or ipc.control(65965), it does not work in the J41, but works on others.

F3 works on the J41 and all others affecting both throttles.

I enter reverse through the repeat of THROTTLE1_DECR_SMALL, so whatever that does is what causes it go to -16384. Seems to work.

The only thing that does not work is ipc.write/control on J41 for some reason. Very odd...

Posted

I don't know what changed (restarted FSX), but the ipc.control now works. ipc.control(65820, n) also works, but ipc.write does not. So I'll use 65820 etc. instead.

Any idea why there's such an update delay between sending the control and reading the updated value. See my logs below, which show the read value, and what it will updated to. You'll see there is always several iterations of the same value being read (that is, it was updated, but on the next cycle, the same value is returned again):

********* LUA: "throttles" Log [from FSUIPC version 4.728b] *********
 12383375 System time = 14/09/2011 18:09:37, Simulator time = 13:12:14 (17:12Z)
 12383375 LUA: beginning "C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Modules\throttles.lua"
 12391424 LUA: 65820 = -16383 setting -16383 + 146 = -16237
 12391487 LUA: 65820 = -16383 setting -16383 + 146 = -16237
 12391580 LUA: 65820 = -16234 setting -16234 + 146 = -16088
 12391627 LUA: 65820 = -16234 setting -16234 + 146 = -16088
 12391674 LUA: 65820 = -16234 setting -16234 + 146 = -16088
 12391768 LUA: 65820 = -16085 setting -16085 + 146 = -15939
 12391814 LUA: 65820 = -16085 setting -16085 + 146 = -15939
 12391861 LUA: 65820 = -16085 setting -16085 + 146 = -15939
 12391955 LUA: 65820 = -15936 setting -15936 + 146 = -15790
 12392002 LUA: 65820 = -15936 setting -15936 + 146 = -15790
 12392048 LUA: 65820 = -15936 setting -15936 + 146 = -15790
 12392142 LUA: 65820 = -15787 setting -15787 + 146 = -15641
 12392189 LUA: 65820 = -15787 setting -15787 + 146 = -15641
 12392236 LUA: 65820 = -15787 setting -15787 + 146 = -15641
 12392314 LUA: 65820 = -15638 setting -15638 + 146 = -15492
 12392360 LUA: 65820 = -15638 setting -15638 + 146 = -15492
 12392454 LUA: 65820 = -15638 setting -15638 + 146 = -15492
 12392501 LUA: 65820 = -15489 setting -15489 + 146 = -15343
 12392548 LUA: 65820 = -15489 setting -15489 + 146 = -15343
 12392641 LUA: 65820 = -15340 setting -15340 + 146 = -15194
 12392688 LUA: 65820 = -15340 setting -15340 + 146 = -15194
 12392735 LUA: 65820 = -15340 setting -15340 + 146 = -15194
 12392828 LUA: 65820 = -15191 setting -15191 + 146 = -15045
 12392860 LUA: 65820 = -15191 setting -15191 + 146 = -15045
 12392953 LUA: 65820 = -15191 setting -15191 + 146 = -15045
 12393000 LUA: 65820 = -15042 setting -15042 + 146 = -14896
 12393047 LUA: 65820 = -15042 setting -15042 + 146 = -14896
 12393140 LUA: 65820 = -14893 setting -14893 + 146 = -14747
 12393172 LUA: 65820 = -14893 setting -14893 + 146 = -14747
 12393265 LUA: 65820 = -14744 setting -14744 + 146 = -14598
 12393312 LUA: 65820 = -14744 setting -14744 + 146 = -14598
 12393359 LUA: 65820 = -14744 setting -14744 + 146 = -14598
 12393452 LUA: 65820 = -14595 setting -14595 + 146 = -14449
 12393499 LUA: 65820 = -14595 setting -14595 + 146 = -14449
 12393577 LUA: 65820 = -14446 setting -14446 + 146 = -14300
 12393624 LUA: 65820 = -14446 setting -14446 + 146 = -14300
 12393671 LUA: 65820 = -14446 setting -14446 + 146 = -14300
 12393764 LUA: 65820 = -14297 setting -14297 + 146 = -14151
 12393811 LUA: 65820 = -14297 setting -14297 + 146 = -14151
 12393858 LUA: 65820 = -14297 setting -14297 + 146 = -14151
 12393952 LUA: 65820 = -14148 setting -14148 + 146 = -14002
 12393983 LUA: 65820 = -14148 setting -14148 + 146 = -14002
 12394076 LUA: 65820 = -13999 setting -13999 + 146 = -13853
 12394123 LUA: 65820 = -13999 setting -13999 + 146 = -13853
 12394170 LUA: 65820 = -13999 setting -13999 + 146 = -13853
 12394264 LUA: 65820 = -13850 setting -13850 + 146 = -13704
 12394295 LUA: 65820 = -13850 setting -13850 + 146 = -13704
 12394388 LUA: 65820 = -13701 setting -13701 + 146 = -13555
 12394435 LUA: 65820 = -13701 setting -13701 + 146 = -13555
 12394513 LUA: 65820 = -13552 setting -13552 + 146 = -13406
 12394560 LUA: 65820 = -13552 setting -13552 + 146 = -13406
 12394607 LUA: 65820 = -13552 setting -13552 + 146 = -13406
 12394685 LUA: 65820 = -13403 setting -13403 + 146 = -13257
 12394732 LUA: 65820 = -13403 setting -13403 + 146 = -13257
 12394810 LUA: 65820 = -13254 setting -13254 + 146 = -13108
 12394872 LUA: 65820 = -13254 setting -13254 + 146 = -13108
 12394950 LUA: 65820 = -13254 setting -13254 + 146 = -13108
 12394981 LUA: 65820 = -13105 setting -13105 + 146 = -12959
 12395075 LUA: 65820 = -13105 setting -13105 + 146 = -12959
 12395122 LUA: 65820 = -13105 setting -13105 + 146 = -12959
 12395200 LUA: 65820 = -12956 setting -12956 + 146 = -12810
 12395246 LUA: 65820 = -12956 setting -12956 + 146 = -12810
 12395324 LUA: 65820 = -12956 setting -12956 + 146 = -12810
 12395371 LUA: 65820 = -12807 setting -12807 + 146 = -12661
 12395418 LUA: 65820 = -12807 setting -12807 + 146 = -12661
 12395496 LUA: 65820 = -12807 setting -12807 + 146 = -12661
 12395543 LUA: 65820 = -12658 setting -12658 + 146 = -12512
 12395636 LUA: 65820 = -12658 setting -12658 + 146 = -12512
 12395668 LUA: 65820 = -12658 setting -12658 + 146 = -12512
 12395761 LUA: 65820 = -12509 setting -12509 + 146 = -12363
 12395792 LUA: 65820 = -12509 setting -12509 + 146 = -12363
 12395886 LUA: 65820 = -12360 setting -12360 + 146 = -12214
 12395917 LUA: 65820 = -12360 setting -12360 + 146 = -12214
 12396011 LUA: 65820 = -12360 setting -12360 + 146 = -12214
 12396042 LUA: 65820 = -12211 setting -12211 + 146 = -12065
 12396136 LUA: 65820 = -12211 setting -12211 + 146 = -12065
 12396167 LUA: 65820 = -12211 setting -12211 + 146 = -12065
 12396260 LUA: 65820 = -12062 setting -12062 + 146 = -11916
 12396292 LUA: 65820 = -12062 setting -12062 + 146 = -11916
 12396370 LUA: 65820 = -11913 setting -11913 + 146 = -11767
 12396416 LUA: 65820 = -11913 setting -11913 + 146 = -11767
 12396510 LUA: 65820 = -11913 setting -11913 + 146 = -11767
 12396541 LUA: 65820 = -11764 setting -11764 + 146 = -11618
 12396619 LUA: 65820 = -11764 setting -11764 + 146 = -11618
 12396666 LUA: 65820 = -11764 setting -11764 + 146 = -11618
 12396744 LUA: 65820 = -11615 setting -11615 + 146 = -11469
 12396962 LUA: 65820 = -11615 setting -11615 + 146 = -11469
 12397040 LUA: 65820 = -11615 setting -11615 + 146 = -11469
 12397118 LUA: 65820 = -11466 setting -11466 + 146 = -11320
 12397165 LUA: 65820 = -11466 setting -11466 + 146 = -11320
 12397243 LUA: 65820 = -11317 setting -11317 + 146 = -11171
 12397290 LUA: 65820 = -11317 setting -11317 + 146 = -11171
 12397368 LUA: 65820 = -11168 setting -11168 + 146 = -11022
 12397415 LUA: 65820 = -11168 setting -11168 + 146 = -11022
 12397493 LUA: 65820 = -11168 setting -11168 + 146 = -11022
 12397571 LUA: 65820 = -11019 setting -11019 + 146 = -10873
 12397618 LUA: 65820 = -11019 setting -11019 + 146 = -10873
 12397696 LUA: 65820 = -10870 setting -10870 + 146 = -10724
 12397727 LUA: 65820 = -10870 setting -10870 + 146 = -10724
 12397820 LUA: 65820 = -10721 setting -10721 + 146 = -10575
 12397867 LUA: 65820 = -10721 setting -10721 + 146 = -10575
 12397945 LUA: 65820 = -10721 setting -10721 + 146 = -10575
 12397976 LUA: 65820 = -10572 setting -10572 + 146 = -10426
 12398070 LUA: 65820 = -10572 setting -10572 + 146 = -10426
 12398101 LUA: 65820 = -10572 setting -10572 + 146 = -10426
 12398179 LUA: 65820 = -10423 setting -10423 + 146 = -10277
 12398226 LUA: 65820 = -10423 setting -10423 + 146 = -10277
 12398304 LUA: 65820 = -10274 setting -10274 + 146 = -10128
 12398398 LUA: 65820 = -10274 setting -10274 + 146 = -10128
 12398429 LUA: 65820 = -10125 setting -10125 + 146 = -9979
 12398476 LUA: 65820 = -10125 setting -10125 + 146 = -9979
 12398554 LUA: 65820 = -10125 setting -10125 + 146 = -9979
 12398600 LUA: 65820 = -9976 setting -9976 + 146 = -9830
 12398678 LUA: 65820 = -9976 setting -9976 + 146 = -9830
 12398756 LUA: 65820 = -9827 setting -9827 + 146 = -9681
 12398803 LUA: 65820 = -9827 setting -9827 + 146 = -9681
 12398881 LUA: 65820 = -9678 setting -9678 + 146 = -9532
 12398912 LUA: 65820 = -9678 setting -9678 + 146 = -9532
 12399006 LUA: 65820 = -9678 setting -9678 + 146 = -9532
 12399037 LUA: 65820 = -9529 setting -9529 + 146 = -9383
 12399115 LUA: 65820 = -9529 setting -9529 + 146 = -9383
 12399209 LUA: 65820 = -9380 setting -9380 + 146 = -9234
 12399240 LUA: 65820 = -9380 setting -9380 + 146 = -9234
 12399287 LUA: 65820 = -9380 setting -9380 + 146 = -9234
 12399365 LUA: 65820 = -9231 setting -9231 + 146 = -9085
 12399443 LUA: 65820 = -9231 setting -9231 + 146 = -9085
 12399474 LUA: 65820 = -9082 setting -9082 + 146 = -8936
 12399552 LUA: 65820 = -9082 setting -9082 + 146 = -8936
 12399599 LUA: 65820 = -8933 setting -8933 + 146 = -8787
 12399677 LUA: 65820 = -8933 setting -8933 + 146 = -8787
 12399724 LUA: 65820 = -8933 setting -8933 + 146 = -8787
 12399802 LUA: 65820 = -8784 setting -8784 + 146 = -8638
 12399848 LUA: 65820 = -8784 setting -8784 + 146 = -8638
 12399926 LUA: 65820 = -8635 setting -8635 + 146 = -8489
 12400004 LUA: 65820 = -8635 setting -8635 + 146 = -8489
 12400036 LUA: 65820 = -8486 setting -8486 + 146 = -8340
 12400114 LUA: 65820 = -8486 setting -8486 + 146 = -8340
 12400160 LUA: 65820 = -8486 setting -8486 + 146 = -8340
 12400238 LUA: 65820 = -8337 setting -8337 + 146 = -8191
 12400316 LUA: 65820 = -8337 setting -8337 + 146 = -8191
 12400363 LUA: 65820 = -8188 setting -8188 + 146 = -8042
 12400441 LUA: 65820 = -8188 setting -8188 + 146 = -8042
 12400488 LUA: 65820 = -8039 setting -8039 + 146 = -7893
 12400550 LUA: 65820 = -8039 setting -8039 + 146 = -7893
 12400597 LUA: 65820 = -7890 setting -7890 + 146 = -7744
 12400675 LUA: 65820 = -7890 setting -7890 + 146 = -7744
 12400722 LUA: 65820 = -7890 setting -7890 + 146 = -7744
 12400800 LUA: 65820 = -7741 setting -7741 + 146 = -7595
 12400847 LUA: 65820 = -7741 setting -7741 + 146 = -7595
 12400925 LUA: 65820 = -7592 setting -7592 + 146 = -7446
 12401003 LUA: 65820 = -7592 setting -7592 + 146 = -7446
 12401034 LUA: 65820 = -7443 setting -7443 + 146 = -7297
 12401112 LUA: 65820 = -7443 setting -7443 + 146 = -7297
 12401159 LUA: 65820 = -7443 setting -7443 + 146 = -7297
 12401237 LUA: 65820 = -7294 setting -7294 + 146 = -7148
 12401284 LUA: 65820 = -7294 setting -7294 + 146 = -7148
 12401362 LUA: 65820 = -7145 setting -7145 + 146 = -6999
 12401408 LUA: 65820 = -7145 setting -7145 + 146 = -6999
 12401486 LUA: 65820 = -6996 setting -6996 + 146 = -6850
 12401564 LUA: 65820 = -6996 setting -6996 + 146 = -6850
 12401596 LUA: 65820 = -6847 setting -6847 + 146 = -6701
 12401674 LUA: 65820 = -6847 setting -6847 + 146 = -6701
 12401720 LUA: 65820 = -6847 setting -6847 + 146 = -6701
 12401798 LUA: 65820 = -6698 setting -6698 + 146 = -6552
 12401876 LUA: 65820 = -6698 setting -6698 + 146 = -6552
 12401923 LUA: 65820 = -6549 setting -6549 + 146 = -6403
 12402001 LUA: 65820 = -6549 setting -6549 + 146 = -6403
 12402032 LUA: 65820 = -6400 setting -6400 + 146 = -6254
 12402110 LUA: 65820 = -6400 setting -6400 + 146 = -6254
 12402157 LUA: 65820 = -6400 setting -6400 + 146 = -6254
 12402235 LUA: 65820 = -6251 setting -6251 + 146 = -6105
 12402313 LUA: 65820 = -6251 setting -6251 + 146 = -6105
 12402360 LUA: 65820 = -6102 setting -6102 + 146 = -5956
 12402438 LUA: 65820 = -6102 setting -6102 + 146 = -5956
 12402485 LUA: 65820 = -5953 setting -5953 + 146 = -5807
 12402563 LUA: 65820 = -5953 setting -5953 + 146 = -5807
 12402594 LUA: 65820 = -5804 setting -5804 + 146 = -5658
 12402672 LUA: 65820 = -5804 setting -5804 + 146 = -5658
 12402719 LUA: 65820 = -5804 setting -5804 + 146 = -5658
 12402797 LUA: 65820 = -5655 setting -5655 + 146 = -5509
 12402844 LUA: 65820 = -5655 setting -5655 + 146 = -5509
 12402922 LUA: 65820 = -5506 setting -5506 + 146 = -5360
 12402968 LUA: 65820 = -5506 setting -5506 + 146 = -5360
 12403046 LUA: 65820 = -5357 setting -5357 + 146 = -5211
 12403124 LUA: 65820 = -5357 setting -5357 + 146 = -5211
 12403156 LUA: 65820 = -5357 setting -5357 + 146 = -5211
 12403249 LUA: 65820 = -5208 setting -5208 + 146 = -5062
 12403280 LUA: 65820 = -5208 setting -5208 + 146 = -5062
 12403358 LUA: 65820 = -5059 setting -5059 + 146 = -4913
 12403405 LUA: 65820 = -5059 setting -5059 + 146 = -4913
 12403483 LUA: 65820 = -4910 setting -4910 + 146 = -4764
 12403530 LUA: 65820 = -4910 setting -4910 + 146 = -4764
 12403608 LUA: 65820 = -4910 setting -4910 + 146 = -4764
 12403686 LUA: 65820 = -4761 setting -4761 + 146 = -4615
 12403733 LUA: 65820 = -4761 setting -4761 + 146 = -4615
 12403811 LUA: 65820 = -4612 setting -4612 + 146 = -4466
 12403858 LUA: 65820 = -4612 setting -4612 + 146 = -4466
 12404014 LUA: 65820 = -4612 setting -4612 + 146 = -4466
 12404060 LUA: 65820 = -4463 setting -4463 + 146 = -4317
 12404107 LUA: 65820 = -4463 setting -4463 + 146 = -4317
 12404154 LUA: 65820 = -4463 setting -4463 + 146 = -4317
 12404232 LUA: 65820 = -4314 setting -4314 + 146 = -4168
 12404279 LUA: 65820 = -4314 setting -4314 + 146 = -4168
 12404357 LUA: 65820 = -4165 setting -4165 + 146 = -4019
 12404404 LUA: 65820 = -4165 setting -4165 + 146 = -4019
 12404497 LUA: 65820 = -4016 setting -4016 + 146 = -3870
 12404544 LUA: 65820 = -4016 setting -4016 + 146 = -3870
 12404622 LUA: 65820 = -3867 setting -3867 + 146 = -3721
 12404669 LUA: 65820 = -3867 setting -3867 + 146 = -3721
 12404716 LUA: 65820 = -3867 setting -3867 + 146 = -3721
 12404794 LUA: 65820 = -3718 setting -3718 + 146 = -3572
 12404840 LUA: 65820 = -3718 setting -3718 + 146 = -3572
 12404934 LUA: 65820 = -3569 setting -3569 + 146 = -3423
 12404981 LUA: 65820 = -3569 setting -3569 + 146 = -3423
 12405028 LUA: 65820 = -3569 setting -3569 + 146 = -3423
 12405106 LUA: 65820 = -3420 setting -3420 + 146 = -3274
 12405152 LUA: 65820 = -3420 setting -3420 + 146 = -3274
 12405230 LUA: 65820 = -3271 setting -3271 + 146 = -3125
 12405277 LUA: 65820 = -3271 setting -3271 + 146 = -3125
 12405371 LUA: 65820 = -3122 setting -3122 + 146 = -2976
 12405402 LUA: 65820 = -3122 setting -3122 + 146 = -2976
 12405496 LUA: 65820 = -2973 setting -2973 + 146 = -2827
 12405542 LUA: 65820 = -2973 setting -2973 + 146 = -2827
 12405620 LUA: 65820 = -2824 setting -2824 + 146 = -2678
 12405667 LUA: 65820 = -2824 setting -2824 + 146 = -2678
 12405745 LUA: 65820 = -2675 setting -2675 + 146 = -2529
 12405792 LUA: 65820 = -2675 setting -2675 + 146 = -2529
 12405839 LUA: 65820 = -2675 setting -2675 + 146 = -2529
 12405917 LUA: 65820 = -2526 setting -2526 + 146 = -2380
 12405995 LUA: 65820 = -2526 setting -2526 + 146 = -2380
 12406042 LUA: 65820 = -2377 setting -2377 + 146 = -2231
 12406088 LUA: 65820 = -2377 setting -2377 + 146 = -2231
 12406166 LUA: 65820 = -2377 setting -2377 + 146 = -2231
 12406213 LUA: 65820 = -2228 setting -2228 + 146 = -2082
 12406291 LUA: 65820 = -2228 setting -2228 + 146 = -2082
 12406338 LUA: 65820 = -2228 setting -2228 + 146 = -2082
 12406416 LUA: 65820 = -2079 setting -2079 + 146 = -1933
 12406463 LUA: 65820 = -2079 setting -2079 + 146 = -1933
 12406541 LUA: 65820 = -1930 setting -1930 + 146 = -1784
 12406588 LUA: 65820 = -1930 setting -1930 + 146 = -1784
 12406681 LUA: 65820 = -1930 setting -1930 + 146 = -1784
 12406712 LUA: 65820 = -1781 setting -1781 + 146 = -1635
 12406790 LUA: 65820 = -1781 setting -1781 + 146 = -1635
 12406837 LUA: 65820 = -1781 setting -1781 + 146 = -1635
 12406931 LUA: 65820 = -1632 setting -1632 + 146 = -1486
 12406978 LUA: 65820 = -1632 setting -1632 + 146 = -1486
 12407056 LUA: 65820 = -1632 setting -1632 + 146 = -1486
 12407102 LUA: 65820 = -1483 setting -1483 + 146 = -1337
 12407149 LUA: 65820 = -1483 setting -1483 + 146 = -1337
 12407227 LUA: 65820 = -1483 setting -1483 + 146 = -1337
 12407274 LUA: 65820 = -1334 setting -1334 + 146 = -1188
 12407368 LUA: 65820 = -1334 setting -1334 + 146 = -1188
 12407414 LUA: 65820 = -1185 setting -1185 + 146 = -1039
 12407492 LUA: 65820 = -1185 setting -1185 + 146 = -1039
 12407539 LUA: 65820 = -1036 setting -1036 + 146 = -890
 12407586 LUA: 65820 = -1036 setting -1036 + 146 = -890
 12407664 LUA: 65820 = -1036 setting -1036 + 146 = -890
 12407711 LUA: 65820 = -887 setting -887 + 146 = -741
 12407789 LUA: 65820 = -887 setting -887 + 146 = -741
 12407836 LUA: 65820 = -887 setting -887 + 146 = -741
 12407914 LUA: 65820 = -738 setting -738 + 146 = -592
 12407960 LUA: 65820 = -738 setting -738 + 146 = -592
 12408054 LUA: 65820 = -589 setting -589 + 146 = -443
 12408101 LUA: 65820 = -589 setting -589 + 146 = -443
 12408179 LUA: 65820 = -440 setting -440 + 146 = -294
 12408226 LUA: 65820 = -440 setting -440 + 146 = -294
 12408272 LUA: 65820 = -440 setting -440 + 146 = -294
 12408350 LUA: 65820 = -291 setting -291 + 146 = -145
 12408397 LUA: 65820 = -291 setting -291 + 146 = -145
 12408491 LUA: 65820 = -142 setting -142 + 142 = 0
 12408522 LUA: 65820 = -142 setting -142 + 142 = 0
 12408616 LUA: 65820 = -142 setting -142 + 142 = 0
 12408662 LUA: 65820 = -113 setting -113 + 113 = 0
 12408756 LUA: 65820 = -72 setting -72 + 72 = 0
 12408803 LUA: 65820 = -58 setting -58 + 58 = 0
 12408834 LUA: 65820 = -58 setting -58 + 58 = 0
 12408928 LUA: 65820 = -36 setting -36 + 36 = 0
 12408974 LUA: 65820 = -29 setting -29 + 29 = 0
 12409052 LUA: 65820 = -23 setting -23 + 23 = 0
 12409099 LUA: 65820 = -18 setting -18 + 18 = 0
 12409146 LUA: 65820 = -14 setting -14 + 14 = 0
 12409224 LUA: 65820 = -11 setting -11 + 11 = 0
 12409271 LUA: 65820 = -9 setting -9 + 9 = 0
 12409349 LUA: 65820 = -5 setting -5 + 5 = 0
 12409396 LUA: 65820 = -5 setting -5 + 5 = 0
 12409474 LUA: 65820 = -3 setting -3 + 3 = 0
 12409520 LUA: 65820 = -2 setting -2 + 2 = 0
 12409598 LUA: 65820 = -2 setting -2 + 2 = 0
 12409692 LUA: 65820 = -1 setting -1 + 1 = 0
 12409723 LUA: 65820 = -1 setting -1 + 1 = 0

Posted

I don't know what changed (restarted FSX), but the ipc.control now works. ipc.control(65820, n) also works, but ipc.write does not. So I'll use 65820 etc. instead.

65820 is THROTTLE1_SET, the old FS axis control, the one which allows a reverse range.

When you were editing the Lua, were you reloading FS to test it, or changing aircraft? If neither it wouldn't have reloaded and recompiled, but remained running as it was. The file on disk is not being re-interpreted all the time, it is only loaded the once.

To develop and test Lua plug-ins I assign two keypresses -- one to to Kill it ("LuaKill <name>") and the other to run it ("Lua <name>"). Then you can keep changing it, testing it, etc, in the one session without any other reloads. Or you can get away with just the one keypress, to run it -- when you run a Lua which is already running it kills the existing one automatically.

Regards

Pete

Posted

65820 is THROTTLE1_SET, the old FS axis control, the one which allows a reverse range.

When you were editing the Lua, were you reloading FS to test it, or changing aircraft? If neither it wouldn't have reloaded and recompiled, but remained running as it was. The file on disk is not being re-interpreted all the time, it is only loaded the once.

To develop and test Lua plug-ins I assign two keypresses -- one to to Kill it ("LuaKill <name>") and the other to run it ("Lua <name>"). Then you can keep changing it, testing it, etc, in the one session without any other reloads. Or you can get away with just the one keypress, to run it -- when you run a Lua which is already running it kills the existing one automatically.

Regards

Pete

I was swapping aircraft. Here's the final script. It can use either INCR_SMALL or SET. If SET is used, the delta (throttle increase rate) can be variable based on the axis position (how far forward).

It seems the J41 filters some of the throttle inputs, as it sometime won't accept the setting unless the delta is larger enough (don't know how large, maybe 512) but works well enough.


-- Use the beginning of a throttle axis range to decrease reverse thrust
-- by using either THROTTLEX_SET with min/max delta based on range position
-- or THROTTLEX_INCR_SMALL. Both work on the J41, but INCR_SMALL appears smoother.

-- Configuration syntax: joystick, axis, axis_low, axis_high, throttle_ipc, zero_control, set/incr_control, delta_min, delta_max
-- If delta_min == delta_max == 0 then control is sent without a parameter.

-- THROTTLEX_SET configuration
throttle_config = {
  { 0, "Z", -16256, -13440, 0x088c, 65820, 65820, 32, 256 }, -- 65820 = THROTTLE1_SET, 65965 = THROTTLE1_INCR_SMALL
  { 0, "U", -16256, -13440, 0x0924, 65821, 65821, 32, 256 }  -- 65821 = THROTTLE2_SET, 65970 = THROTTLE2_INCR_SMALL
}

-- THROTTLEX_INCR_SMALL configuration
--throttle_config = {
--  { 0, "Z", -16256, -13440, 0x088c, 65820, 65965, 0, 0 }, -- 65820 = THROTTLE1_SET, 65965 = THROTTLE1_INCR_SMALL
--  { 0, "U", -16256, -13440, 0x0924, 65821, 65970, 0, 0 }  -- 65821 = THROTTLE2_SET, 65970 = THROTTLE2_INCR_SMALL
--}

poll_interval = 50

function list_iter(t)
  local i = 0
  local n = table.getn(t)

  return function ()
    i = i + 1

    if i &lt;= n then
      return t[i]
    end
  end
end

function poll_axis()
  for config in list_iter(throttle_config) do
    local joy = config[1]
    local axis = config[2]
    local alo = config[3]
    local ahi = config[4]
    local a = ipc.axis(joy, axis)

    if (a &gt; alo) and (a &lt;= ahi) then
      local ofs = config[5]
      local t = ipc.readSW(ofs)

      if (t &gt; 0) then
        local ctrl = config[6]

        ipc.control(ctrl, 0);
--        ipc.log(ctrl.." = "..t.." setting 0")
      elseif (t &lt; 0) then
        local ctrl = config[7]
        local dlo = config[8]
        local dhi = config[9]

        if (dlo == dhi == 0) then
          ipc.control(ctrl)
--          ipc.log(ctrl.." = "..t)
        else
          local delta = math.ceil(dlo + (dhi - dlo) * (a - alo) / (ahi - alo))

          if (t &gt; -delta) then
            delta = -t
          end

          ipc.control(ctrl, t + delta)
--          ipc.log(ctrl.." = "..t.." setting "..t.." + "..delta.." = "..(t+delta))
        end
      end
    end
  end
end

event.timer(poll_interval, "poll_axis")

Posted

Pete,

If I wanted to handle the entire axis range inside a Lua function, how would I got about it? I'd like to get the "calibrated" values triggered as an event. Is this possible?

For example, for the throttle lever (-16k to 16k) I'd like to have my callback function event driven with the calibrated output values (0-16k) but not have it sent to FS (my function would do that as needed). Here's why...

I like the way my reverse is working, but what I'd like to do is make the entire throttle lever an anti-reverse button (for lack of a better term) until the aircraft throttle is in idle, at which point it would become a regular throttle.

I can do this by assigning to axis to write to the FSUIPC throttle offset, and event.intercept that offset, but that would provide me with raw values. I can calibrate manually, but it would be nicer if I could use the already calibrated values, or at least query for calibration settings.

Thoughts?

Regards,

John

Posted

If I wanted to handle the entire axis range inside a Lua function, how would I got about it? I'd like to get the "calibrated" values triggered as an event. Is this possible?

Yes.

For FSUIPC to calibrate an axis but not send it on to FS you'd need to disconnect after calibration. That's done using offsets in FSUIPC -- there are bits for most of the control axes which have to be set to do a disconnection. These were intended (and used) for Fly-By-Wire implementations. For safety FSUIPC restores the connection every 10 seconds or so unless you reset the bits more often, so you need to keep setting the right bit (use the ipc.setbitsUW function)..

You need really to refer to the offsets lists where these things are described. Download the FSUIPC SDK. There's a Programmers guide which covers FS9 and before, and an FSUIPC4 Offsets status document which covers FSX. Both are the same for all this. Check offset 310A for the disconnection.

You can read the calibrated value which would have otherwise have been sent to FS in signed 16-bit words ("SW") in offsets starting at 3328. You can use event.offset to set an intercept for changes to the relevant value.

You can read the calibrated value even if the axis is not disconnected, if that's all you want.

Regards

Pete

Posted

Yes.

For FSUIPC to calibrate an axis but not send it on to FS you'd need to disconnect after calibration. That's done using offsets in FSUIPC -- there are bits for most of the control axes which have to be set to do a disconnection. These were intended (and used) for Fly-By-Wire implementations. For safety FSUIPC restores the connection every 10 seconds or so unless you reset the bits more often, so you need to keep setting the right bit (use the ipc.setbitsUW function)..

You need really to refer to the offsets lists where these things are described. Download the FSUIPC SDK. There's a Programmers guide which covers FS9 and before, and an FSUIPC4 Offsets status document which covers FSX. Both are the same for all this. Check offset 310A for the disconnection.

You can read the calibrated value which would have otherwise have been sent to FS in signed 16-bit words ("SW") in offsets starting at 3328. You can use event.offset to set an intercept for changes to the relevant value.

You can read the calibrated value even if the axis is not disconnected, if that's all you want.

Regards

Pete

Thanks, I'll give that a try.

Posted

Just one quick question: If the disconnect is set/enabled for a throttle, can I still send ipc.control values to the disconnected throttle, or will they be ignored?

Should be okay. Without tracing through the code I'm not sure. Try it.

Pete

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.