Vehicle Specific Modules SDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages

Table of Contents


The purpose of VSM C++ SDK (further referred as SDK) is to create Vehicle Specific Modules (VSM) for Universal Ground Control Software(UgCS). Most importantly, SDK can be considered as a "glue" layer between VSM application user code which is able to interact with physical vehicles and UgCS infrastructure:


However, SDK is not limited to that. It facilitates (but not forces) developers to create cross-platform VSM applications using only features provided by SDK itself without using 3rd party libraries like Boost, Qt and similar.

Design goals

  • Efficiency

    To achieve that, C++11 programming language is used for SDK implementation and also is a requirement for VSM application development.

  • Universality

    SDK provides additional cross-platform features which are considered to be demanded in a typical VSM application, for example:

    The usage of additional features, however, is not mandated. VSM application developer is free to use platform-specific methods or any other libraries to communicate with vehicles and for other purposes. To facilitate cross-platform compilation, CMake build system is utilized by SDK.

  • Developer friendliness

    SDK is mainly targeted for experienced developers and complex VSM applications and scenarios, but in the same time SDK can be used in a simple way by beginners or when one wants to play around with the simplest possible VSM application and gradually extend it:

    "Hello world" VSM application


The usage of SDK consists of the following: