PDA

View Full Version : DeviceLink and a/c with multiengines



a_v_c
09-12-2004, 03:14 AM
Does anybody know how to get rpm, manifold, temp_oilin, ... for engine with index greater then 0?
I've tried "R/64\1" - no reply at all. Then I tried "R/125/64" - select engine 2 and request its rpm - still replies with value for engine 1. Is there any way how to get readings for engines other then the first one?

a_v_c
09-12-2004, 03:14 AM
Does anybody know how to get rpm, manifold, temp_oilin, ... for engine with index greater then 0?
I've tried "R/64\1" - no reply at all. Then I tried "R/125/64" - select engine 2 and request its rpm - still replies with value for engine 1. Is there any way how to get readings for engines other then the first one?

a_v_c
09-12-2004, 07:58 AM
I found it. DeviceLink does not reply if you request few engines at once, but if you request engine by engine - it works:
"R/64\1" = works
"R/64\0/64\1" - no reply from IL-2 at all.

a_v_c
09-12-2004, 09:33 AM
Now UdpGraph can show paramaters for all engines
http://www.avcsite.ru/il2dl/imgs/engines.jpg

BBB_Hyperion
09-12-2004, 10:13 AM
Its a limitation of the interface we already complained a while ago http://ubbxforums.ubi.com/images/smiley/16x16_smiley-happy.gif

High Ground is not only more agreeable and salubrious, but more convenient from a military point of view; low ground is not only damp and unhealthy, but also disadvantageous for fighting.

Sun Tzu : The Art of War

Regards,
Hyperion

TAGERT.
09-12-2004, 10:25 AM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by a_v_c:
I found it. DeviceLink does not reply if you request few engines at once, but if you request engine by engine - it works:
"R/64\1" = works
"R/64\0/64\1" - no reply from IL-2 at all.<HR></BLOCKQUOTE>Ah..

So even if you put other things inbetween them it didnt work?

So.. in summary what you saying is a UDP request followed by a reply can only have one engine rpm get command in the request.. That is two get info from two engines you have to make two UDP requests?

PS when are they going to add the DeviceLink forum?

http://www.geocities.com/grantsenn/4ALL2SEE/PICTURES/UBI_FORUMS/MyUbiSig.jpg
TAGERT

a_v_c
09-12-2004, 03:02 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by TAGERT.:
So.. in summary what you saying is a UDP request followed by a reply can only have one engine rpm get command in the request.. That is two get info from two engines you have to make two UDP requests?<HR></BLOCKQUOTE>
Exactly so. This is output of UdpTest that I'd wrote today to find out what is going on with engines:
http://www.avcsite.ru/il2dl/imgs/UdpTest.png
As you can see if you send request without engine index then IL-2 by default uses index 0 and everythig works fine. It also works if you put request with index as the last in the query string: "R/64/66/68\1" will return data for keys 64 and 66 for engine 0 and 68 for engine 1. But if you send "R/64/66/68\1/70\1" it will send you back only 64 and 66 for engine 0.
But if you send "R/64\1R/68\1R/70\1" UdpTest will automatically split this string to three separate messages and then IL-2 will send three packets back with proper data

TAGERT.
09-12-2004, 03:28 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by a_v_c:
Exactly so. This is output of UdpTest that I'd wrote today to find out what is going on with engines:
http://www.avcsite.ru/il2dl/imgs/UdpTest.png
As you can see if you send request without engine index then IL-2 by default uses index 0 and everythig works fine. It also works if you put request with index as the last in the query string: "R/64/66/68\1" will return data for keys 64 and 66 for engine 0 and 68 for engine 1. But if you send "R/64/66/68\1/70\1" it will send you back only 64 and 66 for engine 0.
But if you send "R/64\1R/68\1R/70\1" UdpTest will automatically split this string to three separate messages and then IL-2 will send three packets back with proper data<HR></BLOCKQUOTE>Ah! Nice work!

I ran into a similar problem.. I was trying to write an auto pilot (more auto level) where I adj the elevator to maintain alt and controlling the ailerons to keep it level.. It didn't seem to work at all.. I know the commands were getting received because within that string I toggle the wing tip smoke and could see it was toggling.. But nothing was going on with the elevator or ailerons.. So, I made the elevator and ailerons TWO separate UDP write commands and it started working! http://ubbxforums.ubi.com/infopop/emoticons/icon_wink.gif

As for your

"R/66/68\1"

Request.. is the '\1' supported by DeviceLink to INDEX things like in this case MANIFOLD? If so, cool! I didn't know how they indexed other than zero! DeviceLink.txt does not *say* how.. But does imply it is possible.. With that said.. I assume that in the '\1R' you added the 'R' so your parcer knows it is an index and to break it into separate UDP writes? Or is that supported by DeviceLink too? If so, how did you ever figure that one out? http://ubbxforums.ubi.com/infopop/emoticons/icon_wink.gif

