mirror of
https://github.com/Schrolli91/BOSWatch.git
synced 2026-01-02 14:50:09 +01:00
2.1 KiB
2.1 KiB
BOSWatch 3.0
============
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
Server:
- Empfängt die TCP Socket Pakete der einzelnen Clients
- Durch doubleFiltering fallen doppelt eingehende Alarme der Clienten sowieso raus
- Danach Filterung usw. 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
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