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.