PDA

View Full Version : Device Link



JoaoMuas
11-26-2004, 08:41 PM
Hello everyone.

I´d like to know what´s the functional use for the DeviceLink.txt file.

Can it be used to synchronize controllers with the simulator, like leds lit when gear down, for example?

And if so, how does it work?

The text in the file seems a little to technical, at least to my knowledge.

Thanks in advance.
Muas.

JoaoMuas
11-26-2004, 08:41 PM
Hello everyone.

I´d like to know what´s the functional use for the DeviceLink.txt file.

Can it be used to synchronize controllers with the simulator, like leds lit when gear down, for example?

And if so, how does it work?

The text in the file seems a little to technical, at least to my knowledge.

Thanks in advance.
Muas.

JoaoMuas
11-29-2004, 05:04 PM
*BUMP*

ZG77_Lignite
11-29-2004, 06:26 PM
Yes, that is the intent of the DeviceLink module. As to how it works, I cannot say, however a search for 'DeviceLink' here or at SimHQ.com (forums) should turn up some information. Personally, it is a bit over my head, and requires some programming skills.

JoaoMuas
11-29-2004, 07:03 PM
Thanks for the answer.
I already did a search and found nothing.
Guys that are into building cockpits would love to hear that.
Me, I´d like to get the radiator cowls synchronized in IL-2/FB/PF simulator, for example. But they can´t be track down by the controller because they are assigned to one key only. That device link programming would make up for that I think.
The same with supercharger stages, etc.
That would add something to this sim.
There are some dedicated module controllers on the market that do just that, but they use their own software which already support some simulators, like the FS series, and some others, but not IL-2 as far as I know.
I think this device link info would open a door to synchronized controller input in IL-2. A very good idea from the developers.

jeroen-79
11-30-2004, 01:46 AM
Devicelink.txt describes how to interface with the devicelink module.

When you modify some settings in IL2's configfile the game starts listening on a specified udp/ip port.

When another program sends a request for data on that port the game will reply and return the requested data.
Incoming and outgoing data are strings and formatted as specified in devicelink.txt
You can then use this data to control instruments or other applications.

What you need:
-A networkinterface to send data over the network.
-A way to turn your datadesires into an outgoing string.
This can be very complicated or as simple as declaring a constant string.
-A way to translate an incoming string into into data and deliver that data to the right variables.
-An application that does something with the data.

JoaoMuas
11-30-2004, 03:25 PM
Thanks for your explanation Jeroen.
Although, I think I´ll have to wait till someone come up with a dedicated software to do just what you described, so one can really take benefit of this very interesting feature.

TheGozr
11-30-2004, 06:39 PM
That's great i'm looking to find teh way to make the speed gage with Devicelink..

TX-Gunslinger
11-30-2004, 07:34 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by TheGozr:
That's great i'm looking to find teh way to make the speed gage with Devicelink.. <HR></BLOCKQUOTE>

Hello Gozr! Great Yak-9 video btw.

Ok, there are several applications already built, called "UDPSpeed, UDPGraph and UDPTrack".

UdpGraph site

http://www.avcsite.ru/il2dl/graph_en.htm

SimHQ thread

http://www.simhq.com/simhq3/sims/boards/bbs/ultimatebb.php?ubb=get_topic;f=98;t=012653

Have fun..

WWSensei
12-01-2004, 08:53 AM
I've written a C++ wrapper class for Devicelink so people can build applications from it. In it I try to simplify the networking aspect of it (basically just need a config file with an IP and a port and the Init() function does the rest for you.)

I should be posting version 2 of the wrapper class today or tomorrow. I added some additional public functions for accessing some of the controls and fixed a few bugs as well as optimized some of the code a little better.

If you wrote anything based on version 1, version 2 will be fully backwards compatible API -wise. I've added functions but didn't change the existing interface.

Using this library I am also writing a program to allow using GoFlight modules with IL2/FB. My current program works with the GF-T8 and GF-P8 devices and soon will work with their GF-LGT module (at least for gear).

Hopefully, Oleg will heed my requests to add some additional commands for incrementing and decrementing trim and flaps since for now the only control are analog inputs...

jeroen-79
12-01-2004, 09:58 AM
I have been doing someork VB6.
I have finished a bunch of instruments and the network interface.

It works well but I need to work on a few things, the game doesn't always return certain variables.

My C++ knowledge is limited.
How does a C++ wrapper class work?
Is it like a header file that you compile along with the rest of a project into one .exe?
Or is it more like a .dll?

BM357_Hawki
12-01-2004, 10:10 AM
It is very usefull I've been programming Device link with vb6 and have been able to control Il2's exposed members pardon the pun like the light switches using a test basic stamp microcontroller and some addition programming.

One big question for any programmers out there on this thread, how can i use the Win32 API in VB to obtain the Handle to the "maddowRTSWNDclassW" window class.
I want to write some text to the main IL2 window while it is in full screen mode. Do I need vc++ and use a callback function to find the window handles??

Thanks

JoaoMuas
12-01-2004, 10:58 AM
Now thats good news, Sensei!
GoFlight support for IL-2/FB/PF, that´s what I was looking for.
I even planned to build a custom module using their GF-RP48 pc board and parts, that would look something like this:
http://oksquad.free.fr/OK_files/mycontroller.jpg
Note that I choosed pushbuttons instead of toggles, and didn´t use any leds, because of the lack of state of aircraft tracking.
Now with a dedicated application that would be diferent.
Its good to hear there is people working on this.
Keep it up.

WWSensei
12-01-2004, 11:31 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>How does a C++ wrapper class work? <HR></BLOCKQUOTE>

Well, essentially I wrote a class object called a C_DeviceLink object. Within that object I wrote several C++ functions to simplify working with the whole Devicelink interface. The code can be compiled into a DLL, a .lib or linked statically into your application...whichever you prefer.

I don't know enough about VB to tell you how VB would utilize a C++ header file and a dll but I'm sure it could be done. I'm using Visual Studio 6, SP 6 and will publish the workspace files to make it a .lib or .dll.

To use the class you simply declare a variable of C_DeviceLink class. You then have to call my Init() function in order to establish the network connection. Only other thing you need is a "config.ini" file with the following info:

