-
Notifications
You must be signed in to change notification settings - Fork 48
Contributing and Development on IonDB
These make
commands must be run before beginning work on IonDB (while in the repository root) in order to setup necessary submodules and pre-commit hooks.
make setup
make hooks
If you move the directory of your repository to a different path, make sure you re-run make hooks
, since some of the paths used are absolute.
-
uncrustify
, version0.63
or newer -
CMake
, version3.0
or newer -
python
, version2.7.x
or newer -
build-essential
, formake
,gcc
,g++
, and others.
If you want to test things on device, we suggest avoiding use of the Arduino IDE directly. Our CMake
build process has support for compiling and uploading directly to device. You will require the following:
-
ArduinoIDE
, version1.6.x
or higher. Provides the Arduino libraries and theavr-gcc
compiler.
Then, the following flags are required for CMake. The mega is used as an example here:
-DUSE_ARDUINO=TRUE -DBOARD=mega -DPROCESSOR=atmega2560 -DBAUD_RATE=115200 -DPORT=/dev/cu.usbmodem1421
Note: If you're running something that uses SD based file I/O, then the
-DSD_CS_PIN=4
directive is also needed. Replace 4 with whatever pin your SD interface communicates on. The ethernet shield uses pin 4.
Replace the parameters with the appropriate settings for your setup.
Refer to the installation instructions for the CMake
toolchain if you would like more detailed information on what's required to get it set up.
In the root IonDB folder, the following will compile and execute all unit tests on your machine to ensure everything is configured correctly.
make all
make test
We are always happy to receive pull requests for features and bugfixes. Feel free to submit pull requests for minor changes, such as typos or minor improvements. Target the development
branch whenever you fork, and use it as the base for your pull requests.
For major features and changes, please open an issue first with the orange proposal
tag to discuss your ideas with our team before beginning work to resolve any potential conflicts.
Feel free to open purple question
tagged issues for any questions you may have on IonDB.
IonDB adheres to strict standards that any code submitted must adhere to. These standards can be found in this document.
The process used in accepting a pull request is detailed here.
IonDB - IonDB Project Team, UBC Okanagan