Skip to content

350 Feature: Memory

VK2EFL edited this page May 20, 2021 · 6 revisions

Memory Operation and Memory Macros

Operation

Memories can be manually played using memory buttons, or using the # command in the Command Line Interface (for example, \1 plays memory 1). In Command Mode the memories 1 through 5 (limited only by default code) can be played without transmitting by entering the number of the memory.

Memories are programmed using the Command Line Interface \p# command, the PS2 keyboard or in Command Mode by pressing the memory button or using the P command.

To program memory 1 with CQ CQ CQ DE K3NG, the Command Line Interface entry would be \p1CQ CQ CQ DE K3NG.

To program a memory using Command Mode, enter Command Mode by pressing the Command button and press the memory button, or send the P command followed by the number of the memory you wish to program. After hearing a beep, send in CW the code to be stored and when finished, hit the Command button to exit programming. The keyer will then play back the memory without transmitting. If the keyer didn’t recognize a character you sent it will send a question mark in its place.

Macros

Macros can be placed in memories to do some cool things. Some macros include:

\#       Jump to memory # (1 through 9)
\c       Play serial number with cut numbers
\d###    Delay for ### seconds
\e       Play serial number, then increment
\f####   Set sidetone to #### hertz
\h       Switch to Hell sending
\i#      Insert memory # (This is different from \#, the jump macro. The insert memory macro plays another memory, then comes back to the memory the keyer was originally playing. The jump command jumps to the other memory and doesn't come back.)
\l       Switch to CW (from Hell mode)
\n       Decrement serial number, do not send
\q##     Switch to QRSS mode, dit length ## seconds
\s       Insert space
\r       Switch to regular speed mode
\t###    Transmit for ### seconds
\u       Activate PTT
\v       Deactivate PTT
\w###    Set regular mode speed to ### WPM
\x#      Switch to transmitter # (1, 2, 3, 4, 5, or 6)
\y#      Increase speed # WPM
\z#      Decrease speed # WPM
\+       Prosign the next two characters

(Note that both command line commands and CW memories are case insensitive.)

Also note that macros cannot be programmed into a memory from Command Mode. This is because the backslash character \ (that precedes all macro commands) is not a recognised or assigned morse code character. Therefore it is not possible to use the paddles to store a \ in a memory. Macros can be programmed into a memory by using the CLI or a PS2 keyboard.

Software Configuration

The number of memories is set at compile time using these lines in keyer_settings.h:

#define number_of_memories 12
#define memory_area_end 1023

Up to 12 memories can be configured, with some caveats. Nine memories are supported in the CLI and in memory macros, and the full 12 are supported with the PS2 keyboard, or the keypad feature (either the 4x3 or 4x4 variant).

memory_area_end defines the end EEPROM location for the entire bank of memory. The available memory area is divided up evenly between the memories. The example settings above will result in 12 memories each with 75 bytes, or 75 characters (which includes spaces).

EEPROM / NonVolatile Settings

Numerous parameter settings are stored in non-volatile EEPROM memory. Memory macros which alter the CW speed are not stored to EEPROM as to avoid “wearing out” EEPROM locations, especially in beacon mode.

Clone this wiki locally