[DeviceLink]
PORT=10000
IP=10.113.12.1

only replace the PORT and IP numbers to match whatever you've configured your system for. With my class you don't have to know all the A codes and R codes. Here is a snippet of code to explain...

int main(int argc, char* argv[])
{
if (argc &gt; 1)
{
output = fopen(argv[1],"a+");
} else
{
output = stderr;
}
C_Devicelink my_dl;
my_dl.Init(); //&lt;- this reads the config files and sets up the UDP client
my_dl.SetGearDown(); //&lt;- lowers the landing gear.
my_dl.SetGearUp(); //&lt;- rasies the gear
my_dl.ToggleLandLights(); //&lt;- Toggles the landing lights
my_dl.ToggleNavLights(); //&lt;- Toggles the Nav lights
my_dl.StartEng1(); // Selects Engine 1, starts it, then selects All Engines
my_dl.StartEng2(); // ditto for engine 2

} // end program

I've completed nearly all the functions but those that may be missing that you need you can follow the examples of the other functions to do anything you want. I have completed all the low level functions for sending and reading messages from the game and parsing and converting the results into integers, floats or whatever you need.

WWSensei
12-01-2004, 11:41 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Now thats good news, Sensei!
GoFlight support for IL-2/FB/PF, that´s what I was looking for. <HR></BLOCKQUOTE>

Yeah, it's coming along slower than I had hoped to get these GoFlight modules to work correctly. The GoFlight SDK leaves a bit to be desired. Mainly, you have to track your own state machine and bitmask and shift bits to parse which controls are were changed. Getting the T8 and P8 were easy but the LGT is being a pain.

Next on this list is the GF-45...I can make a *****in' bombsight out of that baby..

Right now I have the commands hard coded to certain switches so I have to make that a little more user friendly and configurable. Hoping to have the first Alpha done for this weekend. I'll post it as long as you don't mind the hard coded settings for now...

JoaoMuas
12-01-2004, 05:36 PM
A bomsight would be just great!
Just keep us informed of the evolution of your work, if you can.

WWSensei
12-01-2004, 06:25 PM
From the readme...

Devicelink Wrapper Version 1.1.

In this zip file I included the devicelink.cpp and devicelink.h wrapper class files. You can link these in directly to your project. I also threw in a Visual Studio 6 Project file and Workspace file for building it as a library if you wanted. There is also a sample config.ini file as well.

Most of the functions are commented. I didn't include all the possible devicelink commands in the headers as I tend to create them as I need but there is enough there to use as an example if you add more.

As time goes on I will be updating this from time to time. Mostly adding new functions and will strive to make it backwards compatible.

Now, for the legal stuff.

Use at your own risk. You break something don't blame me. I've provided the raw code so you can examine it yourself. You are allowed to re-use this code in any product private or commercial I only ask that I receive credit if you do. I would also appreciate any feedback on bugs you find.

WWSensei

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

Diablo310th
12-02-2004, 05:14 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by WWSensei:
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>How does a C++ wrapper class work? <HR></BLOCKQUOTE>

Well, essentially I wrote a class object called a C_DeviceLink object. Within that object I wrote several C++ functions to simplify working with the whole Devicelink interface. The code can be compiled into a DLL, a .lib or linked statically into your application...whichever you prefer.

I don't know enough about VB to tell you how VB would utilize a C++ header file and a dll but I'm sure it could be done. I'm using Visual Studio 6, SP 6 and will publish the workspace files to make it a .lib or .dll.

To use the class you simply declare a variable of C_DeviceLink class. You then have to call my Init() function in order to establish the network connection. Only other thing you need is a "config.ini" file with the following info:

[DeviceLink]
PORT=10000
IP=10.113.12.1

only replace the PORT and IP numbers to match whatever you've configured your system for. With my class you don't have to know all the A codes and R codes. Here is a snippet of code to explain...

int main(int argc, char* argv[])
{
if (argc &gt; 1)
{
output = fopen(argv[1],"a+");
} else
{
output = stderr;
}
C_Devicelink my_dl;
my_dl.Init(); //&lt;- this reads the config files and sets up the UDP client
my_dl.SetGearDown(); //&lt;- lowers the landing gear.
my_dl.SetGearUp(); //&lt;- rasies the gear
my_dl.ToggleLandLights(); //&lt;- Toggles the landing lights
my_dl.ToggleNavLights(); //&lt;- Toggles the Nav lights
my_dl.StartEng1(); // Selects Engine 1, starts it, then selects All Engines
my_dl.StartEng2(); // ditto for engine 2

} // end program

I've completed nearly all the functions but those that may be missing that you need you can follow the examples of the other functions to do anything you want. I have completed all the low level functions for sending and reading messages from the game and parsing and converting the results into integers, floats or whatever you need. <HR></BLOCKQUOTE>

Sensei.....are you saying by changing the port and IP you can make devicelink work online? Getting UDPGraph and UDPSpeed to work online has been a dream of mine since I first heard of them.

WWSensei
12-02-2004, 05:46 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Sensei.....are you saying by changing the port and IP you can make devicelink work online? Getting UDPGraph and UDPSpeed to work online has been a dream of mine since I first heard of them. <HR></BLOCKQUOTE>

No, I am not saying that at all. To interface with devicelink at all you have to go through a network connection even in single play. You can do it either by going through a loopback or your local IP address.

All my wrapper does is make all the networking code easier for someone who would be writing programs like UDPGraph or UDPSpeed.

Devicelink has very limited functionality in multiplayer mode and that is built into the game. There is nothing we could do externally to change that.

JoaoMuas
12-02-2004, 06:50 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Devicelink has very limited functionality in multiplayer mode and that is built into the game. There is nothing we could do externally to change that. <HR></BLOCKQUOTE>
Does that mean using the devicelink feature we can never get controllers like the GoFlight modules to work at their full functionality online?

jeroen-79
12-02-2004, 07:25 PM
If I read devicelink.txt correctly then only instrument readouts are disabled in MP, input would still work.

