I would like to create composite configurations for my projects. The idea that I have to keep re-selecting the board, programmer, etc. is annoying; I have many Atmel-based boards, and many projects. Some use BlueTooth to download. Some use an ISP programmer. Most are built for only one board, in one development configuration; some are built for multiple boards, for example, both AVR and Cortex models, or Arduino R3 for debugging and Gemma for deployment.
I would like to "package" all the parameters into named configurations, e.g., MyProject-Test, MyProject-Deployment, MyProject-Deployment-Cortex, which set ALL the relevant parameters. Each project would have a projectname.cnf to accompany the projectname.ino file. If this file, which should be in XML format, exists, it embodies all the possible ways I might configure my build, based on my construction of various configurations.
In addition, I would like to be able to place arbitrary -D options on the command line, e.g., -DDEBUG or -DDEBUGSOMETHING so I can write
to selectively enable or disable various debugging options, instead of having to hand-edit the source to comment or uncomment #define statements.
If anyone is interested in working with me on this, I can deal with the design, reading, etc. of the XML, editing configurations, etc., but integrating this into the existing IDE is more than I can do. Please contact me if interested.
Also, it would be nice if "download" did a "build", that is, recompiled only if the source files have changed since the last build. It is silly to do a "Verify", have it pass, and then have the whole thing recompile again when I "Download". This is particularly annoying for those boards which require a Reset, because some builds take longer than 10 seconds for a full build, and I should not be burdened with trying to guess when to hit the reset button. If a rebuild was not required, then the download would start immediately, that is, absolutely within ten seconds. Joe