deskHPSDR finale Version 2.6 von Heiko DL1BZ

deskHPSDR finale Version 2.6

Nachdem ich im Oktober 2024 anfing, aus der Codebasis von piHPSDR heraus das deskHPSDR zu entwicklen, ist nun die Zeit reif für eine erste finale Version 2.6 vom deskHPSDR.

Ich hatte ja bereits viel während der Entwicklung über den Stand der Dinge hier in meinem Blog berichtet, nun ist der erste Meilenstein erreicht.

Ich habe einige Funktionen, die mir im piHPSDR schlicht fehlten, nachgrüstet und eingebaut, da ich lange mit Thetis unter WINDOWS gearbeitet hatte und mir dort einige Sachen und Funktionen den Betrieb mit meinem Hermes Lite 2 SDR-Transceiver erleichert haben, die leider nicht Bestandteil des piHPSDR waren und wie es damals aussah, auch nicht Bestandteil des piHPSDR werden sollten. Also habe ich kurzerhand aus der Basis des piHPSDR meine eigene Interpretation herausgearbeitet, die ich dann etwas später deskHPSDR nannte.

Dieser im Oktober 2024 begonnene Prozeß hat jetzt seinen ersten Abschluß gefunden. Was ich wollte, ist inzwischen Bestandteil des deskHPSDR geworden und noch einige Dinge darüber hinaus, die Anwender, denen meine Version auch gefiel und die diese inzwischen auch einsetzen, als „feature requests“ anfragten. Soweit das passte, habe ich diese Dinge ebenfalls ins deskHPSDR eingebaut.

Herausgekommen ist eine Art kleiner Bruder von Thetis für macOS bzw. Linux. Es ist natürlich nicht vollumfänglich Thetis und wird es auch niemals sein, aber es ist auch nicht mehr piHPSDR. Es ist irgendwas dazwischen – für mich allerdings mein „Thetis for macOS“, weil ich es vorrangig mit dem Fokus auf den Einsatz unter macOS weiterentwickelte, da auf dem Mac leider die Auswahl an guten SDR-Applikationen alles andere als umfangreich ist. Vielleicht ist es mir gelungen, diese Situation mit deskHPSDR unter macOS etwas zu verbessern. Natürlich steht einem Einsatz unter Linux auch nichts im Wege, da sollte es ebenfalls laufen bis hinunter zu SoC wie einem Raspberry Pi. Zumindest meine Tests auf meinen beiden Pi 5 zeigten, läuft da genauso gut wie auf meinen Macs.

Ausblick

So wie es derzeit aussieht, werde ich dieses Softwareprojekt auch künftig weiterführen. Jetzt ist erstmal eine kleine Entwicklerpause angesagt, da noch andere Projekte auf Fertigstellung warten, die in der letzten Zeit etwas ins Hintertreffen geraten waren. Auch muss der Kopf wieder etwas frei werden für neue Ideen – immerhin habe ich nun fast 5 Monate meiner Freizeit am Stück ins deskHPSDR bzw. dessen Entwicklung gesteckt. Da muss man nun mal etwas durchatmen und ein wenig Abstand gewinnen.

Im Grunde bin ich viel weiter gekommen als ich das am Anfang geplant hatte, das liegt wie bei vielen Projekten auch schlicht daran, dass die Lernkurve mitwächst und man sich ab einem gewissen Zeitpunkt Dinge zutraut, wo man anfangs noch dachte, das übersteigt etwas meine Fähigkeiten. So gings mir auch im Laufe der Entwicklung, meine Kenntnisse in Sachen C-Programmierung, dem GTK-Framework sind jetzt um einiges umfangreicher als zu Beginn dieses Projekts. Ich muss ja immer wieder betonen, es ist ein reines Freizeitprojekt und ich bin kein Softwareentwickler von Berufswegen her, auch wenn ich beruflich seit über 20 Jahren in der IT-Branche tätig bin. Das ist also mehr so ein „Learning-by-doing“-Ding, was mir einfach Spaß macht. Klar habe ich die Basics von Programmierung natürlich während meines Studiums mal erlernt, jedoch später im Beruf nur selten benötigt, da ich dort andere Aufgaben zu erfüllen habe, aber wenig bis gar nichts mit Softwareentwicklung zu tun habe.


Software bei Github: https://github.com/dl1bz/deskhpsdr

deskHPSDR README.md

Dies ist eine verbesserte Version, die auf dem Code von piHPSDR basiert. Aber es ist nicht piHPSDR selbst und hat keine rückständigen Abhängigkeiten zu PiHPSDR. Mein Ziel war es, eine optimierte Version mit Desktop-OS wie Linux und macOS zu machen, was bedeutet, dass ich kleine Displays nicht weniger als 1280×600 wie für Raspberry Pi oder similiar-Geräte unterstütze. In diesem Fall müssen Sie piHPSDR verwenden, aber nicht meinen SchreibtischHPSDR.

deskHPSDR benötigen eine Bildschirmgröße 1280×600 bei mindestens oder höher für die besten GUI-Erlebnisse, das ist einer der Unterschiede gegenüber piHPSDR. Es gibt auch keine Pläne für einen Client-Server-Modus wie bei piHPSDR, dieser Codeteil wurde im DeskkHPSDR entfernt.

Mein Hauptaugenmerk der DeskkHPSDR-Entwicklung, die Verbesserungen und zusätzlichen Funktionen gegen piHPSDR ist der Hermes Lite 2 SDR-Transcehler und seine ähnlichen Geräte, die auf derselben Hardwareplattform wie dem Square-SDR basieren. Andere SDR-Geräte können auch verwendet werden, wenn sie unterstützt werden, aber ich kann es nicht überprüfen. Der zweite Fokus liegt auf macOS, was meine primäre Entwicklungsumgebung für DeskHPSDR ist. Normalerweise sollte auch alle mit Linux laufen. Der dritte Fokus ist Fonie/SSB/Digimodes und weniger CW. Diese SDR-Software-App ist für SDR-Transceiver im Hamradio verwendet, weniger für Breitband-RX-only SDR-Geräte. Wenn Sie mir und meinen Ideen zustimmen, kann der SchreibtischHPSDR für Sie sehr nützlich sein. Wenn nicht, schauen Sie sich andere Lösungen an.

Weitere Informationen zum Entwicklungsfortschritt des DeskkHPSDR finden Sie hier in meinem Blog:
https://hamradio.bzsax.de/category/hamradio/deskhpsdr/ (nur Deutsch).

deskHPSDR teilte sich Oktober 2024 von der Codebasis von piHPSDR

piHPSDR wurde vor einigen Jahren erstmals von John Melton, G0ORX/N6LYT, entwickelt.
Später hatte Christoph, DL1YCF, die Entwicklung von piHPSDR fortgesetzt. Seine Version https://github.com/dl1ycf/pihpsdr ist die aktuellste Version von piHPSDR und wird bisher aktiv von ihm entwickelt.

Also war seine Codebasis von piHPSDR mein Ausgangspunkt Ende Oktober 2024. Aber es gibt und wird keine direkte Zusammenarbeit zwischen PiHPSDR und DeskkHPSDR geben.

Heute geht der Schreibtisch HPSDR auf ganzer Linie. der SchreibtischHPSDR hat viele neue Funktionen, die in piHPSDR nicht verfügbar sind. Dinge, die der SchreibtischHPSDR nicht braucht, wurden auch entfernt, sie existieren außerdem in piHPSDR, sind aber nicht mehr als Teil des Schreibtisches HPSDR.

Ab jetzt (Januar 2025) höre ich auf, Code von piHPSDR in den Schreibtisch zu fusionieren. Letzte Änderungen von piHPSDR wie dem G2Panel und anderen Dingen sind nicht im Schreibtisch HPSDR verfügbar und werden es nicht sein. Meine zukünftige Entwicklung hat den Fokus beim Hermes Lite 2 SDR, aber nicht für Geräte von Apache Labs. Meine Bedeutung für diesen Hersteller ist nicht die beste, sie verkaufen nur teure Hardware und lassen die Open-Source-Entwickler die Arbeit für die SDR-Anwendungen erledigen, die mit ihrer Hardware verwendet werden können. Ich habe diesen Ansatz nicht unterstützt. Für die Hermes Lite 2 sind die meisten Probleme jetzt in der SchreibtischHSSDR behoben. Es gibt keine erkennbaren Probleme mit der HL2.

