Skip to content

Instantly share code, notes, and snippets.

Created February 21, 2018 00:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/24c9a92fb2a4b56871b53c7e58ccf718 to your computer and use it in GitHub Desktop.
Save anonymous/24c9a92fb2a4b56871b53c7e58ccf718 to your computer and use it in GitHub Desktop.
var alfabeto = {
"a": ".-",
"b": "-...",
"c": "-.-.",
"d": "-..",
"e": ".",
"f": "..-.",
"g": "--.",
"h": "....",
"i": "..",
"j": ".---",
"k": "-.-",
"l": ".-..",
"m": "--",
"n": "-.",
"o": "---",
"p": ".--.",
"q": "--.-",
"r": ".-.",
"s": "...",
"t": "-",
"u": "..-",
"v": "...-",
"w": ".--",
"x": "-..-",
"y": "-.--",
"z": "--..",
"0": "-----",
"1": ".----",
"2": "..---",
"3": "...--",
"4": "....-",
"5": ".....",
"6": "-....",
"7": "--...",
"8": "---..",
"9": "----.",
".": ".-.-.-",
",": "--..--",
":": "---...",
"?": "..--..",
"'": ".----.",
"-": "-....-",
"/": "-..-.",
'"': ".-..-.",
"@": ".--.-.",
"=": "-...-",
"!": "---.",
" ": " ",
}
var opcoesDeBips = {
'curto': 50,
'longo': 150,
'espaco': 2000,
}
var beeps = [
'curto',
'longo',
'curto',
]
function textoParaMorse( texto ) {
return texto
.split('')
.map( letra => alfabeto[letra] )
.join(' ')
}
function traduzLetra( letra ) {
switch( letra ) {
case '.':
return 'curto'
case '-':
return 'longo'
case ' ':
return 'espaco'
default:
return letra
}
}
function morseParaCoordenada( morse ) {
var codigoEmCoordenadas = morse.split('').map( traduzLetra )
console.log(codigoEmCoordenadas)
return codigoEmCoordenadas
}
function keyPress( duracaoDoBeep = 400 ) {
return new Promise( resolve => {
if( duracaoDoBeep !== 200 ) {
app.morsers.me.keyDown()
}
setTimeout(() => {
app.morsers.me.keyUp()
resolve()
}, duracaoDoBeep);
});
}
async function bundle( beeps ) {
for (var i = beeps.length - 1; i >= 0; i--) {
var beep = beeps[i]
console.log(`Beep ${beep}`)
await keyPress(opcoesDeBips[beep])
}
}
bundle( beeps )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment