From 55ba0b5e0622c351d3930e3a756aa28a972a470a Mon Sep 17 00:00:00 2001 From: furrtek Date: Fri, 23 Sep 2016 20:17:29 +0200 Subject: [PATCH] Cleanup, random mode in DTMF TX --- .gitignore | 1 + firmware/application/ui_nuoptix.cpp | 40 ++++++++++++----- firmware/application/ui_nuoptix.hpp | 19 +++++--- firmware/baseband/proc_dtmf_tx.cpp | 65 ++++++++++++++++------------ firmware/baseband/proc_dtmf_tx.hpp | 45 +++++++++++-------- firmware/portapack-h1-havoc.bin | Bin 775100 -> 775420 bytes 6 files changed, 106 insertions(+), 64 deletions(-) diff --git a/.gitignore b/.gitignore index 489b779b..0ed41f35 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/firmware/baseband/baseband_dtmf_tx.img /firmware/baseband/baseband.img /firmware/baseband/baseband_afsk.img /firmware/baseband/baseband_ais.img diff --git a/firmware/application/ui_nuoptix.cpp b/firmware/application/ui_nuoptix.cpp index e2aa27f4..11849f29 100644 --- a/firmware/application/ui_nuoptix.cpp +++ b/firmware/application/ui_nuoptix.cpp @@ -24,7 +24,7 @@ #include "ch.h" -//#include "lfsr_random.hpp" +#include "lfsr_random.hpp" #include "ui_alphanum.hpp" #include "portapack.hpp" #include "string_format.hpp" @@ -50,15 +50,21 @@ void NuoptixView::transmit(bool setup) { uint8_t mod; uint8_t c; - if (!txing) { + if (!tx_mode) { transmitter_model.disable(); return; } + if (tx_mode == IMPROVISE) + timecode = lfsr_iterate(timecode) % 1999; // Should be 9999 but that would be one long audio track ! + if (setup) { pbar.set_max(4); - timecode = number_timecode.value(); + if (tx_mode == NORMAL) + timecode = number_timecode.value(); + else + timecode = 0125; transmitter_model.set_baseband_configuration({ .mode = 0, @@ -82,7 +88,6 @@ void NuoptixView::transmit(bool setup) { pbar.set_value(0); - //strcpy("#00028", shared_memory.tx_data); shared_memory.tx_data[2] = (timecode / 100) % 10; shared_memory.tx_data[3] = (timecode / 10) % 10; shared_memory.tx_data[4] = timecode % 10; @@ -98,9 +103,9 @@ void NuoptixView::transmit(bool setup) { shared_memory.tx_data[5] = mod; - shared_memory.tx_data[6] = 0xFF; + shared_memory.tx_data[6] = 0xFF; // End of message - baseband::set_dtmf_data(number_bw.value(), 49, 49); // 49ms tone, 49ms space + baseband::set_dtmf_data(number_bw.value(), 49, 49); // 49ms tone, 49ms space timecode++; } @@ -109,7 +114,6 @@ NuoptixView::NuoptixView( NavigationView& nav ) { - baseband::run_image(portapack::spi_flash::image_tag_dtmf_tx); add_children({ { @@ -121,6 +125,7 @@ NuoptixView::NuoptixView( &text_mod, &pbar, &button_tx, + &button_impro, &button_exit } }); @@ -143,10 +148,23 @@ NuoptixView::NuoptixView( }; button_tx.on_select = [this](Button&){ - if (txing) { - txing = false; - } else { - txing = true; + if (tx_mode == NORMAL) { + tx_mode = IDLE; + button_tx.set_text("TX"); + } else if (tx_mode == IDLE) { + tx_mode = NORMAL; + button_tx.set_text("STOP"); + transmit(true); + } + }; + + button_impro.on_select = [this](Button&){ + if (tx_mode == IMPROVISE) { + tx_mode = IDLE; + button_impro.set_text("IMPROVISE"); + } else if (tx_mode == IDLE) { + tx_mode = IMPROVISE; + button_impro.set_text("STOP"); transmit(true); } }; diff --git a/firmware/application/ui_nuoptix.hpp b/firmware/application/ui_nuoptix.hpp index 514daeea..9fb2c723 100644 --- a/firmware/application/ui_nuoptix.hpp +++ b/firmware/application/ui_nuoptix.hpp @@ -43,17 +43,17 @@ public: std::string title() const override { return "Nuoptix sync"; }; private: - /*enum tx_modes { - NORMAL = 0, - RANDOM + enum tx_modes { + IDLE = 0, + NORMAL, + IMPROVISE }; - tx_modes tx_mode = NORMAL;*/ + tx_modes tx_mode = IDLE; void on_tuning_frequency_changed(rf::Frequency f); void transmit(bool setup); - bool txing = false; uint32_t timecode; FrequencyField field_frequency { @@ -102,10 +102,15 @@ private: };*/ Button button_tx { - { 32, 270, 64, 32 }, + { 70, 128, 100, 40 }, "TX" }; + Button button_impro { + { 70, 184, 100, 40 }, + "IMPROVISE" + }; + Button button_exit { { 160, 270, 64, 32 }, "Exit" @@ -115,7 +120,7 @@ private: Message::ID::TXDone, [this](const Message* const p) { const auto message = *reinterpret_cast(p); - if (message.n == 64) + if (message.n == 0xFF) transmit(false); else pbar.set_value(message.n); diff --git a/firmware/baseband/proc_dtmf_tx.cpp b/firmware/baseband/proc_dtmf_tx.cpp index 0bcb64e5..e8477875 100644 --- a/firmware/baseband/proc_dtmf_tx.cpp +++ b/firmware/baseband/proc_dtmf_tx.cpp @@ -28,9 +28,6 @@ #include -// 153600 = 1000ms -// - void DTMFTXProcessor::execute(const buffer_c8_t& buffer){ // This is called at 1536000/2048 = 750Hz @@ -38,7 +35,6 @@ void DTMFTXProcessor::execute(const buffer_c8_t& buffer){ if (!configured) return; - //ai = 0; for (size_t i = 0; i(msg); if (message.id == Message::ID::DTMFTXConfig) { + + // Translate DTMF message to index in DTMF frequencies table + tone_ptr = &shared_memory.tx_data[0]; + for (;;) { + tone_code = *tone_ptr; + if (tone_code == 0xFF) + break; // End of message + else if (tone_code <= 9) + // That's already fine bro. + *tone_ptr = tone_code; + else if (tone_code == 'A') + *tone_ptr = 10; + else if (tone_code == 'B') + *tone_ptr = 11; + else if (tone_code == 'C') + *tone_ptr = 12; + else if (tone_code == 'D') + *tone_ptr = 13; + else if (tone_code == '#') + *tone_ptr = 14; + else if (tone_code == '*') + *tone_ptr = 15; + else { + *tone_ptr = 0xFF; // Invalid character, stop here + } + tone_ptr++; + } + // 1<<18 = 262144 // m = (262144 * a) / 1536000 // a = 262144 / 1536000 (*1000 = 171) bw = 171 * (message.bw); - tone_length = message.tone_length; - pause_length = message.pause_length; + tone_length = message.tone_length * 154; // 153.6 + pause_length = message.pause_length * 154; // 153.6 as = 0; - //memcpy(tone_list, shared_memory.tx_data, 32); - //tone_list[31] = 0; tone = false; timer = 0; tone_idx = 0; diff --git a/firmware/baseband/proc_dtmf_tx.hpp b/firmware/baseband/proc_dtmf_tx.hpp index 8389f205..b04f5802 100644 --- a/firmware/baseband/proc_dtmf_tx.hpp +++ b/firmware/baseband/proc_dtmf_tx.hpp @@ -26,7 +26,15 @@ #include "baseband_processor.hpp" #include "baseband_thread.hpp" -#define DTMF_PHASEINC (436.91) // (65536*1024)/1536000*10 +#define DTMF_PHASEINC 436.91 // (65536*1024)/1536000*10 +#define DTMF_C0 (uint32_t)(1209*DTMF_PHASEINC) +#define DTMF_C1 (uint32_t)(1336*DTMF_PHASEINC) +#define DTMF_C2 (uint32_t)(1477*DTMF_PHASEINC) +#define DTMF_C3 (uint32_t)(1633*DTMF_PHASEINC) +#define DTMF_R0 (uint32_t)(697*DTMF_PHASEINC) +#define DTMF_R1 (uint32_t)(770*DTMF_PHASEINC) +#define DTMF_R2 (uint32_t)(852*DTMF_PHASEINC) +#define DTMF_R3 (uint32_t)(941*DTMF_PHASEINC) class DTMFTXProcessor : public BasebandProcessor { public: @@ -41,32 +49,31 @@ private: // 0123456789ABCD#* const uint32_t DTMF_LUT[16][2] = { - { (uint32_t)(1336*DTMF_PHASEINC), (uint32_t)(941*DTMF_PHASEINC) }, - { (uint32_t)(1209*DTMF_PHASEINC), (uint32_t)(697*DTMF_PHASEINC) }, - { (uint32_t)(1336*DTMF_PHASEINC), (uint32_t)(697*DTMF_PHASEINC) }, - { (uint32_t)(1477*DTMF_PHASEINC), (uint32_t)(697*DTMF_PHASEINC) }, - { (uint32_t)(1209*DTMF_PHASEINC), (uint32_t)(770*DTMF_PHASEINC) }, - { (uint32_t)(1336*DTMF_PHASEINC), (uint32_t)(770*DTMF_PHASEINC) }, - { (uint32_t)(1477*DTMF_PHASEINC), (uint32_t)(770*DTMF_PHASEINC) }, - { (uint32_t)(1209*DTMF_PHASEINC), (uint32_t)(852*DTMF_PHASEINC) }, - { (uint32_t)(1336*DTMF_PHASEINC), (uint32_t)(852*DTMF_PHASEINC) }, - { (uint32_t)(1477*DTMF_PHASEINC), (uint32_t)(852*DTMF_PHASEINC) }, - { (uint32_t)(1633*DTMF_PHASEINC), (uint32_t)(697*DTMF_PHASEINC) }, - { (uint32_t)(1633*DTMF_PHASEINC), (uint32_t)(770*DTMF_PHASEINC) }, - { (uint32_t)(1633*DTMF_PHASEINC), (uint32_t)(852*DTMF_PHASEINC) }, - { (uint32_t)(1633*DTMF_PHASEINC), (uint32_t)(941*DTMF_PHASEINC) }, - { (uint32_t)(1477*DTMF_PHASEINC), (uint32_t)(941*DTMF_PHASEINC) }, - { (uint32_t)(1209*DTMF_PHASEINC), (uint32_t)(941*DTMF_PHASEINC) } + { DTMF_C1, DTMF_R3 }, + { DTMF_C0, DTMF_R0 }, + { DTMF_C1, DTMF_R0 }, + { DTMF_C2, DTMF_R0 }, + { DTMF_C0, DTMF_R1 }, + { DTMF_C1, DTMF_R1 }, + { DTMF_C2, DTMF_R1 }, + { DTMF_C0, DTMF_R2 }, + { DTMF_C1, DTMF_R2 }, + { DTMF_C2, DTMF_R2 }, + { DTMF_C3, DTMF_R0 }, + { DTMF_C3, DTMF_R1 }, + { DTMF_C3, DTMF_R2 }, + { DTMF_C3, DTMF_R3 }, + { DTMF_C2, DTMF_R3 }, + { DTMF_C0, DTMF_R3 } }; uint32_t tone_length, pause_length; uint32_t as, bw; - uint8_t tone_list[32]; uint8_t tone_idx = 0, tone_code = 0; uint32_t timer = 0; - bool tone = false; + bool tone = false; // Tone / pause int8_t re, im; int8_t sample; diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 55c13bcb1871892de56f421c445456f65e70fa70..d652b5a4691711cec9e725280bd89c42b3234b87 100644 GIT binary patch delta 38949 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