Ang - a new commandline build-tool (first release)

Hi,
I have written a small Java-tool Ang that preprocesses, compiles and uploads Arduino sketches from the commandline. This first release can be used on Linux and Windows, and was tested successfully with Arduino NG boards (atmega168 and atmega328) and the Arduino Mega.

The code, a binary and (still incomplete) documentation is here:
http://code.google.com/p/angbt/

Would be nice to get some feedback from people who have use for such a tool.

Eberhard

Eberhard,

I am keen to try this command line Arduino compiler, but there are some issues/questions:

  • Where can I download Arduino 0017 RC2. You refer to the home page of the Arduino project but I have as of yet not been able to locate it this RC.
  • Where is the general configuration file kept and is it editable by a human (hex editors don't count)
  • Will it work with the Arduino bootloader? Your wiki only mentions the use of an external programmer. I have an Arduino Mega and my regular programmer doesn't support the 1280, so I'd like to continue to use the bootloader to program.
  • I'd like to set the type of target just once and have parameters such as programmer and connection type as things I can keep in a custom configuration file. Something like an angbtrc file in the current project directory, or something. That way a call to "java -jar ang.jar upload" or "java -jar ang.jar compile" in the CWD would be sufficient.
    I am not sure I'd use emacs like you do, being a vi/vim man myself :slight_smile:

Regards,
Xander

Hi,

Where can I download Arduino 0017 RC2. You refer to the home page of the Arduino project but I have as of yet not been able to locate it this RC.

A link was published on the Arduino Developers mailing list. You could check the archives.

Where is the general configuration file kept and is it editable by a human (hex editors don't count)

Humans should use the command-interface I have build into the tool. The trick is that only the java runtime knows where the file is, and I don't have to care where that file is on linux/windows/whatever

Will it work with the Arduino bootloader? Your wiki only mentions the use of an external programmer.

Works with the bootloader too. See
http://code.google.com/p/angbt/wiki/AngCommandBasics
or use java -jar ang.jar help upload
the build-in help has a topic

I'd like to set the type of target just once and have parameters such as programmer and connection type as things I can keep in a custom configuration file. Something like an angbtrc file in the current project directory, or something. That way a call to "java -jar ang.jar upload" or "java -jar ang.jar compile" in the CWD would be sufficient.

Every setting is reachable on the commandline. With emacs I set the default compile command bound to F8. If I had to do something more complicated I'd run the tool-comands from an ant-target, makefile, bash-script or bat-file, whatever is easiest in your environment.

Eberhard