![]() |
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.