Delete Konzept.md

This commit is contained in:
Bastian Schroll 2021-02-02 17:45:53 +01:00 committed by GitHub
parent 52151c76b7
commit 5ebbaba6f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,121 +0,0 @@
# BOSWatch 3.0
============
Python 3
Verpacken der Funktionalitäten in Klassen um OOP-Grundsätze zu erreichen.
## Dekodierung und Auswertung trennen.
### Client:
- reine Dekodierung mittels rtl-fm und multimon
- Keine Filter usw. nur die Dekoder, Daten verpacken, verschicken
- per TCP Socket an den Server
- versch Eingabequellen (DVB-T Stick, Audio Eingang)
### Server:
- Empfängt die TCP Socket Pakete der einzelnen Clients
- Durch doubleFiltering fallen doppelt eingehende Alarme der Clienten sowieso raus
- Danach Filterung nach neuen Filterkonzept
- dann call an die plugins
## Konfiguration:
- Alle Einstellungen in INI File
- Einziges Argument beim Start des Clienten ist der Name der INI (-v -q -t sollen auch bleiben)
- So werden mehrere Sticks auf einem Rechner einfach möglich ohne BOSWatch Ordner kopieren zu müssen
### Client:
```
[Server]
IP = 127.0.0.1
PORT = 23
[Client]
Name = BOSWatch Client 1
LogDir = log/
[Stick]
device = 0
Frequency = 85...M
PPMError = 0
Squelch = 0
gain = 100
[Decoder]
FMS = 0
ZVEI = 0
POC512 = 0
POC1200 = 1
POC2400 = 0
```
### Server:
```
[Server]
PORT = 23
[Filter]
...
[Plugins]
MySQL = 1
template = 0
...
```
### Plugin:
- Konfigurations Datei für Plugin mit in den Plugin Ordner
- Plugin läd bei Bedarf seine Config selbst, die geht BOSWatch ja nichts an
- Aktuell wird eine ewig lange Config geladen, obwohl 90% der Plugins nicht genutzt werden
## Filterung
Ein Vernünftiges Filterkonzept sollte aufgestellt werden, welches bei POC, FMS und ZVEI gleichermaßen funktioniert
und daher nicht 3 mal implementiert erden muss.
## Versions Überprüfung
über die LIB sched.py - https://docs.python.org/3/library/sched.html - können Zeitgesteuerte Events gestartet werden.
Dies kann zur Überprüfung einer neuen Software version verwendet werden.
information des Nutzers muss noch überlegt werden - evtl als "Alarm" absetzen über normalen Plugin weg.
## Code Dokumentation
Dokumentiert werden sollten alle Funktion und Klassen in Doxygen gerechter Notation.
Genaue Erklärung und Bennenung der Tags in der Doxygen Hilfe
```
class Hello:
## @brief Short description.
# Longer description.
#
# @param self
# @param name Another Parameter
# @return value Returns a Value
def __init__(self, name):
## @brief Constructor
# Longer description optinal.
#
# @param self
# @param name Another Parameter
dosomething(12)
def dosomething(self, x):
## @brief Do something
# Longer description for do something.
#
# @param self
# @param x Another Parameter
# @return value Returns a 0
dosomethingelse
return 0
```