ECSS-E-ST-70-41C Services
In this repository you can find the implementation of the ECSS services, based on the ECSS-E-ST-70-41C standard.
Documentation
You can read the complete documentation of this project at https://acubesat.gitlab.io/obc/ecss-services/docs/. This includes installation instructions, a usage guide, and detailed descriptions of all public functions and definitions.
Directories
- ci: GitLab CI configuration files
- docs: Source code usage and development documentation
- inc: All headers and libraries used in the code
- lib: External libraries used in the code
- src: All source files are included here
- test: Unit test implementation
Implementation status
Service Type | Service Name | Implementation |
---|---|---|
ST[01] | Request Verification | Full |
ST[03] | Housekeeping | Partial |
ST[04] | Parameter Statistics Reporting | Partial |
ST[05] | Event Reporting | Partial |
ST[06] | Memory Management | Partial |
ST[08] | Function Management | Full |
ST[11] | Time-based Scheduling | Partial |
ST[12] | On-board Monitoring | Work in progress |
ST[13] | Large Packer Transfer | Partial |
ST[15] | On-board Storage and Retrieval | Work in progress |
ST[17] | Test | Partial |
ST[19] | Event-action | Partial |
ST[20] | Parameter Management | Partial |
ST[23] | File Management | Work in progress |
Build
If you're using CLion, you need to add in CMake options (File -> Settings -> Build, Execution, Deployment -> CMake ->
CMake Options) this -DCMAKE_TOOLCHAIN_FILE=cmake-build-debug/build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug
.
If you just cmake from cli, just add the same flags in your command.
Conan
This repository uses conan 2.0 to manage dependencies.
AcubeSAT Conan Packages
One of the packages (logger) is hosted on a private repository, so you need to:
- have access to the repository (if you're already on GitLab, it's the same
credentials, and you should login at least once) and add the
remote to your conan remotes.
To do
that
run the following two commands
conan remote add conan https://artifactory.spacedot.gr/artifactory/api/conan/conan
andconan remote login conan $YOUR_USERNAME
, which will prompt you to add your password. - or, clone the repo on your own, and package it locally use
conan create . --build=missing
in the root of the repo. - or, clone the repo on your own and add it as a submodule in the
lib
folder, and make the necessary CMakeLists. txt changes to include it in the build.
To build, you first have run conan profile detect --force
, which generates default profile detecting GCC. You
should find where conan stores the profiles, usually it's at ~/.conan/profiles/
. Then, you need to run cp conan-profile $PROFILE_PATH
, where $PROFILE_PATH
is the path to the directory that conan stores profiles.
conan install . --output-folder=cmake-build-debug --build=missing -u -pr conan-profile
.
If you're using CLion and don't see cmake-build-debug
, you have to Reload CMake project
to have it generated.
After you've run conan install...
you can Reload CMake project
and build as per usual.