This commit is contained in:
parent
445fdfe066
commit
f4bc33aefa
@ -17,14 +17,14 @@ it is still centered around small packets. `sat-rs` provides support for these E
|
|||||||
standards and also attempts to fill the gap to the internet protocol by providing the following
|
standards and also attempts to fill the gap to the internet protocol by providing the following
|
||||||
components.
|
components.
|
||||||
|
|
||||||
1. [UDP TMTC Server](https://docs.rs/satrs-core/0.1.0-alpha.0/satrs_core/hal/host/udp_server/index.html).
|
1. [UDP TMTC Server](https://docs.rs/satrs/latest/satrs/hal/host/udp_server/index.html).
|
||||||
UDP is already packet based which makes it an excellent fit for exchanging space packets.
|
UDP is already packet based which makes it an excellent fit for exchanging space packets.
|
||||||
2. [TCP TMTC Server Components](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/hal/std/tcp_server/index.html).
|
2. [TCP TMTC Server Components](https://docs.rs/satrs/latest/satrs/hal/std/tcp_server/index.html).
|
||||||
TCP is a stream based protocol, so the framework provides building blocks to parse telemetry
|
TCP is a stream based protocol, so the framework provides building blocks to parse telemetry
|
||||||
from an arbitrary bytestream. Two concrete implementations are provided:
|
from an arbitrary bytestream. Two concrete implementations are provided:
|
||||||
- [TCP spacepackets server](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/hal/std/tcp_server/struct.TcpSpacepacketsServer.html)
|
- [TCP spacepackets server](https://docs.rs/satrs/latest/satrs/hal/std/tcp_server/struct.TcpSpacepacketsServer.html)
|
||||||
to parse tightly packed CCSDS Spacepackets.
|
to parse tightly packed CCSDS Spacepackets.
|
||||||
- [TCP COBS server](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/hal/std/tcp_server/struct.TcpTmtcInCobsServer.html)
|
- [TCP COBS server](https://docs.rs/satrs/latest/satrs/hal/std/tcp_server/struct.TcpTmtcInCobsServer.html)
|
||||||
to parse generic frames wrapped with the
|
to parse generic frames wrapped with the
|
||||||
[COBS protocol](https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing).
|
[COBS protocol](https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing).
|
||||||
|
|
||||||
|
@ -26,15 +26,15 @@ For example, a very small telecommand (TC) pool might look like this:
|
|||||||
![Example Pool](images/pools/static-pools.png)
|
![Example Pool](images/pools/static-pools.png)
|
||||||
|
|
||||||
The core of the pool abstractions is the
|
The core of the pool abstractions is the
|
||||||
[PoolProvider trait](https://docs.rs/satrs-core/0.1.0-alpha.3/satrs_core/pool/trait.PoolProvider.html).
|
[PoolProvider trait](https://docs.rs/satrs/latest/satrs/pool/trait.PoolProvider.html).
|
||||||
This trait specifies the general API a pool structure should have without making assumption
|
This trait specifies the general API a pool structure should have without making assumption
|
||||||
of how the data is stored.
|
of how the data is stored.
|
||||||
|
|
||||||
This trait is implemented by a static memory pool implementation.
|
This trait is implemented by a static memory pool implementation.
|
||||||
The code to generate this static pool would look like this:
|
The code to generate this static pool would look like this:
|
||||||
|
|
||||||
```rust
|
```rust, ignore
|
||||||
use satrs_core::pool::{StaticMemoryPool, StaticPoolConfig};
|
use satrs::pool::{StaticMemoryPool, StaticPoolConfig};
|
||||||
|
|
||||||
let tc_pool = StaticMemoryPool::new(StaticPoolConfig::new(vec![
|
let tc_pool = StaticMemoryPool::new(StaticPoolConfig::new(vec![
|
||||||
(6, 16),
|
(6, 16),
|
||||||
@ -52,8 +52,8 @@ inter-process communication (IPC) data.
|
|||||||
|
|
||||||
You can read
|
You can read
|
||||||
|
|
||||||
- [`StaticPoolConfig` API](https://docs.rs/satrs-core/0.1.0-alpha.3/satrs_core/pool/struct.StaticPoolConfig.html)
|
- [`StaticPoolConfig` API](https://docs.rs/satrs/latest/satrs/pool/struct.StaticPoolConfig.html)
|
||||||
- [`StaticMemoryPool` API](https://docs.rs/satrs-core/0.1.0-alpha.3/satrs_core/pool/struct.StaticMemoryPool.html)
|
- [`StaticMemoryPool` API](https://docs.rs/satrs/latest/satrs/pool/struct.StaticMemoryPool.html)
|
||||||
|
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
|
@ -23,11 +23,11 @@ Some additional explanation is provided for the various components.
|
|||||||
The example includes a UDP and TCP server to receive telecommands and poll telemetry from. This
|
The example includes 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
|
might be an optional component for an OBSW which is only used during the development phase on
|
||||||
ground. The UDP server is strongly based on the
|
ground. The UDP server is strongly based on the
|
||||||
[UDP TC server](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/hal/std/udp_server/struct.UdpTcServer.html).
|
[UDP TC server](https://docs.rs/satrs/latest/satrs/hal/std/udp_server/struct.UdpTcServer.html).
|
||||||
This server component is wrapped by a TMTC server which handles all telemetry to the last connected
|
This server component is wrapped by a TMTC server which handles all telemetry to the last connected
|
||||||
client.
|
client.
|
||||||
|
|
||||||
The TCP server is based on the [TCP Spacepacket Server](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/hal/std/tcp_server/struct.TcpSpacepacketsServer.html)
|
The TCP server is based on the [TCP Spacepacket Server](https://docs.rs/satrs/latest/satrs/hal/std/tcp_server/struct.TcpSpacepacketsServer.html)
|
||||||
class. It parses space packets by using the CCSDS space packet ID as the packet
|
class. It parses space packets by using the CCSDS space packet ID as the packet
|
||||||
start delimiter. All available telemetry will be sent back to a client after having read all
|
start delimiter. All available telemetry will be sent back to a client after having read all
|
||||||
telecommands from the client.
|
telecommands from the client.
|
||||||
@ -51,13 +51,13 @@ services. This currently includes the following services:
|
|||||||
|
|
||||||
- Service 1 for telecommand verification. The verification handling is handled locally: Each
|
- Service 1 for telecommand verification. The verification handling is handled locally: Each
|
||||||
component which generates verification telemetry in some shape or form receives a
|
component which generates verification telemetry in some shape or form receives a
|
||||||
[reporter](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/pus/verification/struct.VerificationReporterWithSender.html)
|
[reporter](https://docs.rs/satrs/latest/satrs/pus/verification/struct.VerificationReporterWithSender.html)
|
||||||
object which can be used to send PUS 1 verification telemetry to the TM funnel.
|
object which can be used to send PUS 1 verification telemetry to the TM funnel.
|
||||||
- Service 3 for housekeeping telemetry handling.
|
- Service 3 for housekeeping telemetry handling.
|
||||||
- Service 5 for management and downlink of on-board events.
|
- Service 5 for management and downlink of on-board events.
|
||||||
- Service 8 for handling on-board actions.
|
- Service 8 for handling on-board actions.
|
||||||
- Service 11 for scheduling telecommands to be released at a specific time. This component
|
- Service 11 for scheduling telecommands to be released at a specific time. This component
|
||||||
uses the [PUS scheduler class](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/pus/scheduler/alloc_mod/struct.PusScheduler.html)
|
uses the [PUS scheduler class](https://docs.rs/satrs/latest/satrs/pus/scheduler/alloc_mod/struct.PusScheduler.html)
|
||||||
which performs the core logic of scheduling telecommands. All telecommands released by the
|
which performs the core logic of scheduling telecommands. All telecommands released by the
|
||||||
scheduler are sent to the central TC source using a message.
|
scheduler are sent to the central TC source using a message.
|
||||||
- Service 17 for test purposes like pings.
|
- Service 17 for test purposes like pings.
|
||||||
@ -65,10 +65,10 @@ services. This currently includes the following services:
|
|||||||
### Event Management Component
|
### Event Management Component
|
||||||
|
|
||||||
An event manager based on the sat-rs
|
An event manager based on the sat-rs
|
||||||
[event manager component](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/event_man/index.html)
|
[event manager component](https://docs.rs/satrs/latest/satrs/event_man/index.html)
|
||||||
is provided to handle the event IPC and FDIR mechanism. The event message are converted to PUS 5
|
is provided to handle the event IPC and FDIR mechanism. The event message are converted to PUS 5
|
||||||
telemetry by the
|
telemetry by the
|
||||||
[PUS event dispatcher](https://docs.rs/satrs-core/0.1.0-alpha.1/satrs_core/pus/event_man/alloc_mod/struct.PusEventDispatcher.html).
|
[PUS event dispatcher](https://docs.rs/satrs/latest/satrs/pus/event_man/alloc_mod/struct.PusEventDispatcher.html).
|
||||||
|
|
||||||
You can read the [events](./events.md) chapter for more in-depth information about event management.
|
You can read the [events](./events.md) chapter for more in-depth information about event management.
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
[![Crates.io](https://img.shields.io/crates/v/satrs-core)](https://crates.io/crates/satrs-core)
|
[![Crates.io](https://img.shields.io/crates/v/satrs)](https://crates.io/crates/satrs)
|
||||||
[![docs.rs](https://img.shields.io/docsrs/satrs-core)](https://docs.rs/satrs-core)
|
[![docs.rs](https://img.shields.io/docsrs/satrs)](https://docs.rs/satrs)
|
||||||
|
|
||||||
satrs-core
|
sat-rs
|
||||||
======
|
======
|
||||||
|
|
||||||
This crate contains the core components of the sat-rs framework.
|
This crate contains the primary components of the sat-rs framework.
|
||||||
You can find more information on the [homepage](https://egit.irs.uni-stuttgart.de/rust/sat-rs).
|
You can find more information on the [homepage](https://egit.irs.uni-stuttgart.de/rust/sat-rs).
|
||||||
|
Loading…
Reference in New Issue
Block a user