PDA

View Full Version : DeviceLink usage



IL2FlightOps
03-26-2005, 08:50 PM
I would like to take advantage of the DeviceLink Protocol.

Would it be possible for an example Java class to be made available to demostrate how DeviceLink is accessed from a client PC to the PC running IL2?

All that is needed is a class that connects and can get and send messages.

In the DeviceLink Readme it states the Instrument Reading parameters are disabled when IL2 is 'running over the net'.

Is this limitation going to be removed?

I would like to develop an Instrument Panel, with an Artifical Horizon and other instruments, running on a seperate screen.

Is there any further information on DeviceLink, apart from the Readme?

Thank You

BBB_Hyperion
03-26-2005, 09:54 PM
Use a socket class and send requests as instructed in the readme file. Dont send cr or 13 10 to the udp port.

hamselv2
03-27-2005, 08:22 AM
There is a utility called 'IL2 Virtual Cockpit'
on this link:
http://www.checksix-fr.com/
It looks a bit like what you intend to make. You could discuss your questions about DeviceLink with the software developer.

Here is a very useful DeviceLink related link:
http://www.simhq.com/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=98;t=011755

IL2FlightOps
03-28-2005, 07:38 PM
Thanks for the info chaps.

I am working on the Java UDP class now.

The IL2 Virtual Cockpit looks good, however I want to have cockpit gauges on a seperate screen, such as one of these;

www.lilliputuk.com/productinfo.php?product=25 (http://www.lilliputuk.com/productinfo.php?product=25)

Ultimately I would like to build a 'Fighter Cockpit' using www.simkits.com (http://www.simkits.com) products. This may be a bit of a pipe dream because these gauges are controlled using a C++ SDK. I don't know (like) C++ well enough for this undertaking.

The Java project is more realistic and it would be great to 'touch' the switches to control the aircraft (the Lilliput screen is touch sensitive).

Regards

Gary

BaldieJr
03-28-2005, 08:41 PM
Don't reinvent the wheel.
http://www.barans.ru/upload/alezz/UDPSpeed/UDPSpeed.zip

I built a VSI using a servo and a serial controller. It was easy, but it gets expensive real fast. I decided to go with another display and udpspeed because of the cheapness.

I just hope that we can one day use devicelink online.

As for switches: just use real switches. Check out http://www.mindaugas.com/ for super-cheap interfacing via usb.

Diablo310th
03-29-2005, 04:00 PM
Baldie..I'm with you on that. I look forward to the day DeviceLink can be used online. There are 2 very good programs making use of Device Link but can only be used offline. UDPSpeed and UDPGraph.

EJGr.Ost_chamel
03-29-2005, 04:18 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by Diablo310th:
Baldie..I'm with you on that. I look forward to the day DeviceLink can be used online. There are 2 very good programs making use of Device Link but can only be used offline. UDPSpeed and UDPGraph. <HR></BLOCKQUOTE>

By integrating the flight data DeviceLink could calculate the current position of the plane thus working similar like a GPS. And I am sure, that other exploits would be possible too. As there are members in the IL-2 community which are known for using every possible exploit, that usual players can't even think of, I hope that the online use of DeviceLink will always remain restricted. It's sad for the folks who want to use it in an honourable way - but I am afraid, that this is the only possible conclusion from lessons learned in the past! http://forums.ubi.com/images/smilies/16x16_smiley-sad.gif

Greetings
Chamel

BaldieJr
03-30-2005, 12:57 AM
Thats the dumbest thing i've ever heard.

You'd have to connect to someone else's devicelink, guesstimate which airbase they took off from, and hope-like-hell your math is near-perfect.

And, you'd have to have access to devicelink on every players computer, which aint gonna happen unless people enable devicelink specificly for you.

I appreciate your concerns, but since you don't really know what devicelink does, it seems the best thing you could do is shut the hell up and don't comment on it again. Devicelink is freakin harmless and I'm really tired of you people trying to paint into something its not.

BBB_Hyperion
03-30-2005, 02:23 AM
Obviously someone with deeply researched knowledge about the devicelink interface .)

There is only 1 thing i can imagine how to "cheat with devicelink" that rudder control inputs could be used over a controlled interface but as you can only engage 1 control at a time its pretty useless.

But you can do the same thing with a generic joystick driver with software input so really nothing to worry what devicelink would offer.

Digital gauges are no cheat at all cause of inability to read the analoge ones accurate. Well for tas ias there were speed instruments that did already show it see speed gauge 262 for example. I doubt that someone has done a correct ias tas conversion for all maps yet .)

gload for example is an effect that is normaly feelt by the pilot not so in game so hardly a cheat cause its not noticeable in this sim otherwise except black or red out.

Well for the coords there is quite a big error margin after a while when you just use pitch roll yaw climb indicator speed for flightpath.

