Added OBSW Watchdog #67
51
README.md
51
README.md
@ -148,6 +148,29 @@ When using Windows, run theses steps in MSYS2.
|
|||||||
|
|
||||||
# <a id="host-commands"></a> Useful and Common Commands (Host)
|
# <a id="host-commands"></a> Useful and Common Commands (Host)
|
||||||
|
|
||||||
|
## Build generation
|
||||||
|
|
||||||
|
Replace `Debug` with `Release` for release build. Add `-G "MinGW Makefiles` or `-G "Ninja"`
|
||||||
|
on Windows or when `ninja` should be used. You can build with `cmake --build . -j` after
|
||||||
|
build generation. You can finds scripts in `cmake/scripts` to perform the build commands
|
||||||
|
automatically.
|
||||||
|
|
||||||
|
### Q7S OBSW
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir build-Debug-Q7S && cd build-Debug-Q7S
|
||||||
|
cmake -DTGT_BSP=arm/q7s -DFSFW_OSAL=linux -DCMAKE_BUILD_TYPE=Debug ..
|
||||||
|
cmake --build . -j
|
||||||
|
```
|
||||||
|
|
||||||
|
### Q7S Watchdog
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir build-Debug-Q7S && cd build-Debug-Q7S
|
||||||
|
cmake -DTGT_BSP=arm/q7s -DFSFW_OSAL=linux -DBUILD_WATCHDOG=ON -DCMAKE_BUILD_TYPE=Debug ..
|
||||||
|
cmake --build . -j
|
||||||
|
```
|
||||||
|
|
||||||
## Connect to EIVE flatsat
|
## Connect to EIVE flatsat
|
||||||
|
|
||||||
### DNS
|
### DNS
|
||||||
@ -192,6 +215,12 @@ Other useful tmux commands:
|
|||||||
You can quit scroll mode with `q`.
|
You can quit scroll mode with `q`.
|
||||||
- Kill a tmux session: run `ctrl + b` and then `k`.
|
- Kill a tmux session: run `ctrl + b` and then `k`.
|
||||||
- Detach from a tmux session: run `ctrl + b` and then `d`
|
- Detach from a tmux session: run `ctrl + b` and then `d`
|
||||||
|
- [Pipe last 3000 lines](https://unix.stackexchange.com/questions/26548/write-all-tmux-scrollback-to-a-file)
|
||||||
|
into file for copying or analysis:
|
||||||
|
1. `ctrl + b` and `:`
|
||||||
|
2. `capture-pane -S -3000` + `enter`
|
||||||
|
3. `save-buffer /tmp/tmux-output.txt` + `enter`
|
||||||
|
|
||||||
|
|
||||||
### SSH console
|
### SSH console
|
||||||
|
|
||||||
@ -587,7 +616,7 @@ pscp -scp -P 22 eive@192.168.199.227:</directory-to-example-file/>/example-file
|
|||||||
|
|
||||||
More detailed information about the used q7s commands can be found in the Q7S user manual.
|
More detailed information about the used q7s commands can be found in the Q7S user manual.
|
||||||
|
|
||||||
# <a id="q7s"></a> Q7S
|
# <a id="q7s"></a> Q7S OBC
|
||||||
|
|
||||||
## Launching an application at start-up
|
## Launching an application at start-up
|
||||||
|
|
||||||
@ -666,13 +695,31 @@ creating directories. To do this, the parition needs to be mounted.
|
|||||||
systemctl status example
|
systemctl status example
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Current user systemd services
|
## Current user systemd services
|
||||||
|
|
||||||
The following custom `systemd` services are currently running on the Q7S and can be found in
|
The following custom `systemd` services are currently running on the Q7S and can be found in
|
||||||
the `/etc/systemd/system` folder.
|
the `/etc/systemd/system` folder.
|
||||||
You can query that status of a service by running `systemctl status <serviceName>`.
|
You can query that status of a service by running `systemctl status <serviceName>`.
|
||||||
|
|
||||||
|
### `eive-watchdog`
|
||||||
|
|
||||||
|
The watchdog will create a pipe at `/tmp/watchdog-pipe` which can be used both by the watchdog and
|
||||||
|
the EIVE OBSW. The watchdog will only read from this pipe while the OBSW will only write
|
||||||
|
to this pipe. The watchdog checks for basic ASCII commands as a first basic feature set.
|
||||||
|
The most important functionality is that the watchdog cant detect if a timeout
|
||||||
|
has happened. This can happen beause the OBSW is hanging (or at least the CoreController thread) or
|
||||||
|
there is simply now OBSW running on the system. It does to by checking whether the FIFO is
|
||||||
|
regulary written to, which means the EIVE OBSW is alive.
|
||||||
|
|
||||||
|
If the EIVE OBSW is alive, a special file called `/tmp/obsw-running` will be created.
|
||||||
|
This file can be used by any other software component to query whether the EIVE OBSW is running.
|
||||||
|
The EIVE OBSW itself can be configured to check whether this file exists, which prevents two
|
||||||
|
EIVE OBSW instances running on the Q7S at once.
|
||||||
|
|
||||||
|
If a timeout occurs, this special file will be deleted as well.
|
||||||
|
The watchdog and its configuration will be directly integrated into this repostory, which
|
||||||
|
makes adaptions easy.
|
||||||
|
|
||||||
### `tcfagent`
|
### `tcfagent`
|
||||||
|
|
||||||
This starts the `/usr/bin/agent` program to allows remote debugging. Might not be part of
|
This starts the `/usr/bin/agent` program to allows remote debugging. Might not be part of
|
||||||
|
Loading…
Reference in New Issue
Block a user