Skip to content

jhinrichsen/morse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

morse

ES2015
Travis build status

Implements ITU M.1677 : International Morse code.

Why yet another Morse library?

NPM reveals a load of existing Morse code libraries, but

  • ecto/morse does not support transmission signals, only .--. notation

  • dito for jarofghosts/morse-stream

  • skattyadz/node-morse-code is bound to Arduino/ events

  • joeLepper/morse-maker is based on keyboard events, and a flashing PI

  • ryanseys/tessel-morse …​ well, here i stopped and started coding

What’s that transmission thing again?

Morse code is a two way transformation from text to dots and spaces notation. The letter 'A' e.g. is represented as .-, and vice versa. But if you want to transmit this information, be it via air (sound or light), copper (electricity), or any other medium, you need a pulse and a signal/ no signal. At its heart, Morse code is a digital signal (on or off).

on     +---+   +-----------+
       |   |   |           |                    (1)
off   -+   +---+           +-----------

pulse ---+---+---+---+---+---+---+---+---> t
  1. Transmission signal for letter 'A'

Prerequisites

  • Go

Installation

go get github.com/jhinrichsen/morse

To do list

  • Decoding

  • Make implementation indepent of type String (support streams e.a.)

  • Maybe support Samuel Morse’s original version, just to allow pluggable tables