YETI’s an Extensible Telemetry Interface
YETI is a free, open-source turnkey telemetry management solution that includes utilities to expedite the integration of various software components for space missions, including flight software, ground software, simulation environments, and testing frameworks. Existing header files can be imported into YETI with a single command, at which point shared data types can be modified in a single place with changes automatically propagating to all relevant files. This allows for the decoupling of software components that previously required shared headers.
YETI is fully scriptable, allowing for easy integration into arbitrary software architectures. YETI’s modular design allows for drop-in replacement of code generator modules, enabling rapid development of additional features. Available for licensing are modules for generating Python/C++ bindings, Google Protocol Buffers, PDF interface control documents, and an end-to-end messaging library supporting point-to-point, pub/sub/multicast, and hub-spoke network patterns. APIs are exposed in C, C++, and Python.
Using YETI’s “write once, use everywhere” paradigm, engineers can automate many of the time-consuming and repetitive tasks required for space missions, thereby reducing NRE, increasing software reliability, and minimizing potential modes of failure due to human error.