Das Herz des Bakencontroller ein Atmel ATMEGA8. Das Programm ist mit Hilfe
von kontrollerlab und avr-gcc unter Linux entwickelt worden und bietet zur
Zeit folgende Funktionen:
Der Kontroller unterstützt 4 verschieden Bakentexte und wahlweise A1A (CW)
oder F1B (FSK) Betrieb. Nach dem Starten liest der µC die Ports von K4 ein
und initalisiert die Ausgabe der Texte.
Jumper 1-2 | Jumper 3-4 | Jumper 5-6 | |
Text1 | 0 | 0 | - |
Text2 | 1 | 0 | - |
Text3 | 0 | 1 | - |
Text4 | 1 | 1 | - |
FSK-Betrieb | - | - | 1 |
1 geschlossen, 0 offen, - keine Funktion
Im CW-Betrieb (A1A) wird T2 nach der Textausgabe wieder angesteuert, im
FSK-Betrieb wird T1 (PTT) ständig angesteuert, T2 bleibt nach der Ausgabe auf
0.
Der Baken-Kontroller kann über DMTF-Codes ferngesteuert werden, der Syntax
für das Fernsteuerungkommando lautet "#x#", für x ist eine einstellige
Zahl zwischen 0-8 zulässig. Die Fernsteuerkommandos werden während der
Textausgabe igoniert und auch nicht zwischengespeichert. Nach dem Erkennen
eines gültigen Fernsteuerkommandos wird der entsprechenden Mode initalisiert
und die geänderte Ausgabe sofort neu gestartet.
Benötigt man diese Funktion nicht, kann man das IC auch unbestückt lassen,
die Eingänge sollte man dann jedoch über Pulldown-Widerstände auf einen
definierten Pegel legen.
x | Mode | CW-Ausgabe | FSK |
0 | 0 | Text1 | OFF |
1 | 1 | Text2 | OFF |
2 | 2 | Text3 | OFF |
3 | 3 | Text4 | OFF |
4 | 0 | Text1 | ON |
5 | 1 | Text2 | ON |
6 | 2 | Text3 | ON |
7 | 3 | Text4 | ON |
8 | 4 | OFF | OFF |
V1.2
Die Ausgabe der CW-Zeichen erfolgt mit 60Bpm, der Zyklus beträgt 1min.
Die Texte sind fest einprogrammiert und nicht änderbar.
Die serielle Schnittstelle (4800,8,n,1) dient zur Zeit nur zur Ausgabe von
Statusmeldungen.
Mode K4: 0 FSK: 0
Message: DB0XYZ BEACON JN48WT
DB0XYZ BEACON JN48WT +
DB0XYZ BEACON JN48WT +
DB0XYZ BEACON JN48WT +
DB0XYZ BEACON JN48WT +
DB0XYZ BEACON JN48WT +
Mode DTMF: 2 CW: 1 FSK: 1
Message: DB0XYZ BEACON JN48JF
DB0XYZ BEACON JN48JF +
Mode DTMF: 4 CW: 0 FSK: 0
Message:
+
Nach dem Start erfolgt die Ausgabe der Programmversion, des
aktuellen Modes, sowie des aktuellen Textes. Während der Ausgabe der
CW-Zeichen erfolgt parallel eine Ausgabe des entsprechenden Zeichen als
ASCII. Erkennt der Baken-Kontroller ein gültiges Steuerkommando, so wird
dieses ebenfalls ausgegeben.
In dem Beispiel stellt das erste Steuerkommando Text3 als aktuellen Text
ein und aktivert den FSK-Betrieb, das zweite Steuerkommando schaltet die
Textausgabe komplett ab.
V2.0
Mit der neuen Version der Software kann man jetzt die Texte über die serielle
Schnittstelle einstellen. Dazu reicht jedes Terminalprogramm. Die
Schnittstelle wird auf 4800,8,n,1 eingestellt. Nach dem ersten Start sind
keine Texte hinterlegt, diese werden nach der Programmierung in EEprom des µC
abgespeichert und bleiben bei einem Stromausfall auch erhalten. Die
Ausgabegeschwindigkeit lässt sich jetzt ebenfalls über die serielle
Schnittstelle einstellen.
Befehl | Syntax |
Text 1 | #T1#xxxxxxxxxxxx |
Text 2 | #T2#xxxxxxxxxxxx |
Text 3 | #T3#xxxxxxxxxxxx |
Text 4 | #T4#xxxxxxxxxxxx |
CW-Speed/[BPM] | #SP#xxx |
Ausgabe aller Texte | #INFO# |
Die Textlänge ist auf 20 Zeichen begrenzt, die CW-Ausgabegeschwindigkeit kann zwischen 60BPM und 120BPM eingestellt werden. Bei der Programmierung wird nicht zwischen Groß- und Kleinbuchstaben unterschieden, die Programmierkommandos über die serielle Schnittstelle werden während der CW-Ausgabe ignoriert.
V2.1
Durch die Umstellung in der Routine zur Erzeugen der Morsezeichen ist im µC
etwas weniger Speicher belegt worden.