Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik > Daidalos Team discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 01-29-2012, 02:36 PM
Pfeil Pfeil is offline
Approved Member
 
Join Date: Jan 2012
Posts: 126
Default Devicelink Functionality

Early on, Devicelink was deemed too "exploitable" for use in multiplayer, which in my opinion killed most interest in implementing it. Both for 3rd parties and the devs.

Aside from UDPSpeed and UDPGraph, there are very few programs compatible with, let alone designed for, IL2 Devicelink.
None of the simulator instrument manufacturers(FlightIllusion, SimKits, Simmeters, etc..) support it either.

I bring it up for a simple, fairly selfish, reason; I'm looking to build a simpit for IL2. While it would be mostly generic, as is logical when the amount of flyable aircraft is this diverse, accurately implementable gauges are still a minimum requirement.
When using a hardware cockpit, it makes little sense to view the instruments though a virtual onscreen cockpit, as this would simply shatter immersion.

Therefore, I'm hoping Daidalos Team could consider expanding Devicelink functionality.


I've already done some experimenting myself, and wrote a small app in C# to do the UDP communication. The external software side is not the problem here(I'm willing to figure it out).

The biggest problem right now is that some(quite a few) gauges/values aren't implemented in Devicelink, even though they work in the virtual cockpit(Radio Altimeter, Oil Pressure, Fuel Pressure, OAT, Ammunition Indicators, etc..).
Even things like flap position or prop pitch can only be read from the control setting, not the actual position.

Some outputs produce odd, or no values at all such as Turn and Slip.

In more than a few cases, the documentation doesn't include a description of unit the output value is in(Bar, Degrees, ...)

Many of the switch values(Lights for example) can't be read out through Devicelink either. This makes implementing toggle switches impossible without them getting desyncronised with the sim.

