Understanding the SDK

This section explains the various pieces of the SDK.

The SDK is divided in three layers:

  1. buildroot

  2. acu6-base

  3. acu6-demos

These layers each serve a specific purpose.

buildroot

This is the unmodified version of buildroot that we currently support.

acu6-base

This layer contains all the necessary bits and pieces for the buildroot system to be able to run in the ACU6 environment.

This includes kernel patches, startup scripts and base packages such as the actia-lib which contains all the necessary functionality to build your own applications to communicate with the ACU6 services.

acu6-demos

This layer contains demo applications and other useful bits while you’re getting started with integrating your product with the ACU6 environment.

These demo applications have 2 purposes:

  1. provide a basic CLI interface to the ACU6 services until you’re up and running.

  2. provide a code example on how to communicate with each of the services.

The sources for the demo applications are found in the package directory, the file name of the source file often matches the binary name. For example, the binary for modemcontrol-demo.c is modemcontrol-demo.

Some demos are invoked via startup scripts, those scripts are found in the board directory.

To run a demo application, connect to the device using SSH and enter the name of the demo applications:

$ ssh acu6pro
# modemcontrol-demo
Syntax: modemcontrol-demo <request | release | subscribe | unsubscribe | subscribe_wait_for_status_unsubscribe | info >
# modemcontrol-demo request
Open session response result: 0
Cellular data request response result: 0
#

The demo application CLI interface and feature set is not stable, many of their interactions with the distribution environment are simplistic and not necessarily best practice.

It is not advised to maintain a dependency on this layer of the SDK in your integration.

Flipping the DEMOS switch

The makefiles contain a variable called DEMOS which is default set to 1.

Once the acu6-demos layer is no longer needed, it is highly recommended to add the following to your own Makefiles:

export DEMOS := 0

If you’re using the template from Creating a Linux distribution, this is line is already prepared, simply switch the 1 to a 0 in the Makefile there.