The OUTPOST library (Open modUlar sofTware PlatfOrm for SpacecrafT) is developed at the German Aerospace Center (DLR) and provides an execution platform targeted at embedded systems running mission critical software. The library set up to be modular, allowing the user to choose which modules to use and which modules to leave out.
OUTPOST is split into two repositories: outpost-core contains the open-source base environment and outpost-satellite contains the closed-source satellite specific modules.
This repositry is only a snapshot of the current state of development in progress at DLR. If you want to participate or are interested in the satellite specific modules, please contact jan-gerd.mess[at]dlr.de
This repository contains the following software modules:
-
baseMost basic data structures and arithmetic helper classes used throughout the library.
-
utilsA collection of useful bits and pieces. The reuseable unit test harness is located here.
-
commImplementation of the Remote Memory Access Protocol (RMAP) via SpaceWire.
-
compressionAlgorithms for (de)compression and de-/encoding of time-series data using wavelet compression and set-partitioning-in-hierarchical-trees.
-
timeType safe time management functions. Provides classes to convert between time representations, e.g. Unix Time to GPS or TAI.
-
parameterProvides system-wide access to variables that need to be read/written by different parts of the (loosely coupled) system.
-
rtosRTOS wrapper layer. Allows to build OUTPOST on different operating system. Supports RTEMS, FreeRTOS and all POSIX compatible OS.
-
halHardware abstraction layer for communication interfaces.
-
sipSimple Interface Protocol. A minimal packet-based communication protocol for hardware links, includes specifications for UART, SpaceWire and UDP
-
smpcSimple Message Passing Channel. Provides a very basic, but fast publish/subscribe based communication middleware for objects living in the same address space.
-
swbSoftware Bus. An asynchronous mean of communication between software modules based on the publish/subscribe paradigm.
-
supportA heartbeat-mechanism that serves as a software watchdog on thread-level.
The installation of the tool required for the library development is described in the INSTALL file.
Unless otherwise noted the source code is licensed under the terms of the Mozilla Public License, v. 2.0 (see mpl-v2.0.txt).
Files with a different license:
- tools/l3test/src/lua/exception.h (BSD 3-clause)
- modules/utils/ext/rapidcheck/* (BSD 2-clause)
- modules/utils/ext/googletest-1.8.0-fused/* (BSD 3-clause)