Anforderungen

  • ein modernes Desktop-OS wie Linux oder macOS mit installierten Entwicklertools wie Compiler, Linker etc.
  • eine große Bildschirmgröße beginnt bei 1280×600 oder höher
  • Grundkenntnisse: Wie Sie Ihr Betriebssystem, eine Shell, einen Texteditor und die Zusammenstellung von Anwendungen aus Quellcode verwenden
  • macOS nur : Lesen Sie bitte COMPILE.macOSzuerst
  • Linux nur : Bitte lesen COMPILE.linuxzuerst
  • ein SDR-Gerät oder Transceiver, der das HPSDR-Protokoll 1 (älter) oder 2 (neuer) wie das Hermes Lite 2, das ANAN oder ähnliche Geräte unterstützt. Soapy-API-basierte SDR kann auch verwendet werden, aber mit Einschränkungen durch die Soapy-API-Implementierung. Pro Standard Sifapy-API ist deaktiviert, bei Bedarf müssen Sie Seifen-API-Unterstützung im make.config.deskhpsdrals benutzerdefinierte Option
  • ein sehr gutes Laufnetzwerk ohne Probleme (Ethernet bevorzugt, WiFi nicht empfohlen) und ein DHCP-Server im Inneren (ohne DHCP ist auch möglich, aber komplizierter oder schwieriger mit den SDR-Geräten zu arbeiten)
  • für Hermes Lite 2 spezifische Noten schauen in die Notes_if_using_HERMES-Lite-2.md

Wichtig: Für das beste Desktop-Erlebnis wählen Sie bitte VFO-Bar für 1280px-Fenster im Menü->Screen (wenn nicht ausgewählt).

Die Weiterentwicklung des DeskxHPSDR

Meine Arbeit ist noch nicht abgeschlossen (sind Softwareprojekte jemals fertig ???). Ich habe einige Ideen, was ich hinzufügen muss. Sie müssen diesen Zweig als „work in progress“ verstehen. Ich überprüfe meinen Code hier mit meiner Testumgebung: Intel iMac 21″ i5 und Macbook Air M1 laufen beide mit macOS 14.7.1 aka Sonoma und meinem SDR-Twistceivers Hermes-Lite 2 in Kombination mit meinem Homebrew-LDMOS-PA 600W. Mein Fokus ist Fonie/SSB und Digimode/FT8+FT4, weniger CW. Und – sorry Jungs – ich habe nicht die Zeit, irgendeine Art von Handbuch für den SchreibtischHPSDR zu schreiben. Verwenden Sie stattdessen das veröffentlichte Handbuch der piHPSDR-Version von DL1YCF für grundlegende Kenntnisse, wie diese Anwendung im Allgemeinen funktioniert.

Neueste Änderungen

2.6.0 (Endversion)

Am 4. März 2025 erscheint die erste Version 2.6.0 des DeskHPSDR. Diese Version erhält keine neuen Funktionen, nur Bugfixes, wenn sie bekannt wird. Die weitere Entwicklung beginnt später in der Version 2.7.x nach einem kurzen Entwicklungsurlaub.

