Im Lauf der Jahre habe ich für mich ein rechtumfangreiches Logbuchprogramm gebaut. Für eine Erweiterung dieses Programms suche ich nach einer Beschreibung wie ich z.B. über eine UDP Verbindung mit dem Programm FLDIGI kommunizieren kann. Die Beschreibungen die ich bisher im Internet gefunden habe (wie z.B. das FLDIGI Handbuch) klammern diese Information völlig aus.
FLDIGI Anbindung ?
-
-
Ich benutze Fldigi schon recht lange. Ich benutze nur den Datenaustauch in meine Hauptlog (Logger32) mitteln ADIF Import/Export, also nur nachträgliche Datenübertragung.
Ich erinnere mich, daß es früher bei Logger32 Zusatzprogramme gab, die die Daten in Echtzeit übergaben, aber die waren wohl versionsabhängig und bei mir nie wirklich stabil in der Arbeit, sind auch nirgends mehr zu finden.
In Fldigi unter Logbuch/Logging steht was über Kopplung mit MacLogger, N3fJP-Logs usw., aber wie das funktioniert oder wo das erklärt ist, keine Ahnung.
Ich kann mich nicht erinnern, überhaupt mal was weitergehendes gehört zu haben.
Ansonsten stehen hier http://www.w1hkj.com/ noch die Angaben zu den Programmen von W1HKJ rund um Fldigi, ob Du da was brauchbares findest, kann ich nicht sagen.
-
Erst mal Danke für die Infos, unter dem Link werde ich mal suchen. Es gibt Logprogramme, die mit dem fldigi kommunizieren (z.B. N1MM), also müsste da eine Menge gehen. Aber ohne Beschreibung kann ich nicht mal die große Frequenzanzeige aktualisieren. Ohne diese Aktualisierung ist auch das interne fldigi logbuch für Contests für mich nutzlos.
-
Moin,
das Zauberwort dafür ist nicht UDP, sondern XML-RPC. Remote Procedure Calls (RPC) können dann über einen TCP/IP Socket laufen, der sich in Fldigi einstellen lässt. Den Port öffnet man wie eine Datei und sendet dann die entsprechenden Function Calls. Für RPC über TCP/IP gibt es umfangreiche Dokumentation im Netz, für nahezu alle Programmiersprachen. Beispiele für Fldigi findet man in Perl zum Beispiel hier, in Ruby hier, in Python hier und C hier. Sinnvoll dazu wäre ein Abo der Fldigi Mailingliste (groups.io). Weitere Beispiele findet man natürlich im Code von Fldigi und Flrig, denn die kommunizieren untereinander über RPC, beim Code von Fldigi ist auch flxmlrpc dabei, ein Client der nichts anderes macht. Also Infos dazu gibt es ohne Ende.
73, Tom
-
Das bringt mich jetzt schon ein Stückchen weiter - danke. Im Code von fldigi will ich erst mal nicht rumrühren, vielleicht lässt sich das was so geht über die Python Dokumentation ausloten.
-
Ups - im Moment stecke ich in einer Sackgasse: In fldigi lässt ich unter "Config Dialog -> TCP-IP Sessions" das "Lock" Häkchen zwar rausnehmen. Mit "rpcinfo -p localhost" kann ich aber keinen neuen rpc Server ausmachen. Beende ich fldigi, fällt mir auf, dass nicht danach gefragt wird, ob die Änderungen (gelöschtes "Lock"-Häkchen) gepeichert werden sollen. Bei einem Neustart von fldigi ist es dann auch wieder gesetzt. Irgendwas muss ich das wohl falsch gemacht haben.
-
Bei den "simpleren" Konfigurationseinstellungen muß immer "Konfiguration speichen" angeklickt werden, ansonsten bleibt die alte bestehen.
-
Das habe ich schon versucht aber egal was ich mache, nach jedem Start ist das Häkchen wieder drin. Ist inzwischen vermutlich doch nicht so wichtig, denn unabhängig von dem Häkchen ist der Port 7362 immer belegt wenn fldigi startet wurde. Ich vermute auch, dass es reicht, die passenden XML-Blöcke einfach an diesen Port zu schicken. Parallel dazu habe ich versucht eine Verbindung über Python hinzukriegen. Das funktioniert auch wenn das bewussste Häkchen gesetzt ist. Allerdings scheint die Version von pyfldigi hoffnungslos veraltet zu sein, einige wenige Funktionen gehen, viele exisiteren in Python überhaupt nicht und eine ganze Reihe zeigt in fldigi keine Wirkung.
Aber verglichen mit meinem Stand von heute früh bin ich schon ein gutes Stück weitergekommen.
-
Moin,
Allerdings scheint die Version von pyfldigi hoffnungslos veraltet zu sein, einige wenige Funktionen gehen, viele exisiteren in Python überhaupt nicht und eine ganze Reihe zeigt in fldigi keine Wirkung.
das kannste haben, viele Dinge werden einfach nicht gepflegt, wenn sie nicht genutzt werden und da die halbe AFu Welt nur FT8 macht, ist Fldigi heute nicht mehr so der Renner. Halte Dich einfach an die Doku zu Fldigi, gegebenenfalls in pyfldigi die Funktionen ergänzen. Die Online Doku von Fldigi wird mit Doxygen generiert, direkt aus dem Code. Da musst Du auf der Website nur auf die richtige Version achten, dann sollte das alles passen.
73, Tom
-
Ein dickes Dankeschön für die Tipps.
Ich hab' mir in C einen Server für einen TCP-Socket geschrieben und mir damit die Ausgaben eines der funktionierenden Python Kommandos angesehen. Danach einen TCP-Client, der genau die Ausgaben des Python Skripts an fldigi geschickt hat. fldigi hat daraufhin korrekt reagiert. Mit der Information lassen sich jetzt auch die anderen Kommandos alle erzeugen. Die ersten 7 funktionieren schon. Die anderen sind in Arbeit.
vy 73,
Gunther