11 900 Features and Options
VK2EFL edytuje tę stronę 2019-07-20 14:07:48 +10:00

There are several features that can be enabled and options chosen 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 a work in progress. 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 provides for the use of macros that can be used and stored in memory
FEATURE_WINKEY_EMULATION disabling Automatic Software Reset is highly recommended (see documentation)
FEATURE_BEACON enables the use of the keyer as a beacon code generator. Beacon message in memory 1
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 if more than 100 consecutive elemts are sent then it is assumed the operator has gone to sleep at the key
FEATURE_AUTOSPACE enables the autospace feature
FEATURE_FARNSWORTH enables the Farnsworth timing feature
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_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 enables QLF sending (sending with the left foot)
FEATURE_EEPROM_E24C1024 for use on an Arduino Due (which has no EEPROM), you must have E24C1024 EEPROM hardware in order to compile this
FEATURE_STRAIGHT_KEY
FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
FEATURE_PADDLE_ECHO
FEATURE_STRAIGHT_KEY_ECHO
FEATURE_AMERICAN_MORSE
FEATURE_4x4_KEYPAD using an external 4x4 keypad to play memories, keypad keys are custom programmable
FEATURE_3x4_KEYPAD using an external 3x4 keypad to play memories, keypad keys are custom programmable
FEATURE_SEQUENCER enables the sequencer feature
FEATURE_COMMAND_LINE_INTERFACE_ON_SECONDARY_PORT Activate the Command Line interface on the secondary serial port
Options Notes
OPTION_SUPPRESS_SERIAL_BOOT_MSG suppresses the boot message when connected by a serial port
OPTION_INCLUDE_PTT_TAIL_FOR_MANUAL_SENDING include PTT tail timing for manual sending
OPTION_EXCLUDE_PTT_HANG_TIME_FOR_MANUAL_SENDING include 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_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_WINKEY_BLINK_PTT_ON_HOST_OPEN
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 a small amount of memory
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 does not display 'hi' on the LCD or sound 'hi' with sidetone, when starting
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 numerous non-inclusions of code segments in order to save memory so that the compiled code will fit into the available space on a nanoKeyer
OPTION_CW_KEYBOARD_CAPSLOCK_BEEP
OPTION_CW_KEYBOARD_ITALIAN
OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
OPTION_INVERT_PADDLE_PIN_LOGIC paddles are active high rather than the default of active low
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_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)