Its much easier to read the coords out of the eventlog there you get not only own but enemy too. But that problem is a eventlog one nothing to do with devicelink. Eventlog should only be generated in time on server and others get it delayed to be out of use. I heard it will be fixed tho http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

EJGr.Ost_chamel
03-30-2005, 03:50 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BaldieJr:
Thats the dumbest thing i've ever heard.

You'd have to connect to someone else's devicelink, guesstimate which airbase they took off from, and hope-like-hell your math is near-perfect.

And, you'd have to have access to devicelink on every players computer, which aint gonna happen unless people enable devicelink specificly for you.

I appreciate your concerns, but since you don't really know what devicelink does, it seems the best thing you could do is shut the hell up and don't comment on it again. Devicelink is freakin harmless and I'm really tired of you people trying to paint into something its not. <HR></BLOCKQUOTE>

?
Do you know the difference between radar and GPS?? Obviously not!
I did not talk about devicelink giving u any information about other peoples psosition, right!
You know your own starting point, and with the infos from devicelink you can easily calculate your actual position. Looks like this could be well an advantage on FR Pacific maps, doesn't it?
So before getting offensive towards other people, go think a little!
And I don't care what you are tired of. I think, Oleg knows more about DeviceLink than you do and he had his reasons to disable it for online play!!

Greets
Chamel

EJGr.Ost_chamel
03-30-2005, 04:09 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BBB_Hyperion:

Well for the coords there is quite a big error margin after a while when you just use pitch roll yaw climb indicator speed for flightpath. <HR></BLOCKQUOTE>

Of course the method I mentioned would not be totally precise. But have you ever flown a FR mission in pacific, sitting in front of your PC with a stop watch, staring at your speed gauge and altimeter? Calculating TAS from an IAS/TAS table and trying to estimate your position in order to lead your group of bombers to a distant enemy carrier group avoiding the direct way which will obviously be controlled by enemy fighters? It is a lot of stress but also a lot of fun and gave me a very high degree of immersion and whole new impressions of the special circumstances of aerial warfare over the wide pacific.
But if devicelink was opened for online use, you could be sure that some smarta** would use the data from devicelink for calculating his own plane's position. With some error of course, but much more precise and way easier than doing this manually!

Greetings
Chamel

BBB_Hyperion
03-30-2005, 05:21 AM
Well normaly every bigger Bomber had a Navigator for this purpose or the pilot plotted a course on navigation map before the flight. As well as the heinkel for example had a tas speed gauge for the bombardier position insteed of table to look up not sure which model it came in but it wasnt the latest .)

So some things are just extra stress that wasnt needed irl except maybe on russian tb3.

It works pretty well with a stopwatch (with timer), a map and a speed indicator with a roundabout equitation for tas.

More clever guys can use a programable calculator insteed of a speedchart table wonder how this can be checked(Hardly possible).

Even more clever guys can note heading and course every minute and note it on a alt vs ias/tas projection map.

Or you can make lot of rulers for every 100 m alt one (with most basic speeds) and reduce calculation time to 0 .

I wouldnt blame anyone for doing so .)

Sry but i dont see a reason in this ias/tas conversion that the devicelink interface shouldnt be made available as a option for online. There are a lot of hobby builders that create custom gauges, pits or other external extras that they can only use offline.

Who doesnt like it you can turn it off always from serverside that should at least be possible.

womenfly
03-30-2005, 06:00 AM
General dissusion topic??????

EJGr.Ost_chamel
03-30-2005, 06:06 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BBB_Hyperion:
Well normaly every bigger Bomber had a Navigator for this purpose or the pilot plotted a course on navigation map before the flight. As well as the heinkel for example had a tas speed gauge for the bombardier position insteed of table to look up not sure which model it came in but it wasnt the latest .)

So some things are just extra stress that wasnt needed irl except maybe on russian tb3.

It works pretty well with a stopwatch (with timer), a map and a speed indicator with a roundabout equitation for tas.

More clever guys can use a programable calculator insteed of a speedchart table wonder how this can be checked(Hardly possible).

Even more clever guys can note heading and course every minute and note it on a alt vs ias/tas projection map.

Or you can make lot of rulers for every 100 m alt one (with most basic speeds) and reduce calculation time to 0 .

I wouldnt blame anyone for doing so .) <HR></BLOCKQUOTE>
I don't blame anyone for this either! If anyone is willing to do it in one of the ways you describe here, than it is historically correct and everyone else has the same possibilities -> no problem!
But if someone goes to a freakin' side with game cheats, downloads a prog that offers an automatical calculation of position from devicelink data with graphical display of your position on second screen (second pc?), then this is not correct and should be blocked!

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BBB_Hyperion:

