Shell-based program for working with Arduino on the commandline.
This project is under active development, and may change without warning.
- avr-gcc can be used to compile.
- avrdude can be used to flash.
- The only supported language at the moment is C, GNU99.
It does not yet:
- Check the file is small enough to be flashed.
- Check that the variables fit in RAM.
- The port is accessible.
- Support other programmers.
- Support other languages or language extensions.
Currently, Codename: Aardvark runs on macOS and Linux, with partial support for Windows.
Codename: Aardvark relies on several things that need to be installed first:
- The avr-gcc tools. You can usually install it from your package manager.
- avrdude. You can usually install it from your package manager.
- The GNU coreutils. You usually have them either preinstalled, or easily installable from your package manager.
- Make, for installation only. You can usually acquire it from your package manager.
The included Makefile will allow you to install it:
sudo make install
There is no configure step.
To uninstall:
sudo make uninstall
You can optionally supply a PREFIX to make to change the install location, but review the very simple Makefile first to make sure you know what you're doing.
The most up to date information can always be found by running:
> aardvark --help
What follows are some more in-depth examples.
aardvark build 'Arduino Uno' ttyUSB main.c
Will compile and upload a file called main.c
onto /dev/ttyUSB, with the normal architecture options for an Arduino Uno-compatible board.
aardvark compile 'Arduino Uno' main.c dump
Will produce dump.ihex, from a file called main.c
.
aardvark flash 'Arduino Uno' ttyUSB main
Will upload a file named main.ihex
to /dev/ttyUSB, assuming that it speaks the same speed as an Arduino Uno-compatible board.
It may work under Cygwin or the Linux Subsystem for Windows, but no guarantees.
The issue will likely happen if aardvark can't grab control of a port (e.g. /dev/USB0), because Windows has locked it.
Results are... Inconsistent.
However, the Linux Subsystem seems to work much less often.
I reccomend Cygwin, despite its flaws.
However, I may not be able to supply support for Windows, as I don't use it on a regular basis.
The full license information can be found at LICENSE.md.
It is, at time of writing, under an MIT license, however a more liberal license may be chosen in the near future.