kopia lustrzana https://github.com/k3ng/k3ng_cw_keyer
removed Morrty preconfigurations - all Mortty configurations are in hardware profiles now
rodzic
4f13d33b58
commit
ebab6e3bd1
Plik diff jest za duży
Load Diff
|
@ -1,223 +0,0 @@
|
|||
#ifndef keyer_h
|
||||
#define keyer_h
|
||||
|
||||
// Do not change these !
|
||||
|
||||
// Variable macros
|
||||
#define STRAIGHT 1
|
||||
#define IAMBIC_B 2
|
||||
#define IAMBIC_A 3
|
||||
#define BUG 4
|
||||
#define ULTIMATIC 5
|
||||
#define SINGLE_PADDLE 6
|
||||
|
||||
#define PADDLE_NORMAL 0
|
||||
#define PADDLE_REVERSE 1
|
||||
|
||||
#define KEYER_NORMAL 0
|
||||
#define BEACON 1
|
||||
#define KEYER_COMMAND_MODE 2
|
||||
#define KEYER_COMMAND_MODE_SPEED_OVERRIDE 3
|
||||
|
||||
#define OMIT_LETTERSPACE 1
|
||||
|
||||
#define SIDETONE_OFF 0
|
||||
#define SIDETONE_ON 1
|
||||
#define SIDETONE_PADDLE_ONLY 2
|
||||
|
||||
#define SENDING_NOTHING 0
|
||||
#define SENDING_DIT 1
|
||||
#define SENDING_DAH 2
|
||||
|
||||
#define SPEED_NORMAL 0
|
||||
#define SPEED_QRSS 1
|
||||
|
||||
#define CW 0
|
||||
#define HELL 1
|
||||
#define AMERICAN_MORSE 2
|
||||
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define PS2_KEYBOARD_NORMAL 0
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
#define SERIAL_CLI 0
|
||||
#define SERIAL_WINKEY_EMULATION 1
|
||||
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_START 13
|
||||
#define SERIAL_SEND_BUFFER_WPM_CHANGE 14
|
||||
#define SERIAL_SEND_BUFFER_PTT_ON 15
|
||||
#define SERIAL_SEND_BUFFER_PTT_OFF 16
|
||||
#define SERIAL_SEND_BUFFER_TIMED_KEY_DOWN 17
|
||||
#define SERIAL_SEND_BUFFER_TIMED_WAIT 18
|
||||
#define SERIAL_SEND_BUFFER_NULL 19
|
||||
#define SERIAL_SEND_BUFFER_PROSIGN 20
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND 21
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND_RELEASE 22
|
||||
#define SERIAL_SEND_BUFFER_MEMORY_NUMBER 23
|
||||
#define SERIAL_SEND_BUFFER_TX_CHANGE 24
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_END 25
|
||||
|
||||
#if defined(OPTION_PROSIGN_SUPPORT)
|
||||
#define PROSIGN_START 127
|
||||
#define PROSIGN_AA 128
|
||||
#define PROSIGN_AS 129
|
||||
#define PROSIGN_BK 130
|
||||
#define PROSIGN_CL 131
|
||||
#define PROSIGN_CT 132
|
||||
#define PROSIGN_KN 133
|
||||
#define PROSIGN_NJ 134
|
||||
#define PROSIGN_SK 135
|
||||
#define PROSIGN_SN 136
|
||||
#define PROSIGN_HH 137 // iz0rus
|
||||
#define PROSIGN_END 138 // iz0rus
|
||||
#endif
|
||||
|
||||
#define SERIAL_SEND_BUFFER_NORMAL 0
|
||||
#define SERIAL_SEND_BUFFER_TIMED_COMMAND 1
|
||||
#define SERIAL_SEND_BUFFER_HOLD 2
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#define WINKEY_NO_COMMAND_IN_PROGRESS 0
|
||||
#define WINKEY_UNBUFFERED_SPEED_COMMAND 1
|
||||
#define WINKEY_UNSUPPORTED_COMMAND 2
|
||||
#define WINKEY_POINTER_COMMAND 3
|
||||
#define WINKEY_ADMIN_COMMAND 4
|
||||
#define WINKEY_PAUSE_COMMAND 5
|
||||
#define WINKEY_KEY_COMMAND 6
|
||||
#define WINKEY_SETMODE_COMMAND 7
|
||||
#define WINKEY_SIDETONE_FREQ_COMMAND 8
|
||||
#define WINKEY_ADMIN_COMMAND_ECHO 9
|
||||
#define WINKEY_BUFFERED_SPEED_COMMAND 10
|
||||
#define WINKEY_DAH_TO_DIT_RATIO_COMMAND 11
|
||||
#define WINKEY_KEYING_COMPENSATION_COMMAND 12
|
||||
#define WINKEY_FIRST_EXTENSION_COMMAND 13
|
||||
#define WINKEY_PTT_TIMES_PARM1_COMMAND 14
|
||||
#define WINKEY_PTT_TIMES_PARM2_COMMAND 15
|
||||
#define WINKEY_SET_POT_PARM1_COMMAND 16
|
||||
#define WINKEY_SET_POT_PARM2_COMMAND 17
|
||||
#define WINKEY_SET_POT_PARM3_COMMAND 18
|
||||
#define WINKEY_SOFTWARE_PADDLE_COMMAND 19
|
||||
#define WINKEY_CANCEL_BUFFERED_SPEED_COMMAND 20
|
||||
#define WINKEY_BUFFFERED_PTT_COMMMAND 21
|
||||
#define WINKEY_HSCW_COMMAND 22
|
||||
#define WINKEY_BUFFERED_HSCW_COMMAND 23
|
||||
#define WINKEY_WEIGHTING_COMMAND 24
|
||||
#define WINKEY_KEY_BUFFERED_COMMAND 25
|
||||
#define WINKEY_WAIT_BUFFERED_COMMAND 26
|
||||
#define WINKEY_POINTER_01_COMMAND 27
|
||||
#define WINKEY_POINTER_02_COMMAND 28
|
||||
#define WINKEY_POINTER_03_COMMAND 29
|
||||
#define WINKEY_FARNSWORTH_COMMAND 30
|
||||
#define WINKEY_MERGE_COMMAND 31
|
||||
#define WINKEY_MERGE_PARM_2_COMMAND 32
|
||||
#define WINKEY_SET_PINCONFIG_COMMAND 33
|
||||
#define WINKEY_EXTENDED_COMMAND 34
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SEND_MSG 35
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_1_COMMAND 101
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_2_COMMAND 102
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_3_COMMAND 103
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_4_COMMAND 104
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_5_COMMAND 105
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_6_COMMAND 106
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_7_COMMAND 107
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_8_COMMAND 108
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_9_COMMAND 109
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_10_COMMAND 110
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_11_COMMAND 111
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_12_COMMAND 112
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_13_COMMAND 113
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_14_COMMAND 114
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_15_COMMAND 115
|
||||
|
||||
#define WINKEY_HOUSEKEEPING 0
|
||||
#define SERVICE_SERIAL_BYTE 1
|
||||
|
||||
#define WINKEY_UNBUFFERED_SPEED 0
|
||||
#define WINKEY_BUFFERED_SPEED 1
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
#define UNDEFINED_SENDING 0
|
||||
#define AUTOMATIC_SENDING 1
|
||||
#define MANUAL_SENDING 2
|
||||
#define AUTOMATIC_SENDING_INTERRUPTED 3
|
||||
|
||||
#define ULTIMATIC_NORMAL 0
|
||||
#define ULTIMATIC_DIT_PRIORITY 1
|
||||
#define ULTIMATIC_DAH_PRIORITY 2
|
||||
|
||||
|
||||
#define PRINTCHAR 0
|
||||
#define NOPRINT 1
|
||||
|
||||
#define DONT_RAISE_ERROR_MSG 0
|
||||
#define RAISE_ERROR_MSG 1
|
||||
|
||||
#if !defined(HID_PROTOCOL_KEYBOARD) && !defined(HID_PROTOCOL_MOUSE)
|
||||
#define HID_PROTOCOL_KEYBOARD 1
|
||||
#define HID_PROTOCOL_MOUSE 2
|
||||
#endif
|
||||
|
||||
#define WORDSWORTH_2_CHAR_WORDS 2
|
||||
#define WORDSWORTH_3_CHAR_WORDS 3
|
||||
#define WORDSWORTH_4_CHAR_WORDS 4
|
||||
#define WORDSWORTH_NAMES 5
|
||||
#define WORDSWORTH_QSO_WORDS 6
|
||||
#define WORDSWORTH_MIXED 99
|
||||
|
||||
#define WORDSWORTH_WORDSPACE 1
|
||||
#define WORDSWORTH_WPM 2
|
||||
#define WORDSWORTH_REPETITION 3
|
||||
|
||||
#define CALLSIGN_INTERNATIONAL 0
|
||||
#define CALLSIGN_US 1
|
||||
#define CALLSIGN_EUROPEAN 2
|
||||
#define CALLSIGN_CANADA 3
|
||||
|
||||
#define ECHO_PROGRESSIVE_5 40
|
||||
#define ECHO_2_CHAR_WORDS 41
|
||||
#define ECHO_3_CHAR_WORDS 42
|
||||
#define ECHO_4_CHAR_WORDS 43
|
||||
#define ECHO_NAMES 44
|
||||
#define ECHO_QSO_WORDS 45
|
||||
#define ECHO_MIXED 49
|
||||
|
||||
#define PRACTICE_NON_INTERACTIVE 0
|
||||
#define PRACTICE_INTERACTIVE 1
|
||||
|
||||
#define RANDOM_LETTER_GROUPS 61
|
||||
#define RANDOM_NUMBER_GROUPS 62
|
||||
#define RANDOM_MIXED_GROUPS 63
|
||||
|
||||
#define PRACTICE_2_CHAR_WORDS 51
|
||||
#define PRACTICE_3_CHAR_WORDS 52
|
||||
#define PRACTICE_4_CHAR_WORDS 53
|
||||
#define PRACTICE_NAMES 54
|
||||
#define PRACTICE_QSO_WORDS 55
|
||||
#define PRACTICE_MIXED 59
|
||||
|
||||
#define CLI_NORMAL_MODE 0
|
||||
#define CLI_MILL_MODE_PADDLE_SEND 1
|
||||
#define CLI_MILL_MODE_KEYBOARD_RECEIVE 2
|
||||
|
||||
#define COMMAND_SPEED_MODE_KEYER_WPM 0
|
||||
#define COMMAND_SPEED_MODE_COMMAND_MODE_WPM 1
|
||||
|
||||
#define SD_CARD_UNINITIALIZED 0
|
||||
#define SD_CARD_AVAILABLE 1
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_FOUND 2
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_RUNNING 3
|
||||
#define SD_CARD_ERROR 254
|
||||
|
||||
#define SD_CARD_LOG_NOT_OPEN 0
|
||||
#define SD_CARD_LOG_OPEN 1
|
||||
#define SD_CARD_LOG_ERROR 254
|
||||
|
||||
#define COMMAND_PL 1
|
||||
#define COMMAND_PT 2
|
||||
#define COMMAND_PA 3
|
||||
#define COMMAND_PI 4
|
||||
|
||||
|
||||
#endif //keyer_h
|
|
@ -1,414 +0,0 @@
|
|||
|
||||
|
||||
const char canadian_prefix_1[] PROGMEM = "VE1";
|
||||
const char canadian_prefix_2[] PROGMEM = "VE2";
|
||||
const char canadian_prefix_3[] PROGMEM = "VE3";
|
||||
const char canadian_prefix_4[] PROGMEM = "VE4";
|
||||
const char canadian_prefix_5[] PROGMEM = "VE5";
|
||||
const char canadian_prefix_6[] PROGMEM = "VE6";
|
||||
const char canadian_prefix_7[] PROGMEM = "VE7";
|
||||
const char canadian_prefix_8[] PROGMEM = "VE8";
|
||||
const char canadian_prefix_9[] PROGMEM = "VE9";
|
||||
const char canadian_prefix_10[] PROGMEM = "VY0";
|
||||
const char canadian_prefix_11[] PROGMEM = "VY1";
|
||||
const char canadian_prefix_12[] PROGMEM = "VY2";
|
||||
const char canadian_prefix_13[] PROGMEM = "VO1";
|
||||
const char canadian_prefix_14[] PROGMEM = "VO2";
|
||||
const byte canadian_prefix_size = 14;
|
||||
const char* const canadian_prefix_table[] PROGMEM =
|
||||
{canadian_prefix_1,canadian_prefix_2,canadian_prefix_3,canadian_prefix_4,canadian_prefix_5,canadian_prefix_6,canadian_prefix_7,canadian_prefix_8,canadian_prefix_9,canadian_prefix_10,
|
||||
canadian_prefix_11,canadian_prefix_12,canadian_prefix_13,canadian_prefix_14};
|
||||
|
||||
// European callsign prefix table
|
||||
//
|
||||
// Note 2017-05-06: This is weird. If I put "LB" in the array, avrdude trips up with a timeout error when uploading to a Mega.
|
||||
// That's why LB isn't in this table
|
||||
|
||||
const char eu_prefix_1[] PROGMEM = "3A";
|
||||
const char eu_prefix_2[] PROGMEM = "4O";
|
||||
const char eu_prefix_3[] PROGMEM = "4U";
|
||||
const char eu_prefix_4[] PROGMEM = "9A";
|
||||
const char eu_prefix_5[] PROGMEM = "9H";
|
||||
const char eu_prefix_6[] PROGMEM = "C3";
|
||||
const char eu_prefix_7[] PROGMEM = "CT";
|
||||
const char eu_prefix_8[] PROGMEM = "CU";
|
||||
const char eu_prefix_9[] PROGMEM = "DA";
|
||||
const char eu_prefix_10[] PROGMEM = "DB";
|
||||
const char eu_prefix_11[] PROGMEM = "DC";
|
||||
const char eu_prefix_12[] PROGMEM = "DD";
|
||||
const char eu_prefix_13[] PROGMEM = "DE";
|
||||
const char eu_prefix_14[] PROGMEM = "DF";
|
||||
const char eu_prefix_15[] PROGMEM = "DG";
|
||||
const char eu_prefix_16[] PROGMEM = "DH";
|
||||
const char eu_prefix_17[] PROGMEM = "DI";
|
||||
const char eu_prefix_18[] PROGMEM = "DJ";
|
||||
const char eu_prefix_19[] PROGMEM = "DK";
|
||||
const char eu_prefix_20[] PROGMEM = "DL";
|
||||
const char eu_prefix_21[] PROGMEM = "EI";
|
||||
const char eu_prefix_22[] PROGMEM = "ER";
|
||||
const char eu_prefix_23[] PROGMEM = "ES";
|
||||
const char eu_prefix_24[] PROGMEM = "EU";
|
||||
const char eu_prefix_25[] PROGMEM = "EV";
|
||||
const char eu_prefix_26[] PROGMEM = "EW";
|
||||
const char eu_prefix_27[] PROGMEM = "F";
|
||||
const char eu_prefix_28[] PROGMEM = "G";
|
||||
const char eu_prefix_29[] PROGMEM = "GX";
|
||||
const char eu_prefix_30[] PROGMEM = "GD";
|
||||
const char eu_prefix_31[] PROGMEM = "GT";
|
||||
const char eu_prefix_32[] PROGMEM = "GI";
|
||||
const char eu_prefix_33[] PROGMEM = "GN";
|
||||
const char eu_prefix_34[] PROGMEM = "GJ";
|
||||
const char eu_prefix_35[] PROGMEM = "GH";
|
||||
const char eu_prefix_36[] PROGMEM = "GM";
|
||||
const char eu_prefix_37[] PROGMEM = "GS";
|
||||
const char eu_prefix_38[] PROGMEM = "GU";
|
||||
const char eu_prefix_39[] PROGMEM = "GP";
|
||||
const char eu_prefix_40[] PROGMEM = "GW";
|
||||
const char eu_prefix_41[] PROGMEM = "GC";
|
||||
const char eu_prefix_42[] PROGMEM = "HB";
|
||||
const char eu_prefix_43[] PROGMEM = "HV";
|
||||
const char eu_prefix_44[] PROGMEM = "I";
|
||||
const char eu_prefix_45[] PROGMEM = "IS";
|
||||
const char eu_prefix_46[] PROGMEM = "IM";
|
||||
const char eu_prefix_47[] PROGMEM = "JW";
|
||||
const char eu_prefix_48[] PROGMEM = "JX";
|
||||
const char eu_prefix_49[] PROGMEM = "LX";
|
||||
const char eu_prefix_50[] PROGMEM = "LY";
|
||||
const char eu_prefix_51[] PROGMEM = "LZ";
|
||||
const char eu_prefix_52[] PROGMEM = "OY";
|
||||
const char eu_prefix_53[] PROGMEM = "OZ";
|
||||
const char eu_prefix_54[] PROGMEM = "S5";
|
||||
const char eu_prefix_55[] PROGMEM = "YU";
|
||||
const char eu_prefix_56[] PROGMEM = "T7";
|
||||
const char eu_prefix_57[] PROGMEM = "T9";
|
||||
const char eu_prefix_58[] PROGMEM = "TF";
|
||||
const char eu_prefix_59[] PROGMEM = "TK";
|
||||
const char eu_prefix_60[] PROGMEM = "EM";
|
||||
const char eu_prefix_61[] PROGMEM = "EO";
|
||||
const char eu_prefix_62[] PROGMEM = "YL";
|
||||
const char eu_prefix_63[] PROGMEM = "YO";
|
||||
const char eu_prefix_64[] PROGMEM = "YT";
|
||||
const char eu_prefix_65[] PROGMEM = "YU";
|
||||
const char eu_prefix_66[] PROGMEM = "YP";
|
||||
const char eu_prefix_67[] PROGMEM = "YQ";
|
||||
const char eu_prefix_68[] PROGMEM = "YR";
|
||||
const char eu_prefix_69[] PROGMEM = "Z3";
|
||||
const char eu_prefix_70[] PROGMEM = "ZA";
|
||||
const char eu_prefix_71[] PROGMEM = "YZ";
|
||||
const char eu_prefix_72[] PROGMEM = "SA";
|
||||
const char eu_prefix_73[] PROGMEM = "SB";
|
||||
const char eu_prefix_74[] PROGMEM = "SC";
|
||||
const char eu_prefix_75[] PROGMEM = "SD";
|
||||
const char eu_prefix_76[] PROGMEM = "SE";
|
||||
const char eu_prefix_77[] PROGMEM = "SF";
|
||||
const char eu_prefix_78[] PROGMEM = "SG";
|
||||
const char eu_prefix_79[] PROGMEM = "SH";
|
||||
const char eu_prefix_80[] PROGMEM = "SI";
|
||||
const char eu_prefix_81[] PROGMEM = "SJ";
|
||||
const char eu_prefix_82[] PROGMEM = "SK";
|
||||
const char eu_prefix_83[] PROGMEM = "SL";
|
||||
const char eu_prefix_84[] PROGMEM = "SM";
|
||||
const char eu_prefix_85[] PROGMEM = "SN";
|
||||
const char eu_prefix_86[] PROGMEM = "SO";
|
||||
const char eu_prefix_87[] PROGMEM = "SP";
|
||||
const char eu_prefix_88[] PROGMEM = "SQ";
|
||||
const char eu_prefix_89[] PROGMEM = "SR";
|
||||
const char eu_prefix_90[] PROGMEM = "SS";
|
||||
const char eu_prefix_91[] PROGMEM = "ST";
|
||||
const char eu_prefix_92[] PROGMEM = "SU";
|
||||
const char eu_prefix_93[] PROGMEM = "SV";
|
||||
const char eu_prefix_94[] PROGMEM = "SW";
|
||||
const char eu_prefix_95[] PROGMEM = "SX";
|
||||
const char eu_prefix_96[] PROGMEM = "SY";
|
||||
const char eu_prefix_97[] PROGMEM = "SZ";
|
||||
const char eu_prefix_98[] PROGMEM = "OE";
|
||||
const char eu_prefix_99[] PROGMEM = "OF";
|
||||
const char eu_prefix_100[] PROGMEM = "OG";
|
||||
const char eu_prefix_101[] PROGMEM = "OH";
|
||||
const char eu_prefix_102[] PROGMEM = "OI";
|
||||
const char eu_prefix_103[] PROGMEM = "OJ";
|
||||
const char eu_prefix_104[] PROGMEM = "OK";
|
||||
const char eu_prefix_105[] PROGMEM = "OL";
|
||||
const char eu_prefix_106[] PROGMEM = "OM";
|
||||
const char eu_prefix_107[] PROGMEM = "ON";
|
||||
const char eu_prefix_108[] PROGMEM = "OO";
|
||||
const char eu_prefix_109[] PROGMEM = "OP";
|
||||
const char eu_prefix_110[] PROGMEM = "OQ";
|
||||
const char eu_prefix_111[] PROGMEM = "OR";
|
||||
const char eu_prefix_112[] PROGMEM = "OS";
|
||||
const char eu_prefix_113[] PROGMEM = "OT";
|
||||
const char eu_prefix_114[] PROGMEM = "PA";
|
||||
const char eu_prefix_115[] PROGMEM = "PB";
|
||||
const char eu_prefix_116[] PROGMEM = "PC";
|
||||
const char eu_prefix_117[] PROGMEM = "PD";
|
||||
const char eu_prefix_118[] PROGMEM = "PE";
|
||||
const char eu_prefix_119[] PROGMEM = "PF";
|
||||
const char eu_prefix_120[] PROGMEM = "PG";
|
||||
const char eu_prefix_121[] PROGMEM = "PH";
|
||||
const char eu_prefix_122[] PROGMEM = "PI";
|
||||
const char eu_prefix_123[] PROGMEM = "UA";
|
||||
const char eu_prefix_124[] PROGMEM = "UB";
|
||||
const char eu_prefix_125[] PROGMEM = "UC";
|
||||
const char eu_prefix_126[] PROGMEM = "UD";
|
||||
const char eu_prefix_127[] PROGMEM = "UE";
|
||||
const char eu_prefix_128[] PROGMEM = "UF";
|
||||
const char eu_prefix_129[] PROGMEM = "UG";
|
||||
const char eu_prefix_130[] PROGMEM = "UH";
|
||||
const char eu_prefix_131[] PROGMEM = "UI";
|
||||
const char eu_prefix_132[] PROGMEM = "RA";
|
||||
const char eu_prefix_133[] PROGMEM = "RB";
|
||||
const char eu_prefix_134[] PROGMEM = "RC";
|
||||
const char eu_prefix_135[] PROGMEM = "RD";
|
||||
const char eu_prefix_136[] PROGMEM = "RE";
|
||||
const char eu_prefix_137[] PROGMEM = "RF";
|
||||
const char eu_prefix_138[] PROGMEM = "RG";
|
||||
const char eu_prefix_139[] PROGMEM = "RH";
|
||||
const char eu_prefix_140[] PROGMEM = "RI";
|
||||
const char eu_prefix_141[] PROGMEM = "RJ";
|
||||
const char eu_prefix_142[] PROGMEM = "RK";
|
||||
const char eu_prefix_143[] PROGMEM = "RL";
|
||||
const char eu_prefix_144[] PROGMEM = "RM";
|
||||
const char eu_prefix_145[] PROGMEM = "RN";
|
||||
const char eu_prefix_146[] PROGMEM = "RO";
|
||||
const char eu_prefix_147[] PROGMEM = "RP";
|
||||
const char eu_prefix_148[] PROGMEM = "RQ";
|
||||
const char eu_prefix_149[] PROGMEM = "RR";
|
||||
const char eu_prefix_150[] PROGMEM = "RS";
|
||||
const char eu_prefix_151[] PROGMEM = "RT";
|
||||
const char eu_prefix_152[] PROGMEM = "RU";
|
||||
const char eu_prefix_153[] PROGMEM = "RV";
|
||||
const char eu_prefix_154[] PROGMEM = "RW";
|
||||
const char eu_prefix_155[] PROGMEM = "RX";
|
||||
const char eu_prefix_156[] PROGMEM = "RY";
|
||||
const char eu_prefix_157[] PROGMEM = "RZ";
|
||||
const char eu_prefix_158[] PROGMEM = "UR";
|
||||
const char eu_prefix_159[] PROGMEM = "US";
|
||||
const char eu_prefix_160[] PROGMEM = "UT";
|
||||
const char eu_prefix_161[] PROGMEM = "UU";
|
||||
const char eu_prefix_162[] PROGMEM = "UV";
|
||||
const char eu_prefix_163[] PROGMEM = "UW";
|
||||
const char eu_prefix_164[] PROGMEM = "UX";
|
||||
const char eu_prefix_165[] PROGMEM = "UY";
|
||||
const char eu_prefix_166[] PROGMEM = "UZ";
|
||||
const char eu_prefix_167[] PROGMEM = "EA";
|
||||
const char eu_prefix_168[] PROGMEM = "EB";
|
||||
const char eu_prefix_169[] PROGMEM = "EC";
|
||||
const char eu_prefix_170[] PROGMEM = "ED";
|
||||
const char eu_prefix_171[] PROGMEM = "EE";
|
||||
const char eu_prefix_172[] PROGMEM = "EF";
|
||||
const char eu_prefix_173[] PROGMEM = "EG";
|
||||
const char eu_prefix_174[] PROGMEM = "EH";
|
||||
const char eu_prefix_175[] PROGMEM = "EJ";
|
||||
const char eu_prefix_176[] PROGMEM = "HA";
|
||||
const char eu_prefix_177[] PROGMEM = "HG";
|
||||
const char eu_prefix_178[] PROGMEM = "LA";
|
||||
const char eu_prefix_179[] PROGMEM = "LC";
|
||||
const char eu_prefix_180[] PROGMEM = "LD";
|
||||
const char eu_prefix_181[] PROGMEM = "LE";
|
||||
const char eu_prefix_182[] PROGMEM = "LF";
|
||||
const char eu_prefix_183[] PROGMEM = "LG";
|
||||
const char eu_prefix_184[] PROGMEM = "LH";
|
||||
const char eu_prefix_185[] PROGMEM = "LI";
|
||||
const char eu_prefix_186[] PROGMEM = "LJ";
|
||||
const char eu_prefix_187[] PROGMEM = "LK";
|
||||
const char eu_prefix_188[] PROGMEM = "LL";
|
||||
const char eu_prefix_189[] PROGMEM = "LM";
|
||||
const char eu_prefix_190[] PROGMEM = "LN";
|
||||
/*const char eu_prefix_191[] PROGMEM = "LB"; see note above about "LB"*/
|
||||
const byte eu_prefix_size = 190;
|
||||
const char* const eu_prefix_table[] PROGMEM = {
|
||||
eu_prefix_1,
|
||||
eu_prefix_2,
|
||||
eu_prefix_3,
|
||||
eu_prefix_4,
|
||||
eu_prefix_5,
|
||||
eu_prefix_6,
|
||||
eu_prefix_7,
|
||||
eu_prefix_8,
|
||||
eu_prefix_9,
|
||||
eu_prefix_10,
|
||||
eu_prefix_11,
|
||||
eu_prefix_12,
|
||||
eu_prefix_13,
|
||||
eu_prefix_14,
|
||||
eu_prefix_15,
|
||||
eu_prefix_16,
|
||||
eu_prefix_17,
|
||||
eu_prefix_18,
|
||||
eu_prefix_19,
|
||||
eu_prefix_20,
|
||||
eu_prefix_21,
|
||||
eu_prefix_22,
|
||||
eu_prefix_23,
|
||||
eu_prefix_24,
|
||||
eu_prefix_25,
|
||||
eu_prefix_26,
|
||||
eu_prefix_27,
|
||||
eu_prefix_28,
|
||||
eu_prefix_29,
|
||||
eu_prefix_30,
|
||||
eu_prefix_31,
|
||||
eu_prefix_32,
|
||||
eu_prefix_33,
|
||||
eu_prefix_34,
|
||||
eu_prefix_35,
|
||||
eu_prefix_36,
|
||||
eu_prefix_37,
|
||||
eu_prefix_38,
|
||||
eu_prefix_39,
|
||||
eu_prefix_40,
|
||||
eu_prefix_41,
|
||||
eu_prefix_42,
|
||||
eu_prefix_43,
|
||||
eu_prefix_44,
|
||||
eu_prefix_45,
|
||||
eu_prefix_46,
|
||||
eu_prefix_47,
|
||||
eu_prefix_48,
|
||||
eu_prefix_49,
|
||||
eu_prefix_50,
|
||||
eu_prefix_51,
|
||||
eu_prefix_52,
|
||||
eu_prefix_53,
|
||||
eu_prefix_54,
|
||||
eu_prefix_55,
|
||||
eu_prefix_56,
|
||||
eu_prefix_57,
|
||||
eu_prefix_58,
|
||||
eu_prefix_59,
|
||||
eu_prefix_60,
|
||||
eu_prefix_61,
|
||||
eu_prefix_62,
|
||||
eu_prefix_63,
|
||||
eu_prefix_64,
|
||||
eu_prefix_65,
|
||||
eu_prefix_66,
|
||||
eu_prefix_67,
|
||||
eu_prefix_68,
|
||||
eu_prefix_69,
|
||||
eu_prefix_70,
|
||||
eu_prefix_71,
|
||||
eu_prefix_72,
|
||||
eu_prefix_73,
|
||||
eu_prefix_74,
|
||||
eu_prefix_75,
|
||||
eu_prefix_76,
|
||||
eu_prefix_77,
|
||||
eu_prefix_78,
|
||||
eu_prefix_79,
|
||||
eu_prefix_80,
|
||||
eu_prefix_81,
|
||||
eu_prefix_82,
|
||||
eu_prefix_83,
|
||||
eu_prefix_84,
|
||||
eu_prefix_85,
|
||||
eu_prefix_86,
|
||||
eu_prefix_87,
|
||||
eu_prefix_88,
|
||||
eu_prefix_89,
|
||||
eu_prefix_90,
|
||||
eu_prefix_91,
|
||||
eu_prefix_92,
|
||||
eu_prefix_93,
|
||||
eu_prefix_94,
|
||||
eu_prefix_95,
|
||||
eu_prefix_96,
|
||||
eu_prefix_97,
|
||||
eu_prefix_98,
|
||||
eu_prefix_99,
|
||||
eu_prefix_100,
|
||||
eu_prefix_101,
|
||||
eu_prefix_102,
|
||||
eu_prefix_103,
|
||||
eu_prefix_104,
|
||||
eu_prefix_105,
|
||||
eu_prefix_106,
|
||||
eu_prefix_107,
|
||||
eu_prefix_108,
|
||||
eu_prefix_109,
|
||||
eu_prefix_110,
|
||||
eu_prefix_111,
|
||||
eu_prefix_112,
|
||||
eu_prefix_113,
|
||||
eu_prefix_114,
|
||||
eu_prefix_115,
|
||||
eu_prefix_116,
|
||||
eu_prefix_117,
|
||||
eu_prefix_118,
|
||||
eu_prefix_119,
|
||||
eu_prefix_120,
|
||||
eu_prefix_121,
|
||||
eu_prefix_122,
|
||||
eu_prefix_123,
|
||||
eu_prefix_124,
|
||||
eu_prefix_125,
|
||||
eu_prefix_126,
|
||||
eu_prefix_127,
|
||||
eu_prefix_128,
|
||||
eu_prefix_129,
|
||||
eu_prefix_130,
|
||||
eu_prefix_131,
|
||||
eu_prefix_132,
|
||||
eu_prefix_133,
|
||||
eu_prefix_134,
|
||||
eu_prefix_135,
|
||||
eu_prefix_136,
|
||||
eu_prefix_137,
|
||||
eu_prefix_138,
|
||||
eu_prefix_139,
|
||||
eu_prefix_140,
|
||||
eu_prefix_141,
|
||||
eu_prefix_142,
|
||||
eu_prefix_143,
|
||||
eu_prefix_144,
|
||||
eu_prefix_145,
|
||||
eu_prefix_146,
|
||||
eu_prefix_147,
|
||||
eu_prefix_148,
|
||||
eu_prefix_149,
|
||||
eu_prefix_150,
|
||||
eu_prefix_151,
|
||||
eu_prefix_152,
|
||||
eu_prefix_153,
|
||||
eu_prefix_154,
|
||||
eu_prefix_155,
|
||||
eu_prefix_156,
|
||||
eu_prefix_157,
|
||||
eu_prefix_158,
|
||||
eu_prefix_159,
|
||||
eu_prefix_160,
|
||||
eu_prefix_161,
|
||||
eu_prefix_162,
|
||||
eu_prefix_163,
|
||||
eu_prefix_164,
|
||||
eu_prefix_165,
|
||||
eu_prefix_166,
|
||||
eu_prefix_167,
|
||||
eu_prefix_168,
|
||||
eu_prefix_169,
|
||||
eu_prefix_170,
|
||||
eu_prefix_171,
|
||||
eu_prefix_172,
|
||||
eu_prefix_173,
|
||||
eu_prefix_174,
|
||||
eu_prefix_175,
|
||||
eu_prefix_176,
|
||||
eu_prefix_177,
|
||||
eu_prefix_178,
|
||||
eu_prefix_179,
|
||||
eu_prefix_180,
|
||||
eu_prefix_181,
|
||||
eu_prefix_182,
|
||||
eu_prefix_183,
|
||||
eu_prefix_184,
|
||||
eu_prefix_185,
|
||||
eu_prefix_186,
|
||||
eu_prefix_187,
|
||||
eu_prefix_188,
|
||||
eu_prefix_189,
|
||||
eu_prefix_190/*,
|
||||
eu_prefix_191*/
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
// don't touch these unless you know what the hell you are doing or you're asked to uncomment these for debug dumps
|
||||
// #define DEBUG_STARTUP
|
||||
// #define DEBUG_STARTUP_BLINKS
|
||||
// #define DEBUG_LOOP
|
||||
// #define DEBUG_EEPROM
|
||||
// #define DEBUG_MEMORIES
|
||||
// #define DEBUG_PLAY_MEMORY
|
||||
// #define DEBUG_SEND_CHAR
|
||||
// #define DEBUG_MEMORY_WRITE
|
||||
// #define DEBUG_MEMORYCHECK
|
||||
// #define DEBUG_MEMORY_LOCATIONS
|
||||
// #define DEBUG_CAPTURE_COM_PORT
|
||||
// #define DEBUG_HELL_TEST
|
||||
// #define DEBUG_WINKEY_PROTOCOL_USING_CW
|
||||
// #define DEBUG_CHECK_SERIAL
|
||||
// #define DEBUG_PS2_KEYBOARD
|
||||
// #define DEBUG_VARIABLE_DUMP
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_COMMAND_MODE
|
||||
// #define DEBUG_GET_CW_INPUT_FROM_USER
|
||||
// #define DEBUG_POTENTIOMETER
|
||||
// #define DEBUG_CW_DECODER
|
||||
// #define DEBUG_CW_DECODER_WPM
|
||||
// #define DEBUG_SERIAL_SEND_CW_CALLOUT
|
||||
// #define DEBUG_SLEEP
|
||||
// #define DEBUG_BUTTON_ARRAY
|
||||
// #define DEBUG_USB
|
||||
// #define DEBUG_USB_KEYBOARD
|
||||
// #define DEBUG_CAPACITIVE_PADDLE
|
||||
// #define DEBUG_DISPLAY_SCROLL_PRINT_CHAR
|
||||
// #define DEBUG_WINKEY // <- to use this you must have a multi-serial port Arduino and use FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
// #define DEBUG_WINKEY_SEND_ERRANT_BYTE
|
||||
// #define DEBUG_WINKEY_PORT_WRITE
|
||||
// #define DEBUG_CW_COMPUTER_KEYBOARD
|
||||
// #define DEBUG_CW_DECODER_WITH_TONE
|
||||
// #define DEBUG_OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define DEBUG_FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
// #define DEBUG_FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define DEBUG_UDP
|
||||
// #define DEBUG_UDP_WRITE
|
||||
// #define DEBUG_WEB_SERVER
|
||||
// #define DEBUG_WEB_PARSE_GET
|
||||
// #define DEBUG_WEB_SERVER_READS
|
||||
// #define DEBUG_INTERNET_LINKING_RECEIVE
|
||||
// #define DEBUG_INTERNET_LINKING_SEND
|
||||
// #define DEBUG_UDP_PACKET_RECEIVE
|
||||
// #define DEBUG_FORCE_RESET
|
||||
// #define DEBUG_WINKEY_DISABLE_LEAD_IN_TIME_SETTING
|
||||
// #define DEBUG_KEYPAD_SERIAL
|
||||
// #define DEBUG_CALLSIGN_PRACTICE_SHOW_CALLSIGN
|
||||
// #define DEBUG_WORDSWORTH
|
||||
// #define DEBUG_PRACTICE_SERIAL
|
||||
// #define DEBUG_PRACTICE_CMD_MODE
|
||||
// #define DEBUG_SD_CARD
|
||||
// #define DEBUG_FARNSWORTH
|
||||
// #define DEBUG_FARNSWORTH_TIMING
|
||||
// #define DEBUG_ASYNC_EEPROM_WRITE
|
||||
|
||||
// #define OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST
|
|
@ -1,49 +0,0 @@
|
|||
#if defined(FEATURE_LCD_4BIT) || defined(FEATURE_LCD_8BIT) || defined(FEATURE_LCD_ADAFRUIT_I2C) || defined(FEATURE_LCD_ADAFRUIT_BACKPACK) || defined(FEATURE_LCD_YDv1) ||defined(FEATURE_LCD1602_N07DH) || defined(FEATURE_LCD_SAINSMART_I2C) || defined(FEATURE_LCD_FABO_PCF8574) || defined(FEATURE_LCD_MATHERTEL_PCF8574) || defined(FEATURE_LCD_HD44780)
|
||||
#define FEATURE_DISPLAY
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT) && !defined(FEATURE_COMMAND_LINE_INTERFACE)
|
||||
#define FEATURE_COMMAND_LINE_INTERFACE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_WINKEY_EMULATION)
|
||||
#define FEATURE_SERIAL
|
||||
#endif
|
||||
|
||||
//#if defined(HARDWARE_ARDUINO_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#if defined(ARDUINO_SAM_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#error "In order to use FEATURE_MEMORIES with HARDWARE_ARDUINO_DUE you need FEATURE_EEPROM_E24C1024"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_DISPLAY) || defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_CW_COMPUTER_KEYBOARD)
|
||||
#define FEATURE_PADDLE_ECHO
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_STRAIGHT_KEY) && (defined(FEATURE_STRAIGHT_KEY_ECHO) || defined(FEATURE_MEMORIES) || defined(FEATURE_CW_COMPUTER_KEYBOARD))
|
||||
#define FEATURE_STRAIGHT_KEY_DECODE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_WEB_SERVER) || defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_ETHERNET
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_UDP
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD) && defined(FEATURE_3x4_KEYPAD)
|
||||
#error "You can't use both FEATURE_4x4_KEYPAD and FEATURE_3x4_KEYPAD simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_TRAINING_COMMAND_LINE_INTERFACE) && defined(OPTION_WORDSWORTH_NORSK) && !defined(OPTION_NON_ENGLISH_EXTENSIONS)
|
||||
#define OPTION_NON_ENGLISH_EXTENSIONS
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) && defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#error "You can't use both FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1 and FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3 simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) || defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#define FEATURE_SINEWAVE_SIDETONE
|
||||
#endif
|
|
@ -1,101 +0,0 @@
|
|||
// compile time features and options - comment or uncomment to add or delete features
|
||||
// FEATURES add more bytes to the compiled binary, OPTIONS change code behavior
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_BUTTONS
|
||||
// #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
|
||||
// #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_SERIAL_HELP
|
||||
// #define FEATURE_HELL
|
||||
// #define FEATURE_PS2_KEYBOARD // Use a PS2 keyboard to send code - Change keyboard layout (non-US) in K3NG_PS2Keyboard.h. Additional options below.
|
||||
// #define FEATURE_USB_KEYBOARD // Use a USB keyboard to send code - Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CW_COMPUTER_KEYBOARD // Have an Arduino Due or Leonardo act as a USB HID (Human Interface Device) keyboard and use the paddle to "type" characters on the computer -- uncomment this line in ino file: #include <Keyboard.h>
|
||||
// #define FEATURE_DEAD_OP_WATCHDOG
|
||||
// #define FEATURE_AUTOSPACE
|
||||
// #define FEATURE_FARNSWORTH
|
||||
// #define FEATURE_DL2SBA_BANKSWITCH // Switch memory banks feature as described here: http://dl2sba.com/index.php?option=com_content&view=article&id=131:nanokeyer&catid=15:shack&Itemid=27#english
|
||||
// #define FEATURE_LCD_4BIT // classic LCD disidefplay using 4 I/O lines
|
||||
// #define FEATURE_LCD_ADAFRUIT_I2C // Adafruit I2C LCD display using MCP23017 at addr 0x20
|
||||
// #define FEATURE_LCD_ADAFRUIT_BACKPACK // Adafruit I2C LCD Backup using MCP23008 (courtesy Josiah Ritchie, KE0BLL)
|
||||
// #define FEATURE_LCD_YDv1 // YourDuino I2C LCD display with old LCM 1602 V1 ic
|
||||
// #define FEATURE_LCD1602_N07DH // http://linksprite.com/wiki/index.php5?title=16_X_2_LCD_Keypad_Shield_for_Arduino
|
||||
// #define FEATURE_LCD_SAINSMART_I2C
|
||||
// #define FEATURE_CW_DECODER
|
||||
// #define FEATURE_SLEEP // go to sleep after x minutes to conserve battery power (not compatible with Arduino DUE, may have mixed results with Mega and Mega ADK)
|
||||
// #define FEATURE_ROTARY_ENCODER // rotary encoder speed control
|
||||
// #define FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING
|
||||
// #define FEATURE_USB_MOUSE // Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CAPACITIVE_PADDLE_PINS // remove the bypass capacitors on the paddle_left and paddle_right lines when using capactive paddles
|
||||
// #define FEATURE_LED_RING // Mayhew Labs Led Ring support
|
||||
// #define FEATURE_ALPHABET_SEND_PRACTICE // enables command mode S command - created by Ryan, KC2ZWM
|
||||
// #define FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICE // enables command mode U
|
||||
// #define FEATURE_PTT_INTERLOCK
|
||||
// #define FEATURE_QLF
|
||||
// #define FEATURE_EEPROM_E24C1024
|
||||
// #define FEATURE_STRAIGHT_KEY
|
||||
// #define FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
// #define FEATURE_PADDLE_ECHO
|
||||
// #define FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define FEATURE_AMERICAN_MORSE
|
||||
// #define FEATURE_4x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
// #define FEATURE_3x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT // Activate the Command Line interface on the secondary serial port
|
||||
#define OPTION_PRIMARY_SERIAL_PORT_DEFAULT_WINKEY_EMULATION // Use when activating both FEATURE_WINKEY_EMULATION and FEATURE_COMMAND_LINE_INTERFACE
|
||||
// simultaneously. This will make Winkey emulation be the default at boot up;
|
||||
// hold command button down at boot up to activate CLI mode
|
||||
|
||||
// #define OPTION_SUPPRESS_SERIAL_BOOT_MSG
|
||||
#define OPTION_INCLUDE_PTT_TAIL_FOR_MANUAL_SENDING
|
||||
#define OPTION_EXCLUDE_PTT_HANG_TIME_FOR_MANUAL_SENDING
|
||||
//#define OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP // if ASR is not disabled, you may need this to discard errant serial port bytes at startup
|
||||
// #define OPTION_WINKEY_STRICT_EEPROM_WRITES_MAY_WEAR_OUT_EEPROM // with this activated the unit will write non-volatile settings to EEPROM when set by Winkey commands
|
||||
// #define OPTION_WINKEY_SEND_WORDSPACE_AT_END_OF_BUFFER
|
||||
// #define OPTION_WINKEY_STRICT_HOST_OPEN // require an admin host open Winkey command before doing any other commands
|
||||
#define OPTION_WINKEY_2_SUPPORT // comment out to revert to Winkey version 1 emulation
|
||||
#define OPTION_WINKEY_INTERRUPTS_MEMORY_REPEAT
|
||||
//#define OPTION_WINKEY_UCXLOG_9600_BAUD // use this only with UCXLog configured for Winkey 9600 baud mode
|
||||
#define OPTION_WINKEY_2_HOST_CLOSE_NO_SERIAL_PORT_RESET // activate this when using Winkey 2 emulation and Win-Test
|
||||
// #define OPTION_WINKEY_FREQUENT_STATUS_REPORT // activate this to make Winkey emulation play better with RUMlog and RUMped
|
||||
#define OPTION_WINKEY_IGNORE_LOWERCASE // Enable for typical K1EL Winkeyer behavior (use for SkookumLogger version 1.10.14 and prior to workaround "r" bug)
|
||||
#define OPTION_WINKEY_BLINK_PTT_ON_HOST_OPEN
|
||||
// #define OPTION_REVERSE_BUTTON_ORDER // This is mainly for the DJ0MY NanoKeyer http://nanokeyer.wordpress.com/
|
||||
#define OPTION_PROG_MEM_TRIM_TRAILING_SPACES // trim trailing spaces from memory when programming in command mode
|
||||
#define OPTION_DIT_PADDLE_NO_SEND_ON_MEM_RPT // this makes dit paddle memory interruption a little smoother
|
||||
// #define OPTION_MORE_DISPLAY_MSGS // additional optional display messages - comment out to save memory
|
||||
// #define OPTION_N1MM_WINKEY_TAB_BUG_WORKAROUND // enable this to ignore the TAB key in the Send CW window (this breaks SO2R functionality in N1MM)
|
||||
// #define OPTION_WATCHDOG_TIMER // this enables a four second ATmega48/88/168/328 watchdog timer; use for unattended/remote operation only
|
||||
// #define OPTION_MOUSE_MOVEMENT_PADDLE // experimental (just fooling around) - mouse movement will act like a paddle
|
||||
// #define OPTION_NON_ENGLISH_EXTENSIONS // add support for additional CW characters (i.e. À, Å, Þ, etc.)
|
||||
// #define OPTION_DISPLAY_NON_ENGLISH_EXTENSIONS // LCD display suport for non-English (NO/DK/DE) characters - Courtesy of OZ1JHM
|
||||
// #define OPTION_UNKNOWN_CHARACTER_ERROR_TONE
|
||||
#define OPTION_DO_NOT_SAY_HI
|
||||
#define OPTION_BLINK_HI_ON_PTT
|
||||
// #define OPTION_PS2_NON_ENGLISH_CHAR_LCD_DISPLAY_SUPPORT // makes some non-English characters from the PS2 keyboard display correctly in the LCD display (donated by Marcin sp5iou)
|
||||
// #define OPTION_PS2_KEYBOARD_RESET // reset the PS2 keyboard upon startup with 0xFF (contributed by Bill, W9BEL)
|
||||
// #define OPTION_SAVE_MEMORY_NANOKEYER
|
||||
// #define OPTION_CW_KEYBOARD_CAPSLOCK_BEEP
|
||||
// #define OPTION_CW_KEYBOARD_ITALIAN
|
||||
// #define OPTION_CW_KEYBOARD_GERMAN
|
||||
// #define OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define OPTION_INVERT_PADDLE_PIN_LOGIC
|
||||
// #define OPTION_ADVANCED_SPEED_DISPLAY //enables "nerd" speed visualization on display: wpm, cpm (char per min), duration of dit and dah in milliseconds and ratio (contributed by Giorgio, IZ2XBZ)
|
||||
// #define OPTION_PROSIGN_SUPPORT // additional prosign support for paddle and straight key echo on display, CLI, and in memory storage
|
||||
// #define OPTION_RUSSIAN_LANGUAGE_SEND_CLI // Russian language CLI sending support (contributed by Павел Бирюков, UA1AQC)
|
||||
#define OPTION_DO_NOT_SEND_UNKNOWN_CHAR_QUESTION
|
||||
// #define OPTION_CMOS_SUPER_KEYER_IAMBIC_B_TIMING_ON_BY_DEFAULT
|
||||
#define OPTION_SIDETONE_DIGITAL_OUTPUT_NO_SQUARE_WAVE
|
||||
|
||||
// #define OPTION_WORDSWORTH_CZECH
|
||||
// #define OPTION_WORDSWORTH_DEUTSCH
|
||||
// #define OPTION_WORDSWORTH_NORSK
|
||||
|
||||
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
/* keyer_hardware.h
|
||||
|
||||
|
||||
Edit this file to enable specific hardware profiles.
|
||||
|
||||
When enabling a hardware option below, the default keyer_pin_settings.h, keyer_features_and_options.h, and keyer_settings.h files are not compiled.
|
||||
|
||||
See the comments on each line to determine what files are compiled and should be customized.
|
||||
|
||||
*/
|
||||
|
||||
// #define HARDWARE_NANOKEYER_REV_B // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_b.h, keyer_features_and_options_nanokeyer_rev_b.h, keyer_settings_nanokeyer_rev_b.h
|
||||
// #define HARDWARE_NANOKEYER_REV_D // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_d.h, keyer_features_and_options_nanokeyer_rev_d.h, keyer_settings_nanokeyer_rev_d.h
|
||||
// #define HARDWARE_OPEN_INTERFACE // http://remoteqth.com/open-interface.php edit these files: keyer_pin_settings_open_interface.h, keyer_features_and_options_open_interface.h, keyer_settings_open_interface.h
|
||||
// #define HARDWARE_TINYKEYER // http://www.ok1rr.com/index.php/technical-topics/122-the-tinykeyer edit these files: keyer_pin_settings_tinykeyer.h, keyer_features_and_options_tinykeyer.h, keyer_settings_tinykeyer.h
|
||||
// #define HARDWARE_FK_10 // Funtronics K3NG Keyer FK-10 - See notes below!!! http://www.elekitsorparts.com/product/funtronics-k3ng-keyer-fk-10-99-winkey-emulation/ files: keyer_pin_settings_fk_10.h, keyer_features_and_options_fk_10.h, keyer_settings_fk_10.h
|
||||
// #define HARDWARE_MAPLE_MINI // edit these files: keyer_pin_settings_maple_mini.h, keyer_settings_maple_mini.h, keyer_features_and_options_maple_mini.h
|
||||
// #define HARDWARE_GENERIC_STM32F103C // edit these files: keyer_pin_settings_generic_STM32F103C.h, keyer_settings_generic_STM32F103C.h, keyer_features_and_options_generic_STM32F103C.h //sp5iou 20180329
|
||||
#define HARDWARE_MORTTY // edit these files: keyer_pin_settings_mortty.h, keyer_settings_mortty.h, keyer_features_and_options_mortty.h
|
||||
// #define HARDWARE_YAACWK // http://i1cra.briata.org/yaacwk/ files: keyer_pin_settings_yaacwk.h, keyer_features_and_options_yaacwk.h, keyer_settings_yaacwk.h
|
||||
// #define HARDWARE_K5BCQ // edit these files: keyer_pin_settings_k5bcq.h, keyer_features_and_options_k5bcq.h, keyer_settings_k5bcq.h - Kees Talen K5BCQ - Documentation: https://groups.io/g/radioartisan/files/K5BCQ
|
||||
// #define HARDWARE_MEGAKEYER // https://github.com/w6ipa/megakeyer files: keyer_pin_settings_megakeyer.h, keyer_features_and_options_megakeyer.h, keyer_settings_megakeyer.h - https://projects.w6ipa.com/megakeyer/Mega%20Keyer%20Build%20Instructions.html
|
||||
// #define HARDWARE_TEST_EVERYTHING // Goody K3NG uses this to test
|
||||
// #define HARDWARE_TEST // Goody K3NG uses this to test
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
HARDWARE_GENERIC_STM32F103C (Contributed by sp5iou)
|
||||
|
||||
How to deal with those boards with Arduino: https://www.techshopbd.com/uploads/product_document/STM32bluepillarduinoguide(1).pdf
|
||||
|
||||
|
||||
Funtronics FK-10 Programming Notes (Contributed by Disneysw 2016-12-10)
|
||||
|
||||
Programming the unit is accomplished by selecting "Mega2560" as the target processor and uploading to the rear USB port with the front
|
||||
switch set to the Arduino position
|
||||
|
||||
Note: in order to get the FK-10 USB Host port working correctly you will need to patch the file "UsbCore.h" in the USB_Host_Shield library.
|
||||
At the time of writing it is line 41 that needs modified to change "P10" to "P53" i.e. from
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
to:
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P53, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// Do not touch anything below this line!
|
||||
// Serial port class definitions for various devices
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)||defined(ARDUINO_GENERIC_STM32F103C) //sp5iou 20180329
|
||||
#define PRIMARY_SERIAL_CLS USBSerial
|
||||
#define SECONDARY_SERIAL_CLS USBSerial
|
||||
#elif defined(ARDUINO_AVR_PROMICRO) || defined(ARDUINO_AVR_LEONARDO) || defined(ARDUINO_AVR_MICRO) || defined(ARDUINO_AVR_YUN) || defined(ARDUINO_AVR_ESPLORA) || defined(ARDUINO_AVR_LILYPAD_USB) || defined(ARDUINO_AVR_ROBOT_CONTROL) || defined(ARDUINO_AVR_ROBOT_MOTOR) || defined(ARDUINO_AVR_LEONARDO_ETH)
|
||||
#define PRIMARY_SERIAL_CLS Serial_
|
||||
#define SECONDARY_SERIAL_CLS Serial_
|
||||
#elif defined(TEENSYDUINO)
|
||||
#define PRIMARY_SERIAL_CLS usb_serial_class
|
||||
#define SECONDARY_SERIAL_CLS usb_serial_class
|
||||
#else
|
||||
#define PRIMARY_SERIAL_CLS HardwareSerial
|
||||
#define SECONDARY_SERIAL_CLS HardwareSerial
|
||||
#endif
|
||||
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
/* Pins - you must review these and configure ! */
|
||||
#ifndef keyer_pin_settings_h
|
||||
#define keyer_pin_settings_h
|
||||
|
||||
#define paddle_left 2
|
||||
#define paddle_right 5
|
||||
#define tx_key_line_1 11 // (high = key down/tx on)
|
||||
#define tx_key_line_2 12
|
||||
#define tx_key_line_3 0
|
||||
#define tx_key_line_4 0
|
||||
#define tx_key_line_5 0
|
||||
#define tx_key_line_6 0
|
||||
#define sidetone_line 4 // connect a speaker for sidetone
|
||||
#define potentiometer A0 // Speed potentiometer (0 to 5 V) Use pot from 1k to 10k
|
||||
#define ptt_tx_1 13 // PTT ("push to talk") lines
|
||||
#define ptt_tx_2 0 // Can be used for keying fox transmitter, T/R switch, or keying slow boatanchors
|
||||
#define ptt_tx_3 0 // These are optional - set to 0 if unused
|
||||
#define ptt_tx_4 0
|
||||
#define ptt_tx_5 0
|
||||
#define ptt_tx_6 0
|
||||
#define tx_key_dit 0 // if defined, goes active for dit (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define tx_key_dah 0 // if defined, goes active for dah (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define potentiometer_enable_pin 0 // if defined, the potentiometer will be enabled only when this pin is held low; set to 0 to ignore this pin
|
||||
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_pin A1
|
||||
#define command_mode_active_led 0
|
||||
#endif //FEATURE_COMMAND_BUTTONS
|
||||
|
||||
/*
|
||||
FEATURE_SIDETONE_SWITCH
|
||||
Enabling this feature and an external toggle switch adds switch control for playing cw sidetone.
|
||||
ST Switch status is displayed in the status command. This feature will override the software control of the sidetone (\o).
|
||||
Arduino pin is assigned by SIDETONE_SWITCH
|
||||
*/
|
||||
|
||||
#ifdef FEATURE_SIDETONE_SWITCH
|
||||
#define SIDETONE_SWITCH 8
|
||||
#endif //FEATURE_SIDETONE_SWITCH
|
||||
|
||||
|
||||
//lcd pins
|
||||
#ifdef FEATURE_LCD_4BIT
|
||||
#define lcd_rs A2
|
||||
#define lcd_enable 10
|
||||
#define lcd_d4 6
|
||||
#define lcd_d5 7
|
||||
#define lcd_d6 8
|
||||
#define lcd_d7 9
|
||||
#endif //FEATURE_LCD_4BIT
|
||||
|
||||
#ifdef FEATURE_LCD1602_N07DH
|
||||
#define lcd_rs 8
|
||||
#define lcd_enable 9
|
||||
#define lcd_d4 4
|
||||
#define lcd_d5 5
|
||||
#define lcd_d6 6
|
||||
#define lcd_d7 7
|
||||
#endif //FEATURE_LCD1602_N07DH
|
||||
|
||||
//ps2 keyboard pins
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define ps2_keyboard_data A3
|
||||
#define ps2_keyboard_clock 3 // this must be on an interrupt capable pin!
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
// rotary encoder pins and options - rotary encoder code from Jim Balls M0CKE
|
||||
#ifdef FEATURE_ROTARY_ENCODER
|
||||
#define OPTION_ENCODER_HALF_STEP_MODE // Half-step mode?
|
||||
#define rotary_pin1 0 // CW Encoder Pin
|
||||
#define rotary_pin2 0 // CCW Encoder Pin
|
||||
#define OPTION_ENCODER_ENABLE_PULLUPS // define to enable weak pullups.
|
||||
#endif //FEATURE_ROTARY_ENCODER
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_sdi A10 //2 //Data
|
||||
#define led_ring_clk A9 //3 //Clock
|
||||
#define led_ring_le A8 //4 //Latch
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_ALPHABET_SEND_PRACTICE
|
||||
#define correct_answer_led 0
|
||||
#define wrong_answer_led 0
|
||||
#endif //FEATURE_ALPHABET_SEND_PRACTICE
|
||||
|
||||
#ifdef FEATURE_PTT_INTERLOCK
|
||||
#define ptt_interlock 0 // this pin disables PTT and TX KEY
|
||||
#endif //FEATURE_PTT_INTERLOCK
|
||||
|
||||
#ifdef FEATURE_STRAIGHT_KEY
|
||||
#define pin_straight_key 52
|
||||
#endif //FEATURE_STRAIGHT_KEY
|
||||
|
||||
#ifdef FEATURE_CW_DECODER
|
||||
#define cw_decoder_pin A3//A11 //A5 //A3
|
||||
#ifdef OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_audio_input_pin 0 // this must be an analog pin!
|
||||
#endif //OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_indicator 24
|
||||
#endif //FEATURE_CW_DECODER
|
||||
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define compression_detection_pin 13
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define keyer_awake 0
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_CAPACITIVE_PADDLE_PINS)
|
||||
#define capactive_paddle_pin_inhibit_pin 0 // if this pin is defined and is set high, the capacitive paddle pins will switch to normal (non-capacitive) sensing mode
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_4x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col3 37
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_3x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_SEQUENCER
|
||||
#define sequencer_1_pin 40
|
||||
#define sequencer_2_pin 41
|
||||
#define sequencer_3_pin 42
|
||||
#define sequencer_4_pin 43
|
||||
#define sequencer_5_pin 44
|
||||
#endif //FEATURE_SEQUENCER
|
||||
|
||||
#define ptt_input_pin 0
|
||||
|
||||
#define tx_inhibit_pin 0
|
||||
#define tx_pause_pin 0
|
||||
|
||||
#else
|
||||
|
||||
#error "Multiple pin_settings.h files included somehow..."
|
||||
|
||||
#endif //keyer_pin_settings_h
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
// Initial and hardcoded settings
|
||||
#define initial_speed_wpm 26 // "factory default" keyer speed setting
|
||||
#define initial_command_mode_speed_wpm 20 // "factory default" command mode speed setting
|
||||
#define initial_sidetone_freq 600 // "factory default" sidetone frequency setting
|
||||
#define sidetone_hz_limit_low 299
|
||||
#define sidetone_hz_limit_high 2001
|
||||
#define hz_high_beep 1500 // frequency in hertz of high beep
|
||||
#define hz_low_beep 400 // frequency in hertz of low beep
|
||||
#define initial_dah_to_dit_ratio 300 // 300 = 3 / normal 3:1 ratio
|
||||
#define initial_ptt_lead_time_tx1 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx1 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx2 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx2 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx3 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx3 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx4 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx4 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx5 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx5 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx6 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx6 10 // PTT tail time in mS
|
||||
#define initial_qrss_dit_length 1 // QRSS dit length in seconds
|
||||
#define initial_pot_wpm_low_value 13 // Potentiometer WPM fully CCW
|
||||
#define initial_pot_wpm_high_value 35 // Potentiometer WPM fully CW
|
||||
#define wpm_limit_low 5
|
||||
#define wpm_limit_high 60
|
||||
#define potentiometer_change_threshold 0.9 // don't change the keyer speed until pot wpm has changed more than this
|
||||
#define send_buffer_size 150
|
||||
#define default_length_letterspace 3
|
||||
#define default_length_wordspace 7
|
||||
#define default_keying_compensation 0 // number of milliseconds to extend all dits and dahs - for QSK on boatanchors
|
||||
#define default_first_extension_time 0 // number of milliseconds to extend first sent dit or dah
|
||||
#define default_pot_full_scale_reading 1023
|
||||
#define default_weighting 50 // 50 = weighting factor of 1 (normal)
|
||||
#define default_ptt_hang_time_wordspace_units 0.0
|
||||
#define memory_area_start 60 // the eeprom location where memory space starts
|
||||
#define memory_area_end 1023 // the eeprom location where memory space ends
|
||||
#define winkey_c0_wait_time 1 // the number of milliseconds to wait to send 0xc0 byte after send buffer has been sent
|
||||
#define winkey_command_timeout_ms 5000
|
||||
#define winkey_discard_bytes_startup 3 // this is used if OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP is enabled above
|
||||
#define winkey_xoff_threshold 20 // the number of chars in the buffer when we begin sending XOFFs
|
||||
#define winkey_xon_threshold 10 // the number of chars in the buffer below which we deactivate XOFF
|
||||
#define default_memory_repeat_time 3000 // time in milliseconds
|
||||
#define LCD_COLUMNS 16
|
||||
#define LCD_ROWS 2
|
||||
#define hell_pixel_microseconds 4025
|
||||
#define program_memory_limit_consec_spaces 1
|
||||
#define serial_leading_zeros 1 // set to 1 to activate leading zeros in serial numbers (i.e. #1 = 001)
|
||||
#define serial_cut_numbers 0 // set to 1 to activate cut numbers in serial numbers (i.e. #10 = 1T, #19 = 1N)
|
||||
#define go_to_sleep_inactivity_time 10 // minutes - FEATURE_SLEEP
|
||||
#define default_cmos_super_keyer_iambic_b_timing_percent 33 // use with FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING; should be between 0 to 99 % (0% = true iambic b;100% = iambic a behavior)
|
||||
#define cw_echo_timing_factor 0.25
|
||||
#define winkey_paddle_echo_buffer_decode_timing_factor 0.25
|
||||
#define potentiometer_always_on 0
|
||||
#define ptt_interlock_check_every_ms 100
|
||||
#define ptt_interlock_active_state HIGH
|
||||
#define unknown_cw_character '*'
|
||||
#define cli_paddle_echo_on_at_boot 1
|
||||
#define cli_straight_key_echo_on_at_boot 1
|
||||
#define tx_key_dit_and_dah_pins_active_state HIGH
|
||||
#define tx_key_dit_and_dah_pins_inactive_state LOW
|
||||
#define potentiometer_check_interval_ms 0 //=====150
|
||||
#define potentiometer_reading_threshold 1
|
||||
#define default_paddle_interruption_quiet_time_element_lengths 0
|
||||
#define default_wordsworth_wordspace 6
|
||||
#define default_wordsworth_repetition 1
|
||||
#define serial_program_memory_buffer_size 500
|
||||
#define eeprom_write_time_ms 30000
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_number_of_buttons 4
|
||||
#define analog_buttons_r1 10
|
||||
#define analog_buttons_r2 1
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_COMMAND_BUTTONS) && !defined(FEATURE_PS2_KEYBOARD) && !defined(FEATURE_USB_KEYBOARD) && !defined(FEATURE_COMMAND_LINE_INTERFACE) && !defined(FEATURE_WINKEY_EMULATION)
|
||||
#define number_of_memories byte(analog_buttons_number_of_buttons-1)
|
||||
#else
|
||||
#define number_of_memories byte(12)
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
#define capacitance_threshold 2
|
||||
#endif //FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_low_limit 10
|
||||
#define led_ring_high_limit 50
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_QLF
|
||||
#define qlf_dit_max 125
|
||||
#define qlf_dit_min 75
|
||||
#define qlf_dah_max 200
|
||||
#define qlf_dah_min 100
|
||||
#define qlf_on_by_default 0
|
||||
#endif //FEATURE_QLF
|
||||
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#ifdef OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
#define WINKEY_DEFAULT_BAUD 9600
|
||||
#else
|
||||
#define WINKEY_DEFAULT_BAUD 1200
|
||||
#endif //OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
// alter these below to map alternate sidetones for Winkey interface protocol emulation
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 3759
|
||||
#define WINKEY_SIDETONE_2 1879
|
||||
#define WINKEY_SIDETONE_3 1252
|
||||
#define WINKEY_SIDETONE_4 940
|
||||
#define WINKEY_SIDETONE_5 752
|
||||
#define WINKEY_SIDETONE_6 625
|
||||
#define WINKEY_SIDETONE_7 535
|
||||
#define WINKEY_SIDETONE_8 469
|
||||
#define WINKEY_SIDETONE_9 417
|
||||
#define WINKEY_SIDETONE_10 375
|
||||
#else //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 4000
|
||||
#define WINKEY_SIDETONE_2 2000
|
||||
#define WINKEY_SIDETONE_3 1333
|
||||
#define WINKEY_SIDETONE_4 1000
|
||||
#define WINKEY_SIDETONE_5 800
|
||||
#define WINKEY_SIDETONE_6 666
|
||||
#define WINKEY_SIDETONE_7 571
|
||||
#define WINKEY_SIDETONE_8 500
|
||||
#define WINKEY_SIDETONE_9 444
|
||||
#define WINKEY_SIDETONE_10 400
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
|
||||
#define WINKEY_1_REPORT_VERSION_NUMBER 10
|
||||
#define WINKEY_2_REPORT_VERSION_NUMBER 23
|
||||
|
||||
// alter these to map to alternate hang time wordspace units
|
||||
#define WINKEY_HANG_TIME_1_0 1.0
|
||||
#define WINKEY_HANG_TIME_1_33 1.33
|
||||
#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_PADDLE_A2D 0xEE
|
||||
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00
|
||||
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
|
||||
|
||||
#define PRIMARY_SERIAL_PORT &Serial
|
||||
#define PRIMARY_SERIAL_PORT_BAUD 115200 // This applies only when the port is in Command Line Interface mode. In Winkey mode it will default to 1200.
|
||||
|
||||
#ifdef FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
#define SECONDARY_SERIAL_PORT &Serial1
|
||||
#define SECONDARY_SERIAL_PORT_BAUD 115200
|
||||
#endif
|
||||
|
||||
|
||||
#define CW_DECODER_SCREEN_COLUMNS 120 // word wrap at this many columns
|
||||
#define CW_DECODER_SPACE_PRINT_THRESH 4.5 // print space if no tone for this many element lengths
|
||||
#define CW_DECODER_SPACE_DECODE_THRESH 2.0 // invoke character decode if no tone for this many element lengths
|
||||
#define CW_DECODER_NOISE_FILTER 20 // ignore elements shorter than this (mS)
|
||||
|
||||
#define STRAIGHT_KEY_ACTIVE_STATE LOW
|
||||
|
||||
#ifdef FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_WPM 30
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_RATIO 300 // 300 = 3:1 ratio
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_WPM 70
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_RATIO 240 // 240 = 2.4:1 ratio
|
||||
#endif //FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define COMPETITION_COMPRESSION_DETECTION_ARRAY_SIZE 16
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_LOWER_LIMIT 1
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_UPPER_LIMIT 6.0
|
||||
#define COMPETITION_COMPRESSION_DETECTION_AVERAGE_ALARM_THRESHOLD 3.0
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
|
||||
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_ETHERNET)
|
||||
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
|
||||
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
|
||||
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.179")
|
||||
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
|
||||
|
||||
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
|
||||
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
|
||||
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
|
||||
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
|
||||
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
|
||||
#endif //FEATURE_ETHERNET
|
||||
|
||||
#define WEB_SERVER_CONTROL_TX_KEY_TIME_LIMIT_SECS 10
|
||||
|
||||
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
|
||||
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
|
||||
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
#define KEYPAD_ROWS 4 //KeyPad Rows
|
||||
#if defined(FEATURE_4x4_KEYPAD)
|
||||
#define KEYPAD_COLS 4 //keypad Columns
|
||||
#else
|
||||
#define KEYPAD_COLS 3
|
||||
#endif
|
||||
#define mem1 0 //Memory numbers for Keypad: Actual memory numbers start with "0"
|
||||
#define mem2 1
|
||||
#define mem3 2
|
||||
#define mem4 3
|
||||
#define mem5 4
|
||||
#define mem6 5
|
||||
#define mem7 6
|
||||
#define mem8 7
|
||||
#define mem9 8
|
||||
#define mem10 9
|
||||
#define mem11 10
|
||||
#define mem12 11
|
||||
#endif //#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
|
||||
#define initial_sidetone_mode 1 // Sidetone mode, 0=OFF, 1=ON, 2=PADDLE_ONLY
|
||||
|
||||
#define sd_card_spi_ss_line 4
|
||||
|
||||
|
||||
#if defined(OPTION_DFROBOT_LCD_COMMAND_BUTTONS)
|
||||
|
||||
// For V1.1 board use these values
|
||||
#define dfrobot_btnRIGHT_analog 50
|
||||
#define dfrobot_btnUP_analog 250
|
||||
#define dfrobot_btnDOWN_analog 450
|
||||
#define dfrobot_btnLEFT_analog 650
|
||||
#define dfrobot_btnSELECT_analog 850
|
||||
|
||||
// For V1.0 board use these values
|
||||
// #define dfrobot_btnRIGHT_analog 50
|
||||
// #define dfrobot_btnUP_analog 195
|
||||
// #define dfrobot_btnDOWN_analog 380
|
||||
// #define dfrobot_btnLEFT_analog 555
|
||||
// #define dfrobot_btnSELECT_analog 790
|
||||
|
||||
// button to memory mappings (0 = command button, 1 = memory 1, 2 = memory 2, etc.)
|
||||
#define dfrobot_btnRIGHT 2
|
||||
#define dfrobot_btnUP 1
|
||||
#define dfrobot_btnDOWN 3
|
||||
#define dfrobot_btnLEFT 4
|
||||
#define dfrobot_btnSELECT 0
|
||||
#define dfrobot_btnNONE 255 // do not change
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define sequencer_pins_active_state HIGH
|
||||
#define sequencer_pins_inactive_state LOW
|
||||
#define ptt_line_active_state HIGH
|
||||
#define ptt_line_inactive_state LOW
|
||||
#define tx_key_line_active_state HIGH
|
||||
#define tx_key_line_inactive_state LOW
|
||||
#define ptt_input_pin_active_state LOW
|
||||
#define ptt_input_pin_inactive_state HIGH
|
||||
#define tx_inhibit_pin_active_state LOW
|
||||
#define tx_inhibit_pin_inactive_state HIGH
|
||||
#define tx_pause_pin_active_state LOW
|
||||
#define tx_pause_pin_inactive_state HIGH
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)
|
||||
#define button_value_factor 4095
|
||||
#else
|
||||
#define button_value_factor 1023
|
||||
#endif
|
||||
|
||||
#define farnsworth_timing_calibration 1.15
|
||||
|
||||
#define sidetone_volume_low_limit 10
|
||||
#define sidetone_volume_high_limit 500
|
||||
|
||||
|
|
@ -1,266 +0,0 @@
|
|||
// keyer_training_text_czech.h
|
||||
// Czech word list contributed by Martin, OK1RR
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "DO";
|
||||
const char s2_2[] PROGMEM = "NA";
|
||||
const char s2_3[] PROGMEM = "PO";
|
||||
const char s2_4[] PROGMEM = "MY";
|
||||
const char s2_5[] PROGMEM = "TO";
|
||||
const char s2_6[] PROGMEM = "NE";
|
||||
const char s2_7[] PROGMEM = "VY";
|
||||
const char s2_8[] PROGMEM = "ZE";
|
||||
const char s2_9[] PROGMEM = "VE";
|
||||
const char s2_10[] PROGMEM = "JA";
|
||||
const char s2_11[] PROGMEM = "TY";
|
||||
const char s2_12[] PROGMEM = "BY";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "SE";
|
||||
const char s2_15[] PROGMEM = "AZ";
|
||||
const char s2_16[] PROGMEM = "TU";
|
||||
const char s2_17[] PROGMEM = "TI";
|
||||
const char s2_18[] PROGMEM = "ZA";
|
||||
const char s2_19[] PROGMEM = "CI";
|
||||
const char s2_20[] PROGMEM = "CO";
|
||||
const char s2_21[] PROGMEM = "JI";
|
||||
const char s2_22[] PROGMEM = "MU";
|
||||
const char s2_23[] PROGMEM = "JE";
|
||||
const char s2_24[] PROGMEM = "UZ";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DVA";
|
||||
const char s3_2[] PROGMEM = "TRI";
|
||||
const char s3_3[] PROGMEM = "MUJ";
|
||||
const char s3_4[] PROGMEM = "NAS";
|
||||
const char s3_5[] PROGMEM = "ONA";
|
||||
const char s3_6[] PROGMEM = "ONI";
|
||||
const char s3_7[] PROGMEM = "ONO";
|
||||
const char s3_8[] PROGMEM = "VAS";
|
||||
const char s3_9[] PROGMEM = "VSE";
|
||||
const char s3_10[] PROGMEM = "POD";
|
||||
const char s3_11[] PROGMEM = "NAD";
|
||||
const char s3_12[] PROGMEM = "KDE";
|
||||
const char s3_13[] PROGMEM = "KDY";
|
||||
const char s3_14[] PROGMEM = "KAM";
|
||||
const char s3_15[] PROGMEM = "KUS";
|
||||
const char s3_16[] PROGMEM = "DEN";
|
||||
const char s3_17[] PROGMEM = "TAM";
|
||||
const char s3_18[] PROGMEM = "DAT";
|
||||
const char s3_19[] PROGMEM = "DAM";
|
||||
const char s3_20[] PROGMEM = "DAS";
|
||||
const char s3_21[] PROGMEM = "MIT";
|
||||
const char s3_22[] PROGMEM = "JIT";
|
||||
const char s3_23[] PROGMEM = "NEZ";
|
||||
const char s3_24[] PROGMEM = "ROK";
|
||||
const char s3_25[] PROGMEM = "PAK";
|
||||
const char s3_26[] PROGMEM = "DIK";
|
||||
const char s3_27[] PROGMEM = "DUM";
|
||||
const char s3_28[] PROGMEM = "PRO";
|
||||
const char s3_29[] PROGMEM = "PRI";
|
||||
const char s3_30[] PROGMEM = "OKO";
|
||||
const char s3_31[] PROGMEM = "CAS";
|
||||
const char s3_32[] PROGMEM = "CAJ";
|
||||
const char s3_33[] PROGMEM = "CIL";
|
||||
const char s3_34[] PROGMEM = "COP";
|
||||
const char s3_35[] PROGMEM = "MUZ";
|
||||
const char s3_36[] PROGMEM = "ASI";
|
||||
const char s3_37[] PROGMEM = "BEZ";
|
||||
const char s3_38[] PROGMEM = "BOJ";
|
||||
const char s3_39[] PROGMEM = "BUH";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "TATO";
|
||||
const char s4_2[] PROGMEM = "TITO";
|
||||
const char s4_3[] PROGMEM = "TOTO";
|
||||
const char s4_4[] PROGMEM = "DOMA";
|
||||
const char s4_5[] PROGMEM = "STAT";
|
||||
const char s4_6[] PROGMEM = "TADY";
|
||||
const char s4_7[] PROGMEM = "DOBA";
|
||||
const char s4_8[] PROGMEM = "TAKE";
|
||||
const char s4_9[] PROGMEM = "PRED";
|
||||
const char s4_10[] PROGMEM = "SVET";
|
||||
const char s4_11[] PROGMEM = "BRZY";
|
||||
const char s4_12[] PROGMEM = "TVUJ";
|
||||
const char s4_13[] PROGMEM = "TATA";
|
||||
const char s4_14[] PROGMEM = "MAMA";
|
||||
const char s4_15[] PROGMEM = "PSIK";
|
||||
const char s4_16[] PROGMEM = "ZENA";
|
||||
const char s4_17[] PROGMEM = "DITE";
|
||||
const char s4_18[] PROGMEM = "DETI";
|
||||
const char s4_19[] PROGMEM = "KONE";
|
||||
const char s4_20[] PROGMEM = "DUHA";
|
||||
const char s4_21[] PROGMEM = "RUKA";
|
||||
const char s4_22[] PROGMEM = "NOHA";
|
||||
const char s4_23[] PROGMEM = "PRST";
|
||||
const char s4_24[] PROGMEM = "POLE";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "VITR";
|
||||
const char s4_27[] PROGMEM = "MLHA";
|
||||
const char s4_28[] PROGMEM = "VODA";
|
||||
const char s4_29[] PROGMEM = "VAHA";
|
||||
const char s4_30[] PROGMEM = "PIVO";
|
||||
const char s4_31[] PROGMEM = "HRAT";
|
||||
const char s4_32[] PROGMEM = "RADA";
|
||||
const char s4_33[] PROGMEM = "PANI";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "JOSEF";
|
||||
const char name_3[] PROGMEM = "JIRI";
|
||||
const char name_4[] PROGMEM = "KAREL";
|
||||
const char name_5[] PROGMEM = "HONZA";
|
||||
const char name_6[] PROGMEM = "FRANTA";
|
||||
const char name_7[] PROGMEM = "PETR";
|
||||
const char name_8[] PROGMEM = "PAVEL";
|
||||
const char name_9[] PROGMEM = "JINDRA";
|
||||
const char name_10[] PROGMEM = "FILIP";
|
||||
const char name_11[] PROGMEM = "MILAN";
|
||||
const char name_12[] PROGMEM = "MARTIN";
|
||||
const char name_13[] PROGMEM = "DAVID";
|
||||
const char name_14[] PROGMEM = "TOMAS";
|
||||
const char name_15[] PROGMEM = "HANKA";
|
||||
const char name_16[] PROGMEM = "SASA";
|
||||
const char name_17[] PROGMEM = "IVAN";
|
||||
const char name_18[] PROGMEM = "BERT";
|
||||
const char name_19[] PROGMEM = "VASEK";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "JIRKA";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "PEPA";
|
||||
const char name_24[] PROGMEM = "JIRINA";
|
||||
const char name_25[] PROGMEM = "RISA";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "LUBOS";
|
||||
const char name_28[] PROGMEM = "TONDA";
|
||||
const char name_29[] PROGMEM = "LADA";
|
||||
const char name_30[] PROGMEM = "VLADA";
|
||||
const char name_31[] PROGMEM = "JENDA";
|
||||
const char name_32[] PROGMEM = "CYRIL";
|
||||
const char name_33[] PROGMEM = "BOHOUS";
|
||||
const char name_34[] PROGMEM = "KAMIL";
|
||||
const char name_35[] PROGMEM = "RENE";
|
||||
const char name_36[] PROGMEM = "PATRIK";
|
||||
const char name_37[] PROGMEM = "SIMON";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "LOJZA";
|
||||
const char name_40[] PROGMEM = "MATEJ";
|
||||
const char name_41[] PROGMEM = "FERDA";
|
||||
const char name_42[] PROGMEM = "MARIE";
|
||||
const char name_43[] PROGMEM = "ZDENEK";
|
||||
const char name_44[] PROGMEM = "JULEK";
|
||||
const char name_45[] PROGMEM = "STANDA";
|
||||
const char name_46[] PROGMEM = "SLAVEK";
|
||||
const char name_47[] PROGMEM = "VILDA";
|
||||
const char name_48[] PROGMEM = "VERA";
|
||||
const char name_49[] PROGMEM = "GUSTA";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,264 +0,0 @@
|
|||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "TO";
|
||||
const char s2_2[] PROGMEM = "IN";
|
||||
const char s2_3[] PROGMEM = "IT";
|
||||
const char s2_4[] PROGMEM = "IS";
|
||||
const char s2_5[] PROGMEM = "BE";
|
||||
const char s2_6[] PROGMEM = "AS";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "SO";
|
||||
const char s2_9[] PROGMEM = "WE";
|
||||
const char s2_10[] PROGMEM = "HE";
|
||||
const char s2_11[] PROGMEM = "BY";
|
||||
const char s2_12[] PROGMEM = "OR";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "DO";
|
||||
const char s2_15[] PROGMEM = "IF";
|
||||
const char s2_16[] PROGMEM = "ME";
|
||||
const char s2_17[] PROGMEM = "MY";
|
||||
const char s2_18[] PROGMEM = "UP";
|
||||
const char s2_19[] PROGMEM = "AN";
|
||||
const char s2_20[] PROGMEM = "GO";
|
||||
const char s2_21[] PROGMEM = "NO";
|
||||
const char s2_22[] PROGMEM = "US";
|
||||
const char s2_23[] PROGMEM = "AM";
|
||||
const char s2_24[] PROGMEM = "OF";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "THE";
|
||||
const char s3_2[] PROGMEM = "AND";
|
||||
const char s3_3[] PROGMEM = "FOR";
|
||||
const char s3_4[] PROGMEM = "ARE";
|
||||
const char s3_5[] PROGMEM = "BUT";
|
||||
const char s3_6[] PROGMEM = "NOT";
|
||||
const char s3_7[] PROGMEM = "YOU";
|
||||
const char s3_8[] PROGMEM = "ALL";
|
||||
const char s3_9[] PROGMEM = "ANY";
|
||||
const char s3_10[] PROGMEM = "CAN";
|
||||
const char s3_11[] PROGMEM = "HAD";
|
||||
const char s3_12[] PROGMEM = "HER";
|
||||
const char s3_13[] PROGMEM = "WAS";
|
||||
const char s3_14[] PROGMEM = "ONE";
|
||||
const char s3_15[] PROGMEM = "OUR";
|
||||
const char s3_16[] PROGMEM = "OUT";
|
||||
const char s3_17[] PROGMEM = "DAY";
|
||||
const char s3_18[] PROGMEM = "GET";
|
||||
const char s3_19[] PROGMEM = "HAS";
|
||||
const char s3_20[] PROGMEM = "HIM";
|
||||
const char s3_21[] PROGMEM = "HIS";
|
||||
const char s3_22[] PROGMEM = "HOW";
|
||||
const char s3_23[] PROGMEM = "MAN";
|
||||
const char s3_24[] PROGMEM = "NEW";
|
||||
const char s3_25[] PROGMEM = "NOW";
|
||||
const char s3_26[] PROGMEM = "OLD";
|
||||
const char s3_27[] PROGMEM = "SEE";
|
||||
const char s3_28[] PROGMEM = "TWO";
|
||||
const char s3_29[] PROGMEM = "WAY";
|
||||
const char s3_30[] PROGMEM = "WHO";
|
||||
const char s3_31[] PROGMEM = "BOY";
|
||||
const char s3_32[] PROGMEM = "DID";
|
||||
const char s3_33[] PROGMEM = "ITS";
|
||||
const char s3_34[] PROGMEM = "LET";
|
||||
const char s3_35[] PROGMEM = "PUT";
|
||||
const char s3_36[] PROGMEM = "SAY";
|
||||
const char s3_37[] PROGMEM = "SHE";
|
||||
const char s3_38[] PROGMEM = "TOO";
|
||||
const char s3_39[] PROGMEM = "USE";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "THAT";
|
||||
const char s4_2[] PROGMEM = "WITH";
|
||||
const char s4_3[] PROGMEM = "HAVE";
|
||||
const char s4_4[] PROGMEM = "THIS";
|
||||
const char s4_5[] PROGMEM = "WILL";
|
||||
const char s4_6[] PROGMEM = "YOUR";
|
||||
const char s4_7[] PROGMEM = "FROM";
|
||||
const char s4_8[] PROGMEM = "THEY";
|
||||
const char s4_9[] PROGMEM = "KNOW";
|
||||
const char s4_10[] PROGMEM = "WANT";
|
||||
const char s4_11[] PROGMEM = "BEEN";
|
||||
const char s4_12[] PROGMEM = "GOOD";
|
||||
const char s4_13[] PROGMEM = "MUCH";
|
||||
const char s4_14[] PROGMEM = "SOME";
|
||||
const char s4_15[] PROGMEM = "TIME";
|
||||
const char s4_16[] PROGMEM = "VERY";
|
||||
const char s4_17[] PROGMEM = "WHEN";
|
||||
const char s4_18[] PROGMEM = "COME";
|
||||
const char s4_19[] PROGMEM = "HERE";
|
||||
const char s4_20[] PROGMEM = "JUST";
|
||||
const char s4_21[] PROGMEM = "LIKE";
|
||||
const char s4_22[] PROGMEM = "LONG";
|
||||
const char s4_23[] PROGMEM = "MAKE";
|
||||
const char s4_24[] PROGMEM = "MANY";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "ONLY";
|
||||
const char s4_27[] PROGMEM = "OVER";
|
||||
const char s4_28[] PROGMEM = "SUCH";
|
||||
const char s4_29[] PROGMEM = "TAKE";
|
||||
const char s4_30[] PROGMEM = "THAN";
|
||||
const char s4_31[] PROGMEM = "THEM";
|
||||
const char s4_32[] PROGMEM = "WELL";
|
||||
const char s4_33[] PROGMEM = "WERE";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "BOB";
|
||||
const char name_3[] PROGMEM = "BILL";
|
||||
const char name_4[] PROGMEM = "JOHN";
|
||||
const char name_5[] PROGMEM = "GEORGE";
|
||||
const char name_6[] PROGMEM = "TOM";
|
||||
const char name_7[] PROGMEM = "RICH";
|
||||
const char name_8[] PROGMEM = "STEVE";
|
||||
const char name_9[] PROGMEM = "TIM";
|
||||
const char name_10[] PROGMEM = "SCOTT";
|
||||
const char name_11[] PROGMEM = "FRED";
|
||||
const char name_12[] PROGMEM = "DOUG";
|
||||
const char name_13[] PROGMEM = "DAVE";
|
||||
const char name_14[] PROGMEM = "GARY";
|
||||
const char name_15[] PROGMEM = "JIM";
|
||||
const char name_16[] PROGMEM = "CHRIS";
|
||||
const char name_17[] PROGMEM = "MIKE";
|
||||
const char name_18[] PROGMEM = "ED";
|
||||
const char name_19[] PROGMEM = "AL";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "RON";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "ART";
|
||||
const char name_24[] PROGMEM = "GREG";
|
||||
const char name_25[] PROGMEM = "RICK";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "KEN";
|
||||
const char name_28[] PROGMEM = "TONY";
|
||||
const char name_29[] PROGMEM = "CARL";
|
||||
const char name_30[] PROGMEM = "PHIL";
|
||||
const char name_31[] PROGMEM = "JOE";
|
||||
const char name_32[] PROGMEM = "JON";
|
||||
const char name_33[] PROGMEM = "LARRY";
|
||||
const char name_34[] PROGMEM = "DON";
|
||||
const char name_35[] PROGMEM = "DICK";
|
||||
const char name_36[] PROGMEM = "PAUL";
|
||||
const char name_37[] PROGMEM = "SERGE";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "VLAD";
|
||||
const char name_40[] PROGMEM = "JEFF";
|
||||
const char name_41[] PROGMEM = "CHAS";
|
||||
const char name_42[] PROGMEM = "JACK";
|
||||
const char name_43[] PROGMEM = "GENE";
|
||||
const char name_44[] PROGMEM = "BERT";
|
||||
const char name_45[] PROGMEM = "OLEG";
|
||||
const char name_46[] PROGMEM = "PETE";
|
||||
const char name_47[] PROGMEM = "PAT";
|
||||
const char name_48[] PROGMEM = "JUAN";
|
||||
const char name_49[] PROGMEM = "GUS";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,248 +0,0 @@
|
|||
// keyer_training_text_norsk.h
|
||||
// Norwegian word list contributed by Karl, LA3FY
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "OG";
|
||||
const char s2_2[] PROGMEM = "PÅ";
|
||||
const char s2_3[] PROGMEM = "GÅ";
|
||||
const char s2_4[] PROGMEM = "ER";
|
||||
const char s2_5[] PROGMEM = "EN";
|
||||
const char s2_6[] PROGMEM = "AV";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "DE";
|
||||
const char s2_9[] PROGMEM = "ET";
|
||||
const char s2_10[] PROGMEM = "SÅ";
|
||||
const char s2_11[] PROGMEM = "VI";
|
||||
const char s2_12[] PROGMEM = "DU";
|
||||
const char s2_13[] PROGMEM = "DA";
|
||||
const char s2_14[] PROGMEM = "UT";
|
||||
const char s2_15[] PROGMEM = "SA";
|
||||
const char s2_16[] PROGMEM = "NÅ";
|
||||
const char s2_17[] PROGMEM = "NY";
|
||||
const char s2_18[] PROGMEM = "HA";
|
||||
const char s2_19[] PROGMEM = "ÅR";
|
||||
const char s2_20[] PROGMEM = "FÅ";
|
||||
const char s2_21[] PROGMEM = "TO";
|
||||
const char s2_22[] PROGMEM = "SE";
|
||||
const byte s2_size = 22;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DET";
|
||||
const char s3_2[] PROGMEM = "SOM";
|
||||
const char s3_3[] PROGMEM = "HAN";
|
||||
const char s3_4[] PROGMEM = "FOR";
|
||||
const char s3_5[] PROGMEM = "MED";
|
||||
const char s3_6[] PROGMEM = "VAR";
|
||||
const char s3_7[] PROGMEM = "DEN";
|
||||
const char s3_8[] PROGMEM = "HAR";
|
||||
const char s3_9[] PROGMEM = "JEG";
|
||||
const char s3_10[] PROGMEM = "MEN";
|
||||
const char s3_11[] PROGMEM = "SEG";
|
||||
const char s3_12[] PROGMEM = "HUN";
|
||||
const char s3_13[] PROGMEM = "VÅR";
|
||||
const char s3_14[] PROGMEM = "FRA";
|
||||
const char s3_15[] PROGMEM = "KAN";
|
||||
const char s3_16[] PROGMEM = "BLE";
|
||||
const char s3_17[] PROGMEM = "VIL";
|
||||
const char s3_18[] PROGMEM = "HAM";
|
||||
const char s3_19[] PROGMEM = "VED";
|
||||
const char s3_20[] PROGMEM = "NOE";
|
||||
const char s3_21[] PROGMEM = "MEG";
|
||||
const char s3_22[] PROGMEM = "MOT";
|
||||
const char s3_23[] PROGMEM = "OPP";
|
||||
const char s3_24[] PROGMEM = "DER";
|
||||
const char s3_25[] PROGMEM = "NÅR";
|
||||
const char s3_26[] PROGMEM = "INN";
|
||||
const char s3_27[] PROGMEM = "DEM";
|
||||
const char s3_28[] PROGMEM = "SIN";
|
||||
const char s3_29[] PROGMEM = "KOM";
|
||||
const char s3_30[] PROGMEM = "ENN";
|
||||
const char s3_31[] PROGMEM = "BLI";
|
||||
const char s3_32[] PROGMEM = "FØR";
|
||||
const char s3_33[] PROGMEM = "GÅR";
|
||||
const char s3_34[] PROGMEM = "HER";
|
||||
const char s3_35[] PROGMEM = "MER";
|
||||
const char s3_36[] PROGMEM = "HVA";
|
||||
const char s3_37[] PROGMEM = "ALT";
|
||||
const char s3_38[] PROGMEM = "OSS";
|
||||
const byte s3_size = 38;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "IKKE";
|
||||
const char s4_2[] PROGMEM = "OVER";
|
||||
const char s4_3[] PROGMEM = "OGSÅ";
|
||||
const char s4_4[] PROGMEM = "BARE";
|
||||
const char s4_5[] PROGMEM = "VÆRE";
|
||||
const char s4_6[] PROGMEM = "BLIR";
|
||||
const char s4_7[] PROGMEM = "ALLE";
|
||||
const char s4_8[] PROGMEM = "NOEN";
|
||||
const char s4_9[] PROGMEM = "SELV";
|
||||
const char s4_10[] PROGMEM = "SIER";
|
||||
const char s4_11[] PROGMEM = "HANS";
|
||||
const char s4_12[] PROGMEM = "GIKK";
|
||||
const char s4_13[] PROGMEM = "FIKK";
|
||||
const char s4_14[] PROGMEM = "DASH";
|
||||
const char s4_15[] PROGMEM = "HVOR";
|
||||
const char s4_16[] PROGMEM = "HELE";
|
||||
const byte s4_size = 16;
|
||||
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};
|
||||
|
||||
// common names
|
||||
|
||||
const char name_1[] PROGMEM = "JAN";
|
||||
const char name_2[] PROGMEM = "PER";
|
||||
const char name_3[] PROGMEM = "BJØRN";
|
||||
const char name_4[] PROGMEM = "OLE";
|
||||
const char name_5[] PROGMEM = "KJELL";
|
||||
const char name_6[] PROGMEM = "LARS";
|
||||
const char name_7[] PROGMEM = "ARNE";
|
||||
const char name_8[] PROGMEM = "KNUT";
|
||||
const char name_9[] PROGMEM = "SVEIN";
|
||||
const char name_10[] PROGMEM = "HANS";
|
||||
const char name_11[] PROGMEM = "ODD";
|
||||
const char name_12[] PROGMEM = "TOR";
|
||||
const char name_13[] PROGMEM = "GEIR";
|
||||
const char name_14[] PROGMEM = "TERJE";
|
||||
const char name_15[] PROGMEM = "THOMAS";
|
||||
const char name_16[] PROGMEM = "MORTEN";
|
||||
const char name_17[] PROGMEM = "JOHN";
|
||||
const char name_18[] PROGMEM = "ERIK";
|
||||
const char name_19[] PROGMEM = "ANDERS";
|
||||
const char name_20[] PROGMEM = "RUNE";
|
||||
const char name_21[] PROGMEM = "MARTIN";
|
||||
const char name_22[] PROGMEM = "ANDREAS";
|
||||
const char name_23[] PROGMEM = "TROND";
|
||||
const char name_24[] PROGMEM = "TORE";
|
||||
const char name_25[] PROGMEM = "HARALD";
|
||||
const char name_26[] PROGMEM = "OLAV";
|
||||
const char name_27[] PROGMEM = "GUNNAR";
|
||||
const char name_28[] PROGMEM = "JON";
|
||||
const char name_29[] PROGMEM = "ROLF";
|
||||
const char name_30[] PROGMEM = "LEIF";
|
||||
const char name_31[] PROGMEM = "TOM";
|
||||
const char name_32[] PROGMEM = "STIAN";
|
||||
const char name_33[] PROGMEM = "KRISTIAN";
|
||||
const char name_34[] PROGMEM = "NILS";
|
||||
const char name_35[] PROGMEM = "ØYVIND";
|
||||
const char name_36[] PROGMEM = "HELGE";
|
||||
const char name_37[] PROGMEM = "ESPEN";
|
||||
const char name_38[] PROGMEM = "EINAR";
|
||||
const char name_39[] PROGMEM = "MARIUS";
|
||||
const char name_40[] PROGMEM = "KÅRE";
|
||||
const char name_41[] PROGMEM = "DANIEL";
|
||||
const char name_42[] PROGMEM = "MAGNUS";
|
||||
const char name_43[] PROGMEM = "FREDRIK";
|
||||
const char name_44[] PROGMEM = "CHRISTIAN";
|
||||
const char name_45[] PROGMEM = "STEINAR";
|
||||
const char name_46[] PROGMEM = "EIRIK";
|
||||
const char name_47[] PROGMEM = "HÅKON";
|
||||
const char name_48[] PROGMEM = "ØYSTEIN";
|
||||
const char name_49[] PROGMEM = "HENRIK";
|
||||
const char name_50[] PROGMEM = "KARL";
|
||||
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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
||||
|
||||
|
Plik diff jest za duży
Load Diff
|
@ -1,223 +0,0 @@
|
|||
#ifndef keyer_h
|
||||
#define keyer_h
|
||||
|
||||
// Do not change these !
|
||||
|
||||
// Variable macros
|
||||
#define STRAIGHT 1
|
||||
#define IAMBIC_B 2
|
||||
#define IAMBIC_A 3
|
||||
#define BUG 4
|
||||
#define ULTIMATIC 5
|
||||
#define SINGLE_PADDLE 6
|
||||
|
||||
#define PADDLE_NORMAL 0
|
||||
#define PADDLE_REVERSE 1
|
||||
|
||||
#define KEYER_NORMAL 0
|
||||
#define BEACON 1
|
||||
#define KEYER_COMMAND_MODE 2
|
||||
#define KEYER_COMMAND_MODE_SPEED_OVERRIDE 3
|
||||
|
||||
#define OMIT_LETTERSPACE 1
|
||||
|
||||
#define SIDETONE_OFF 0
|
||||
#define SIDETONE_ON 1
|
||||
#define SIDETONE_PADDLE_ONLY 2
|
||||
|
||||
#define SENDING_NOTHING 0
|
||||
#define SENDING_DIT 1
|
||||
#define SENDING_DAH 2
|
||||
|
||||
#define SPEED_NORMAL 0
|
||||
#define SPEED_QRSS 1
|
||||
|
||||
#define CW 0
|
||||
#define HELL 1
|
||||
#define AMERICAN_MORSE 2
|
||||
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define PS2_KEYBOARD_NORMAL 0
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
#define SERIAL_CLI 0
|
||||
#define SERIAL_WINKEY_EMULATION 1
|
||||
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_START 13
|
||||
#define SERIAL_SEND_BUFFER_WPM_CHANGE 14
|
||||
#define SERIAL_SEND_BUFFER_PTT_ON 15
|
||||
#define SERIAL_SEND_BUFFER_PTT_OFF 16
|
||||
#define SERIAL_SEND_BUFFER_TIMED_KEY_DOWN 17
|
||||
#define SERIAL_SEND_BUFFER_TIMED_WAIT 18
|
||||
#define SERIAL_SEND_BUFFER_NULL 19
|
||||
#define SERIAL_SEND_BUFFER_PROSIGN 20
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND 21
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND_RELEASE 22
|
||||
#define SERIAL_SEND_BUFFER_MEMORY_NUMBER 23
|
||||
#define SERIAL_SEND_BUFFER_TX_CHANGE 24
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_END 25
|
||||
|
||||
#if defined(OPTION_PROSIGN_SUPPORT)
|
||||
#define PROSIGN_START 127
|
||||
#define PROSIGN_AA 128
|
||||
#define PROSIGN_AS 129
|
||||
#define PROSIGN_BK 130
|
||||
#define PROSIGN_CL 131
|
||||
#define PROSIGN_CT 132
|
||||
#define PROSIGN_KN 133
|
||||
#define PROSIGN_NJ 134
|
||||
#define PROSIGN_SK 135
|
||||
#define PROSIGN_SN 136
|
||||
#define PROSIGN_HH 137 // iz0rus
|
||||
#define PROSIGN_END 138 // iz0rus
|
||||
#endif
|
||||
|
||||
#define SERIAL_SEND_BUFFER_NORMAL 0
|
||||
#define SERIAL_SEND_BUFFER_TIMED_COMMAND 1
|
||||
#define SERIAL_SEND_BUFFER_HOLD 2
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#define WINKEY_NO_COMMAND_IN_PROGRESS 0
|
||||
#define WINKEY_UNBUFFERED_SPEED_COMMAND 1
|
||||
#define WINKEY_UNSUPPORTED_COMMAND 2
|
||||
#define WINKEY_POINTER_COMMAND 3
|
||||
#define WINKEY_ADMIN_COMMAND 4
|
||||
#define WINKEY_PAUSE_COMMAND 5
|
||||
#define WINKEY_KEY_COMMAND 6
|
||||
#define WINKEY_SETMODE_COMMAND 7
|
||||
#define WINKEY_SIDETONE_FREQ_COMMAND 8
|
||||
#define WINKEY_ADMIN_COMMAND_ECHO 9
|
||||
#define WINKEY_BUFFERED_SPEED_COMMAND 10
|
||||
#define WINKEY_DAH_TO_DIT_RATIO_COMMAND 11
|
||||
#define WINKEY_KEYING_COMPENSATION_COMMAND 12
|
||||
#define WINKEY_FIRST_EXTENSION_COMMAND 13
|
||||
#define WINKEY_PTT_TIMES_PARM1_COMMAND 14
|
||||
#define WINKEY_PTT_TIMES_PARM2_COMMAND 15
|
||||
#define WINKEY_SET_POT_PARM1_COMMAND 16
|
||||
#define WINKEY_SET_POT_PARM2_COMMAND 17
|
||||
#define WINKEY_SET_POT_PARM3_COMMAND 18
|
||||
#define WINKEY_SOFTWARE_PADDLE_COMMAND 19
|
||||
#define WINKEY_CANCEL_BUFFERED_SPEED_COMMAND 20
|
||||
#define WINKEY_BUFFFERED_PTT_COMMMAND 21
|
||||
#define WINKEY_HSCW_COMMAND 22
|
||||
#define WINKEY_BUFFERED_HSCW_COMMAND 23
|
||||
#define WINKEY_WEIGHTING_COMMAND 24
|
||||
#define WINKEY_KEY_BUFFERED_COMMAND 25
|
||||
#define WINKEY_WAIT_BUFFERED_COMMAND 26
|
||||
#define WINKEY_POINTER_01_COMMAND 27
|
||||
#define WINKEY_POINTER_02_COMMAND 28
|
||||
#define WINKEY_POINTER_03_COMMAND 29
|
||||
#define WINKEY_FARNSWORTH_COMMAND 30
|
||||
#define WINKEY_MERGE_COMMAND 31
|
||||
#define WINKEY_MERGE_PARM_2_COMMAND 32
|
||||
#define WINKEY_SET_PINCONFIG_COMMAND 33
|
||||
#define WINKEY_EXTENDED_COMMAND 34
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SEND_MSG 35
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_1_COMMAND 101
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_2_COMMAND 102
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_3_COMMAND 103
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_4_COMMAND 104
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_5_COMMAND 105
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_6_COMMAND 106
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_7_COMMAND 107
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_8_COMMAND 108
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_9_COMMAND 109
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_10_COMMAND 110
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_11_COMMAND 111
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_12_COMMAND 112
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_13_COMMAND 113
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_14_COMMAND 114
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_15_COMMAND 115
|
||||
|
||||
#define WINKEY_HOUSEKEEPING 0
|
||||
#define SERVICE_SERIAL_BYTE 1
|
||||
|
||||
#define WINKEY_UNBUFFERED_SPEED 0
|
||||
#define WINKEY_BUFFERED_SPEED 1
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
#define UNDEFINED_SENDING 0
|
||||
#define AUTOMATIC_SENDING 1
|
||||
#define MANUAL_SENDING 2
|
||||
#define AUTOMATIC_SENDING_INTERRUPTED 3
|
||||
|
||||
#define ULTIMATIC_NORMAL 0
|
||||
#define ULTIMATIC_DIT_PRIORITY 1
|
||||
#define ULTIMATIC_DAH_PRIORITY 2
|
||||
|
||||
|
||||
#define PRINTCHAR 0
|
||||
#define NOPRINT 1
|
||||
|
||||
#define DONT_RAISE_ERROR_MSG 0
|
||||
#define RAISE_ERROR_MSG 1
|
||||
|
||||
#if !defined(HID_PROTOCOL_KEYBOARD) && !defined(HID_PROTOCOL_MOUSE)
|
||||
#define HID_PROTOCOL_KEYBOARD 1
|
||||
#define HID_PROTOCOL_MOUSE 2
|
||||
#endif
|
||||
|
||||
#define WORDSWORTH_2_CHAR_WORDS 2
|
||||
#define WORDSWORTH_3_CHAR_WORDS 3
|
||||
#define WORDSWORTH_4_CHAR_WORDS 4
|
||||
#define WORDSWORTH_NAMES 5
|
||||
#define WORDSWORTH_QSO_WORDS 6
|
||||
#define WORDSWORTH_MIXED 99
|
||||
|
||||
#define WORDSWORTH_WORDSPACE 1
|
||||
#define WORDSWORTH_WPM 2
|
||||
#define WORDSWORTH_REPETITION 3
|
||||
|
||||
#define CALLSIGN_INTERNATIONAL 0
|
||||
#define CALLSIGN_US 1
|
||||
#define CALLSIGN_EUROPEAN 2
|
||||
#define CALLSIGN_CANADA 3
|
||||
|
||||
#define ECHO_PROGRESSIVE_5 40
|
||||
#define ECHO_2_CHAR_WORDS 41
|
||||
#define ECHO_3_CHAR_WORDS 42
|
||||
#define ECHO_4_CHAR_WORDS 43
|
||||
#define ECHO_NAMES 44
|
||||
#define ECHO_QSO_WORDS 45
|
||||
#define ECHO_MIXED 49
|
||||
|
||||
#define PRACTICE_NON_INTERACTIVE 0
|
||||
#define PRACTICE_INTERACTIVE 1
|
||||
|
||||
#define RANDOM_LETTER_GROUPS 61
|
||||
#define RANDOM_NUMBER_GROUPS 62
|
||||
#define RANDOM_MIXED_GROUPS 63
|
||||
|
||||
#define PRACTICE_2_CHAR_WORDS 51
|
||||
#define PRACTICE_3_CHAR_WORDS 52
|
||||
#define PRACTICE_4_CHAR_WORDS 53
|
||||
#define PRACTICE_NAMES 54
|
||||
#define PRACTICE_QSO_WORDS 55
|
||||
#define PRACTICE_MIXED 59
|
||||
|
||||
#define CLI_NORMAL_MODE 0
|
||||
#define CLI_MILL_MODE_PADDLE_SEND 1
|
||||
#define CLI_MILL_MODE_KEYBOARD_RECEIVE 2
|
||||
|
||||
#define COMMAND_SPEED_MODE_KEYER_WPM 0
|
||||
#define COMMAND_SPEED_MODE_COMMAND_MODE_WPM 1
|
||||
|
||||
#define SD_CARD_UNINITIALIZED 0
|
||||
#define SD_CARD_AVAILABLE 1
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_FOUND 2
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_RUNNING 3
|
||||
#define SD_CARD_ERROR 254
|
||||
|
||||
#define SD_CARD_LOG_NOT_OPEN 0
|
||||
#define SD_CARD_LOG_OPEN 1
|
||||
#define SD_CARD_LOG_ERROR 254
|
||||
|
||||
#define COMMAND_PL 1
|
||||
#define COMMAND_PT 2
|
||||
#define COMMAND_PA 3
|
||||
#define COMMAND_PI 4
|
||||
|
||||
|
||||
#endif //keyer_h
|
|
@ -1,414 +0,0 @@
|
|||
|
||||
|
||||
const char canadian_prefix_1[] PROGMEM = "VE1";
|
||||
const char canadian_prefix_2[] PROGMEM = "VE2";
|
||||
const char canadian_prefix_3[] PROGMEM = "VE3";
|
||||
const char canadian_prefix_4[] PROGMEM = "VE4";
|
||||
const char canadian_prefix_5[] PROGMEM = "VE5";
|
||||
const char canadian_prefix_6[] PROGMEM = "VE6";
|
||||
const char canadian_prefix_7[] PROGMEM = "VE7";
|
||||
const char canadian_prefix_8[] PROGMEM = "VE8";
|
||||
const char canadian_prefix_9[] PROGMEM = "VE9";
|
||||
const char canadian_prefix_10[] PROGMEM = "VY0";
|
||||
const char canadian_prefix_11[] PROGMEM = "VY1";
|
||||
const char canadian_prefix_12[] PROGMEM = "VY2";
|
||||
const char canadian_prefix_13[] PROGMEM = "VO1";
|
||||
const char canadian_prefix_14[] PROGMEM = "VO2";
|
||||
const byte canadian_prefix_size = 14;
|
||||
const char* const canadian_prefix_table[] PROGMEM =
|
||||
{canadian_prefix_1,canadian_prefix_2,canadian_prefix_3,canadian_prefix_4,canadian_prefix_5,canadian_prefix_6,canadian_prefix_7,canadian_prefix_8,canadian_prefix_9,canadian_prefix_10,
|
||||
canadian_prefix_11,canadian_prefix_12,canadian_prefix_13,canadian_prefix_14};
|
||||
|
||||
// European callsign prefix table
|
||||
//
|
||||
// Note 2017-05-06: This is weird. If I put "LB" in the array, avrdude trips up with a timeout error when uploading to a Mega.
|
||||
// That's why LB isn't in this table
|
||||
|
||||
const char eu_prefix_1[] PROGMEM = "3A";
|
||||
const char eu_prefix_2[] PROGMEM = "4O";
|
||||
const char eu_prefix_3[] PROGMEM = "4U";
|
||||
const char eu_prefix_4[] PROGMEM = "9A";
|
||||
const char eu_prefix_5[] PROGMEM = "9H";
|
||||
const char eu_prefix_6[] PROGMEM = "C3";
|
||||
const char eu_prefix_7[] PROGMEM = "CT";
|
||||
const char eu_prefix_8[] PROGMEM = "CU";
|
||||
const char eu_prefix_9[] PROGMEM = "DA";
|
||||
const char eu_prefix_10[] PROGMEM = "DB";
|
||||
const char eu_prefix_11[] PROGMEM = "DC";
|
||||
const char eu_prefix_12[] PROGMEM = "DD";
|
||||
const char eu_prefix_13[] PROGMEM = "DE";
|
||||
const char eu_prefix_14[] PROGMEM = "DF";
|
||||
const char eu_prefix_15[] PROGMEM = "DG";
|
||||
const char eu_prefix_16[] PROGMEM = "DH";
|
||||
const char eu_prefix_17[] PROGMEM = "DI";
|
||||
const char eu_prefix_18[] PROGMEM = "DJ";
|
||||
const char eu_prefix_19[] PROGMEM = "DK";
|
||||
const char eu_prefix_20[] PROGMEM = "DL";
|
||||
const char eu_prefix_21[] PROGMEM = "EI";
|
||||
const char eu_prefix_22[] PROGMEM = "ER";
|
||||
const char eu_prefix_23[] PROGMEM = "ES";
|
||||
const char eu_prefix_24[] PROGMEM = "EU";
|
||||
const char eu_prefix_25[] PROGMEM = "EV";
|
||||
const char eu_prefix_26[] PROGMEM = "EW";
|
||||
const char eu_prefix_27[] PROGMEM = "F";
|
||||
const char eu_prefix_28[] PROGMEM = "G";
|
||||
const char eu_prefix_29[] PROGMEM = "GX";
|
||||
const char eu_prefix_30[] PROGMEM = "GD";
|
||||
const char eu_prefix_31[] PROGMEM = "GT";
|
||||
const char eu_prefix_32[] PROGMEM = "GI";
|
||||
const char eu_prefix_33[] PROGMEM = "GN";
|
||||
const char eu_prefix_34[] PROGMEM = "GJ";
|
||||
const char eu_prefix_35[] PROGMEM = "GH";
|
||||
const char eu_prefix_36[] PROGMEM = "GM";
|
||||
const char eu_prefix_37[] PROGMEM = "GS";
|
||||
const char eu_prefix_38[] PROGMEM = "GU";
|
||||
const char eu_prefix_39[] PROGMEM = "GP";
|
||||
const char eu_prefix_40[] PROGMEM = "GW";
|
||||
const char eu_prefix_41[] PROGMEM = "GC";
|
||||
const char eu_prefix_42[] PROGMEM = "HB";
|
||||
const char eu_prefix_43[] PROGMEM = "HV";
|
||||
const char eu_prefix_44[] PROGMEM = "I";
|
||||
const char eu_prefix_45[] PROGMEM = "IS";
|
||||
const char eu_prefix_46[] PROGMEM = "IM";
|
||||
const char eu_prefix_47[] PROGMEM = "JW";
|
||||
const char eu_prefix_48[] PROGMEM = "JX";
|
||||
const char eu_prefix_49[] PROGMEM = "LX";
|
||||
const char eu_prefix_50[] PROGMEM = "LY";
|
||||
const char eu_prefix_51[] PROGMEM = "LZ";
|
||||
const char eu_prefix_52[] PROGMEM = "OY";
|
||||
const char eu_prefix_53[] PROGMEM = "OZ";
|
||||
const char eu_prefix_54[] PROGMEM = "S5";
|
||||
const char eu_prefix_55[] PROGMEM = "YU";
|
||||
const char eu_prefix_56[] PROGMEM = "T7";
|
||||
const char eu_prefix_57[] PROGMEM = "T9";
|
||||
const char eu_prefix_58[] PROGMEM = "TF";
|
||||
const char eu_prefix_59[] PROGMEM = "TK";
|
||||
const char eu_prefix_60[] PROGMEM = "EM";
|
||||
const char eu_prefix_61[] PROGMEM = "EO";
|
||||
const char eu_prefix_62[] PROGMEM = "YL";
|
||||
const char eu_prefix_63[] PROGMEM = "YO";
|
||||
const char eu_prefix_64[] PROGMEM = "YT";
|
||||
const char eu_prefix_65[] PROGMEM = "YU";
|
||||
const char eu_prefix_66[] PROGMEM = "YP";
|
||||
const char eu_prefix_67[] PROGMEM = "YQ";
|
||||
const char eu_prefix_68[] PROGMEM = "YR";
|
||||
const char eu_prefix_69[] PROGMEM = "Z3";
|
||||
const char eu_prefix_70[] PROGMEM = "ZA";
|
||||
const char eu_prefix_71[] PROGMEM = "YZ";
|
||||
const char eu_prefix_72[] PROGMEM = "SA";
|
||||
const char eu_prefix_73[] PROGMEM = "SB";
|
||||
const char eu_prefix_74[] PROGMEM = "SC";
|
||||
const char eu_prefix_75[] PROGMEM = "SD";
|
||||
const char eu_prefix_76[] PROGMEM = "SE";
|
||||
const char eu_prefix_77[] PROGMEM = "SF";
|
||||
const char eu_prefix_78[] PROGMEM = "SG";
|
||||
const char eu_prefix_79[] PROGMEM = "SH";
|
||||
const char eu_prefix_80[] PROGMEM = "SI";
|
||||
const char eu_prefix_81[] PROGMEM = "SJ";
|
||||
const char eu_prefix_82[] PROGMEM = "SK";
|
||||
const char eu_prefix_83[] PROGMEM = "SL";
|
||||
const char eu_prefix_84[] PROGMEM = "SM";
|
||||
const char eu_prefix_85[] PROGMEM = "SN";
|
||||
const char eu_prefix_86[] PROGMEM = "SO";
|
||||
const char eu_prefix_87[] PROGMEM = "SP";
|
||||
const char eu_prefix_88[] PROGMEM = "SQ";
|
||||
const char eu_prefix_89[] PROGMEM = "SR";
|
||||
const char eu_prefix_90[] PROGMEM = "SS";
|
||||
const char eu_prefix_91[] PROGMEM = "ST";
|
||||
const char eu_prefix_92[] PROGMEM = "SU";
|
||||
const char eu_prefix_93[] PROGMEM = "SV";
|
||||
const char eu_prefix_94[] PROGMEM = "SW";
|
||||
const char eu_prefix_95[] PROGMEM = "SX";
|
||||
const char eu_prefix_96[] PROGMEM = "SY";
|
||||
const char eu_prefix_97[] PROGMEM = "SZ";
|
||||
const char eu_prefix_98[] PROGMEM = "OE";
|
||||
const char eu_prefix_99[] PROGMEM = "OF";
|
||||
const char eu_prefix_100[] PROGMEM = "OG";
|
||||
const char eu_prefix_101[] PROGMEM = "OH";
|
||||
const char eu_prefix_102[] PROGMEM = "OI";
|
||||
const char eu_prefix_103[] PROGMEM = "OJ";
|
||||
const char eu_prefix_104[] PROGMEM = "OK";
|
||||
const char eu_prefix_105[] PROGMEM = "OL";
|
||||
const char eu_prefix_106[] PROGMEM = "OM";
|
||||
const char eu_prefix_107[] PROGMEM = "ON";
|
||||
const char eu_prefix_108[] PROGMEM = "OO";
|
||||
const char eu_prefix_109[] PROGMEM = "OP";
|
||||
const char eu_prefix_110[] PROGMEM = "OQ";
|
||||
const char eu_prefix_111[] PROGMEM = "OR";
|
||||
const char eu_prefix_112[] PROGMEM = "OS";
|
||||
const char eu_prefix_113[] PROGMEM = "OT";
|
||||
const char eu_prefix_114[] PROGMEM = "PA";
|
||||
const char eu_prefix_115[] PROGMEM = "PB";
|
||||
const char eu_prefix_116[] PROGMEM = "PC";
|
||||
const char eu_prefix_117[] PROGMEM = "PD";
|
||||
const char eu_prefix_118[] PROGMEM = "PE";
|
||||
const char eu_prefix_119[] PROGMEM = "PF";
|
||||
const char eu_prefix_120[] PROGMEM = "PG";
|
||||
const char eu_prefix_121[] PROGMEM = "PH";
|
||||
const char eu_prefix_122[] PROGMEM = "PI";
|
||||
const char eu_prefix_123[] PROGMEM = "UA";
|
||||
const char eu_prefix_124[] PROGMEM = "UB";
|
||||
const char eu_prefix_125[] PROGMEM = "UC";
|
||||
const char eu_prefix_126[] PROGMEM = "UD";
|
||||
const char eu_prefix_127[] PROGMEM = "UE";
|
||||
const char eu_prefix_128[] PROGMEM = "UF";
|
||||
const char eu_prefix_129[] PROGMEM = "UG";
|
||||
const char eu_prefix_130[] PROGMEM = "UH";
|
||||
const char eu_prefix_131[] PROGMEM = "UI";
|
||||
const char eu_prefix_132[] PROGMEM = "RA";
|
||||
const char eu_prefix_133[] PROGMEM = "RB";
|
||||
const char eu_prefix_134[] PROGMEM = "RC";
|
||||
const char eu_prefix_135[] PROGMEM = "RD";
|
||||
const char eu_prefix_136[] PROGMEM = "RE";
|
||||
const char eu_prefix_137[] PROGMEM = "RF";
|
||||
const char eu_prefix_138[] PROGMEM = "RG";
|
||||
const char eu_prefix_139[] PROGMEM = "RH";
|
||||
const char eu_prefix_140[] PROGMEM = "RI";
|
||||
const char eu_prefix_141[] PROGMEM = "RJ";
|
||||
const char eu_prefix_142[] PROGMEM = "RK";
|
||||
const char eu_prefix_143[] PROGMEM = "RL";
|
||||
const char eu_prefix_144[] PROGMEM = "RM";
|
||||
const char eu_prefix_145[] PROGMEM = "RN";
|
||||
const char eu_prefix_146[] PROGMEM = "RO";
|
||||
const char eu_prefix_147[] PROGMEM = "RP";
|
||||
const char eu_prefix_148[] PROGMEM = "RQ";
|
||||
const char eu_prefix_149[] PROGMEM = "RR";
|
||||
const char eu_prefix_150[] PROGMEM = "RS";
|
||||
const char eu_prefix_151[] PROGMEM = "RT";
|
||||
const char eu_prefix_152[] PROGMEM = "RU";
|
||||
const char eu_prefix_153[] PROGMEM = "RV";
|
||||
const char eu_prefix_154[] PROGMEM = "RW";
|
||||
const char eu_prefix_155[] PROGMEM = "RX";
|
||||
const char eu_prefix_156[] PROGMEM = "RY";
|
||||
const char eu_prefix_157[] PROGMEM = "RZ";
|
||||
const char eu_prefix_158[] PROGMEM = "UR";
|
||||
const char eu_prefix_159[] PROGMEM = "US";
|
||||
const char eu_prefix_160[] PROGMEM = "UT";
|
||||
const char eu_prefix_161[] PROGMEM = "UU";
|
||||
const char eu_prefix_162[] PROGMEM = "UV";
|
||||
const char eu_prefix_163[] PROGMEM = "UW";
|
||||
const char eu_prefix_164[] PROGMEM = "UX";
|
||||
const char eu_prefix_165[] PROGMEM = "UY";
|
||||
const char eu_prefix_166[] PROGMEM = "UZ";
|
||||
const char eu_prefix_167[] PROGMEM = "EA";
|
||||
const char eu_prefix_168[] PROGMEM = "EB";
|
||||
const char eu_prefix_169[] PROGMEM = "EC";
|
||||
const char eu_prefix_170[] PROGMEM = "ED";
|
||||
const char eu_prefix_171[] PROGMEM = "EE";
|
||||
const char eu_prefix_172[] PROGMEM = "EF";
|
||||
const char eu_prefix_173[] PROGMEM = "EG";
|
||||
const char eu_prefix_174[] PROGMEM = "EH";
|
||||
const char eu_prefix_175[] PROGMEM = "EJ";
|
||||
const char eu_prefix_176[] PROGMEM = "HA";
|
||||
const char eu_prefix_177[] PROGMEM = "HG";
|
||||
const char eu_prefix_178[] PROGMEM = "LA";
|
||||
const char eu_prefix_179[] PROGMEM = "LC";
|
||||
const char eu_prefix_180[] PROGMEM = "LD";
|
||||
const char eu_prefix_181[] PROGMEM = "LE";
|
||||
const char eu_prefix_182[] PROGMEM = "LF";
|
||||
const char eu_prefix_183[] PROGMEM = "LG";
|
||||
const char eu_prefix_184[] PROGMEM = "LH";
|
||||
const char eu_prefix_185[] PROGMEM = "LI";
|
||||
const char eu_prefix_186[] PROGMEM = "LJ";
|
||||
const char eu_prefix_187[] PROGMEM = "LK";
|
||||
const char eu_prefix_188[] PROGMEM = "LL";
|
||||
const char eu_prefix_189[] PROGMEM = "LM";
|
||||
const char eu_prefix_190[] PROGMEM = "LN";
|
||||
/*const char eu_prefix_191[] PROGMEM = "LB"; see note above about "LB"*/
|
||||
const byte eu_prefix_size = 190;
|
||||
const char* const eu_prefix_table[] PROGMEM = {
|
||||
eu_prefix_1,
|
||||
eu_prefix_2,
|
||||
eu_prefix_3,
|
||||
eu_prefix_4,
|
||||
eu_prefix_5,
|
||||
eu_prefix_6,
|
||||
eu_prefix_7,
|
||||
eu_prefix_8,
|
||||
eu_prefix_9,
|
||||
eu_prefix_10,
|
||||
eu_prefix_11,
|
||||
eu_prefix_12,
|
||||
eu_prefix_13,
|
||||
eu_prefix_14,
|
||||
eu_prefix_15,
|
||||
eu_prefix_16,
|
||||
eu_prefix_17,
|
||||
eu_prefix_18,
|
||||
eu_prefix_19,
|
||||
eu_prefix_20,
|
||||
eu_prefix_21,
|
||||
eu_prefix_22,
|
||||
eu_prefix_23,
|
||||
eu_prefix_24,
|
||||
eu_prefix_25,
|
||||
eu_prefix_26,
|
||||
eu_prefix_27,
|
||||
eu_prefix_28,
|
||||
eu_prefix_29,
|
||||
eu_prefix_30,
|
||||
eu_prefix_31,
|
||||
eu_prefix_32,
|
||||
eu_prefix_33,
|
||||
eu_prefix_34,
|
||||
eu_prefix_35,
|
||||
eu_prefix_36,
|
||||
eu_prefix_37,
|
||||
eu_prefix_38,
|
||||
eu_prefix_39,
|
||||
eu_prefix_40,
|
||||
eu_prefix_41,
|
||||
eu_prefix_42,
|
||||
eu_prefix_43,
|
||||
eu_prefix_44,
|
||||
eu_prefix_45,
|
||||
eu_prefix_46,
|
||||
eu_prefix_47,
|
||||
eu_prefix_48,
|
||||
eu_prefix_49,
|
||||
eu_prefix_50,
|
||||
eu_prefix_51,
|
||||
eu_prefix_52,
|
||||
eu_prefix_53,
|
||||
eu_prefix_54,
|
||||
eu_prefix_55,
|
||||
eu_prefix_56,
|
||||
eu_prefix_57,
|
||||
eu_prefix_58,
|
||||
eu_prefix_59,
|
||||
eu_prefix_60,
|
||||
eu_prefix_61,
|
||||
eu_prefix_62,
|
||||
eu_prefix_63,
|
||||
eu_prefix_64,
|
||||
eu_prefix_65,
|
||||
eu_prefix_66,
|
||||
eu_prefix_67,
|
||||
eu_prefix_68,
|
||||
eu_prefix_69,
|
||||
eu_prefix_70,
|
||||
eu_prefix_71,
|
||||
eu_prefix_72,
|
||||
eu_prefix_73,
|
||||
eu_prefix_74,
|
||||
eu_prefix_75,
|
||||
eu_prefix_76,
|
||||
eu_prefix_77,
|
||||
eu_prefix_78,
|
||||
eu_prefix_79,
|
||||
eu_prefix_80,
|
||||
eu_prefix_81,
|
||||
eu_prefix_82,
|
||||
eu_prefix_83,
|
||||
eu_prefix_84,
|
||||
eu_prefix_85,
|
||||
eu_prefix_86,
|
||||
eu_prefix_87,
|
||||
eu_prefix_88,
|
||||
eu_prefix_89,
|
||||
eu_prefix_90,
|
||||
eu_prefix_91,
|
||||
eu_prefix_92,
|
||||
eu_prefix_93,
|
||||
eu_prefix_94,
|
||||
eu_prefix_95,
|
||||
eu_prefix_96,
|
||||
eu_prefix_97,
|
||||
eu_prefix_98,
|
||||
eu_prefix_99,
|
||||
eu_prefix_100,
|
||||
eu_prefix_101,
|
||||
eu_prefix_102,
|
||||
eu_prefix_103,
|
||||
eu_prefix_104,
|
||||
eu_prefix_105,
|
||||
eu_prefix_106,
|
||||
eu_prefix_107,
|
||||
eu_prefix_108,
|
||||
eu_prefix_109,
|
||||
eu_prefix_110,
|
||||
eu_prefix_111,
|
||||
eu_prefix_112,
|
||||
eu_prefix_113,
|
||||
eu_prefix_114,
|
||||
eu_prefix_115,
|
||||
eu_prefix_116,
|
||||
eu_prefix_117,
|
||||
eu_prefix_118,
|
||||
eu_prefix_119,
|
||||
eu_prefix_120,
|
||||
eu_prefix_121,
|
||||
eu_prefix_122,
|
||||
eu_prefix_123,
|
||||
eu_prefix_124,
|
||||
eu_prefix_125,
|
||||
eu_prefix_126,
|
||||
eu_prefix_127,
|
||||
eu_prefix_128,
|
||||
eu_prefix_129,
|
||||
eu_prefix_130,
|
||||
eu_prefix_131,
|
||||
eu_prefix_132,
|
||||
eu_prefix_133,
|
||||
eu_prefix_134,
|
||||
eu_prefix_135,
|
||||
eu_prefix_136,
|
||||
eu_prefix_137,
|
||||
eu_prefix_138,
|
||||
eu_prefix_139,
|
||||
eu_prefix_140,
|
||||
eu_prefix_141,
|
||||
eu_prefix_142,
|
||||
eu_prefix_143,
|
||||
eu_prefix_144,
|
||||
eu_prefix_145,
|
||||
eu_prefix_146,
|
||||
eu_prefix_147,
|
||||
eu_prefix_148,
|
||||
eu_prefix_149,
|
||||
eu_prefix_150,
|
||||
eu_prefix_151,
|
||||
eu_prefix_152,
|
||||
eu_prefix_153,
|
||||
eu_prefix_154,
|
||||
eu_prefix_155,
|
||||
eu_prefix_156,
|
||||
eu_prefix_157,
|
||||
eu_prefix_158,
|
||||
eu_prefix_159,
|
||||
eu_prefix_160,
|
||||
eu_prefix_161,
|
||||
eu_prefix_162,
|
||||
eu_prefix_163,
|
||||
eu_prefix_164,
|
||||
eu_prefix_165,
|
||||
eu_prefix_166,
|
||||
eu_prefix_167,
|
||||
eu_prefix_168,
|
||||
eu_prefix_169,
|
||||
eu_prefix_170,
|
||||
eu_prefix_171,
|
||||
eu_prefix_172,
|
||||
eu_prefix_173,
|
||||
eu_prefix_174,
|
||||
eu_prefix_175,
|
||||
eu_prefix_176,
|
||||
eu_prefix_177,
|
||||
eu_prefix_178,
|
||||
eu_prefix_179,
|
||||
eu_prefix_180,
|
||||
eu_prefix_181,
|
||||
eu_prefix_182,
|
||||
eu_prefix_183,
|
||||
eu_prefix_184,
|
||||
eu_prefix_185,
|
||||
eu_prefix_186,
|
||||
eu_prefix_187,
|
||||
eu_prefix_188,
|
||||
eu_prefix_189,
|
||||
eu_prefix_190/*,
|
||||
eu_prefix_191*/
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
// don't touch these unless you know what the hell you are doing or you're asked to uncomment these for debug dumps
|
||||
// #define DEBUG_STARTUP
|
||||
// #define DEBUG_STARTUP_BLINKS
|
||||
// #define DEBUG_LOOP
|
||||
// #define DEBUG_EEPROM
|
||||
// #define DEBUG_MEMORIES
|
||||
// #define DEBUG_PLAY_MEMORY
|
||||
// #define DEBUG_SEND_CHAR
|
||||
// #define DEBUG_MEMORY_WRITE
|
||||
// #define DEBUG_MEMORYCHECK
|
||||
// #define DEBUG_MEMORY_LOCATIONS
|
||||
// #define DEBUG_CAPTURE_COM_PORT
|
||||
// #define DEBUG_HELL_TEST
|
||||
// #define DEBUG_WINKEY_PROTOCOL_USING_CW
|
||||
// #define DEBUG_CHECK_SERIAL
|
||||
// #define DEBUG_PS2_KEYBOARD
|
||||
// #define DEBUG_VARIABLE_DUMP
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_COMMAND_MODE
|
||||
// #define DEBUG_GET_CW_INPUT_FROM_USER
|
||||
// #define DEBUG_POTENTIOMETER
|
||||
// #define DEBUG_CW_DECODER
|
||||
// #define DEBUG_CW_DECODER_WPM
|
||||
// #define DEBUG_SERIAL_SEND_CW_CALLOUT
|
||||
// #define DEBUG_SLEEP
|
||||
// #define DEBUG_BUTTON_ARRAY
|
||||
// #define DEBUG_USB
|
||||
// #define DEBUG_USB_KEYBOARD
|
||||
// #define DEBUG_CAPACITIVE_PADDLE
|
||||
// #define DEBUG_DISPLAY_SCROLL_PRINT_CHAR
|
||||
// #define DEBUG_WINKEY // <- to use this you must have a multi-serial port Arduino and use FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
// #define DEBUG_WINKEY_SEND_ERRANT_BYTE
|
||||
// #define DEBUG_WINKEY_PORT_WRITE
|
||||
// #define DEBUG_CW_COMPUTER_KEYBOARD
|
||||
// #define DEBUG_CW_DECODER_WITH_TONE
|
||||
// #define DEBUG_OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define DEBUG_FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
// #define DEBUG_FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define DEBUG_UDP
|
||||
// #define DEBUG_UDP_WRITE
|
||||
// #define DEBUG_WEB_SERVER
|
||||
// #define DEBUG_WEB_PARSE_GET
|
||||
// #define DEBUG_WEB_SERVER_READS
|
||||
// #define DEBUG_INTERNET_LINKING_RECEIVE
|
||||
// #define DEBUG_INTERNET_LINKING_SEND
|
||||
// #define DEBUG_UDP_PACKET_RECEIVE
|
||||
// #define DEBUG_FORCE_RESET
|
||||
// #define DEBUG_WINKEY_DISABLE_LEAD_IN_TIME_SETTING
|
||||
// #define DEBUG_KEYPAD_SERIAL
|
||||
// #define DEBUG_CALLSIGN_PRACTICE_SHOW_CALLSIGN
|
||||
// #define DEBUG_WORDSWORTH
|
||||
// #define DEBUG_PRACTICE_SERIAL
|
||||
// #define DEBUG_PRACTICE_CMD_MODE
|
||||
// #define DEBUG_SD_CARD
|
||||
// #define DEBUG_FARNSWORTH
|
||||
// #define DEBUG_FARNSWORTH_TIMING
|
||||
// #define DEBUG_ASYNC_EEPROM_WRITE
|
||||
|
||||
// #define OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST
|
|
@ -1,49 +0,0 @@
|
|||
#if defined(FEATURE_LCD_4BIT) || defined(FEATURE_LCD_8BIT) || defined(FEATURE_LCD_ADAFRUIT_I2C) || defined(FEATURE_LCD_ADAFRUIT_BACKPACK) || defined(FEATURE_LCD_YDv1) ||defined(FEATURE_LCD1602_N07DH) || defined(FEATURE_LCD_SAINSMART_I2C) || defined(FEATURE_LCD_FABO_PCF8574) || defined(FEATURE_LCD_MATHERTEL_PCF8574) || defined(FEATURE_LCD_HD44780)
|
||||
#define FEATURE_DISPLAY
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT) && !defined(FEATURE_COMMAND_LINE_INTERFACE)
|
||||
#define FEATURE_COMMAND_LINE_INTERFACE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_WINKEY_EMULATION)
|
||||
#define FEATURE_SERIAL
|
||||
#endif
|
||||
|
||||
//#if defined(HARDWARE_ARDUINO_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#if defined(ARDUINO_SAM_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#error "In order to use FEATURE_MEMORIES with HARDWARE_ARDUINO_DUE you need FEATURE_EEPROM_E24C1024"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_DISPLAY) || defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_CW_COMPUTER_KEYBOARD)
|
||||
#define FEATURE_PADDLE_ECHO
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_STRAIGHT_KEY) && (defined(FEATURE_STRAIGHT_KEY_ECHO) || defined(FEATURE_MEMORIES) || defined(FEATURE_CW_COMPUTER_KEYBOARD))
|
||||
#define FEATURE_STRAIGHT_KEY_DECODE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_WEB_SERVER) || defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_ETHERNET
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_UDP
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD) && defined(FEATURE_3x4_KEYPAD)
|
||||
#error "You can't use both FEATURE_4x4_KEYPAD and FEATURE_3x4_KEYPAD simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_TRAINING_COMMAND_LINE_INTERFACE) && defined(OPTION_WORDSWORTH_NORSK) && !defined(OPTION_NON_ENGLISH_EXTENSIONS)
|
||||
#define OPTION_NON_ENGLISH_EXTENSIONS
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) && defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#error "You can't use both FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1 and FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3 simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) || defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#define FEATURE_SINEWAVE_SIDETONE
|
||||
#endif
|
|
@ -1,101 +0,0 @@
|
|||
// compile time features and options - comment or uncomment to add or delete features
|
||||
// FEATURES add more bytes to the compiled binary, OPTIONS change code behavior
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_BUTTONS
|
||||
// #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
|
||||
// #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_SERIAL_HELP
|
||||
// #define FEATURE_HELL
|
||||
// #define FEATURE_PS2_KEYBOARD // Use a PS2 keyboard to send code - Change keyboard layout (non-US) in K3NG_PS2Keyboard.h. Additional options below.
|
||||
// #define FEATURE_USB_KEYBOARD // Use a USB keyboard to send code - Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CW_COMPUTER_KEYBOARD // Have an Arduino Due or Leonardo act as a USB HID (Human Interface Device) keyboard and use the paddle to "type" characters on the computer -- uncomment this line in ino file: #include <Keyboard.h>
|
||||
// #define FEATURE_DEAD_OP_WATCHDOG
|
||||
// #define FEATURE_AUTOSPACE
|
||||
// #define FEATURE_FARNSWORTH
|
||||
// #define FEATURE_DL2SBA_BANKSWITCH // Switch memory banks feature as described here: http://dl2sba.com/index.php?option=com_content&view=article&id=131:nanokeyer&catid=15:shack&Itemid=27#english
|
||||
// #define FEATURE_LCD_4BIT // classic LCD disidefplay using 4 I/O lines
|
||||
// #define FEATURE_LCD_ADAFRUIT_I2C // Adafruit I2C LCD display using MCP23017 at addr 0x20
|
||||
// #define FEATURE_LCD_ADAFRUIT_BACKPACK // Adafruit I2C LCD Backup using MCP23008 (courtesy Josiah Ritchie, KE0BLL)
|
||||
// #define FEATURE_LCD_YDv1 // YourDuino I2C LCD display with old LCM 1602 V1 ic
|
||||
// #define FEATURE_LCD1602_N07DH // http://linksprite.com/wiki/index.php5?title=16_X_2_LCD_Keypad_Shield_for_Arduino
|
||||
// #define FEATURE_LCD_SAINSMART_I2C
|
||||
// #define FEATURE_CW_DECODER
|
||||
// #define FEATURE_SLEEP // go to sleep after x minutes to conserve battery power (not compatible with Arduino DUE, may have mixed results with Mega and Mega ADK)
|
||||
// #define FEATURE_ROTARY_ENCODER // rotary encoder speed control
|
||||
// #define FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING
|
||||
// #define FEATURE_USB_MOUSE // Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CAPACITIVE_PADDLE_PINS // remove the bypass capacitors on the paddle_left and paddle_right lines when using capactive paddles
|
||||
// #define FEATURE_LED_RING // Mayhew Labs Led Ring support
|
||||
// #define FEATURE_ALPHABET_SEND_PRACTICE // enables command mode S command - created by Ryan, KC2ZWM
|
||||
// #define FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICE // enables command mode U
|
||||
// #define FEATURE_PTT_INTERLOCK
|
||||
// #define FEATURE_QLF
|
||||
// #define FEATURE_EEPROM_E24C1024
|
||||
// #define FEATURE_STRAIGHT_KEY
|
||||
// #define FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
// #define FEATURE_PADDLE_ECHO
|
||||
// #define FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define FEATURE_AMERICAN_MORSE
|
||||
// #define FEATURE_4x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
// #define FEATURE_3x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT // Activate the Command Line interface on the secondary serial port
|
||||
#define OPTION_PRIMARY_SERIAL_PORT_DEFAULT_WINKEY_EMULATION // Use when activating both FEATURE_WINKEY_EMULATION and FEATURE_COMMAND_LINE_INTERFACE
|
||||
// simultaneously. This will make Winkey emulation be the default at boot up;
|
||||
// hold command button down at boot up to activate CLI mode
|
||||
|
||||
// #define OPTION_SUPPRESS_SERIAL_BOOT_MSG
|
||||
#define OPTION_INCLUDE_PTT_TAIL_FOR_MANUAL_SENDING
|
||||
#define OPTION_EXCLUDE_PTT_HANG_TIME_FOR_MANUAL_SENDING
|
||||
//#define OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP // if ASR is not disabled, you may need this to discard errant serial port bytes at startup
|
||||
// #define OPTION_WINKEY_STRICT_EEPROM_WRITES_MAY_WEAR_OUT_EEPROM // with this activated the unit will write non-volatile settings to EEPROM when set by Winkey commands
|
||||
// #define OPTION_WINKEY_SEND_WORDSPACE_AT_END_OF_BUFFER
|
||||
// #define OPTION_WINKEY_STRICT_HOST_OPEN // require an admin host open Winkey command before doing any other commands
|
||||
#define OPTION_WINKEY_2_SUPPORT // comment out to revert to Winkey version 1 emulation
|
||||
#define OPTION_WINKEY_INTERRUPTS_MEMORY_REPEAT
|
||||
//#define OPTION_WINKEY_UCXLOG_9600_BAUD // use this only with UCXLog configured for Winkey 9600 baud mode
|
||||
#define OPTION_WINKEY_2_HOST_CLOSE_NO_SERIAL_PORT_RESET // activate this when using Winkey 2 emulation and Win-Test
|
||||
// #define OPTION_WINKEY_FREQUENT_STATUS_REPORT // activate this to make Winkey emulation play better with RUMlog and RUMped
|
||||
#define OPTION_WINKEY_IGNORE_LOWERCASE // Enable for typical K1EL Winkeyer behavior (use for SkookumLogger version 1.10.14 and prior to workaround "r" bug)
|
||||
#define OPTION_WINKEY_BLINK_PTT_ON_HOST_OPEN
|
||||
// #define OPTION_REVERSE_BUTTON_ORDER // This is mainly for the DJ0MY NanoKeyer http://nanokeyer.wordpress.com/
|
||||
#define OPTION_PROG_MEM_TRIM_TRAILING_SPACES // trim trailing spaces from memory when programming in command mode
|
||||
#define OPTION_DIT_PADDLE_NO_SEND_ON_MEM_RPT // this makes dit paddle memory interruption a little smoother
|
||||
// #define OPTION_MORE_DISPLAY_MSGS // additional optional display messages - comment out to save memory
|
||||
// #define OPTION_N1MM_WINKEY_TAB_BUG_WORKAROUND // enable this to ignore the TAB key in the Send CW window (this breaks SO2R functionality in N1MM)
|
||||
// #define OPTION_WATCHDOG_TIMER // this enables a four second ATmega48/88/168/328 watchdog timer; use for unattended/remote operation only
|
||||
// #define OPTION_MOUSE_MOVEMENT_PADDLE // experimental (just fooling around) - mouse movement will act like a paddle
|
||||
// #define OPTION_NON_ENGLISH_EXTENSIONS // add support for additional CW characters (i.e. À, Å, Þ, etc.)
|
||||
// #define OPTION_DISPLAY_NON_ENGLISH_EXTENSIONS // LCD display suport for non-English (NO/DK/DE) characters - Courtesy of OZ1JHM
|
||||
// #define OPTION_UNKNOWN_CHARACTER_ERROR_TONE
|
||||
#define OPTION_DO_NOT_SAY_HI
|
||||
#define OPTION_BLINK_HI_ON_PTT
|
||||
// #define OPTION_PS2_NON_ENGLISH_CHAR_LCD_DISPLAY_SUPPORT // makes some non-English characters from the PS2 keyboard display correctly in the LCD display (donated by Marcin sp5iou)
|
||||
// #define OPTION_PS2_KEYBOARD_RESET // reset the PS2 keyboard upon startup with 0xFF (contributed by Bill, W9BEL)
|
||||
// #define OPTION_SAVE_MEMORY_NANOKEYER
|
||||
// #define OPTION_CW_KEYBOARD_CAPSLOCK_BEEP
|
||||
// #define OPTION_CW_KEYBOARD_ITALIAN
|
||||
// #define OPTION_CW_KEYBOARD_GERMAN
|
||||
// #define OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define OPTION_INVERT_PADDLE_PIN_LOGIC
|
||||
// #define OPTION_ADVANCED_SPEED_DISPLAY //enables "nerd" speed visualization on display: wpm, cpm (char per min), duration of dit and dah in milliseconds and ratio (contributed by Giorgio, IZ2XBZ)
|
||||
// #define OPTION_PROSIGN_SUPPORT // additional prosign support for paddle and straight key echo on display, CLI, and in memory storage
|
||||
// #define OPTION_RUSSIAN_LANGUAGE_SEND_CLI // Russian language CLI sending support (contributed by Павел Бирюков, UA1AQC)
|
||||
#define OPTION_DO_NOT_SEND_UNKNOWN_CHAR_QUESTION
|
||||
// #define OPTION_CMOS_SUPER_KEYER_IAMBIC_B_TIMING_ON_BY_DEFAULT
|
||||
#define OPTION_SIDETONE_DIGITAL_OUTPUT_NO_SQUARE_WAVE
|
||||
|
||||
// #define OPTION_WORDSWORTH_CZECH
|
||||
// #define OPTION_WORDSWORTH_DEUTSCH
|
||||
// #define OPTION_WORDSWORTH_NORSK
|
||||
|
||||
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
/* keyer_hardware.h
|
||||
|
||||
|
||||
Edit this file to enable specific hardware profiles.
|
||||
|
||||
When enabling a hardware option below, the default keyer_pin_settings.h, keyer_features_and_options.h, and keyer_settings.h files are not compiled.
|
||||
|
||||
See the comments on each line to determine what files are compiled and should be customized.
|
||||
|
||||
*/
|
||||
|
||||
// #define HARDWARE_NANOKEYER_REV_B // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_b.h, keyer_features_and_options_nanokeyer_rev_b.h, keyer_settings_nanokeyer_rev_b.h
|
||||
// #define HARDWARE_NANOKEYER_REV_D // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_d.h, keyer_features_and_options_nanokeyer_rev_d.h, keyer_settings_nanokeyer_rev_d.h
|
||||
// #define HARDWARE_OPEN_INTERFACE // http://remoteqth.com/open-interface.php edit these files: keyer_pin_settings_open_interface.h, keyer_features_and_options_open_interface.h, keyer_settings_open_interface.h
|
||||
// #define HARDWARE_TINYKEYER // http://www.ok1rr.com/index.php/technical-topics/122-the-tinykeyer edit these files: keyer_pin_settings_tinykeyer.h, keyer_features_and_options_tinykeyer.h, keyer_settings_tinykeyer.h
|
||||
// #define HARDWARE_FK_10 // Funtronics K3NG Keyer FK-10 - See notes below!!! http://www.elekitsorparts.com/product/funtronics-k3ng-keyer-fk-10-99-winkey-emulation/ files: keyer_pin_settings_fk_10.h, keyer_features_and_options_fk_10.h, keyer_settings_fk_10.h
|
||||
// #define HARDWARE_MAPLE_MINI // edit these files: keyer_pin_settings_maple_mini.h, keyer_settings_maple_mini.h, keyer_features_and_options_maple_mini.h
|
||||
// #define HARDWARE_GENERIC_STM32F103C // edit these files: keyer_pin_settings_generic_STM32F103C.h, keyer_settings_generic_STM32F103C.h, keyer_features_and_options_generic_STM32F103C.h //sp5iou 20180329
|
||||
#define HARDWARE_MORTTY // edit these files: keyer_pin_settings_mortty.h, keyer_settings_mortty.h, keyer_features_and_options_mortty.h
|
||||
// #define HARDWARE_YAACWK // http://i1cra.briata.org/yaacwk/ files: keyer_pin_settings_yaacwk.h, keyer_features_and_options_yaacwk.h, keyer_settings_yaacwk.h
|
||||
// #define HARDWARE_K5BCQ // edit these files: keyer_pin_settings_k5bcq.h, keyer_features_and_options_k5bcq.h, keyer_settings_k5bcq.h - Kees Talen K5BCQ - Documentation: https://groups.io/g/radioartisan/files/K5BCQ
|
||||
// #define HARDWARE_MEGAKEYER // https://github.com/w6ipa/megakeyer files: keyer_pin_settings_megakeyer.h, keyer_features_and_options_megakeyer.h, keyer_settings_megakeyer.h - https://projects.w6ipa.com/megakeyer/Mega%20Keyer%20Build%20Instructions.html
|
||||
// #define HARDWARE_TEST_EVERYTHING // Goody K3NG uses this to test
|
||||
// #define HARDWARE_TEST // Goody K3NG uses this to test
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
HARDWARE_GENERIC_STM32F103C (Contributed by sp5iou)
|
||||
|
||||
How to deal with those boards with Arduino: https://www.techshopbd.com/uploads/product_document/STM32bluepillarduinoguide(1).pdf
|
||||
|
||||
|
||||
Funtronics FK-10 Programming Notes (Contributed by Disneysw 2016-12-10)
|
||||
|
||||
Programming the unit is accomplished by selecting "Mega2560" as the target processor and uploading to the rear USB port with the front
|
||||
switch set to the Arduino position
|
||||
|
||||
Note: in order to get the FK-10 USB Host port working correctly you will need to patch the file "UsbCore.h" in the USB_Host_Shield library.
|
||||
At the time of writing it is line 41 that needs modified to change "P10" to "P53" i.e. from
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
to:
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P53, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// Do not touch anything below this line!
|
||||
// Serial port class definitions for various devices
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)||defined(ARDUINO_GENERIC_STM32F103C) //sp5iou 20180329
|
||||
#define PRIMARY_SERIAL_CLS USBSerial
|
||||
#define SECONDARY_SERIAL_CLS USBSerial
|
||||
#elif defined(ARDUINO_AVR_PROMICRO) || defined(ARDUINO_AVR_LEONARDO) || defined(ARDUINO_AVR_MICRO) || defined(ARDUINO_AVR_YUN) || defined(ARDUINO_AVR_ESPLORA) || defined(ARDUINO_AVR_LILYPAD_USB) || defined(ARDUINO_AVR_ROBOT_CONTROL) || defined(ARDUINO_AVR_ROBOT_MOTOR) || defined(ARDUINO_AVR_LEONARDO_ETH)
|
||||
#define PRIMARY_SERIAL_CLS Serial_
|
||||
#define SECONDARY_SERIAL_CLS Serial_
|
||||
#elif defined(TEENSYDUINO)
|
||||
#define PRIMARY_SERIAL_CLS usb_serial_class
|
||||
#define SECONDARY_SERIAL_CLS usb_serial_class
|
||||
#else
|
||||
#define PRIMARY_SERIAL_CLS HardwareSerial
|
||||
#define SECONDARY_SERIAL_CLS HardwareSerial
|
||||
#endif
|
||||
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
/* Pins - you must review these and configure ! */
|
||||
#ifndef keyer_pin_settings_h
|
||||
#define keyer_pin_settings_h
|
||||
|
||||
#define paddle_left 2
|
||||
#define paddle_right 5
|
||||
#define tx_key_line_1 11 // (high = key down/tx on)
|
||||
#define tx_key_line_2 12
|
||||
#define tx_key_line_3 0
|
||||
#define tx_key_line_4 0
|
||||
#define tx_key_line_5 0
|
||||
#define tx_key_line_6 0
|
||||
#define sidetone_line 4 // connect a speaker for sidetone
|
||||
#define potentiometer A0 // Speed potentiometer (0 to 5 V) Use pot from 1k to 10k
|
||||
#define ptt_tx_1 13 // PTT ("push to talk") lines
|
||||
#define ptt_tx_2 0 // Can be used for keying fox transmitter, T/R switch, or keying slow boatanchors
|
||||
#define ptt_tx_3 0 // These are optional - set to 0 if unused
|
||||
#define ptt_tx_4 0
|
||||
#define ptt_tx_5 0
|
||||
#define ptt_tx_6 0
|
||||
#define tx_key_dit 0 // if defined, goes active for dit (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define tx_key_dah 0 // if defined, goes active for dah (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define potentiometer_enable_pin 0 // if defined, the potentiometer will be enabled only when this pin is held low; set to 0 to ignore this pin
|
||||
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_pin A1
|
||||
#define command_mode_active_led 0
|
||||
#endif //FEATURE_COMMAND_BUTTONS
|
||||
|
||||
/*
|
||||
FEATURE_SIDETONE_SWITCH
|
||||
Enabling this feature and an external toggle switch adds switch control for playing cw sidetone.
|
||||
ST Switch status is displayed in the status command. This feature will override the software control of the sidetone (\o).
|
||||
Arduino pin is assigned by SIDETONE_SWITCH
|
||||
*/
|
||||
|
||||
#ifdef FEATURE_SIDETONE_SWITCH
|
||||
#define SIDETONE_SWITCH 8
|
||||
#endif //FEATURE_SIDETONE_SWITCH
|
||||
|
||||
|
||||
//lcd pins
|
||||
#ifdef FEATURE_LCD_4BIT
|
||||
#define lcd_rs A2
|
||||
#define lcd_enable 10
|
||||
#define lcd_d4 6
|
||||
#define lcd_d5 7
|
||||
#define lcd_d6 8
|
||||
#define lcd_d7 9
|
||||
#endif //FEATURE_LCD_4BIT
|
||||
|
||||
#ifdef FEATURE_LCD1602_N07DH
|
||||
#define lcd_rs 8
|
||||
#define lcd_enable 9
|
||||
#define lcd_d4 4
|
||||
#define lcd_d5 5
|
||||
#define lcd_d6 6
|
||||
#define lcd_d7 7
|
||||
#endif //FEATURE_LCD1602_N07DH
|
||||
|
||||
//ps2 keyboard pins
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define ps2_keyboard_data A3
|
||||
#define ps2_keyboard_clock 3 // this must be on an interrupt capable pin!
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
// rotary encoder pins and options - rotary encoder code from Jim Balls M0CKE
|
||||
#ifdef FEATURE_ROTARY_ENCODER
|
||||
#define OPTION_ENCODER_HALF_STEP_MODE // Half-step mode?
|
||||
#define rotary_pin1 0 // CW Encoder Pin
|
||||
#define rotary_pin2 0 // CCW Encoder Pin
|
||||
#define OPTION_ENCODER_ENABLE_PULLUPS // define to enable weak pullups.
|
||||
#endif //FEATURE_ROTARY_ENCODER
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_sdi A10 //2 //Data
|
||||
#define led_ring_clk A9 //3 //Clock
|
||||
#define led_ring_le A8 //4 //Latch
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_ALPHABET_SEND_PRACTICE
|
||||
#define correct_answer_led 0
|
||||
#define wrong_answer_led 0
|
||||
#endif //FEATURE_ALPHABET_SEND_PRACTICE
|
||||
|
||||
#ifdef FEATURE_PTT_INTERLOCK
|
||||
#define ptt_interlock 0 // this pin disables PTT and TX KEY
|
||||
#endif //FEATURE_PTT_INTERLOCK
|
||||
|
||||
#ifdef FEATURE_STRAIGHT_KEY
|
||||
#define pin_straight_key 52
|
||||
#endif //FEATURE_STRAIGHT_KEY
|
||||
|
||||
#ifdef FEATURE_CW_DECODER
|
||||
#define cw_decoder_pin A3//A11 //A5 //A3
|
||||
#ifdef OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_audio_input_pin 0 // this must be an analog pin!
|
||||
#endif //OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_indicator 24
|
||||
#endif //FEATURE_CW_DECODER
|
||||
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define compression_detection_pin 13
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define keyer_awake 0
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_CAPACITIVE_PADDLE_PINS)
|
||||
#define capactive_paddle_pin_inhibit_pin 0 // if this pin is defined and is set high, the capacitive paddle pins will switch to normal (non-capacitive) sensing mode
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_4x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col3 37
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_3x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_SEQUENCER
|
||||
#define sequencer_1_pin 40
|
||||
#define sequencer_2_pin 41
|
||||
#define sequencer_3_pin 42
|
||||
#define sequencer_4_pin 43
|
||||
#define sequencer_5_pin 44
|
||||
#endif //FEATURE_SEQUENCER
|
||||
|
||||
#define ptt_input_pin 0
|
||||
|
||||
#define tx_inhibit_pin 0
|
||||
#define tx_pause_pin 0
|
||||
|
||||
#else
|
||||
|
||||
#error "Multiple pin_settings.h files included somehow..."
|
||||
|
||||
#endif //keyer_pin_settings_h
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
// Initial and hardcoded settings
|
||||
#define initial_speed_wpm 26 // "factory default" keyer speed setting
|
||||
#define initial_command_mode_speed_wpm 20 // "factory default" command mode speed setting
|
||||
#define initial_sidetone_freq 600 // "factory default" sidetone frequency setting
|
||||
#define sidetone_hz_limit_low 299
|
||||
#define sidetone_hz_limit_high 2001
|
||||
#define hz_high_beep 1500 // frequency in hertz of high beep
|
||||
#define hz_low_beep 400 // frequency in hertz of low beep
|
||||
#define initial_dah_to_dit_ratio 300 // 300 = 3 / normal 3:1 ratio
|
||||
#define initial_ptt_lead_time_tx1 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx1 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx2 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx2 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx3 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx3 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx4 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx4 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx5 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx5 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx6 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx6 10 // PTT tail time in mS
|
||||
#define initial_qrss_dit_length 1 // QRSS dit length in seconds
|
||||
#define initial_pot_wpm_low_value 13 // Potentiometer WPM fully CCW
|
||||
#define initial_pot_wpm_high_value 35 // Potentiometer WPM fully CW
|
||||
#define wpm_limit_low 5
|
||||
#define wpm_limit_high 60
|
||||
#define potentiometer_change_threshold 0.9 // don't change the keyer speed until pot wpm has changed more than this
|
||||
#define send_buffer_size 150
|
||||
#define default_length_letterspace 3
|
||||
#define default_length_wordspace 7
|
||||
#define default_keying_compensation 0 // number of milliseconds to extend all dits and dahs - for QSK on boatanchors
|
||||
#define default_first_extension_time 0 // number of milliseconds to extend first sent dit or dah
|
||||
#define default_pot_full_scale_reading 1023
|
||||
#define default_weighting 50 // 50 = weighting factor of 1 (normal)
|
||||
#define default_ptt_hang_time_wordspace_units 0.0
|
||||
#define memory_area_start 60 // the eeprom location where memory space starts
|
||||
#define memory_area_end 1023 // the eeprom location where memory space ends
|
||||
#define winkey_c0_wait_time 1 // the number of milliseconds to wait to send 0xc0 byte after send buffer has been sent
|
||||
#define winkey_command_timeout_ms 5000
|
||||
#define winkey_discard_bytes_startup 3 // this is used if OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP is enabled above
|
||||
#define winkey_xoff_threshold 20 // the number of chars in the buffer when we begin sending XOFFs
|
||||
#define winkey_xon_threshold 10 // the number of chars in the buffer below which we deactivate XOFF
|
||||
#define default_memory_repeat_time 3000 // time in milliseconds
|
||||
#define LCD_COLUMNS 16
|
||||
#define LCD_ROWS 2
|
||||
#define hell_pixel_microseconds 4025
|
||||
#define program_memory_limit_consec_spaces 1
|
||||
#define serial_leading_zeros 1 // set to 1 to activate leading zeros in serial numbers (i.e. #1 = 001)
|
||||
#define serial_cut_numbers 0 // set to 1 to activate cut numbers in serial numbers (i.e. #10 = 1T, #19 = 1N)
|
||||
#define go_to_sleep_inactivity_time 10 // minutes - FEATURE_SLEEP
|
||||
#define default_cmos_super_keyer_iambic_b_timing_percent 33 // use with FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING; should be between 0 to 99 % (0% = true iambic b;100% = iambic a behavior)
|
||||
#define cw_echo_timing_factor 0.25
|
||||
#define winkey_paddle_echo_buffer_decode_timing_factor 0.25
|
||||
#define potentiometer_always_on 0
|
||||
#define ptt_interlock_check_every_ms 100
|
||||
#define ptt_interlock_active_state HIGH
|
||||
#define unknown_cw_character '*'
|
||||
#define cli_paddle_echo_on_at_boot 1
|
||||
#define cli_straight_key_echo_on_at_boot 1
|
||||
#define tx_key_dit_and_dah_pins_active_state HIGH
|
||||
#define tx_key_dit_and_dah_pins_inactive_state LOW
|
||||
#define potentiometer_check_interval_ms 0 //=====150
|
||||
#define potentiometer_reading_threshold 1
|
||||
#define default_paddle_interruption_quiet_time_element_lengths 0
|
||||
#define default_wordsworth_wordspace 6
|
||||
#define default_wordsworth_repetition 1
|
||||
#define serial_program_memory_buffer_size 500
|
||||
#define eeprom_write_time_ms 30000
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_number_of_buttons 4
|
||||
#define analog_buttons_r1 10
|
||||
#define analog_buttons_r2 1
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_COMMAND_BUTTONS) && !defined(FEATURE_PS2_KEYBOARD) && !defined(FEATURE_USB_KEYBOARD) && !defined(FEATURE_COMMAND_LINE_INTERFACE) && !defined(FEATURE_WINKEY_EMULATION)
|
||||
#define number_of_memories byte(analog_buttons_number_of_buttons-1)
|
||||
#else
|
||||
#define number_of_memories byte(12)
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
#define capacitance_threshold 2
|
||||
#endif //FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_low_limit 10
|
||||
#define led_ring_high_limit 50
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_QLF
|
||||
#define qlf_dit_max 125
|
||||
#define qlf_dit_min 75
|
||||
#define qlf_dah_max 200
|
||||
#define qlf_dah_min 100
|
||||
#define qlf_on_by_default 0
|
||||
#endif //FEATURE_QLF
|
||||
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#ifdef OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
#define WINKEY_DEFAULT_BAUD 9600
|
||||
#else
|
||||
#define WINKEY_DEFAULT_BAUD 1200
|
||||
#endif //OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
// alter these below to map alternate sidetones for Winkey interface protocol emulation
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 3759
|
||||
#define WINKEY_SIDETONE_2 1879
|
||||
#define WINKEY_SIDETONE_3 1252
|
||||
#define WINKEY_SIDETONE_4 940
|
||||
#define WINKEY_SIDETONE_5 752
|
||||
#define WINKEY_SIDETONE_6 625
|
||||
#define WINKEY_SIDETONE_7 535
|
||||
#define WINKEY_SIDETONE_8 469
|
||||
#define WINKEY_SIDETONE_9 417
|
||||
#define WINKEY_SIDETONE_10 375
|
||||
#else //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 4000
|
||||
#define WINKEY_SIDETONE_2 2000
|
||||
#define WINKEY_SIDETONE_3 1333
|
||||
#define WINKEY_SIDETONE_4 1000
|
||||
#define WINKEY_SIDETONE_5 800
|
||||
#define WINKEY_SIDETONE_6 666
|
||||
#define WINKEY_SIDETONE_7 571
|
||||
#define WINKEY_SIDETONE_8 500
|
||||
#define WINKEY_SIDETONE_9 444
|
||||
#define WINKEY_SIDETONE_10 400
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
|
||||
#define WINKEY_1_REPORT_VERSION_NUMBER 10
|
||||
#define WINKEY_2_REPORT_VERSION_NUMBER 23
|
||||
|
||||
// alter these to map to alternate hang time wordspace units
|
||||
#define WINKEY_HANG_TIME_1_0 1.0
|
||||
#define WINKEY_HANG_TIME_1_33 1.33
|
||||
#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_PADDLE_A2D 0xEE
|
||||
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00
|
||||
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
|
||||
|
||||
#define PRIMARY_SERIAL_PORT &Serial
|
||||
#define PRIMARY_SERIAL_PORT_BAUD 115200 // This applies only when the port is in Command Line Interface mode. In Winkey mode it will default to 1200.
|
||||
|
||||
#ifdef FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
#define SECONDARY_SERIAL_PORT &Serial1
|
||||
#define SECONDARY_SERIAL_PORT_BAUD 115200
|
||||
#endif
|
||||
|
||||
|
||||
#define CW_DECODER_SCREEN_COLUMNS 120 // word wrap at this many columns
|
||||
#define CW_DECODER_SPACE_PRINT_THRESH 4.5 // print space if no tone for this many element lengths
|
||||
#define CW_DECODER_SPACE_DECODE_THRESH 2.0 // invoke character decode if no tone for this many element lengths
|
||||
#define CW_DECODER_NOISE_FILTER 20 // ignore elements shorter than this (mS)
|
||||
|
||||
#define STRAIGHT_KEY_ACTIVE_STATE LOW
|
||||
|
||||
#ifdef FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_WPM 30
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_RATIO 300 // 300 = 3:1 ratio
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_WPM 70
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_RATIO 240 // 240 = 2.4:1 ratio
|
||||
#endif //FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define COMPETITION_COMPRESSION_DETECTION_ARRAY_SIZE 16
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_LOWER_LIMIT 1
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_UPPER_LIMIT 6.0
|
||||
#define COMPETITION_COMPRESSION_DETECTION_AVERAGE_ALARM_THRESHOLD 3.0
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
|
||||
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_ETHERNET)
|
||||
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
|
||||
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
|
||||
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.179")
|
||||
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
|
||||
|
||||
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
|
||||
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
|
||||
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
|
||||
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
|
||||
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
|
||||
#endif //FEATURE_ETHERNET
|
||||
|
||||
#define WEB_SERVER_CONTROL_TX_KEY_TIME_LIMIT_SECS 10
|
||||
|
||||
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
|
||||
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
|
||||
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
#define KEYPAD_ROWS 4 //KeyPad Rows
|
||||
#if defined(FEATURE_4x4_KEYPAD)
|
||||
#define KEYPAD_COLS 4 //keypad Columns
|
||||
#else
|
||||
#define KEYPAD_COLS 3
|
||||
#endif
|
||||
#define mem1 0 //Memory numbers for Keypad: Actual memory numbers start with "0"
|
||||
#define mem2 1
|
||||
#define mem3 2
|
||||
#define mem4 3
|
||||
#define mem5 4
|
||||
#define mem6 5
|
||||
#define mem7 6
|
||||
#define mem8 7
|
||||
#define mem9 8
|
||||
#define mem10 9
|
||||
#define mem11 10
|
||||
#define mem12 11
|
||||
#endif //#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
|
||||
#define initial_sidetone_mode 1 // Sidetone mode, 0=OFF, 1=ON, 2=PADDLE_ONLY
|
||||
|
||||
#define sd_card_spi_ss_line 4
|
||||
|
||||
|
||||
#if defined(OPTION_DFROBOT_LCD_COMMAND_BUTTONS)
|
||||
|
||||
// For V1.1 board use these values
|
||||
#define dfrobot_btnRIGHT_analog 50
|
||||
#define dfrobot_btnUP_analog 250
|
||||
#define dfrobot_btnDOWN_analog 450
|
||||
#define dfrobot_btnLEFT_analog 650
|
||||
#define dfrobot_btnSELECT_analog 850
|
||||
|
||||
// For V1.0 board use these values
|
||||
// #define dfrobot_btnRIGHT_analog 50
|
||||
// #define dfrobot_btnUP_analog 195
|
||||
// #define dfrobot_btnDOWN_analog 380
|
||||
// #define dfrobot_btnLEFT_analog 555
|
||||
// #define dfrobot_btnSELECT_analog 790
|
||||
|
||||
// button to memory mappings (0 = command button, 1 = memory 1, 2 = memory 2, etc.)
|
||||
#define dfrobot_btnRIGHT 2
|
||||
#define dfrobot_btnUP 1
|
||||
#define dfrobot_btnDOWN 3
|
||||
#define dfrobot_btnLEFT 4
|
||||
#define dfrobot_btnSELECT 0
|
||||
#define dfrobot_btnNONE 255 // do not change
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define sequencer_pins_active_state HIGH
|
||||
#define sequencer_pins_inactive_state LOW
|
||||
#define ptt_line_active_state HIGH
|
||||
#define ptt_line_inactive_state LOW
|
||||
#define tx_key_line_active_state HIGH
|
||||
#define tx_key_line_inactive_state LOW
|
||||
#define ptt_input_pin_active_state LOW
|
||||
#define ptt_input_pin_inactive_state HIGH
|
||||
#define tx_inhibit_pin_active_state LOW
|
||||
#define tx_inhibit_pin_inactive_state HIGH
|
||||
#define tx_pause_pin_active_state LOW
|
||||
#define tx_pause_pin_inactive_state HIGH
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)
|
||||
#define button_value_factor 4095
|
||||
#else
|
||||
#define button_value_factor 1023
|
||||
#endif
|
||||
|
||||
#define farnsworth_timing_calibration 1.15
|
||||
|
||||
#define sidetone_volume_low_limit 10
|
||||
#define sidetone_volume_high_limit 500
|
||||
|
||||
|
|
@ -1,266 +0,0 @@
|
|||
// keyer_training_text_czech.h
|
||||
// Czech word list contributed by Martin, OK1RR
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "DO";
|
||||
const char s2_2[] PROGMEM = "NA";
|
||||
const char s2_3[] PROGMEM = "PO";
|
||||
const char s2_4[] PROGMEM = "MY";
|
||||
const char s2_5[] PROGMEM = "TO";
|
||||
const char s2_6[] PROGMEM = "NE";
|
||||
const char s2_7[] PROGMEM = "VY";
|
||||
const char s2_8[] PROGMEM = "ZE";
|
||||
const char s2_9[] PROGMEM = "VE";
|
||||
const char s2_10[] PROGMEM = "JA";
|
||||
const char s2_11[] PROGMEM = "TY";
|
||||
const char s2_12[] PROGMEM = "BY";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "SE";
|
||||
const char s2_15[] PROGMEM = "AZ";
|
||||
const char s2_16[] PROGMEM = "TU";
|
||||
const char s2_17[] PROGMEM = "TI";
|
||||
const char s2_18[] PROGMEM = "ZA";
|
||||
const char s2_19[] PROGMEM = "CI";
|
||||
const char s2_20[] PROGMEM = "CO";
|
||||
const char s2_21[] PROGMEM = "JI";
|
||||
const char s2_22[] PROGMEM = "MU";
|
||||
const char s2_23[] PROGMEM = "JE";
|
||||
const char s2_24[] PROGMEM = "UZ";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DVA";
|
||||
const char s3_2[] PROGMEM = "TRI";
|
||||
const char s3_3[] PROGMEM = "MUJ";
|
||||
const char s3_4[] PROGMEM = "NAS";
|
||||
const char s3_5[] PROGMEM = "ONA";
|
||||
const char s3_6[] PROGMEM = "ONI";
|
||||
const char s3_7[] PROGMEM = "ONO";
|
||||
const char s3_8[] PROGMEM = "VAS";
|
||||
const char s3_9[] PROGMEM = "VSE";
|
||||
const char s3_10[] PROGMEM = "POD";
|
||||
const char s3_11[] PROGMEM = "NAD";
|
||||
const char s3_12[] PROGMEM = "KDE";
|
||||
const char s3_13[] PROGMEM = "KDY";
|
||||
const char s3_14[] PROGMEM = "KAM";
|
||||
const char s3_15[] PROGMEM = "KUS";
|
||||
const char s3_16[] PROGMEM = "DEN";
|
||||
const char s3_17[] PROGMEM = "TAM";
|
||||
const char s3_18[] PROGMEM = "DAT";
|
||||
const char s3_19[] PROGMEM = "DAM";
|
||||
const char s3_20[] PROGMEM = "DAS";
|
||||
const char s3_21[] PROGMEM = "MIT";
|
||||
const char s3_22[] PROGMEM = "JIT";
|
||||
const char s3_23[] PROGMEM = "NEZ";
|
||||
const char s3_24[] PROGMEM = "ROK";
|
||||
const char s3_25[] PROGMEM = "PAK";
|
||||
const char s3_26[] PROGMEM = "DIK";
|
||||
const char s3_27[] PROGMEM = "DUM";
|
||||
const char s3_28[] PROGMEM = "PRO";
|
||||
const char s3_29[] PROGMEM = "PRI";
|
||||
const char s3_30[] PROGMEM = "OKO";
|
||||
const char s3_31[] PROGMEM = "CAS";
|
||||
const char s3_32[] PROGMEM = "CAJ";
|
||||
const char s3_33[] PROGMEM = "CIL";
|
||||
const char s3_34[] PROGMEM = "COP";
|
||||
const char s3_35[] PROGMEM = "MUZ";
|
||||
const char s3_36[] PROGMEM = "ASI";
|
||||
const char s3_37[] PROGMEM = "BEZ";
|
||||
const char s3_38[] PROGMEM = "BOJ";
|
||||
const char s3_39[] PROGMEM = "BUH";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "TATO";
|
||||
const char s4_2[] PROGMEM = "TITO";
|
||||
const char s4_3[] PROGMEM = "TOTO";
|
||||
const char s4_4[] PROGMEM = "DOMA";
|
||||
const char s4_5[] PROGMEM = "STAT";
|
||||
const char s4_6[] PROGMEM = "TADY";
|
||||
const char s4_7[] PROGMEM = "DOBA";
|
||||
const char s4_8[] PROGMEM = "TAKE";
|
||||
const char s4_9[] PROGMEM = "PRED";
|
||||
const char s4_10[] PROGMEM = "SVET";
|
||||
const char s4_11[] PROGMEM = "BRZY";
|
||||
const char s4_12[] PROGMEM = "TVUJ";
|
||||
const char s4_13[] PROGMEM = "TATA";
|
||||
const char s4_14[] PROGMEM = "MAMA";
|
||||
const char s4_15[] PROGMEM = "PSIK";
|
||||
const char s4_16[] PROGMEM = "ZENA";
|
||||
const char s4_17[] PROGMEM = "DITE";
|
||||
const char s4_18[] PROGMEM = "DETI";
|
||||
const char s4_19[] PROGMEM = "KONE";
|
||||
const char s4_20[] PROGMEM = "DUHA";
|
||||
const char s4_21[] PROGMEM = "RUKA";
|
||||
const char s4_22[] PROGMEM = "NOHA";
|
||||
const char s4_23[] PROGMEM = "PRST";
|
||||
const char s4_24[] PROGMEM = "POLE";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "VITR";
|
||||
const char s4_27[] PROGMEM = "MLHA";
|
||||
const char s4_28[] PROGMEM = "VODA";
|
||||
const char s4_29[] PROGMEM = "VAHA";
|
||||
const char s4_30[] PROGMEM = "PIVO";
|
||||
const char s4_31[] PROGMEM = "HRAT";
|
||||
const char s4_32[] PROGMEM = "RADA";
|
||||
const char s4_33[] PROGMEM = "PANI";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "JOSEF";
|
||||
const char name_3[] PROGMEM = "JIRI";
|
||||
const char name_4[] PROGMEM = "KAREL";
|
||||
const char name_5[] PROGMEM = "HONZA";
|
||||
const char name_6[] PROGMEM = "FRANTA";
|
||||
const char name_7[] PROGMEM = "PETR";
|
||||
const char name_8[] PROGMEM = "PAVEL";
|
||||
const char name_9[] PROGMEM = "JINDRA";
|
||||
const char name_10[] PROGMEM = "FILIP";
|
||||
const char name_11[] PROGMEM = "MILAN";
|
||||
const char name_12[] PROGMEM = "MARTIN";
|
||||
const char name_13[] PROGMEM = "DAVID";
|
||||
const char name_14[] PROGMEM = "TOMAS";
|
||||
const char name_15[] PROGMEM = "HANKA";
|
||||
const char name_16[] PROGMEM = "SASA";
|
||||
const char name_17[] PROGMEM = "IVAN";
|
||||
const char name_18[] PROGMEM = "BERT";
|
||||
const char name_19[] PROGMEM = "VASEK";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "JIRKA";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "PEPA";
|
||||
const char name_24[] PROGMEM = "JIRINA";
|
||||
const char name_25[] PROGMEM = "RISA";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "LUBOS";
|
||||
const char name_28[] PROGMEM = "TONDA";
|
||||
const char name_29[] PROGMEM = "LADA";
|
||||
const char name_30[] PROGMEM = "VLADA";
|
||||
const char name_31[] PROGMEM = "JENDA";
|
||||
const char name_32[] PROGMEM = "CYRIL";
|
||||
const char name_33[] PROGMEM = "BOHOUS";
|
||||
const char name_34[] PROGMEM = "KAMIL";
|
||||
const char name_35[] PROGMEM = "RENE";
|
||||
const char name_36[] PROGMEM = "PATRIK";
|
||||
const char name_37[] PROGMEM = "SIMON";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "LOJZA";
|
||||
const char name_40[] PROGMEM = "MATEJ";
|
||||
const char name_41[] PROGMEM = "FERDA";
|
||||
const char name_42[] PROGMEM = "MARIE";
|
||||
const char name_43[] PROGMEM = "ZDENEK";
|
||||
const char name_44[] PROGMEM = "JULEK";
|
||||
const char name_45[] PROGMEM = "STANDA";
|
||||
const char name_46[] PROGMEM = "SLAVEK";
|
||||
const char name_47[] PROGMEM = "VILDA";
|
||||
const char name_48[] PROGMEM = "VERA";
|
||||
const char name_49[] PROGMEM = "GUSTA";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,264 +0,0 @@
|
|||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "TO";
|
||||
const char s2_2[] PROGMEM = "IN";
|
||||
const char s2_3[] PROGMEM = "IT";
|
||||
const char s2_4[] PROGMEM = "IS";
|
||||
const char s2_5[] PROGMEM = "BE";
|
||||
const char s2_6[] PROGMEM = "AS";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "SO";
|
||||
const char s2_9[] PROGMEM = "WE";
|
||||
const char s2_10[] PROGMEM = "HE";
|
||||
const char s2_11[] PROGMEM = "BY";
|
||||
const char s2_12[] PROGMEM = "OR";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "DO";
|
||||
const char s2_15[] PROGMEM = "IF";
|
||||
const char s2_16[] PROGMEM = "ME";
|
||||
const char s2_17[] PROGMEM = "MY";
|
||||
const char s2_18[] PROGMEM = "UP";
|
||||
const char s2_19[] PROGMEM = "AN";
|
||||
const char s2_20[] PROGMEM = "GO";
|
||||
const char s2_21[] PROGMEM = "NO";
|
||||
const char s2_22[] PROGMEM = "US";
|
||||
const char s2_23[] PROGMEM = "AM";
|
||||
const char s2_24[] PROGMEM = "OF";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "THE";
|
||||
const char s3_2[] PROGMEM = "AND";
|
||||
const char s3_3[] PROGMEM = "FOR";
|
||||
const char s3_4[] PROGMEM = "ARE";
|
||||
const char s3_5[] PROGMEM = "BUT";
|
||||
const char s3_6[] PROGMEM = "NOT";
|
||||
const char s3_7[] PROGMEM = "YOU";
|
||||
const char s3_8[] PROGMEM = "ALL";
|
||||
const char s3_9[] PROGMEM = "ANY";
|
||||
const char s3_10[] PROGMEM = "CAN";
|
||||
const char s3_11[] PROGMEM = "HAD";
|
||||
const char s3_12[] PROGMEM = "HER";
|
||||
const char s3_13[] PROGMEM = "WAS";
|
||||
const char s3_14[] PROGMEM = "ONE";
|
||||
const char s3_15[] PROGMEM = "OUR";
|
||||
const char s3_16[] PROGMEM = "OUT";
|
||||
const char s3_17[] PROGMEM = "DAY";
|
||||
const char s3_18[] PROGMEM = "GET";
|
||||
const char s3_19[] PROGMEM = "HAS";
|
||||
const char s3_20[] PROGMEM = "HIM";
|
||||
const char s3_21[] PROGMEM = "HIS";
|
||||
const char s3_22[] PROGMEM = "HOW";
|
||||
const char s3_23[] PROGMEM = "MAN";
|
||||
const char s3_24[] PROGMEM = "NEW";
|
||||
const char s3_25[] PROGMEM = "NOW";
|
||||
const char s3_26[] PROGMEM = "OLD";
|
||||
const char s3_27[] PROGMEM = "SEE";
|
||||
const char s3_28[] PROGMEM = "TWO";
|
||||
const char s3_29[] PROGMEM = "WAY";
|
||||
const char s3_30[] PROGMEM = "WHO";
|
||||
const char s3_31[] PROGMEM = "BOY";
|
||||
const char s3_32[] PROGMEM = "DID";
|
||||
const char s3_33[] PROGMEM = "ITS";
|
||||
const char s3_34[] PROGMEM = "LET";
|
||||
const char s3_35[] PROGMEM = "PUT";
|
||||
const char s3_36[] PROGMEM = "SAY";
|
||||
const char s3_37[] PROGMEM = "SHE";
|
||||
const char s3_38[] PROGMEM = "TOO";
|
||||
const char s3_39[] PROGMEM = "USE";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "THAT";
|
||||
const char s4_2[] PROGMEM = "WITH";
|
||||
const char s4_3[] PROGMEM = "HAVE";
|
||||
const char s4_4[] PROGMEM = "THIS";
|
||||
const char s4_5[] PROGMEM = "WILL";
|
||||
const char s4_6[] PROGMEM = "YOUR";
|
||||
const char s4_7[] PROGMEM = "FROM";
|
||||
const char s4_8[] PROGMEM = "THEY";
|
||||
const char s4_9[] PROGMEM = "KNOW";
|
||||
const char s4_10[] PROGMEM = "WANT";
|
||||
const char s4_11[] PROGMEM = "BEEN";
|
||||
const char s4_12[] PROGMEM = "GOOD";
|
||||
const char s4_13[] PROGMEM = "MUCH";
|
||||
const char s4_14[] PROGMEM = "SOME";
|
||||
const char s4_15[] PROGMEM = "TIME";
|
||||
const char s4_16[] PROGMEM = "VERY";
|
||||
const char s4_17[] PROGMEM = "WHEN";
|
||||
const char s4_18[] PROGMEM = "COME";
|
||||
const char s4_19[] PROGMEM = "HERE";
|
||||
const char s4_20[] PROGMEM = "JUST";
|
||||
const char s4_21[] PROGMEM = "LIKE";
|
||||
const char s4_22[] PROGMEM = "LONG";
|
||||
const char s4_23[] PROGMEM = "MAKE";
|
||||
const char s4_24[] PROGMEM = "MANY";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "ONLY";
|
||||
const char s4_27[] PROGMEM = "OVER";
|
||||
const char s4_28[] PROGMEM = "SUCH";
|
||||
const char s4_29[] PROGMEM = "TAKE";
|
||||
const char s4_30[] PROGMEM = "THAN";
|
||||
const char s4_31[] PROGMEM = "THEM";
|
||||
const char s4_32[] PROGMEM = "WELL";
|
||||
const char s4_33[] PROGMEM = "WERE";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "BOB";
|
||||
const char name_3[] PROGMEM = "BILL";
|
||||
const char name_4[] PROGMEM = "JOHN";
|
||||
const char name_5[] PROGMEM = "GEORGE";
|
||||
const char name_6[] PROGMEM = "TOM";
|
||||
const char name_7[] PROGMEM = "RICH";
|
||||
const char name_8[] PROGMEM = "STEVE";
|
||||
const char name_9[] PROGMEM = "TIM";
|
||||
const char name_10[] PROGMEM = "SCOTT";
|
||||
const char name_11[] PROGMEM = "FRED";
|
||||
const char name_12[] PROGMEM = "DOUG";
|
||||
const char name_13[] PROGMEM = "DAVE";
|
||||
const char name_14[] PROGMEM = "GARY";
|
||||
const char name_15[] PROGMEM = "JIM";
|
||||
const char name_16[] PROGMEM = "CHRIS";
|
||||
const char name_17[] PROGMEM = "MIKE";
|
||||
const char name_18[] PROGMEM = "ED";
|
||||
const char name_19[] PROGMEM = "AL";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "RON";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "ART";
|
||||
const char name_24[] PROGMEM = "GREG";
|
||||
const char name_25[] PROGMEM = "RICK";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "KEN";
|
||||
const char name_28[] PROGMEM = "TONY";
|
||||
const char name_29[] PROGMEM = "CARL";
|
||||
const char name_30[] PROGMEM = "PHIL";
|
||||
const char name_31[] PROGMEM = "JOE";
|
||||
const char name_32[] PROGMEM = "JON";
|
||||
const char name_33[] PROGMEM = "LARRY";
|
||||
const char name_34[] PROGMEM = "DON";
|
||||
const char name_35[] PROGMEM = "DICK";
|
||||
const char name_36[] PROGMEM = "PAUL";
|
||||
const char name_37[] PROGMEM = "SERGE";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "VLAD";
|
||||
const char name_40[] PROGMEM = "JEFF";
|
||||
const char name_41[] PROGMEM = "CHAS";
|
||||
const char name_42[] PROGMEM = "JACK";
|
||||
const char name_43[] PROGMEM = "GENE";
|
||||
const char name_44[] PROGMEM = "BERT";
|
||||
const char name_45[] PROGMEM = "OLEG";
|
||||
const char name_46[] PROGMEM = "PETE";
|
||||
const char name_47[] PROGMEM = "PAT";
|
||||
const char name_48[] PROGMEM = "JUAN";
|
||||
const char name_49[] PROGMEM = "GUS";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,248 +0,0 @@
|
|||
// keyer_training_text_norsk.h
|
||||
// Norwegian word list contributed by Karl, LA3FY
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "OG";
|
||||
const char s2_2[] PROGMEM = "PÅ";
|
||||
const char s2_3[] PROGMEM = "GÅ";
|
||||
const char s2_4[] PROGMEM = "ER";
|
||||
const char s2_5[] PROGMEM = "EN";
|
||||
const char s2_6[] PROGMEM = "AV";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "DE";
|
||||
const char s2_9[] PROGMEM = "ET";
|
||||
const char s2_10[] PROGMEM = "SÅ";
|
||||
const char s2_11[] PROGMEM = "VI";
|
||||
const char s2_12[] PROGMEM = "DU";
|
||||
const char s2_13[] PROGMEM = "DA";
|
||||
const char s2_14[] PROGMEM = "UT";
|
||||
const char s2_15[] PROGMEM = "SA";
|
||||
const char s2_16[] PROGMEM = "NÅ";
|
||||
const char s2_17[] PROGMEM = "NY";
|
||||
const char s2_18[] PROGMEM = "HA";
|
||||
const char s2_19[] PROGMEM = "ÅR";
|
||||
const char s2_20[] PROGMEM = "FÅ";
|
||||
const char s2_21[] PROGMEM = "TO";
|
||||
const char s2_22[] PROGMEM = "SE";
|
||||
const byte s2_size = 22;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DET";
|
||||
const char s3_2[] PROGMEM = "SOM";
|
||||
const char s3_3[] PROGMEM = "HAN";
|
||||
const char s3_4[] PROGMEM = "FOR";
|
||||
const char s3_5[] PROGMEM = "MED";
|
||||
const char s3_6[] PROGMEM = "VAR";
|
||||
const char s3_7[] PROGMEM = "DEN";
|
||||
const char s3_8[] PROGMEM = "HAR";
|
||||
const char s3_9[] PROGMEM = "JEG";
|
||||
const char s3_10[] PROGMEM = "MEN";
|
||||
const char s3_11[] PROGMEM = "SEG";
|
||||
const char s3_12[] PROGMEM = "HUN";
|
||||
const char s3_13[] PROGMEM = "VÅR";
|
||||
const char s3_14[] PROGMEM = "FRA";
|
||||
const char s3_15[] PROGMEM = "KAN";
|
||||
const char s3_16[] PROGMEM = "BLE";
|
||||
const char s3_17[] PROGMEM = "VIL";
|
||||
const char s3_18[] PROGMEM = "HAM";
|
||||
const char s3_19[] PROGMEM = "VED";
|
||||
const char s3_20[] PROGMEM = "NOE";
|
||||
const char s3_21[] PROGMEM = "MEG";
|
||||
const char s3_22[] PROGMEM = "MOT";
|
||||
const char s3_23[] PROGMEM = "OPP";
|
||||
const char s3_24[] PROGMEM = "DER";
|
||||
const char s3_25[] PROGMEM = "NÅR";
|
||||
const char s3_26[] PROGMEM = "INN";
|
||||
const char s3_27[] PROGMEM = "DEM";
|
||||
const char s3_28[] PROGMEM = "SIN";
|
||||
const char s3_29[] PROGMEM = "KOM";
|
||||
const char s3_30[] PROGMEM = "ENN";
|
||||
const char s3_31[] PROGMEM = "BLI";
|
||||
const char s3_32[] PROGMEM = "FØR";
|
||||
const char s3_33[] PROGMEM = "GÅR";
|
||||
const char s3_34[] PROGMEM = "HER";
|
||||
const char s3_35[] PROGMEM = "MER";
|
||||
const char s3_36[] PROGMEM = "HVA";
|
||||
const char s3_37[] PROGMEM = "ALT";
|
||||
const char s3_38[] PROGMEM = "OSS";
|
||||
const byte s3_size = 38;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "IKKE";
|
||||
const char s4_2[] PROGMEM = "OVER";
|
||||
const char s4_3[] PROGMEM = "OGSÅ";
|
||||
const char s4_4[] PROGMEM = "BARE";
|
||||
const char s4_5[] PROGMEM = "VÆRE";
|
||||
const char s4_6[] PROGMEM = "BLIR";
|
||||
const char s4_7[] PROGMEM = "ALLE";
|
||||
const char s4_8[] PROGMEM = "NOEN";
|
||||
const char s4_9[] PROGMEM = "SELV";
|
||||
const char s4_10[] PROGMEM = "SIER";
|
||||
const char s4_11[] PROGMEM = "HANS";
|
||||
const char s4_12[] PROGMEM = "GIKK";
|
||||
const char s4_13[] PROGMEM = "FIKK";
|
||||
const char s4_14[] PROGMEM = "DASH";
|
||||
const char s4_15[] PROGMEM = "HVOR";
|
||||
const char s4_16[] PROGMEM = "HELE";
|
||||
const byte s4_size = 16;
|
||||
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};
|
||||
|
||||
// common names
|
||||
|
||||
const char name_1[] PROGMEM = "JAN";
|
||||
const char name_2[] PROGMEM = "PER";
|
||||
const char name_3[] PROGMEM = "BJØRN";
|
||||
const char name_4[] PROGMEM = "OLE";
|
||||
const char name_5[] PROGMEM = "KJELL";
|
||||
const char name_6[] PROGMEM = "LARS";
|
||||
const char name_7[] PROGMEM = "ARNE";
|
||||
const char name_8[] PROGMEM = "KNUT";
|
||||
const char name_9[] PROGMEM = "SVEIN";
|
||||
const char name_10[] PROGMEM = "HANS";
|
||||
const char name_11[] PROGMEM = "ODD";
|
||||
const char name_12[] PROGMEM = "TOR";
|
||||
const char name_13[] PROGMEM = "GEIR";
|
||||
const char name_14[] PROGMEM = "TERJE";
|
||||
const char name_15[] PROGMEM = "THOMAS";
|
||||
const char name_16[] PROGMEM = "MORTEN";
|
||||
const char name_17[] PROGMEM = "JOHN";
|
||||
const char name_18[] PROGMEM = "ERIK";
|
||||
const char name_19[] PROGMEM = "ANDERS";
|
||||
const char name_20[] PROGMEM = "RUNE";
|
||||
const char name_21[] PROGMEM = "MARTIN";
|
||||
const char name_22[] PROGMEM = "ANDREAS";
|
||||
const char name_23[] PROGMEM = "TROND";
|
||||
const char name_24[] PROGMEM = "TORE";
|
||||
const char name_25[] PROGMEM = "HARALD";
|
||||
const char name_26[] PROGMEM = "OLAV";
|
||||
const char name_27[] PROGMEM = "GUNNAR";
|
||||
const char name_28[] PROGMEM = "JON";
|
||||
const char name_29[] PROGMEM = "ROLF";
|
||||
const char name_30[] PROGMEM = "LEIF";
|
||||
const char name_31[] PROGMEM = "TOM";
|
||||
const char name_32[] PROGMEM = "STIAN";
|
||||
const char name_33[] PROGMEM = "KRISTIAN";
|
||||
const char name_34[] PROGMEM = "NILS";
|
||||
const char name_35[] PROGMEM = "ØYVIND";
|
||||
const char name_36[] PROGMEM = "HELGE";
|
||||
const char name_37[] PROGMEM = "ESPEN";
|
||||
const char name_38[] PROGMEM = "EINAR";
|
||||
const char name_39[] PROGMEM = "MARIUS";
|
||||
const char name_40[] PROGMEM = "KÅRE";
|
||||
const char name_41[] PROGMEM = "DANIEL";
|
||||
const char name_42[] PROGMEM = "MAGNUS";
|
||||
const char name_43[] PROGMEM = "FREDRIK";
|
||||
const char name_44[] PROGMEM = "CHRISTIAN";
|
||||
const char name_45[] PROGMEM = "STEINAR";
|
||||
const char name_46[] PROGMEM = "EIRIK";
|
||||
const char name_47[] PROGMEM = "HÅKON";
|
||||
const char name_48[] PROGMEM = "ØYSTEIN";
|
||||
const char name_49[] PROGMEM = "HENRIK";
|
||||
const char name_50[] PROGMEM = "KARL";
|
||||
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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
||||
|
||||
|
Plik diff jest za duży
Load Diff
|
@ -1,223 +0,0 @@
|
|||
#ifndef keyer_h
|
||||
#define keyer_h
|
||||
|
||||
// Do not change these !
|
||||
|
||||
// Variable macros
|
||||
#define STRAIGHT 1
|
||||
#define IAMBIC_B 2
|
||||
#define IAMBIC_A 3
|
||||
#define BUG 4
|
||||
#define ULTIMATIC 5
|
||||
#define SINGLE_PADDLE 6
|
||||
|
||||
#define PADDLE_NORMAL 0
|
||||
#define PADDLE_REVERSE 1
|
||||
|
||||
#define KEYER_NORMAL 0
|
||||
#define BEACON 1
|
||||
#define KEYER_COMMAND_MODE 2
|
||||
#define KEYER_COMMAND_MODE_SPEED_OVERRIDE 3
|
||||
|
||||
#define OMIT_LETTERSPACE 1
|
||||
|
||||
#define SIDETONE_OFF 0
|
||||
#define SIDETONE_ON 1
|
||||
#define SIDETONE_PADDLE_ONLY 2
|
||||
|
||||
#define SENDING_NOTHING 0
|
||||
#define SENDING_DIT 1
|
||||
#define SENDING_DAH 2
|
||||
|
||||
#define SPEED_NORMAL 0
|
||||
#define SPEED_QRSS 1
|
||||
|
||||
#define CW 0
|
||||
#define HELL 1
|
||||
#define AMERICAN_MORSE 2
|
||||
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define PS2_KEYBOARD_NORMAL 0
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
#define SERIAL_CLI 0
|
||||
#define SERIAL_WINKEY_EMULATION 1
|
||||
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_START 13
|
||||
#define SERIAL_SEND_BUFFER_WPM_CHANGE 14
|
||||
#define SERIAL_SEND_BUFFER_PTT_ON 15
|
||||
#define SERIAL_SEND_BUFFER_PTT_OFF 16
|
||||
#define SERIAL_SEND_BUFFER_TIMED_KEY_DOWN 17
|
||||
#define SERIAL_SEND_BUFFER_TIMED_WAIT 18
|
||||
#define SERIAL_SEND_BUFFER_NULL 19
|
||||
#define SERIAL_SEND_BUFFER_PROSIGN 20
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND 21
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND_RELEASE 22
|
||||
#define SERIAL_SEND_BUFFER_MEMORY_NUMBER 23
|
||||
#define SERIAL_SEND_BUFFER_TX_CHANGE 24
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_END 25
|
||||
|
||||
#if defined(OPTION_PROSIGN_SUPPORT)
|
||||
#define PROSIGN_START 127
|
||||
#define PROSIGN_AA 128
|
||||
#define PROSIGN_AS 129
|
||||
#define PROSIGN_BK 130
|
||||
#define PROSIGN_CL 131
|
||||
#define PROSIGN_CT 132
|
||||
#define PROSIGN_KN 133
|
||||
#define PROSIGN_NJ 134
|
||||
#define PROSIGN_SK 135
|
||||
#define PROSIGN_SN 136
|
||||
#define PROSIGN_HH 137 // iz0rus
|
||||
#define PROSIGN_END 138 // iz0rus
|
||||
#endif
|
||||
|
||||
#define SERIAL_SEND_BUFFER_NORMAL 0
|
||||
#define SERIAL_SEND_BUFFER_TIMED_COMMAND 1
|
||||
#define SERIAL_SEND_BUFFER_HOLD 2
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#define WINKEY_NO_COMMAND_IN_PROGRESS 0
|
||||
#define WINKEY_UNBUFFERED_SPEED_COMMAND 1
|
||||
#define WINKEY_UNSUPPORTED_COMMAND 2
|
||||
#define WINKEY_POINTER_COMMAND 3
|
||||
#define WINKEY_ADMIN_COMMAND 4
|
||||
#define WINKEY_PAUSE_COMMAND 5
|
||||
#define WINKEY_KEY_COMMAND 6
|
||||
#define WINKEY_SETMODE_COMMAND 7
|
||||
#define WINKEY_SIDETONE_FREQ_COMMAND 8
|
||||
#define WINKEY_ADMIN_COMMAND_ECHO 9
|
||||
#define WINKEY_BUFFERED_SPEED_COMMAND 10
|
||||
#define WINKEY_DAH_TO_DIT_RATIO_COMMAND 11
|
||||
#define WINKEY_KEYING_COMPENSATION_COMMAND 12
|
||||
#define WINKEY_FIRST_EXTENSION_COMMAND 13
|
||||
#define WINKEY_PTT_TIMES_PARM1_COMMAND 14
|
||||
#define WINKEY_PTT_TIMES_PARM2_COMMAND 15
|
||||
#define WINKEY_SET_POT_PARM1_COMMAND 16
|
||||
#define WINKEY_SET_POT_PARM2_COMMAND 17
|
||||
#define WINKEY_SET_POT_PARM3_COMMAND 18
|
||||
#define WINKEY_SOFTWARE_PADDLE_COMMAND 19
|
||||
#define WINKEY_CANCEL_BUFFERED_SPEED_COMMAND 20
|
||||
#define WINKEY_BUFFFERED_PTT_COMMMAND 21
|
||||
#define WINKEY_HSCW_COMMAND 22
|
||||
#define WINKEY_BUFFERED_HSCW_COMMAND 23
|
||||
#define WINKEY_WEIGHTING_COMMAND 24
|
||||
#define WINKEY_KEY_BUFFERED_COMMAND 25
|
||||
#define WINKEY_WAIT_BUFFERED_COMMAND 26
|
||||
#define WINKEY_POINTER_01_COMMAND 27
|
||||
#define WINKEY_POINTER_02_COMMAND 28
|
||||
#define WINKEY_POINTER_03_COMMAND 29
|
||||
#define WINKEY_FARNSWORTH_COMMAND 30
|
||||
#define WINKEY_MERGE_COMMAND 31
|
||||
#define WINKEY_MERGE_PARM_2_COMMAND 32
|
||||
#define WINKEY_SET_PINCONFIG_COMMAND 33
|
||||
#define WINKEY_EXTENDED_COMMAND 34
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SEND_MSG 35
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_1_COMMAND 101
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_2_COMMAND 102
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_3_COMMAND 103
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_4_COMMAND 104
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_5_COMMAND 105
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_6_COMMAND 106
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_7_COMMAND 107
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_8_COMMAND 108
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_9_COMMAND 109
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_10_COMMAND 110
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_11_COMMAND 111
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_12_COMMAND 112
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_13_COMMAND 113
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_14_COMMAND 114
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_15_COMMAND 115
|
||||
|
||||
#define WINKEY_HOUSEKEEPING 0
|
||||
#define SERVICE_SERIAL_BYTE 1
|
||||
|
||||
#define WINKEY_UNBUFFERED_SPEED 0
|
||||
#define WINKEY_BUFFERED_SPEED 1
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
#define UNDEFINED_SENDING 0
|
||||
#define AUTOMATIC_SENDING 1
|
||||
#define MANUAL_SENDING 2
|
||||
#define AUTOMATIC_SENDING_INTERRUPTED 3
|
||||
|
||||
#define ULTIMATIC_NORMAL 0
|
||||
#define ULTIMATIC_DIT_PRIORITY 1
|
||||
#define ULTIMATIC_DAH_PRIORITY 2
|
||||
|
||||
|
||||
#define PRINTCHAR 0
|
||||
#define NOPRINT 1
|
||||
|
||||
#define DONT_RAISE_ERROR_MSG 0
|
||||
#define RAISE_ERROR_MSG 1
|
||||
|
||||
#if !defined(HID_PROTOCOL_KEYBOARD) && !defined(HID_PROTOCOL_MOUSE)
|
||||
#define HID_PROTOCOL_KEYBOARD 1
|
||||
#define HID_PROTOCOL_MOUSE 2
|
||||
#endif
|
||||
|
||||
#define WORDSWORTH_2_CHAR_WORDS 2
|
||||
#define WORDSWORTH_3_CHAR_WORDS 3
|
||||
#define WORDSWORTH_4_CHAR_WORDS 4
|
||||
#define WORDSWORTH_NAMES 5
|
||||
#define WORDSWORTH_QSO_WORDS 6
|
||||
#define WORDSWORTH_MIXED 99
|
||||
|
||||
#define WORDSWORTH_WORDSPACE 1
|
||||
#define WORDSWORTH_WPM 2
|
||||
#define WORDSWORTH_REPETITION 3
|
||||
|
||||
#define CALLSIGN_INTERNATIONAL 0
|
||||
#define CALLSIGN_US 1
|
||||
#define CALLSIGN_EUROPEAN 2
|
||||
#define CALLSIGN_CANADA 3
|
||||
|
||||
#define ECHO_PROGRESSIVE_5 40
|
||||
#define ECHO_2_CHAR_WORDS 41
|
||||
#define ECHO_3_CHAR_WORDS 42
|
||||
#define ECHO_4_CHAR_WORDS 43
|
||||
#define ECHO_NAMES 44
|
||||
#define ECHO_QSO_WORDS 45
|
||||
#define ECHO_MIXED 49
|
||||
|
||||
#define PRACTICE_NON_INTERACTIVE 0
|
||||
#define PRACTICE_INTERACTIVE 1
|
||||
|
||||
#define RANDOM_LETTER_GROUPS 61
|
||||
#define RANDOM_NUMBER_GROUPS 62
|
||||
#define RANDOM_MIXED_GROUPS 63
|
||||
|
||||
#define PRACTICE_2_CHAR_WORDS 51
|
||||
#define PRACTICE_3_CHAR_WORDS 52
|
||||
#define PRACTICE_4_CHAR_WORDS 53
|
||||
#define PRACTICE_NAMES 54
|
||||
#define PRACTICE_QSO_WORDS 55
|
||||
#define PRACTICE_MIXED 59
|
||||
|
||||
#define CLI_NORMAL_MODE 0
|
||||
#define CLI_MILL_MODE_PADDLE_SEND 1
|
||||
#define CLI_MILL_MODE_KEYBOARD_RECEIVE 2
|
||||
|
||||
#define COMMAND_SPEED_MODE_KEYER_WPM 0
|
||||
#define COMMAND_SPEED_MODE_COMMAND_MODE_WPM 1
|
||||
|
||||
#define SD_CARD_UNINITIALIZED 0
|
||||
#define SD_CARD_AVAILABLE 1
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_FOUND 2
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_RUNNING 3
|
||||
#define SD_CARD_ERROR 254
|
||||
|
||||
#define SD_CARD_LOG_NOT_OPEN 0
|
||||
#define SD_CARD_LOG_OPEN 1
|
||||
#define SD_CARD_LOG_ERROR 254
|
||||
|
||||
#define COMMAND_PL 1
|
||||
#define COMMAND_PT 2
|
||||
#define COMMAND_PA 3
|
||||
#define COMMAND_PI 4
|
||||
|
||||
|
||||
#endif //keyer_h
|
|
@ -1,414 +0,0 @@
|
|||
|
||||
|
||||
const char canadian_prefix_1[] PROGMEM = "VE1";
|
||||
const char canadian_prefix_2[] PROGMEM = "VE2";
|
||||
const char canadian_prefix_3[] PROGMEM = "VE3";
|
||||
const char canadian_prefix_4[] PROGMEM = "VE4";
|
||||
const char canadian_prefix_5[] PROGMEM = "VE5";
|
||||
const char canadian_prefix_6[] PROGMEM = "VE6";
|
||||
const char canadian_prefix_7[] PROGMEM = "VE7";
|
||||
const char canadian_prefix_8[] PROGMEM = "VE8";
|
||||
const char canadian_prefix_9[] PROGMEM = "VE9";
|
||||
const char canadian_prefix_10[] PROGMEM = "VY0";
|
||||
const char canadian_prefix_11[] PROGMEM = "VY1";
|
||||
const char canadian_prefix_12[] PROGMEM = "VY2";
|
||||
const char canadian_prefix_13[] PROGMEM = "VO1";
|
||||
const char canadian_prefix_14[] PROGMEM = "VO2";
|
||||
const byte canadian_prefix_size = 14;
|
||||
const char* const canadian_prefix_table[] PROGMEM =
|
||||
{canadian_prefix_1,canadian_prefix_2,canadian_prefix_3,canadian_prefix_4,canadian_prefix_5,canadian_prefix_6,canadian_prefix_7,canadian_prefix_8,canadian_prefix_9,canadian_prefix_10,
|
||||
canadian_prefix_11,canadian_prefix_12,canadian_prefix_13,canadian_prefix_14};
|
||||
|
||||
// European callsign prefix table
|
||||
//
|
||||
// Note 2017-05-06: This is weird. If I put "LB" in the array, avrdude trips up with a timeout error when uploading to a Mega.
|
||||
// That's why LB isn't in this table
|
||||
|
||||
const char eu_prefix_1[] PROGMEM = "3A";
|
||||
const char eu_prefix_2[] PROGMEM = "4O";
|
||||
const char eu_prefix_3[] PROGMEM = "4U";
|
||||
const char eu_prefix_4[] PROGMEM = "9A";
|
||||
const char eu_prefix_5[] PROGMEM = "9H";
|
||||
const char eu_prefix_6[] PROGMEM = "C3";
|
||||
const char eu_prefix_7[] PROGMEM = "CT";
|
||||
const char eu_prefix_8[] PROGMEM = "CU";
|
||||
const char eu_prefix_9[] PROGMEM = "DA";
|
||||
const char eu_prefix_10[] PROGMEM = "DB";
|
||||
const char eu_prefix_11[] PROGMEM = "DC";
|
||||
const char eu_prefix_12[] PROGMEM = "DD";
|
||||
const char eu_prefix_13[] PROGMEM = "DE";
|
||||
const char eu_prefix_14[] PROGMEM = "DF";
|
||||
const char eu_prefix_15[] PROGMEM = "DG";
|
||||
const char eu_prefix_16[] PROGMEM = "DH";
|
||||
const char eu_prefix_17[] PROGMEM = "DI";
|
||||
const char eu_prefix_18[] PROGMEM = "DJ";
|
||||
const char eu_prefix_19[] PROGMEM = "DK";
|
||||
const char eu_prefix_20[] PROGMEM = "DL";
|
||||
const char eu_prefix_21[] PROGMEM = "EI";
|
||||
const char eu_prefix_22[] PROGMEM = "ER";
|
||||
const char eu_prefix_23[] PROGMEM = "ES";
|
||||
const char eu_prefix_24[] PROGMEM = "EU";
|
||||
const char eu_prefix_25[] PROGMEM = "EV";
|
||||
const char eu_prefix_26[] PROGMEM = "EW";
|
||||
const char eu_prefix_27[] PROGMEM = "F";
|
||||
const char eu_prefix_28[] PROGMEM = "G";
|
||||
const char eu_prefix_29[] PROGMEM = "GX";
|
||||
const char eu_prefix_30[] PROGMEM = "GD";
|
||||
const char eu_prefix_31[] PROGMEM = "GT";
|
||||
const char eu_prefix_32[] PROGMEM = "GI";
|
||||
const char eu_prefix_33[] PROGMEM = "GN";
|
||||
const char eu_prefix_34[] PROGMEM = "GJ";
|
||||
const char eu_prefix_35[] PROGMEM = "GH";
|
||||
const char eu_prefix_36[] PROGMEM = "GM";
|
||||
const char eu_prefix_37[] PROGMEM = "GS";
|
||||
const char eu_prefix_38[] PROGMEM = "GU";
|
||||
const char eu_prefix_39[] PROGMEM = "GP";
|
||||
const char eu_prefix_40[] PROGMEM = "GW";
|
||||
const char eu_prefix_41[] PROGMEM = "GC";
|
||||
const char eu_prefix_42[] PROGMEM = "HB";
|
||||
const char eu_prefix_43[] PROGMEM = "HV";
|
||||
const char eu_prefix_44[] PROGMEM = "I";
|
||||
const char eu_prefix_45[] PROGMEM = "IS";
|
||||
const char eu_prefix_46[] PROGMEM = "IM";
|
||||
const char eu_prefix_47[] PROGMEM = "JW";
|
||||
const char eu_prefix_48[] PROGMEM = "JX";
|
||||
const char eu_prefix_49[] PROGMEM = "LX";
|
||||
const char eu_prefix_50[] PROGMEM = "LY";
|
||||
const char eu_prefix_51[] PROGMEM = "LZ";
|
||||
const char eu_prefix_52[] PROGMEM = "OY";
|
||||
const char eu_prefix_53[] PROGMEM = "OZ";
|
||||
const char eu_prefix_54[] PROGMEM = "S5";
|
||||
const char eu_prefix_55[] PROGMEM = "YU";
|
||||
const char eu_prefix_56[] PROGMEM = "T7";
|
||||
const char eu_prefix_57[] PROGMEM = "T9";
|
||||
const char eu_prefix_58[] PROGMEM = "TF";
|
||||
const char eu_prefix_59[] PROGMEM = "TK";
|
||||
const char eu_prefix_60[] PROGMEM = "EM";
|
||||
const char eu_prefix_61[] PROGMEM = "EO";
|
||||
const char eu_prefix_62[] PROGMEM = "YL";
|
||||
const char eu_prefix_63[] PROGMEM = "YO";
|
||||
const char eu_prefix_64[] PROGMEM = "YT";
|
||||
const char eu_prefix_65[] PROGMEM = "YU";
|
||||
const char eu_prefix_66[] PROGMEM = "YP";
|
||||
const char eu_prefix_67[] PROGMEM = "YQ";
|
||||
const char eu_prefix_68[] PROGMEM = "YR";
|
||||
const char eu_prefix_69[] PROGMEM = "Z3";
|
||||
const char eu_prefix_70[] PROGMEM = "ZA";
|
||||
const char eu_prefix_71[] PROGMEM = "YZ";
|
||||
const char eu_prefix_72[] PROGMEM = "SA";
|
||||
const char eu_prefix_73[] PROGMEM = "SB";
|
||||
const char eu_prefix_74[] PROGMEM = "SC";
|
||||
const char eu_prefix_75[] PROGMEM = "SD";
|
||||
const char eu_prefix_76[] PROGMEM = "SE";
|
||||
const char eu_prefix_77[] PROGMEM = "SF";
|
||||
const char eu_prefix_78[] PROGMEM = "SG";
|
||||
const char eu_prefix_79[] PROGMEM = "SH";
|
||||
const char eu_prefix_80[] PROGMEM = "SI";
|
||||
const char eu_prefix_81[] PROGMEM = "SJ";
|
||||
const char eu_prefix_82[] PROGMEM = "SK";
|
||||
const char eu_prefix_83[] PROGMEM = "SL";
|
||||
const char eu_prefix_84[] PROGMEM = "SM";
|
||||
const char eu_prefix_85[] PROGMEM = "SN";
|
||||
const char eu_prefix_86[] PROGMEM = "SO";
|
||||
const char eu_prefix_87[] PROGMEM = "SP";
|
||||
const char eu_prefix_88[] PROGMEM = "SQ";
|
||||
const char eu_prefix_89[] PROGMEM = "SR";
|
||||
const char eu_prefix_90[] PROGMEM = "SS";
|
||||
const char eu_prefix_91[] PROGMEM = "ST";
|
||||
const char eu_prefix_92[] PROGMEM = "SU";
|
||||
const char eu_prefix_93[] PROGMEM = "SV";
|
||||
const char eu_prefix_94[] PROGMEM = "SW";
|
||||
const char eu_prefix_95[] PROGMEM = "SX";
|
||||
const char eu_prefix_96[] PROGMEM = "SY";
|
||||
const char eu_prefix_97[] PROGMEM = "SZ";
|
||||
const char eu_prefix_98[] PROGMEM = "OE";
|
||||
const char eu_prefix_99[] PROGMEM = "OF";
|
||||
const char eu_prefix_100[] PROGMEM = "OG";
|
||||
const char eu_prefix_101[] PROGMEM = "OH";
|
||||
const char eu_prefix_102[] PROGMEM = "OI";
|
||||
const char eu_prefix_103[] PROGMEM = "OJ";
|
||||
const char eu_prefix_104[] PROGMEM = "OK";
|
||||
const char eu_prefix_105[] PROGMEM = "OL";
|
||||
const char eu_prefix_106[] PROGMEM = "OM";
|
||||
const char eu_prefix_107[] PROGMEM = "ON";
|
||||
const char eu_prefix_108[] PROGMEM = "OO";
|
||||
const char eu_prefix_109[] PROGMEM = "OP";
|
||||
const char eu_prefix_110[] PROGMEM = "OQ";
|
||||
const char eu_prefix_111[] PROGMEM = "OR";
|
||||
const char eu_prefix_112[] PROGMEM = "OS";
|
||||
const char eu_prefix_113[] PROGMEM = "OT";
|
||||
const char eu_prefix_114[] PROGMEM = "PA";
|
||||
const char eu_prefix_115[] PROGMEM = "PB";
|
||||
const char eu_prefix_116[] PROGMEM = "PC";
|
||||
const char eu_prefix_117[] PROGMEM = "PD";
|
||||
const char eu_prefix_118[] PROGMEM = "PE";
|
||||
const char eu_prefix_119[] PROGMEM = "PF";
|
||||
const char eu_prefix_120[] PROGMEM = "PG";
|
||||
const char eu_prefix_121[] PROGMEM = "PH";
|
||||
const char eu_prefix_122[] PROGMEM = "PI";
|
||||
const char eu_prefix_123[] PROGMEM = "UA";
|
||||
const char eu_prefix_124[] PROGMEM = "UB";
|
||||
const char eu_prefix_125[] PROGMEM = "UC";
|
||||
const char eu_prefix_126[] PROGMEM = "UD";
|
||||
const char eu_prefix_127[] PROGMEM = "UE";
|
||||
const char eu_prefix_128[] PROGMEM = "UF";
|
||||
const char eu_prefix_129[] PROGMEM = "UG";
|
||||
const char eu_prefix_130[] PROGMEM = "UH";
|
||||
const char eu_prefix_131[] PROGMEM = "UI";
|
||||
const char eu_prefix_132[] PROGMEM = "RA";
|
||||
const char eu_prefix_133[] PROGMEM = "RB";
|
||||
const char eu_prefix_134[] PROGMEM = "RC";
|
||||
const char eu_prefix_135[] PROGMEM = "RD";
|
||||
const char eu_prefix_136[] PROGMEM = "RE";
|
||||
const char eu_prefix_137[] PROGMEM = "RF";
|
||||
const char eu_prefix_138[] PROGMEM = "RG";
|
||||
const char eu_prefix_139[] PROGMEM = "RH";
|
||||
const char eu_prefix_140[] PROGMEM = "RI";
|
||||
const char eu_prefix_141[] PROGMEM = "RJ";
|
||||
const char eu_prefix_142[] PROGMEM = "RK";
|
||||
const char eu_prefix_143[] PROGMEM = "RL";
|
||||
const char eu_prefix_144[] PROGMEM = "RM";
|
||||
const char eu_prefix_145[] PROGMEM = "RN";
|
||||
const char eu_prefix_146[] PROGMEM = "RO";
|
||||
const char eu_prefix_147[] PROGMEM = "RP";
|
||||
const char eu_prefix_148[] PROGMEM = "RQ";
|
||||
const char eu_prefix_149[] PROGMEM = "RR";
|
||||
const char eu_prefix_150[] PROGMEM = "RS";
|
||||
const char eu_prefix_151[] PROGMEM = "RT";
|
||||
const char eu_prefix_152[] PROGMEM = "RU";
|
||||
const char eu_prefix_153[] PROGMEM = "RV";
|
||||
const char eu_prefix_154[] PROGMEM = "RW";
|
||||
const char eu_prefix_155[] PROGMEM = "RX";
|
||||
const char eu_prefix_156[] PROGMEM = "RY";
|
||||
const char eu_prefix_157[] PROGMEM = "RZ";
|
||||
const char eu_prefix_158[] PROGMEM = "UR";
|
||||
const char eu_prefix_159[] PROGMEM = "US";
|
||||
const char eu_prefix_160[] PROGMEM = "UT";
|
||||
const char eu_prefix_161[] PROGMEM = "UU";
|
||||
const char eu_prefix_162[] PROGMEM = "UV";
|
||||
const char eu_prefix_163[] PROGMEM = "UW";
|
||||
const char eu_prefix_164[] PROGMEM = "UX";
|
||||
const char eu_prefix_165[] PROGMEM = "UY";
|
||||
const char eu_prefix_166[] PROGMEM = "UZ";
|
||||
const char eu_prefix_167[] PROGMEM = "EA";
|
||||
const char eu_prefix_168[] PROGMEM = "EB";
|
||||
const char eu_prefix_169[] PROGMEM = "EC";
|
||||
const char eu_prefix_170[] PROGMEM = "ED";
|
||||
const char eu_prefix_171[] PROGMEM = "EE";
|
||||
const char eu_prefix_172[] PROGMEM = "EF";
|
||||
const char eu_prefix_173[] PROGMEM = "EG";
|
||||
const char eu_prefix_174[] PROGMEM = "EH";
|
||||
const char eu_prefix_175[] PROGMEM = "EJ";
|
||||
const char eu_prefix_176[] PROGMEM = "HA";
|
||||
const char eu_prefix_177[] PROGMEM = "HG";
|
||||
const char eu_prefix_178[] PROGMEM = "LA";
|
||||
const char eu_prefix_179[] PROGMEM = "LC";
|
||||
const char eu_prefix_180[] PROGMEM = "LD";
|
||||
const char eu_prefix_181[] PROGMEM = "LE";
|
||||
const char eu_prefix_182[] PROGMEM = "LF";
|
||||
const char eu_prefix_183[] PROGMEM = "LG";
|
||||
const char eu_prefix_184[] PROGMEM = "LH";
|
||||
const char eu_prefix_185[] PROGMEM = "LI";
|
||||
const char eu_prefix_186[] PROGMEM = "LJ";
|
||||
const char eu_prefix_187[] PROGMEM = "LK";
|
||||
const char eu_prefix_188[] PROGMEM = "LL";
|
||||
const char eu_prefix_189[] PROGMEM = "LM";
|
||||
const char eu_prefix_190[] PROGMEM = "LN";
|
||||
/*const char eu_prefix_191[] PROGMEM = "LB"; see note above about "LB"*/
|
||||
const byte eu_prefix_size = 190;
|
||||
const char* const eu_prefix_table[] PROGMEM = {
|
||||
eu_prefix_1,
|
||||
eu_prefix_2,
|
||||
eu_prefix_3,
|
||||
eu_prefix_4,
|
||||
eu_prefix_5,
|
||||
eu_prefix_6,
|
||||
eu_prefix_7,
|
||||
eu_prefix_8,
|
||||
eu_prefix_9,
|
||||
eu_prefix_10,
|
||||
eu_prefix_11,
|
||||
eu_prefix_12,
|
||||
eu_prefix_13,
|
||||
eu_prefix_14,
|
||||
eu_prefix_15,
|
||||
eu_prefix_16,
|
||||
eu_prefix_17,
|
||||
eu_prefix_18,
|
||||
eu_prefix_19,
|
||||
eu_prefix_20,
|
||||
eu_prefix_21,
|
||||
eu_prefix_22,
|
||||
eu_prefix_23,
|
||||
eu_prefix_24,
|
||||
eu_prefix_25,
|
||||
eu_prefix_26,
|
||||
eu_prefix_27,
|
||||
eu_prefix_28,
|
||||
eu_prefix_29,
|
||||
eu_prefix_30,
|
||||
eu_prefix_31,
|
||||
eu_prefix_32,
|
||||
eu_prefix_33,
|
||||
eu_prefix_34,
|
||||
eu_prefix_35,
|
||||
eu_prefix_36,
|
||||
eu_prefix_37,
|
||||
eu_prefix_38,
|
||||
eu_prefix_39,
|
||||
eu_prefix_40,
|
||||
eu_prefix_41,
|
||||
eu_prefix_42,
|
||||
eu_prefix_43,
|
||||
eu_prefix_44,
|
||||
eu_prefix_45,
|
||||
eu_prefix_46,
|
||||
eu_prefix_47,
|
||||
eu_prefix_48,
|
||||
eu_prefix_49,
|
||||
eu_prefix_50,
|
||||
eu_prefix_51,
|
||||
eu_prefix_52,
|
||||
eu_prefix_53,
|
||||
eu_prefix_54,
|
||||
eu_prefix_55,
|
||||
eu_prefix_56,
|
||||
eu_prefix_57,
|
||||
eu_prefix_58,
|
||||
eu_prefix_59,
|
||||
eu_prefix_60,
|
||||
eu_prefix_61,
|
||||
eu_prefix_62,
|
||||
eu_prefix_63,
|
||||
eu_prefix_64,
|
||||
eu_prefix_65,
|
||||
eu_prefix_66,
|
||||
eu_prefix_67,
|
||||
eu_prefix_68,
|
||||
eu_prefix_69,
|
||||
eu_prefix_70,
|
||||
eu_prefix_71,
|
||||
eu_prefix_72,
|
||||
eu_prefix_73,
|
||||
eu_prefix_74,
|
||||
eu_prefix_75,
|
||||
eu_prefix_76,
|
||||
eu_prefix_77,
|
||||
eu_prefix_78,
|
||||
eu_prefix_79,
|
||||
eu_prefix_80,
|
||||
eu_prefix_81,
|
||||
eu_prefix_82,
|
||||
eu_prefix_83,
|
||||
eu_prefix_84,
|
||||
eu_prefix_85,
|
||||
eu_prefix_86,
|
||||
eu_prefix_87,
|
||||
eu_prefix_88,
|
||||
eu_prefix_89,
|
||||
eu_prefix_90,
|
||||
eu_prefix_91,
|
||||
eu_prefix_92,
|
||||
eu_prefix_93,
|
||||
eu_prefix_94,
|
||||
eu_prefix_95,
|
||||
eu_prefix_96,
|
||||
eu_prefix_97,
|
||||
eu_prefix_98,
|
||||
eu_prefix_99,
|
||||
eu_prefix_100,
|
||||
eu_prefix_101,
|
||||
eu_prefix_102,
|
||||
eu_prefix_103,
|
||||
eu_prefix_104,
|
||||
eu_prefix_105,
|
||||
eu_prefix_106,
|
||||
eu_prefix_107,
|
||||
eu_prefix_108,
|
||||
eu_prefix_109,
|
||||
eu_prefix_110,
|
||||
eu_prefix_111,
|
||||
eu_prefix_112,
|
||||
eu_prefix_113,
|
||||
eu_prefix_114,
|
||||
eu_prefix_115,
|
||||
eu_prefix_116,
|
||||
eu_prefix_117,
|
||||
eu_prefix_118,
|
||||
eu_prefix_119,
|
||||
eu_prefix_120,
|
||||
eu_prefix_121,
|
||||
eu_prefix_122,
|
||||
eu_prefix_123,
|
||||
eu_prefix_124,
|
||||
eu_prefix_125,
|
||||
eu_prefix_126,
|
||||
eu_prefix_127,
|
||||
eu_prefix_128,
|
||||
eu_prefix_129,
|
||||
eu_prefix_130,
|
||||
eu_prefix_131,
|
||||
eu_prefix_132,
|
||||
eu_prefix_133,
|
||||
eu_prefix_134,
|
||||
eu_prefix_135,
|
||||
eu_prefix_136,
|
||||
eu_prefix_137,
|
||||
eu_prefix_138,
|
||||
eu_prefix_139,
|
||||
eu_prefix_140,
|
||||
eu_prefix_141,
|
||||
eu_prefix_142,
|
||||
eu_prefix_143,
|
||||
eu_prefix_144,
|
||||
eu_prefix_145,
|
||||
eu_prefix_146,
|
||||
eu_prefix_147,
|
||||
eu_prefix_148,
|
||||
eu_prefix_149,
|
||||
eu_prefix_150,
|
||||
eu_prefix_151,
|
||||
eu_prefix_152,
|
||||
eu_prefix_153,
|
||||
eu_prefix_154,
|
||||
eu_prefix_155,
|
||||
eu_prefix_156,
|
||||
eu_prefix_157,
|
||||
eu_prefix_158,
|
||||
eu_prefix_159,
|
||||
eu_prefix_160,
|
||||
eu_prefix_161,
|
||||
eu_prefix_162,
|
||||
eu_prefix_163,
|
||||
eu_prefix_164,
|
||||
eu_prefix_165,
|
||||
eu_prefix_166,
|
||||
eu_prefix_167,
|
||||
eu_prefix_168,
|
||||
eu_prefix_169,
|
||||
eu_prefix_170,
|
||||
eu_prefix_171,
|
||||
eu_prefix_172,
|
||||
eu_prefix_173,
|
||||
eu_prefix_174,
|
||||
eu_prefix_175,
|
||||
eu_prefix_176,
|
||||
eu_prefix_177,
|
||||
eu_prefix_178,
|
||||
eu_prefix_179,
|
||||
eu_prefix_180,
|
||||
eu_prefix_181,
|
||||
eu_prefix_182,
|
||||
eu_prefix_183,
|
||||
eu_prefix_184,
|
||||
eu_prefix_185,
|
||||
eu_prefix_186,
|
||||
eu_prefix_187,
|
||||
eu_prefix_188,
|
||||
eu_prefix_189,
|
||||
eu_prefix_190/*,
|
||||
eu_prefix_191*/
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
// don't touch these unless you know what the hell you are doing or you're asked to uncomment these for debug dumps
|
||||
// #define DEBUG_STARTUP
|
||||
// #define DEBUG_STARTUP_BLINKS
|
||||
// #define DEBUG_LOOP
|
||||
// #define DEBUG_EEPROM
|
||||
// #define DEBUG_MEMORIES
|
||||
// #define DEBUG_PLAY_MEMORY
|
||||
// #define DEBUG_SEND_CHAR
|
||||
// #define DEBUG_MEMORY_WRITE
|
||||
// #define DEBUG_MEMORYCHECK
|
||||
// #define DEBUG_MEMORY_LOCATIONS
|
||||
// #define DEBUG_CAPTURE_COM_PORT
|
||||
// #define DEBUG_HELL_TEST
|
||||
// #define DEBUG_WINKEY_PROTOCOL_USING_CW
|
||||
// #define DEBUG_CHECK_SERIAL
|
||||
// #define DEBUG_PS2_KEYBOARD
|
||||
// #define DEBUG_VARIABLE_DUMP
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_COMMAND_MODE
|
||||
// #define DEBUG_GET_CW_INPUT_FROM_USER
|
||||
// #define DEBUG_POTENTIOMETER
|
||||
// #define DEBUG_CW_DECODER
|
||||
// #define DEBUG_CW_DECODER_WPM
|
||||
// #define DEBUG_SERIAL_SEND_CW_CALLOUT
|
||||
// #define DEBUG_SLEEP
|
||||
// #define DEBUG_BUTTON_ARRAY
|
||||
// #define DEBUG_USB
|
||||
// #define DEBUG_USB_KEYBOARD
|
||||
// #define DEBUG_CAPACITIVE_PADDLE
|
||||
// #define DEBUG_DISPLAY_SCROLL_PRINT_CHAR
|
||||
// #define DEBUG_WINKEY // <- to use this you must have a multi-serial port Arduino and use FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
// #define DEBUG_WINKEY_SEND_ERRANT_BYTE
|
||||
// #define DEBUG_WINKEY_PORT_WRITE
|
||||
// #define DEBUG_CW_COMPUTER_KEYBOARD
|
||||
// #define DEBUG_CW_DECODER_WITH_TONE
|
||||
// #define DEBUG_OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define DEBUG_FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
// #define DEBUG_FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define DEBUG_UDP
|
||||
// #define DEBUG_UDP_WRITE
|
||||
// #define DEBUG_WEB_SERVER
|
||||
// #define DEBUG_WEB_PARSE_GET
|
||||
// #define DEBUG_WEB_SERVER_READS
|
||||
// #define DEBUG_INTERNET_LINKING_RECEIVE
|
||||
// #define DEBUG_INTERNET_LINKING_SEND
|
||||
// #define DEBUG_UDP_PACKET_RECEIVE
|
||||
// #define DEBUG_FORCE_RESET
|
||||
// #define DEBUG_WINKEY_DISABLE_LEAD_IN_TIME_SETTING
|
||||
// #define DEBUG_KEYPAD_SERIAL
|
||||
// #define DEBUG_CALLSIGN_PRACTICE_SHOW_CALLSIGN
|
||||
// #define DEBUG_WORDSWORTH
|
||||
// #define DEBUG_PRACTICE_SERIAL
|
||||
// #define DEBUG_PRACTICE_CMD_MODE
|
||||
// #define DEBUG_SD_CARD
|
||||
// #define DEBUG_FARNSWORTH
|
||||
// #define DEBUG_FARNSWORTH_TIMING
|
||||
// #define DEBUG_ASYNC_EEPROM_WRITE
|
||||
|
||||
// #define OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST
|
|
@ -1,49 +0,0 @@
|
|||
#if defined(FEATURE_LCD_4BIT) || defined(FEATURE_LCD_8BIT) || defined(FEATURE_LCD_ADAFRUIT_I2C) || defined(FEATURE_LCD_ADAFRUIT_BACKPACK) || defined(FEATURE_LCD_YDv1) ||defined(FEATURE_LCD1602_N07DH) || defined(FEATURE_LCD_SAINSMART_I2C) || defined(FEATURE_LCD_FABO_PCF8574) || defined(FEATURE_LCD_MATHERTEL_PCF8574) || defined(FEATURE_LCD_HD44780)
|
||||
#define FEATURE_DISPLAY
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT) && !defined(FEATURE_COMMAND_LINE_INTERFACE)
|
||||
#define FEATURE_COMMAND_LINE_INTERFACE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_WINKEY_EMULATION)
|
||||
#define FEATURE_SERIAL
|
||||
#endif
|
||||
|
||||
//#if defined(HARDWARE_ARDUINO_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#if defined(ARDUINO_SAM_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#error "In order to use FEATURE_MEMORIES with HARDWARE_ARDUINO_DUE you need FEATURE_EEPROM_E24C1024"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_DISPLAY) || defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_CW_COMPUTER_KEYBOARD)
|
||||
#define FEATURE_PADDLE_ECHO
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_STRAIGHT_KEY) && (defined(FEATURE_STRAIGHT_KEY_ECHO) || defined(FEATURE_MEMORIES) || defined(FEATURE_CW_COMPUTER_KEYBOARD))
|
||||
#define FEATURE_STRAIGHT_KEY_DECODE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_WEB_SERVER) || defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_ETHERNET
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_UDP
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD) && defined(FEATURE_3x4_KEYPAD)
|
||||
#error "You can't use both FEATURE_4x4_KEYPAD and FEATURE_3x4_KEYPAD simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_TRAINING_COMMAND_LINE_INTERFACE) && defined(OPTION_WORDSWORTH_NORSK) && !defined(OPTION_NON_ENGLISH_EXTENSIONS)
|
||||
#define OPTION_NON_ENGLISH_EXTENSIONS
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) && defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#error "You can't use both FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1 and FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3 simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) || defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#define FEATURE_SINEWAVE_SIDETONE
|
||||
#endif
|
|
@ -1,101 +0,0 @@
|
|||
// compile time features and options - comment or uncomment to add or delete features
|
||||
// FEATURES add more bytes to the compiled binary, OPTIONS change code behavior
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_BUTTONS
|
||||
// #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
|
||||
// #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_SERIAL_HELP
|
||||
// #define FEATURE_HELL
|
||||
// #define FEATURE_PS2_KEYBOARD // Use a PS2 keyboard to send code - Change keyboard layout (non-US) in K3NG_PS2Keyboard.h. Additional options below.
|
||||
// #define FEATURE_USB_KEYBOARD // Use a USB keyboard to send code - Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CW_COMPUTER_KEYBOARD // Have an Arduino Due or Leonardo act as a USB HID (Human Interface Device) keyboard and use the paddle to "type" characters on the computer -- uncomment this line in ino file: #include <Keyboard.h>
|
||||
// #define FEATURE_DEAD_OP_WATCHDOG
|
||||
// #define FEATURE_AUTOSPACE
|
||||
// #define FEATURE_FARNSWORTH
|
||||
// #define FEATURE_DL2SBA_BANKSWITCH // Switch memory banks feature as described here: http://dl2sba.com/index.php?option=com_content&view=article&id=131:nanokeyer&catid=15:shack&Itemid=27#english
|
||||
// #define FEATURE_LCD_4BIT // classic LCD disidefplay using 4 I/O lines
|
||||
// #define FEATURE_LCD_ADAFRUIT_I2C // Adafruit I2C LCD display using MCP23017 at addr 0x20
|
||||
// #define FEATURE_LCD_ADAFRUIT_BACKPACK // Adafruit I2C LCD Backup using MCP23008 (courtesy Josiah Ritchie, KE0BLL)
|
||||
// #define FEATURE_LCD_YDv1 // YourDuino I2C LCD display with old LCM 1602 V1 ic
|
||||
// #define FEATURE_LCD1602_N07DH // http://linksprite.com/wiki/index.php5?title=16_X_2_LCD_Keypad_Shield_for_Arduino
|
||||
// #define FEATURE_LCD_SAINSMART_I2C
|
||||
// #define FEATURE_CW_DECODER
|
||||
// #define FEATURE_SLEEP // go to sleep after x minutes to conserve battery power (not compatible with Arduino DUE, may have mixed results with Mega and Mega ADK)
|
||||
// #define FEATURE_ROTARY_ENCODER // rotary encoder speed control
|
||||
// #define FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING
|
||||
// #define FEATURE_USB_MOUSE // Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CAPACITIVE_PADDLE_PINS // remove the bypass capacitors on the paddle_left and paddle_right lines when using capactive paddles
|
||||
// #define FEATURE_LED_RING // Mayhew Labs Led Ring support
|
||||
// #define FEATURE_ALPHABET_SEND_PRACTICE // enables command mode S command - created by Ryan, KC2ZWM
|
||||
// #define FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICE // enables command mode U
|
||||
// #define FEATURE_PTT_INTERLOCK
|
||||
// #define FEATURE_QLF
|
||||
// #define FEATURE_EEPROM_E24C1024
|
||||
// #define FEATURE_STRAIGHT_KEY
|
||||
// #define FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
// #define FEATURE_PADDLE_ECHO
|
||||
// #define FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define FEATURE_AMERICAN_MORSE
|
||||
// #define FEATURE_4x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
// #define FEATURE_3x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT // Activate the Command Line interface on the secondary serial port
|
||||
#define OPTION_PRIMARY_SERIAL_PORT_DEFAULT_WINKEY_EMULATION // Use when activating both FEATURE_WINKEY_EMULATION and FEATURE_COMMAND_LINE_INTERFACE
|
||||
// simultaneously. This will make Winkey emulation be the default at boot up;
|
||||
// hold command button down at boot up to activate CLI mode
|
||||
|
||||
// #define OPTION_SUPPRESS_SERIAL_BOOT_MSG
|
||||
#define OPTION_INCLUDE_PTT_TAIL_FOR_MANUAL_SENDING
|
||||
#define OPTION_EXCLUDE_PTT_HANG_TIME_FOR_MANUAL_SENDING
|
||||
//#define OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP // if ASR is not disabled, you may need this to discard errant serial port bytes at startup
|
||||
// #define OPTION_WINKEY_STRICT_EEPROM_WRITES_MAY_WEAR_OUT_EEPROM // with this activated the unit will write non-volatile settings to EEPROM when set by Winkey commands
|
||||
// #define OPTION_WINKEY_SEND_WORDSPACE_AT_END_OF_BUFFER
|
||||
// #define OPTION_WINKEY_STRICT_HOST_OPEN // require an admin host open Winkey command before doing any other commands
|
||||
#define OPTION_WINKEY_2_SUPPORT // comment out to revert to Winkey version 1 emulation
|
||||
#define OPTION_WINKEY_INTERRUPTS_MEMORY_REPEAT
|
||||
//#define OPTION_WINKEY_UCXLOG_9600_BAUD // use this only with UCXLog configured for Winkey 9600 baud mode
|
||||
#define OPTION_WINKEY_2_HOST_CLOSE_NO_SERIAL_PORT_RESET // activate this when using Winkey 2 emulation and Win-Test
|
||||
// #define OPTION_WINKEY_FREQUENT_STATUS_REPORT // activate this to make Winkey emulation play better with RUMlog and RUMped
|
||||
#define OPTION_WINKEY_IGNORE_LOWERCASE // Enable for typical K1EL Winkeyer behavior (use for SkookumLogger version 1.10.14 and prior to workaround "r" bug)
|
||||
#define OPTION_WINKEY_BLINK_PTT_ON_HOST_OPEN
|
||||
// #define OPTION_REVERSE_BUTTON_ORDER // This is mainly for the DJ0MY NanoKeyer http://nanokeyer.wordpress.com/
|
||||
#define OPTION_PROG_MEM_TRIM_TRAILING_SPACES // trim trailing spaces from memory when programming in command mode
|
||||
#define OPTION_DIT_PADDLE_NO_SEND_ON_MEM_RPT // this makes dit paddle memory interruption a little smoother
|
||||
// #define OPTION_MORE_DISPLAY_MSGS // additional optional display messages - comment out to save memory
|
||||
// #define OPTION_N1MM_WINKEY_TAB_BUG_WORKAROUND // enable this to ignore the TAB key in the Send CW window (this breaks SO2R functionality in N1MM)
|
||||
// #define OPTION_WATCHDOG_TIMER // this enables a four second ATmega48/88/168/328 watchdog timer; use for unattended/remote operation only
|
||||
// #define OPTION_MOUSE_MOVEMENT_PADDLE // experimental (just fooling around) - mouse movement will act like a paddle
|
||||
// #define OPTION_NON_ENGLISH_EXTENSIONS // add support for additional CW characters (i.e. À, Å, Þ, etc.)
|
||||
// #define OPTION_DISPLAY_NON_ENGLISH_EXTENSIONS // LCD display suport for non-English (NO/DK/DE) characters - Courtesy of OZ1JHM
|
||||
// #define OPTION_UNKNOWN_CHARACTER_ERROR_TONE
|
||||
#define OPTION_DO_NOT_SAY_HI
|
||||
#define OPTION_BLINK_HI_ON_PTT
|
||||
// #define OPTION_PS2_NON_ENGLISH_CHAR_LCD_DISPLAY_SUPPORT // makes some non-English characters from the PS2 keyboard display correctly in the LCD display (donated by Marcin sp5iou)
|
||||
// #define OPTION_PS2_KEYBOARD_RESET // reset the PS2 keyboard upon startup with 0xFF (contributed by Bill, W9BEL)
|
||||
// #define OPTION_SAVE_MEMORY_NANOKEYER
|
||||
// #define OPTION_CW_KEYBOARD_CAPSLOCK_BEEP
|
||||
// #define OPTION_CW_KEYBOARD_ITALIAN
|
||||
// #define OPTION_CW_KEYBOARD_GERMAN
|
||||
// #define OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define OPTION_INVERT_PADDLE_PIN_LOGIC
|
||||
// #define OPTION_ADVANCED_SPEED_DISPLAY //enables "nerd" speed visualization on display: wpm, cpm (char per min), duration of dit and dah in milliseconds and ratio (contributed by Giorgio, IZ2XBZ)
|
||||
// #define OPTION_PROSIGN_SUPPORT // additional prosign support for paddle and straight key echo on display, CLI, and in memory storage
|
||||
// #define OPTION_RUSSIAN_LANGUAGE_SEND_CLI // Russian language CLI sending support (contributed by Павел Бирюков, UA1AQC)
|
||||
#define OPTION_DO_NOT_SEND_UNKNOWN_CHAR_QUESTION
|
||||
// #define OPTION_CMOS_SUPER_KEYER_IAMBIC_B_TIMING_ON_BY_DEFAULT
|
||||
#define OPTION_SIDETONE_DIGITAL_OUTPUT_NO_SQUARE_WAVE
|
||||
|
||||
// #define OPTION_WORDSWORTH_CZECH
|
||||
// #define OPTION_WORDSWORTH_DEUTSCH
|
||||
// #define OPTION_WORDSWORTH_NORSK
|
||||
|
||||
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
/* keyer_hardware.h
|
||||
|
||||
|
||||
Edit this file to enable specific hardware profiles.
|
||||
|
||||
When enabling a hardware option below, the default keyer_pin_settings.h, keyer_features_and_options.h, and keyer_settings.h files are not compiled.
|
||||
|
||||
See the comments on each line to determine what files are compiled and should be customized.
|
||||
|
||||
*/
|
||||
|
||||
// #define HARDWARE_NANOKEYER_REV_B // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_b.h, keyer_features_and_options_nanokeyer_rev_b.h, keyer_settings_nanokeyer_rev_b.h
|
||||
// #define HARDWARE_NANOKEYER_REV_D // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_d.h, keyer_features_and_options_nanokeyer_rev_d.h, keyer_settings_nanokeyer_rev_d.h
|
||||
// #define HARDWARE_OPEN_INTERFACE // http://remoteqth.com/open-interface.php edit these files: keyer_pin_settings_open_interface.h, keyer_features_and_options_open_interface.h, keyer_settings_open_interface.h
|
||||
// #define HARDWARE_TINYKEYER // http://www.ok1rr.com/index.php/technical-topics/122-the-tinykeyer edit these files: keyer_pin_settings_tinykeyer.h, keyer_features_and_options_tinykeyer.h, keyer_settings_tinykeyer.h
|
||||
// #define HARDWARE_FK_10 // Funtronics K3NG Keyer FK-10 - See notes below!!! http://www.elekitsorparts.com/product/funtronics-k3ng-keyer-fk-10-99-winkey-emulation/ files: keyer_pin_settings_fk_10.h, keyer_features_and_options_fk_10.h, keyer_settings_fk_10.h
|
||||
// #define HARDWARE_MAPLE_MINI // edit these files: keyer_pin_settings_maple_mini.h, keyer_settings_maple_mini.h, keyer_features_and_options_maple_mini.h
|
||||
// #define HARDWARE_GENERIC_STM32F103C // edit these files: keyer_pin_settings_generic_STM32F103C.h, keyer_settings_generic_STM32F103C.h, keyer_features_and_options_generic_STM32F103C.h //sp5iou 20180329
|
||||
#define HARDWARE_MORTTY // edit these files: keyer_pin_settings_mortty.h, keyer_settings_mortty.h, keyer_features_and_options_mortty.h
|
||||
// #define HARDWARE_YAACWK // http://i1cra.briata.org/yaacwk/ files: keyer_pin_settings_yaacwk.h, keyer_features_and_options_yaacwk.h, keyer_settings_yaacwk.h
|
||||
// #define HARDWARE_K5BCQ // edit these files: keyer_pin_settings_k5bcq.h, keyer_features_and_options_k5bcq.h, keyer_settings_k5bcq.h - Kees Talen K5BCQ - Documentation: https://groups.io/g/radioartisan/files/K5BCQ
|
||||
// #define HARDWARE_MEGAKEYER // https://github.com/w6ipa/megakeyer files: keyer_pin_settings_megakeyer.h, keyer_features_and_options_megakeyer.h, keyer_settings_megakeyer.h - https://projects.w6ipa.com/megakeyer/Mega%20Keyer%20Build%20Instructions.html
|
||||
// #define HARDWARE_TEST_EVERYTHING // Goody K3NG uses this to test
|
||||
// #define HARDWARE_TEST // Goody K3NG uses this to test
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
HARDWARE_GENERIC_STM32F103C (Contributed by sp5iou)
|
||||
|
||||
How to deal with those boards with Arduino: https://www.techshopbd.com/uploads/product_document/STM32bluepillarduinoguide(1).pdf
|
||||
|
||||
|
||||
Funtronics FK-10 Programming Notes (Contributed by Disneysw 2016-12-10)
|
||||
|
||||
Programming the unit is accomplished by selecting "Mega2560" as the target processor and uploading to the rear USB port with the front
|
||||
switch set to the Arduino position
|
||||
|
||||
Note: in order to get the FK-10 USB Host port working correctly you will need to patch the file "UsbCore.h" in the USB_Host_Shield library.
|
||||
At the time of writing it is line 41 that needs modified to change "P10" to "P53" i.e. from
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
to:
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P53, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// Do not touch anything below this line!
|
||||
// Serial port class definitions for various devices
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)||defined(ARDUINO_GENERIC_STM32F103C) //sp5iou 20180329
|
||||
#define PRIMARY_SERIAL_CLS USBSerial
|
||||
#define SECONDARY_SERIAL_CLS USBSerial
|
||||
#elif defined(ARDUINO_AVR_PROMICRO) || defined(ARDUINO_AVR_LEONARDO) || defined(ARDUINO_AVR_MICRO) || defined(ARDUINO_AVR_YUN) || defined(ARDUINO_AVR_ESPLORA) || defined(ARDUINO_AVR_LILYPAD_USB) || defined(ARDUINO_AVR_ROBOT_CONTROL) || defined(ARDUINO_AVR_ROBOT_MOTOR) || defined(ARDUINO_AVR_LEONARDO_ETH)
|
||||
#define PRIMARY_SERIAL_CLS Serial_
|
||||
#define SECONDARY_SERIAL_CLS Serial_
|
||||
#elif defined(TEENSYDUINO)
|
||||
#define PRIMARY_SERIAL_CLS usb_serial_class
|
||||
#define SECONDARY_SERIAL_CLS usb_serial_class
|
||||
#else
|
||||
#define PRIMARY_SERIAL_CLS HardwareSerial
|
||||
#define SECONDARY_SERIAL_CLS HardwareSerial
|
||||
#endif
|
||||
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
/* Pins - you must review these and configure ! */
|
||||
#ifndef keyer_pin_settings_h
|
||||
#define keyer_pin_settings_h
|
||||
|
||||
#define paddle_left 2
|
||||
#define paddle_right 5
|
||||
#define tx_key_line_1 11 // (high = key down/tx on)
|
||||
#define tx_key_line_2 13
|
||||
#define tx_key_line_3 0
|
||||
#define tx_key_line_4 0
|
||||
#define tx_key_line_5 0
|
||||
#define tx_key_line_6 0
|
||||
#define sidetone_line 4 // connect a speaker for sidetone
|
||||
#define potentiometer A0 // Speed potentiometer (0 to 5 V) Use pot from 1k to 10k
|
||||
#define ptt_tx_1 0 // PTT ("push to talk") lines
|
||||
#define ptt_tx_2 0 // Can be used for keying fox transmitter, T/R switch, or keying slow boatanchors
|
||||
#define ptt_tx_3 0 // These are optional - set to 0 if unused
|
||||
#define ptt_tx_4 0
|
||||
#define ptt_tx_5 0
|
||||
#define ptt_tx_6 0
|
||||
#define tx_key_dit 0 // if defined, goes active for dit (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define tx_key_dah 0 // if defined, goes active for dah (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define potentiometer_enable_pin 0 // if defined, the potentiometer will be enabled only when this pin is held low; set to 0 to ignore this pin
|
||||
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_pin A1
|
||||
#define command_mode_active_led 0
|
||||
#endif //FEATURE_COMMAND_BUTTONS
|
||||
|
||||
/*
|
||||
FEATURE_SIDETONE_SWITCH
|
||||
Enabling this feature and an external toggle switch adds switch control for playing cw sidetone.
|
||||
ST Switch status is displayed in the status command. This feature will override the software control of the sidetone (\o).
|
||||
Arduino pin is assigned by SIDETONE_SWITCH
|
||||
*/
|
||||
|
||||
#ifdef FEATURE_SIDETONE_SWITCH
|
||||
#define SIDETONE_SWITCH 8
|
||||
#endif //FEATURE_SIDETONE_SWITCH
|
||||
|
||||
|
||||
//lcd pins
|
||||
#ifdef FEATURE_LCD_4BIT
|
||||
#define lcd_rs A2
|
||||
#define lcd_enable 10
|
||||
#define lcd_d4 6
|
||||
#define lcd_d5 7
|
||||
#define lcd_d6 8
|
||||
#define lcd_d7 9
|
||||
#endif //FEATURE_LCD_4BIT
|
||||
|
||||
#ifdef FEATURE_LCD1602_N07DH
|
||||
#define lcd_rs 8
|
||||
#define lcd_enable 9
|
||||
#define lcd_d4 4
|
||||
#define lcd_d5 5
|
||||
#define lcd_d6 6
|
||||
#define lcd_d7 7
|
||||
#endif //FEATURE_LCD1602_N07DH
|
||||
|
||||
//ps2 keyboard pins
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define ps2_keyboard_data A3
|
||||
#define ps2_keyboard_clock 3 // this must be on an interrupt capable pin!
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
// rotary encoder pins and options - rotary encoder code from Jim Balls M0CKE
|
||||
#ifdef FEATURE_ROTARY_ENCODER
|
||||
#define OPTION_ENCODER_HALF_STEP_MODE // Half-step mode?
|
||||
#define rotary_pin1 0 // CW Encoder Pin
|
||||
#define rotary_pin2 0 // CCW Encoder Pin
|
||||
#define OPTION_ENCODER_ENABLE_PULLUPS // define to enable weak pullups.
|
||||
#endif //FEATURE_ROTARY_ENCODER
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_sdi A10 //2 //Data
|
||||
#define led_ring_clk A9 //3 //Clock
|
||||
#define led_ring_le A8 //4 //Latch
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_ALPHABET_SEND_PRACTICE
|
||||
#define correct_answer_led 0
|
||||
#define wrong_answer_led 0
|
||||
#endif //FEATURE_ALPHABET_SEND_PRACTICE
|
||||
|
||||
#ifdef FEATURE_PTT_INTERLOCK
|
||||
#define ptt_interlock 0 // this pin disables PTT and TX KEY
|
||||
#endif //FEATURE_PTT_INTERLOCK
|
||||
|
||||
#ifdef FEATURE_STRAIGHT_KEY
|
||||
#define pin_straight_key 52
|
||||
#endif //FEATURE_STRAIGHT_KEY
|
||||
|
||||
#ifdef FEATURE_CW_DECODER
|
||||
#define cw_decoder_pin A3//A11 //A5 //A3
|
||||
#ifdef OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_audio_input_pin 0 // this must be an analog pin!
|
||||
#endif //OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_indicator 24
|
||||
#endif //FEATURE_CW_DECODER
|
||||
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define compression_detection_pin 13
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define keyer_awake 0
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_CAPACITIVE_PADDLE_PINS)
|
||||
#define capactive_paddle_pin_inhibit_pin 0 // if this pin is defined and is set high, the capacitive paddle pins will switch to normal (non-capacitive) sensing mode
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_4x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col3 37
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_3x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_SEQUENCER
|
||||
#define sequencer_1_pin 40
|
||||
#define sequencer_2_pin 41
|
||||
#define sequencer_3_pin 42
|
||||
#define sequencer_4_pin 43
|
||||
#define sequencer_5_pin 44
|
||||
#endif //FEATURE_SEQUENCER
|
||||
|
||||
#define ptt_input_pin 0
|
||||
|
||||
#define tx_inhibit_pin 0
|
||||
#define tx_pause_pin 0
|
||||
|
||||
#else
|
||||
|
||||
#error "Multiple pin_settings.h files included somehow..."
|
||||
|
||||
#endif //keyer_pin_settings_h
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
// Initial and hardcoded settings
|
||||
#define initial_speed_wpm 26 // "factory default" keyer speed setting
|
||||
#define initial_command_mode_speed_wpm 20 // "factory default" command mode speed setting
|
||||
#define initial_sidetone_freq 600 // "factory default" sidetone frequency setting
|
||||
#define sidetone_hz_limit_low 299
|
||||
#define sidetone_hz_limit_high 2001
|
||||
#define hz_high_beep 1500 // frequency in hertz of high beep
|
||||
#define hz_low_beep 400 // frequency in hertz of low beep
|
||||
#define initial_dah_to_dit_ratio 300 // 300 = 3 / normal 3:1 ratio
|
||||
#define initial_ptt_lead_time_tx1 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx1 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx2 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx2 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx3 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx3 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx4 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx4 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx5 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx5 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx6 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx6 10 // PTT tail time in mS
|
||||
#define initial_qrss_dit_length 1 // QRSS dit length in seconds
|
||||
#define initial_pot_wpm_low_value 13 // Potentiometer WPM fully CCW
|
||||
#define initial_pot_wpm_high_value 35 // Potentiometer WPM fully CW
|
||||
#define wpm_limit_low 5
|
||||
#define wpm_limit_high 60
|
||||
#define potentiometer_change_threshold 0.9 // don't change the keyer speed until pot wpm has changed more than this
|
||||
#define send_buffer_size 150
|
||||
#define default_length_letterspace 3
|
||||
#define default_length_wordspace 7
|
||||
#define default_keying_compensation 0 // number of milliseconds to extend all dits and dahs - for QSK on boatanchors
|
||||
#define default_first_extension_time 0 // number of milliseconds to extend first sent dit or dah
|
||||
#define default_pot_full_scale_reading 1023
|
||||
#define default_weighting 50 // 50 = weighting factor of 1 (normal)
|
||||
#define default_ptt_hang_time_wordspace_units 0.0
|
||||
#define memory_area_start 60 // the eeprom location where memory space starts
|
||||
#define memory_area_end 1023 // the eeprom location where memory space ends
|
||||
#define winkey_c0_wait_time 1 // the number of milliseconds to wait to send 0xc0 byte after send buffer has been sent
|
||||
#define winkey_command_timeout_ms 5000
|
||||
#define winkey_discard_bytes_startup 3 // this is used if OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP is enabled above
|
||||
#define winkey_xoff_threshold 20 // the number of chars in the buffer when we begin sending XOFFs
|
||||
#define winkey_xon_threshold 10 // the number of chars in the buffer below which we deactivate XOFF
|
||||
#define default_memory_repeat_time 3000 // time in milliseconds
|
||||
#define LCD_COLUMNS 16
|
||||
#define LCD_ROWS 2
|
||||
#define hell_pixel_microseconds 4025
|
||||
#define program_memory_limit_consec_spaces 1
|
||||
#define serial_leading_zeros 1 // set to 1 to activate leading zeros in serial numbers (i.e. #1 = 001)
|
||||
#define serial_cut_numbers 0 // set to 1 to activate cut numbers in serial numbers (i.e. #10 = 1T, #19 = 1N)
|
||||
#define go_to_sleep_inactivity_time 10 // minutes - FEATURE_SLEEP
|
||||
#define default_cmos_super_keyer_iambic_b_timing_percent 33 // use with FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING; should be between 0 to 99 % (0% = true iambic b;100% = iambic a behavior)
|
||||
#define cw_echo_timing_factor 0.25
|
||||
#define winkey_paddle_echo_buffer_decode_timing_factor 0.25
|
||||
#define potentiometer_always_on 0
|
||||
#define ptt_interlock_check_every_ms 100
|
||||
#define ptt_interlock_active_state HIGH
|
||||
#define unknown_cw_character '*'
|
||||
#define cli_paddle_echo_on_at_boot 1
|
||||
#define cli_straight_key_echo_on_at_boot 1
|
||||
#define tx_key_dit_and_dah_pins_active_state HIGH
|
||||
#define tx_key_dit_and_dah_pins_inactive_state LOW
|
||||
#define potentiometer_check_interval_ms 0 //=====150
|
||||
#define potentiometer_reading_threshold 1
|
||||
#define default_paddle_interruption_quiet_time_element_lengths 0
|
||||
#define default_wordsworth_wordspace 6
|
||||
#define default_wordsworth_repetition 1
|
||||
#define serial_program_memory_buffer_size 500
|
||||
#define eeprom_write_time_ms 30000
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_number_of_buttons 4
|
||||
#define analog_buttons_r1 10
|
||||
#define analog_buttons_r2 1
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_COMMAND_BUTTONS) && !defined(FEATURE_PS2_KEYBOARD) && !defined(FEATURE_USB_KEYBOARD) && !defined(FEATURE_COMMAND_LINE_INTERFACE) && !defined(FEATURE_WINKEY_EMULATION)
|
||||
#define number_of_memories byte(analog_buttons_number_of_buttons-1)
|
||||
#else
|
||||
#define number_of_memories byte(12)
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
#define capacitance_threshold 2
|
||||
#endif //FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_low_limit 10
|
||||
#define led_ring_high_limit 50
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_QLF
|
||||
#define qlf_dit_max 125
|
||||
#define qlf_dit_min 75
|
||||
#define qlf_dah_max 200
|
||||
#define qlf_dah_min 100
|
||||
#define qlf_on_by_default 0
|
||||
#endif //FEATURE_QLF
|
||||
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#ifdef OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
#define WINKEY_DEFAULT_BAUD 9600
|
||||
#else
|
||||
#define WINKEY_DEFAULT_BAUD 1200
|
||||
#endif //OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
// alter these below to map alternate sidetones for Winkey interface protocol emulation
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 3759
|
||||
#define WINKEY_SIDETONE_2 1879
|
||||
#define WINKEY_SIDETONE_3 1252
|
||||
#define WINKEY_SIDETONE_4 940
|
||||
#define WINKEY_SIDETONE_5 752
|
||||
#define WINKEY_SIDETONE_6 625
|
||||
#define WINKEY_SIDETONE_7 535
|
||||
#define WINKEY_SIDETONE_8 469
|
||||
#define WINKEY_SIDETONE_9 417
|
||||
#define WINKEY_SIDETONE_10 375
|
||||
#else //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 4000
|
||||
#define WINKEY_SIDETONE_2 2000
|
||||
#define WINKEY_SIDETONE_3 1333
|
||||
#define WINKEY_SIDETONE_4 1000
|
||||
#define WINKEY_SIDETONE_5 800
|
||||
#define WINKEY_SIDETONE_6 666
|
||||
#define WINKEY_SIDETONE_7 571
|
||||
#define WINKEY_SIDETONE_8 500
|
||||
#define WINKEY_SIDETONE_9 444
|
||||
#define WINKEY_SIDETONE_10 400
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
|
||||
#define WINKEY_1_REPORT_VERSION_NUMBER 10
|
||||
#define WINKEY_2_REPORT_VERSION_NUMBER 23
|
||||
|
||||
// alter these to map to alternate hang time wordspace units
|
||||
#define WINKEY_HANG_TIME_1_0 1.0
|
||||
#define WINKEY_HANG_TIME_1_33 1.33
|
||||
#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_PADDLE_A2D 0xEE
|
||||
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00
|
||||
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
|
||||
|
||||
#define PRIMARY_SERIAL_PORT &Serial
|
||||
#define PRIMARY_SERIAL_PORT_BAUD 115200 // This applies only when the port is in Command Line Interface mode. In Winkey mode it will default to 1200.
|
||||
|
||||
#ifdef FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
#define SECONDARY_SERIAL_PORT &Serial1
|
||||
#define SECONDARY_SERIAL_PORT_BAUD 115200
|
||||
#endif
|
||||
|
||||
|
||||
#define CW_DECODER_SCREEN_COLUMNS 120 // word wrap at this many columns
|
||||
#define CW_DECODER_SPACE_PRINT_THRESH 4.5 // print space if no tone for this many element lengths
|
||||
#define CW_DECODER_SPACE_DECODE_THRESH 2.0 // invoke character decode if no tone for this many element lengths
|
||||
#define CW_DECODER_NOISE_FILTER 20 // ignore elements shorter than this (mS)
|
||||
|
||||
#define STRAIGHT_KEY_ACTIVE_STATE LOW
|
||||
|
||||
#ifdef FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_WPM 30
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_RATIO 300 // 300 = 3:1 ratio
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_WPM 70
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_RATIO 240 // 240 = 2.4:1 ratio
|
||||
#endif //FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define COMPETITION_COMPRESSION_DETECTION_ARRAY_SIZE 16
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_LOWER_LIMIT 1
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_UPPER_LIMIT 6.0
|
||||
#define COMPETITION_COMPRESSION_DETECTION_AVERAGE_ALARM_THRESHOLD 3.0
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
|
||||
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_ETHERNET)
|
||||
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
|
||||
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
|
||||
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.179")
|
||||
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
|
||||
|
||||
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
|
||||
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
|
||||
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
|
||||
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
|
||||
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
|
||||
#endif //FEATURE_ETHERNET
|
||||
|
||||
#define WEB_SERVER_CONTROL_TX_KEY_TIME_LIMIT_SECS 10
|
||||
|
||||
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
|
||||
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
|
||||
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
#define KEYPAD_ROWS 4 //KeyPad Rows
|
||||
#if defined(FEATURE_4x4_KEYPAD)
|
||||
#define KEYPAD_COLS 4 //keypad Columns
|
||||
#else
|
||||
#define KEYPAD_COLS 3
|
||||
#endif
|
||||
#define mem1 0 //Memory numbers for Keypad: Actual memory numbers start with "0"
|
||||
#define mem2 1
|
||||
#define mem3 2
|
||||
#define mem4 3
|
||||
#define mem5 4
|
||||
#define mem6 5
|
||||
#define mem7 6
|
||||
#define mem8 7
|
||||
#define mem9 8
|
||||
#define mem10 9
|
||||
#define mem11 10
|
||||
#define mem12 11
|
||||
#endif //#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
|
||||
#define initial_sidetone_mode 1 // Sidetone mode, 0=OFF, 1=ON, 2=PADDLE_ONLY
|
||||
|
||||
#define sd_card_spi_ss_line 4
|
||||
|
||||
|
||||
#if defined(OPTION_DFROBOT_LCD_COMMAND_BUTTONS)
|
||||
|
||||
// For V1.1 board use these values
|
||||
#define dfrobot_btnRIGHT_analog 50
|
||||
#define dfrobot_btnUP_analog 250
|
||||
#define dfrobot_btnDOWN_analog 450
|
||||
#define dfrobot_btnLEFT_analog 650
|
||||
#define dfrobot_btnSELECT_analog 850
|
||||
|
||||
// For V1.0 board use these values
|
||||
// #define dfrobot_btnRIGHT_analog 50
|
||||
// #define dfrobot_btnUP_analog 195
|
||||
// #define dfrobot_btnDOWN_analog 380
|
||||
// #define dfrobot_btnLEFT_analog 555
|
||||
// #define dfrobot_btnSELECT_analog 790
|
||||
|
||||
// button to memory mappings (0 = command button, 1 = memory 1, 2 = memory 2, etc.)
|
||||
#define dfrobot_btnRIGHT 2
|
||||
#define dfrobot_btnUP 1
|
||||
#define dfrobot_btnDOWN 3
|
||||
#define dfrobot_btnLEFT 4
|
||||
#define dfrobot_btnSELECT 0
|
||||
#define dfrobot_btnNONE 255 // do not change
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define sequencer_pins_active_state HIGH
|
||||
#define sequencer_pins_inactive_state LOW
|
||||
#define ptt_line_active_state HIGH
|
||||
#define ptt_line_inactive_state LOW
|
||||
#define tx_key_line_active_state HIGH
|
||||
#define tx_key_line_inactive_state LOW
|
||||
#define ptt_input_pin_active_state LOW
|
||||
#define ptt_input_pin_inactive_state HIGH
|
||||
#define tx_inhibit_pin_active_state LOW
|
||||
#define tx_inhibit_pin_inactive_state HIGH
|
||||
#define tx_pause_pin_active_state LOW
|
||||
#define tx_pause_pin_inactive_state HIGH
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)
|
||||
#define button_value_factor 4095
|
||||
#else
|
||||
#define button_value_factor 1023
|
||||
#endif
|
||||
|
||||
#define farnsworth_timing_calibration 1.15
|
||||
|
||||
#define sidetone_volume_low_limit 10
|
||||
#define sidetone_volume_high_limit 500
|
||||
|
||||
|
|
@ -1,266 +0,0 @@
|
|||
// keyer_training_text_czech.h
|
||||
// Czech word list contributed by Martin, OK1RR
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "DO";
|
||||
const char s2_2[] PROGMEM = "NA";
|
||||
const char s2_3[] PROGMEM = "PO";
|
||||
const char s2_4[] PROGMEM = "MY";
|
||||
const char s2_5[] PROGMEM = "TO";
|
||||
const char s2_6[] PROGMEM = "NE";
|
||||
const char s2_7[] PROGMEM = "VY";
|
||||
const char s2_8[] PROGMEM = "ZE";
|
||||
const char s2_9[] PROGMEM = "VE";
|
||||
const char s2_10[] PROGMEM = "JA";
|
||||
const char s2_11[] PROGMEM = "TY";
|
||||
const char s2_12[] PROGMEM = "BY";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "SE";
|
||||
const char s2_15[] PROGMEM = "AZ";
|
||||
const char s2_16[] PROGMEM = "TU";
|
||||
const char s2_17[] PROGMEM = "TI";
|
||||
const char s2_18[] PROGMEM = "ZA";
|
||||
const char s2_19[] PROGMEM = "CI";
|
||||
const char s2_20[] PROGMEM = "CO";
|
||||
const char s2_21[] PROGMEM = "JI";
|
||||
const char s2_22[] PROGMEM = "MU";
|
||||
const char s2_23[] PROGMEM = "JE";
|
||||
const char s2_24[] PROGMEM = "UZ";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DVA";
|
||||
const char s3_2[] PROGMEM = "TRI";
|
||||
const char s3_3[] PROGMEM = "MUJ";
|
||||
const char s3_4[] PROGMEM = "NAS";
|
||||
const char s3_5[] PROGMEM = "ONA";
|
||||
const char s3_6[] PROGMEM = "ONI";
|
||||
const char s3_7[] PROGMEM = "ONO";
|
||||
const char s3_8[] PROGMEM = "VAS";
|
||||
const char s3_9[] PROGMEM = "VSE";
|
||||
const char s3_10[] PROGMEM = "POD";
|
||||
const char s3_11[] PROGMEM = "NAD";
|
||||
const char s3_12[] PROGMEM = "KDE";
|
||||
const char s3_13[] PROGMEM = "KDY";
|
||||
const char s3_14[] PROGMEM = "KAM";
|
||||
const char s3_15[] PROGMEM = "KUS";
|
||||
const char s3_16[] PROGMEM = "DEN";
|
||||
const char s3_17[] PROGMEM = "TAM";
|
||||
const char s3_18[] PROGMEM = "DAT";
|
||||
const char s3_19[] PROGMEM = "DAM";
|
||||
const char s3_20[] PROGMEM = "DAS";
|
||||
const char s3_21[] PROGMEM = "MIT";
|
||||
const char s3_22[] PROGMEM = "JIT";
|
||||
const char s3_23[] PROGMEM = "NEZ";
|
||||
const char s3_24[] PROGMEM = "ROK";
|
||||
const char s3_25[] PROGMEM = "PAK";
|
||||
const char s3_26[] PROGMEM = "DIK";
|
||||
const char s3_27[] PROGMEM = "DUM";
|
||||
const char s3_28[] PROGMEM = "PRO";
|
||||
const char s3_29[] PROGMEM = "PRI";
|
||||
const char s3_30[] PROGMEM = "OKO";
|
||||
const char s3_31[] PROGMEM = "CAS";
|
||||
const char s3_32[] PROGMEM = "CAJ";
|
||||
const char s3_33[] PROGMEM = "CIL";
|
||||
const char s3_34[] PROGMEM = "COP";
|
||||
const char s3_35[] PROGMEM = "MUZ";
|
||||
const char s3_36[] PROGMEM = "ASI";
|
||||
const char s3_37[] PROGMEM = "BEZ";
|
||||
const char s3_38[] PROGMEM = "BOJ";
|
||||
const char s3_39[] PROGMEM = "BUH";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "TATO";
|
||||
const char s4_2[] PROGMEM = "TITO";
|
||||
const char s4_3[] PROGMEM = "TOTO";
|
||||
const char s4_4[] PROGMEM = "DOMA";
|
||||
const char s4_5[] PROGMEM = "STAT";
|
||||
const char s4_6[] PROGMEM = "TADY";
|
||||
const char s4_7[] PROGMEM = "DOBA";
|
||||
const char s4_8[] PROGMEM = "TAKE";
|
||||
const char s4_9[] PROGMEM = "PRED";
|
||||
const char s4_10[] PROGMEM = "SVET";
|
||||
const char s4_11[] PROGMEM = "BRZY";
|
||||
const char s4_12[] PROGMEM = "TVUJ";
|
||||
const char s4_13[] PROGMEM = "TATA";
|
||||
const char s4_14[] PROGMEM = "MAMA";
|
||||
const char s4_15[] PROGMEM = "PSIK";
|
||||
const char s4_16[] PROGMEM = "ZENA";
|
||||
const char s4_17[] PROGMEM = "DITE";
|
||||
const char s4_18[] PROGMEM = "DETI";
|
||||
const char s4_19[] PROGMEM = "KONE";
|
||||
const char s4_20[] PROGMEM = "DUHA";
|
||||
const char s4_21[] PROGMEM = "RUKA";
|
||||
const char s4_22[] PROGMEM = "NOHA";
|
||||
const char s4_23[] PROGMEM = "PRST";
|
||||
const char s4_24[] PROGMEM = "POLE";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "VITR";
|
||||
const char s4_27[] PROGMEM = "MLHA";
|
||||
const char s4_28[] PROGMEM = "VODA";
|
||||
const char s4_29[] PROGMEM = "VAHA";
|
||||
const char s4_30[] PROGMEM = "PIVO";
|
||||
const char s4_31[] PROGMEM = "HRAT";
|
||||
const char s4_32[] PROGMEM = "RADA";
|
||||
const char s4_33[] PROGMEM = "PANI";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "JOSEF";
|
||||
const char name_3[] PROGMEM = "JIRI";
|
||||
const char name_4[] PROGMEM = "KAREL";
|
||||
const char name_5[] PROGMEM = "HONZA";
|
||||
const char name_6[] PROGMEM = "FRANTA";
|
||||
const char name_7[] PROGMEM = "PETR";
|
||||
const char name_8[] PROGMEM = "PAVEL";
|
||||
const char name_9[] PROGMEM = "JINDRA";
|
||||
const char name_10[] PROGMEM = "FILIP";
|
||||
const char name_11[] PROGMEM = "MILAN";
|
||||
const char name_12[] PROGMEM = "MARTIN";
|
||||
const char name_13[] PROGMEM = "DAVID";
|
||||
const char name_14[] PROGMEM = "TOMAS";
|
||||
const char name_15[] PROGMEM = "HANKA";
|
||||
const char name_16[] PROGMEM = "SASA";
|
||||
const char name_17[] PROGMEM = "IVAN";
|
||||
const char name_18[] PROGMEM = "BERT";
|
||||
const char name_19[] PROGMEM = "VASEK";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "JIRKA";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "PEPA";
|
||||
const char name_24[] PROGMEM = "JIRINA";
|
||||
const char name_25[] PROGMEM = "RISA";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "LUBOS";
|
||||
const char name_28[] PROGMEM = "TONDA";
|
||||
const char name_29[] PROGMEM = "LADA";
|
||||
const char name_30[] PROGMEM = "VLADA";
|
||||
const char name_31[] PROGMEM = "JENDA";
|
||||
const char name_32[] PROGMEM = "CYRIL";
|
||||
const char name_33[] PROGMEM = "BOHOUS";
|
||||
const char name_34[] PROGMEM = "KAMIL";
|
||||
const char name_35[] PROGMEM = "RENE";
|
||||
const char name_36[] PROGMEM = "PATRIK";
|
||||
const char name_37[] PROGMEM = "SIMON";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "LOJZA";
|
||||
const char name_40[] PROGMEM = "MATEJ";
|
||||
const char name_41[] PROGMEM = "FERDA";
|
||||
const char name_42[] PROGMEM = "MARIE";
|
||||
const char name_43[] PROGMEM = "ZDENEK";
|
||||
const char name_44[] PROGMEM = "JULEK";
|
||||
const char name_45[] PROGMEM = "STANDA";
|
||||
const char name_46[] PROGMEM = "SLAVEK";
|
||||
const char name_47[] PROGMEM = "VILDA";
|
||||
const char name_48[] PROGMEM = "VERA";
|
||||
const char name_49[] PROGMEM = "GUSTA";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,264 +0,0 @@
|
|||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "TO";
|
||||
const char s2_2[] PROGMEM = "IN";
|
||||
const char s2_3[] PROGMEM = "IT";
|
||||
const char s2_4[] PROGMEM = "IS";
|
||||
const char s2_5[] PROGMEM = "BE";
|
||||
const char s2_6[] PROGMEM = "AS";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "SO";
|
||||
const char s2_9[] PROGMEM = "WE";
|
||||
const char s2_10[] PROGMEM = "HE";
|
||||
const char s2_11[] PROGMEM = "BY";
|
||||
const char s2_12[] PROGMEM = "OR";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "DO";
|
||||
const char s2_15[] PROGMEM = "IF";
|
||||
const char s2_16[] PROGMEM = "ME";
|
||||
const char s2_17[] PROGMEM = "MY";
|
||||
const char s2_18[] PROGMEM = "UP";
|
||||
const char s2_19[] PROGMEM = "AN";
|
||||
const char s2_20[] PROGMEM = "GO";
|
||||
const char s2_21[] PROGMEM = "NO";
|
||||
const char s2_22[] PROGMEM = "US";
|
||||
const char s2_23[] PROGMEM = "AM";
|
||||
const char s2_24[] PROGMEM = "OF";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "THE";
|
||||
const char s3_2[] PROGMEM = "AND";
|
||||
const char s3_3[] PROGMEM = "FOR";
|
||||
const char s3_4[] PROGMEM = "ARE";
|
||||
const char s3_5[] PROGMEM = "BUT";
|
||||
const char s3_6[] PROGMEM = "NOT";
|
||||
const char s3_7[] PROGMEM = "YOU";
|
||||
const char s3_8[] PROGMEM = "ALL";
|
||||
const char s3_9[] PROGMEM = "ANY";
|
||||
const char s3_10[] PROGMEM = "CAN";
|
||||
const char s3_11[] PROGMEM = "HAD";
|
||||
const char s3_12[] PROGMEM = "HER";
|
||||
const char s3_13[] PROGMEM = "WAS";
|
||||
const char s3_14[] PROGMEM = "ONE";
|
||||
const char s3_15[] PROGMEM = "OUR";
|
||||
const char s3_16[] PROGMEM = "OUT";
|
||||
const char s3_17[] PROGMEM = "DAY";
|
||||
const char s3_18[] PROGMEM = "GET";
|
||||
const char s3_19[] PROGMEM = "HAS";
|
||||
const char s3_20[] PROGMEM = "HIM";
|
||||
const char s3_21[] PROGMEM = "HIS";
|
||||
const char s3_22[] PROGMEM = "HOW";
|
||||
const char s3_23[] PROGMEM = "MAN";
|
||||
const char s3_24[] PROGMEM = "NEW";
|
||||
const char s3_25[] PROGMEM = "NOW";
|
||||
const char s3_26[] PROGMEM = "OLD";
|
||||
const char s3_27[] PROGMEM = "SEE";
|
||||
const char s3_28[] PROGMEM = "TWO";
|
||||
const char s3_29[] PROGMEM = "WAY";
|
||||
const char s3_30[] PROGMEM = "WHO";
|
||||
const char s3_31[] PROGMEM = "BOY";
|
||||
const char s3_32[] PROGMEM = "DID";
|
||||
const char s3_33[] PROGMEM = "ITS";
|
||||
const char s3_34[] PROGMEM = "LET";
|
||||
const char s3_35[] PROGMEM = "PUT";
|
||||
const char s3_36[] PROGMEM = "SAY";
|
||||
const char s3_37[] PROGMEM = "SHE";
|
||||
const char s3_38[] PROGMEM = "TOO";
|
||||
const char s3_39[] PROGMEM = "USE";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "THAT";
|
||||
const char s4_2[] PROGMEM = "WITH";
|
||||
const char s4_3[] PROGMEM = "HAVE";
|
||||
const char s4_4[] PROGMEM = "THIS";
|
||||
const char s4_5[] PROGMEM = "WILL";
|
||||
const char s4_6[] PROGMEM = "YOUR";
|
||||
const char s4_7[] PROGMEM = "FROM";
|
||||
const char s4_8[] PROGMEM = "THEY";
|
||||
const char s4_9[] PROGMEM = "KNOW";
|
||||
const char s4_10[] PROGMEM = "WANT";
|
||||
const char s4_11[] PROGMEM = "BEEN";
|
||||
const char s4_12[] PROGMEM = "GOOD";
|
||||
const char s4_13[] PROGMEM = "MUCH";
|
||||
const char s4_14[] PROGMEM = "SOME";
|
||||
const char s4_15[] PROGMEM = "TIME";
|
||||
const char s4_16[] PROGMEM = "VERY";
|
||||
const char s4_17[] PROGMEM = "WHEN";
|
||||
const char s4_18[] PROGMEM = "COME";
|
||||
const char s4_19[] PROGMEM = "HERE";
|
||||
const char s4_20[] PROGMEM = "JUST";
|
||||
const char s4_21[] PROGMEM = "LIKE";
|
||||
const char s4_22[] PROGMEM = "LONG";
|
||||
const char s4_23[] PROGMEM = "MAKE";
|
||||
const char s4_24[] PROGMEM = "MANY";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "ONLY";
|
||||
const char s4_27[] PROGMEM = "OVER";
|
||||
const char s4_28[] PROGMEM = "SUCH";
|
||||
const char s4_29[] PROGMEM = "TAKE";
|
||||
const char s4_30[] PROGMEM = "THAN";
|
||||
const char s4_31[] PROGMEM = "THEM";
|
||||
const char s4_32[] PROGMEM = "WELL";
|
||||
const char s4_33[] PROGMEM = "WERE";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "BOB";
|
||||
const char name_3[] PROGMEM = "BILL";
|
||||
const char name_4[] PROGMEM = "JOHN";
|
||||
const char name_5[] PROGMEM = "GEORGE";
|
||||
const char name_6[] PROGMEM = "TOM";
|
||||
const char name_7[] PROGMEM = "RICH";
|
||||
const char name_8[] PROGMEM = "STEVE";
|
||||
const char name_9[] PROGMEM = "TIM";
|
||||
const char name_10[] PROGMEM = "SCOTT";
|
||||
const char name_11[] PROGMEM = "FRED";
|
||||
const char name_12[] PROGMEM = "DOUG";
|
||||
const char name_13[] PROGMEM = "DAVE";
|
||||
const char name_14[] PROGMEM = "GARY";
|
||||
const char name_15[] PROGMEM = "JIM";
|
||||
const char name_16[] PROGMEM = "CHRIS";
|
||||
const char name_17[] PROGMEM = "MIKE";
|
||||
const char name_18[] PROGMEM = "ED";
|
||||
const char name_19[] PROGMEM = "AL";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "RON";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "ART";
|
||||
const char name_24[] PROGMEM = "GREG";
|
||||
const char name_25[] PROGMEM = "RICK";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "KEN";
|
||||
const char name_28[] PROGMEM = "TONY";
|
||||
const char name_29[] PROGMEM = "CARL";
|
||||
const char name_30[] PROGMEM = "PHIL";
|
||||
const char name_31[] PROGMEM = "JOE";
|
||||
const char name_32[] PROGMEM = "JON";
|
||||
const char name_33[] PROGMEM = "LARRY";
|
||||
const char name_34[] PROGMEM = "DON";
|
||||
const char name_35[] PROGMEM = "DICK";
|
||||
const char name_36[] PROGMEM = "PAUL";
|
||||
const char name_37[] PROGMEM = "SERGE";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "VLAD";
|
||||
const char name_40[] PROGMEM = "JEFF";
|
||||
const char name_41[] PROGMEM = "CHAS";
|
||||
const char name_42[] PROGMEM = "JACK";
|
||||
const char name_43[] PROGMEM = "GENE";
|
||||
const char name_44[] PROGMEM = "BERT";
|
||||
const char name_45[] PROGMEM = "OLEG";
|
||||
const char name_46[] PROGMEM = "PETE";
|
||||
const char name_47[] PROGMEM = "PAT";
|
||||
const char name_48[] PROGMEM = "JUAN";
|
||||
const char name_49[] PROGMEM = "GUS";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,248 +0,0 @@
|
|||
// keyer_training_text_norsk.h
|
||||
// Norwegian word list contributed by Karl, LA3FY
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "OG";
|
||||
const char s2_2[] PROGMEM = "PÅ";
|
||||
const char s2_3[] PROGMEM = "GÅ";
|
||||
const char s2_4[] PROGMEM = "ER";
|
||||
const char s2_5[] PROGMEM = "EN";
|
||||
const char s2_6[] PROGMEM = "AV";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "DE";
|
||||
const char s2_9[] PROGMEM = "ET";
|
||||
const char s2_10[] PROGMEM = "SÅ";
|
||||
const char s2_11[] PROGMEM = "VI";
|
||||
const char s2_12[] PROGMEM = "DU";
|
||||
const char s2_13[] PROGMEM = "DA";
|
||||
const char s2_14[] PROGMEM = "UT";
|
||||
const char s2_15[] PROGMEM = "SA";
|
||||
const char s2_16[] PROGMEM = "NÅ";
|
||||
const char s2_17[] PROGMEM = "NY";
|
||||
const char s2_18[] PROGMEM = "HA";
|
||||
const char s2_19[] PROGMEM = "ÅR";
|
||||
const char s2_20[] PROGMEM = "FÅ";
|
||||
const char s2_21[] PROGMEM = "TO";
|
||||
const char s2_22[] PROGMEM = "SE";
|
||||
const byte s2_size = 22;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DET";
|
||||
const char s3_2[] PROGMEM = "SOM";
|
||||
const char s3_3[] PROGMEM = "HAN";
|
||||
const char s3_4[] PROGMEM = "FOR";
|
||||
const char s3_5[] PROGMEM = "MED";
|
||||
const char s3_6[] PROGMEM = "VAR";
|
||||
const char s3_7[] PROGMEM = "DEN";
|
||||
const char s3_8[] PROGMEM = "HAR";
|
||||
const char s3_9[] PROGMEM = "JEG";
|
||||
const char s3_10[] PROGMEM = "MEN";
|
||||
const char s3_11[] PROGMEM = "SEG";
|
||||
const char s3_12[] PROGMEM = "HUN";
|
||||
const char s3_13[] PROGMEM = "VÅR";
|
||||
const char s3_14[] PROGMEM = "FRA";
|
||||
const char s3_15[] PROGMEM = "KAN";
|
||||
const char s3_16[] PROGMEM = "BLE";
|
||||
const char s3_17[] PROGMEM = "VIL";
|
||||
const char s3_18[] PROGMEM = "HAM";
|
||||
const char s3_19[] PROGMEM = "VED";
|
||||
const char s3_20[] PROGMEM = "NOE";
|
||||
const char s3_21[] PROGMEM = "MEG";
|
||||
const char s3_22[] PROGMEM = "MOT";
|
||||
const char s3_23[] PROGMEM = "OPP";
|
||||
const char s3_24[] PROGMEM = "DER";
|
||||
const char s3_25[] PROGMEM = "NÅR";
|
||||
const char s3_26[] PROGMEM = "INN";
|
||||
const char s3_27[] PROGMEM = "DEM";
|
||||
const char s3_28[] PROGMEM = "SIN";
|
||||
const char s3_29[] PROGMEM = "KOM";
|
||||
const char s3_30[] PROGMEM = "ENN";
|
||||
const char s3_31[] PROGMEM = "BLI";
|
||||
const char s3_32[] PROGMEM = "FØR";
|
||||
const char s3_33[] PROGMEM = "GÅR";
|
||||
const char s3_34[] PROGMEM = "HER";
|
||||
const char s3_35[] PROGMEM = "MER";
|
||||
const char s3_36[] PROGMEM = "HVA";
|
||||
const char s3_37[] PROGMEM = "ALT";
|
||||
const char s3_38[] PROGMEM = "OSS";
|
||||
const byte s3_size = 38;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "IKKE";
|
||||
const char s4_2[] PROGMEM = "OVER";
|
||||
const char s4_3[] PROGMEM = "OGSÅ";
|
||||
const char s4_4[] PROGMEM = "BARE";
|
||||
const char s4_5[] PROGMEM = "VÆRE";
|
||||
const char s4_6[] PROGMEM = "BLIR";
|
||||
const char s4_7[] PROGMEM = "ALLE";
|
||||
const char s4_8[] PROGMEM = "NOEN";
|
||||
const char s4_9[] PROGMEM = "SELV";
|
||||
const char s4_10[] PROGMEM = "SIER";
|
||||
const char s4_11[] PROGMEM = "HANS";
|
||||
const char s4_12[] PROGMEM = "GIKK";
|
||||
const char s4_13[] PROGMEM = "FIKK";
|
||||
const char s4_14[] PROGMEM = "DASH";
|
||||
const char s4_15[] PROGMEM = "HVOR";
|
||||
const char s4_16[] PROGMEM = "HELE";
|
||||
const byte s4_size = 16;
|
||||
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};
|
||||
|
||||
// common names
|
||||
|
||||
const char name_1[] PROGMEM = "JAN";
|
||||
const char name_2[] PROGMEM = "PER";
|
||||
const char name_3[] PROGMEM = "BJØRN";
|
||||
const char name_4[] PROGMEM = "OLE";
|
||||
const char name_5[] PROGMEM = "KJELL";
|
||||
const char name_6[] PROGMEM = "LARS";
|
||||
const char name_7[] PROGMEM = "ARNE";
|
||||
const char name_8[] PROGMEM = "KNUT";
|
||||
const char name_9[] PROGMEM = "SVEIN";
|
||||
const char name_10[] PROGMEM = "HANS";
|
||||
const char name_11[] PROGMEM = "ODD";
|
||||
const char name_12[] PROGMEM = "TOR";
|
||||
const char name_13[] PROGMEM = "GEIR";
|
||||
const char name_14[] PROGMEM = "TERJE";
|
||||
const char name_15[] PROGMEM = "THOMAS";
|
||||
const char name_16[] PROGMEM = "MORTEN";
|
||||
const char name_17[] PROGMEM = "JOHN";
|
||||
const char name_18[] PROGMEM = "ERIK";
|
||||
const char name_19[] PROGMEM = "ANDERS";
|
||||
const char name_20[] PROGMEM = "RUNE";
|
||||
const char name_21[] PROGMEM = "MARTIN";
|
||||
const char name_22[] PROGMEM = "ANDREAS";
|
||||
const char name_23[] PROGMEM = "TROND";
|
||||
const char name_24[] PROGMEM = "TORE";
|
||||
const char name_25[] PROGMEM = "HARALD";
|
||||
const char name_26[] PROGMEM = "OLAV";
|
||||
const char name_27[] PROGMEM = "GUNNAR";
|
||||
const char name_28[] PROGMEM = "JON";
|
||||
const char name_29[] PROGMEM = "ROLF";
|
||||
const char name_30[] PROGMEM = "LEIF";
|
||||
const char name_31[] PROGMEM = "TOM";
|
||||
const char name_32[] PROGMEM = "STIAN";
|
||||
const char name_33[] PROGMEM = "KRISTIAN";
|
||||
const char name_34[] PROGMEM = "NILS";
|
||||
const char name_35[] PROGMEM = "ØYVIND";
|
||||
const char name_36[] PROGMEM = "HELGE";
|
||||
const char name_37[] PROGMEM = "ESPEN";
|
||||
const char name_38[] PROGMEM = "EINAR";
|
||||
const char name_39[] PROGMEM = "MARIUS";
|
||||
const char name_40[] PROGMEM = "KÅRE";
|
||||
const char name_41[] PROGMEM = "DANIEL";
|
||||
const char name_42[] PROGMEM = "MAGNUS";
|
||||
const char name_43[] PROGMEM = "FREDRIK";
|
||||
const char name_44[] PROGMEM = "CHRISTIAN";
|
||||
const char name_45[] PROGMEM = "STEINAR";
|
||||
const char name_46[] PROGMEM = "EIRIK";
|
||||
const char name_47[] PROGMEM = "HÅKON";
|
||||
const char name_48[] PROGMEM = "ØYSTEIN";
|
||||
const char name_49[] PROGMEM = "HENRIK";
|
||||
const char name_50[] PROGMEM = "KARL";
|
||||
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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
||||
|
||||
|
Plik diff jest za duży
Load Diff
|
@ -1,223 +0,0 @@
|
|||
#ifndef keyer_h
|
||||
#define keyer_h
|
||||
|
||||
// Do not change these !
|
||||
|
||||
// Variable macros
|
||||
#define STRAIGHT 1
|
||||
#define IAMBIC_B 2
|
||||
#define IAMBIC_A 3
|
||||
#define BUG 4
|
||||
#define ULTIMATIC 5
|
||||
#define SINGLE_PADDLE 6
|
||||
|
||||
#define PADDLE_NORMAL 0
|
||||
#define PADDLE_REVERSE 1
|
||||
|
||||
#define KEYER_NORMAL 0
|
||||
#define BEACON 1
|
||||
#define KEYER_COMMAND_MODE 2
|
||||
#define KEYER_COMMAND_MODE_SPEED_OVERRIDE 3
|
||||
|
||||
#define OMIT_LETTERSPACE 1
|
||||
|
||||
#define SIDETONE_OFF 0
|
||||
#define SIDETONE_ON 1
|
||||
#define SIDETONE_PADDLE_ONLY 2
|
||||
|
||||
#define SENDING_NOTHING 0
|
||||
#define SENDING_DIT 1
|
||||
#define SENDING_DAH 2
|
||||
|
||||
#define SPEED_NORMAL 0
|
||||
#define SPEED_QRSS 1
|
||||
|
||||
#define CW 0
|
||||
#define HELL 1
|
||||
#define AMERICAN_MORSE 2
|
||||
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define PS2_KEYBOARD_NORMAL 0
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
#define SERIAL_CLI 0
|
||||
#define SERIAL_WINKEY_EMULATION 1
|
||||
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_START 13
|
||||
#define SERIAL_SEND_BUFFER_WPM_CHANGE 14
|
||||
#define SERIAL_SEND_BUFFER_PTT_ON 15
|
||||
#define SERIAL_SEND_BUFFER_PTT_OFF 16
|
||||
#define SERIAL_SEND_BUFFER_TIMED_KEY_DOWN 17
|
||||
#define SERIAL_SEND_BUFFER_TIMED_WAIT 18
|
||||
#define SERIAL_SEND_BUFFER_NULL 19
|
||||
#define SERIAL_SEND_BUFFER_PROSIGN 20
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND 21
|
||||
#define SERIAL_SEND_BUFFER_HOLD_SEND_RELEASE 22
|
||||
#define SERIAL_SEND_BUFFER_MEMORY_NUMBER 23
|
||||
#define SERIAL_SEND_BUFFER_TX_CHANGE 24
|
||||
#define SERIAL_SEND_BUFFER_SPECIAL_END 25
|
||||
|
||||
#if defined(OPTION_PROSIGN_SUPPORT)
|
||||
#define PROSIGN_START 127
|
||||
#define PROSIGN_AA 128
|
||||
#define PROSIGN_AS 129
|
||||
#define PROSIGN_BK 130
|
||||
#define PROSIGN_CL 131
|
||||
#define PROSIGN_CT 132
|
||||
#define PROSIGN_KN 133
|
||||
#define PROSIGN_NJ 134
|
||||
#define PROSIGN_SK 135
|
||||
#define PROSIGN_SN 136
|
||||
#define PROSIGN_HH 137 // iz0rus
|
||||
#define PROSIGN_END 138 // iz0rus
|
||||
#endif
|
||||
|
||||
#define SERIAL_SEND_BUFFER_NORMAL 0
|
||||
#define SERIAL_SEND_BUFFER_TIMED_COMMAND 1
|
||||
#define SERIAL_SEND_BUFFER_HOLD 2
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#define WINKEY_NO_COMMAND_IN_PROGRESS 0
|
||||
#define WINKEY_UNBUFFERED_SPEED_COMMAND 1
|
||||
#define WINKEY_UNSUPPORTED_COMMAND 2
|
||||
#define WINKEY_POINTER_COMMAND 3
|
||||
#define WINKEY_ADMIN_COMMAND 4
|
||||
#define WINKEY_PAUSE_COMMAND 5
|
||||
#define WINKEY_KEY_COMMAND 6
|
||||
#define WINKEY_SETMODE_COMMAND 7
|
||||
#define WINKEY_SIDETONE_FREQ_COMMAND 8
|
||||
#define WINKEY_ADMIN_COMMAND_ECHO 9
|
||||
#define WINKEY_BUFFERED_SPEED_COMMAND 10
|
||||
#define WINKEY_DAH_TO_DIT_RATIO_COMMAND 11
|
||||
#define WINKEY_KEYING_COMPENSATION_COMMAND 12
|
||||
#define WINKEY_FIRST_EXTENSION_COMMAND 13
|
||||
#define WINKEY_PTT_TIMES_PARM1_COMMAND 14
|
||||
#define WINKEY_PTT_TIMES_PARM2_COMMAND 15
|
||||
#define WINKEY_SET_POT_PARM1_COMMAND 16
|
||||
#define WINKEY_SET_POT_PARM2_COMMAND 17
|
||||
#define WINKEY_SET_POT_PARM3_COMMAND 18
|
||||
#define WINKEY_SOFTWARE_PADDLE_COMMAND 19
|
||||
#define WINKEY_CANCEL_BUFFERED_SPEED_COMMAND 20
|
||||
#define WINKEY_BUFFFERED_PTT_COMMMAND 21
|
||||
#define WINKEY_HSCW_COMMAND 22
|
||||
#define WINKEY_BUFFERED_HSCW_COMMAND 23
|
||||
#define WINKEY_WEIGHTING_COMMAND 24
|
||||
#define WINKEY_KEY_BUFFERED_COMMAND 25
|
||||
#define WINKEY_WAIT_BUFFERED_COMMAND 26
|
||||
#define WINKEY_POINTER_01_COMMAND 27
|
||||
#define WINKEY_POINTER_02_COMMAND 28
|
||||
#define WINKEY_POINTER_03_COMMAND 29
|
||||
#define WINKEY_FARNSWORTH_COMMAND 30
|
||||
#define WINKEY_MERGE_COMMAND 31
|
||||
#define WINKEY_MERGE_PARM_2_COMMAND 32
|
||||
#define WINKEY_SET_PINCONFIG_COMMAND 33
|
||||
#define WINKEY_EXTENDED_COMMAND 34
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SEND_MSG 35
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_1_COMMAND 101
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_2_COMMAND 102
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_3_COMMAND 103
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_4_COMMAND 104
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_5_COMMAND 105
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_6_COMMAND 106
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_7_COMMAND 107
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_8_COMMAND 108
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_9_COMMAND 109
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_10_COMMAND 110
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_11_COMMAND 111
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_12_COMMAND 112
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_13_COMMAND 113
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_14_COMMAND 114
|
||||
#define WINKEY_LOAD_SETTINGS_PARM_15_COMMAND 115
|
||||
|
||||
#define WINKEY_HOUSEKEEPING 0
|
||||
#define SERVICE_SERIAL_BYTE 1
|
||||
|
||||
#define WINKEY_UNBUFFERED_SPEED 0
|
||||
#define WINKEY_BUFFERED_SPEED 1
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
#define UNDEFINED_SENDING 0
|
||||
#define AUTOMATIC_SENDING 1
|
||||
#define MANUAL_SENDING 2
|
||||
#define AUTOMATIC_SENDING_INTERRUPTED 3
|
||||
|
||||
#define ULTIMATIC_NORMAL 0
|
||||
#define ULTIMATIC_DIT_PRIORITY 1
|
||||
#define ULTIMATIC_DAH_PRIORITY 2
|
||||
|
||||
|
||||
#define PRINTCHAR 0
|
||||
#define NOPRINT 1
|
||||
|
||||
#define DONT_RAISE_ERROR_MSG 0
|
||||
#define RAISE_ERROR_MSG 1
|
||||
|
||||
#if !defined(HID_PROTOCOL_KEYBOARD) && !defined(HID_PROTOCOL_MOUSE)
|
||||
#define HID_PROTOCOL_KEYBOARD 1
|
||||
#define HID_PROTOCOL_MOUSE 2
|
||||
#endif
|
||||
|
||||
#define WORDSWORTH_2_CHAR_WORDS 2
|
||||
#define WORDSWORTH_3_CHAR_WORDS 3
|
||||
#define WORDSWORTH_4_CHAR_WORDS 4
|
||||
#define WORDSWORTH_NAMES 5
|
||||
#define WORDSWORTH_QSO_WORDS 6
|
||||
#define WORDSWORTH_MIXED 99
|
||||
|
||||
#define WORDSWORTH_WORDSPACE 1
|
||||
#define WORDSWORTH_WPM 2
|
||||
#define WORDSWORTH_REPETITION 3
|
||||
|
||||
#define CALLSIGN_INTERNATIONAL 0
|
||||
#define CALLSIGN_US 1
|
||||
#define CALLSIGN_EUROPEAN 2
|
||||
#define CALLSIGN_CANADA 3
|
||||
|
||||
#define ECHO_PROGRESSIVE_5 40
|
||||
#define ECHO_2_CHAR_WORDS 41
|
||||
#define ECHO_3_CHAR_WORDS 42
|
||||
#define ECHO_4_CHAR_WORDS 43
|
||||
#define ECHO_NAMES 44
|
||||
#define ECHO_QSO_WORDS 45
|
||||
#define ECHO_MIXED 49
|
||||
|
||||
#define PRACTICE_NON_INTERACTIVE 0
|
||||
#define PRACTICE_INTERACTIVE 1
|
||||
|
||||
#define RANDOM_LETTER_GROUPS 61
|
||||
#define RANDOM_NUMBER_GROUPS 62
|
||||
#define RANDOM_MIXED_GROUPS 63
|
||||
|
||||
#define PRACTICE_2_CHAR_WORDS 51
|
||||
#define PRACTICE_3_CHAR_WORDS 52
|
||||
#define PRACTICE_4_CHAR_WORDS 53
|
||||
#define PRACTICE_NAMES 54
|
||||
#define PRACTICE_QSO_WORDS 55
|
||||
#define PRACTICE_MIXED 59
|
||||
|
||||
#define CLI_NORMAL_MODE 0
|
||||
#define CLI_MILL_MODE_PADDLE_SEND 1
|
||||
#define CLI_MILL_MODE_KEYBOARD_RECEIVE 2
|
||||
|
||||
#define COMMAND_SPEED_MODE_KEYER_WPM 0
|
||||
#define COMMAND_SPEED_MODE_COMMAND_MODE_WPM 1
|
||||
|
||||
#define SD_CARD_UNINITIALIZED 0
|
||||
#define SD_CARD_AVAILABLE 1
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_FOUND 2
|
||||
#define SD_CARD_AVAILABLE_BEACON_FILE_RUNNING 3
|
||||
#define SD_CARD_ERROR 254
|
||||
|
||||
#define SD_CARD_LOG_NOT_OPEN 0
|
||||
#define SD_CARD_LOG_OPEN 1
|
||||
#define SD_CARD_LOG_ERROR 254
|
||||
|
||||
#define COMMAND_PL 1
|
||||
#define COMMAND_PT 2
|
||||
#define COMMAND_PA 3
|
||||
#define COMMAND_PI 4
|
||||
|
||||
|
||||
#endif //keyer_h
|
|
@ -1,414 +0,0 @@
|
|||
|
||||
|
||||
const char canadian_prefix_1[] PROGMEM = "VE1";
|
||||
const char canadian_prefix_2[] PROGMEM = "VE2";
|
||||
const char canadian_prefix_3[] PROGMEM = "VE3";
|
||||
const char canadian_prefix_4[] PROGMEM = "VE4";
|
||||
const char canadian_prefix_5[] PROGMEM = "VE5";
|
||||
const char canadian_prefix_6[] PROGMEM = "VE6";
|
||||
const char canadian_prefix_7[] PROGMEM = "VE7";
|
||||
const char canadian_prefix_8[] PROGMEM = "VE8";
|
||||
const char canadian_prefix_9[] PROGMEM = "VE9";
|
||||
const char canadian_prefix_10[] PROGMEM = "VY0";
|
||||
const char canadian_prefix_11[] PROGMEM = "VY1";
|
||||
const char canadian_prefix_12[] PROGMEM = "VY2";
|
||||
const char canadian_prefix_13[] PROGMEM = "VO1";
|
||||
const char canadian_prefix_14[] PROGMEM = "VO2";
|
||||
const byte canadian_prefix_size = 14;
|
||||
const char* const canadian_prefix_table[] PROGMEM =
|
||||
{canadian_prefix_1,canadian_prefix_2,canadian_prefix_3,canadian_prefix_4,canadian_prefix_5,canadian_prefix_6,canadian_prefix_7,canadian_prefix_8,canadian_prefix_9,canadian_prefix_10,
|
||||
canadian_prefix_11,canadian_prefix_12,canadian_prefix_13,canadian_prefix_14};
|
||||
|
||||
// European callsign prefix table
|
||||
//
|
||||
// Note 2017-05-06: This is weird. If I put "LB" in the array, avrdude trips up with a timeout error when uploading to a Mega.
|
||||
// That's why LB isn't in this table
|
||||
|
||||
const char eu_prefix_1[] PROGMEM = "3A";
|
||||
const char eu_prefix_2[] PROGMEM = "4O";
|
||||
const char eu_prefix_3[] PROGMEM = "4U";
|
||||
const char eu_prefix_4[] PROGMEM = "9A";
|
||||
const char eu_prefix_5[] PROGMEM = "9H";
|
||||
const char eu_prefix_6[] PROGMEM = "C3";
|
||||
const char eu_prefix_7[] PROGMEM = "CT";
|
||||
const char eu_prefix_8[] PROGMEM = "CU";
|
||||
const char eu_prefix_9[] PROGMEM = "DA";
|
||||
const char eu_prefix_10[] PROGMEM = "DB";
|
||||
const char eu_prefix_11[] PROGMEM = "DC";
|
||||
const char eu_prefix_12[] PROGMEM = "DD";
|
||||
const char eu_prefix_13[] PROGMEM = "DE";
|
||||
const char eu_prefix_14[] PROGMEM = "DF";
|
||||
const char eu_prefix_15[] PROGMEM = "DG";
|
||||
const char eu_prefix_16[] PROGMEM = "DH";
|
||||
const char eu_prefix_17[] PROGMEM = "DI";
|
||||
const char eu_prefix_18[] PROGMEM = "DJ";
|
||||
const char eu_prefix_19[] PROGMEM = "DK";
|
||||
const char eu_prefix_20[] PROGMEM = "DL";
|
||||
const char eu_prefix_21[] PROGMEM = "EI";
|
||||
const char eu_prefix_22[] PROGMEM = "ER";
|
||||
const char eu_prefix_23[] PROGMEM = "ES";
|
||||
const char eu_prefix_24[] PROGMEM = "EU";
|
||||
const char eu_prefix_25[] PROGMEM = "EV";
|
||||
const char eu_prefix_26[] PROGMEM = "EW";
|
||||
const char eu_prefix_27[] PROGMEM = "F";
|
||||
const char eu_prefix_28[] PROGMEM = "G";
|
||||
const char eu_prefix_29[] PROGMEM = "GX";
|
||||
const char eu_prefix_30[] PROGMEM = "GD";
|
||||
const char eu_prefix_31[] PROGMEM = "GT";
|
||||
const char eu_prefix_32[] PROGMEM = "GI";
|
||||
const char eu_prefix_33[] PROGMEM = "GN";
|
||||
const char eu_prefix_34[] PROGMEM = "GJ";
|
||||
const char eu_prefix_35[] PROGMEM = "GH";
|
||||
const char eu_prefix_36[] PROGMEM = "GM";
|
||||
const char eu_prefix_37[] PROGMEM = "GS";
|
||||
const char eu_prefix_38[] PROGMEM = "GU";
|
||||
const char eu_prefix_39[] PROGMEM = "GP";
|
||||
const char eu_prefix_40[] PROGMEM = "GW";
|
||||
const char eu_prefix_41[] PROGMEM = "GC";
|
||||
const char eu_prefix_42[] PROGMEM = "HB";
|
||||
const char eu_prefix_43[] PROGMEM = "HV";
|
||||
const char eu_prefix_44[] PROGMEM = "I";
|
||||
const char eu_prefix_45[] PROGMEM = "IS";
|
||||
const char eu_prefix_46[] PROGMEM = "IM";
|
||||
const char eu_prefix_47[] PROGMEM = "JW";
|
||||
const char eu_prefix_48[] PROGMEM = "JX";
|
||||
const char eu_prefix_49[] PROGMEM = "LX";
|
||||
const char eu_prefix_50[] PROGMEM = "LY";
|
||||
const char eu_prefix_51[] PROGMEM = "LZ";
|
||||
const char eu_prefix_52[] PROGMEM = "OY";
|
||||
const char eu_prefix_53[] PROGMEM = "OZ";
|
||||
const char eu_prefix_54[] PROGMEM = "S5";
|
||||
const char eu_prefix_55[] PROGMEM = "YU";
|
||||
const char eu_prefix_56[] PROGMEM = "T7";
|
||||
const char eu_prefix_57[] PROGMEM = "T9";
|
||||
const char eu_prefix_58[] PROGMEM = "TF";
|
||||
const char eu_prefix_59[] PROGMEM = "TK";
|
||||
const char eu_prefix_60[] PROGMEM = "EM";
|
||||
const char eu_prefix_61[] PROGMEM = "EO";
|
||||
const char eu_prefix_62[] PROGMEM = "YL";
|
||||
const char eu_prefix_63[] PROGMEM = "YO";
|
||||
const char eu_prefix_64[] PROGMEM = "YT";
|
||||
const char eu_prefix_65[] PROGMEM = "YU";
|
||||
const char eu_prefix_66[] PROGMEM = "YP";
|
||||
const char eu_prefix_67[] PROGMEM = "YQ";
|
||||
const char eu_prefix_68[] PROGMEM = "YR";
|
||||
const char eu_prefix_69[] PROGMEM = "Z3";
|
||||
const char eu_prefix_70[] PROGMEM = "ZA";
|
||||
const char eu_prefix_71[] PROGMEM = "YZ";
|
||||
const char eu_prefix_72[] PROGMEM = "SA";
|
||||
const char eu_prefix_73[] PROGMEM = "SB";
|
||||
const char eu_prefix_74[] PROGMEM = "SC";
|
||||
const char eu_prefix_75[] PROGMEM = "SD";
|
||||
const char eu_prefix_76[] PROGMEM = "SE";
|
||||
const char eu_prefix_77[] PROGMEM = "SF";
|
||||
const char eu_prefix_78[] PROGMEM = "SG";
|
||||
const char eu_prefix_79[] PROGMEM = "SH";
|
||||
const char eu_prefix_80[] PROGMEM = "SI";
|
||||
const char eu_prefix_81[] PROGMEM = "SJ";
|
||||
const char eu_prefix_82[] PROGMEM = "SK";
|
||||
const char eu_prefix_83[] PROGMEM = "SL";
|
||||
const char eu_prefix_84[] PROGMEM = "SM";
|
||||
const char eu_prefix_85[] PROGMEM = "SN";
|
||||
const char eu_prefix_86[] PROGMEM = "SO";
|
||||
const char eu_prefix_87[] PROGMEM = "SP";
|
||||
const char eu_prefix_88[] PROGMEM = "SQ";
|
||||
const char eu_prefix_89[] PROGMEM = "SR";
|
||||
const char eu_prefix_90[] PROGMEM = "SS";
|
||||
const char eu_prefix_91[] PROGMEM = "ST";
|
||||
const char eu_prefix_92[] PROGMEM = "SU";
|
||||
const char eu_prefix_93[] PROGMEM = "SV";
|
||||
const char eu_prefix_94[] PROGMEM = "SW";
|
||||
const char eu_prefix_95[] PROGMEM = "SX";
|
||||
const char eu_prefix_96[] PROGMEM = "SY";
|
||||
const char eu_prefix_97[] PROGMEM = "SZ";
|
||||
const char eu_prefix_98[] PROGMEM = "OE";
|
||||
const char eu_prefix_99[] PROGMEM = "OF";
|
||||
const char eu_prefix_100[] PROGMEM = "OG";
|
||||
const char eu_prefix_101[] PROGMEM = "OH";
|
||||
const char eu_prefix_102[] PROGMEM = "OI";
|
||||
const char eu_prefix_103[] PROGMEM = "OJ";
|
||||
const char eu_prefix_104[] PROGMEM = "OK";
|
||||
const char eu_prefix_105[] PROGMEM = "OL";
|
||||
const char eu_prefix_106[] PROGMEM = "OM";
|
||||
const char eu_prefix_107[] PROGMEM = "ON";
|
||||
const char eu_prefix_108[] PROGMEM = "OO";
|
||||
const char eu_prefix_109[] PROGMEM = "OP";
|
||||
const char eu_prefix_110[] PROGMEM = "OQ";
|
||||
const char eu_prefix_111[] PROGMEM = "OR";
|
||||
const char eu_prefix_112[] PROGMEM = "OS";
|
||||
const char eu_prefix_113[] PROGMEM = "OT";
|
||||
const char eu_prefix_114[] PROGMEM = "PA";
|
||||
const char eu_prefix_115[] PROGMEM = "PB";
|
||||
const char eu_prefix_116[] PROGMEM = "PC";
|
||||
const char eu_prefix_117[] PROGMEM = "PD";
|
||||
const char eu_prefix_118[] PROGMEM = "PE";
|
||||
const char eu_prefix_119[] PROGMEM = "PF";
|
||||
const char eu_prefix_120[] PROGMEM = "PG";
|
||||
const char eu_prefix_121[] PROGMEM = "PH";
|
||||
const char eu_prefix_122[] PROGMEM = "PI";
|
||||
const char eu_prefix_123[] PROGMEM = "UA";
|
||||
const char eu_prefix_124[] PROGMEM = "UB";
|
||||
const char eu_prefix_125[] PROGMEM = "UC";
|
||||
const char eu_prefix_126[] PROGMEM = "UD";
|
||||
const char eu_prefix_127[] PROGMEM = "UE";
|
||||
const char eu_prefix_128[] PROGMEM = "UF";
|
||||
const char eu_prefix_129[] PROGMEM = "UG";
|
||||
const char eu_prefix_130[] PROGMEM = "UH";
|
||||
const char eu_prefix_131[] PROGMEM = "UI";
|
||||
const char eu_prefix_132[] PROGMEM = "RA";
|
||||
const char eu_prefix_133[] PROGMEM = "RB";
|
||||
const char eu_prefix_134[] PROGMEM = "RC";
|
||||
const char eu_prefix_135[] PROGMEM = "RD";
|
||||
const char eu_prefix_136[] PROGMEM = "RE";
|
||||
const char eu_prefix_137[] PROGMEM = "RF";
|
||||
const char eu_prefix_138[] PROGMEM = "RG";
|
||||
const char eu_prefix_139[] PROGMEM = "RH";
|
||||
const char eu_prefix_140[] PROGMEM = "RI";
|
||||
const char eu_prefix_141[] PROGMEM = "RJ";
|
||||
const char eu_prefix_142[] PROGMEM = "RK";
|
||||
const char eu_prefix_143[] PROGMEM = "RL";
|
||||
const char eu_prefix_144[] PROGMEM = "RM";
|
||||
const char eu_prefix_145[] PROGMEM = "RN";
|
||||
const char eu_prefix_146[] PROGMEM = "RO";
|
||||
const char eu_prefix_147[] PROGMEM = "RP";
|
||||
const char eu_prefix_148[] PROGMEM = "RQ";
|
||||
const char eu_prefix_149[] PROGMEM = "RR";
|
||||
const char eu_prefix_150[] PROGMEM = "RS";
|
||||
const char eu_prefix_151[] PROGMEM = "RT";
|
||||
const char eu_prefix_152[] PROGMEM = "RU";
|
||||
const char eu_prefix_153[] PROGMEM = "RV";
|
||||
const char eu_prefix_154[] PROGMEM = "RW";
|
||||
const char eu_prefix_155[] PROGMEM = "RX";
|
||||
const char eu_prefix_156[] PROGMEM = "RY";
|
||||
const char eu_prefix_157[] PROGMEM = "RZ";
|
||||
const char eu_prefix_158[] PROGMEM = "UR";
|
||||
const char eu_prefix_159[] PROGMEM = "US";
|
||||
const char eu_prefix_160[] PROGMEM = "UT";
|
||||
const char eu_prefix_161[] PROGMEM = "UU";
|
||||
const char eu_prefix_162[] PROGMEM = "UV";
|
||||
const char eu_prefix_163[] PROGMEM = "UW";
|
||||
const char eu_prefix_164[] PROGMEM = "UX";
|
||||
const char eu_prefix_165[] PROGMEM = "UY";
|
||||
const char eu_prefix_166[] PROGMEM = "UZ";
|
||||
const char eu_prefix_167[] PROGMEM = "EA";
|
||||
const char eu_prefix_168[] PROGMEM = "EB";
|
||||
const char eu_prefix_169[] PROGMEM = "EC";
|
||||
const char eu_prefix_170[] PROGMEM = "ED";
|
||||
const char eu_prefix_171[] PROGMEM = "EE";
|
||||
const char eu_prefix_172[] PROGMEM = "EF";
|
||||
const char eu_prefix_173[] PROGMEM = "EG";
|
||||
const char eu_prefix_174[] PROGMEM = "EH";
|
||||
const char eu_prefix_175[] PROGMEM = "EJ";
|
||||
const char eu_prefix_176[] PROGMEM = "HA";
|
||||
const char eu_prefix_177[] PROGMEM = "HG";
|
||||
const char eu_prefix_178[] PROGMEM = "LA";
|
||||
const char eu_prefix_179[] PROGMEM = "LC";
|
||||
const char eu_prefix_180[] PROGMEM = "LD";
|
||||
const char eu_prefix_181[] PROGMEM = "LE";
|
||||
const char eu_prefix_182[] PROGMEM = "LF";
|
||||
const char eu_prefix_183[] PROGMEM = "LG";
|
||||
const char eu_prefix_184[] PROGMEM = "LH";
|
||||
const char eu_prefix_185[] PROGMEM = "LI";
|
||||
const char eu_prefix_186[] PROGMEM = "LJ";
|
||||
const char eu_prefix_187[] PROGMEM = "LK";
|
||||
const char eu_prefix_188[] PROGMEM = "LL";
|
||||
const char eu_prefix_189[] PROGMEM = "LM";
|
||||
const char eu_prefix_190[] PROGMEM = "LN";
|
||||
/*const char eu_prefix_191[] PROGMEM = "LB"; see note above about "LB"*/
|
||||
const byte eu_prefix_size = 190;
|
||||
const char* const eu_prefix_table[] PROGMEM = {
|
||||
eu_prefix_1,
|
||||
eu_prefix_2,
|
||||
eu_prefix_3,
|
||||
eu_prefix_4,
|
||||
eu_prefix_5,
|
||||
eu_prefix_6,
|
||||
eu_prefix_7,
|
||||
eu_prefix_8,
|
||||
eu_prefix_9,
|
||||
eu_prefix_10,
|
||||
eu_prefix_11,
|
||||
eu_prefix_12,
|
||||
eu_prefix_13,
|
||||
eu_prefix_14,
|
||||
eu_prefix_15,
|
||||
eu_prefix_16,
|
||||
eu_prefix_17,
|
||||
eu_prefix_18,
|
||||
eu_prefix_19,
|
||||
eu_prefix_20,
|
||||
eu_prefix_21,
|
||||
eu_prefix_22,
|
||||
eu_prefix_23,
|
||||
eu_prefix_24,
|
||||
eu_prefix_25,
|
||||
eu_prefix_26,
|
||||
eu_prefix_27,
|
||||
eu_prefix_28,
|
||||
eu_prefix_29,
|
||||
eu_prefix_30,
|
||||
eu_prefix_31,
|
||||
eu_prefix_32,
|
||||
eu_prefix_33,
|
||||
eu_prefix_34,
|
||||
eu_prefix_35,
|
||||
eu_prefix_36,
|
||||
eu_prefix_37,
|
||||
eu_prefix_38,
|
||||
eu_prefix_39,
|
||||
eu_prefix_40,
|
||||
eu_prefix_41,
|
||||
eu_prefix_42,
|
||||
eu_prefix_43,
|
||||
eu_prefix_44,
|
||||
eu_prefix_45,
|
||||
eu_prefix_46,
|
||||
eu_prefix_47,
|
||||
eu_prefix_48,
|
||||
eu_prefix_49,
|
||||
eu_prefix_50,
|
||||
eu_prefix_51,
|
||||
eu_prefix_52,
|
||||
eu_prefix_53,
|
||||
eu_prefix_54,
|
||||
eu_prefix_55,
|
||||
eu_prefix_56,
|
||||
eu_prefix_57,
|
||||
eu_prefix_58,
|
||||
eu_prefix_59,
|
||||
eu_prefix_60,
|
||||
eu_prefix_61,
|
||||
eu_prefix_62,
|
||||
eu_prefix_63,
|
||||
eu_prefix_64,
|
||||
eu_prefix_65,
|
||||
eu_prefix_66,
|
||||
eu_prefix_67,
|
||||
eu_prefix_68,
|
||||
eu_prefix_69,
|
||||
eu_prefix_70,
|
||||
eu_prefix_71,
|
||||
eu_prefix_72,
|
||||
eu_prefix_73,
|
||||
eu_prefix_74,
|
||||
eu_prefix_75,
|
||||
eu_prefix_76,
|
||||
eu_prefix_77,
|
||||
eu_prefix_78,
|
||||
eu_prefix_79,
|
||||
eu_prefix_80,
|
||||
eu_prefix_81,
|
||||
eu_prefix_82,
|
||||
eu_prefix_83,
|
||||
eu_prefix_84,
|
||||
eu_prefix_85,
|
||||
eu_prefix_86,
|
||||
eu_prefix_87,
|
||||
eu_prefix_88,
|
||||
eu_prefix_89,
|
||||
eu_prefix_90,
|
||||
eu_prefix_91,
|
||||
eu_prefix_92,
|
||||
eu_prefix_93,
|
||||
eu_prefix_94,
|
||||
eu_prefix_95,
|
||||
eu_prefix_96,
|
||||
eu_prefix_97,
|
||||
eu_prefix_98,
|
||||
eu_prefix_99,
|
||||
eu_prefix_100,
|
||||
eu_prefix_101,
|
||||
eu_prefix_102,
|
||||
eu_prefix_103,
|
||||
eu_prefix_104,
|
||||
eu_prefix_105,
|
||||
eu_prefix_106,
|
||||
eu_prefix_107,
|
||||
eu_prefix_108,
|
||||
eu_prefix_109,
|
||||
eu_prefix_110,
|
||||
eu_prefix_111,
|
||||
eu_prefix_112,
|
||||
eu_prefix_113,
|
||||
eu_prefix_114,
|
||||
eu_prefix_115,
|
||||
eu_prefix_116,
|
||||
eu_prefix_117,
|
||||
eu_prefix_118,
|
||||
eu_prefix_119,
|
||||
eu_prefix_120,
|
||||
eu_prefix_121,
|
||||
eu_prefix_122,
|
||||
eu_prefix_123,
|
||||
eu_prefix_124,
|
||||
eu_prefix_125,
|
||||
eu_prefix_126,
|
||||
eu_prefix_127,
|
||||
eu_prefix_128,
|
||||
eu_prefix_129,
|
||||
eu_prefix_130,
|
||||
eu_prefix_131,
|
||||
eu_prefix_132,
|
||||
eu_prefix_133,
|
||||
eu_prefix_134,
|
||||
eu_prefix_135,
|
||||
eu_prefix_136,
|
||||
eu_prefix_137,
|
||||
eu_prefix_138,
|
||||
eu_prefix_139,
|
||||
eu_prefix_140,
|
||||
eu_prefix_141,
|
||||
eu_prefix_142,
|
||||
eu_prefix_143,
|
||||
eu_prefix_144,
|
||||
eu_prefix_145,
|
||||
eu_prefix_146,
|
||||
eu_prefix_147,
|
||||
eu_prefix_148,
|
||||
eu_prefix_149,
|
||||
eu_prefix_150,
|
||||
eu_prefix_151,
|
||||
eu_prefix_152,
|
||||
eu_prefix_153,
|
||||
eu_prefix_154,
|
||||
eu_prefix_155,
|
||||
eu_prefix_156,
|
||||
eu_prefix_157,
|
||||
eu_prefix_158,
|
||||
eu_prefix_159,
|
||||
eu_prefix_160,
|
||||
eu_prefix_161,
|
||||
eu_prefix_162,
|
||||
eu_prefix_163,
|
||||
eu_prefix_164,
|
||||
eu_prefix_165,
|
||||
eu_prefix_166,
|
||||
eu_prefix_167,
|
||||
eu_prefix_168,
|
||||
eu_prefix_169,
|
||||
eu_prefix_170,
|
||||
eu_prefix_171,
|
||||
eu_prefix_172,
|
||||
eu_prefix_173,
|
||||
eu_prefix_174,
|
||||
eu_prefix_175,
|
||||
eu_prefix_176,
|
||||
eu_prefix_177,
|
||||
eu_prefix_178,
|
||||
eu_prefix_179,
|
||||
eu_prefix_180,
|
||||
eu_prefix_181,
|
||||
eu_prefix_182,
|
||||
eu_prefix_183,
|
||||
eu_prefix_184,
|
||||
eu_prefix_185,
|
||||
eu_prefix_186,
|
||||
eu_prefix_187,
|
||||
eu_prefix_188,
|
||||
eu_prefix_189,
|
||||
eu_prefix_190/*,
|
||||
eu_prefix_191*/
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
// don't touch these unless you know what the hell you are doing or you're asked to uncomment these for debug dumps
|
||||
// #define DEBUG_STARTUP
|
||||
// #define DEBUG_STARTUP_BLINKS
|
||||
// #define DEBUG_LOOP
|
||||
// #define DEBUG_EEPROM
|
||||
// #define DEBUG_MEMORIES
|
||||
// #define DEBUG_PLAY_MEMORY
|
||||
// #define DEBUG_SEND_CHAR
|
||||
// #define DEBUG_MEMORY_WRITE
|
||||
// #define DEBUG_MEMORYCHECK
|
||||
// #define DEBUG_MEMORY_LOCATIONS
|
||||
// #define DEBUG_CAPTURE_COM_PORT
|
||||
// #define DEBUG_HELL_TEST
|
||||
// #define DEBUG_WINKEY_PROTOCOL_USING_CW
|
||||
// #define DEBUG_CHECK_SERIAL
|
||||
// #define DEBUG_PS2_KEYBOARD
|
||||
// #define DEBUG_VARIABLE_DUMP
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_COMMAND_MODE
|
||||
// #define DEBUG_GET_CW_INPUT_FROM_USER
|
||||
// #define DEBUG_POTENTIOMETER
|
||||
// #define DEBUG_CW_DECODER
|
||||
// #define DEBUG_CW_DECODER_WPM
|
||||
// #define DEBUG_SERIAL_SEND_CW_CALLOUT
|
||||
// #define DEBUG_SLEEP
|
||||
// #define DEBUG_BUTTON_ARRAY
|
||||
// #define DEBUG_USB
|
||||
// #define DEBUG_USB_KEYBOARD
|
||||
// #define DEBUG_CAPACITIVE_PADDLE
|
||||
// #define DEBUG_DISPLAY_SCROLL_PRINT_CHAR
|
||||
// #define DEBUG_WINKEY // <- to use this you must have a multi-serial port Arduino and use FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
// #define DEBUG_WINKEY_SEND_ERRANT_BYTE
|
||||
// #define DEBUG_WINKEY_PORT_WRITE
|
||||
// #define DEBUG_CW_COMPUTER_KEYBOARD
|
||||
// #define DEBUG_CW_DECODER_WITH_TONE
|
||||
// #define DEBUG_OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define DEBUG_FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
// #define DEBUG_FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define DEBUG_UDP
|
||||
// #define DEBUG_UDP_WRITE
|
||||
// #define DEBUG_WEB_SERVER
|
||||
// #define DEBUG_WEB_PARSE_GET
|
||||
// #define DEBUG_WEB_SERVER_READS
|
||||
// #define DEBUG_INTERNET_LINKING_RECEIVE
|
||||
// #define DEBUG_INTERNET_LINKING_SEND
|
||||
// #define DEBUG_UDP_PACKET_RECEIVE
|
||||
// #define DEBUG_FORCE_RESET
|
||||
// #define DEBUG_WINKEY_DISABLE_LEAD_IN_TIME_SETTING
|
||||
// #define DEBUG_KEYPAD_SERIAL
|
||||
// #define DEBUG_CALLSIGN_PRACTICE_SHOW_CALLSIGN
|
||||
// #define DEBUG_WORDSWORTH
|
||||
// #define DEBUG_PRACTICE_SERIAL
|
||||
// #define DEBUG_PRACTICE_CMD_MODE
|
||||
// #define DEBUG_SD_CARD
|
||||
// #define DEBUG_FARNSWORTH
|
||||
// #define DEBUG_FARNSWORTH_TIMING
|
||||
// #define DEBUG_ASYNC_EEPROM_WRITE
|
||||
|
||||
// #define OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST
|
|
@ -1,49 +0,0 @@
|
|||
#if defined(FEATURE_LCD_4BIT) || defined(FEATURE_LCD_8BIT) || defined(FEATURE_LCD_ADAFRUIT_I2C) || defined(FEATURE_LCD_ADAFRUIT_BACKPACK) || defined(FEATURE_LCD_YDv1) ||defined(FEATURE_LCD1602_N07DH) || defined(FEATURE_LCD_SAINSMART_I2C) || defined(FEATURE_LCD_FABO_PCF8574) || defined(FEATURE_LCD_MATHERTEL_PCF8574) || defined(FEATURE_LCD_HD44780)
|
||||
#define FEATURE_DISPLAY
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT) && !defined(FEATURE_COMMAND_LINE_INTERFACE)
|
||||
#define FEATURE_COMMAND_LINE_INTERFACE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_WINKEY_EMULATION)
|
||||
#define FEATURE_SERIAL
|
||||
#endif
|
||||
|
||||
//#if defined(HARDWARE_ARDUINO_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#if defined(ARDUINO_SAM_DUE) && !defined(FEATURE_EEPROM_E24C1024) && defined(FEATURE_MEMORIES)
|
||||
#error "In order to use FEATURE_MEMORIES with HARDWARE_ARDUINO_DUE you need FEATURE_EEPROM_E24C1024"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_DISPLAY) || defined(FEATURE_COMMAND_LINE_INTERFACE) || defined(FEATURE_CW_COMPUTER_KEYBOARD)
|
||||
#define FEATURE_PADDLE_ECHO
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_STRAIGHT_KEY) && (defined(FEATURE_STRAIGHT_KEY_ECHO) || defined(FEATURE_MEMORIES) || defined(FEATURE_CW_COMPUTER_KEYBOARD))
|
||||
#define FEATURE_STRAIGHT_KEY_DECODE
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_WEB_SERVER) || defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_ETHERNET
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_INTERNET_LINK)
|
||||
#define FEATURE_UDP
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD) && defined(FEATURE_3x4_KEYPAD)
|
||||
#error "You can't use both FEATURE_4x4_KEYPAD and FEATURE_3x4_KEYPAD simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_TRAINING_COMMAND_LINE_INTERFACE) && defined(OPTION_WORDSWORTH_NORSK) && !defined(OPTION_NON_ENGLISH_EXTENSIONS)
|
||||
#define OPTION_NON_ENGLISH_EXTENSIONS
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) && defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#error "You can't use both FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1 and FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3 simultaneously"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_1) || defined(FEATURE_SINEWAVE_SIDETONE_USING_TIMER_3)
|
||||
#define FEATURE_SINEWAVE_SIDETONE
|
||||
#endif
|
|
@ -1,101 +0,0 @@
|
|||
// compile time features and options - comment or uncomment to add or delete features
|
||||
// FEATURES add more bytes to the compiled binary, OPTIONS change code behavior
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_BUTTONS
|
||||
// #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
|
||||
// #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_SERIAL_HELP
|
||||
// #define FEATURE_HELL
|
||||
// #define FEATURE_PS2_KEYBOARD // Use a PS2 keyboard to send code - Change keyboard layout (non-US) in K3NG_PS2Keyboard.h. Additional options below.
|
||||
// #define FEATURE_USB_KEYBOARD // Use a USB keyboard to send code - Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CW_COMPUTER_KEYBOARD // Have an Arduino Due or Leonardo act as a USB HID (Human Interface Device) keyboard and use the paddle to "type" characters on the computer -- uncomment this line in ino file: #include <Keyboard.h>
|
||||
// #define FEATURE_DEAD_OP_WATCHDOG
|
||||
// #define FEATURE_AUTOSPACE
|
||||
// #define FEATURE_FARNSWORTH
|
||||
// #define FEATURE_DL2SBA_BANKSWITCH // Switch memory banks feature as described here: http://dl2sba.com/index.php?option=com_content&view=article&id=131:nanokeyer&catid=15:shack&Itemid=27#english
|
||||
// #define FEATURE_LCD_4BIT // classic LCD disidefplay using 4 I/O lines
|
||||
// #define FEATURE_LCD_ADAFRUIT_I2C // Adafruit I2C LCD display using MCP23017 at addr 0x20
|
||||
// #define FEATURE_LCD_ADAFRUIT_BACKPACK // Adafruit I2C LCD Backup using MCP23008 (courtesy Josiah Ritchie, KE0BLL)
|
||||
// #define FEATURE_LCD_YDv1 // YourDuino I2C LCD display with old LCM 1602 V1 ic
|
||||
// #define FEATURE_LCD1602_N07DH // http://linksprite.com/wiki/index.php5?title=16_X_2_LCD_Keypad_Shield_for_Arduino
|
||||
// #define FEATURE_LCD_SAINSMART_I2C
|
||||
// #define FEATURE_CW_DECODER
|
||||
// #define FEATURE_SLEEP // go to sleep after x minutes to conserve battery power (not compatible with Arduino DUE, may have mixed results with Mega and Mega ADK)
|
||||
// #define FEATURE_ROTARY_ENCODER // rotary encoder speed control
|
||||
// #define FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING
|
||||
// #define FEATURE_USB_MOUSE // Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
|
||||
// #define FEATURE_CAPACITIVE_PADDLE_PINS // remove the bypass capacitors on the paddle_left and paddle_right lines when using capactive paddles
|
||||
// #define FEATURE_LED_RING // Mayhew Labs Led Ring support
|
||||
// #define FEATURE_ALPHABET_SEND_PRACTICE // enables command mode S command - created by Ryan, KC2ZWM
|
||||
// #define FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICE // enables command mode U
|
||||
// #define FEATURE_PTT_INTERLOCK
|
||||
// #define FEATURE_QLF
|
||||
// #define FEATURE_EEPROM_E24C1024
|
||||
// #define FEATURE_STRAIGHT_KEY
|
||||
// #define FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
// #define FEATURE_PADDLE_ECHO
|
||||
// #define FEATURE_STRAIGHT_KEY_ECHO
|
||||
// #define FEATURE_AMERICAN_MORSE
|
||||
// #define FEATURE_4x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
// #define FEATURE_3x4_KEYPAD // code contributed by Jack, W0XR - documentation: https://github.com/k3ng/k3ng_cw_keyer/wiki/380-Feature:-Keypad
|
||||
|
||||
|
||||
// #define FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT // Activate the Command Line interface on the secondary serial port
|
||||
#define OPTION_PRIMARY_SERIAL_PORT_DEFAULT_WINKEY_EMULATION // Use when activating both FEATURE_WINKEY_EMULATION and FEATURE_COMMAND_LINE_INTERFACE
|
||||
// simultaneously. This will make Winkey emulation be the default at boot up;
|
||||
// hold command button down at boot up to activate CLI mode
|
||||
|
||||
// #define OPTION_SUPPRESS_SERIAL_BOOT_MSG
|
||||
#define OPTION_INCLUDE_PTT_TAIL_FOR_MANUAL_SENDING
|
||||
#define OPTION_EXCLUDE_PTT_HANG_TIME_FOR_MANUAL_SENDING
|
||||
//#define OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP // if ASR is not disabled, you may need this to discard errant serial port bytes at startup
|
||||
// #define OPTION_WINKEY_STRICT_EEPROM_WRITES_MAY_WEAR_OUT_EEPROM // with this activated the unit will write non-volatile settings to EEPROM when set by Winkey commands
|
||||
// #define OPTION_WINKEY_SEND_WORDSPACE_AT_END_OF_BUFFER
|
||||
// #define OPTION_WINKEY_STRICT_HOST_OPEN // require an admin host open Winkey command before doing any other commands
|
||||
#define OPTION_WINKEY_2_SUPPORT // comment out to revert to Winkey version 1 emulation
|
||||
#define OPTION_WINKEY_INTERRUPTS_MEMORY_REPEAT
|
||||
//#define OPTION_WINKEY_UCXLOG_9600_BAUD // use this only with UCXLog configured for Winkey 9600 baud mode
|
||||
#define OPTION_WINKEY_2_HOST_CLOSE_NO_SERIAL_PORT_RESET // activate this when using Winkey 2 emulation and Win-Test
|
||||
// #define OPTION_WINKEY_FREQUENT_STATUS_REPORT // activate this to make Winkey emulation play better with RUMlog and RUMped
|
||||
#define OPTION_WINKEY_IGNORE_LOWERCASE // Enable for typical K1EL Winkeyer behavior (use for SkookumLogger version 1.10.14 and prior to workaround "r" bug)
|
||||
#define OPTION_WINKEY_BLINK_PTT_ON_HOST_OPEN
|
||||
// #define OPTION_REVERSE_BUTTON_ORDER // This is mainly for the DJ0MY NanoKeyer http://nanokeyer.wordpress.com/
|
||||
#define OPTION_PROG_MEM_TRIM_TRAILING_SPACES // trim trailing spaces from memory when programming in command mode
|
||||
#define OPTION_DIT_PADDLE_NO_SEND_ON_MEM_RPT // this makes dit paddle memory interruption a little smoother
|
||||
// #define OPTION_MORE_DISPLAY_MSGS // additional optional display messages - comment out to save memory
|
||||
// #define OPTION_N1MM_WINKEY_TAB_BUG_WORKAROUND // enable this to ignore the TAB key in the Send CW window (this breaks SO2R functionality in N1MM)
|
||||
// #define OPTION_WATCHDOG_TIMER // this enables a four second ATmega48/88/168/328 watchdog timer; use for unattended/remote operation only
|
||||
// #define OPTION_MOUSE_MOVEMENT_PADDLE // experimental (just fooling around) - mouse movement will act like a paddle
|
||||
// #define OPTION_NON_ENGLISH_EXTENSIONS // add support for additional CW characters (i.e. À, Å, Þ, etc.)
|
||||
// #define OPTION_DISPLAY_NON_ENGLISH_EXTENSIONS // LCD display suport for non-English (NO/DK/DE) characters - Courtesy of OZ1JHM
|
||||
// #define OPTION_UNKNOWN_CHARACTER_ERROR_TONE
|
||||
#define OPTION_DO_NOT_SAY_HI
|
||||
#define OPTION_BLINK_HI_ON_PTT
|
||||
// #define OPTION_PS2_NON_ENGLISH_CHAR_LCD_DISPLAY_SUPPORT // makes some non-English characters from the PS2 keyboard display correctly in the LCD display (donated by Marcin sp5iou)
|
||||
// #define OPTION_PS2_KEYBOARD_RESET // reset the PS2 keyboard upon startup with 0xFF (contributed by Bill, W9BEL)
|
||||
// #define OPTION_SAVE_MEMORY_NANOKEYER
|
||||
// #define OPTION_CW_KEYBOARD_CAPSLOCK_BEEP
|
||||
// #define OPTION_CW_KEYBOARD_ITALIAN
|
||||
// #define OPTION_CW_KEYBOARD_GERMAN
|
||||
// #define OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
// #define OPTION_INVERT_PADDLE_PIN_LOGIC
|
||||
// #define OPTION_ADVANCED_SPEED_DISPLAY //enables "nerd" speed visualization on display: wpm, cpm (char per min), duration of dit and dah in milliseconds and ratio (contributed by Giorgio, IZ2XBZ)
|
||||
// #define OPTION_PROSIGN_SUPPORT // additional prosign support for paddle and straight key echo on display, CLI, and in memory storage
|
||||
// #define OPTION_RUSSIAN_LANGUAGE_SEND_CLI // Russian language CLI sending support (contributed by Павел Бирюков, UA1AQC)
|
||||
#define OPTION_DO_NOT_SEND_UNKNOWN_CHAR_QUESTION
|
||||
// #define OPTION_CMOS_SUPER_KEYER_IAMBIC_B_TIMING_ON_BY_DEFAULT
|
||||
#define OPTION_SIDETONE_DIGITAL_OUTPUT_NO_SQUARE_WAVE
|
||||
|
||||
// #define OPTION_WORDSWORTH_CZECH
|
||||
// #define OPTION_WORDSWORTH_DEUTSCH
|
||||
// #define OPTION_WORDSWORTH_NORSK
|
||||
|
||||
#define OPTION_EXCLUDE_EXTENDED_CLI_COMMANDS
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
/* keyer_hardware.h
|
||||
|
||||
|
||||
Edit this file to enable specific hardware profiles.
|
||||
|
||||
When enabling a hardware option below, the default keyer_pin_settings.h, keyer_features_and_options.h, and keyer_settings.h files are not compiled.
|
||||
|
||||
See the comments on each line to determine what files are compiled and should be customized.
|
||||
|
||||
*/
|
||||
|
||||
// #define HARDWARE_NANOKEYER_REV_B // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_b.h, keyer_features_and_options_nanokeyer_rev_b.h, keyer_settings_nanokeyer_rev_b.h
|
||||
// #define HARDWARE_NANOKEYER_REV_D // https://nanokeyer.wordpress.com/nanokeyer-info/ edit these files: keyer_pin_settings_nanokeyer_rev_d.h, keyer_features_and_options_nanokeyer_rev_d.h, keyer_settings_nanokeyer_rev_d.h
|
||||
// #define HARDWARE_OPEN_INTERFACE // http://remoteqth.com/open-interface.php edit these files: keyer_pin_settings_open_interface.h, keyer_features_and_options_open_interface.h, keyer_settings_open_interface.h
|
||||
// #define HARDWARE_TINYKEYER // http://www.ok1rr.com/index.php/technical-topics/122-the-tinykeyer edit these files: keyer_pin_settings_tinykeyer.h, keyer_features_and_options_tinykeyer.h, keyer_settings_tinykeyer.h
|
||||
// #define HARDWARE_FK_10 // Funtronics K3NG Keyer FK-10 - See notes below!!! http://www.elekitsorparts.com/product/funtronics-k3ng-keyer-fk-10-99-winkey-emulation/ files: keyer_pin_settings_fk_10.h, keyer_features_and_options_fk_10.h, keyer_settings_fk_10.h
|
||||
// #define HARDWARE_MAPLE_MINI // edit these files: keyer_pin_settings_maple_mini.h, keyer_settings_maple_mini.h, keyer_features_and_options_maple_mini.h
|
||||
// #define HARDWARE_GENERIC_STM32F103C // edit these files: keyer_pin_settings_generic_STM32F103C.h, keyer_settings_generic_STM32F103C.h, keyer_features_and_options_generic_STM32F103C.h //sp5iou 20180329
|
||||
#define HARDWARE_MORTTY // edit these files: keyer_pin_settings_mortty.h, keyer_settings_mortty.h, keyer_features_and_options_mortty.h
|
||||
// #define HARDWARE_YAACWK // http://i1cra.briata.org/yaacwk/ files: keyer_pin_settings_yaacwk.h, keyer_features_and_options_yaacwk.h, keyer_settings_yaacwk.h
|
||||
// #define HARDWARE_K5BCQ // edit these files: keyer_pin_settings_k5bcq.h, keyer_features_and_options_k5bcq.h, keyer_settings_k5bcq.h - Kees Talen K5BCQ - Documentation: https://groups.io/g/radioartisan/files/K5BCQ
|
||||
// #define HARDWARE_MEGAKEYER // https://github.com/w6ipa/megakeyer files: keyer_pin_settings_megakeyer.h, keyer_features_and_options_megakeyer.h, keyer_settings_megakeyer.h - https://projects.w6ipa.com/megakeyer/Mega%20Keyer%20Build%20Instructions.html
|
||||
// #define HARDWARE_TEST_EVERYTHING // Goody K3NG uses this to test
|
||||
// #define HARDWARE_TEST // Goody K3NG uses this to test
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
HARDWARE_GENERIC_STM32F103C (Contributed by sp5iou)
|
||||
|
||||
How to deal with those boards with Arduino: https://www.techshopbd.com/uploads/product_document/STM32bluepillarduinoguide(1).pdf
|
||||
|
||||
|
||||
Funtronics FK-10 Programming Notes (Contributed by Disneysw 2016-12-10)
|
||||
|
||||
Programming the unit is accomplished by selecting "Mega2560" as the target processor and uploading to the rear USB port with the front
|
||||
switch set to the Arduino position
|
||||
|
||||
Note: in order to get the FK-10 USB Host port working correctly you will need to patch the file "UsbCore.h" in the USB_Host_Shield library.
|
||||
At the time of writing it is line 41 that needs modified to change "P10" to "P53" i.e. from
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
to:
|
||||
|
||||
#else
|
||||
typedef MAX3421e<P53, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo, Due etc.) or Teensy 2.0 and 3.0
|
||||
#endif
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// Do not touch anything below this line!
|
||||
// Serial port class definitions for various devices
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)||defined(ARDUINO_GENERIC_STM32F103C) //sp5iou 20180329
|
||||
#define PRIMARY_SERIAL_CLS USBSerial
|
||||
#define SECONDARY_SERIAL_CLS USBSerial
|
||||
#elif defined(ARDUINO_AVR_PROMICRO) || defined(ARDUINO_AVR_LEONARDO) || defined(ARDUINO_AVR_MICRO) || defined(ARDUINO_AVR_YUN) || defined(ARDUINO_AVR_ESPLORA) || defined(ARDUINO_AVR_LILYPAD_USB) || defined(ARDUINO_AVR_ROBOT_CONTROL) || defined(ARDUINO_AVR_ROBOT_MOTOR) || defined(ARDUINO_AVR_LEONARDO_ETH)
|
||||
#define PRIMARY_SERIAL_CLS Serial_
|
||||
#define SECONDARY_SERIAL_CLS Serial_
|
||||
#elif defined(TEENSYDUINO)
|
||||
#define PRIMARY_SERIAL_CLS usb_serial_class
|
||||
#define SECONDARY_SERIAL_CLS usb_serial_class
|
||||
#else
|
||||
#define PRIMARY_SERIAL_CLS HardwareSerial
|
||||
#define SECONDARY_SERIAL_CLS HardwareSerial
|
||||
#endif
|
||||
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
/* Pins - you must review these and configure ! */
|
||||
#ifndef keyer_pin_settings_h
|
||||
#define keyer_pin_settings_h
|
||||
|
||||
#define paddle_left 2
|
||||
#define paddle_right 5
|
||||
#define tx_key_line_1 11 // (high = key down/tx on)
|
||||
#define tx_key_line_2 13
|
||||
#define tx_key_line_3 0
|
||||
#define tx_key_line_4 0
|
||||
#define tx_key_line_5 0
|
||||
#define tx_key_line_6 0
|
||||
#define sidetone_line 4 // connect a speaker for sidetone
|
||||
#define potentiometer A0 // Speed potentiometer (0 to 5 V) Use pot from 1k to 10k
|
||||
#define ptt_tx_1 0 // PTT ("push to talk") lines
|
||||
#define ptt_tx_2 0 // Can be used for keying fox transmitter, T/R switch, or keying slow boatanchors
|
||||
#define ptt_tx_3 0 // These are optional - set to 0 if unused
|
||||
#define ptt_tx_4 0
|
||||
#define ptt_tx_5 0
|
||||
#define ptt_tx_6 0
|
||||
#define tx_key_dit 0 // if defined, goes active for dit (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define tx_key_dah 0 // if defined, goes active for dah (any transmitter) - customized with tx_key_dit_and_dah_pins_active_state and tx_key_dit_and_dah_pins_inactive_state
|
||||
#define potentiometer_enable_pin 0 // if defined, the potentiometer will be enabled only when this pin is held low; set to 0 to ignore this pin
|
||||
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_pin A1
|
||||
#define command_mode_active_led 0
|
||||
#endif //FEATURE_COMMAND_BUTTONS
|
||||
|
||||
/*
|
||||
FEATURE_SIDETONE_SWITCH
|
||||
Enabling this feature and an external toggle switch adds switch control for playing cw sidetone.
|
||||
ST Switch status is displayed in the status command. This feature will override the software control of the sidetone (\o).
|
||||
Arduino pin is assigned by SIDETONE_SWITCH
|
||||
*/
|
||||
|
||||
#ifdef FEATURE_SIDETONE_SWITCH
|
||||
#define SIDETONE_SWITCH 8
|
||||
#endif //FEATURE_SIDETONE_SWITCH
|
||||
|
||||
|
||||
//lcd pins
|
||||
#ifdef FEATURE_LCD_4BIT
|
||||
#define lcd_rs A2
|
||||
#define lcd_enable 10
|
||||
#define lcd_d4 6
|
||||
#define lcd_d5 7
|
||||
#define lcd_d6 8
|
||||
#define lcd_d7 9
|
||||
#endif //FEATURE_LCD_4BIT
|
||||
|
||||
#ifdef FEATURE_LCD1602_N07DH
|
||||
#define lcd_rs 8
|
||||
#define lcd_enable 9
|
||||
#define lcd_d4 4
|
||||
#define lcd_d5 5
|
||||
#define lcd_d6 6
|
||||
#define lcd_d7 7
|
||||
#endif //FEATURE_LCD1602_N07DH
|
||||
|
||||
//ps2 keyboard pins
|
||||
#ifdef FEATURE_PS2_KEYBOARD
|
||||
#define ps2_keyboard_data A3
|
||||
#define ps2_keyboard_clock 3 // this must be on an interrupt capable pin!
|
||||
#endif //FEATURE_PS2_KEYBOARD
|
||||
|
||||
// rotary encoder pins and options - rotary encoder code from Jim Balls M0CKE
|
||||
#ifdef FEATURE_ROTARY_ENCODER
|
||||
#define OPTION_ENCODER_HALF_STEP_MODE // Half-step mode?
|
||||
#define rotary_pin1 0 // CW Encoder Pin
|
||||
#define rotary_pin2 0 // CCW Encoder Pin
|
||||
#define OPTION_ENCODER_ENABLE_PULLUPS // define to enable weak pullups.
|
||||
#endif //FEATURE_ROTARY_ENCODER
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_sdi A10 //2 //Data
|
||||
#define led_ring_clk A9 //3 //Clock
|
||||
#define led_ring_le A8 //4 //Latch
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_ALPHABET_SEND_PRACTICE
|
||||
#define correct_answer_led 0
|
||||
#define wrong_answer_led 0
|
||||
#endif //FEATURE_ALPHABET_SEND_PRACTICE
|
||||
|
||||
#ifdef FEATURE_PTT_INTERLOCK
|
||||
#define ptt_interlock 0 // this pin disables PTT and TX KEY
|
||||
#endif //FEATURE_PTT_INTERLOCK
|
||||
|
||||
#ifdef FEATURE_STRAIGHT_KEY
|
||||
#define pin_straight_key 52
|
||||
#endif //FEATURE_STRAIGHT_KEY
|
||||
|
||||
#ifdef FEATURE_CW_DECODER
|
||||
#define cw_decoder_pin A3//A11 //A5 //A3
|
||||
#ifdef OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_audio_input_pin 0 // this must be an analog pin!
|
||||
#endif //OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
|
||||
#define cw_decoder_indicator 24
|
||||
#endif //FEATURE_CW_DECODER
|
||||
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define compression_detection_pin 13
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define keyer_awake 0
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_CAPACITIVE_PADDLE_PINS)
|
||||
#define capactive_paddle_pin_inhibit_pin 0 // if this pin is defined and is set high, the capacitive paddle pins will switch to normal (non-capacitive) sensing mode
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_4x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col3 37
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_3x4_KEYPAD
|
||||
#define Row3 33
|
||||
#define Row2 32
|
||||
#define Row1 31
|
||||
#define Row0 30
|
||||
#define Col2 36
|
||||
#define Col1 35
|
||||
#define Col0 34
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_SEQUENCER
|
||||
#define sequencer_1_pin 40
|
||||
#define sequencer_2_pin 41
|
||||
#define sequencer_3_pin 42
|
||||
#define sequencer_4_pin 43
|
||||
#define sequencer_5_pin 44
|
||||
#endif //FEATURE_SEQUENCER
|
||||
|
||||
#define ptt_input_pin 0
|
||||
|
||||
#define tx_inhibit_pin 0
|
||||
#define tx_pause_pin 0
|
||||
|
||||
#else
|
||||
|
||||
#error "Multiple pin_settings.h files included somehow..."
|
||||
|
||||
#endif //keyer_pin_settings_h
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
// Initial and hardcoded settings
|
||||
#define initial_speed_wpm 26 // "factory default" keyer speed setting
|
||||
#define initial_command_mode_speed_wpm 20 // "factory default" command mode speed setting
|
||||
#define initial_sidetone_freq 600 // "factory default" sidetone frequency setting
|
||||
#define sidetone_hz_limit_low 299
|
||||
#define sidetone_hz_limit_high 2001
|
||||
#define hz_high_beep 1500 // frequency in hertz of high beep
|
||||
#define hz_low_beep 400 // frequency in hertz of low beep
|
||||
#define initial_dah_to_dit_ratio 300 // 300 = 3 / normal 3:1 ratio
|
||||
#define initial_ptt_lead_time_tx1 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx1 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx2 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx2 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx3 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx3 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx4 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx4 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx5 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx5 10 // PTT tail time in mS
|
||||
#define initial_ptt_lead_time_tx6 0 // PTT lead time in mS
|
||||
#define initial_ptt_tail_time_tx6 10 // PTT tail time in mS
|
||||
#define initial_qrss_dit_length 1 // QRSS dit length in seconds
|
||||
#define initial_pot_wpm_low_value 13 // Potentiometer WPM fully CCW
|
||||
#define initial_pot_wpm_high_value 35 // Potentiometer WPM fully CW
|
||||
#define wpm_limit_low 5
|
||||
#define wpm_limit_high 60
|
||||
#define potentiometer_change_threshold 0.9 // don't change the keyer speed until pot wpm has changed more than this
|
||||
#define send_buffer_size 150
|
||||
#define default_length_letterspace 3
|
||||
#define default_length_wordspace 7
|
||||
#define default_keying_compensation 0 // number of milliseconds to extend all dits and dahs - for QSK on boatanchors
|
||||
#define default_first_extension_time 0 // number of milliseconds to extend first sent dit or dah
|
||||
#define default_pot_full_scale_reading 1023
|
||||
#define default_weighting 50 // 50 = weighting factor of 1 (normal)
|
||||
#define default_ptt_hang_time_wordspace_units 0.0
|
||||
#define memory_area_start 60 // the eeprom location where memory space starts
|
||||
#define memory_area_end 1023 // the eeprom location where memory space ends
|
||||
#define winkey_c0_wait_time 1 // the number of milliseconds to wait to send 0xc0 byte after send buffer has been sent
|
||||
#define winkey_command_timeout_ms 5000
|
||||
#define winkey_discard_bytes_startup 3 // this is used if OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP is enabled above
|
||||
#define winkey_xoff_threshold 20 // the number of chars in the buffer when we begin sending XOFFs
|
||||
#define winkey_xon_threshold 10 // the number of chars in the buffer below which we deactivate XOFF
|
||||
#define default_memory_repeat_time 3000 // time in milliseconds
|
||||
#define LCD_COLUMNS 16
|
||||
#define LCD_ROWS 2
|
||||
#define hell_pixel_microseconds 4025
|
||||
#define program_memory_limit_consec_spaces 1
|
||||
#define serial_leading_zeros 1 // set to 1 to activate leading zeros in serial numbers (i.e. #1 = 001)
|
||||
#define serial_cut_numbers 0 // set to 1 to activate cut numbers in serial numbers (i.e. #10 = 1T, #19 = 1N)
|
||||
#define go_to_sleep_inactivity_time 10 // minutes - FEATURE_SLEEP
|
||||
#define default_cmos_super_keyer_iambic_b_timing_percent 33 // use with FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING; should be between 0 to 99 % (0% = true iambic b;100% = iambic a behavior)
|
||||
#define cw_echo_timing_factor 0.25
|
||||
#define winkey_paddle_echo_buffer_decode_timing_factor 0.25
|
||||
#define potentiometer_always_on 0
|
||||
#define ptt_interlock_check_every_ms 100
|
||||
#define ptt_interlock_active_state HIGH
|
||||
#define unknown_cw_character '*'
|
||||
#define cli_paddle_echo_on_at_boot 1
|
||||
#define cli_straight_key_echo_on_at_boot 1
|
||||
#define tx_key_dit_and_dah_pins_active_state HIGH
|
||||
#define tx_key_dit_and_dah_pins_inactive_state LOW
|
||||
#define potentiometer_check_interval_ms 0 //=====150
|
||||
#define potentiometer_reading_threshold 1
|
||||
#define default_paddle_interruption_quiet_time_element_lengths 0
|
||||
#define default_wordsworth_wordspace 6
|
||||
#define default_wordsworth_repetition 1
|
||||
#define serial_program_memory_buffer_size 500
|
||||
#define eeprom_write_time_ms 30000
|
||||
|
||||
#ifdef FEATURE_COMMAND_BUTTONS
|
||||
#define analog_buttons_number_of_buttons 4
|
||||
#define analog_buttons_r1 10
|
||||
#define analog_buttons_r2 1
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(FEATURE_COMMAND_BUTTONS) && !defined(FEATURE_PS2_KEYBOARD) && !defined(FEATURE_USB_KEYBOARD) && !defined(FEATURE_COMMAND_LINE_INTERFACE) && !defined(FEATURE_WINKEY_EMULATION)
|
||||
#define number_of_memories byte(analog_buttons_number_of_buttons-1)
|
||||
#else
|
||||
#define number_of_memories byte(12)
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
#define capacitance_threshold 2
|
||||
#endif //FEATURE_CAPACITIVE_PADDLE_PINS
|
||||
|
||||
#ifdef FEATURE_LED_RING
|
||||
#define led_ring_low_limit 10
|
||||
#define led_ring_high_limit 50
|
||||
#endif //FEATURE_LED_RING
|
||||
|
||||
#ifdef FEATURE_QLF
|
||||
#define qlf_dit_max 125
|
||||
#define qlf_dit_min 75
|
||||
#define qlf_dah_max 200
|
||||
#define qlf_dah_min 100
|
||||
#define qlf_on_by_default 0
|
||||
#endif //FEATURE_QLF
|
||||
|
||||
|
||||
#ifdef FEATURE_WINKEY_EMULATION
|
||||
#ifdef OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
#define WINKEY_DEFAULT_BAUD 9600
|
||||
#else
|
||||
#define WINKEY_DEFAULT_BAUD 1200
|
||||
#endif //OPTION_WINKEY_UCXLOG_9600_BAUD
|
||||
// alter these below to map alternate sidetones for Winkey interface protocol emulation
|
||||
#ifdef OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 3759
|
||||
#define WINKEY_SIDETONE_2 1879
|
||||
#define WINKEY_SIDETONE_3 1252
|
||||
#define WINKEY_SIDETONE_4 940
|
||||
#define WINKEY_SIDETONE_5 752
|
||||
#define WINKEY_SIDETONE_6 625
|
||||
#define WINKEY_SIDETONE_7 535
|
||||
#define WINKEY_SIDETONE_8 469
|
||||
#define WINKEY_SIDETONE_9 417
|
||||
#define WINKEY_SIDETONE_10 375
|
||||
#else //OPTION_WINKEY_2_SUPPORT
|
||||
#define WINKEY_SIDETONE_1 4000
|
||||
#define WINKEY_SIDETONE_2 2000
|
||||
#define WINKEY_SIDETONE_3 1333
|
||||
#define WINKEY_SIDETONE_4 1000
|
||||
#define WINKEY_SIDETONE_5 800
|
||||
#define WINKEY_SIDETONE_6 666
|
||||
#define WINKEY_SIDETONE_7 571
|
||||
#define WINKEY_SIDETONE_8 500
|
||||
#define WINKEY_SIDETONE_9 444
|
||||
#define WINKEY_SIDETONE_10 400
|
||||
#endif //OPTION_WINKEY_2_SUPPORT
|
||||
|
||||
#define WINKEY_1_REPORT_VERSION_NUMBER 10
|
||||
#define WINKEY_2_REPORT_VERSION_NUMBER 23
|
||||
|
||||
// alter these to map to alternate hang time wordspace units
|
||||
#define WINKEY_HANG_TIME_1_0 1.0
|
||||
#define WINKEY_HANG_TIME_1_33 1.33
|
||||
#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_PADDLE_A2D 0xEE
|
||||
#define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00
|
||||
|
||||
#endif //FEATURE_WINKEY_EMULATION
|
||||
|
||||
|
||||
|
||||
#define PRIMARY_SERIAL_PORT &Serial
|
||||
#define PRIMARY_SERIAL_PORT_BAUD 115200 // This applies only when the port is in Command Line Interface mode. In Winkey mode it will default to 1200.
|
||||
|
||||
#ifdef FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT
|
||||
#define SECONDARY_SERIAL_PORT &Serial1
|
||||
#define SECONDARY_SERIAL_PORT_BAUD 115200
|
||||
#endif
|
||||
|
||||
|
||||
#define CW_DECODER_SCREEN_COLUMNS 120 // word wrap at this many columns
|
||||
#define CW_DECODER_SPACE_PRINT_THRESH 4.5 // print space if no tone for this many element lengths
|
||||
#define CW_DECODER_SPACE_DECODE_THRESH 2.0 // invoke character decode if no tone for this many element lengths
|
||||
#define CW_DECODER_NOISE_FILTER 20 // ignore elements shorter than this (mS)
|
||||
|
||||
#define STRAIGHT_KEY_ACTIVE_STATE LOW
|
||||
|
||||
#ifdef FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_WPM 30
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_LOWER_LIMIT_RATIO 300 // 300 = 3:1 ratio
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_WPM 70
|
||||
#define DYNAMIC_DAH_TO_DIT_RATIO_UPPER_LIMIT_RATIO 240 // 240 = 2.4:1 ratio
|
||||
#endif //FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
|
||||
|
||||
#if defined(FEATURE_COMPETITION_COMPRESSION_DETECTION)
|
||||
#define COMPETITION_COMPRESSION_DETECTION_ARRAY_SIZE 16
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_LOWER_LIMIT 1
|
||||
#define COMPETITION_COMPRESSION_DETECTION_TIME_INTERCHAR_UPPER_LIMIT 6.0
|
||||
#define COMPETITION_COMPRESSION_DETECTION_AVERAGE_ALARM_THRESHOLD 3.0
|
||||
#endif //FEATURE_COMPETITION_COMPRESSION_DETECTION
|
||||
|
||||
#if defined(FEATURE_SLEEP)
|
||||
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
|
||||
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_ETHERNET)
|
||||
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
|
||||
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
|
||||
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.179")
|
||||
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
|
||||
|
||||
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
|
||||
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
|
||||
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
|
||||
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
|
||||
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
|
||||
#endif //FEATURE_ETHERNET
|
||||
|
||||
#define WEB_SERVER_CONTROL_TX_KEY_TIME_LIMIT_SECS 10
|
||||
|
||||
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
|
||||
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
|
||||
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500
|
||||
|
||||
#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
#define KEYPAD_ROWS 4 //KeyPad Rows
|
||||
#if defined(FEATURE_4x4_KEYPAD)
|
||||
#define KEYPAD_COLS 4 //keypad Columns
|
||||
#else
|
||||
#define KEYPAD_COLS 3
|
||||
#endif
|
||||
#define mem1 0 //Memory numbers for Keypad: Actual memory numbers start with "0"
|
||||
#define mem2 1
|
||||
#define mem3 2
|
||||
#define mem4 3
|
||||
#define mem5 4
|
||||
#define mem6 5
|
||||
#define mem7 6
|
||||
#define mem8 7
|
||||
#define mem9 8
|
||||
#define mem10 9
|
||||
#define mem11 10
|
||||
#define mem12 11
|
||||
#endif //#if defined(FEATURE_4x4_KEYPAD)|| defined (FEATURE_3x4_KEYPAD)
|
||||
|
||||
#define initial_sidetone_mode 1 // Sidetone mode, 0=OFF, 1=ON, 2=PADDLE_ONLY
|
||||
|
||||
#define sd_card_spi_ss_line 4
|
||||
|
||||
|
||||
#if defined(OPTION_DFROBOT_LCD_COMMAND_BUTTONS)
|
||||
|
||||
// For V1.1 board use these values
|
||||
#define dfrobot_btnRIGHT_analog 50
|
||||
#define dfrobot_btnUP_analog 250
|
||||
#define dfrobot_btnDOWN_analog 450
|
||||
#define dfrobot_btnLEFT_analog 650
|
||||
#define dfrobot_btnSELECT_analog 850
|
||||
|
||||
// For V1.0 board use these values
|
||||
// #define dfrobot_btnRIGHT_analog 50
|
||||
// #define dfrobot_btnUP_analog 195
|
||||
// #define dfrobot_btnDOWN_analog 380
|
||||
// #define dfrobot_btnLEFT_analog 555
|
||||
// #define dfrobot_btnSELECT_analog 790
|
||||
|
||||
// button to memory mappings (0 = command button, 1 = memory 1, 2 = memory 2, etc.)
|
||||
#define dfrobot_btnRIGHT 2
|
||||
#define dfrobot_btnUP 1
|
||||
#define dfrobot_btnDOWN 3
|
||||
#define dfrobot_btnLEFT 4
|
||||
#define dfrobot_btnSELECT 0
|
||||
#define dfrobot_btnNONE 255 // do not change
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define sequencer_pins_active_state HIGH
|
||||
#define sequencer_pins_inactive_state LOW
|
||||
#define ptt_line_active_state HIGH
|
||||
#define ptt_line_inactive_state LOW
|
||||
#define tx_key_line_active_state HIGH
|
||||
#define tx_key_line_inactive_state LOW
|
||||
#define ptt_input_pin_active_state LOW
|
||||
#define ptt_input_pin_inactive_state HIGH
|
||||
#define tx_inhibit_pin_active_state LOW
|
||||
#define tx_inhibit_pin_inactive_state HIGH
|
||||
#define tx_pause_pin_active_state LOW
|
||||
#define tx_pause_pin_inactive_state HIGH
|
||||
|
||||
#if defined(ARDUINO_MAPLE_MINI)
|
||||
#define button_value_factor 4095
|
||||
#else
|
||||
#define button_value_factor 1023
|
||||
#endif
|
||||
|
||||
#define farnsworth_timing_calibration 1.15
|
||||
|
||||
#define sidetone_volume_low_limit 10
|
||||
#define sidetone_volume_high_limit 500
|
||||
|
||||
|
|
@ -1,266 +0,0 @@
|
|||
// keyer_training_text_czech.h
|
||||
// Czech word list contributed by Martin, OK1RR
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "DO";
|
||||
const char s2_2[] PROGMEM = "NA";
|
||||
const char s2_3[] PROGMEM = "PO";
|
||||
const char s2_4[] PROGMEM = "MY";
|
||||
const char s2_5[] PROGMEM = "TO";
|
||||
const char s2_6[] PROGMEM = "NE";
|
||||
const char s2_7[] PROGMEM = "VY";
|
||||
const char s2_8[] PROGMEM = "ZE";
|
||||
const char s2_9[] PROGMEM = "VE";
|
||||
const char s2_10[] PROGMEM = "JA";
|
||||
const char s2_11[] PROGMEM = "TY";
|
||||
const char s2_12[] PROGMEM = "BY";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "SE";
|
||||
const char s2_15[] PROGMEM = "AZ";
|
||||
const char s2_16[] PROGMEM = "TU";
|
||||
const char s2_17[] PROGMEM = "TI";
|
||||
const char s2_18[] PROGMEM = "ZA";
|
||||
const char s2_19[] PROGMEM = "CI";
|
||||
const char s2_20[] PROGMEM = "CO";
|
||||
const char s2_21[] PROGMEM = "JI";
|
||||
const char s2_22[] PROGMEM = "MU";
|
||||
const char s2_23[] PROGMEM = "JE";
|
||||
const char s2_24[] PROGMEM = "UZ";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DVA";
|
||||
const char s3_2[] PROGMEM = "TRI";
|
||||
const char s3_3[] PROGMEM = "MUJ";
|
||||
const char s3_4[] PROGMEM = "NAS";
|
||||
const char s3_5[] PROGMEM = "ONA";
|
||||
const char s3_6[] PROGMEM = "ONI";
|
||||
const char s3_7[] PROGMEM = "ONO";
|
||||
const char s3_8[] PROGMEM = "VAS";
|
||||
const char s3_9[] PROGMEM = "VSE";
|
||||
const char s3_10[] PROGMEM = "POD";
|
||||
const char s3_11[] PROGMEM = "NAD";
|
||||
const char s3_12[] PROGMEM = "KDE";
|
||||
const char s3_13[] PROGMEM = "KDY";
|
||||
const char s3_14[] PROGMEM = "KAM";
|
||||
const char s3_15[] PROGMEM = "KUS";
|
||||
const char s3_16[] PROGMEM = "DEN";
|
||||
const char s3_17[] PROGMEM = "TAM";
|
||||
const char s3_18[] PROGMEM = "DAT";
|
||||
const char s3_19[] PROGMEM = "DAM";
|
||||
const char s3_20[] PROGMEM = "DAS";
|
||||
const char s3_21[] PROGMEM = "MIT";
|
||||
const char s3_22[] PROGMEM = "JIT";
|
||||
const char s3_23[] PROGMEM = "NEZ";
|
||||
const char s3_24[] PROGMEM = "ROK";
|
||||
const char s3_25[] PROGMEM = "PAK";
|
||||
const char s3_26[] PROGMEM = "DIK";
|
||||
const char s3_27[] PROGMEM = "DUM";
|
||||
const char s3_28[] PROGMEM = "PRO";
|
||||
const char s3_29[] PROGMEM = "PRI";
|
||||
const char s3_30[] PROGMEM = "OKO";
|
||||
const char s3_31[] PROGMEM = "CAS";
|
||||
const char s3_32[] PROGMEM = "CAJ";
|
||||
const char s3_33[] PROGMEM = "CIL";
|
||||
const char s3_34[] PROGMEM = "COP";
|
||||
const char s3_35[] PROGMEM = "MUZ";
|
||||
const char s3_36[] PROGMEM = "ASI";
|
||||
const char s3_37[] PROGMEM = "BEZ";
|
||||
const char s3_38[] PROGMEM = "BOJ";
|
||||
const char s3_39[] PROGMEM = "BUH";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "TATO";
|
||||
const char s4_2[] PROGMEM = "TITO";
|
||||
const char s4_3[] PROGMEM = "TOTO";
|
||||
const char s4_4[] PROGMEM = "DOMA";
|
||||
const char s4_5[] PROGMEM = "STAT";
|
||||
const char s4_6[] PROGMEM = "TADY";
|
||||
const char s4_7[] PROGMEM = "DOBA";
|
||||
const char s4_8[] PROGMEM = "TAKE";
|
||||
const char s4_9[] PROGMEM = "PRED";
|
||||
const char s4_10[] PROGMEM = "SVET";
|
||||
const char s4_11[] PROGMEM = "BRZY";
|
||||
const char s4_12[] PROGMEM = "TVUJ";
|
||||
const char s4_13[] PROGMEM = "TATA";
|
||||
const char s4_14[] PROGMEM = "MAMA";
|
||||
const char s4_15[] PROGMEM = "PSIK";
|
||||
const char s4_16[] PROGMEM = "ZENA";
|
||||
const char s4_17[] PROGMEM = "DITE";
|
||||
const char s4_18[] PROGMEM = "DETI";
|
||||
const char s4_19[] PROGMEM = "KONE";
|
||||
const char s4_20[] PROGMEM = "DUHA";
|
||||
const char s4_21[] PROGMEM = "RUKA";
|
||||
const char s4_22[] PROGMEM = "NOHA";
|
||||
const char s4_23[] PROGMEM = "PRST";
|
||||
const char s4_24[] PROGMEM = "POLE";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "VITR";
|
||||
const char s4_27[] PROGMEM = "MLHA";
|
||||
const char s4_28[] PROGMEM = "VODA";
|
||||
const char s4_29[] PROGMEM = "VAHA";
|
||||
const char s4_30[] PROGMEM = "PIVO";
|
||||
const char s4_31[] PROGMEM = "HRAT";
|
||||
const char s4_32[] PROGMEM = "RADA";
|
||||
const char s4_33[] PROGMEM = "PANI";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "JOSEF";
|
||||
const char name_3[] PROGMEM = "JIRI";
|
||||
const char name_4[] PROGMEM = "KAREL";
|
||||
const char name_5[] PROGMEM = "HONZA";
|
||||
const char name_6[] PROGMEM = "FRANTA";
|
||||
const char name_7[] PROGMEM = "PETR";
|
||||
const char name_8[] PROGMEM = "PAVEL";
|
||||
const char name_9[] PROGMEM = "JINDRA";
|
||||
const char name_10[] PROGMEM = "FILIP";
|
||||
const char name_11[] PROGMEM = "MILAN";
|
||||
const char name_12[] PROGMEM = "MARTIN";
|
||||
const char name_13[] PROGMEM = "DAVID";
|
||||
const char name_14[] PROGMEM = "TOMAS";
|
||||
const char name_15[] PROGMEM = "HANKA";
|
||||
const char name_16[] PROGMEM = "SASA";
|
||||
const char name_17[] PROGMEM = "IVAN";
|
||||
const char name_18[] PROGMEM = "BERT";
|
||||
const char name_19[] PROGMEM = "VASEK";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "JIRKA";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "PEPA";
|
||||
const char name_24[] PROGMEM = "JIRINA";
|
||||
const char name_25[] PROGMEM = "RISA";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "LUBOS";
|
||||
const char name_28[] PROGMEM = "TONDA";
|
||||
const char name_29[] PROGMEM = "LADA";
|
||||
const char name_30[] PROGMEM = "VLADA";
|
||||
const char name_31[] PROGMEM = "JENDA";
|
||||
const char name_32[] PROGMEM = "CYRIL";
|
||||
const char name_33[] PROGMEM = "BOHOUS";
|
||||
const char name_34[] PROGMEM = "KAMIL";
|
||||
const char name_35[] PROGMEM = "RENE";
|
||||
const char name_36[] PROGMEM = "PATRIK";
|
||||
const char name_37[] PROGMEM = "SIMON";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "LOJZA";
|
||||
const char name_40[] PROGMEM = "MATEJ";
|
||||
const char name_41[] PROGMEM = "FERDA";
|
||||
const char name_42[] PROGMEM = "MARIE";
|
||||
const char name_43[] PROGMEM = "ZDENEK";
|
||||
const char name_44[] PROGMEM = "JULEK";
|
||||
const char name_45[] PROGMEM = "STANDA";
|
||||
const char name_46[] PROGMEM = "SLAVEK";
|
||||
const char name_47[] PROGMEM = "VILDA";
|
||||
const char name_48[] PROGMEM = "VERA";
|
||||
const char name_49[] PROGMEM = "GUSTA";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,264 +0,0 @@
|
|||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "TO";
|
||||
const char s2_2[] PROGMEM = "IN";
|
||||
const char s2_3[] PROGMEM = "IT";
|
||||
const char s2_4[] PROGMEM = "IS";
|
||||
const char s2_5[] PROGMEM = "BE";
|
||||
const char s2_6[] PROGMEM = "AS";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "SO";
|
||||
const char s2_9[] PROGMEM = "WE";
|
||||
const char s2_10[] PROGMEM = "HE";
|
||||
const char s2_11[] PROGMEM = "BY";
|
||||
const char s2_12[] PROGMEM = "OR";
|
||||
const char s2_13[] PROGMEM = "ON";
|
||||
const char s2_14[] PROGMEM = "DO";
|
||||
const char s2_15[] PROGMEM = "IF";
|
||||
const char s2_16[] PROGMEM = "ME";
|
||||
const char s2_17[] PROGMEM = "MY";
|
||||
const char s2_18[] PROGMEM = "UP";
|
||||
const char s2_19[] PROGMEM = "AN";
|
||||
const char s2_20[] PROGMEM = "GO";
|
||||
const char s2_21[] PROGMEM = "NO";
|
||||
const char s2_22[] PROGMEM = "US";
|
||||
const char s2_23[] PROGMEM = "AM";
|
||||
const char s2_24[] PROGMEM = "OF";
|
||||
const byte s2_size = 24;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22,s2_23,s2_24};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "THE";
|
||||
const char s3_2[] PROGMEM = "AND";
|
||||
const char s3_3[] PROGMEM = "FOR";
|
||||
const char s3_4[] PROGMEM = "ARE";
|
||||
const char s3_5[] PROGMEM = "BUT";
|
||||
const char s3_6[] PROGMEM = "NOT";
|
||||
const char s3_7[] PROGMEM = "YOU";
|
||||
const char s3_8[] PROGMEM = "ALL";
|
||||
const char s3_9[] PROGMEM = "ANY";
|
||||
const char s3_10[] PROGMEM = "CAN";
|
||||
const char s3_11[] PROGMEM = "HAD";
|
||||
const char s3_12[] PROGMEM = "HER";
|
||||
const char s3_13[] PROGMEM = "WAS";
|
||||
const char s3_14[] PROGMEM = "ONE";
|
||||
const char s3_15[] PROGMEM = "OUR";
|
||||
const char s3_16[] PROGMEM = "OUT";
|
||||
const char s3_17[] PROGMEM = "DAY";
|
||||
const char s3_18[] PROGMEM = "GET";
|
||||
const char s3_19[] PROGMEM = "HAS";
|
||||
const char s3_20[] PROGMEM = "HIM";
|
||||
const char s3_21[] PROGMEM = "HIS";
|
||||
const char s3_22[] PROGMEM = "HOW";
|
||||
const char s3_23[] PROGMEM = "MAN";
|
||||
const char s3_24[] PROGMEM = "NEW";
|
||||
const char s3_25[] PROGMEM = "NOW";
|
||||
const char s3_26[] PROGMEM = "OLD";
|
||||
const char s3_27[] PROGMEM = "SEE";
|
||||
const char s3_28[] PROGMEM = "TWO";
|
||||
const char s3_29[] PROGMEM = "WAY";
|
||||
const char s3_30[] PROGMEM = "WHO";
|
||||
const char s3_31[] PROGMEM = "BOY";
|
||||
const char s3_32[] PROGMEM = "DID";
|
||||
const char s3_33[] PROGMEM = "ITS";
|
||||
const char s3_34[] PROGMEM = "LET";
|
||||
const char s3_35[] PROGMEM = "PUT";
|
||||
const char s3_36[] PROGMEM = "SAY";
|
||||
const char s3_37[] PROGMEM = "SHE";
|
||||
const char s3_38[] PROGMEM = "TOO";
|
||||
const char s3_39[] PROGMEM = "USE";
|
||||
const byte s3_size = 39;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "THAT";
|
||||
const char s4_2[] PROGMEM = "WITH";
|
||||
const char s4_3[] PROGMEM = "HAVE";
|
||||
const char s4_4[] PROGMEM = "THIS";
|
||||
const char s4_5[] PROGMEM = "WILL";
|
||||
const char s4_6[] PROGMEM = "YOUR";
|
||||
const char s4_7[] PROGMEM = "FROM";
|
||||
const char s4_8[] PROGMEM = "THEY";
|
||||
const char s4_9[] PROGMEM = "KNOW";
|
||||
const char s4_10[] PROGMEM = "WANT";
|
||||
const char s4_11[] PROGMEM = "BEEN";
|
||||
const char s4_12[] PROGMEM = "GOOD";
|
||||
const char s4_13[] PROGMEM = "MUCH";
|
||||
const char s4_14[] PROGMEM = "SOME";
|
||||
const char s4_15[] PROGMEM = "TIME";
|
||||
const char s4_16[] PROGMEM = "VERY";
|
||||
const char s4_17[] PROGMEM = "WHEN";
|
||||
const char s4_18[] PROGMEM = "COME";
|
||||
const char s4_19[] PROGMEM = "HERE";
|
||||
const char s4_20[] PROGMEM = "JUST";
|
||||
const char s4_21[] PROGMEM = "LIKE";
|
||||
const char s4_22[] PROGMEM = "LONG";
|
||||
const char s4_23[] PROGMEM = "MAKE";
|
||||
const char s4_24[] PROGMEM = "MANY";
|
||||
const char s4_25[] PROGMEM = "MORE";
|
||||
const char s4_26[] PROGMEM = "ONLY";
|
||||
const char s4_27[] PROGMEM = "OVER";
|
||||
const char s4_28[] PROGMEM = "SUCH";
|
||||
const char s4_29[] PROGMEM = "TAKE";
|
||||
const char s4_30[] PROGMEM = "THAN";
|
||||
const char s4_31[] PROGMEM = "THEM";
|
||||
const char s4_32[] PROGMEM = "WELL";
|
||||
const char s4_33[] PROGMEM = "WERE";
|
||||
const byte s4_size = 33;
|
||||
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};
|
||||
|
||||
|
||||
|
||||
const char name_1[] PROGMEM = "ANDY";
|
||||
const char name_2[] PROGMEM = "BOB";
|
||||
const char name_3[] PROGMEM = "BILL";
|
||||
const char name_4[] PROGMEM = "JOHN";
|
||||
const char name_5[] PROGMEM = "GEORGE";
|
||||
const char name_6[] PROGMEM = "TOM";
|
||||
const char name_7[] PROGMEM = "RICH";
|
||||
const char name_8[] PROGMEM = "STEVE";
|
||||
const char name_9[] PROGMEM = "TIM";
|
||||
const char name_10[] PROGMEM = "SCOTT";
|
||||
const char name_11[] PROGMEM = "FRED";
|
||||
const char name_12[] PROGMEM = "DOUG";
|
||||
const char name_13[] PROGMEM = "DAVE";
|
||||
const char name_14[] PROGMEM = "GARY";
|
||||
const char name_15[] PROGMEM = "JIM";
|
||||
const char name_16[] PROGMEM = "CHRIS";
|
||||
const char name_17[] PROGMEM = "MIKE";
|
||||
const char name_18[] PROGMEM = "ED";
|
||||
const char name_19[] PROGMEM = "AL";
|
||||
const char name_20[] PROGMEM = "ALAN";
|
||||
const char name_21[] PROGMEM = "RON";
|
||||
const char name_22[] PROGMEM = "JERRY";
|
||||
const char name_23[] PROGMEM = "ART";
|
||||
const char name_24[] PROGMEM = "GREG";
|
||||
const char name_25[] PROGMEM = "RICK";
|
||||
const char name_26[] PROGMEM = "DAN";
|
||||
const char name_27[] PROGMEM = "KEN";
|
||||
const char name_28[] PROGMEM = "TONY";
|
||||
const char name_29[] PROGMEM = "CARL";
|
||||
const char name_30[] PROGMEM = "PHIL";
|
||||
const char name_31[] PROGMEM = "JOE";
|
||||
const char name_32[] PROGMEM = "JON";
|
||||
const char name_33[] PROGMEM = "LARRY";
|
||||
const char name_34[] PROGMEM = "DON";
|
||||
const char name_35[] PROGMEM = "DICK";
|
||||
const char name_36[] PROGMEM = "PAUL";
|
||||
const char name_37[] PROGMEM = "SERGE";
|
||||
const char name_38[] PROGMEM = "ALEX";
|
||||
const char name_39[] PROGMEM = "VLAD";
|
||||
const char name_40[] PROGMEM = "JEFF";
|
||||
const char name_41[] PROGMEM = "CHAS";
|
||||
const char name_42[] PROGMEM = "JACK";
|
||||
const char name_43[] PROGMEM = "GENE";
|
||||
const char name_44[] PROGMEM = "BERT";
|
||||
const char name_45[] PROGMEM = "OLEG";
|
||||
const char name_46[] PROGMEM = "PETE";
|
||||
const char name_47[] PROGMEM = "PAT";
|
||||
const char name_48[] PROGMEM = "JUAN";
|
||||
const char name_49[] PROGMEM = "GUS";
|
||||
const byte name_size = 49;
|
||||
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};
|
||||
|
||||
// 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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
|
@ -1,248 +0,0 @@
|
|||
// keyer_training_text_norsk.h
|
||||
// Norwegian word list contributed by Karl, LA3FY
|
||||
// English word list originally from gen_cw_words.pl - a program that generates words in a random order,
|
||||
// intended to be used during morse code practice.
|
||||
// Original gen_cw_words.pl code Copyright (C) 2015,2017 Andy Stewart (KB1OIQ)
|
||||
// https://sourceforge.net/projects/kb1oiq-k1ig-wordsworth/
|
||||
|
||||
// two letter word array
|
||||
const char s2_1[] PROGMEM = "OG";
|
||||
const char s2_2[] PROGMEM = "PÅ";
|
||||
const char s2_3[] PROGMEM = "GÅ";
|
||||
const char s2_4[] PROGMEM = "ER";
|
||||
const char s2_5[] PROGMEM = "EN";
|
||||
const char s2_6[] PROGMEM = "AV";
|
||||
const char s2_7[] PROGMEM = "AT";
|
||||
const char s2_8[] PROGMEM = "DE";
|
||||
const char s2_9[] PROGMEM = "ET";
|
||||
const char s2_10[] PROGMEM = "SÅ";
|
||||
const char s2_11[] PROGMEM = "VI";
|
||||
const char s2_12[] PROGMEM = "DU";
|
||||
const char s2_13[] PROGMEM = "DA";
|
||||
const char s2_14[] PROGMEM = "UT";
|
||||
const char s2_15[] PROGMEM = "SA";
|
||||
const char s2_16[] PROGMEM = "NÅ";
|
||||
const char s2_17[] PROGMEM = "NY";
|
||||
const char s2_18[] PROGMEM = "HA";
|
||||
const char s2_19[] PROGMEM = "ÅR";
|
||||
const char s2_20[] PROGMEM = "FÅ";
|
||||
const char s2_21[] PROGMEM = "TO";
|
||||
const char s2_22[] PROGMEM = "SE";
|
||||
const byte s2_size = 22;
|
||||
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,s2_18,s2_19,s2_20,
|
||||
s2_21,s2_22};
|
||||
|
||||
// three letter word array
|
||||
const char s3_1[] PROGMEM = "DET";
|
||||
const char s3_2[] PROGMEM = "SOM";
|
||||
const char s3_3[] PROGMEM = "HAN";
|
||||
const char s3_4[] PROGMEM = "FOR";
|
||||
const char s3_5[] PROGMEM = "MED";
|
||||
const char s3_6[] PROGMEM = "VAR";
|
||||
const char s3_7[] PROGMEM = "DEN";
|
||||
const char s3_8[] PROGMEM = "HAR";
|
||||
const char s3_9[] PROGMEM = "JEG";
|
||||
const char s3_10[] PROGMEM = "MEN";
|
||||
const char s3_11[] PROGMEM = "SEG";
|
||||
const char s3_12[] PROGMEM = "HUN";
|
||||
const char s3_13[] PROGMEM = "VÅR";
|
||||
const char s3_14[] PROGMEM = "FRA";
|
||||
const char s3_15[] PROGMEM = "KAN";
|
||||
const char s3_16[] PROGMEM = "BLE";
|
||||
const char s3_17[] PROGMEM = "VIL";
|
||||
const char s3_18[] PROGMEM = "HAM";
|
||||
const char s3_19[] PROGMEM = "VED";
|
||||
const char s3_20[] PROGMEM = "NOE";
|
||||
const char s3_21[] PROGMEM = "MEG";
|
||||
const char s3_22[] PROGMEM = "MOT";
|
||||
const char s3_23[] PROGMEM = "OPP";
|
||||
const char s3_24[] PROGMEM = "DER";
|
||||
const char s3_25[] PROGMEM = "NÅR";
|
||||
const char s3_26[] PROGMEM = "INN";
|
||||
const char s3_27[] PROGMEM = "DEM";
|
||||
const char s3_28[] PROGMEM = "SIN";
|
||||
const char s3_29[] PROGMEM = "KOM";
|
||||
const char s3_30[] PROGMEM = "ENN";
|
||||
const char s3_31[] PROGMEM = "BLI";
|
||||
const char s3_32[] PROGMEM = "FØR";
|
||||
const char s3_33[] PROGMEM = "GÅR";
|
||||
const char s3_34[] PROGMEM = "HER";
|
||||
const char s3_35[] PROGMEM = "MER";
|
||||
const char s3_36[] PROGMEM = "HVA";
|
||||
const char s3_37[] PROGMEM = "ALT";
|
||||
const char s3_38[] PROGMEM = "OSS";
|
||||
const byte s3_size = 38;
|
||||
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};
|
||||
|
||||
// four letter word array
|
||||
const char s4_1[] PROGMEM = "IKKE";
|
||||
const char s4_2[] PROGMEM = "OVER";
|
||||
const char s4_3[] PROGMEM = "OGSÅ";
|
||||
const char s4_4[] PROGMEM = "BARE";
|
||||
const char s4_5[] PROGMEM = "VÆRE";
|
||||
const char s4_6[] PROGMEM = "BLIR";
|
||||
const char s4_7[] PROGMEM = "ALLE";
|
||||
const char s4_8[] PROGMEM = "NOEN";
|
||||
const char s4_9[] PROGMEM = "SELV";
|
||||
const char s4_10[] PROGMEM = "SIER";
|
||||
const char s4_11[] PROGMEM = "HANS";
|
||||
const char s4_12[] PROGMEM = "GIKK";
|
||||
const char s4_13[] PROGMEM = "FIKK";
|
||||
const char s4_14[] PROGMEM = "DASH";
|
||||
const char s4_15[] PROGMEM = "HVOR";
|
||||
const char s4_16[] PROGMEM = "HELE";
|
||||
const byte s4_size = 16;
|
||||
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};
|
||||
|
||||
// common names
|
||||
|
||||
const char name_1[] PROGMEM = "JAN";
|
||||
const char name_2[] PROGMEM = "PER";
|
||||
const char name_3[] PROGMEM = "BJØRN";
|
||||
const char name_4[] PROGMEM = "OLE";
|
||||
const char name_5[] PROGMEM = "KJELL";
|
||||
const char name_6[] PROGMEM = "LARS";
|
||||
const char name_7[] PROGMEM = "ARNE";
|
||||
const char name_8[] PROGMEM = "KNUT";
|
||||
const char name_9[] PROGMEM = "SVEIN";
|
||||
const char name_10[] PROGMEM = "HANS";
|
||||
const char name_11[] PROGMEM = "ODD";
|
||||
const char name_12[] PROGMEM = "TOR";
|
||||
const char name_13[] PROGMEM = "GEIR";
|
||||
const char name_14[] PROGMEM = "TERJE";
|
||||
const char name_15[] PROGMEM = "THOMAS";
|
||||
const char name_16[] PROGMEM = "MORTEN";
|
||||
const char name_17[] PROGMEM = "JOHN";
|
||||
const char name_18[] PROGMEM = "ERIK";
|
||||
const char name_19[] PROGMEM = "ANDERS";
|
||||
const char name_20[] PROGMEM = "RUNE";
|
||||
const char name_21[] PROGMEM = "MARTIN";
|
||||
const char name_22[] PROGMEM = "ANDREAS";
|
||||
const char name_23[] PROGMEM = "TROND";
|
||||
const char name_24[] PROGMEM = "TORE";
|
||||
const char name_25[] PROGMEM = "HARALD";
|
||||
const char name_26[] PROGMEM = "OLAV";
|
||||
const char name_27[] PROGMEM = "GUNNAR";
|
||||
const char name_28[] PROGMEM = "JON";
|
||||
const char name_29[] PROGMEM = "ROLF";
|
||||
const char name_30[] PROGMEM = "LEIF";
|
||||
const char name_31[] PROGMEM = "TOM";
|
||||
const char name_32[] PROGMEM = "STIAN";
|
||||
const char name_33[] PROGMEM = "KRISTIAN";
|
||||
const char name_34[] PROGMEM = "NILS";
|
||||
const char name_35[] PROGMEM = "ØYVIND";
|
||||
const char name_36[] PROGMEM = "HELGE";
|
||||
const char name_37[] PROGMEM = "ESPEN";
|
||||
const char name_38[] PROGMEM = "EINAR";
|
||||
const char name_39[] PROGMEM = "MARIUS";
|
||||
const char name_40[] PROGMEM = "KÅRE";
|
||||
const char name_41[] PROGMEM = "DANIEL";
|
||||
const char name_42[] PROGMEM = "MAGNUS";
|
||||
const char name_43[] PROGMEM = "FREDRIK";
|
||||
const char name_44[] PROGMEM = "CHRISTIAN";
|
||||
const char name_45[] PROGMEM = "STEINAR";
|
||||
const char name_46[] PROGMEM = "EIRIK";
|
||||
const char name_47[] PROGMEM = "HÅKON";
|
||||
const char name_48[] PROGMEM = "ØYSTEIN";
|
||||
const char name_49[] PROGMEM = "HENRIK";
|
||||
const char name_50[] PROGMEM = "KARL";
|
||||
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 = "<";
|
||||
const char qso_35[] PROGMEM = "%";
|
||||
const char qso_36[] PROGMEM = ">";
|
||||
const char qso_37[] PROGMEM = "LID";
|
||||
const char qso_38[] PROGMEM = "LOOP";
|
||||
const char qso_39[] PROGMEM = "NAME";
|
||||
const char qso_40[] PROGMEM = "OM";
|
||||
const char qso_41[] PROGMEM = "OP";
|
||||
const char qso_42[] PROGMEM = "PKT";
|
||||
const char qso_43[] PROGMEM = "PSE";
|
||||
const char qso_44[] PROGMEM = "R";
|
||||
const char qso_45[] PROGMEM = "RPT";
|
||||
const char qso_46[] PROGMEM = "RST";
|
||||
const char qso_47[] PROGMEM = "RIG";
|
||||
const char qso_48[] PROGMEM = "TEMP";
|
||||
const char qso_49[] PROGMEM = "TEST";
|
||||
const char qso_50[] PROGMEM = "TU";
|
||||
const char qso_51[] PROGMEM = "TKS";
|
||||
const char qso_52[] PROGMEM = "TNX";
|
||||
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 = "YRS";
|
||||
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 char qso_69[] PROGMEM = "QRQ";
|
||||
const char qso_70[] PROGMEM = "HVE";
|
||||
const char qso_71[] PROGMEM = "HPE";
|
||||
const char qso_72[] PROGMEM = "BEST";
|
||||
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,qso_69,qso_70,qso_71,qso_72};
|
||||
|
||||
|
||||
|
||||
|
Ładowanie…
Reference in New Issue