CondorUDP2COM - send UDP data over COM port - source code available
CondorUDP2COM - send UDP data over COM port - source code available
edit: old app was written in WinAPI, better implementation together with installer can be found here: https://github.com/kbobrowski/CondorUDP2COM
short video demonstration (works also with Condor2): https://www.youtube.com/watch?v=KtItH9Yoj_A
==================================================================================
Hey,
I made a small app to send UDP data over serial port, hope some of you will find it useful instructions can be found in Help->Instructions
short video demonstration (works also with Condor2): https://www.youtube.com/watch?v=KtItH9Yoj_A
==================================================================================
Hey,
I made a small app to send UDP data over serial port, hope some of you will find it useful instructions can be found in Help->Instructions
You do not have the required permissions to view the files attached to this post.
Last edited by kmail890 on Sat May 16, 2020 12:35 am, edited 4 times in total.
Re: CondorTransceiver - send UDP data over COM port
Hello,
First of all; CONGRATZ with this fantastic App. A bit surprised as well that you didn't get more positive reactions.
I would like to learn how you did get that UDP data out of Condor. Sure you can set the port and connect data
in the udp.ini but when looking on the net for an SDK explaining parameters and communication protocols I did
not get many hits. As a matter of fact ... none.
Can you send me a bit more information (or a linkt to it) about how Condor sends out its flight parameters, please?
I need a sortlike application to send Condor flt data to an interface I'm building that will output "real" Pt & Ps
(yes, air pressures) so I can use real instruments in the sim cockpit I plan to build. Wonder if I can use yours.
On the other end with a few projects in mind, I would like to create a more specific one for my applications,
involving CAN communications as well. Is there a possibility to send me the source code of this app. It would
help me a me a lot about UDP data communications. I have basic knowledge of C++ programming, but when
it comes to UDP things & so, I still have to learn a lot.
Many thx in advance & with kind regards,
K21flyer / Kris
http://www.handflight.be
kris@handflight.be
First of all; CONGRATZ with this fantastic App. A bit surprised as well that you didn't get more positive reactions.
I would like to learn how you did get that UDP data out of Condor. Sure you can set the port and connect data
in the udp.ini but when looking on the net for an SDK explaining parameters and communication protocols I did
not get many hits. As a matter of fact ... none.
Can you send me a bit more information (or a linkt to it) about how Condor sends out its flight parameters, please?
I need a sortlike application to send Condor flt data to an interface I'm building that will output "real" Pt & Ps
(yes, air pressures) so I can use real instruments in the sim cockpit I plan to build. Wonder if I can use yours.
On the other end with a few projects in mind, I would like to create a more specific one for my applications,
involving CAN communications as well. Is there a possibility to send me the source code of this app. It would
help me a me a lot about UDP data communications. I have basic knowledge of C++ programming, but when
it comes to UDP things & so, I still have to learn a lot.
Many thx in advance & with kind regards,
K21flyer / Kris
http://www.handflight.be
kris@handflight.be
Re: CondorTransceiver - send UDP data over COM port
Hi kmail890,
Neat program.
I like to learn how to reed UDP from Condor, modify the data to send to my real instruments and
also forward the UDP data to an other port (BFF 6dof motion driver) that drives my motion platform.
Are you willing to provide me with the source of the program?
If you implement the forward option in the program would also be appreciated.
Best regards,
Douwe
Neat program.
I like to learn how to reed UDP from Condor, modify the data to send to my real instruments and
also forward the UDP data to an other port (BFF 6dof motion driver) that drives my motion platform.
Are you willing to provide me with the source of the program?
If you implement the forward option in the program would also be appreciated.
Best regards,
Douwe
EX. Member of the EX. Hi5 Oldtimer Glider Flying Team
http://djippes.nl/hi6sim/index.html
Skype name: djippes / djippes-m
EX. PA0NM
http://djippes.nl/hi6sim/index.html
Skype name: djippes / djippes-m
EX. PA0NM
Re: CondorTransceiver - send UDP data over COM port
Can`t run aplication, MSVCR100D.dll missing error.
I copy .dll file to folder with condortransceiver, in c:/windows/system32 also file also is, I dont know why aplication can`t run.
I copy .dll file to folder with condortransceiver, in c:/windows/system32 also file also is, I dont know why aplication can`t run.
-
- Posts: 7
- Joined: Tue Jun 27, 2017 10:01 am
Re: CondorTransceiver - send UDP data over COM port
this does work, attain a copy of the missing dll file and copy to windows/system32 directory and install directory, I did both?? Also make sure you have c++ redisdibutable 2010 installed, get from Microsoft website.
Re: CondorTransceiver - send UDP data over COM port
From https://social.technet.microsoft.com/fo ... is-missing
MSVCR100.dll = Visual C++ 2010 Runtime...
32Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
http://www.microsoft.com/de-de/download ... px?id=8328
64Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
http://www.microsoft.com/en-us/download ... x?id=13523
MSVCR100.dll = Visual C++ 2010 Runtime...
32Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
http://www.microsoft.com/de-de/download ... px?id=8328
64Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
http://www.microsoft.com/en-us/download ... x?id=13523
Re: CondorTransceiver - send UDP data over COM port
Hi guys, after some break I did not have time for Condor recently, and only now saw you replies...
Original application was written in WinAPI, it was my first peace of software and horribly implemented. I've rewritten it in python, with much cleaner implementation, and more efficient data frame.
Source code and installer are available on GitHub: https://github.com/kbobrowski/CondorUDP2COM
Hopefully you'll find it useful, feel free to contribute!
Cheers
Original application was written in WinAPI, it was my first peace of software and horribly implemented. I've rewritten it in python, with much cleaner implementation, and more efficient data frame.
Source code and installer are available on GitHub: https://github.com/kbobrowski/CondorUDP2COM
Hopefully you'll find it useful, feel free to contribute!
Cheers
Re: CondorUDP2COM - send UDP data over COM port - source code available
That's brilliant. Guess what my desk looked like when I stumbled upon this thread ?
https://youtu.be/EdBr23yDhig
Yep, arduino + stepper gauge prototype working with OpenVario (that will be installed in an actual glider this winter). And I was looking for a way to interface with Condor via UDP (serial link updates way too slowly) and you might be a big help with that.
However, Im a little confused. I quickly tried it and watched the output in a serial monitor, and I only get gibberish. You convert condor's UDP format in to something binary? And what are the COM ports you can select ? You create a virtual com port pair, one to send, one to receive is that it? Too bad I cant seem to select an existing com port, so it would be sent straight to the arduino (and preferably, in native format).
https://youtu.be/EdBr23yDhig
Yep, arduino + stepper gauge prototype working with OpenVario (that will be installed in an actual glider this winter). And I was looking for a way to interface with Condor via UDP (serial link updates way too slowly) and you might be a big help with that.
However, Im a little confused. I quickly tried it and watched the output in a serial monitor, and I only get gibberish. You convert condor's UDP format in to something binary? And what are the COM ports you can select ? You create a virtual com port pair, one to send, one to receive is that it? Too bad I cant seem to select an existing com port, so it would be sent straight to the arduino (and preferably, in native format).
Re: CondorUDP2COM - send UDP data over COM port - source code available
Nice job with OpenVario, interesting to see these installed in a glider.
Yes, UDP is converted to binary. You just tick what data you want to send over COM port in UDP-preview, then the frame in binary format is previewed in "serial port preview".
At the beginning of each frame, 6 bytes (hex: 78) are sent. Then to indicate which value is sent over, two bytes are transmitted (first is always 7A and second is an integer indicating index from "UDP preview". Then 4 bytes are sent, which is just a float value. Maybe it could be made less conservative, by sending just index of the parameter and parameter value in float.
The example arduino code on github is actually corresponding to this less conservative variant (just sending 5 bytes for each parameter, first the index and then the float).
Regarding COM ports, it is just showing those available by calling serial.tools.list_ports python method. You should be able to select existing COM port (is it showing up in device manager?)
What do you mean by native format? Condor UDP stream is just a bunch of text, it seems to be easier to do parsing on the python side and just send selected binary data over serial port.
Yes, UDP is converted to binary. You just tick what data you want to send over COM port in UDP-preview, then the frame in binary format is previewed in "serial port preview".
At the beginning of each frame, 6 bytes (hex: 78) are sent. Then to indicate which value is sent over, two bytes are transmitted (first is always 7A and second is an integer indicating index from "UDP preview". Then 4 bytes are sent, which is just a float value. Maybe it could be made less conservative, by sending just index of the parameter and parameter value in float.
The example arduino code on github is actually corresponding to this less conservative variant (just sending 5 bytes for each parameter, first the index and then the float).
Regarding COM ports, it is just showing those available by calling serial.tools.list_ports python method. You should be able to select existing COM port (is it showing up in device manager?)
What do you mean by native format? Condor UDP stream is just a bunch of text, it seems to be easier to do parsing on the python side and just send selected binary data over serial port.
Re: CondorUDP2COM - send UDP data over COM port - source code available
I am using Condor 2
when I launch the app, I got (even after installing the windows file)
MSVCR100D.dll missing error.
thanks
when I launch the app, I got (even after installing the windows file)
MSVCR100D.dll missing error.
thanks
Re: CondorUDP2COM - send UDP data over COM port - source code available
@adcam, make sure that you are using newest version of the application:
https://github.com/kbobrowski/CondorUDP ... DP2COM.exe
if it still does not work try to install Visual C++ runtime:
https://github.com/kbobrowski/CondorUDP ... DP2COM.exe
if it still does not work try to install Visual C++ runtime:
32Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
http://www.microsoft.com/de-de/download ... px?id=8328
64Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
http://www.microsoft.com/en-us/download ... x?id=13523
Re: CondorUDP2COM - send UDP data over COM port - source code available
I have stumbled over this post in my search for how to drive instruments via an Arduino to stepper motors.
The software in this thread is very interesting, thought do i wonder if someone have been to get it to work with the supplied example?
I have tried to run the supplied stepper_motor_gauge.io file on my Arduino mega card but I don't get any movement on my stepper motor.
And I use Condor 2 as simulator.
Small disclaimer - i'm extremely new to programming in the Arduino language so I might have misunderstood the code completely , but I have tried to understand what is happening.
What I have been able to discover is the following. (there is a disclaimer from the author so this might be expected)
7a 01 cb 54 da 41 z.ËTÚA
7a 02 f6 66 79 44 z.öfyD
7a 03 b0 55 54 bf z.°UT¿
7a 04 d6 55 54 bf z.ÖUT¿
If i translate this to what I can se in the software so should it be something like this.
78 78 78 78 78 78 xxxxxx
7a 01 c5 54 da 41 z 1 27.29139 // Speed in knots
7a 02 f6 66 79 44 z 2 997.60876 // Altitude in feet
7a 03 e2 55 54 bf z 3 -0.829443 // Vario m/s ??
7a 04 f4 55 54 bf z 4 -0.829443 // Electric vario m/s ??
The documentation speaks about a quite minimalistic way of sending the data - in blocks of 5 bytes.
As I see it so is though each line 6 data pairs than in some way should resemble a float data.
The supplied example try to read 5 bytes at each "run" but that renders that not all data is processed, when I run it in a simulator do I read half the data before processing it further, resulting in garbage data.
Have any one found a way how to parse the UDP stream as it is above ?
Also - i can't se anywhere in the code some kind of synchronization to the beginning of a datablock , is that not necessary?
Thanks in advance for any insight in this thoughts.
The software in this thread is very interesting, thought do i wonder if someone have been to get it to work with the supplied example?
I have tried to run the supplied stepper_motor_gauge.io file on my Arduino mega card but I don't get any movement on my stepper motor.
And I use Condor 2 as simulator.
Small disclaimer - i'm extremely new to programming in the Arduino language so I might have misunderstood the code completely , but I have tried to understand what is happening.
What I have been able to discover is the following. (there is a disclaimer from the author so this might be expected)
- Seem like the new software is sending data in a new format than the old did
- Using a terminal software and listening in to the stream give a datablock like
7a 01 cb 54 da 41 z.ËTÚA
7a 02 f6 66 79 44 z.öfyD
7a 03 b0 55 54 bf z.°UT¿
7a 04 d6 55 54 bf z.ÖUT¿
If i translate this to what I can se in the software so should it be something like this.
78 78 78 78 78 78 xxxxxx
7a 01 c5 54 da 41 z 1 27.29139 // Speed in knots
7a 02 f6 66 79 44 z 2 997.60876 // Altitude in feet
7a 03 e2 55 54 bf z 3 -0.829443 // Vario m/s ??
7a 04 f4 55 54 bf z 4 -0.829443 // Electric vario m/s ??
The documentation speaks about a quite minimalistic way of sending the data - in blocks of 5 bytes.
As I see it so is though each line 6 data pairs than in some way should resemble a float data.
The supplied example try to read 5 bytes at each "run" but that renders that not all data is processed, when I run it in a simulator do I read half the data before processing it further, resulting in garbage data.
Have any one found a way how to parse the UDP stream as it is above ?
Also - i can't se anywhere in the code some kind of synchronization to the beginning of a datablock , is that not necessary?
Thanks in advance for any insight in this thoughts.