API: Introduction to the Interface API - ColoradoSchoolOfMines/interface_sdk GitHub Wiki
The Interface SDK for the CSM exhibit contains three primary layers for abstracting details for the end programmers and users. They are the following:
-
Module Management: Responsible for managing all of the modules, determining if they have their required dependencies are supported on the current system and managing the loading/running of a module. For more information, see here.
-
Hardware Management: Responsible for keeping track of all available drivers, their supported functionalities, and bridging the communication with the modules and their requested functionalities. For more information, see here. For driver related information, see here.
-
Event Management: Provides a manner of communicating with components whose data is provided in an event-oriented fashion. For more information, see here. For an introduction to receivers, see here.
The architecture's design is shown by the following design
For information regarding how to contribute to the Interface API, see Getting Started Contributing to the Interface SDK.