Tutorial: Getting Started Contributing to the Interface SDK - ColoradoSchoolOfMines/interface_sdk GitHub Wiki

If you'd like to contribute to this SDK, this is the primary reference document. Start here for links to the various API documents.

APIs

  • Hardware Management - This document contains information about getting access and communicating with hardware devices. All specific implementation of drivers needs to adhere to these standards.
  • Hardware Manager Manifest - Information about the hardware manager's manifest.xml.
  • Event Management - This document explains how event handling works to enable functionalities to use an event-driven system.
  • Introduction to Receivers - This is how receivers handle events and interact with the event manager.
  • Module Management - This contains information about how the ModuleManager handles the life cycle of modules, as well as handing off and controlling which modules are loaded.
  • Module Manifest - Information pertaining to the manifest.xml of an individual module.

Contributing Drivers

Drivers must implement [DriverInterface][DriverInterface], which ensures that the HardwareManager can work with the driver.

Additionally, a driver must implement all functionalities that it supports. To see a list of supported functionalities, please look here.

Contributing Functionalities

Functionalities must only implement [DeviceDataInterface][DeviceDataInterface].

Adding your Functionalities & Devices to the HardwareManager

Related Pages: Hardware Management, HardwareManager Manifest

To follow convention, place your Driver and Functionality in the proper location within the source code.

To actually provide support for the functionality and/or device, it's necessary to include the proper changes to the manifest file.