This project contains the firmware for Opal Instrument's Quartz Timer Module.
This project can be developed on a Virtual Machine, but it is not required. The virtual machine is an ubuntu instance that has the avr-gcc
toolchain installed that is required to build and develop this project.
The VM for this project is managed by Vagrant. The Vagrant setup for this project is currently configured to be provisioned by the Ansible orchaestration tool.
To get started, please be sure to install both Vagrant and Ansible, ensure they are both accessible in your $PATH
, and then run the following command:
$ vagrant up
This will provision a development box on which you can freely develop the firmware for the Quartz.
This project currently uses a Makefile
to build itself. There are a few helpful directives that you might be intersted in knowing about:
make clean
: Cleans thebin
,vendor/build
, andvendor/libs
directories.make fmt
: Runsastyle
on all source files.make deps
: Builds all dependent libraries and places them invendor/libs
for building.make
: Performs all of the previous options, then builds the project.make upload
: Uploads the resulting.hex
to the a connceted Quartz board via a AVRmkII ISP programmer.
In most cases, the following workflow should be sufficient to upload a new build of the project:
$ make clean
$ make
$ make upload