I'm working on getting the ArduPilot mega 2.x to compile outside the IDE using make (which will also allow it to be compiled in Eclipse, or NetBeans or whatever)

 

It is a work in progress :(

 

Is anyone else interested in this? otherwise I'll just do it for my own amusement.


So far I've found the following problems, which mainly relate to the way the Arduino IDE tries to auto-handle C function and variable prototype declarations.

 

1. Functions are used before being declared

2. Functions are marked static in a file, but are actually used by other files.

3. There is no .h file declaring all the global variables, structures and constants in use

 

My solution so far is to

1. Add declaration statements at the top of modules where functions, not necessarily externally useful ones that belong in proto.h, are used before the code for them.

2. Build up a proto.h file that is included by every file that is full of "extern .." declarations to define the functions and variables in use all over.

3. Remove "static" in front of functions that are in one file, but used externally to that file (are in proto.h)

 

As for the makefile, there is a generator written in ruby that does the job of creating the makefile automatically. It works ok, so that hasn't been a problem.

 

Once  the compile errors are killed, and the hex file is created, I'll make sure it uploads it the same way the IDE does.

 

Basically all I want to do is muck around with the code base in a small filesystem tree, using vi. Then type "make" and "make install" to upload. The IDE was a nice fast start but now it gets in the way.

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

Join diydrones

Email me when people reply –

Replies

  • Hi,

    Are you still pursuing this? Last weekend I noticed that at least since the svn->git transition there is a cmake based build pipeline and even a java tool that emulates the arduino IDE method of merging pde files (thanks, development team! :) . Had to do some minor changes to adapt it to my APM1280 but now I can build and even upload the latest git repo version (taking some stuff out I don't need to reduce the memory footprint, of course). Pretty cool actually.. guess the guys are using it for building the hex images of the mission planner. Once I find the time I maybe write the steps down but it's not much more then just running cmake and make.

  • 3D Robotics

    We've already written a tutorial on using Eclipse in the manual here

     

    The guide to using a makefile is here

This reply was deleted.

Activity

DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
Monday
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
Monday
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
Monday
DIY Robocars via Twitter
Saturday
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
Saturday
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
Saturday
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Friday
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー https://t.co/1Qq2zOeftG
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track https://t.co/RtLb7TcgIJ
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: Practiced at @RAMS_RC_Club today with my new @ARRMARC car https://t.co/AEu2hCx89T
Aug 28
DIY Robocars via Twitter
Aug 24
DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer https://t.co/giVvuE4hP7
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing https://github.com/pncsoares/self-driving-car
Jul 4
More…