Official 1C Company forum

Official 1C Company forum (http://forum.1cpublishing.eu/index.php)
-   IL-2 Sturmovik (http://forum.1cpublishing.eu/forumdisplay.php?f=98)
-   -   YaDeLi - "Yet another Device Link for IL-2" (http://forum.1cpublishing.eu/showthread.php?t=18781)

Artist 02-17-2011 02:20 PM

YaDeLi - "Yet another Device Link for IL-2"
 
I've sat down to do a little programming. This is what came out of it:

YaDeLi - "Yet another Device Link for IL-2"

YaDeLi has been made for:

- Those of us, who use more than the 4 game controllers that IL-2 supports.

- Those owners of a Logitech G940 Flight System who have not yet modded the "Reversal Bug" away.

- Those owners of a Logitech G940 Flight System who have modded the "Reversal Bug" and have found that the modded pedals will not show under "Game Controllers", but will still block ID3 within IL2 .... On The topic of modding see here and here

What YaDeLi does:

- Connects the axes of game controllers (beyond the first 4 that IL-2 supports) to IL-2 using IL-2's DeviceLink. As it only writes to DeviceLink, this works online, too.

- Supports user defined profiles (collections) of such connections (e.g. one for single engine fighters, another for a twin engined Mosquito, ...).

- Supports the following controls in IL-2:
Ailerons
Brakes
Elevator
Flaps
Power
Power Left Engines
Power Right Engines
Propeller Pitch
Propeller Pitch Left Engines
Propeller Pitch Right Engines
Rudder
Trim Ailerons
Trim Elevator
Trim Rudder

- Supports up to 8 axes for each game controller and an unlimited number of game controllers.

- Offers a fix for the "G940 Reversal Bug".

What YaDeLi doesn‘t do:

- It doesn‘t support game controller buttons (do use AutoHotkey, it‘s open source and almost perfect).

- It doesn‘t read from DeviceLink (would be useless online, anyway).

YaDeLi has been tested with:
IL-2 4.09, 4.10
Windows Xp, Window 7 Professional (32bit and 64bit)

Main Configuration:
http://yadeli.nuvturais.de/img/MainScreen.png

Axis configuration:
http://yadeli.nuvturais.de/img/AxisSettings.png


Download: YaDeLi - Webseite
(I even wrote a small manual :grin:)

Edit: Renewed download link (20.2.15), slight changes 24.1.12.

W32Blaster 02-17-2011 02:35 PM

wOOOOOOt

seems like your (and my) challenges using Leo´s chips are met?!

Thanks dude, I´m going to test this one.

robtek 02-17-2011 03:10 PM

Fantastic work !!!!
But there could be improvement still, as anywhere :-D.
Maybe it would be possible to read some info from device Link and use this to control the lights on the g940 system, such as rudder trim centered i.e.
MikkOwls program also made it possible to use both toe-brakes dor differential braking.
The best solution would be a mix of both programs, i believe.

Artist 02-17-2011 03:21 PM

Quote:

Originally Posted by robtek (Post 225276)
Fantastic work !!!!

Thanks.

Quote:

Originally Posted by robtek (Post 225276)
But there could be improvement still, as anywhere :-D.

I know... :)
Quote:

Originally Posted by robtek (Post 225276)
Maybe it would be possible to read some info from device Link and use this to control the lights on the g940 system, such as rudder trim centered i.e.

Would instantly fail the moment you go online...
Quote:

- It doesn‘t read from DeviceLink (would be useless online, anyway).
Quote:

Originally Posted by robtek (Post 225276)
MikkOwls program also made it possible to use both toe-brakes dor differential braking.

I know: by connecting brakes to rudder when tailwheel has not been locked... Again: fails when you're online

Quote:

Originally Posted by robtek (Post 225276)
The best solution would be a mix of both programs, i believe.

You can run them side by side - just don't assign different axes to the same device ;)

Artist

ghodan 02-17-2011 03:42 PM

It does not make cappuccino? :(

Artist 02-17-2011 06:51 PM

Quote:

Originally Posted by ghodan (Post 225286)
It does not make cappuccino? :(

Wait until you find the Easter Egg: If you happen to replicate (with stick, throttle and pedals) the exact sequence of movements it takes to brew an espresso with a Cimbali M22 premium C2, an ufo in the shape of an italian bistro (now, where did I get that idea from?) will appear alongside your plane and an somebody named Wyoming Knott will hand you a cappuccino - if you dare to open your canopy: Tanstaafl

robtek 02-17-2011 10:07 PM

No Artist, MikkOwls program works just fine online!!!
Not all output via devicelink is blocked!
Only those infos which might get used to calculate the flightpath.
Ruddertrim centered is working!
Afaik the brakes are also fixed to work with no visible rudder movement.

Artist 02-18-2011 07:31 AM

Quote:

Originally Posted by robtek (Post 225433)
No Artist, MikkOwls program works just fine online!!!
Not all output via devicelink is blocked!
Only those infos which might get used to calculate the flightpath.
Ruddertrim centered is working!
Afaik the brakes are also fixed to work with no visible rudder movement.

Could be that you've got a point there...

Artist

robtek 02-18-2011 05:18 PM

Artist, you know us customers, we want it all, for free, in perfect condition and yesterday!! :-D
If you are a perfectionist, as i really hope, you'll find a way to combine the function of those two programs.
And finally, if you have a paypal account, i might be inclined to send a small sum as appreciation for this combination.

MikkOwl 02-19-2011 05:30 PM

Neat! Maybe this will come in handy for Cliffs of Dover, seeing as it will also continue supporting a more advanced devicelink. We will see if CoD has any LED support (I suspect not :( ).

What code is it written in?

Is this program sold or free? I read the readme and manual (well, skimmed it) and I found mention that it was 'sold', but nothing on any payment or registration required.

The interface seems good with lots of user configurable user friendly sliders and so on. The green light when connected is great. :) That stuff takes so long to program, as I found out in AutoHotKey. I spent a huge part of my development time trying to just make my own software more usable/configurable, as well as require as little setting up as possible.

And yes, there is as bunch of DeviceLink queries that IL-2 will send back to us even in multiplayer. Mostly small things like "is tailwheel locked? Are gears set to be up or down? What position are the flaps set to be in? How many engines does this aircraft have?".

Regarding my differential braking: It works online but it also always manipulates the rudder, visibly so. There is no other way. If the tail wheel is locked the airplane is assumed to be taking off, flying or landing, and using the wheel brakes will not manipulate the rudder, keeping it steady. In earlier versions, it was almost impossible to brake when landing without turning violently due to the rudders being moved.

I have not tried YaDeLi (sounds Chinese btw :D ) and I don't think I'll install IL-2 and fly it again, with Cliffs of Dover around the corner. Have not even used Multi-Throttle for almost a year ever since my hardcore harddrive/comp crash last March. But there will be a need for these programs for Cliffs of Dover, too.

I have no idea of these two programs can be combined code wise. Maybe if YaDeLi is written in AutoHotKey for I know no other languages. YaDeLi seems like the better program foundation due to the nice interface and customizability. Maybe Artist can add in some LED control support? That part is not so complicated with the help of a little tool made originally for Black Shark.

Ideas for features

In my last, not yet unreleased developer version of Multi-Throttle, I had added a completely new way of launching it. A small applet that runs in the background would automatically detect if IL-2 was running, then launch (in the background) the full software and connect to IL-2 and the G940 (if connected). It knew if in the cockpit or not and would terminate itself when IL-2 was closed. It turned off the LEDs if not in cockpit view or alt-tabbed. This method was so much more user friendly than the version I last released.

I put in incremental FOV zoom as a feature, controlled by a single button (I use headtracking and having three different buttons to control FOV was ridiculous). Tapping the button switches (in a smooth, not instant) way between wide and normal FOV (can set it to whatever one wants). Holding the button for a third of a second makes it go zoomed in, as well as activate the 'precision mode' smoothed headtracking of the TrackIR. Tapping again makes it zoom back to normal or wide and normal headtracking mode.

To resolve the issue of G940 not being completely centered when not holding the joystick (tedious as hell on long cruises or when having to let go of the stick to answer a phone call, go to the bathroom, take something off the stove, rest the hand or manipulate the joystick trim wheels) I put in a button (pinky button is best) that centers the output of the stick regardless of the physical position of it. That, plus the removal of reversal bug from trim wheels and it was so much pleasant to trim for stable flight/cruise. I submitted a proposal to Logitech to center the output of the stick when the grip sensor on the stick detects that it is not being held; it was well received and was passed on to their engineers. That was 9 months ago or so though.

I have experimented with bail out effects (force view in cockpit, play a sound effect of unlocking harnesses and pulling emergency canopy release, loud wind noise).

Can't remember if I released it: making engines able to turn on and off on separate buttons rather than toggled by a single. And regardless of using single or separate on/off switch, make it definitely turn OFF or ON for each state (this was necessary to develop to be able to map engine on/off lights to the LEDs of the G940 - since devicelink won't tell us if an engine is really on or not nor send an ON or OFF toggle). This was performed by making the magnetos go completely off when performing the 'off' command - this always kills the engine. And if turning the engine on, also turn magnetos off then on, then send the engine toggle command. Before this feature, mapping the light didn't work and the on or off command (if just using toggle engine as normal) might turn it on when wanting it to be off and vice versa. Especially if the engine stalls or won't start properly in mid flight. Similar feature for landing gear. These features permits flying without any HUD text appearing telling you if stuff is on or off. Increases immersion.

Arming button for weapons (separate for machine guns, cannons, bombs, rockets, or a master arm button) with appropriate led lights shifting color depending on the status of the arming.

Trim range customizable for every trim (this was released I think) to make trimming far more smooth, relaxed and accurate when using our little trim wheels. Planned unreleased feature was to have this customizable for every type of airplane in the game, detected automatically through devicelink. Since some aircraft have right turning propellers, others left, etc, requiring different part of the trim range to be mapped. Ability to unlock the full trim range (for cases where one engine of a twin failed or pieces of control surface shot off).

Sound effects for using certain buttons of the joystick, sounding like flipping a switch or pressing mechanical buttons. IL-2 has none at all. In reality you wouldn't really hear anything while flying due to the loud engine, but you would feel it much more in your fingers. On the ground before take off, too, of course.

--

I hope you find inspiration in some of these. I especially want the G940 center stick feature and the single button FOV feature. The lights are cool to have but they are not as essential for a good flying experience.

I can see how people would prefer to have all the good stuff in a single piece of software. I don't think it is possible to run two devicelink programs at the same time (or is it?) so it would be a pity to have to choose between two similar programs. If we can in any way merge these features into one platform, that would be great. If we can't, then maybe there is a way to split the focus on them and make them able to somehow be run simultaneously. I don't know, we'll see how the situation is like with Cliffs of Dover.

The biggest problem I had with my programming, was the communication between different executables, the G940, sending to DeviceLink and receiving from DeviceLink. I tried piping things, using UDP network communication, NetCat network tool etc. What a headache. I know almost nothing of how sockets and all that stuff works. :(


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

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright © 2007 1C Company. All rights reserved.