PS I hope they make a seperate DeviceLink Forum.. And move this to it! CrazyIvan.. Any word on that yet?

http://www.geocities.com/grantsenn/4ALL2SEE/PICTURES/UBI_FORUMS/MyUbiSig.jpg
TAGERT

WB_Outlaw
09-12-2004, 03:45 PM
My instrument panel program used to get an engine count and populate all the gauges for up to 4 engines. I finally gave up on it due to the poor response from the game. I was lucky to get 2 or 3 updates per second.

-Outlaw.

a_v_c
09-12-2004, 04:05 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by WB_Outlaw:
My instrument panel program used to get an engine count and populate all the gauges for up to 4 engines. I finally gave up on it due to the poor response from the game. I was lucky to get 2 or 3 updates per second.
-Outlaw.<HR></BLOCKQUOTE>
What version of AEP have you tried? I use 2.0.4 I can get parameters for all engines four times a second without any problems - just have a look at the picture that I put above - this my UdpGraph showing data for all four engines of TB-3.
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by TARGET:
Request.. is the '\1' supported by DeviceLink to INDEX things like in this case MANIFOLD? If so, cool! I didn't know how they indexed other than zero! DeviceLink.txt does not *say* how.. But does imply it is possible.. With that said.. I assume that in the '\1R' you added the 'R' so your parcer knows it is an index and to break it into separate UDP writes? Or is that supported by DeviceLink too? If so, how did you ever figure that one out?<HR></BLOCKQUOTE>
Index is supported by DeviceLink. The only problem with DeviceLink - if you want to get parameters for engine with indexes greater than 0 you have to send separate requests. So for engine 0 you can send one message to get everything:"R/64/66/68/70" but for engine 1 or above you have to send four messages: "R/64\1","R/66\1","R/66\1","R/66\1".
I figuered it out using my UdpTest. You can download it at http://www.avcsite.ru/bin/UdpTest.zip

TAGERT.
09-12-2004, 04:37 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by a_v_c:
Index is supported by DeviceLink. The only problem with DeviceLink - if you want to get parameters for engine with indexes greater than 0 you have to send separate requests. So for engine 0 you can send one message to get everything:"R/64/66/68/70" but for engine 1 or above you have to send four messages: "R/64\1","R/66\1","R/66\1","R/66\1".<HR></BLOCKQUOTE>
Ah good.. I just tried it out and it does indeed work! Makes sense now.. I didnt give it much thought in that at the moment Im doing all single engine stuff.

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by a_v_c:
I figuered it out using my UdpTest. You can download it at [URL=http://www.avcsite.ru/bin/UdpTest.zip<HR></BLOCKQUOTE>
Thanks! But Im actually writing my own program.. More for post analysis and loging data than real time flying with guages. Nothing will probally come of it.. But it is kind of fun and makes it easy to dispute false claims of bugs.

Oh.. as for data rates.. Im having no problems here either.. Im reading every get() value once per second and logging it to a file.. No game stutters at all

http://www.geocities.com/grantsenn/4ALL2SEE/PICTURES/UBI_FORUMS/MyUbiSig.jpg
TAGERT

WB_Outlaw
09-12-2004, 05:14 PM
For a smooth looking instrument panel four hertz is too low a sampling rate.

-Outlaw.

TAGERT.
09-12-2004, 10:44 PM
<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by WB_Outlaw:
For a smooth looking instrument panel four hertz is too low a sampling rate.

-Outlaw.<HR></BLOCKQUOTE>Depends.. on how fast those instruments change. As I pointed out Im reading ALL the get values per sec.. I limited it to 1 sec just because I dont want the log file to get too big.. I have ran it at 1/4sec no problem.. So, what you could do is read some data faster than others.. For things like engine and oil temp 4Hz is MORE than enough.. So put them in the slow reading loop.. If you limit the reads to just velocity, slip, pitch and a few more Im sure you could read it at a much higher rate than 4Hz! If I can read them all at 4Hz.. I know I could read 3 or 4 at a much higher rate.

http://www.geocities.com/grantsenn/4ALL2SEE/PICTURES/UBI_FORUMS/MyUbiSig.jpg
TAGERT

BBB_Hyperion
09-14-2004, 09:42 AM
AMD Cpus seems to dislike the interface and give worse response times than Intel. Forcing to slow down request times. Anyway the request for each engine in own string is a little odd and will hopefully be fixed in future releases.

Didnt activate my autopilot cause reaction time isnt good enough for high speed turns cause of this issue.

High Ground is not only more agreeable and salubrious, but more convenient from a military point of view; low ground is not only damp and unhealthy, but also disadvantageous for fighting.

Sun Tzu : The Art of War

Regards,
Hyperion