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.

Beaconcontroller V 1.2 04/2010
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.