Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

translates to english #53

Merged
merged 1 commit into from
Oct 30, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 39 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,38 @@

![example workflow](https://github.com/skunkforce/omniview/actions/workflows/build.yaml/badge.svg)
# OmniView
OmniView ist eine universelle GUI um die Messgeräte der Forschungskooperation AW4null anzuzeigen.
Mehr Informationen über AW4null finden sich unter [[www.autowerkstatt40.org](https://www.autowerkstatt40.org/)].
OmniView is an experimental GUI for the measurement-devices of the research-collaboration AW4null.
It's purpose is the display and the handling of data, generated by [Auto-Intern OmniScopes](https://www.auto-intern.de/shop/).


## Planned functionallity
The plan of AW4null is to enhance car-diagnostics with AI-powered diagnostic-services.
Diagnostic-services will be reachable through differen REST-APIs and will be specialized on a lot of different purposes.
Physical-measurements of automotive-sensors will be taken, displayed in OmniView and send to an API at the users will.
OmniView shall receive data from multiple generators, such as OmniScopes and OmniB-, OmniE-Clamp and OmniPressure.
The data will come in as a binary stream of 24-bit integers.
Since the incoming data represents measurement-samples in the time-domain, the individual channels will be synchronized.
This is done in a currently non-public-repo of Auto-Intern, but will be separated into a `.dll` or `.so` respectively.
The acquired data can be viewed on the OmniView GUI and may then be saved to the hard-drive in `.csv` or binary format.
Anyhow, another possibility is to send the measurement to a REST-API provided by the [THGA](https://www.thga.de).

### First Phase Development
In it's first phase, only one API will be used, documented by [this Repository](https://gitlab.thga.de/aw4null/aw4null_api-description_ref/-/blob/main/openapi.json?ref_type=heads).
The API will be able to receive training-data for AI-training purposes.

## Prototype
Ein Prototype der Software befindet sich in [[www.figma.com](https://www.figma.com/file/daQFBzV59T8xOlL4JXXwBG/OmniView?type=design&node-id=0%3A1&t=8xcLaxbuGwCj4EBE-1)](FIGMA). Nach einem Klick auf den Link, muss die Einsicht erst von @bjoekeldude freigegeben werden.
Der Prototype wird kontinuierlich geupdated und soll das Entwicklungsergebnis visualisieren.
Die konkreten Entwicklungsschritte werden im [Projektplan](https://github.com/orgs/skunkforce/projects/1/views/1?pane=issue&itemId=30039286) festgehalten, welcher von @markuskae gepflegt wird.
# Building OmniView
Building is currently only possible with specially provided access-rights, but will be made available to the wider public as soon as the migration to a closed-source shared-library for device handling has been done as described in [Issue #36](https://github.com/skunkforce/omniview/issues/36).
In order to ask for access-rights, contact [@bjoekeldude](https://github.com/bjoekeldude).

## Hilfe und Onboarding
Auf [https://moodle.aw4null.de/] (unserer Lernplattform) finden sich weitere Hilfen und Ressourcen zum aw4null Projekt. Ansprechpartner ist @wasilina83

## Teilnehmen und Mitarbeiten
## Buildstatus
![example workflow](https://github.com/skunkforce/omniview/actions/workflows/build.yaml/badge.svg)
Anyhow, building __IS__ available in CI. A push into any branch will generate a new binary, that can be downloaded via the [Action-Tab](https://github.com/skunkforce/omniview/actions).


## Buildprozess Linux
Building requires `cmake --version > 3.20` as well as a `c++20`-Compiler.
## Linux

### Prerequisites
Bevor der Kompilationsprozess gestartet werden kann, muss sichergestellt werden, dass die folgenden Pakete installiert sind:
In order to start the compilation, following packages need to be ensured:
* build-essential
* autoconf
* gtk-doc-tools
Expand All @@ -35,67 +49,45 @@ Bevor der Kompilationsprozess gestartet werden kann, muss sichergestellt werden,
* libglu1-mesa-dev
* pkg-config

### Kompilation

ins OmniView Verzeichnis wechseln

submodule updaten und initalisieren:
### Compile
Move into OmniView-directory, update and initialize all submodules:
```shell
git submodule update --init --recursive
```
buildordner erstellen:
create build-directory and run cmake from there:
```shell
mkdir build
```

in den buildordner navigieren:
```shell
cd build
```
cmake ausführen:
```shell
cmake ..
```

make ausführen:
Start the compilation by using the CMake-command:
```shell
cmake --build .
```


OmniView ausführen:
In order to run OmniView it needs admin-rights right now:
```shell
Sudo ./OmniView
sudo ./OmniView
```

OmniView funktioniert auch ohne den Sudobefehl. Noch kann die Software aber so nicht mit angeschlossenen Omniscopes kommunizieren.

## Buildprozess Windows
ins OmniView Verzeichnis wechseln

submodule updaten und initalisieren:
## Windows
Move into OmniView-directory, update and initialize all submodules:
```shell
git submodule update --init --recursive
```

buildordner erstellen:
create build-directory and run cmake from there with defined `VCPKG_TARGET_TRIPLET`:
```shell
mkdir build
```

in den buildordner navigieren:
```shell
cd build
```

cmake ausführen:
```shell
cmake .. -DVCPKG_TARGET_TRIPLET="x64-windows-static"
```

make ausführen:
Start compilation using CMake:
```shell
cmake --build .
```


## Project Onboarding
In order to learn more about the project as such, you may visit [www.autowerkstatt40.org](https://www.autowerkstatt40.org/) or have a look at [our online-learning resources](https://moodle.aw4null.de/)