Building the Ardupilot software

I've been in the embedded software business for a decade or so, but typically I've used the Keil IDE on Arm and Infineon C166 hardware, with mainly straight C and some C++ code. I'm totally unfamiliar with Arduino hardware and software builds, and unfamiliar with old school Unix like Makefiles and such.

I've found the code Ardupilot-Mega repository at google, and browsed some of the source. It appears some is garden variety C++, while some has a ".pde" extension, and some research says this is an Arduino file extension.

Is there a good "Ardupilot software builds" for Dummies somewhere?

Thanks in advance....

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • I've made considerable progress from where I was 24 hours ago.

    I have the code, have the IDE, and have built the sketch successfully.

    So, where is the hex file? (or, whatever bin, or exe equivalent).

    I've searched all over and can't find a file that appears to be correct. I get a "Binary sketch size:" message after the build, so I'm confident it's been done. I don't have the APM attached to this computer at the time. I had assumed the mission planner would download the hex file, but looking, I can't seem to locate where the mission planner gets it's hex file from.

  • 3D Robotics

    Dennis, all Ardupilot software has moved to GitHub (Google Code is just hosting the manuals and archival stuff now). Please check it out here

  • Hi Dennis,

    The .pde (old) and .ino are kind of analogous to C++ versions. Internally, all these .pde (or .ino: again both these extensions are the same), combine into ONE C++ that is used for the build, before burning to the microcontroller.

    The .pde file gets support from our dear AVR (Atmel) libraries (Arduino, is kind of a wrapper around AVR to make programming easier via high level C++ rather than assembly or C AVR style programming with timers and registers). It is 95% C++ plus 5% C++ style flavour.

    The .pde file is nothing but a C++ file. It basically, involves two functions (called from main.cpp, somewhere in AVR code), setup() and loop().

    setup(): Is where we write some initiating code.

    loop(): Write your real-code (like while(1)) keeps running, and never ends its life until you reset OR switch off the board.

    ArduPilot is quite complex in itself, and as I understand it took them years to get it to near perfection. Btw, I don't see a clear documentation OR architecture of ArduPilot myself. I have learnt it by browsing/ debugging it for the last many-many months to get a flavor of it.

    I hope someone can bring up some form of Architecture on the Wikis..

    Hope this helps!

    Best regards,

    Shyam.

  • Try here for instructions.

    Andrew

This reply was deleted.