basic README for example
This commit is contained in:
parent
c1d81779a2
commit
0424db9365
@ -1,6 +1,6 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Run obsw example" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Run obsw example" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --package fsrc-example --bin obsw" />
|
<option name="command" value="run -p satrs-example --bin satrs-example" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Run obsw client example" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Run obsw simple client" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --package fsrc-example --bin client" />
|
<option name="command" value="run --package fsrc-example --bin client" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
@ -3,6 +3,7 @@ name = "satrs-example"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||||
|
default-run = "satrs-example"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
crossbeam-channel = "0.5"
|
crossbeam-channel = "0.5"
|
||||||
|
@ -1,5 +1,45 @@
|
|||||||
sat-rs example
|
sat-rs example
|
||||||
======
|
======
|
||||||
|
|
||||||
# Installing the OBSW client
|
This crate contains an example application which simulates an on-board software.
|
||||||
|
It uses various components provided by the sat-rs framework to do this. As such, it shows how
|
||||||
|
a more complex real on-board software could be built from these components.
|
||||||
|
The application opens a UDP server on port 7301 to receive telecommands.
|
||||||
|
|
||||||
|
You can run the application using `cargo run`. The `simpleclient` binary target sends a
|
||||||
|
ping telecommand and then verifies the telemetry generated by the example application.
|
||||||
|
It can be run like this:
|
||||||
|
|
||||||
|
```rs
|
||||||
|
cargo run --bin simpleclient
|
||||||
|
```
|
||||||
|
|
||||||
|
This repository also contains a more complex client using the
|
||||||
|
[Python tmtccmd](https://github.com/robamu-org/tmtccmd) module.
|
||||||
|
|
||||||
|
# Using the tmtccmd Python client
|
||||||
|
|
||||||
|
The python client requires a valid installation of the
|
||||||
|
[tmtccmd package](https://github.com/robamu-org/tmtccmd).
|
||||||
|
|
||||||
|
It is recommended to use a virtual environment to do this. To set up one in the command line,
|
||||||
|
you can use `python3 -m venv venv` on Unix systems or `py -m venv venv` on Windows systems.
|
||||||
|
After doing this, you can check the [venv tutorial](https://docs.python.org/3/tutorial/venv.html)
|
||||||
|
on how to activate the environment and then use the following command to install the required
|
||||||
|
dependency:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, if you would like to use the GUI functionality provided by `tmtccmd`, you can also
|
||||||
|
install it manually with
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pip install tmtccmd[gui]
|
||||||
|
```
|
||||||
|
|
||||||
|
After setting up the dependencies, you can simply run the `main.py` script to send commands
|
||||||
|
to the OBSW example and to view and handle incoming telemetry. The script and the `tmtccmd`
|
||||||
|
framework it uses allow to easily add and expose additional telecommand and telemetry handling
|
||||||
|
as Python code.
|
||||||
|
2
satrs-example/pyclient/.gitignore
vendored
2
satrs-example/pyclient/.gitignore
vendored
@ -2,3 +2,5 @@
|
|||||||
/log
|
/log
|
||||||
/.idea/*
|
/.idea/*
|
||||||
!/.idea/runConfigurations
|
!/.idea/runConfigurations
|
||||||
|
|
||||||
|
/seqcnt.txt
|
||||||
|
@ -1 +0,0 @@
|
|||||||
30
|
|
Loading…
Reference in New Issue
Block a user