Version 2.5.x (Entwicklerversion)

  • abgeschlossen: bei Verwendung von Hermes-Lite 2 zusätzliche Autogain-Regelung als Option für RxPGA-Gewinn (Bedarf AUTOGAIN-ON in make.config.deskhpsdr)
  • abgeschlossen: Befestigen Sie einen Segmentierungsfehler von pulkHPSDR, wenn Sie SDR-RX-Geräte wie SDRplay über Seifey-API nach dem Start des SDR-Geräts verwenden
  • abgeschlossen: bei Verwendung von Hermes-Lite 2 aktivieren Sie den CL1-Eingang für externe 10 MHz Referenz (z.B. mit GPSDO)
  • abgeschlossen: Zusatz (wenn im Duplex-Modus) auch die Audiopegelüberwachung im separaten TX-Fenster (Feature-Anfrage von CU2ED)
  • abgeschlossen: „horizontal stacking“-Display-Option für Panadapter im Bildschirmmenü entfernen, was viele meiner geänderten GUI-Design stört
  • abgeschlossen: Entfernen Sie alle alten piHPSDR Client-Server-Code, deskHPSDR unterstützt dieses „One-App-Limited“ Client-Server-Konzept nicht
  • abgeschlossen: Beheben Sie einige Anzeigefehler, wenn horizontale Bildschirmauflösung > 1280px ausgewählt und Duplex ausgewählt ist (Ausgabe von CU2ED, tnx)
  • abgeschlossen: eigenem Callsign in der linken oberen Ecke des RX-Panadapters anzeigen, Rufzeichen ist im Radio-Menü konfigurierbar (Feature-Anfrage von CU2ED)
  • abgeschlossen: S-Meter-Werte anzeigen, wenn Sie analoges S-Meter verwenden (Feature-Anfrage von CU2ED)
  • abgeschlossen: bei Verwendung von Hermes Lite 2 TX Leistungsschieber zeigen jetzt TX-Ausgang in W (Schrittgröße 0.1W) anstelle einer Skala zwischen 0-100
  • abgeschlossen: Fügen Sie weitere Tastenkombinationen hinzu (Feature-Anfrage von DH0DM)
  • in der Entwicklung: Einführung zur Vollautomatiksteuerung des RxPGA Gewinns bei Verwendung eines Hermes Lite 2
  • abgeschlossen: mergenn Sie das neue PEAK-Label-Feature von piHPSDR in den SchreibtischHPSDR und fügen Sie eine Option hinzu, um das Peak-Label als S-Meter-Werte anstelle von dbm anzuzeigen
  • abgeschlossen: Hinzufügen einer Option zur Verwendung von 3 Mic-Profilen, die verschiedene Audioeinstellungen (FCFC, TX-EQ, Limiter, Basebandcompressor) speichern und laden kann, wenn verschiedene Arten von Mikrofonen mit speziellen Einstellungen pro Mic verwendet werden. Laden und Speichern ist nur in den Modi LSB, USB oder DSB möglich. Andere Modi werden nicht unterstützt. Wenn der Modus DIGL oder DIGU ist, ist der Zugriff auf das RX- und TX-EQ nun blockiert, denn es ist wichtig, dass das Frequenzspektrum nicht manipuliert wird, wenn er Digi-Modi verwendet.
  • unter der Entwicklung: Implementierung eines TCI-Servers, der ein SunSDR2Pro-Gerät emuliert (erfolgreich getestet mit JTDX, RumLogNG, MacLoggerDX)
  • abgeschlossen: Hinzufügen einer zusätzlichen seriellen Geräteschnittstelle, die während der TUNE-Funktion und PTT-Ausgang ON der RTS- und DTR-Signalleitung einschalten kann (Feature-Anfrage von DD8JM für TUNE und durch CU2ED für PTT-Ausgang)
  • unter Entwicklung: sereral GUI Verbesserungen für zusätzliche Statusinformationen auf dem Bildschirm anzeigen
  • unter der Entwicklung: Ermöglichen einen tieferen Zugriff auf die gesamten Audiotools wie FCKW, Kompressor, Phasenrotator für den Anwender
  • abgeschlossen: Hinzufügen eines zusätzlichen, einstellbaren bis zu +20db, AF-Vorverstärker zur Erhöhung des Mikroeingangspegels bei Bedarf
  • unter der Entwicklung: Automatisches Schalten verschiedener Audioeingänge hängt vom gewählten Modus mit automatischen Save-Einstellungen ab
  • abgeschlossen: Entfernen Sie die meisten Einschränkungen bei 60m Band (Abferne Kanalisierung und andere nicht-essentielle Dinge)
  • abgeschlossen: fügen Sie neuen UDP-Hörer für mein RX200 ESP32-Projekt hinzu, das über UDP-Übertragungsdaten in JSON gesendet wird
    Format wie vorwärts und reflektierte Power, SWR und Anzeige der empfangenen und analysierten Daten auf dem Bildschirm
    als Panadapter-Overlay (brauchen jetzt json-c als zusätzliche Lib, also bitte installieren)
  • abgeschlossen: Hinzufügen eines neuen seriellen Geräts, das als externer PTT-Eingang mit einer ähnlichen RTS- und CTS-Signalisierung wie Thetis verwendet werden kann

