Porównaj commity

...

2 Commity

Autor SHA1 Wiadomość Data
k3ng 375b4253b9 2024.02.17.1600
OPTION_WORDSWORTH_POLISH - Polish CW training text from Piotr, SP2BPD.  Thanks!
      Straight key capability for CW training Piotr, SP2BPD.  Thanks!
2024-02-17 11:23:24 -05:00
k3ng 2ac37fb06f 2024.02.17.1400
Fixed issues found by swalberg ( e79277672f (r134909644) ).  Thanks!
2024-02-17 09:34:02 -05:00
48 zmienionych plików z 540 dodań i 34 usunięć

Wyświetl plik

@ -1396,7 +1396,14 @@ Recent Update History
FEATURE_WINKEY_EMULATION: Now expect three parameters from deprecated Paddle A2D command
2023.10.28.2304
FEATURE_AUDIOPWMSINEWAVE for Raspberry Pi Pico
FEATURE_AUDIOPWMSINEWAVE for Raspberry Pi Pico
2024.02.17.1400
Fixed issues found by swalberg ( https://github.com/k3ng/k3ng_cw_keyer/commit/e79277672f4c04dfeeef5bfb9c82e384b59f32c4#r134909644 ). Thanks!
2024.02.17.1600
OPTION_WORDSWORTH_POLISH - Polish CW training text from Piotr, SP2BPD. Thanks!
Straight key capability for CW training Piotr, SP2BPD. Thanks!
qwerty
@ -1428,7 +1435,7 @@ If you offer a hardware kit using this software, show your appreciation by sendi
*/
#define CODE_VERSION "2023.10.28.2304"
#define CODE_VERSION "2024.02.17.1600"
#define eeprom_magic_number 41 // you can change this number to have the unit re-initialize EEPROM
@ -2281,10 +2288,12 @@ unsigned long millis_rollover = 0;
byte check_serial_override = 0;
#if defined(OPTION_WORDSWORTH_CZECH)
#include "keyer_training_text_czech.h"
#elif defined(OPTION_WORDSWORTH_DEUTCSH)
#elif defined(OPTION_WORDSWORTH_DEUTSCH)
#include "keyer_training_text_deutsch.h"
#elif defined(OPTION_WORDSWORTH_NORSK)
#include "keyer_training_text_norsk.h"
#elif defined(OPTION_WORDSWORTH_POLISH)
#include "keyer_training_text_polish.h"
#else
#include "keyer_training_text_english.h"
#endif
@ -12189,11 +12198,15 @@ void service_winkey(byte action) {
#endif //DEBUG_WINKEY
winkey_status = WINKEY_NO_COMMAND_IN_PROGRESS;
break;
case 0x09: // get cal
case 0x09: // get cal on WK1, unimplemented on WK2, getMajorVersion on WK3
#ifdef DEBUG_WINKEY
debug_serial_port->println("service_winkey:ADMIN_CMDgetcal");
#endif //DEBUG_WINKEY
winkey_port_write(WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL,0);
#if defined(OPTION_WINKEY_2_SUPPORT)
winkey_port_write(WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2, 1); // Docs say this should be 0, but this is a hack for compatibility
#else
winkey_port_write(WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1, 1);
#endif
winkey_status = WINKEY_NO_COMMAND_IN_PROGRESS;
break;
#ifdef OPTION_WINKEY_2_SUPPORT
@ -14919,6 +14932,17 @@ void receive_transmit_echo_practice(PRIMARY_SERIAL_CLS * port_to_use, byte pract
// TODO - print it to serial and lcd
}
// code from Piotr, SP2BPD
#if defined(FEATURE_STRAIGHT_KEY)
long ext_key = service_straight_key();
if (ext_key != 0){
incoming_char = convert_cw_number_to_ascii(ext_key);
user_sent_cw.concat(incoming_char);
cw_char = 0;
}
#endif
// ------
// do we have all the characters from the user? - if so, get out of user_send_loop
if ((user_sent_cw.length() >= cw_to_send_to_user.length()) || ((progressive_step_counter < 255) && (user_sent_cw.length() == progressive_step_counter))) {
user_send_loop = 0;

Wyświetl plik

@ -49,7 +49,7 @@
// #define FEATURE_PTT_INTERLOCK
// #define FEATURE_QLF
// #define FEATURE_EEPROM_E24C1024
// #define FEATURE_STRAIGHT_KEY
#define FEATURE_STRAIGHT_KEY
// #define FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
// #define FEATURE_PADDLE_ECHO // you may also need to comment out line 19 in the file keyer_dependencies.h
// #define FEATURE_STRAIGHT_KEY_ECHO
@ -118,6 +118,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -130,6 +130,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -117,6 +117,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -117,6 +117,7 @@ Generic STM32F103C "Blue Pill"
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
// #define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -113,6 +113,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -111,6 +111,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -125,6 +125,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
// #define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -118,6 +118,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -108,6 +108,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
// #define OPTION_NO_ULTIMATIC // reduce memory usage by removing ultimatic code.

Wyświetl plik

@ -108,6 +108,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
// #define OPTION_NO_ULTIMATIC // reduce memory usage by removing ultimatic code.

Wyświetl plik

@ -106,6 +106,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
// #define OPTION_NO_ULTIMATIC // reduce memory usage by removing ultimatic code.

Wyświetl plik

@ -106,6 +106,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
// #define OPTION_NO_ULTIMATIC // reduce memory usage by removing ultimatic code.

Wyświetl plik

@ -106,6 +106,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
// #define OPTION_NO_ULTIMATIC // reduce memory usage by removing ultimatic code.

Wyświetl plik

@ -107,6 +107,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
// #define OPTION_NO_ULTIMATIC // reduce memory usage by removing ultimatic code.

Wyświetl plik

@ -95,6 +95,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -94,6 +94,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -99,6 +99,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -113,6 +113,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -13,15 +13,15 @@
#if defined(TEST_CONFIG_1)
// #define FEATURE_BUTTONS
// #define FEATURE_COMMAND_MODE
// #define FEATURE_COMMAND_LINE_INTERFACE // Command Line Interface functionality
#define FEATURE_BUTTONS
#define FEATURE_COMMAND_MODE
#define FEATURE_COMMAND_LINE_INTERFACE // Command Line Interface functionality
// #define FEATURE_MEMORIES // on the Arduino Due, you must have FEATURE_EEPROM_E24C1024 and E24C1024 EEPROM hardware in order to compile this
// #define FEATURE_MEMORY_MACROS
#define FEATURE_WINKEY_EMULATION // disabling Automatic Software Reset is highly recommended (see documentation)
// #define FEATURE_BEACON // Go into beacon mode if paddle_left pin is LOW at boot up
// #define FEATURE_BEACON_SETTING // Go into beacon mode at boot up if EEPROM setting is enabled (\_ CLI Command)
// #define FEATURE_TRAINING_COMMAND_LINE_INTERFACE
#define FEATURE_TRAINING_COMMAND_LINE_INTERFACE
// #define FEATURE_POTENTIOMETER // do not enable unless you have a potentiometer connected, otherwise noise will falsely trigger wpm changes
// #define FEATURE_SIDETONE_SWITCH // adds switch control for the sidetone output. requires an external toggle switch (assigned to an arduino pin - see keyer_pin_settings.h).
// #define FEATURE_SIDETONE_NEWTONE // Use the NewTone library, ~1k smaller code size than the standard tone library. Uses timer1 (pins 9 or 10) https://bitbucket.org/teckel12/arduino-new-tone/wiki/Home
@ -141,6 +141,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
// #define FEATURE_COMPETITION_COMPRESSION_DETECTION //(Experimental)
@ -166,6 +167,11 @@
// #define OPTION_WINKEY_PROSIGN_COMPATIBILITY // Additional character mappings to support K1EL Winkey emulation prosigns
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#endif

Wyświetl plik

@ -124,6 +124,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
// #define FEATURE_COMPETITION_COMPRESSION_DETECTION //(Experimental)

Wyświetl plik

@ -77,6 +77,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -103,6 +103,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -121,6 +121,7 @@
// #define OPTION_WORDSWORTH_CZECH
// #define OPTION_WORDSWORTH_DEUTSCH
// #define OPTION_WORDSWORTH_NORSK
// #define OPTION_WORDSWORTH_POLISH
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS

Wyświetl plik

@ -145,7 +145,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -164,7 +164,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -145,7 +145,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -151,7 +151,8 @@ GENERIC STM32F103C
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -156,7 +156,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -148,7 +148,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -148,7 +148,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -145,7 +145,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -157,7 +157,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00
@ -480,7 +481,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -153,7 +153,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -144,7 +144,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -144,7 +144,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -143,7 +143,8 @@
#define WINKEY_HANG_TIME_1_66 1.66
#define WINKEY_HANG_TIME_2_0 2.0
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a
#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18
#define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00

Wyświetl plik

@ -0,0 +1,430 @@
// Polish word list taken from the top of the list of most frequently used Polish words:
// https://pl.wiktionary.org/wiki/Indeks:Polski_-_Najpopularniejsze_s%C5%82owa_1-1000_wersja_Jerzego_Kazojcia
// contributed by Piotr, SP2BPD
// two letter word array
const char s2_1[] PROGMEM = "JA";
const char s2_2[] PROGMEM = "TU";
const char s2_3[] PROGMEM = "BO";
const char s2_4[] PROGMEM = "ON";
const char s2_5[] PROGMEM = "TY";
const char s2_6[] PROGMEM = "NO";
const char s2_7[] PROGMEM = "AZ";
const char s2_8[] PROGMEM = "CO";
const char s2_9[] PROGMEM = "KU";
const char s2_10[] PROGMEM = "WE";
const char s2_11[] PROGMEM = "TY";
const char s2_12[] PROGMEM = "CO";
const char s2_13[] PROGMEM = "ZE";
const char s2_14[] PROGMEM = "MY";
const char s2_15[] PROGMEM = "WY";
const char s2_16[] PROGMEM = "ME";
const char s2_17[] PROGMEM = "MY";
const byte s2_size = 17;
const char* const s2_table[] PROGMEM =
{s2_1,s2_2,s2_3,s2_4,s2_5,s2_6,s2_7,s2_8,s2_9,s2_10,
s2_11,s2_12,s2_13,s2_14,s2_15,s2_16,s2_17};
// three letter word array
const char s3_1[] PROGMEM = "SIE";
const char s3_2[] PROGMEM = "NIE";
const char s3_3[] PROGMEM = "JAK";
const char s3_4[] PROGMEM = "ALE";
const char s3_5[] PROGMEM = "TAK";
const char s3_6[] PROGMEM = "JUZ";
const char s3_7[] PROGMEM = "JEJ";
const char s3_8[] PROGMEM = "CZY";
const char s3_9[] PROGMEM = "PAN";
const char s3_10[] PROGMEM = "ICH";
const char s3_11[] PROGMEM = "DLA";
const char s3_12[] PROGMEM = "GDY";
const char s3_13[] PROGMEM = "TEN";
const char s3_14[] PROGMEM = "POD";
const char s3_15[] PROGMEM = "COS";
const char s3_16[] PROGMEM = "TAM";
const char s3_17[] PROGMEM = "NIC";
const char s3_18[] PROGMEM = "NIM";
const char s3_19[] PROGMEM = "BYC";
const char s3_20[] PROGMEM = "TEZ";
const char s3_21[] PROGMEM = "BEZ";
const char s3_22[] PROGMEM = "NAD";
const char s3_23[] PROGMEM = "ANI";
const char s3_24[] PROGMEM = "SAM";
const char s3_25[] PROGMEM = "NIZ";
const char s3_26[] PROGMEM = "ABY";
const char s3_27[] PROGMEM = "OKO";
const char s3_28[] PROGMEM = "RAZ";
const char s3_29[] PROGMEM = "ONA";
const char s3_30[] PROGMEM = "KTO";
const char s3_31[] PROGMEM = "MOJ";
const char s3_32[] PROGMEM = "DWA";
const char s3_33[] PROGMEM = "LUB";
const char s3_34[] PROGMEM = "ZAS";
const char s3_35[] PROGMEM = "COZ";
const char s3_36[] PROGMEM = "ILE";
const char s3_37[] PROGMEM = "NIC";
const char s3_38[] PROGMEM = "OTO";
const char s3_39[] PROGMEM = "DOL";
const char s3_40[] PROGMEM = "POL";
const char s3_41[] PROGMEM = "NOC";
const char s3_42[] PROGMEM = "DOM";
const char s3_43[] PROGMEM = "TUZ";
const char s3_44[] PROGMEM = "COS";
const char s3_45[] PROGMEM = "ISC";
const char s3_46[] PROGMEM = "DAC";
const char s3_47[] PROGMEM = "MAZ";
const char s3_48[] PROGMEM = "ZLE";
const char s3_49[] PROGMEM = "BOK";
const char s3_50[] PROGMEM = "BOL";
const char s3_51[] PROGMEM = "SYN";
const char s3_52[] PROGMEM = "STO";
const char s3_53[] PROGMEM = "ROK";
const char s3_54[] PROGMEM = "ZYC";
const char s3_55[] PROGMEM = "LOS";
const char s3_56[] PROGMEM = "SEN";
const char s3_57[] PROGMEM = "ZZA";
const char s3_58[] PROGMEM = "OKO";
const char s3_59[] PROGMEM = "LAS";
const char s3_60[] PROGMEM = "ONO";
const char s3_61[] PROGMEM = "NOS";
const char s3_62[] PROGMEM = "CEL";
const char s3_63[] PROGMEM = "MOC";
const char s3_64[] PROGMEM = "ZLY";
const char s3_65[] PROGMEM = "TOM";
const char s3_66[] PROGMEM = "NOZ";
const char s3_67[] PROGMEM = "KON";
const char s3_68[] PROGMEM = "ZAL";
const char s3_69[] PROGMEM = "GRA";
const char s3_70[] PROGMEM = "WOZ";
const char s3_71[] PROGMEM = "AHA";
const char s3_72[] PROGMEM = "PAS";
const char s3_73[] PROGMEM = "WUJ";
const char s3_74[] PROGMEM = "LEB";
const char s3_75[] PROGMEM = "HEJ";
const char s3_76[] PROGMEM = "TYL";
const char s3_77[] PROGMEM = "OBA";
const char s3_78[] PROGMEM = "DYM";
const char s3_79[] PROGMEM = "OWO";
const char s3_80[] PROGMEM = "LUD";
const char s3_81[] PROGMEM = "LEK";
const char s3_82[] PROGMEM = "PAT";
const char s3_83[] PROGMEM = "KOT";
const char s3_84[] PROGMEM = "MUR";
const char s3_85[] PROGMEM = "DNO";
const byte s3_size = 85;
const char* const s3_table[] PROGMEM =
{s3_1,s3_2,s3_3,s3_4,s3_5,s3_6,s3_7,s3_8,s3_9,s3_10,
s3_11,s3_12,s3_13,s3_14,s3_15,s3_16,s3_17,s3_18,s3_19,s3_20,
s3_21,s3_22,s3_23,s3_24,s3_25,s3_26,s3_27,s3_28,s3_29,s3_30,
s3_31,s3_32,s3_33,s3_34,s3_35,s3_36,s3_37,s3_38,s3_39,s3_40,
s3_41,s3_42,s3_43,s3_44,s3_45,s3_46,s3_47,s3_48,s3_49,s3_50,
s3_51,s3_52,s3_53,s3_54,s3_55,s3_56,s3_57,s3_58,s3_59,s3_60,
s3_61,s3_62,s3_63,s3_64,s3_65,s3_66,s3_67,s3_68,s3_69,s3_70,
s3_71,s3_72,s3_73,s3_74,s3_75,s3_76,s3_77,s3_78,s3_79,s3_80,
s3_81,s3_82,s3_83,s3_84,s3_85};
// four letter word array
const char s4_1[] PROGMEM = "JEGO";
const char s4_2[] PROGMEM = "TEGO";
const char s4_3[] PROGMEM = "MOZE";
const char s4_4[] PROGMEM = "PRZY";
const char s4_5[] PROGMEM = "WIEC";
const char s4_6[] PROGMEM = "ZEBY";
const char s4_7[] PROGMEM = "MIEC";
const char s4_8[] PROGMEM = "MIAL";
const char s4_9[] PROGMEM = "LECZ";
const char s4_10[] PROGMEM = "OCZY";
const char s4_11[] PROGMEM = "BYLY";
const char s4_12[] PROGMEM = "ALBO";
const char s4_13[] PROGMEM = "JAKO";
const char s4_14[] PROGMEM = "CZYM";
const char s4_15[] PROGMEM = "CZAS";
const char s4_16[] PROGMEM = "NIKT";
const char s4_17[] PROGMEM = "CHOC";
const char s4_18[] PROGMEM = "KTOS";
const char s4_19[] PROGMEM = "TYLE";
const char s4_20[] PROGMEM = "GLOS";
const char s4_21[] PROGMEM = "ZNOW";
const char s4_22[] PROGMEM = "ZBYT";
const char s4_23[] PROGMEM = "TAKI";
const char s4_24[] PROGMEM = "OBOK";
const char s4_25[] PROGMEM = "POZA";
const char s4_26[] PROGMEM = "MOJE";
const char s4_27[] PROGMEM = "TRZY";
const char s4_28[] PROGMEM = "MIMO";
const char s4_29[] PROGMEM = "DOSC";
const char s4_30[] PROGMEM = "ORAZ";
const char s4_31[] PROGMEM = "JAKI";
const char s4_32[] PROGMEM = "STAC";
const char s4_33[] PROGMEM = "MIEC";
const char s4_34[] PROGMEM = "DZIS";
const char s4_35[] PROGMEM = "GDYZ";
const char s4_36[] PROGMEM = "SWOJ";
const char s4_37[] PROGMEM = "SKAD";
const char s4_38[] PROGMEM = "MYSL";
const char s4_39[] PROGMEM = "DUZO";
const char s4_40[] PROGMEM = "RAZY";
const char s4_41[] PROGMEM = "STAD";
const char s4_42[] PROGMEM = "PIEC";
const char s4_43[] PROGMEM = "DLON";
const char s4_44[] PROGMEM = "MALO";
const char s4_45[] PROGMEM = "WRAZ";
const char s4_46[] PROGMEM = "USTA";
const char s4_47[] PROGMEM = "INNY";
const char s4_48[] PROGMEM = "KTOS";
const char s4_49[] PROGMEM = "NASZ";
const char s4_50[] PROGMEM = "NIKT";
const char s4_51[] PROGMEM = "TWOJ";
const char s4_52[] PROGMEM = "RANO";
const char s4_53[] PROGMEM = "LIST";
const char s4_54[] PROGMEM = "KREW";
const char s4_55[] PROGMEM = "BRON";
const char s4_56[] PROGMEM = "SPOD";
const char s4_57[] PROGMEM = "KOLO";
const char s4_58[] PROGMEM = "NIBY";
const char s4_59[] PROGMEM = "KOGO";
const char s4_60[] PROGMEM = "ZONA";
const char s4_61[] PROGMEM = "OBAJ";
const char s4_62[] PROGMEM = "BADZ";
const char s4_63[] PROGMEM = "KROL";
const char s4_64[] PROGMEM = "NOWY";
const char s4_65[] PROGMEM = "STAC";
const char s4_66[] PROGMEM = "ALEZ";
const char s4_67[] PROGMEM = "OKNO";
const char s4_68[] PROGMEM = "KROK";
const char s4_69[] PROGMEM = "ZNAK";
const char s4_70[] PROGMEM = "BRAT";
const char s4_71[] PROGMEM = "RUCH";
const char s4_72[] PROGMEM = "BRAK";
const char s4_73[] PROGMEM = "WODA";
const char s4_74[] PROGMEM = "FAKT";
const char s4_75[] PROGMEM = "WINA";
const char s4_76[] PROGMEM = "DWAJ";
const char s4_77[] PROGMEM = "TLUM";
const char s4_78[] PROGMEM = "STAN";
const char s4_79[] PROGMEM = "BREW";
const char s4_80[] PROGMEM = "CIEN";
const char s4_81[] PROGMEM = "CZYZ";
const char s4_82[] PROGMEM = "MAMA";
const char s4_83[] PROGMEM = "STOL";
const char s4_84[] PROGMEM = "SPAC";
const char s4_85[] PROGMEM = "POKI";
const char s4_86[] PROGMEM = "PLAN";
const char s4_87[] PROGMEM = "PIES";
const char s4_88[] PROGMEM = "BYLE";
const char s4_89[] PROGMEM = "LEWO";
const char s4_90[] PROGMEM = "ZNAC";
const char s4_91[] PROGMEM = "OTOZ";
const char s4_92[] PROGMEM = "REKA";
const char s4_93[] PROGMEM = "DUZY";
const char s4_94[] PROGMEM = "RANA";
const char s4_95[] PROGMEM = "SLAD";
const char s4_96[] PROGMEM = "NOWO";
const char s4_97[] PROGMEM = "MARY";
const char s4_98[] PROGMEM = "WPOL";
const char s4_99[] PROGMEM = "GLAB";
const char s4_100[] PROGMEM = "SILA";
const char s4_101[] PROGMEM = "POLE";
const char s4_102[] PROGMEM = "OBCY";
const char s4_103[] PROGMEM = "DANE";
const char s4_104[] PROGMEM = "UCHA";
const char s4_105[] PROGMEM = "KRAJ";
const char s4_106[] PROGMEM = "BLAD";
const char s4_107[] PROGMEM = "PORA";
const char s4_108[] PROGMEM = "SZEF";
const char s4_109[] PROGMEM = "ATAK";
const char s4_110[] PROGMEM = "DUCH";
const char s4_111[] PROGMEM = "MILO";
const char s4_112[] PROGMEM = "JESC";
const char s4_113[] PROGMEM = "RZAD";
const char s4_114[] PROGMEM = "LODZ";
const char s4_115[] PROGMEM = "WIEK";
const char s4_116[] PROGMEM = "KTOZ";
const char s4_117[] PROGMEM = "CIOS";
const char s4_118[] PROGMEM = "SENS";
const char s4_119[] PROGMEM = "FALA";
const char s4_120[] PROGMEM = "BRAC";
const char s4_121[] PROGMEM = "CZUC";
const char s4_122[] PROGMEM = "GOSC";
const char s4_123[] PROGMEM = "OMAL";
const char s4_124[] PROGMEM = "LADA";
const char s4_125[] PROGMEM = "MILY";
const char s4_126[] PROGMEM = "WINO";
const char s4_127[] PROGMEM = "KTOS";
const char s4_128[] PROGMEM = "GRAC";
const char s4_129[] PROGMEM = "UDAC";
const char s4_130[] PROGMEM = "TRZY";
const char s4_131[] PROGMEM = "MOZG";
const char s4_132[] PROGMEM = "DACH";
const char s4_133[] PROGMEM = "PARA";
const char s4_134[] PROGMEM = "ZNAD";
const char s4_135[] PROGMEM = "WODZ";
const char s4_136[] PROGMEM = "MOWA";
const char s4_137[] PROGMEM = "GEST";
const char s4_138[] PROGMEM = "UCHO";
const char s4_139[] PROGMEM = "MROK";
const char s4_140[] PROGMEM = "DWOR";
const char s4_141[] PROGMEM = "PIWO";
const char s4_142[] PROGMEM = "KULA";
const char s4_143[] PROGMEM = "TATO";
const char s4_144[] PROGMEM = "PTAK";
const char s4_145[] PROGMEM = "MGLA";
const char s4_146[] PROGMEM = "SZUM";
const char s4_147[] PROGMEM = "WASZ";
const byte s4_size = 147;
const char* const s4_table[] PROGMEM =
{s4_1,s4_2,s4_3,s4_4,s4_5,s4_6,s4_7,s4_8,s4_9,s4_10,
s4_11,s4_12,s4_13,s4_14,s4_15,s4_16,s4_17,s4_18,s4_19,s4_20,
s4_21,s4_22,s4_23,s4_24,s4_25,s4_26,s4_27,s4_28,s4_29,s4_30,
s4_31,s4_32,s4_33,s4_34,s4_35,s4_36,s4_37,s4_38,s4_39,s4_40,
s4_41,s4_42,s4_43,s4_44,s4_45,s4_46,s4_47,s4_48,s4_49,s4_50,
s4_51,s4_52,s4_53,s4_54,s4_55,s4_56,s4_57,s4_58,s4_59,s4_60,
s4_61,s4_62,s4_63,s4_64,s4_65,s4_66,s4_67,s4_68,s4_69,s4_70,
s4_71,s4_72,s4_73,s4_74,s4_75,s4_76,s4_77,s4_78,s4_79,s4_80,
s4_81,s4_82,s4_83,s4_84,s4_85,s4_86,s4_87,s4_88,s4_89,s4_90,
s4_91,s4_92,s4_93,s4_94,s4_95,s4_96,s4_97,s4_98,s4_99,s4_100,
s4_101,s4_102,s4_103,s4_104,s4_105,s4_106,s4_107,s4_108,s4_109,s4_110,
s4_111,s4_112,s4_113,s4_114,s4_115,s4_116,s4_117,s4_118,s4_119,s4_120,
s4_121,s4_122,s4_123,s4_124,s4_125,s4_126,s4_127,s4_128,s4_129,s4_130,
s4_131,s4_132,s4_133,s4_134,s4_135,s4_136,s4_137,s4_138,s4_139,s4_140,
s4_141,s4_142,s4_143,s4_144,s4_145,s4_146,s4_147};
const char name_1[] PROGMEM = "BOGUSIA";
const char name_2[] PROGMEM = "BOZENA";
const char name_3[] PROGMEM = "GRAZYNA";
const char name_4[] PROGMEM = "WANDA";
const char name_5[] PROGMEM = "ALINA";
const char name_6[] PROGMEM = "IWONA";
const char name_7[] PROGMEM = "AGATA";
const char name_8[] PROGMEM = "KASIA";
const char name_9[] PROGMEM = "GOSIA";
const char name_10[] PROGMEM = "ANIA";
const char name_11[] PROGMEM = "KLARA";
const char name_12[] PROGMEM = "KORNELIA";
const char name_13[] PROGMEM = "KRYSIA";
const char name_14[] PROGMEM = "PAULINA";
const char name_15[] PROGMEM = "HANKA";
const char name_16[] PROGMEM = "MAGDA";
const char name_17[] PROGMEM = "MARTA";
const char name_18[] PROGMEM = "ZOSIA";
const char name_19[] PROGMEM = "ZUZIA";
const char name_20[] PROGMEM = "JULIA";
const char name_21[] PROGMEM = "ALA";
const char name_22[] PROGMEM = "BOGUS";
const char name_23[] PROGMEM = "BOLEK";
const char name_24[] PROGMEM = "JAREK";
const char name_25[] PROGMEM = "MIREK";
const char name_26[] PROGMEM = "RADEK";
const char name_27[] PROGMEM = "SLAWEK";
const char name_28[] PROGMEM = "WOJTEK";
const char name_29[] PROGMEM = "WIESIEK";
const char name_30[] PROGMEM = "ZBYSZEK";
const char name_31[] PROGMEM = "HENIEK";
const char name_32[] PROGMEM = "KAROL";
const char name_33[] PROGMEM = "PIOTR";
const char name_34[] PROGMEM = "KONRAD";
const char name_35[] PROGMEM = "ROBERT";
const char name_36[] PROGMEM = "FILIP";
const char name_37[] PROGMEM = "GRZESIEK";
const char name_38[] PROGMEM = "STEFAN";
const char name_39[] PROGMEM = "ZENEK";
const char name_40[] PROGMEM = "PATRYK";
const char name_41[] PROGMEM = "PAWEL";
const char name_42[] PROGMEM = "ADAM";
const char name_43[] PROGMEM = "DANIEL";
const char name_44[] PROGMEM = "JANEK";
const char name_45[] PROGMEM = "JUREK";
const char name_46[] PROGMEM = "FRANEK";
const char name_47[] PROGMEM = "KUBA";
const char name_48[] PROGMEM = "LEON";
const char name_49[] PROGMEM = "STASZEK";
const char name_50[] PROGMEM = "TOMEK";
const byte name_size = 50;
const char* const name_table[] PROGMEM =
{name_1,name_2,name_3,name_4,name_5,name_6,name_7,name_8,name_9,name_10,
name_11,name_12,name_13,name_14,name_15,name_16,name_17,name_18,name_19,name_20,
name_21,name_22,name_23,name_24,name_25,name_26,name_27,name_28,name_29,name_30,
name_31,name_32,name_33,name_34,name_35,name_36,name_37,name_38,name_39,name_40,
name_41,name_42,name_43,name_44,name_45,name_46,name_47,name_48,name_49, name_50};
// CW QSO word array
const char qso_1[] PROGMEM = "QRL?";
const char qso_2[] PROGMEM = "QRM";
const char qso_3[] PROGMEM = "QRN";
const char qso_4[] PROGMEM = "QRS";
const char qso_5[] PROGMEM = "QRT";
const char qso_6[] PROGMEM = "QRZ";
const char qso_7[] PROGMEM = "QSL";
const char qso_8[] PROGMEM = "QSO";
const char qso_9[] PROGMEM = "QSY";
const char qso_10[] PROGMEM = "QTH";
const char qso_11[] PROGMEM = "QRX";
const char qso_12[] PROGMEM = "ABT";
const char qso_13[] PROGMEM = "AGE";
const char qso_14[] PROGMEM = "ANT";
const char qso_15[] PROGMEM = "BEAM";
const char qso_16[] PROGMEM = "BK";
const char qso_17[] PROGMEM = "QRP";
const char qso_18[] PROGMEM = "AGN";
const char qso_19[] PROGMEM = "C";
const char qso_20[] PROGMEM = "CL";
const char qso_21[] PROGMEM = "CPY";
const char qso_22[] PROGMEM = "CQ";
const char qso_23[] PROGMEM = "CUL";
const char qso_24[] PROGMEM = "DE";
const char qso_25[] PROGMEM = "DX";
const char qso_26[] PROGMEM = "ES";
const char qso_27[] PROGMEM = "EL";
const char qso_28[] PROGMEM = "FB";
const char qso_29[] PROGMEM = "HI";
const char qso_30[] PROGMEM = "HW?";
const char qso_31[] PROGMEM = "HR";
const char qso_32[] PROGMEM = "K";
const char qso_33[] PROGMEM = "=";
const char qso_34[] PROGMEM = "LOOP";
const char qso_35[] PROGMEM = "NAME";
const char qso_36[] PROGMEM = "OM";
const char qso_37[] PROGMEM = "OP";
const char qso_38[] PROGMEM = "PKT";
const char qso_39[] PROGMEM = "PSE";
const char qso_40[] PROGMEM = "QRQ";
const char qso_41[] PROGMEM = "RPT";
const char qso_42[] PROGMEM = "RST";
const char qso_43[] PROGMEM = "RIG";
const char qso_44[] PROGMEM = "TEMP";
const char qso_45[] PROGMEM = "TEST";
const char qso_46[] PROGMEM = "TU";
const char qso_47[] PROGMEM = "TKS";
const char qso_48[] PROGMEM = "TNX";
const char qso_49[] PROGMEM = "QRQ";
const char qso_50[] PROGMEM = "HAVE";
const char qso_51[] PROGMEM = "DIPOLE";
const char qso_52[] PROGMEM = "BEST";
const char qso_53[] PROGMEM = "VERT";
const char qso_54[] PROGMEM = "WATT";
const char qso_55[] PROGMEM = "WX";
const char qso_56[] PROGMEM = "YAGI";
const char qso_57[] PROGMEM = "YEARS";
const char qso_58[] PROGMEM = "73";
const char qso_59[] PROGMEM = "88";
const char qso_60[] PROGMEM = "?";
const char qso_61[] PROGMEM = "/";
const char qso_62[] PROGMEM = "VY";
const char qso_63[] PROGMEM = "YL";
const char qso_64[] PROGMEM = "XYL";
const char qso_65[] PROGMEM = "MY";
const char qso_66[] PROGMEM = "UR";
const char qso_67[] PROGMEM = "IS";
const char qso_68[] PROGMEM = "QSB";
const byte qso_size = 72;
const char* const qso_table[] PROGMEM =
{qso_1,qso_2,qso_3,qso_4,qso_5,qso_6,qso_7,qso_8,qso_9,qso_10,qso_11,qso_12,qso_13,qso_14,qso_15,qso_16,qso_17,qso_18,qso_19,qso_20,
qso_21,qso_22,qso_23,qso_24,qso_25,qso_26,qso_27,qso_28,qso_29,qso_30,qso_31,qso_32,qso_33,qso_34,qso_35,qso_36,qso_37,qso_38,qso_39,qso_40,
qso_41,qso_42,qso_43,qso_44,qso_45,qso_46,qso_47,qso_48,qso_49,qso_50,qso_51,qso_52,qso_53,qso_54,qso_55,qso_56,qso_57,qso_58,qso_59,qso_60,
qso_61,qso_62,qso_63,qso_64,qso_65,qso_66,qso_67,qso_68};