WWSensei
12-02-2004, 08:53 PM
I'll have to try but last time I did the only commands that worked were that first section. The rest only worked in single player.

JoaoMuas, let me test further but from the looks of it you could use GoFlight Modules for offline play but not much for online.

However, since GoFlight has released a Keymapper it is kind of a moot point. I've been using the keymapper this evening and it works great with FB/PF

JoaoMuas
12-03-2004, 07:52 AM
Right, using the keymapper might be ok, but we wouldn´t get to synchronize the aircraft condition with the module, so the GoFlight module would be just another key controller, right?

One of the reasons I like the GoFlight gear is the possibility to know exactly your aircraft condition, just to look at the toggles or leds, just like it is supposed to.

How many times we forget the supercharger stage, or if the arrest hook is down or up?

Some cockpits give you that information, but not all of them.

This might be an issue for those like me that favour online team flying.

Anyway, it seems there are already some great improvements on this subject, I just like to encourage you to keep it going.

Cheers.

BaldieJr
12-03-2004, 08:49 AM
I've a question about the GoFlight hardware: is it proprietary? Does it require drivers, or can it work as generic HIDs?

WWSensei
12-03-2004, 11:13 AM
It's propreitary Baldie. Since their equipment is used by simulator builders they can't really limit it to just DirectX devices. They do give away their SDK for free.

I do think they should look at making DirectX versions though as it would broaden their market considerably.

WWSensei
12-03-2004, 11:20 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Right, using the keymapper might be ok, but we wouldn´t get to synchronize the aircraft condition with the module, so the GoFlight module would be just another key controller, right? <HR></BLOCKQUOTE>

That is true but even with Devicelink there isn't a good, clean, consistent feedback from the sim with proper state. For that to happen Oleg and 1C would have to integrate the GoFlight dll into their application like FS2004/2002 has done.

Devicelink is nice, but limited. There are several control commands simply missing that need to be added. For instance, there is no devicelink to simply raise and lower the flaps. There is only a method of setting the analog position of the flaps IF you so happened to have mapped flaps to an axis.

I'm confused by some of the decisions Oleg's team made as to what to expose via devicelink and what they didn't. For instance, there are 4 commands available for telling if gear are up or down but none to tell you wether your Nav lights or on or off.

There are no commands to tell you the actual position of your flight surfaces--only the analog poisition of the axis you have mapped to that surface.

Many of the commands are just toggles and you have to track the state yourself and that can be hosed if someone uses the keyboard as an alternate input.

So, even if GoFlight made their end more robust until the FB/PF developers flesh out Devicelink more it is still a limited interface.

BaldieJr
12-03-2004, 11:36 AM
I'm glad I bought a generic HID for interfacing. Not only is it cheaper, but allows more options.

The only real issue I have is getting HID state and getting it into devicelink. There does not appear to be any scripting language that can read a joystick, write to a socket, and handle io on a serial line (future guages).

The solution i am about to try is a text file pipe for php (read/write devicelink via socket and read/write pipe) and autohotkey (read HID and write pipe). Who cares about performance when functionality doesn't even exist? http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

I wish there was an easier way to read joystick data, read devicelink, and make changes as necessary.

On a side-note: I flew with my mouse the other night using devicelink. It was quite fun http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

JoaoMuas
12-03-2004, 12:39 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>...but even with Devicelink there isn't a good, clean, consistent feedback from the sim with proper state. For that to happen Oleg and 1C would have to integrate the GoFlight dll into their application like FS2004/2002 has done. <HR></BLOCKQUOTE>
And why shouldn´t they?
They´ve added Track IR support; it is unquestionable how "more imersive", this sim became after that, so why not to provide support for some more of that "cockpit feeling"? I drink to that.

WWSensei
12-03-2004, 05:28 PM
I would too... :-)

Project Magenta, FS2002/2004, X-Plane, Fly, Looking Glass...all of those support them and they actively like to work with developers to add the functionality...Oleg should speak to them...

WWSensei
12-03-2004, 05:30 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>The only real issue I have is getting HID state and getting it into devicelink. <HR></BLOCKQUOTE>

Hehe, and I have the opposite problem with the GoFlight stuff. With their SDK it is fairly trivial to get the state of the devices. It's getting the state of the game that's a problem...

JoaoMuas
12-04-2004, 03:09 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Project Magenta, FS2002/2004, X-Plane, Fly, Looking Glass...all of those support them and they actively like to work with developers to add the functionality...Oleg should speak to them... <HR></BLOCKQUOTE>
Maybe we should post a thread to Oleg with a link, so he can check the GoFlight gear, and maybe we can get him to speak with the GoFlight team.
That might need a few bumps, he, he...

JoaoMuas
12-04-2004, 04:06 AM
Here are some answers I got from the GoFlight team regarding a few questions I sent them about one particular product of their range, the GF-RP48 module.
I think this may clarify a bit about this gear operation:

<UL TYPE=SQUARE>Q1: Is this a standard USB input controller?
A1: The GF-RP48 is seen by Windows as a standard HID device, but not as a game controller.

Q2: How does the dedicated software work?
A2: The dedicated software interfaces the device to Microsoft Flight Simulator, allowing you to control up to 8 on/off and 4 variable value functions in the simulator. You can choose these functions from a list of several hundred possible functions. We also have a software plug-in for interfacing with X-Plane, and a key mapper application that allows you to use the module with any sim or game.

Q3: Can the rotaries be assigned to control analog Direct X axxis? What about a key stroke sequence? Do they use detent or smooth turning knobs?
A3: The knobs cannot be assigned as DirectX axes, and are not seen by the system as a DirectInput device. The knobs have 24 detents per rotation. Keystroke assignments can be made to the knobs, as well as to the buttons, using our key mapper program.

Q4: Can the pushbuttons be assigned to a given key stroke sequence? A hold down key? A auto repeat key function? A key UP/DOWN feature?
A4: Using the key mapper, you can assign key sequences to knob CCW turn, knob CW turn, button press, and button release actions. The key sequences can be single key, multi key, or combo key of lengths up to 16 keys.

Q5: Is it "only" dedicated to the FS simulator series?
A5: With the key mapper, our modules can be used with any game including IL-2.[/list]

