diff --git a/satrs-book/src/SUMMARY.md b/satrs-book/src/SUMMARY.md index 0dfb982..fa0ca97 100644 --- a/satrs-book/src/SUMMARY.md +++ b/satrs-book/src/SUMMARY.md @@ -2,9 +2,16 @@ - [Introduction](./introduction.md) - [Design](./design.md) + +# Basic concepts and components + - [Communication with Space Systems](./communication.md) - [Working with Constrained Systems](./constrained-systems.md) - [Actions](./actions.md) - [Modes and Health](./modes-and-health.md) - [Housekeeping Data](./housekeeping.md) - [Events](./events.md) + +# Example project + +- [The satrs-example application](./example.md) diff --git a/satrs-book/src/example.md b/satrs-book/src/example.md new file mode 100644 index 0000000..db49cac --- /dev/null +++ b/satrs-book/src/example.md @@ -0,0 +1,30 @@ +# sat-rs Example Application + +The `sat-rs` framework includes a monolithic example application which can be found inside +the [`satrs-example`](https://egit.irs.uni-stuttgart.de/rust/sat-rs/src/branch/main/satrs-example) +subdirectory of the repository. The primary purpose of this example application is to show how +the various components of the sat-rs framework could be used as part of a larger on-board +software application. + +## Structure of the example project + +The example project contains components which could also be expected to be part of a production +On-Board Software. + +1. A UDP and TCP server to receive telecommands and poll telemetry from. This might be an optional + component for an OBSW which is only used during the development phase on ground. The TCP + server parses space packets by using the CCSDS space packet ID as the packet start delimiter. +2. A PUS service stack which exposes some functionality conformant with the ECSS PUS service. This + currently includes the following services: + - Service 1 for telecommand verification. + - Service 3 for housekeeping telemetry handling. + - Service 5 for management and downlink of on-board events. + - Service 8 for handling on-board actions. + - Service 11 for scheduling telecommands to be released at a specific time. + - Service 17 for test purposes (pings) +3. An event manager component which handles the event IPC mechanism. +4. A TC source component which demultiplexes and routes telecommands based on parameters like + packet APID or PUS service and subservice type. +5. A TM sink sink component which is the target of all sent telemetry and sends it to downlink + handlers like the UDP and TCP server. +6. An AOCS example task which can also process some PUS commands. diff --git a/satrs-example/README.md b/satrs-example/README.md index da5551f..faed14e 100644 --- a/satrs-example/README.md +++ b/satrs-example/README.md @@ -46,31 +46,11 @@ as Python code. For example, you can use the following command to send a ping li the `simpleclient`: ```sh -./main.py -s test -o ping +./main.py -p /test/ping ``` -You can also simply call the script without any arguments to view a list of services (`-s` flag) -and corresponding op codes (`-o` flag) for each service. +You can also simply call the script without any arguments to view the command tree. -# Structure of the example project +# High-level information about the example project -The example project contains components which could also be expected to be part of a production -On-Board Software. - -1. A UDP and TCP server to receive telecommands and poll telemetry from. This might be an optional - component for an OBSW which is only used during the development phase on ground. The TCP - server parses space packets by using the CCSDS space packet ID as the packet start delimiter. -2. A PUS service stack which exposes some functionality conformant with the ECSS PUS service. This - currently includes the following services: - - Service 1 for telecommand verification. - - Service 3 for housekeeping telemetry handling. - - Service 5 for management and downlink of on-board events. - - Service 8 for handling on-board actions. - - Service 11 for scheduling telecommands to be released at a specific time. - - Service 17 for test purposes (pings) -3. An event manager component which handles the event IPC mechanism. -4. A TC source component which demultiplexes and routes telecommands based on parameters like - packet APID or PUS service and subservice type. -5. A TM sink sink component which is the target of all sent telemetry and sends it to downlink - handlers like the UDP and TCP server. -6. An AOCS example task which can also process some PUS commands. +You can read more high-level information inside the [dedicated chapter]() of the sat-rs book.