Devices

A number of devices (or targets) are currently supported in CODAL, to obtain a full list of targets type:

python build.py ls

To generate the codal.json for a target listed by the ls command, please run:

python build.py <target-name>

Please note you may need to remove the libraries folder if your previous build relied on similar dependencies.

Configuration

Below is an example of how to configure codal to build the codal-circuit-playground target, example applications will automatically be loaded into the "source" folder:

{
    "target":{
        "name":"codal-circuit-playground",
        "url":"https://github.com/lancaster-university/codal-circuit-playground",
        "branch":"master",
        "type":"git"
    }
}

For more targets, read the targets section below.

Configuration Options

If you would like to override or define any additional configuration options (#define's) that are used by the supporting libraries, the codal build system allows the addition of a config field in codal.json:

{
    "target":{
        "name":"codal-circuit-playground",
        "url":"https://github.com/lancaster-university/codal-circuit-playground",
        "branch":"master",
        "type":"git"
    },
    "config":{
        "NUMBER_ONE":1
    },
    "application":"source",
    "output_folder":"."
}

The above example will translate "NUMBER_ONE":1 into: #define NUMBER_ONE 1 and force include it during compilation. You can also specify alternate application or output folders.

Targets

Arduino Uno

This target specifies the arduino uno which is driven by an atmega328p.

codal.json specification

{
    "target":{
        "name":"codal-arduino-uno",
        "url":"https://github.com/lancaster-university/codal-arduino-uno",
        "branch":"master",
        "type":"git"
    }
}

This target depends on:

BrainPad

This target specifies the BrainPad which is driven by a STM32F.

codal.json specification

{
    "target":{
        "name":"codal-brainpad",
        "url":"https://github.com/lancaster-university/codal-brainpad",
        "branch":"master",
        "type":"git"
    }
}

This target depends on:

Circuit Playground

This target specifies the circuit playground which is driven by a SAMD21.

codal.json specification

{
    "target":{
        "name":"codal-circuit-playground",
        "url":"https://github.com/lancaster-university/codal-circuit-playground",
        "branch":"master",
        "type":"git"
    }
}

This target depends on: