LCW

Nachdem ich angefangen hatte, meine Rechner auf Linux umzustellen, ergab sich folgendes Problem: Wie erledige ich denn nun meine CW-Übungen ? Jedesmal von der DOS-Platte booten, um dort CWT zu starten ? Nee ! Einen DOS-Emulator installieren, um dann festzustellen, daß der direkte Hardware-Zugriff auf die Soundkarte dann doch nicht so reibungslos funktioniert ? Auch nicht ! Also nach einem CW-Übungsprogramm suchen, welches unter Linux läuft... Gesagt, getan ! Allerdings: Was ich da so gefunden habe, ist irgendwie nicht so ganz das, was ich gesucht habe. Vielleicht bin ich auch nur durch CWT verwöhnt ? Ergo: selber ein Programm dafür schreiben, dann kann ich außerdem noch die Features einbauen, die ich für nützlich halte ! Nach etlichen Experimentier-Versionen (die teilweise grausigste Töne von sich gaben) hatte ich die Sound-Programmierung so halbwegs im Griff. Da meine Soundkarte zu den "etwas älteren Semestern" zählt (was bei Funkamateur-Equipment durchaus üblich ist), und für "das bisschen Gepiepe" auch nicht der "Super-Duper-Surround-Sound" notwendig ist, habe ich mich hierbei auf den einfachsten Sound-Modus (8-Bit Mono) beschränkt. Nun fehlte noch die Bedien-Oberfläche. X-Windows ? QT ? GTK ? Nee ! Nicht jeder hat sein Linux-System mit einem X-Server ausgestattet, die Grafik-Bibliotheken gibts in etlichen Varianten, und irgendwie ist eine grafische Oberfläche für diese Anwendung nicht unbedingt notwendig. CWT kommt doch auch ohne Grafik aus ! Glücklicherweise gibt es ja die "curses"-Bibliothek, mit der sich eine annehmbare, durchaus ausreichende, und halbwegs bequem bedienbare Oberfläche herstellen läst. Also: einige zusätzliche Funktionen schreiben (wiederverwendbar !) und mit den Sound-Funktionen verbinden. Ergebnis: Ein CW-Lernprogramm (Fünfergruppen) für Linux ! Nicht pompös, sondern funktional -> genau das richtige für Linux-Anwender.
Anmerkung: Mittlerweile (11.2003) habe ich seit über einem Jahr meine Klasse-1-Lizenz. Zur Vorbereitung auf die entsprechende Zusatzprüfung war mir dieses Programm (und einige CW-QSOs auf 2m) sehr nützlich.

Zusammengefasst:

LCW benötigt eine (einfache) Soundkarte (incl. entsprechender Treiber bzw. Module -> "/dev/dsp"), die "ncurses"-Bibliothek und etwas Gewöhnung an die Bedienoberfläche.

Features:

Tonhöhe, Amplitude, Geschwindigkeit, Pausendehnung, Tastenanschlag und Gruppenanzahl sind einstellbar. Die zu erzeugenden Zeichen können einzeln oder nach Lektionen (von CWT "abgeguckt") aktiviert werden. Zusätzlich kann die Wahrscheinlichkeit des Erscheinens von einzelnen Zeichen eingestellt werden (nützlich, um die "neuen" Zeichen häufiger erscheinen zu lassen).

Nachtrag (09.08.2005):

Nachdem ich dieses Programm selber wieder einmal brauchte, jedoch den Quellcode nicht parat hatte, habe ich es von hier heruntergeladen und musste feststellen, daß es sich aufgrund eines Schreibfehlers (schon in Version 0.2.0) nicht kompilieren liess :-) Was soll ich nun daraus schliessen ? Es lernt niemand mehr CW, sodass kein Bedarf (mehr) für solche Programme besteht ? Es benutzt niemand Linux für CW-Übungen ? Es gibt genügend andere Programme ? Ist diese Seite in den Weiten des Webs vor lauter Werbung nicht mehr auffindbar ? Oder sind vielleicht alle, die sich den Code heruntergeladen haben, "genügend fit in C", um den (dussligen) Fehler kurzerhand selbst zu korrigieren ? Egal, wie dem auch sei, ich habe einen weiteren Patch erstellt, der diesen dummen Fehler korrigiert und das Programm wieder kompilierbar macht.

Installation von LCW:

 
1
Auspacken des .tgz-Files mittels tar  -vxzf  lcw_0.2.0.tgz .
 
2
Mittels cd in das Verzeichnis wechseln, in dem sich jetzt die LCW-Files befinden.
 
3
Den Text "-DL_GERMAN" aus "Makefile" entfernen, falls eine englische Version von LCW gewünscht ist.
 
4
Das ausführbare "lcw" mittels make erzeugen.
 
5
LCW mittels lcw starten.

Patches (Updates):

Auch meine Programme sind natürlich nicht frei von Fehlern :-) Außerdem gibt es dann und wann auch mal neuere Versionen. Damit in einem solchen Fall nicht das ganze Programm neu überspielt werden muss (und da LCW sowieso aus dem Quellcode erzeugt wird) ist die einfachste Möglichkeit zum Update die Übertragung der Teile, die sich gegenüber der Vorgängerversion geändert haben. Wichtig beim Patchen ist, daß ein Patch auf exakt die Version angewendet wird, für die der Patch gedacht ist !

Installation von Patches:

 
1
Mittels cd in das Verzeichnis wechseln, in dem sich die LCW-Quellcode-Files befinden.
 
2
Auspacken des Patchfiles mittels tar  -vxzf  lcw_patch_0.2.1.tgz . Hierbei ist natürlich immer der Name des neuen Patchfiles anzugeben. Dadurch entsteht ein ".diff-File" mit ähnlichem Namen.
 
3
Nun wird das diff-File mittels patch  <  lcw_patch_0.2.1.diff auf die Quellcode-Dateien angewendet, und somit die erforderlichen Änderungen vorgenommen. Auch hierbei ist natürlich immer der Name des aktuellen diff-Files anzugeben.
 
4
Jetzt noch mittels make das ausführbare "lcw" neu erzeugen.

Download:

 
lcw_0.2.0.tgz (20k) 
LCW Version 0.2.0 (vollständig)
 
Patch für Version 0.2.0, erzeugt Version 0.2.1 und beseitigt einen Bug in der Zeichen-Zählung, die zur Erzeugung der "Zufallsgruppen" verwendet wird.
 
Patch für Version 0.2.1, erzeugt Version 0.2.2 und beseitigt das unangenehme "Abschaltgeräusch" am Ende einer Übung.
 
Patch für Version 0.2.2, erzeugt Version 0.2.3. Dieser Patch korrigiert einen Fehler im "Calibrate"-Modus und erweitert diesen Modus um einige Texte und Ausgaben.
 
Patch für Version 0.2.3, erzeugt Version 0.2.4. Dieser Patch beseitig einen ganz üblen Schreibfehler in "lcw.c", der zum Abbruch der Kompilierung führte. Wieso ist mir dieser Fehler nie aufgefallen ??? Ausserdem gibts (endlich) ein Update des Rufzeichens.

Startseite  Linux-Ecke  Rechtliches  Kontakt  Darstellung

HTML und Design: DK1RM erstellt: 5.12.1999 · letzte Änderung: 26.06.2012