BJ-Keyer
1.03
Morsekeyer für 2 TRX und 6 Morsetasten
|
Diverse Funktionen. Mehr ...
#include "functions.h"
Funktionen | |
void | DelayMilliSeconds (uint16_t ms) |
Zeitschleife von 1-65535 Millisekunden. Mehr ... | |
uint16_t | GetMilliSeconds (void) |
Zählerwert für Zeitschleifen auslesen. Mehr ... | |
void | ResetMilliSeconds (void) |
Setzt den Millisekundenzähler für Zeitschleifen auf 0. Mehr ... | |
void | IntEnable (void) |
Register wieder herstellen und Interrupts erlauben. Mehr ... | |
void | IntDisable (void) |
Register sichern und Interrupts verbieten. Mehr ... | |
void | WriteEEprom (void) |
Akt. Einstellungen in EEPROM schreiben. Mehr ... | |
void | ReadEEpromWpM (void) |
Gespeicherte Einstellung für die Geschwindigkeit aus EEprom lesen. Mehr ... | |
void | WriteEEpromWpM (void) |
Akt. Einstellung für die Geschwindigkeit in EEprom schreiben. Mehr ... | |
void | SetEEprom (void) |
Standardeinstellungen (bei neuem Controller) Mehr ... | |
void | ReadEEprom (void) |
Einstellungen aus dem EEprom lesen. Mehr ... | |
void | SerialWriteChar (unsigned char data) |
Ein Zeichen über serielle Schnittstelle ausgeben. Mehr ... | |
void | SerialWriteString (char *s) |
void | SidetoneOn (void) |
Mithörton einschalten. Mehr ... | |
void | SidetoneOff (void) |
Mithörton ausschalten. Mehr ... | |
void | SidetoneDisable (void) |
Audioverstärker abschalten. Mehr ... | |
void | SidetoneEnable (void) |
Audioverstärker einschalten. Mehr ... | |
void | TXKey (uint8_t State) |
Gibt ein Symbol aus. Mehr ... | |
void | CheckButtons (void) |
Fragt die Taster ab und löst entsprechende Funktion aus. Mehr ... | |
void | CheckStraightKey (void) |
Fragt die Handtasteneingänge ab und gibt das entsprechende Symbol aus. Bei der Handtaste findet über einen Timer eine Entprellung statt. Mehr ... | |
void | CheckPaddles (void) |
Diese Funktion prüft, ob ein Paddle betätigt wurde. Mehr ... | |
void | CheckDitPaddle (void) |
Prüfen, ob das Punkt Paddle betätigt wurde. Mehr ... | |
void | CheckDahPaddle (void) |
Prüfen, ob das Strich Paddle betätigt wurde. Mehr ... | |
void | SetRatio (void) |
Berechnung der Zeitdauer für Punkt und Strich. Mehr ... | |
void | SetWeight (void) |
void | SendSymbol (uint8_t Dit) |
Symbol senden. Mehr ... | |
void | SendDit (void) |
Gibt einen Punkt aus. Mehr ... | |
void | SendDah (void) |
Gibt einen Strich aus. Mehr ... | |
void | SendIambic (void) |
Wenn beide Paddle betätigt sind, wird alternierend ein Punkt und Strich ausgegeben. Mehr ... | |
void | SetFrequency (uint16_t f) |
Verändert die Frequenz des Mithörtons. Mehr ... | |
void | Tone (uint16_t f, uint8_t duration) |
Ausgabe eines Tons mit Dauer und Frequenz. Mehr ... | |
void | Boop (void) |
Boop Ton ausgeben. Mehr ... | |
void | Beep (void) |
Beep Ton ausgeben. Mehr ... | |
void | BeepBoop (void) |
BeepBoop Doppelton ausgeben. Mehr ... | |
void | SendString (char *s) |
Gibt eine Zeichenkette als Morsecode aus. Mehr ... | |
void | SendChar (unsigned char c) |
Gibt ein Zeichen aus. Mehr ... | |
Variablen | |
uint8_t | Dummy |
uint8_t | ee_Dummy = 0x55 |
Dummy for Address 0. Mehr ... | |
uint8_t | ee_Trx1 = 0 |
TRX 1. Mehr ... | |
uint8_t | ee_Trx2 = 0 |
TRX 2. Mehr ... | |
uint8_t | ee_KeyerMode = 1 |
Iambic A, Iambic B oder Ultimatic. Mehr ... | |
uint8_t | ee_SidetoneEnabled = 1 |
Mithörton eingeschaltet. Mehr ... | |
uint8_t | ee_WpMBpM = 0 |
WpM oder BpM Anzeige. Mehr ... | |
uint8_t | ee_Reverse = 0 |
linkes/rechtes Paddle vertauschen Mehr ... | |
uint8_t | ee_MemButtonMode = 0 |
Funktion des ersten Tasters (MEM5) Mehr ... | |
uint8_t | ee_Ratio = 30 |
Punkt/Strich Verhältnis 1:3. Mehr ... | |
uint8_t | ee_Weight = 50 |
Punkt/Strich Gewichtung. Mehr ... | |
uint8_t | ee_Memory = 0 |
Punkt/Strich Speicher. Mehr ... | |
uint16_t | ee_SidetoneFreq = 600 |
Frequenz des Mithörtons. Mehr ... | |
uint8_t | ee_WpM = 12 |
Geschwindigkeit WpM. Mehr ... | |
uint8_t | ee_RiseTime = 5 |
Anstiegszeit Sinuston. Mehr ... | |
uint8_t | ee_RiseTimeCounter = 5 |
Anzahl Sinusschwingungen für den Anstieg. Mehr ... | |
uint8_t | ee_DebounceTime = 6 |
Entprellzeit für Straight Key Eingang. Mehr ... | |
Diverse Funktionen.
void Beep | ( | void | ) |
Beep Ton ausgeben.
none |
none |
void BeepBoop | ( | void | ) |
BeepBoop Doppelton ausgeben.
none |
none |
void Boop | ( | void | ) |
Boop Ton ausgeben.
none |
none |
void CheckButtons | ( | void | ) |
Fragt die Taster ab und löst entsprechende Funktion aus.
none |
none |
void CheckDahPaddle | ( | void | ) |
Prüfen, ob das Strich Paddle betätigt wurde.
Ist dies der Fall, wird das Statusbit gesetzt. Wurde in den Einstellungen der Reverse Mode aktiviert, werden in der Abfrage die Paddle vertauscht.
none |
none |
void CheckDitPaddle | ( | void | ) |
Prüfen, ob das Punkt Paddle betätigt wurde.
Ist dies der Fall, wird das Statusbit gesetzt.Wurde in den Einstellungen der Reverse Mode aktiviert, werden in der Abfrage die Paddle vertauscht.
none |
none |
void CheckPaddles | ( | void | ) |
Diese Funktion prüft, ob ein Paddle betätigt wurde.
Wenn dies der Fall war, ist das jeweilige Statusbit gesetzt und die Funktion für die Ausgabe des entsprechenden Symbols wird aufgerufen.
none |
none |
void CheckStraightKey | ( | void | ) |
Fragt die Handtasteneingänge ab und gibt das entsprechende Symbol aus. Bei der Handtaste findet über einen Timer eine Entprellung statt.
none |
none |
void DelayMilliSeconds | ( | uint16_t | ms | ) |
Zeitschleife von 1-65535 Millisekunden.
ms | Anzahl Millisekunden |
none |
uint16_t GetMilliSeconds | ( | void | ) |
Zählerwert für Zeitschleifen auslesen.
none |
Millisekunden |
void IntDisable | ( | void | ) |
Register sichern und Interrupts verbieten.
none |
none |
void IntEnable | ( | void | ) |
Register wieder herstellen und Interrupts erlauben.
none |
none |
void ReadEEprom | ( | void | ) |
Einstellungen aus dem EEprom lesen.
none |
none |
void ReadEEpromWpM | ( | void | ) |
Gespeicherte Einstellung für die Geschwindigkeit aus EEprom lesen.
none |
none |
void ResetMilliSeconds | ( | void | ) |
Setzt den Millisekundenzähler für Zeitschleifen auf 0.
none |
none |
void SendChar | ( | unsigned char | c | ) |
Gibt ein Zeichen aus.
Mit dieser Symboltabelle werden die Zeichen der Textspeicher gesendet
c | Zeichen, das Ausgegeben wird |
none |
void SendDah | ( | void | ) |
Gibt einen Strich aus.
none |
none |
void SendDit | ( | void | ) |
Gibt einen Punkt aus.
none |
none |
void SendIambic | ( | void | ) |
Wenn beide Paddle betätigt sind, wird alternierend ein Punkt und Strich ausgegeben.
Beim Iambic B Mode und Ultimatic Mode wird gegebenenfalls noch ein gegensätzliches Zeichen des zuletzt betätigten Paddle angefügt. Erläuterung und Timing siehe Dokumentation.
none |
none |
void SendString | ( | char * | s | ) |
Gibt eine Zeichenkette als Morsecode aus.
Wenn die Zeichenkette ein Leerzeichen enthält, wird dieses als Pause zwischen zwei Wörtern interpretiert und eine Pause der Länge von 7 Dits (in Abhängigkeit der eingestellten Geschwindigkeit) wird eingefügt Zwischen einzelnen Zeichen wird eine Pause von 3 Dits eingefügt
s | Zeiger auf die Zeichenkette |
none |
void SendSymbol | ( | uint8_t | Dit | ) |
Symbol senden.
Dit | = 1, wenn Symbol ein Punkt ist |
none |
void SerialWriteChar | ( | unsigned char | data | ) |
Ein Zeichen über serielle Schnittstelle ausgeben.
data | Zeichen, das seriell ausgegeben wird |
none |
void SetEEprom | ( | void | ) |
Standardeinstellungen (bei neuem Controller)
Wird ein neuer Controller verwendet, gibt es keine Einstellungswerte im EEprom. Diese Funktion schreibt die initialen Werte in das EEprom. Wird sehr selten benötigt ;-)
none |
none |
void SetFrequency | ( | uint16_t | f | ) |
Verändert die Frequenz des Mithörtons.
Durch die Anpassung des Timers 1 für das Laden der Werte der Sinuskurve wird die Tonhöhe des Mithörtons verändert.
f | Frequenz des Mithörtons in Hz |
none |
void SetRatio | ( | void | ) |
Berechnung der Zeitdauer für Punkt und Strich.
Die Länge eines Symbols ist abhängig von der eingestellten Geschwindigkeit. Intern wird immer mit Wörtern pro Minute gerechnet. Das normale Punkt/Strich Verhältnis ist 1:3. Dies kann durch den Parameter Ratio in den Einstellungen verändert werden.
none |
none |
void SidetoneDisable | ( | void | ) |
Audioverstärker abschalten.
none |
none |
void SidetoneEnable | ( | void | ) |
Audioverstärker einschalten.
none |
none |
void SidetoneOff | ( | void | ) |
Mithörton ausschalten.
none |
none |
void SidetoneOn | ( | void | ) |
Mithörton einschalten.
none |
none |
void Tone | ( | uint16_t | f, |
uint8_t | duration | ||
) |
Ausgabe eines Tons mit Dauer und Frequenz.
f | Frequenz des Tons |
duration | Dauer des Tons |
none |
void TXKey | ( | uint8_t | State | ) |
Gibt ein Symbol aus.
Je nach Einstellung wird ein oder beide Transceiver getastet oder nur der Mithörton ausgegeben.
State | Bitfeld für Transceiver und Tonausgabe |
none |
void WriteEEprom | ( | void | ) |
Akt. Einstellungen in EEPROM schreiben.
none |
none |
void WriteEEpromWpM | ( | void | ) |
Akt. Einstellung für die Geschwindigkeit in EEprom schreiben.
none |
none |
uint8_t ee_DebounceTime = 6 |
Entprellzeit für Straight Key Eingang.
uint8_t ee_Dummy = 0x55 |
Dummy for Address 0.
uint8_t ee_KeyerMode = 1 |
Iambic A, Iambic B oder Ultimatic.
uint8_t ee_MemButtonMode = 0 |
Funktion des ersten Tasters (MEM5)
uint8_t ee_Memory = 0 |
Punkt/Strich Speicher.
uint8_t ee_Ratio = 30 |
Punkt/Strich Verhältnis 1:3.
uint8_t ee_Reverse = 0 |
linkes/rechtes Paddle vertauschen
uint8_t ee_RiseTime = 5 |
Anstiegszeit Sinuston.
uint8_t ee_RiseTimeCounter = 5 |
Anzahl Sinusschwingungen für den Anstieg.
uint8_t ee_SidetoneEnabled = 1 |
Mithörton eingeschaltet.
uint16_t ee_SidetoneFreq = 600 |
Frequenz des Mithörtons.
uint8_t ee_Trx1 = 0 |
TRX 1.
uint8_t ee_Trx2 = 0 |
TRX 2.
uint8_t ee_Weight = 50 |
Punkt/Strich Gewichtung.
uint8_t ee_WpM = 12 |
Geschwindigkeit WpM.
uint8_t ee_WpMBpM = 0 |
WpM oder BpM Anzeige.