Dinge, die als „unter der Entwicklung“ gekennzeichnet sind, sind nicht vollständig getestet und haben vielleicht Probleme.
Dinge, die als „abgeschlossen“ gekennzeichnet sind, werden länger getestet und funktionieren bisher ohne bekannte Probleme.

Die meisten neuen Funktionen müssen im make.config.deskhpsdrals Compiling-Option. Bitte schauen Sie am Anfang Makefileund legen Sie die benötigten Optionen nur in make.config.deskhpsdr, aber nicht Makefileselbst !

Ausgaben Tab bei Github für dieses Projekt – lesen Sie sorgfältig !

Ich bin jetzt aktiv, um die Ausgabe Tab zu aktivieren, aber bitte beachten Sie Folgendes:

  • NUR akzeptiere ich hier Fehlerberichte oder Laufzeitfehler für diese veröffentlichte Codebasis. Die Registerkarte „Issues“ ist nicht geeignet, um andere Dinge außer Fehlermeldungen oder Fehlermeldungen zu besprechen.
  • Stellen Sie nicht nach Feature-Anfragen, Fragen zur Portierung auf andere Systeme wie WIN/MinGW oder Unterstützung für neue SDR-Hardware, die bisher in der veröffentlichten Version nicht zur Verfügung steht – meine Antwort wird immer NEIN sein. Solche Anfragen werden ohne Kommentar ignoriert und geschlossen.
  • zuerst ein git pullzur Verwendung der aktuellsten Codebase, kompilieren Sie sie, testen Sie sie und öffnen Sie ein Problem, wenn Sie denken, dass etwas mit der letzten Codebasis nicht stimmt
  • Ich akzeptiere keine Fragen, Kommentare oder Bemerkungen zur Übertragung außerhalb der Amateurfunkfrequenzen !!!

Bekannte Probleme bei der Verwendung von Git zur Aktualisierung der Codebasis an Ihrem lokalen Computer

Im MakefileIch füge einen Kommentar hinzu: „Bearbeiten Sie diese Makefile nicht“. Das meine ich. Ich füge nun die editierbare Zusatzdatei dazu hinzu make.config.deskhpsdr.
Aber wenn Sie diese Datei noch haben oder bearbeiten und danach eine git pull, git vielleicht mit einer Fehlermeldung zurückkommen.
In diesem Fall versuchen Sie es:

$ mv make.config.deskhpsdr make.config.deskhpsdr.save
$ git pull
$ rm make.config.deskhpsdr
$ mv make.config.deskhpsdr.save make.config.deskhpsdr
$ git update-index --assume-unchanged make.config.deskhpsdr

Danach git pullsollte richtig funktionieren.
Hintergrund dazu: Ich habe einen Fehler gemacht .gitignore, aber ich korrigiere es in der Zwischenzeit. git pulllokale Änderungen mit dieser Datei (falls bearbeiten) und aufhören zu arbeiten, da diese Datei nicht mit der Datei aus dem vorgelagerten Stammzweig identisch ist.
git update-index --assume-unchanged make.config.deskhpsdrinformieren, dass diese Datei in Zukunft ignoriert werden muss, damit Sie sie bearbeiten können, wie Sie sie benötigen.
Wenn dies nicht hilft, löschen Sie bitte die komplette Codebasis von DeskkHPSDR und klonen Sie es wieder, dann haben Sie eine frische Kopie.

Wenn git pullgescheitert, du kannst das auch ausprobieren:

$ git pull
$ git reset --hard origin/master

Dies überschreibt lokale Änderungen, die sich von der Remote-Repo auf Github.com unterscheiden und den Status zwischen local und Remote gleich stellen.

