Hello all, I'm both new to the forum, and to C++. The only languages I know (and not extremely well) are CLISP, ICARUS, and MatLab. I'm planning on learning C++, but I was wondering if this problem could be solved without a full-fledged understanding of C++ for the time being.

My current problem lies within access to data from a program that's already been written. This program is for a MAV Quadcopter and utilizes this code that can be found at the link here https://code.google.com/p/arducopter/downloads/list

Arducopter 2.9.1b is the version we're working with as a team.

I'm trying to get the data to be accessed through the terminal, and thus able to utilize in real-time for other programs. I know the Arducopter program provides me with the data necessary as I can access it from programs like ArducopterMissionPlanner10 (Mission Planner 1.2.52 mav 1.0) and call it from test mode and setup modes within the terminal of that application.

Odds are I will get a C++ book here in the next couple of days or seek out an online route, so if you cannot help me initially, but have a good book to suggest or route to learn, I'd be appreciative in the same.

I appreciate any and all help in advance, and I'm looking forward to learning!

Best regards,


This is really a question that you should direct to the developers of that library / program.

If you say that there are already programs (within that framework) which can exchange some data (or "communicate") with the main program, then it means that this framework uses some form of inter-process or inter-program communication. Inter-process communication is usually achieved with things like files (or pseudo-files), memory-mapped files, network sockets (on a loop-back IP address), or pipes (also a kind of pseudo-file), or other OS-specific options. These are language-agnostic. You should enquire as to what method they are using and how to tap into it.

Otherwise (if they are unavailable to help you, which I doubt), you have the source code. Learn enough C++ to understand the relevant parts of that source code and learn to modify it to your needs. Plowing through a library like that is a tedious process regardless of your skill level. But it's not impossible, but it's highly preferrable if you can get guidance / pointers from the library developers directly.

As for book recommendations, we have a permanent thread for that (you can skip to the end for the more up-to-date recommendations).