Home Reference Source Repository
import MorseKeyer from 'morse-pro/src/morse-pro-keyer.js'
public class | source

MorseKeyer

Direct Subclass:

MorseIambicKeyer

The Morse keyer tests for input on a timer, plays the appropriate tone and passes the data to a decoder.

Example:

var ditKey = 90;  // Z
var dahKey = 88;  // X
window.onkeyup = function(e) {
    if (e.keyCode === ditKey) { dit = false; }
    if (e.keyCode === dahKey) { dah = false; }
};
window.onkeydown = function(e) {
    var wasMiddle = !dit & !dah;
    if (e.keyCode === ditKey) { dit = true; }
    if (e.keyCode === dahKey) { dah = true; }
    if (wasMiddle & (dit | dah)) { keyer.start(); }
};
var keyCallback = function() {
    return ((dit === true) * 1) + ((dah === true) * 2);
};
var messageCallback = function(d) {
    console.log(d.message);
};
decoder = new MorseDecoder({wpm:20, messageCallback});
player = new MorsePlayerWAA({frequency:550});
keyer = new MorseKeyer({keyCallback, decoder, player});

Constructor Summary

Public Constructor
public

constructor(params: Object)

Member Summary

Public Members
public

decoder: *

public

ditLen: *

public

fditLen: *

public
public

player: *

public

timer: *

Private Members
private

_state: {"playing": *}

Method Summary

Public Methods
public

start()

Call this method when an initial key-press (or equivalent) is detected.

public

stop()

This method can be called externally to stop the keyer but is also used internally when no key-press is detected.

Private Methods
private

_check()

private

_ditOrDah(input: *): *

Translate key input into whether to play nothing, dit, or dah

private

_playTone(duration: number)

Play a dit or dah sidetone.

Public Constructors

public constructor(params: Object) source

Params:

NameTypeAttributeDescription
params Object

optional parameters.

params.keyCallback function(): number

A function which should return 0, 1, 2, or 3 from the vitual "paddle" depending if nothing, a dit, a dah or both is detected. This implementation will play dits if both keys are detected.

params.decoder MorseDecoder

Configured MorseDecoder.

params.player MorsePlayerWAA

Configured MorsePlayerWAA.

Public Members

public decoder: * source

public ditLen: * source

public fditLen: * source

public keyCallback: * source

public player: * source

public timer: * source

Private Members

private _state: {"playing": *} source

Public Methods

public start() source

Call this method when an initial key-press (or equivalent) is detected.

public stop() source

This method can be called externally to stop the keyer but is also used internally when no key-press is detected.

Private Methods

private _check() source

private _ditOrDah(input: *): * source

Translate key input into whether to play nothing, dit, or dah

Params:

NameTypeAttributeDescription
input *

Return:

*

undefined, true or false for nothing, dit or dah

private _playTone(duration: number) source

Play a dit or dah sidetone.

Params:

NameTypeAttributeDescription
duration number

number of milliseconds to play