View on GitHub

CarLab

Framework for Vehicular Data Collection and Processing

Workflow for creating CarLab plugins.

CarLab plugins come in two flavors – Driver Assistance Apps (DAA) and Dependencies (DEP). DAAs are user-facing applications which can define user interface elements such as a navigation map or an image with the current speed limit. DEPs are dependencies which are used in other plugins. In contrast to DAAs, DEPs can also output a value. Each DEP has to specify the list of output values statially.

Plugin development requires four main steps.

  1. Add the Gradle plugin
    Gradle
  2. Extend the App class
    App
  3. Import the relevant sensors
    Import
  4. Compile the class into an APK file
    Comile

App Interface

The plugin has to extend the App class. The App class has certain methods which must be implemented. Both DAAs and DEPs have to specify other dependencies they rely on using the this.dependencies variable. The CarLab Service calls the activity lifecycle methods inside App. A plugin can override these methods to receive activity lifecycle calls. A plugin can also optionally extend SensorStreamAppBase to automatically visualize the sensors streams using a line chart. This is the default class for data collection tasks.

IApp

Todo