diff --git a/README.md b/README.md index 4a48ffc9..fc681df1 100755 --- a/README.md +++ b/README.md @@ -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 @@ -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/)