Hope some of you might find it usefull.
GoFlight Inc. -- Home Page (http://www.goflightinc.com/)

WWSensei
12-04-2004, 06:18 AM
I can verify that. I'm using the keymapper now and it works well. For instance, on my GF-P8 (the 8 button momentary switches module) I assigned button 1 to execute the key sequence of "1 i" on the press and "Shift+E" on the release.

I have "1" mapped in game to select engine 1.
I have "i" mapped to "Start/Stop Engine"
"Shift E" is what I have mapped in game to select all engines.

So, pushing button 1 on the P8 starts my engine. I also mapped button 2 for engine 2 when I fly the He111 or the B-25.

I have my NAV lights, landing lights, panel lights, map, supercharge, smoke and quick trak recording mapped to the various toggle switches of the GF-T8.

On my GF-45 with the two rotatry knobs I have in/dec bombsight alt on the left knob and inc/dec bombsight speed on the right knob.

Works flawlessly...

JoaoMuas
12-04-2004, 07:17 AM
Yes, and that was what I was planning to do when I thought of this layout:
http://oksquad.free.fr/OK_files/mycontroller.jpg
If you look closer to the push buttons, you see ENG1 and ENG2 on the first two, which were meant to generate the very same keystrokes you use.
Then there were FIRE EXTNG1 and FIRE EXTNG2 (fire extinguishers) using the same method.
I abandoned the idea when I realised the rotaries had detents and could not be assigned to axxis... that Direct X version you talked earlier would be very handy.
That´s a good idea to map the lights switches, and such cotrols that are always "off" on mission start, to your toggles; that way you can get their position and leds synchronized with current aircraft condition, as long as you got them all "off" before start.

WWSensei
12-04-2004, 09:30 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>That´s a good idea to map the lights switches, and such cotrols that are always "off" on mission start, to your toggles; that way you can get their position and leds synchronized with current aircraft condition, as long as you got them all "off" before start. <HR></BLOCKQUOTE>

Yep. I also leave a keyboard keystroke assigned as well for those rare occasions things get out of "sync" then I can use the keyboard to toggle things back in sync. Don't give up on the rotatries. While not true "axis" they do have enough detents to provide pretty smooth action. I mapped the trim wheel on the LGT to the up and down arrows for elevator trim and I find it works much better than I expected (probably because the wheel inputs consistent "taps" whereas my fat fingers on the keyboard are probably far from consistent input). I'm pretty happy with the keymapper. I may still finish my little devicelink program for kicks. It's working fine for the T8 and P8. I may still post it up for anyone who wants to use it but the keymapper is far more flexible...

BaldieJr
12-06-2004, 06:06 PM
http://www.basicx.com/

I figure the above link may be something of interest to the devicelink users out there.

8 servo controller via serial port. Very cheap.

I think i'm going to grab one and a few hobby servos to play with.

BM357_Hawki
12-07-2004, 08:08 PM
I presume that the reason most of the important stuff left out in the multiplayer section of device link is on purpose, not to give an advantage to someone flying online. I am not sure if you had these parameters available that they would overide the server settings for maps, icons etc.

It could be possible to program a moving map display by checking your azimuth,angular_speed, and speed indicated to calculate your position.
Since you know the starting coodinates in meters, a semi accurate flight display can be programmed or an autopilot set up to fly to destination, you don't really need the beacons or shall we call them the waypoints, just a litte math. How did it go Sin Cosine ah forget it..LOL

Happy Flying

jeroen-79
12-07-2004, 09:03 PM
Not to mention sending "R/403" to other players.
http://forums.ubi.com/groupee_common/emoticons/icon_wink.gif

JoaoMuas
12-08-2004, 02:57 AM
Yeah, I guess it makes sense...

BM357_Hawki
12-08-2004, 06:27 PM
The biggest programming challenge with devicelink is the UDP protocal from a programming point of view. It is the best one to use for online gaming with regards to speed, not having the overhead of tcp/ip on top makes it a fast protocol however, the programmer has to program and check for lost packets, packets not in order etc. that the tcp/ip overhead provides automaticallyt. All this is can be done with a lot of work.

I plan to be using simkits line of products in kit form, they have a sdk for writing your own programs to set settings on the instruments. Yes they are expensive if you by them already assembled but they also come in a kit form at a much reduced price.

Happy Flying


Happy Flying
BM357_Hawki

BaldieJr
12-08-2004, 08:29 PM
I dusted off my copy of VB and have been toying with sockets. It really doesn't get any easier than this http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

Now I just need to figure out the serial port stuff and I'm ready to unleash my secret project http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

WWSensei
12-08-2004, 08:36 PM
Hawki,

In my C++ wrapper class I abstract all the network code out so all you have to do is call an Init() method and have a file with an IP and port. The link is http://www.wingwalkers.org/sensei/devicelink.zip

I include the source code as well as the Visual Studio project files for it.

BaldieJr
12-09-2004, 09:30 PM
Help: What are these?

angular_speed [float, deg./s] -inf +inf

overload [float undefined] -inf +inf

shake_level [float undefined] +0.00 +1.00

I think angular_speed has to do with acceleration, but I'm not sure.

shake_level I understand but need a way to quantify it. I guess the plane is shaking violently at 1.00, but if someone were to use this to modulate X/Y axis of a motion system, how much from normal operation would 1 be?

Lastly is overload: no idea why it means.

jeroen-79
12-10-2004, 08:11 AM
I think overload is G.

BaldieJr
12-10-2004, 08:54 AM
Ah, that makes sense.

TAGERT.
12-11-2004, 06:14 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BaldieJr:
Help: What are these?

angular_speed [float, deg./s] -inf +inf

overload [float undefined] -inf +inf

shake_level [float undefined] +0.00 +1.00

I think angular_speed has to do with acceleration, but I'm not sure.

shake_level I understand but need a way to quantify it. I guess the plane is shaking violently at 1.00, but if someone were to use this to modulate X/Y axis of a motion system, how much from normal operation would 1 be?

Lastly is overload: no idea why it means. <HR></BLOCKQUOTE>

angular_speed [float, deg./s] -inf +inf. I think it is the speed of the nose pitch.. ie how fast the nose pitch angle is changing.. the rate of the angle.. I belive it is used in the calc of AOA and accelerated stalls.

overload [float undefined] -inf +inf. I think it is like over g. But.. it seems to be all 3 axis rolled into one? Someone was trying early on to break it into the 3 components.. x,y, and z but I dont know if it worked?

shake_level [float undefined] +0.00 +1.00. I think you described it about as well as it can be.. I *think* that amount sums into the damage model somehow.. but.. hard to tell

Now a qustion for you guys.. Does anyone know how to calculate the roll rate? As far as I can tell there is no roll angle information.. you do have the aliron inputs.. but that is an input and does not tell you how the system is responding to it.. ie an output. If I had the roll angle, you could do the dt of it and get the roll velocity.. But as far as I can tell all we have he the headig angle and the picth angle.. but no roll angle.

PS when in the HELL are we going to get a DeviceLink forum????

jeroen-79
12-11-2004, 07:45 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by TAGERT.:
Now a qustion for you guys.. Does anyone know how to calculate the roll rate? As far as I can tell there is no roll angle information.. <HR></BLOCKQUOTE>
Sure there is roll data:
roll
46 get()
return: float [deg.] -180.00 +180.00

If you read a rollangle and store it with the time and read another rollangle some time later then you can determine the difference in roll and the difference in time and use these to calculate the rollrate.

BaldieJr
12-12-2004, 03:48 PM
I need help with string manipulation in VB6. I need a function that can put the results of a devicelink querry into different variables.

The result from devicelink is unknown length. All results are inside of \ (start) and / (end) except for the last result, which is everything to the right of a \

http://forums.ubi.com/images/smilies/16x16_smiley-wink.gif

Big thanks to whomever can help.

jeroen-79
12-12-2004, 05:31 PM
My Devicelink input module has a public sub Receive that is passed the string received from the network.
The private sub Cut1 will then split the string into substrings fopr each variable and the private sub Cut2 will split each substring into the typ of variable and the data sent.
This data is then passed to the private sub Writ which will write the data into the right variable.
These variables are public and can be read from other modules.

<pre class="ip-ubbcode-code-pre">Public Version as Double

Public Sub Receive(Data As String)
Cut1 (Data)
End Sub

Private Sub Cut1(Data As String)
Dim Work As String
Dim Pos As Integer
If Data &lt;&gt; "" Then Data = Right(Data, Len(Data) - 2) & "/"
While Len(Data) &gt; 0
Pos = InStr(1, Data, "/", 0) - 1
Work = Left(Data, Pos)
Data = Right(Data, Len(Data) - Pos - 1)
Cut2 (Work)
Wend
End Sub

Private Sub Cut2(Data As String)
Dim Pos As Integer
Dim Typ As String
Dim Data1 As String
Dim Data2 As String
Data = Data & "\"
Pos = InStr(1, Data, "\", 0) - 1
Typ = Left(Data, Pos)
Data = Right(Data, Len(Data) - Pos - 1)
If Len(Data) &gt; 0 Then
Pos = InStr(1, Data, "\", 0) - 1
Data1 = Left(Data, Pos)
Data = Right(Data, Len(Data) - Pos - 1)
End If
If Len(Data) &gt; 0 Then
Pos = InStr(1, Data, "\", 0) - 1
Data2 = Left(Data, Pos)
Data = Right(Data, Len(Data) - Pos - 1)
End If
Writ Typ, Data1, Data2
End Sub

Private Sub Writ(Typ As String, Data1 As String, Data2 As String)
'Typ is variable
'Data1 is the value
'for enginerelated variables, Data1 is the enginenumber and Data2 is the value
Select Case Typ
Case 2 'Version
Version = Data1
Case Else
End Select
End Sub</pre>

BaldieJr
12-12-2004, 07:49 PM
Forgive my imposition, as well as my ignorance of VB, but where are the values (which variable)?

This is annoyingly more difficult than it would be in php, but php doesn't talk to serial devices, and I must have serial communications for my project.

Thanks.

jeroen-79
12-12-2004, 08:21 PM
The variables are declared at the top of the code.
I only declared Version to save space in the post.
They are Public so other modules can use them.
In the Writ procedure thee is a Select Case statement that determines which variable was returned.
Each variable has a Case X statement where X is the code of the variable.

TX-Gunslinger
12-12-2004, 11:07 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>

angular_speed [float, deg./s] -inf +inf. I think it is the speed of the nose pitch.. ie how fast the nose pitch angle is changing.. the rate of the angle.. I belive it is used in the calc of AOA and accelerated stalls.

overload [float undefined] -inf +inf. I think it is like over g. But.. it seems to be all 3 axis rolled into one? Someone was trying early on to break it into the 3 components.. x,y, and z but I dont know if it worked?

shake_level [float undefined] +0.00 +1.00. I think you described it about as well as it can be.. I *think* that amount sums into the damage model somehow.. but.. hard to tell

Now a qustion for you guys.. Does anyone know how to calculate the roll rate? As far as I can tell there is no roll angle information.. you do have the aliron inputs.. but that is an input and does not tell you how the system is responding to it.. ie an output. If I had the roll angle, you could do the dt of it and get the roll velocity.. But as far as I can tell all we have he the headig angle and the picth angle.. but no roll angle.

PS when in the HELL are we going to get a DeviceLink forum???? <HR></BLOCKQUOTE>


Angular Speed is actually turning rate, as listed in Documentation as deg/sec (degrees). However, this is a mistake. Thie parameter is actually passed in rad/sec (radians).

I've tested it out capturing data from UDPGraph. If you import the output data into Excel, then you can convert this from rad to deg by utilizing the =RAD function.

S~

BaldieJr
12-13-2004, 12:06 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jeroen-79:
The variables are declared at the top of the code.
I only declared Version to save space in the post.
They are Public so other modules can use them.
In the Writ procedure thee is a Select Case statement that determines which variable was returned.
Each variable has a Case X statement where X is the code of the variable. <HR></BLOCKQUOTE>

Ahh ha! Thanks for clearing that up. Seems a bit clunky, but I guess its because of VB's limitations.

I've since discovered a way to talk to the serial port via php, so I'll probably rewrite the entire application. I need cross-platform capabilities for my project.

JoaoMuas
12-13-2004, 01:04 PM
This conversation is getting more and more interesting...

Keep it up, gentlemen.

BaldieJr
12-15-2004, 02:54 AM
Here, I'll kick this conversation up a notch or three....

I have servos running from devicelink now http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

Shhh! I'll put some video up as soon as I finish a few mechanical bits.

JoaoMuas
12-15-2004, 07:23 PM
I´d like to see that for sure, Baldie Jr.

John_Stag
12-16-2004, 06:04 AM
Okay, I tried running what you gentlemen have been talking about through babelfish, but it doesnt come out as English there either. http://forums.ubi.com/groupee_common/emoticons/icon_wink.gif

Being a cheapskate, my idea for creating THE CONTROLLER is to grab four (is it right that IL2/PF can't handle more?)cheap Logitech Extreme 3D Pro USB Joysticks off ebay, gut them for the control cards, and set the resulting modules up so that any number of cockpit combinations could be plugged in and run from the same box. Now, as the sim stands, I can't just simply map a second (or third, or fourth) engine to an available rotary, so I'm assuming that devicelink will make it possible to do so, but how do I go about it?

Is there a translator in the house?

Thanks in advance.

http://forums.ubi.com/images/smilies/35.gif

BaldieJr
12-16-2004, 07:54 AM
Ok, assuming you know how to program this up...
Devicelink says:
<pre class="ip-ubbcode-code-pre">
3.1. Analog controls (joy axis).
"Value" is limited to -1.00 +1.00.

Power
80 get() return: float
81 set(float)
</pre>

So you would need to read joystick input (I believe it reads 0-255) and convert it to something devicelink understands (-1.00 through +1.00).

Once you've done your math, you need to set the engine you want to control and then send the value for that engine.

Clear as mud?

John_Stag
12-16-2004, 08:10 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BaldieJr:
Ok, assuming you know how to program this up...
Devicelink says:
<pre class="ip-ubbcode-code-pre">
3.1. Analog controls (joy axis).
"Value" is limited to -1.00 +1.00.

Power
80 get() return: float
81 set(float)
</pre>

So you would need to read joystick input (I believe it reads 0-255) and convert it to something devicelink understands (-1.00 through +1.00).

Once you've done your math, you need to set the engine you want to control and then send the value for that engine.

Clear as mud? <HR></BLOCKQUOTE>

Clear as concrete. How do you select the engine, or is that already covered by

<pre class="ip-ubbcode-code-pre">Select Engine #1
123 set()</pre>

for example?

When does the GUI come out?

BaldieJr
12-16-2004, 01:58 PM
Ex.:

Throttle1 is at 255 (maximum).
Throttle2 is at 0 (minimum

key 123 - Engine #1
key 125 - Engine #2
key 81 - power


R/123/81\1.00/125/81\-1.00
This is what you would send to devicelink.

If run into any problems, just ask for help http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

BaldieJr
12-16-2004, 03:25 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by JoaoMuas:
I´d like to see that for sure, Baldie Jr. <HR></BLOCKQUOTE>


http://forums.ubi.com/images/smilies/10.gif http://www.hi-techredneck.org/Movie.wmv

http://forums.ubi.com/images/smilies/16x16_smiley-wink.gif

John_Stag
12-16-2004, 11:49 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BaldieJr:
Ex.:

Throttle1 is at 255 (maximum).
Throttle2 is at 0 (minimum

key 123 - Engine #1
key 125 - Engine #2
key 81 - power


R/123/81\1.00/125/81\-1.00
This is what you would send to devicelink.

If run into any problems, just ask for help http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif <HR></BLOCKQUOTE>

Thanks Mr. B. http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

JoaoMuas
12-18-2004, 03:31 AM
Baldie Jr. looks like you got yourself some "real" gauges... very good work indeed!

I´d like to know if you think they are accurate enough. I can´t tell just by watching your video, but it seems they look quite good.

Now that´s very interesting use of the device link features. WTG!

John_Stag
12-18-2004, 04:11 AM
Dammit, you had to show that didn't you?

Now I want one...

BM357_Hawki
12-18-2004, 09:43 AM
If you are looking for a 3rd party replacement control for the microsoft socket control, I've been using the Catalyst control which is a free download. It has alot more properties and methods than the MS control. It allows for blocking and non blocking sockets.

After testing devicelink with my packet sniffer it seems as if no matter what commands you send it will always send back a 60 byte packet. Do not send more than 60 bytes to the server, I found the limit to be around 3 commands in one string.

Happy flying
bm357_hawki

John_Stag
12-18-2004, 10:10 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BM357_Hawki:
If you are looking for a 3rd party replacement control for the microsoft socket control, I've been using the Catalyst control which is a free download. It has alot more properties and methods than the MS control. It allows for blocking and non blocking sockets.

After testing devicelink with my packet sniffer it seems as if no matter what commands you send it will always send back a 60 byte packet. Do not send more than 60 bytes to the server, I found the limit to be around 3 commands in one string.

Happy flying
bm357_hawki <HR></BLOCKQUOTE>

Are you saying that this catalyst thingmie can be used within PF?

jeroen-79
12-18-2004, 11:15 AM
It is a component of the external program that is responsible for sending and receiving data on a networkinterface.

BaldieJr
12-18-2004, 11:20 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by JoaoMuas:
Baldie Jr. looks like you got yourself some "real" gauges... very good work indeed!

I´d like to know if you think they are accurate enough. I can´t tell just by watching your video, but it seems they look quite good.

Now that´s very interesting use of the device link features. WTG! <HR></BLOCKQUOTE>

The two on the left are very accurate as they are just representing pitch/roll angle.

The VSI is not accurate at all. The servo is limited to 180 dgrees rotation, so i'll need to use a gear to extend the range. I'm also confused about devicelinks representation of the variometer data.

The good news is it can be made accurate with proper programing.

jeroen-79
12-18-2004, 12:19 PM
What confuses you?

The returned value is the cuurent vertical speed im m/s.

One problem I have is that VB6 uses "," while devicelink uses "." as the decimal seperator.
I solved that by replacing all "." with "," before I further process the incoming data.

Devicelink also sends the current vertical speed of the plane, not the position of the needle.
That makes the external needle a bit more jumpier compared the needle in the sim, which takes some time to converge on a changed vertical speed.
A solution would be to keep a history of variomer readings and then use the average of the last x readings to calculate the needle's position.

BaldieJr
12-19-2004, 09:27 AM
The confusing part has to do with the value coming from the variometer.


I paused the game when the VSI was at max dive. Devicelink was reporting 43.48 m/s. This can't be right. I'm going to look into it more, maybe its a bug.

jeroen-79
12-19-2004, 10:43 AM
Another difference between the game's vario and devicelink's vario.
The game's vario has a max and min stop at the point where the needle would move into the opposite scale.
Devicelink just tells you how fast you are climbing, you'll have to code your own max and min values.

And as I mentioned, the game's vario uses the average vertical speed over some period while devicelink tells you the current vertical speed.
If you start a climb then the devicelink value will be higher than the game's vario, which lags a bit.

Try maintaining a steady vertical speed with your devicelink vario and observe the game's vario, it should eventually level out at the same value as devicelink's vario.
(if you keep it steady enough)

WWSensei
12-19-2004, 11:15 AM
Baldie, like the guy said you might have to build some "lag" into your instrument. Maybe take 5 readings, average them and then output that average to the needle?

BaldieJr
12-19-2004, 11:41 AM
I understand. The things is, devicelink reports much lower than the in-cockpit vario.

Take any US plane. The vario is calibrated 0 thru 6 (+/-) x1000.

6000 f/s = 1828 m/s

Or, I'm totally confused?

Anyway, if you get the in-cockpit vario settled on 6 (+ or -, doesn't matter really), the output from devicelink is only 43 m/s. If my math is correct, the output should be 1828.

EDITED: I realize there is a lead/lag thing going on here. THe problem is, you never see a instantaneous burst to 1828. I'm watching devicelink at 1ms refresh and never see the high values one would expect.

I'll not be surprised if i'm doing something wrong.

Redwulf 32 - Nis
12-19-2004, 12:32 PM
BaldieJr.

Your math is ok, the only thing confusing you is that American variometers are calibrated in feet per minute and not feet per second.

1828 m/s is indeed VERY fast, approx. 2 X SR-71 http://forums.ubi.com/groupee_common/emoticons/icon_wink.gif

1828/60 approx 30.47 m/s, sounds reasonable enough.

Rule of thumb 200 ft/min = 1 m/sec


Redwulf__32

BaldieJr
12-19-2004, 01:44 PM
Thank you for clarifying that Redwulf.

I knew it had to be some small detail I was missing http://forums.ubi.com/groupee_common/emoticons/icon_smile.gif

Now I need to order gears so I can increase the servo's output (its limited to 180 degree rotation).

I'm almost afraid of gearing up the output. Since I'm going 1:2 ratio, hopefully the error will be minimal.

BaldieJr
12-19-2004, 09:43 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by WWSensei:
Baldie, like the guy said you might have to build some "lag" into your instrument. Maybe take 5 readings, average them and then output that average to the needle? <HR></BLOCKQUOTE>

Thats probably what I'll end up doing.

By the way: Have you tried the new exe? I'm having no negative effects when polling PF at 1ms intervals. It may go even faster, I just really haven't needed to try it as 1ms is plenty speedy for smooth servo operation.

I didn't really like devicelink at first, but now that the game performance is so much better, I'm very pleased with it.

WWSensei
12-20-2004, 08:28 AM
Running 3.01m with new exe. Yes, performance is better I just have the same complaints I've had about other things like lack of an increment/decrement flaps, no way to detect current state of many of the toggle functions, lack of inc/dec trim. Flaps and trim can be read if they are assigned to an axis (in which case you aren't reading the setting in game just the axis setting).

I mean there must be 3 or 4 commands for selecting and unselecting an engine but I can't send a simple "lower flaps one notch" command....and those are commands already in the game!

BaldieJr
12-20-2004, 08:59 AM
For flaps, why not just hook into the analoge section?

Flaps
82 get() return: float
83 set(float)

Set -1.00 for full flaps, 1.00 for no flaps, 0 would of course be 50%.

Not the most elegant solution, but workable.

WWSensei
12-21-2004, 04:45 AM
Yes, I know of those commands but it isn't what I'm looking for. There is no way to toggle through combat, take off and landing. What I don't understand is why since the game already has those.

jeroen-79
12-21-2004, 05:10 AM
You can't toggle directly but you can set the position of the flaps.

With that you can make something that looks like a toggle.

Find out what the values of "combat", "takeoff" and "landing" are and make something that cycles through them.

BaldieJr
12-21-2004, 11:19 AM
What sort of switch mechanism are you working with Sensei? Maybe a few extra heads can help provide a workable solution.

On a side note, I think we need a devicelink forum and some sort of way to decide on, and propose sane DL changes to Oleg.

WWSensei
12-21-2004, 06:27 PM
I'm using a GoFlight GF-LGT module, specifically it's flap switch. I know HOW to make a work around, just don't know if I should bother.

I also don't like the lack of Get commands for many of the toggles.

My current program has the GF-T8 and GF-P8 working fine and even the GF-45 as a sort of quasi bombsight calculator. Haven't finished the code on the GF-45 as I wrap up some other stuff but I know what needs to be done.

I concur on the forum thing Baldie. Besides missing commands I'd recommend to Oleg to do away with this 60 byte datagram they are using. It's huge and wasteful.

Of the over 400 commands I can count at least 250 that could easily be represented in 2 bytes with just using bitmasking rather than strings...

BaldieJr
12-22-2004, 04:15 PM
We really need to stop generalizing our desires and work on a complete list of changes.

So, starting now, here's what I know I'd like changed:

Get for nav, cockpit, and landing lights.
Get for currently selected engines.

I'll give it a few days, compile everyones input, and email Oleg. Cool?

WWSensei
12-22-2004, 04:41 PM
Sounds good. Here's a few more by the numbers to make it easier.

Need additional Gets for:

171, 399, 401, 403, 407-417, 423-429, 435, 439, 441, 447

Need additional commands(gets) for returning bombsight distance, sight control left/right, bombsight altitude and bombsight velocity

Need additional commands for incrementing/decrementing elevator, rudder and aileron trim. ie, match what we can do on the keyboard. Additional command for incrementing/decrementing flaps.

jeroen-79
12-22-2004, 05:51 PM
Get mapposition () return (x, y)
Get waypoint (number) return (number, x, y, alt, type/action)
Get maximum fuel () return (amount)
Get fuelpressure (engine) return (engine, pres)
Get oilpressure (engine) return (engine, pres)
Get bombsight () return (alt, spd, dist, l/r, status)
Set bombsight (alt, spd, dist, l/r, status)
Get weapons (mount) return (mount, type, number)
Get droptank () return (presence)
Set droptank () [drop it]
Set wingmancommand (command)

How about a redesign of how devicelink handles requests and answers?
Currently you receive 1 reply for 1 request, if you want to keep updated you must keep sending requests.

What if the game would send 'replies' on it's own initiative?
When a mission starts it could send data relative to the plane and route.
Instrumentdata could be sent at a given frequency.
Things like switches or gearposition wouldn't need to be sent all the time but only when they change.
Configuring what devicelink sends and when could be done with a configfile with the game or by sending a request once. ("send me the altitude every 20 ms" or "send me the navlight state when it changes")

JoaoMuas
12-22-2004, 08:06 PM
Just a simple question:

Using device link, is it possible to assign a single key to each of the radiator cowl flaps positons, or at least one key to open and a different key to close insted of the scroll type ingame key assignment?

jeroen-79
12-22-2004, 08:30 PM
Devicelink offers one key cycle through the radiator positions, just like the game.

But if you send the open command 5 times you accomplish the same as sending a close command once.

Some planes have an additional automatic position, with these you would need to send the open command 6 times.

You can make a devicelink program that responds to two keys and either sends the open command once or 5 times.
With a programmable stick/hotas you can do the same.

It's not pretty but it works.

JoaoMuas
12-23-2004, 12:34 PM
Roger, I understand that.
What I was thinking about is to program an "auto" radiator command which opens when throttle is cut off. Some planes already have this automatic feature, some don´t; I just think that "in real life" the pilot could easily open the cowls when cutting of power, as usualy the radiator cowl flap lever was placed near the throttle. As we don´t have an axis to command cowl flaps, and I don´t have that extra lever either, programming the cowls to work with the throttle seems a realistic thing, even though most planes don´t have that "auto" feature. The ingame cycle key makes programming impossible in a reliable way, as (again) we don´t get to track the actual cowl flap condition.

So, that leads to the solution Jeroen pointed, which I agree not pretty but workable.

Thanks.

TAGERT.
12-23-2004, 12:43 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by BaldieJr:
We really need to stop generalizing our desires and work on a complete list of changes.

So, starting now, here's what I know I'd like changed:

Get for nav, cockpit, and landing lights.
Get for currently selected engines.

I'll give it a few days, compile everyones input, and email Oleg. Cool? <HR></BLOCKQUOTE>First and formost we need to GET a DeviceLink room on this forum! This vital info just gets lost in these general rooms.

GetPositionXYZ() &lt;-- NEED THIS BADLY to do some COOL post processing!!
GetYawAngle() &lt;-- Allready have, but **
GetPitchAngle() &lt;-- Allready have, but **
GetRollAngle() &lt;-- NEED THIS BADLY!

**not sure if it is the actual direction of flight, or just nose point, ie delta between where you point it and where it actually goes.

Also, it would be cool if we could switch to other planes and use all the Get functions per the other planes.. Granted not cool online, but for OFFLINE and Post Processing it could make for some cool 3rd party tools like Radar and or checking for cheats.

jeroen-79
12-23-2004, 01:13 PM
Pitch is where the nose points, not where the plane flies.
Request it when you are sitting on the runway.
The same for yaw, slip indicates how your direction of flight differs from the direction of the nose.
Angle of attack may be a good addition.

I am using the roll parameter to drive an artificial horizon.
It is parameter 46.

TAGERT.
12-23-2004, 01:57 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jeroen-79:
Pitch is where the nose points, not where the plane flies. <HR></BLOCKQUOTE>Roger, in RL, but just not sure which one is provided per DL. Have you confirmed that yet? If so, how?

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jeroen-79:
Request it when you are sitting on the runway. <HR></BLOCKQUOTE>As in assume the runway is level? Most seem to be, but a few are not.

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jeroen-79:
The same for yaw, slip indicates how your direction of flight differs from the direction of the nose. <HR></BLOCKQUOTE>Roger, in rl, but again not sure which one is provided per DL.

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jeroen-79:
Angle of attack may be a good addition. <HR></BLOCKQUOTE>Would help, once we know which value of pitch is provided per DL, then the other could be found.

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jeroen-79:
I am using the roll parameter to drive an artificial horizon.
It is parameter 46. <HR></BLOCKQUOTE>OMG! Thank You! I didnt see.. Or.. I must have missed that one! Thanks! Now I can go calc the roll rates in those ZERO vs F4F tests!

jeroen-79
12-23-2004, 02:40 PM
Unless the planes can fly at 90? AOA or 180? slip I am very certain that the pitch and yaw values returned by devicelink indicate where the nose points relative to the horizon and the north and not reative to the airstream.

TAGERT.
12-23-2004, 04:25 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jeroen-79:
Unless the planes can fly at 90? AOA or 180? slip I am very certain that the pitch and yaw values returned by devicelink indicate where the nose points relative to the horizon and the north and not reative to the airstream. <HR></BLOCKQUOTE>Roger, so your guess is as good as mine than! And if it is where it points as aposed to where it goes than it makes it hard to do some post processing 3rd party stuff.. If we only had acess to the xyz position we could determine for sure what those values are.

BaldieJr
12-27-2004, 12:19 PM
I'll be sending the compiled list soon, so if you have suggestions, please post now.