![]()  | 
  
    BJ-Keyer
    1.03
    
   Morsekeyer für 2 TRX und 6 Morsetasten 
   | 
 
Globale Variablen, Definitionen und Prototypen. Mehr ...
#include <stdlib.h>#include <stdio.h>#include <stdint.h>#include <string.h>#include <math.h>#include <inttypes.h>#include <avr/io.h>#include <avr/pgmspace.h>#include <avr/wdt.h>#include <avr/interrupt.h>#include <avr/eeprom.h>#include <util/delay.h>#include <util/atomic.h>#include "oled/i2c.h"#include "oled/lcd.h"#include "oled/font.h"

gehe zum Quellcode dieser Datei
Datenstrukturen | |
| struct | State | 
| struct | MenuCtrl | 
| struct | Config | 
| struct | Message | 
Makrodefinitionen | |
| #define | F_CPU 16000000UL | 
| #define | PRESCALER 8 | 
| #define | SINEWAVELENGTH 64 | 
| #define | F_CPUPRESIN (F_CPU/(PRESCALER*SINEWAVELENGTH)) | 
| #define | USART_BAUDRATE 9600 | 
| #define | UBRR_VALUE (((F_CPU/(USART_BAUDRATE*16UL)))-1) | 
| #define | cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) | 
| #define | sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) | 
| #define | NOINIT __attribute__ ((section (".noinit"))) | 
| #define | CALL " DL7BJ " | 
| #define | PRG " BJ-Keyer " | 
| #define | VER " V1.03 " | 
| #define | NOTHING 0 | 
| Keying states.  Mehr ... | |
| #define | DIT_DAH_OFF 1 | 
| #define | DAH_DIT_OFF 2 | 
| #define | DIT_DAH_ON 3 | 
| #define | DAH_DIT_ON 4 | 
| #define | STRAIGHT 0 | 
| Keyer mode.  Mehr ... | |
| #define | IAMBIC_B 1 | 
| #define | IAMBIC_A 2 | 
| #define | ULTIMATIC 3 | 
| #define | SINGLE_PADDLE 4 | 
| #define | PADDLE_NORMAL 0 | 
| Paddle Mode.  Mehr ... | |
| #define | PADDLE_REVERSE 1 | 
| #define | SENDING_NOTHING 0 | 
| Sending Mode.  Mehr ... | |
| #define | SENDING_DIT 1 | 
| #define | SENDING_DAH 2 | 
| #define | SENDING_SPC 3 | 
| #define | SENDING_STRAIGHT 4 | 
| #define | SENDING_AUTOMATIC 5 | 
| #define | AUTO 0 | 
| Sending Type.  Mehr ... | |
| #define | MAN 1 | 
| #define | LEFT_PADDLE PD2 | 
| Ports.  Mehr ... | |
| #define | RIGHT_PADDLE PD3 | 
| Right Paddle Input.  Mehr ... | |
| #define | STRAIGHT_KEY PD4 | 
| Straight key Input.  Mehr ... | |
| #define | MORSE_LED PC3 | 
| LED Morse Output.  Mehr ... | |
| #define | MEM1 PD5 | 
| Mem 1 Input.  Mehr ... | |
| #define | MEM2 PD6 | 
| Mem 2 Input.  Mehr ... | |
| #define | MEM3 PD7 | 
| Mem 3 Input.  Mehr ... | |
| #define | MEM4 PC0 | 
| Mem 4 Input.  Mehr ... | |
| #define | MEM5 PB5 | 
| Mem 5 Input.  Mehr ... | |
| #define | TRX1 PC1 | 
| TRX1 Output.  Mehr ... | |
| #define | TRX2 PC2 | 
| TRX2 Output.  Mehr ... | |
| #define | AUDIO PB3 | 
| PWM Audio Output.  Mehr ... | |
| #define | AUDIO_EN PB4 | 
| Audio PA Enable.  Mehr ... | |
| #define | SCL PC5 | 
| I²C LC Display.  Mehr ... | |
| #define | SDA PC4 | 
| I²C LC Display.  Mehr ... | |
| #define | ON 1 | 
| #define | OFF 0 | 
| #define | DIT 1 | 
| #define | DAH 0 | 
| #define | NO_KEY_PRESSED 0 | 
| #define | KEY_PRESSED_DEBOUNCE 1 | 
| #define | KEY_PRESSED 2 | 
| #define | M_TRX1 1 | 
| #define | M_TRX2 2 | 
| #define | M_TON 3 | 
| #define | M_TON_FREQ 4 | 
| #define | M_IAMBICA 5 | 
| #define | M_IAMBICB 6 | 
| #define | M_ULTIMATIC 7 | 
| #define | M_MEMORY 8 | 
| #define | M_REVERSE 9 | 
| #define | M_RATIO 10 | 
| #define | M_WEIGHT 11 | 
| #define | M_WPMBPM 12 | 
| #define | M_MEMBUTTONMODE 13 | 
| #define | M_RISETIME 14 | 
| #define | M_DEBOUNCE 15 | 
| #define | M_MAX 15 | 
| #define | CLEARLINE " " | 
| OLED.  Mehr ... | |
| #define | NORMAL 0 | 
| #define | MSGSIZE 60 | 
| 60 Zeichen für jeden Textspeicher  Mehr ... | |
Variablen | |
| uint8_t | LastPINDState | 
| volatile uint8_t | EncoderTimer | 
| 10ms Timer for Encoder  Mehr ... | |
| volatile int8_t | EncoderCounter | 
| Vor/Rück Zähler.  Mehr ... | |
| volatile int8_t | EncoderPos | 
| Encoderposition für WpM/BpM.  Mehr ... | |
| volatile int8_t | EncoderPosConfig | 
| Encoderposition für Einstellungen.  Mehr ... | |
| volatile int8_t | EncoderPosSubConfig | 
| Encoderposition für Submenues.  Mehr ... | |
| volatile uint16_t | StoreEEpromTimer | 
| Zählvariable für auto. Speicherung EEprom.  Mehr ... | |
| uint8_t | WpM | 
| Aktuelle Zeichengeschwindigkeit.  Mehr ... | |
| uint8_t | PaddleMode | 
| Merker für Links / Rechts vertauscht.  Mehr ... | |
| uint8_t | KeyerMode | 
| Merker für Iambic A, Iambic B oder Ultimatic.  Mehr ... | |
| uint8_t | KeyTX | 
| volatile uint8_t | icnt | 
| volatile uint8_t | ocr2a | 
| volatile uint8_t | lastButton | 
| Wert der letzten Buttonabfrage.  Mehr ... | |
| volatile uint16_t | DitMillis | 
| Dauer eines Dits.  Mehr ... | |
| volatile uint16_t | DahMillis | 
| Dauer eines Dahs.  Mehr ... | |
| volatile uint16_t | SpcMillis | 
| Dauer einer Pause zwischen den Zeichen.  Mehr ... | |
| volatile uint8_t | StateStraightKeyPressed | 
| Merker für StraightKey betätigt.  Mehr ... | |
| volatile uint8_t | TimerStraightKeyPressed | 
| Timer Variable für Entprellung.  Mehr ... | |
| volatile uint8_t | StatePaddleDitKeyPressed | 
| Merker für Paddle betätigt.  Mehr ... | |
| volatile uint8_t | TimerPaddleDitKeyPressed | 
| Timer Variable für Entprellung.  Mehr ... | |
| volatile uint8_t | StatePaddleDahKeyPressed | 
| Merker für Paddle betätigt.  Mehr ... | |
| volatile uint8_t | TimerPaddleDahKeyPressed | 
| Timer Variable für Entprellung.  Mehr ... | |
| volatile uint8_t | StateButtonPressed | 
| Merker für Speichertaste betätigt.  Mehr ... | |
| volatile uint8_t | TimerButtonPressed | 
| Timer Variable für Entprellung.  Mehr ... | |
| volatile uint8_t | StateRiseTimeCounter | 
| Zähler für Anstieg des Mithörtons.  Mehr ... | |
| volatile uint8_t | StateRiseTime | 
| Timer für Anstieg des Mithörtons.  Mehr ... | |
| uint16_t | MenuCtrlTimer | 
| Wartezeit bis zur Betriebsanzeige nach Config.  Mehr ... | |
| volatile uint16_t | t_delayms | 
| Timer 0 max. 65535ms, all purpose timer variable.  Mehr ... | |
| volatile uint16_t | t_elementlength | 
| Timer 0 max. 65535ms, element length of dit or dah.  Mehr ... | |
Globale Variablen, Definitionen und Prototypen.
| #define AUDIO PB3 | 
PWM Audio Output.
| #define AUDIO_EN PB4 | 
Audio PA Enable.
| #define AUTO 0 | 
Sending Type.
Automatische Pausen zwischen Elementen
| #define CLEARLINE " " | 
OLED.
| #define LEFT_PADDLE PD2 | 
Ports.
Left Paddle Input
| #define M_MAX 15 | 
maximale Menuepunke
| #define MAN 1 | 
Manuelle Pausen zwischen Elementen
| #define MEM1 PD5 | 
Mem 1 Input.
| #define MEM2 PD6 | 
Mem 2 Input.
| #define MEM3 PD7 | 
Mem 3 Input.
| #define MEM4 PC0 | 
Mem 4 Input.
| #define MEM5 PB5 | 
Mem 5 Input.
| #define MORSE_LED PC3 | 
LED Morse Output.
| #define MSGSIZE 60 | 
60 Zeichen für jeden Textspeicher
| #define NOTHING 0 | 
Keying states.
| #define PADDLE_NORMAL 0 | 
Paddle Mode.
| #define RIGHT_PADDLE PD3 | 
Right Paddle Input.
| #define SCL PC5 | 
I²C LC Display.
| #define SDA PC4 | 
I²C LC Display.
| #define SENDING_NOTHING 0 | 
Sending Mode.
| #define STRAIGHT 0 | 
Keyer mode.
| #define STRAIGHT_KEY PD4 | 
Straight key Input.
| #define TRX1 PC1 | 
TRX1 Output.
| #define TRX2 PC2 | 
TRX2 Output.
| volatile uint16_t DahMillis | 
Dauer eines Dahs.
| volatile uint16_t DitMillis | 
Dauer eines Dits.
| volatile int8_t EncoderCounter | 
Vor/Rück Zähler.
| volatile int8_t EncoderPos | 
Encoderposition für WpM/BpM.
| volatile int8_t EncoderPosConfig | 
Encoderposition für Einstellungen.
| volatile int8_t EncoderPosSubConfig | 
Encoderposition für Submenues.
| volatile uint8_t EncoderTimer | 
10ms Timer for Encoder
| uint8_t KeyerMode | 
Merker für Iambic A, Iambic B oder Ultimatic.
| volatile uint8_t lastButton | 
Wert der letzten Buttonabfrage.
| uint16_t MenuCtrlTimer | 
Wartezeit bis zur Betriebsanzeige nach Config.
| uint8_t PaddleMode | 
Merker für Links / Rechts vertauscht.
| volatile uint16_t SpcMillis | 
Dauer einer Pause zwischen den Zeichen.
| volatile uint8_t StateButtonPressed | 
Merker für Speichertaste betätigt.
| volatile uint8_t StatePaddleDahKeyPressed | 
Merker für Paddle betätigt.
| volatile uint8_t StatePaddleDitKeyPressed | 
Merker für Paddle betätigt.
| volatile uint8_t StateRiseTime | 
Timer für Anstieg des Mithörtons.
| volatile uint8_t StateRiseTimeCounter | 
Zähler für Anstieg des Mithörtons.
| volatile uint8_t StateStraightKeyPressed | 
Merker für StraightKey betätigt.
| volatile uint16_t StoreEEpromTimer | 
Zählvariable für auto. Speicherung EEprom.
| volatile uint16_t t_delayms | 
Timer 0 max. 65535ms, all purpose timer variable.
| volatile uint16_t t_elementlength | 
Timer 0 max. 65535ms, element length of dit or dah.
| volatile uint8_t TimerButtonPressed | 
Timer Variable für Entprellung.
| volatile uint8_t TimerPaddleDahKeyPressed | 
Timer Variable für Entprellung.
| volatile uint8_t TimerPaddleDitKeyPressed | 
Timer Variable für Entprellung.
| volatile uint8_t TimerStraightKeyPressed | 
Timer Variable für Entprellung.
| uint8_t WpM | 
Aktuelle Zeichengeschwindigkeit.