Sry but i dont see a reason in this ias/tas conversion that the devicelink interface shouldnt be made available as a option for online. There are a lot of hobby builders that create custom gauges, pits or other external extras that they can only use offline. <HR></BLOCKQUOTE>
I would doubt, that there are "a lot" of guys building such complicated things. Anyway i agree with you, that it is a shame, that the "honourable" use of devicelink has to be restricted because of possible exploits. But i still think that it is necessary!

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BBB_Hyperion:

Who doesnt like it you can turn it off always from serverside that should at least be possible. <HR></BLOCKQUOTE>
I might be wrong on that, but as devicelink has nothing to do with the server, I can't see how it should be controlled from the server side.

Greetings
Chamel

BaldieJr
03-30-2005, 10:32 AM
What a load.

You want to penalize the industrious because you think someone might write a program that does what our minds already do.

This sort of thinking is what kills simulation as a market. "Everything is a cheat and therefore must not be allowed!". If it were up to people like you, NaturalPoint would be bankrupt right now.

BTW, drop the alias.

EJGr.Ost_chamel
03-30-2005, 11:44 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BaldieJr:
What a load.

You want to penalize the industrious because you think someone might write a program that does what our minds already do.

This sort of thinking is what kills simulation as a market. "Everything is a cheat and therefore must not be allowed!". If it were up to people like you, NaturalPoint would be bankrupt right now. <HR></BLOCKQUOTE>

Ok, so at least you seem to understand now, what I am talking about, and admit that it might be possible.
The conclusion we draw from this possible effect is of course arguable and I accept your opinion, that freedom for pitbuilders is more important than security against cheaters. But my opinion is still the opposite. Cheating has killed many online games and I would accept quite a lot of compromises if they helped to prevent cheating. The loss of the devicelink option seems a small price to me - but this is of course a very personal opinion as I am not intending to use it anyway. And I have said several times before and will repeat it again here, that I think it is a shame we are forced to take such countermeasures by some sort of people!

But what has NaturalPoint got to do with this? I am not one of the guys who say that TrakIR is a cheat! Don't know how you came to this conclusion.

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BaldieJr:

BTW, drop the alias. <HR></BLOCKQUOTE>

No Alias used here! Why do you think so?

Greetings
Chamel

WB_Outlaw
03-30-2005, 05:46 PM
The most obvious "evil" use of devicelink is as a g-limiter. The blackout level and g-load are both available. An application could allow the user to set a g-load and/or blackout level threshold after which the elevator will be neutralized and/or an audio warning given. Admittedly devicelink and the joystick will "fight" for control but it will lower the g-load.

-Outlaw.

BaldieJr
03-30-2005, 06:35 PM
Great!

I like pie.

BBB_Hyperion
03-30-2005, 07:08 PM
Psst BaldieJr they might never play the game again when you tell such things in public http://forums.ubi.com/groupee_common/emoticons/icon_biggrin.gif

WB_Outlaw did you ever sit in a plane in g effective turn ?
I think a elevator (older models at least) does feel the same in this regard. Can you feel or hear when wing bend in this sim or the g pressure ? No, so this instrument is needed cause of the lack of realism in this regard cause there is nothing that indicates the load state on the plane to the pilot.

Further a black out doesnt mean you lost control that really depends on the type of blackout. And as you obviously noticed control lock up with blackout doesnt matter if external or internal input in this sim.

Include Online Devicelink usage with ability to restrict it from Host/Server should do fine.

@womenfly its a request about a addition to the game from the developer but as always not all disagree or agree and discussing the issue. But i still think its a valid request therefore should stay here.

WB_Outlaw
03-31-2005, 10:21 AM
Hyperion,
Yes, I have flown light single engine aircraft and shot many takeoffs and landings, although I never solo'd.

I wasn't arguing for or against, just mentioning a potential use of devicelink that could automatically ease up on the stick to prevent blackouts/stalls and therefore be a reason it was disabled online. Note that I was one of the first to ask for a g-meter in the speed bar when IL-2 first came out.

I'm all for server side options and really hate it when people get on the high horse and whine about an option. Unless, of course, the option is enabling chicken-wimp-a55-lamo-BS-!##$%$#@-$#@$#@!-$#@$%^&^-%$#@@!@!!!!!!!!!!! external/no cockpit views online, then it's OK.

-Outlaw.

BBB_Hyperion
03-31-2005, 12:44 PM
Well thats even more funny how about when someone just codes his ffb stick that it autmaticly eases up when it complains too much ?
Well it isnt needed thats what ffb is for .)

You could argue the same when someone reduces throttle when temp is too high (what he should do autmaticly anyway).

On the blackout i wonder how that could be done cause there is no option for blackout scan in devicelink only g load and that is the plane load factor as i understood it not to mix with the pilot g force. And every plane with its pilot position have different g load tolerance when i understood that right.

Hmm i admit i have flown full(half(cause it isnt real but harder than real)) real servers for quite some time (and still do sometimes)but real challenge is on externals view on , wonderwoman servers where you really need all last resorts and element of surprise is less possible. Its way harder to survive missions special in bombers etc .

WB_Outlaw
03-31-2005, 03:07 PM
Hyper,
I stand corrected. It's been a while since I wrote my devlink interface and I thought there was a query for the blackout level similar to the shake level. Regardless, using devicelink I can program a g-limiter and that is my only point.

I do not have a FFB stick so I was unaware that they, or at least some models, could be programmed to ignore the deflection applied by the user.

I wholeheartedly agree that externals/no cockpit completely erases the possibility of surprise. That is the reason I hate it so much since at least 90% of historical air combat was the element of surprise. That, however, is simply a personal preference.

-Outlaw.

IL2FlightOps
03-31-2005, 05:09 PM
Wow! I didn't expect such a debate to be caused by my post.

I only fly online with friends and my brother-in-law and have never experienced cheating online. We can't see the point. We dogfight a bit and we rely on experience and ability. No point otherwise. Mostly we fly DCG campaigns and co-operate with each other and kick AI butt. http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

Getting back to the point of the post, if anyone has some Java code that reads the DeviceLink UDP port and would like to share it, it would be appreciated.

It is a shame that DeviceLink is seen as a potential aid to cheating. All I would like to do is add a feature which allows the gauges to be read more easily so level flight and altitudes can be maintained when flying in formation.

When four of us try and fly in formation the 4th wing usually ends up going up and down like a yo-yo. If virtual/physical instruments where present it would (possibly) make flying formation easier.

I am not big on historical aircraft or navigation. As long as the gauges correspond to the instruments in the virtual cockpit, that is all that is needed. With BoB coming along, with a much larger map and weather down to the ground, instrument flying will be as important as dogfighting skills.

My friends/family all use a Natural Point TackIR's in IL2. This adds great situational awareness. We also agreed to use the virtual cockpit. There should be a way of turning off the arrows on the Ctrl-F1 views. With this feature you might as well have a F16 Radar.

I am working the Java Network Programming book at them moment and should be able to write a functioning client class soon, however if anyone can help with the UDP Protcol that would be most welcome.

Regards

Gary

BaldieJr
03-31-2005, 09:09 PM
Tip: turning off icons will get rid of those arrows.

Rant: i still don't understand why cockpit-off, no icons, no externals isn't popular online. it offers good vis without making it gamey. http://forums.ubi.com/images/smilies/16x16_smiley-indifferent.gif

BBB_Hyperion
04-01-2005, 12:38 AM
G limiter well 15g for all planes is pretty unhistorical. For P51 for example its about 10.7 g and advised limit was 7.1 g . But that finer details no one likes to see .(

IL2FlightOps
04-01-2005, 05:23 AM
[QUOTE]Originally posted by BaldieJr:
Tip: turning off icons will get rid of those arrows.
/QUOTE]

Oh, that's wait No Icons means. Thanks for that. Does it effect the icons on the map?

WWSensei
04-02-2005, 07:58 PM
It's not Java, it's C++ but I did a wrapper class that should be straight forward to read. Worse case you caould compile it as a dll and makes calls for it.

http://www.wingwalkers.org/sensei/devicelink.zip

IL2FlightOps
04-03-2005, 07:49 PM
Hi WWSensei

Thanks for the link. I have looked at the C++ source code and understand most of it.

Have you got a test 'wrapper' so I can see responses coming out the DeveLink port?

I have written a little bit of my Java class, but as of yet I haven't been able to get data back, from the PC running IL2 http://forums.ubi.com/images/smilies/53.gif

Regards

Gary

BaldieJr
04-03-2005, 07:58 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by IL2FlightOps:
[QUOTE]Originally posted by BaldieJr:
Tip: turning off icons will get rid of those arrows.
/QUOTE]

Oh, that's wait No Icons means. Thanks for that. Does it effect the icons on the map? <HR></BLOCKQUOTE>

I think so, but if you leave "mini-map path" turned on, you'll have your own planes' icon along with the waypoints.

WWSensei
04-04-2005, 04:42 PM
Suppose I could write something up. The only app I wrote was to use GoFlight modules with it but since goFlight released their keymapper I stopped. I could do up a simple app...I'll see what I can do and post it up..

WWSensei
04-04-2005, 04:45 PM
Oh, what it sends back is a string starting with an "A" record that matches your "R" command. Despite the readme file it doesn't really return floats and integers, but string representations of integer and float values that you then have to convert (which is extremly inefficient since they are probably wasting cycles to convert them to strings in the first place).

IL2FlightOps
04-04-2005, 08:32 PM
If I can have test client program and be able to send simple 'R' messages and get a 'A' response back that will prove the DeviceLink is working between the two PCs.

I can then try and figure out what is going on with my Java class.

TIA

Gary