Iambic Mode funktioniert nicht, zum Prüfen eine ältere Version

auschecken, testen und dann wieder auf diese Version zurück.
main
Tom 9 months ago
parent fa91f5c9d1
commit da9d6dd4d0

@ -420,6 +420,8 @@ void UpdateDisplay(void)
sprintf(line,"%s", IambicA);
if(bConfig.KeyerMode == IAMBIC_B)
sprintf(line,"%s", IambicB);
if(bConfig.KeyerMode == ULTIMATIC)
sprintf(line,"%s", Ultimatic);
lcd_puts(line);
lcd_gotoxy(0,0);
if(bConfig.TRX == 1)

@ -344,7 +344,8 @@ void CheckStraightKey(void)
{
if(PIND & (1<<STRAIGHT_KEY))
{
TXKey(0);
if(bState.SendStatus == NOTHING)
TXKey(0);
StateStraightKeyPressed = NO_KEY_PRESSED;
} else {
if(StateStraightKeyPressed == NO_KEY_PRESSED)
@ -354,7 +355,8 @@ void CheckStraightKey(void)
}
if(StateStraightKeyPressed == KEY_PRESSED)
{
TXKey(1);
if(bState.SendStatus == NOTHING)
TXKey(1);
}
}
}
@ -441,8 +443,7 @@ void CheckPaddles(void)
}
break;
}
}
}
}
/** \brief CheckDitPaddle
*
@ -465,7 +466,8 @@ void CheckDitPaddle(void)
TimerPaddleKeyPressed = 0;
}
if(StatePaddleKeyPressed == KEY_PRESSED) // Debounce ok
{
{
SerialWriteString("470:DitBuffer == 1\r\n");
DitBuffer = 1;
StatePaddleKeyPressed = NO_KEY_PRESSED;
}
@ -492,8 +494,9 @@ void CheckDahPaddle(void)
}
if(StatePaddleKeyPressed == KEY_PRESSED) // Debounce ok
{
SerialWriteString("496:DahBuffer == 1\r\n");
DahBuffer = 1;
StatePaddleKeyPressed == NO_KEY_PRESSED;
StatePaddleKeyPressed = NO_KEY_PRESSED;
}
}
}
@ -517,17 +520,39 @@ void SymbolLoop(uint8_t Len)
t_elementlength = 0; // Reset Timer 0 variable
while(t_elementlength < ticks)
{
if(KeyerMode != ULTIMATIC)
{
if((KeyerMode == IAMBIC_A) && (!(PIND & (1<<LEFT_PADDLE))) && (!(PIND & (1<<RIGHT_PADDLE))))
{
IambicFlag = 1;
SerialWriteString("526:IambicFlag == 1\r\n");
}
if((KeyerMode == IAMBIC_A) && (!(PIND & (1<<LEFT_PADDLE))) && (!(PIND & (1<<RIGHT_PADDLE))))
IambicFlag = 1;
if(bState.SendStatus == SENDING_DIT)
CheckDahPaddle();
else if(bState.SendStatus == SENDING_DAH)
CheckDitPaddle();
else {
CheckDahPaddle();
CheckDitPaddle();
if(bState.SendStatus == SENDING_DIT)
{
CheckDahPaddle();
} else {
if(bState.SendStatus == SENDING_DAH)
{
CheckDitPaddle();
} else {
CheckDahPaddle();
CheckDitPaddle();
}
}
} else {
if(bState.SendStatus == SENDING_DIT)
{
CheckDahPaddle();
} else {
if(bState.SendStatus == SENDING_DAH)
{
CheckDitPaddle();
} else {
CheckDahPaddle();
CheckDitPaddle();
}
}
}
}
// Wenn Taste losgelassen, dann im KeyerMode IAMBIC_A das IambicFlag löschen
@ -536,6 +561,7 @@ void SymbolLoop(uint8_t Len)
IambicFlag = 0;
DitBuffer = 0;
DahBuffer = 0;
SerialWriteString("562:IambicFlag == 0\r\n");
}
if((bState.SendStatus == SENDING_DIT) || (bState.SendStatus == SENDING_DAH))
{
@ -581,7 +607,7 @@ void SendDah(uint8_t SendingType)
*/
void DitDahBuffers(void)
{
if((bConfig.KeyerMode == IAMBIC_A) || (bConfig.KeyerMode == IAMBIC_B) || (bConfig.KeyerMode == ULTIMATIC))
if((bConfig.KeyerMode == IAMBIC_A) || (bConfig.KeyerMode == IAMBIC_B))
{
// IAMBIC_A
if((bConfig.KeyerMode == IAMBIC_A) && (IambicFlag) && (PIND & (1<<LEFT_PADDLE)) && (PIND & (1<<RIGHT_PADDLE)))
@ -589,6 +615,7 @@ void DitDahBuffers(void)
IambicFlag = 0;
DitBuffer = 0;
DahBuffer = 0;
SerialWriteString("616:IambicFlag == 0\r\n");
} else {
// IAMBIC_B
if(DitBuffer)
@ -603,6 +630,11 @@ void DitDahBuffers(void)
}
}
}
if(bConfig.KeyerMode == ULTIMATIC)
{
SerialWriteString("Ultimatic\r\n");
}
}
/*

@ -183,7 +183,6 @@ uint8_t LengthOfElement;
// State Machines
uint8_t PaddleMode;
uint8_t KeyerMode;
uint8_t state_sidetoneoff;
// History
uint8_t keyhistory;
uint8_t KeyTX;

@ -306,34 +306,6 @@ ISR(USART_RX_vect)
data = UDR0;
SerialWriteChar(data);
}
/*
** DoMorse
*/
void DoMorse(void)
{
if((KeyerMode == IAMBIC_A) || (KeyerMode == IAMBIC_B) || KeyerMode == ULTIMATIC)
{
if((KeyerMode == IAMBIC_A) && (IambicFlag) && (ReadKeyPin(LEFT_PADDLE)))
{
IambicFlag = 0;
DitBuffer = 0;
DahBuffer = 0;
}
else
{
if(DitBuffer)
{
DitBuffer = 0;
SendDit(MAN);
}
if(DahBuffer)
{
DahBuffer = 0;
SendDah(MAN);
}
}
}
}
/** @brief Initialisierung bei Reset und Neustart
* @param none
* @return none
@ -395,7 +367,6 @@ int main(void)
CheckStraightKey();
CheckPaddles();
DitDahBuffers();
DoMorse();
}
}

@ -18,20 +18,11 @@ struct State bState;
// Function prototypes
void Init(void);
void InitTimer(void);
void ReStart(void);
void CheckDahPaddle(void);
void CheckDitPaddle(void);
void CheckPaddle(void);
void CheckStraightKey(void);
void SendDit(uint8_t SendingType);
void SendDah(uint8_t SendingType);
void SideToneOff(void);
void SideToneOn(void);
void TXKey(uint8_t State);
void SendChar(uint8_t);
void ChangeSpeed(void);
void DoMorse(void);
void SetFrequency(uint16_t f);
extern void CheckDahPaddle(void);
extern void CheckDitPaddle(void);
extern void CheckStraightKey(void);
extern void SetFrequency(uint16_t f);
extern void DitDahBuffers(void);
#endif // BJ-KEYER_H_INCLUDED

Loading…
Cancel
Save