Skip to content

900 Features and Options

VK2EFL edited this page Jul 20, 2019 · 11 revisions

There are several features that can be enabled and options chosen that can be used to enhance your K3NG keyer. Below are the possible features and options that can be selected. To enable either a feature or an option, they must be uncommented. This is done by removing the // at the beginning of the line.

Generally FEATURES add more bytes to the compiled binary (the code size becomes larger), OPTIONS change code behaviour

This document is in process. Feel free to help by copying appropriate contents at the blog into a new page and link the appropriate feature to it.

Features Notes
FEATURE_COMMAND_BUTTONS Enable command buttons
FEATURE_COMMAND_LINE_INTERFACE Enable command line interface over serial connection
FEATURE_MEMORIES on the Arduino Due, you must have FEATURE_EEPROM_E24C1024 and E24C1024 EEPROM hardware in order to compile this
FEATURE_MEMORY_MACROS
FEATURE_WINKEY_EMULATION
FEATURE_BEACON
FEATURE_CALLSIGN_RECEIVE_PRACTICE
FEATURE_POTENTIOMETER Speed control, if enabled, must have pot connected or false wpm will trigger changes randomly
FEATURE_SERIAL_HELP show help for command line interface
FEATURE_HELL
FEATURE_PS2_KEYBOARD Use a PS2 keyboard to send code - Change keyboard layout (non-US) in K3NG_PS2Keyboard.h. Additional options below.
FEATURE_USB_KEYBOARD Use a USB keyboard to send code - Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
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
FEATURE_DEAD_OP_WATCHDOG
FEATURE_AUTOSPACE
FEATURE_FARNSWORTH
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
FEATURE_LCD_4BIT classic LCD disidefplay using 4 I/O lines
FEATURE_LCD_ADAFRUIT_I2C Adafruit I2C LCD display using MCP23017 at addr 0x20
FEATURE_LCD_ADAFRUIT_BACKPACK Adafruit I2C LCD Backup using MCP23008
FEATURE_LCD_YDv1 YourDuino I2C LCD display with old LCM 1602 V1 ic
FEATURE_LCD1602_N07DH http://linksprite.com/wiki/index.php5?title=16_X_2_LCD_Keypad_Shield_for_Arduino
FEATURE_CW_DECODER Decode CW into the keyer
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)
FEATURE_ROTARY_ENCODER Use a rotary encoder for speed control
FEATURE_CMOS_SUPER_KEYER_IAMBIC_B_TIMING
FEATURE_DIT_DAH_BUFFER_CONTROL
FEATURE_HI_PRECISION_LOOP_TIMING
FEATURE_USB_MOUSE Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
FEATURE_CAPACITIVE_PADDLE_PINS remove the bypass capacitors on the paddle_left and paddle_right lines when using capactive paddles
FEATURE_LED_RING Mayhew Labs Led Ring support for rotary encoder
FEATURE_ALPHABET_SEND_PRACTICE enables command mode S command - created by Ryan, KC2ZWM
FEATURE_PTT_INTERLOCK
FEATURE_QLF
FEATURE_EEPROM_E24C1024
FEATURE_STRAIGHT_KEY
FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
FEATURE_PADDLE_ECHO
FEATURE_STRAIGHT_KEY_ECHO
FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT Activate the Command Line interface on the secondary serial port
FEATURE_COMPETITION_COMPRESSION_DETECTION Experimental
Options Notes
OPTION_PRIMARY_SERIAL_PORT_DEFAULT_WINKEY_EMULATION Use when activating both FEATURE_WINKEY_EMULATION and FEATURE_COMMAND_LINE_INTERFACE
OPTION_SUPPRESS_SERIAL_BOOT_MSG
OPTION_INCLUDE_PTT_TAIL_FOR_MANUAL_SENDING
OPTION_EXCLUDE_PTT_HANG_TIME_FOR_MANUAL_SENDING
OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP if ASR is not disabled, you may need this to discard errant serial port bytes at startup
OPTION_WINKEY_STRICT_EEPROM_WRITES_MAY_WEAR_OUT_EEPROM
OPTION_WINKEY_SEND_WORDSPACE_AT_END_OF_BUFFER
OPTION_WINKEY_STRICT_HOST_OPEN require an admin host open Winkey command before doing any other commands
OPTION_WINKEY_2_SUPPORT comment out to revert to Winkey version 1 emulation
OPTION_WINKEY_EXTENDED_COMMANDS in development
OPTION_WINKEY_SEND_BREAKIN_STATUS_BYTE additional code to check_dit_paddle() and check_dah_paddle() to send 0xC2 status byte when paddles are hit
OPTION_WINKEY_INTERRUPTS_MEMORY_REPEAT
OPTION_WINKEY_2_HOST_CLOSE_NO_SERIAL_PORT_RESET activate this when using Winkey 2 emulation and Win-Test
OPTION_WINKEY_FREQUENT_STATUS_REPORT activate this to make Winkey emulation play better with RUMlog and RUMped
OPTION_WINKEY_IGNORE_LOWERCASE Enable for typical K1EL Winkeyer behavior (use for SkookumLogger version 1.10.14 and prior to workaround "r" bug)
OPTION_REVERSE_BUTTON_ORDER This is mainly for the DJ0MY NanoKeyer http://nanokeyer.wordpress.com/
OPTION_PROG_MEM_TRIM_TRAILING_SPACES trim trailing spaces from memory when programming in command mode
OPTION_DIT_PADDLE_NO_SEND_ON_MEM_RPT this makes dit paddle memory interruption a little smoother
OPTION_MORE_DISPLAY_MSGS additional optional display messages - comment out to save memory
OPTION_N1MM_WINKEY_TAB_BUG_WORKAROUND enable this to ignore the TAB key in the Send CW window (this breaks SO2R functionality in N1MM)
OPTION_WATCHDOG_TIMER this enables a four second ATmega48/88/168/328 watchdog timer; use for unattended/remote operation only
OPTION_MOUSE_MOVEMENT_PADDLE experimental (just fooling around) - mouse movement will act like a paddle
OPTION_NON_ENGLISH_EXTENSIONS add support for additional CW characters (i.e. À, Å, Þ, etc.)
OPTION_KEEP_PTT_KEYED_WHEN_CHARS_BUFFERED this option keeps PTT high if there are characters buffered from the keyboard, the serial interface, or Winkey
OPTION_DISPLAY_NON_ENGLISH_EXTENSIONS LCD display suport for non-English (NO/DK/DE) characters - Courtesy of OZ1JHM
OPTION_UNKNOWN_CHARACTER_ERROR_TONE Play a tone when an unknown character is entered, aka you messed up so bad the keyer hasn't a clue :-)
OPTION_DO_NOT_SAY_HI
OPTION_USE_ORIGINAL_VERSION_2_1_PS2KEYBOARD_LIB
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)
OPTION_PS2_KEYBOARD_RESET reset the PS2 keyboard upon startup with 0xFF (contributed by Bill, W9BEL)
OPTION_SAVE_MEMORY_NANOKEYER
OPTION_CW_KEYBOARD_CAPSLOCK_BEEP
OPTION_CW_KEYBOARD_ITALIAN
OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
OPTION_INVERT_PADDLE_PIN_LOGIC
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)
OPTION_DIT_DAH_BUFFERS_OFF_BY_DEFAULT _FOR_FEATURE_DIT_DAH_BUFFER_CONTROL
OPTION_PROSIGN_SUPPORT additional prosign support for paddle and straight key echo on display, CLI, and in memory storage
OPTION_RUSSIAN_LANGUAGE_SEND_CLI Russian language CLI sending support (contributed by Павел Бирюков, UA1AQC)
Clone this wiki locally