Wie ich ja schon im letzten Beitrags dieses Blogs berichtet hatte, habe ich begonnen, die als Open Source Software erhältliche SDR Applikation piHPSDR, ursprünglich von John/G0ORX entwickelt und inzwischen weitergeführt von Christoph/DL1YCF, etwas für meine Bedürfnisse umzubauen und einige eigene Anpassungen und Erweiterungen in dieses Stück Software zu implementieren.
Da ich den Entwicklungsfokus nicht auf Mini-Computer wie dem Raspberry Pi oder ähnliche Geräte lege, sondern auf normale Desktops, die unter macOS oder Linux auf einem großen Monitor laufen, habe ich entschieden, das „pi“ aus dem Namen zu entfernen und dafür „desk“ zu verwenden, so dass jetzt das Ganze also als deskHPSDR weitergeführt wird.
Der Quellcode meiner Arbeit bzw. meiner angepassten Version kann immer von hier bezogen werden:
https://github.com/dl1bz/deskhpsdr
Btw, der „Issues“-Tab meines Projekts bei Github.com ist derzeit bewusst abgeschalten, erst wenn ich soweit bin, das ich zumindest keine Fehler mehr erkennen kann, aktiviere ich den dort wieder. Da auch piHPSDR als Open Source GPLv3-Projekt öffentlich zugänglich ist, habe ich das auch mit deskHPSDR so gemacht. Deswegen ist es auch bei github.com verfügbar und bleibt es auch.
Falls es also Fragen zu diesem, meinen Projekt deskHPSDR geben sollte, einfach fragen 🙂
Was ist bei deskHPSDR anders als bei piHPSDR ?
Christoph/DL1YCF hatte in der letzten Zeit Einiges an neuen Funktionen im piHPSDR hinzugefügt, u.a. den CFC („Continous Frequency Compressor“) und auch den DEXP, eine Art Kombination aus VOX und Noise-Gate. Andere Teile wie der Leveler, die CESSB-Funktion und den am Ende der Audio-Kette sitzenden Baseband-Compressor waren bereits vorhanden, jedoch nicht direkt zugänglich und nicht mit ihren eigentlich vorhandenen Parametern einstellbar. Sowas kann man machen, Christoph war der Meinung, das ist ok so „um den Anwender nicht zu überfordern“. Gut, das kann man so sehen, entspricht jedoch nicht ansatzweise meinen persönlichen Vorstellungen, wie man das in Software zu implementieren hat. Wenn etwas einstellbar ist – denn das hat ja Gründe – muss man es auch einstellen können. Ebenfalls benötigt man auf der Programmoberfläche gewisse Signalisierungen und Rückmeldungen, was aktiviert oder deaktiviert wurde bzw. mit welchen Einstellungen man gerade arbeitet. Sowas muss man im Funkbetrieb ohne Umwege erkennen können und sich nicht erst jedesmal durch zig Menüs „wurschteln“, um herauszufinden, was wie eingestellt ist oder wurde.
Da begann meine Arbeit an dieser Software, um genau diese Mankos – so weit es möglich und sinnvoll erschien – zu beseitigen und damit den möglichen Funktionsumfang zu erweitern und zu verbessern. Alle diese Funktionen kommen aus einer Softwarebibliothek namens WDSP, die praktisch für den Nutzer unsichtbar die eigentliche Arbeit verrichtet und eben diese Funktionen zur Verfügung stellt. Das eigentliche Programm ist mehr oder weniger nur die Bedienoberfläche für diese Softwarebibliothek WDSP. Im Übrigen verwendet auch OpenHPSDR-Thetis (früher PowerSDR) genau diese, also gleiche Softwarebibliothek WDSP, so dass man im Grunde sowohl mit Thetis als auch mit piHPSDR gleiche, wenn nicht sogar identische Ergebnisse erzielen kann. Im Thetis hat man wirklich ALLE Funktionen dieser WDSP dem Nutzer zugänglich gemacht, deswegen ist das auch so eine anspruchsvolle Software, die vielleicht den einen oder anderen Nutzer schon etwas überfordern könnte. Aber diese gibt es eben nur für WINDOWS und steht unter Linux oder macOS nicht zur Verfügung. Die Alternative – im Grunde gleichwertig und auf ähnlichem Niveau – ist eben piHPSDR. Das ist sowohl unter Linux wie auch unter macOS lauffähig.
Meine Programmentwicklung orientiert sich also primär am OpenHPSDR-Thetis und ich versuche, soweit es umsetzbar ist, viele Dinge, die derzeit nur im Thetis verfügbar waren, auch dem piHPSDR oder besser in meinen eigenen Zweig deskHPSDR nachzurüsten, um näher an die Möglichkeiten von Thetis zu rücken. Das wird nie bei 100% landen, aber ich werde versuchen, so weit wie es möglich sein wird und programmtechnisch umsetzbar, die wichtigsten Sachen hinzuzufügen.
Kurzum, mein deskHPSDR bekommt also einiges an Funktionen mehr, die im piHPSDR fehlen oder nur rudimentär hinzugefügt worden sind. Christoph hat ziemlich deutlich gemacht, das er auch die Unterstützung kleiner Displays ab 640×400 weiterhin beibehalten will – ich allerdings muss mit dieser Vorgabe brechen, in meinem deskHPSDR geht es erst ab einer Displaygröße von 1280×800 los, denn anderenfalls müsste ich mit den Darstellungsmöglichkeiten auf der Programmoberfläche zu große Kompromisse eingehen. Mein deskHPSDR – dewegen auch die Namensgebung – zielt auf normale Linux- oder macOS-Desktops ab. Dazu gehören Notebooks mit Displaygrößen ab 1366×768 wie auch normale Desktop-Systeme mit Monitoren ab einer Auflösung von 1280×800. Heutige Monitore liefern aber fast alle mindestens Full-HD mit 1920×1080 oder höher. Damit stellt sich diese Frage eigentlich kaum – ausgenommen Nutzer mit Raspberry Pi und kleinen Display mit 640×480 oder 800×600. Diese muss ich leider von meiner Entwicklung ausschließen – es ist auch nicht meine Zielgruppe. Diese Anwender können weiterhin piHPSDR im Original verwenden und müssen auf meine Version deskHPSDR leider verzichten, eine mögliche Re-Implementation bei deskHPSDR schließe ich meinerseits vollständig aus.