Bekannte (und unbekannte) Probleme mit SDR-Geräten

  • bei Verwendung der SOAPY-API mit SDRPlay RSP2Pro (älteres Modell, EOL) über USB, crasht der KWHSSDR mit einem Segmentierungsfehler, wenn Sie versuchen, dieses Gerät zu starten (Problem ist tatsächlich untersucht, aber noch nicht behoben)FIXED
  • Von Zeit zu Zeit habe ich Berichte von einigen Benutzern erhalten, dass die HL2 oder ähnliche Geräte (wie die SquareSDR) nicht den vollen 5W-Ausgang mit SchreibtischHPSDR (oder piHPSDR) produzieren. Zu keiner Zeit kann ich dieses sogenannte „Problem“ bestätigen. Viele Messungen und Tests zeigten als Ergebnis immer die volle 5W-Ausgabe – vorausgesetzt, Sie hatten ein gültiges Setup (5W PA aktiviert, TX PWR 100, PA-Kalibrierung für jedes Band mit dem Wert 38,8 und korrekte Einstellungen in der SchreibtischHPSDR- oder PiHPSDR-Regife, wenn Sie die N2ADR-Tiefpass-Filterplatte, keine schlechte SWR- oder falsche Probleme verwenden). Tatsächlich haben wir keine sogenannten „Probleme“ im Programmcode von DeskkHPSDR (oder PiHPSDR), wenn Sie nicht die gesamte Ausgabe erreichen. In diesem Fall müssen Sie überprüfen, um das komplette Setup erneut zu überprüfen, es muss einen anderen Grund mit Ihrem gesamten Setup geben, wenn es nicht funktioniert.
    Bitte schauen Sie nach Notes_if_using_HERMES-Lite-2.mdauch für konkrete Setup-Dinge rund um die HL2.

Erfolgreiche und bestätigte Tests, die ich bisher gemacht hatte

Bisher wurde DeskkHPSDR erfolgreich auf folgenden Systemen getestet:

  • iMac 21″ i5 mit macOS 14.7.x aka Sonoma
  • Macbook Air M1 mit macOS 14.7.x aka Sonoma
  • Raspberry Pi5 mit NVMe-HAT mit 64bit PiOS und X11
  • Raspberry Pi 3B+ funktioniert auch, aber mit Einschränkungen (Panadapter-Framerate nur 10fps, wenn mehr die CPU will, hat nicht genug Leistung)
  • ein hamradio friend of me hat es auf einem Desktop Linux Ubuntu LTS für mich überprüft, funktioniert auch

Alle Funktests werden mit meinem Hermes Lite 2 SDR-Transceiver mit dem HPSDR-Protokoll V1 unter macOS 14.7.4 durchgeführt. Es gibt noch keine Probleme mit dem Hermes Lite 2 und dem SchreibtischHPSDR, aber es ist nicht möglich, ALLE anderen vorhandenen SDR-Geräte zu überprüfen.

Credits

Großer Dank und großem Respekt für alle beteiligten Entwickler für ihre bisherige großartige Arbeit an PiHPSDR und machen diese Anwendung als Open Source unter der GPL zugänglich. Vielen Dank auch den Nutzern, die mir Feedback gegeben und Probleme gemeldet haben, die ich selbst nicht bemerkt hatte.

Ausschluss jeder Garantie und Warrenty

Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (zu Ihrer Option) in einer späteren Version weiterverbreiten und/oder ändern.

Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, aber OHNE JEDE GARANTIE; ohne auch nur die implizite Garantie von MERCHANTABILITY oder FITNESS FOR A PARTICULAR PURPOSE. Weitere Details finden Sie in der GNU General Public License.

Alles, was Sie mit diesem Code machen, ist auf Ihr eigenes Risiko. Der Code wird veröffentlicht „wie es ist“ ohne Recht auf jegliche Art von Unterstützung oder similiar services.

0 0 Stimmen
Article Rating
Abonnieren
Benachrichtige mich bei
guest
Der Nutzung, Verarbeitung und Speicherung meiner Daten stimme ich zu.
0 Comments
Newest
Oldest Most Voted
Inline-Rückmeldungen
Alle Kommentare anzeigen
Translate »
0
Ich hätte gerne Ihre Gedanken, bitte kommentieren Sie.x