mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-09-10 08:39:29 +00:00
Utility: CW generator
This commit is contained in:
@@ -72,16 +72,14 @@ size_t morse_encode(std::string& message, const uint32_t time_unit_ms, const uin
|
||||
memcpy(shared_memory.bb_data.tones_data.message, morse_message, i);
|
||||
|
||||
// Setup tone "symbols"
|
||||
tone_defs[0].delta = TONES_F2D(tone); // 0: Dot
|
||||
tone_defs[0].duration = (TONES_SAMPLERATE * MORSE_DOT * time_unit_ms) / 1000;
|
||||
tone_defs[1].delta = TONES_F2D(tone); // 1: Dash
|
||||
tone_defs[1].duration = (TONES_SAMPLERATE * MORSE_DASH * time_unit_ms) / 1000;
|
||||
tone_defs[2].delta = 0; // 2: Symbol space
|
||||
tone_defs[2].duration = (TONES_SAMPLERATE * MORSE_SYMBOL_SPACE * time_unit_ms) / 1000;
|
||||
tone_defs[3].delta = 0; // 3: Letter space
|
||||
tone_defs[3].duration = (TONES_SAMPLERATE * MORSE_LETTER_SPACE * time_unit_ms) / 1000;
|
||||
tone_defs[4].delta = 0; // 4: Word space
|
||||
tone_defs[4].duration = (TONES_SAMPLERATE * MORSE_WORD_SPACE * time_unit_ms) / 1000;
|
||||
for (c = 0; c < 5; c++) {
|
||||
if (c < 2)
|
||||
tone_defs[c].delta = TONES_F2D(tone); // Dot and dash
|
||||
else
|
||||
tone_defs[c].delta = 0; // Pause
|
||||
|
||||
tone_defs[c].duration = (TONES_SAMPLERATE * morse_symbols[c] * time_unit_ms) / 1000;
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,14 @@
|
||||
#define MORSE_WORD_SPACE 7
|
||||
|
||||
namespace morse {
|
||||
|
||||
const uint32_t morse_symbols[5] = {
|
||||
MORSE_DOT,
|
||||
MORSE_DASH,
|
||||
MORSE_SYMBOL_SPACE,
|
||||
MORSE_LETTER_SPACE,
|
||||
MORSE_WORD_SPACE
|
||||
};
|
||||
|
||||
size_t morse_encode(std::string& message, const uint32_t time_unit_ms, const uint32_t tone);
|
||||
|
||||
|
||||
@@ -84,6 +84,8 @@ constexpr image_tag_t image_tag_adsb_tx { 'P', 'A', 'D', 'S' };
|
||||
constexpr image_tag_t image_tag_replay { 'P', 'R', 'E', 'P' };
|
||||
constexpr image_tag_t image_tag_fsktx { 'P', 'F', 'S', 'K' };
|
||||
|
||||
constexpr image_tag_t image_tag_noop { 'P', 'N', 'O', 'P' };
|
||||
|
||||
constexpr image_tag_t image_tag_hackrf { 'H', 'R', 'F', '1' };
|
||||
|
||||
struct chunk_t {
|
||||
|
||||
Reference in New Issue
Block a user