The onscreen messages(engine fire, fuel tank leak, ...) could also be made available.
These have no gauge, but having a light or annunciator in the cockpit/simpit would break immersion much less than the flashing text onscreen(I know it can be turned off, but there's no real alternative to it AFAIK).


Ideally, Devicelink could also support engine ID values for all setting relevant to engines(Feather Prop, Radiator, ...) without selecting engines first.
Though having these controls available per engine though the control settings in the sim itself would be beneficial outside of Devicelink as well.


Lastly, I would like to suggest a few things that might make online availability of Devicelink possible:

Return semi random values during blackout/redout, making the gauges deviate wildly(I.E. if altitude is 2000, return values from 2500 to 1500). Or output nothing.

Disable output when a non-cockpit view is selected. DeviceLink currently has an output for this(cockpit cur, 26), however using it is up to the designer.
This could be coupled to an existing setting like speedbar, so implementing additional difficulty settings could be avoided.

Don't output "true" values, only instrument readouts. This makes sure that DeviceLink instruments can't move faster than those displayed in the sim. Currently the variometer(and other gauges) output changes in value faster than the virtual gauge.
Another benefit of this is authentic needle movement for anything using Devicelink.
Reply With Quote
  #2  
Old 01-29-2013, 03:20 AM
Pfeil Pfeil is offline
Approved Member
 
Join Date: Jan 2012
Posts: 126
Default

Figured I'd bump this, as Devicelink seems to be getting more use thanks to apps like Yadeli.

In addition to my previous remarks I'd like to add that the documentation could use an update.
Things like fuel weight without any means of converting to other units(how many kg in a liter?) and overload/shake_level which have no explanation at all could use clarification.

I would also like to add the relatively recent support for Devicelink by hardware manufacturers like FlightIllusion and Opencockpits.
Both developments driven by enthusiasts in the IL2 community, further proving not only the interest in IL2 itself, but cockpit building and Devicelink in particular.


If anyone has anything they would like to see in Devicelink, I encourage you to post them here. I'm hoping a concrete list will help Team Daidalos make Devicelink that much more useful.

Values to change:
44, beacon_azimuth
This doesn't point to the current beacon, nor the course set on the compass. Does it point the the next waypoint? Function should vary depending on difficulty settings. Could be augmented or replace by features mentioned below.

Values to add:
Ammo Remaining, get(int - weapon idx), return: int [rounds/ordnance remaining]
Would serve to replace "Weapon: Out of ammo" messages. Essential for building BF110(And other) cockpit ammo indicators.

Flaps, get(), return: float
There is a flaps variable(82), however this is only the control setting, not the actual deflection. When flaps are in transit or stuck this is required.

Prop Pitch, get(int - engine idx), return: float
Required for prop pitch gauge in numerous German aircraft. Should also work with auto pitch(As the real one does).

Beacon Strength, get(), return: float
The equivalent of the vertical scale on the AFN-1/2

Beacon Azimuth, get() return: float [degrees]
The equivalent of the horizontal scale on the AFN-1/2

Marker Beacon, get() return: int (1/0)
Red light when flying over marker beacons on ILS(Lorenz) approach.

Compass Heading, get(), return: float [degrees]
Compass Heading, set(float)
Heading as set by pilot.

Radio Altimeter, get(), return: float [meters]
Used in some late war aircraft(Do-335, etc..).

Radiator, get(int - engine idx), return: float (-1 - 1.00, negative for auto)
Radiator, set(float)
Current "Cowl or Armor Flaps"(171) method is obsolete due to improvements to this system.

Engine On/Off, get(int - engine idx), return int (1/0)
The simplification in IL2 makes this a weird value, but there is currently no real way to tell if an engine is set to on.

Prop Pitch Auto, get() int (1/0)
Prop Pitch Auto, set()
Oddly absent, though old functionality.

OTA(Outside Air Temperature), get(), return: float [degrees C]
Gauge in cockpit, no corresponding Devicelink value.

Oil Pressure, get(int - engine idx), return: float [bar]
Gauge in cockpit, no corresponding Devicelink value.

Hydraulic Pressure, get(), return: float [bar]
Used in Do-335, gauge shows 0 if gear needs to be lowered manually. Never seen intermediate pressures so could also be int (1/0).

Engine Fire, get(int - engine idx), return: int (1/0)
Replaces onscreen message. Also used for Do-335 fire warning panel.

Head Movement, set(float,float,float)
Expands TrackIR method(11) already available for 6dof support.

Mixture, get(int - engine idx), return: float
Mixture, set(float)
For new analog mixture in 4.12

Methods which have set toggle, but no get:
Tinted Reticle Dimmer/Scope Cover, get(), return: int (1/0)
Cockpit Lights, get(), return: int (1/0)
Nav. Lights, get(), return: int (1/0)
Landing Light, get(), return: int (1/0)
Wingtip Smoke, get(), return: int (1/0)
Toggle Map, get(), return: int (1/0)
Speed Bar, get(), return: int (0 - 3 off, kph, mph ,knots)
Bomb Sight Mode Auto, get(), return: int (1/0)
Bomb Sight Distance, get(), return: float
Bomb Sight Control Left/Right, get(), return: float
Bomb Sight Altitude, get(), return: float
Bomb Velocity, get(), return: float

Methods for new control inputs:
Beacon Next, set()
Beacon Previous, set()
Bomb Fuze mode, set()
Compass Heading Plus, set()
Compass Heading Minus, set()
Jettison Stores, set()


Additions? different opinion? Feel free to reply, I intend to keep this list up-to-date to inform TD as best as we can.
Reply With Quote
  #3  
Old 01-31-2013, 04:59 AM
bolox bolox is offline
Approved Member
 
Join Date: May 2008
Posts: 351
Default

Quote:
None of the simulator instrument manufacturers(FlightIllusion, SimKits, Simmeters, etc..) support it either.
http://www.flightillusion.com/index....ews&Itemid=50;)

Agree totally with the Turn/Slip output values
Reply With Quote
  #4  
Old 01-31-2013, 04:03 PM
Pfeil Pfeil is offline
Approved Member
 
Join Date: Jan 2012
Posts: 126
Default

Quote:
Originally Posted by Pfeil View Post
I would also like to add the relatively recent support for Devicelink by hardware manufacturers like FlightIllusion and Opencockpits.


I should also add Simmeters officially supports IL2 now.
Reply With Quote
  #5  
Old 02-02-2013, 01:22 AM
Plane-Eater Plane-Eater is offline
Approved Member
 
Join Date: Jul 2012
Posts: 19
Default

I would LOVE these improvements as well, with a server-side option to allow them in multiplayer. I'm building a sim pit right now, but hope to eventually build several and network them. Being able to drive gauges in all the pits while flying together would be FANTASTIC.
Reply With Quote
  #6  
Old 07-09-2015, 03:56 PM
Jack_Aubrey Jack_Aubrey is offline
Approved Member
 
Join Date: Jan 2008
Posts: 41
Default

This need to be pushed up a little, and i would like to say that maybe some of the get commands for the gear (preferably 164) should show more variation in it's value as a float.
Reply With Quote
  #7  
Old 12-13-2015, 10:37 PM
Windturbin's Avatar
Windturbin Windturbin is offline
Approved Member
 
Join Date: Feb 2008
Posts: 56
Default No Devicelink Turn/slip output!!!!!

Quote:
Originally Posted by bolox View Post
http://www.flightillusion.com/index....ews&Itemid=50;)

Agree totally with the Turn/Slip output values
BUMP!!!!!!!!!!!!!!

I use flight illusion gauges and I concur......Devicelink Turn/slip output does not put out!

My guess is Daidalos Team is probably my only hope to ever have use of my Slip/turn gauge. Could be an easy fix for someone who knows how and has access?

FYI, here is flight illusions control program functions from IL-2 data for its G-step functios...

031, turn, position, gauge, 04, 036, 0, 0, 1, 1

031 = Flight Illusions plate type (just identifies file for asigning needle the gauge needle movement etc.)

turn = Function name

04 = Not sure

036 = IL2 device link assigned key

0 = macro (I think)

0 = Pre-Add/Subtract (I think)

1 = Mulitiplier

1 = Divider

In Their config software for the turn gauge they also have an entry for.....

Minimum Value = -1000

Maximum Value = 1000

Data type = Float

IL2-Devicelink looks like this............

slip
34 get()
return:float [deg.] -45.00 +45.00


turn
36 get()
return:float [Undefined] -1.00 +1.00
turn indicator


One thing that stands out to me is the [Undefined] in the turn data? I tried editing the devicelink file as [deg.] but did not work?

Sure would appreciate any information on the subject! Will there be a 4.14 down the road or possible fix for this error?

Best Regards,

WC
Reply With Quote
  #8  
Old 12-14-2015, 07:11 AM
Storebror's Avatar
Storebror Storebror is offline
Ask me if I care
 
Join Date: Jun 2010
Location: Denmark
Posts: 92
Default

Actually the DeviceLink output is just fine.
A turn/slip indicator can use any range of values for turn and slip.
IL2 uses the physical degree value for slip, which is reasonable.
Furthermore IL2 uses a standard rate 1 turn for the turn indicator at 50%, which is reasonable too.
This means that when the output for the turn indicator can have values from -1.0 to +1.0, then -1.0 means 6 degrees per second to the left, -0.5 is 3 degress per second to the left (rate 1 turn), 0 is straight, +0.5 is 3 degrees per second to the right and +1.0 is 6 degrees per second to the right.

You will have to adjust the min/max values for your indicator like
Minimum Value = -1
Maximum Value = 1
In case your turn indicator's maximum values are twice a standard turn as well, otherwise adjust the values so they match the maximim 6 degrees per second output from IL2.

As long as Data type = Float is set, everything should be fine.

Best regards - Mike
__________________
'Armor' is a fantasy invented by your C.O. to make you feel better.
Reply With Quote
  #9  
Old 12-14-2015, 04:23 PM
Windturbin's Avatar
Windturbin Windturbin is offline
Approved Member
 
Join Date: Feb 2008
Posts: 56
Default FI software entries

Excellent reply Storebror, was hoping some one would throw the dog a bone!
I needed something to naw on! Now just need to figure out how to apply your information.

I sent an e-mail to FI tech support, but unfortunately their tech support is not as good as their product! Hopefully they will reply.

I have 9 gauges working, but the turn/slip one is a bit different. Here is what their software looks like for turn/slip......

[IMG][/IMG]

FI- had min value -1000 & max 1000 , I changed to -1 & 1 , but no joy.

[IMG][/IMG]

[IMG][/IMG]

This is were the problem may be with understanding how to set values to needle movements!!!! Can use anywhere from 3 to 20 needle values.

[IMG][/IMG]

Needle has position numbers , values per position?

Last edited by Windturbin; 12-14-2015 at 06:16 PM. Reason: Links
Reply With Quote
  #10  
Old 12-15-2015, 08:34 AM
Storebror's Avatar
Storebror Storebror is offline
Ask me if I care
 
Join Date: Jun 2010
Location: Denmark
Posts: 92
Default

Well, this is a bit hard to judge for someone who doesn't have the same piece of hardware.

Let's rule out the easiest thing first:
Is DeviceLink putting out values for turn/slip yes or no?
This can be answered first by taking a look into IL-2's code where it's plain to see that in online sessions this output will be suppressed.
You should fly offline for your tests though.
Next we can give it a try with a sample client app.
I've made one for Android to check what I get back from DeviceLink and this is what I see flying offline:

Slip Deg. and Turn Ind. show valid values which means "it works".

Now we see these lines in your G-Step functions maintenance window:
Code:
030, Slip, Position, Gauge,  , 04, 034, 000, 0, 1, 1
031, turn, Position, Gauge,  , 04, 036, 000, 0, 1, 1
Whether or not "turn" should have a capital "T" is debateable.
The DeviceLink query parameters (34, 36) seem fine.
Comparing this to other DeviceLink Parameters configured there, we see that these two lines have a "000" behind the DeviceLink Parameter, whereas others have "001" at that place.
Can it be that there's a mistake here?
Furthermore you once mentioned that the default config for turn gauge has value ranges of -1000 to +1000.
How about applying a multiplier of 1000 to that gauge?
In my book the line should look like this:
Code:
031, turn, Position, Gauge,  , 04, 036, 001, 0, 1000, 1
Best regards - Mike
__________________
'Armor' is a fantasy invented by your C.O. to make you feel better.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:57 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.