From d59ee08f416c2a8458ac84dac2dd629d51238416 Mon Sep 17 00:00:00 2001 From: furrtek Date: Tue, 18 Apr 2017 12:55:49 +0100 Subject: [PATCH] Whistle now works Moved BW widget in txview String-ized LCR and AFSK message generator --- firmware/application/CMakeLists.txt | 10 +- firmware/application/afsk.cpp | 12 +- firmware/application/afsk.hpp | 14 +-- firmware/application/baseband_api.cpp | 23 ++++ firmware/application/baseband_api.hpp | 2 + firmware/application/{ => protocols}/adsb.cpp | 0 firmware/application/{ => protocols}/adsb.hpp | 0 firmware/application/{ => protocols}/bht.cpp | 0 firmware/application/{ => protocols}/bht.hpp | 0 firmware/application/{ => protocols}/dcs.cpp | 0 firmware/application/{ => protocols}/dcs.hpp | 0 .../application/{ => protocols}/encoders.hpp | 0 firmware/application/protocols/lcr.cpp | 73 +++++++++++ firmware/application/protocols/lcr.hpp | 37 ++++++ firmware/application/{ => protocols}/rds.cpp | 0 firmware/application/{ => protocols}/rds.hpp | 0 firmware/application/ui_debug.cpp | 4 +- firmware/application/ui_debug.hpp | 2 +- firmware/application/ui_lcr.cpp | 118 ++++++------------ firmware/application/ui_lcr.hpp | 4 +- firmware/application/ui_morse.cpp | 2 +- firmware/application/ui_navigation.cpp | 2 +- firmware/application/ui_script.cpp | 5 +- firmware/application/ui_transmitter.hpp | 4 +- firmware/application/ui_whistle.cpp | 118 +++++++++--------- firmware/application/ui_whistle.hpp | 62 ++++++--- firmware/baseband/hackrf.img | Bin 20476 -> 21984 bytes firmware/baseband/proc_afsk.cpp | 35 +++--- firmware/bootstrap/bootstrap.bin | Bin 228 -> 220 bytes firmware/portapack-h1-havoc.bin | Bin 848992 -> 849920 bytes 30 files changed, 312 insertions(+), 215 deletions(-) rename firmware/application/{ => protocols}/adsb.cpp (100%) rename firmware/application/{ => protocols}/adsb.hpp (100%) rename firmware/application/{ => protocols}/bht.cpp (100%) rename firmware/application/{ => protocols}/bht.hpp (100%) rename firmware/application/{ => protocols}/dcs.cpp (100%) rename firmware/application/{ => protocols}/dcs.hpp (100%) rename firmware/application/{ => protocols}/encoders.hpp (100%) create mode 100644 firmware/application/protocols/lcr.cpp create mode 100644 firmware/application/protocols/lcr.hpp rename firmware/application/{ => protocols}/rds.cpp (100%) rename firmware/application/{ => protocols}/rds.hpp (100%) diff --git a/firmware/application/CMakeLists.txt b/firmware/application/CMakeLists.txt index 0fd0b3df8..35559e760 100644 --- a/firmware/application/CMakeLists.txt +++ b/firmware/application/CMakeLists.txt @@ -135,16 +135,17 @@ set(CPPSRC debounce.cpp touch.cpp touch_adc.cpp - adsb.cpp + protocols/adsb.cpp + protocols/bht.cpp + protocols/dcs.cpp + protocols/lcr.cpp + protocols/rds.cpp afsk.cpp audio.cpp ${COMMON}/bch_code.cpp - bht.cpp ctcss.cpp - dcs.cpp encoder.cpp freqman.cpp - rds.cpp ${COMMON}/lcd_ili9341.cpp ${COMMON}/ui.cpp ${COMMON}/ui_text.cpp @@ -270,6 +271,7 @@ set(INCDIR ${CMAKE_CURRENT_BINARY_DIR} ${COMMON} ${PORTINC} ${KERNINC} ${TESTINC ${FATFSINC} ${CHIBIOS}/os/various bitmaps + protocols ) # diff --git a/firmware/application/afsk.cpp b/firmware/application/afsk.cpp index f7efc0910..59da03166 100644 --- a/firmware/application/afsk.cpp +++ b/firmware/application/afsk.cpp @@ -26,7 +26,7 @@ namespace afsk { -void generate_data(const char * in_message, char * out_data) { +void generate_data(const std::string & in_message, char * out_data) { const afsk_formats_t * format_def; uint8_t pm, pp, bit, cp, cur_byte, new_byte; uint16_t dp; @@ -40,7 +40,7 @@ void generate_data(const char * in_message, char * out_data) { if (format_def->data_bits == 7) { if (!format_def->use_LUT) { - for (dp = 0; dp < strlen(in_message); dp++) { + for (dp = 0; dp < in_message.length(); dp++) { pp = pm; new_byte = 0; cur_byte = in_message[dp]; @@ -55,14 +55,10 @@ void generate_data(const char * in_message, char * out_data) { out_data[dp++] = 0; out_data[dp] = 0; } else { - for (dp = 0; dp < strlen(in_message); dp++) { + for (dp = 0; dp < in_message.length(); dp++) { pp = pm; - // Do not apply LUT on checksum (last byte) ? - if (dp != strlen(in_message) - 1) - cur_byte = alt_lookup[(uint8_t)in_message[dp] & 0x7F]; - else - cur_byte = in_message[dp]; + cur_byte = in_message[dp]; for (cp = 0; cp < 8; cp++) if ((cur_byte >> cp) & 1) pp++; diff --git a/firmware/application/afsk.hpp b/firmware/application/afsk.hpp index b78b0864b..a5fc3678f 100644 --- a/firmware/application/afsk.hpp +++ b/firmware/application/afsk.hpp @@ -54,19 +54,7 @@ const afsk_formats_t afsk_formats[4] = { { "8-Even-0 ", "8E0", 8, EVEN, 1, true, false } }; -// TODO: Complete table -const char alt_lookup[128] = { - 0, 0, 0, 0x5F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0F, // 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 0xF8, 0, 0x99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 !"#$%&'()*+,-./ - 0xF5, 0, 0x94, 0x55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1C, 0, 0, // 30 0123456789:;<=>? - 0, 0x3C, 0x9C, 0x5D, 0, 0, 0, 0, 0, 0x44, 0x85, 0, 0xD5, 0x14, 0, 0, // 40 @ABCDEFGHIJKLMNO - 0xF0, 0, 0, 0x50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 PQRSTUVWXYZ[\]^_ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 `abcdefghijklmno - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7F // 70 pqrstuvwxyz{|}~ -}; - -void generate_data(const char * in_message, char * out_data); +void generate_data(const std::string & in_message, char * out_data); } /* namespace afsk */ diff --git a/firmware/application/baseband_api.cpp b/firmware/application/baseband_api.cpp index 2f93c7478..ca639cb6a 100644 --- a/firmware/application/baseband_api.cpp +++ b/firmware/application/baseband_api.cpp @@ -96,6 +96,17 @@ void set_tones_config(const uint32_t bw, const uint32_t pre_silence, const uint1 send_message(&message); } +void kill_tone() { + const TonesConfigureMessage message { + 0, + 0, + 0, + false, + false + }; + send_message(&message); +} + void set_sstv_data(const uint8_t vis_code, const uint32_t pixel_duration) { const SSTVConfigureMessage message { vis_code, @@ -117,6 +128,18 @@ void set_afsk_data(const uint32_t afsk_samples_per_bit, const uint32_t afsk_phas send_message(&message); } +void kill_afsk() { + const AFSKConfigureMessage message { + 0, + 0, + 0, + 0, + 0, + false + }; + send_message(&message); +} + void set_audiotx_data(const uint32_t divider, const uint32_t bw, const uint32_t gain_x10, const bool ctcss_enabled, const uint32_t ctcss_phase_inc) { const AudioTXConfigMessage message { diff --git a/firmware/application/baseband_api.hpp b/firmware/application/baseband_api.hpp index f276716c5..3a1c34fb9 100644 --- a/firmware/application/baseband_api.hpp +++ b/firmware/application/baseband_api.hpp @@ -58,6 +58,7 @@ struct WFMConfig { void set_tone(const uint32_t index, const uint32_t delta, const uint32_t duration); void set_tones_config(const uint32_t bw, const uint32_t pre_silence, const uint16_t tone_count, const bool dual_tone, const bool audio_out); +void kill_tone(); void set_sstv_data(const uint8_t vis_code, const uint32_t pixel_duration); void set_audiotx_data(const uint32_t divider, const uint32_t bw, const uint32_t gain_x10, const bool ctcss_enabled, const uint32_t ctcss_phase_inc); @@ -65,6 +66,7 @@ void set_fifo_data(const int8_t * data); void set_pwmrssi(int32_t avg, bool enabled); void set_afsk_data(const uint32_t afsk_samples_per_bit, const uint32_t afsk_phase_inc_mark, const uint32_t afsk_phase_inc_space, const uint8_t afsk_repeat, const uint32_t afsk_bw, const bool afsk_alt_format); +void kill_afsk(); void set_ook_data(const uint32_t stream_length, const uint32_t samples_per_bit, const uint8_t repeat, const uint32_t pause_symbols); void set_fsk_data(const uint32_t stream_length, const uint32_t samples_per_bit, const uint32_t shift, diff --git a/firmware/application/adsb.cpp b/firmware/application/protocols/adsb.cpp similarity index 100% rename from firmware/application/adsb.cpp rename to firmware/application/protocols/adsb.cpp diff --git a/firmware/application/adsb.hpp b/firmware/application/protocols/adsb.hpp similarity index 100% rename from firmware/application/adsb.hpp rename to firmware/application/protocols/adsb.hpp diff --git a/firmware/application/bht.cpp b/firmware/application/protocols/bht.cpp similarity index 100% rename from firmware/application/bht.cpp rename to firmware/application/protocols/bht.cpp diff --git a/firmware/application/bht.hpp b/firmware/application/protocols/bht.hpp similarity index 100% rename from firmware/application/bht.hpp rename to firmware/application/protocols/bht.hpp diff --git a/firmware/application/dcs.cpp b/firmware/application/protocols/dcs.cpp similarity index 100% rename from firmware/application/dcs.cpp rename to firmware/application/protocols/dcs.cpp diff --git a/firmware/application/dcs.hpp b/firmware/application/protocols/dcs.hpp similarity index 100% rename from firmware/application/dcs.hpp rename to firmware/application/protocols/dcs.hpp diff --git a/firmware/application/encoders.hpp b/firmware/application/protocols/encoders.hpp similarity index 100% rename from firmware/application/encoders.hpp rename to firmware/application/protocols/encoders.hpp diff --git a/firmware/application/protocols/lcr.cpp b/firmware/application/protocols/lcr.cpp new file mode 100644 index 000000000..f1221eecf --- /dev/null +++ b/firmware/application/protocols/lcr.cpp @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "lcr.hpp" +#include "string_format.hpp" + +//#include "portapack_persistent_memory.hpp" + +namespace lcr { + +std::string generate_message(std::string rgsb, std::vector litterals, size_t option_ec) { + const std::string ec_lut[4] = { "A", "J", "N", "S" }; // Eclairage (Auto, Jour, Nuit) + char eom[3] = { 3, 0, 0 }; // EOM and space for checksum + uint8_t i; + std::string lcr_message { 127, 127, 127, 127, 127, 127, 127, 15 }; // Modem sync and SOM + char checksum = 0; + + // Pad litterals to 7 chars (not required ?) + for (auto & litteral : litterals) + while (litteral.length() < 7) + litteral += ' '; + + // Compose LCR message + lcr_message += rgsb; + lcr_message += "PA "; + + i = 1; + for (auto & litteral : litterals) { + lcr_message += "AM="; + lcr_message += to_string_dec_uint(i, 1); + lcr_message += " AF=\""; + lcr_message += litteral; + lcr_message += "\" CL=0 "; + i++; + } + + lcr_message += "EC="; + lcr_message += ec_lut[option_ec]; + lcr_message += " SAB=0"; + + // Checksum + i = 7; // Skip modem sync + while (lcr_message[i]) + checksum ^= lcr_message[i++]; + checksum ^= eom[0]; // EOM char + checksum &= 0x7F; // Trim + eom[1] = checksum; + + lcr_message += eom; + + return lcr_message; +} + +} /* namespace lcr */ diff --git a/firmware/application/protocols/lcr.hpp b/firmware/application/protocols/lcr.hpp new file mode 100644 index 000000000..e8aaa6cb8 --- /dev/null +++ b/firmware/application/protocols/lcr.hpp @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "ui.hpp" +#include +#include +#include + +#ifndef __LCR_H__ +#define __LCR_H__ + +namespace lcr { + +std::string generate_message(std::string rgsb, std::vector litterals, size_t option_ec); + +} /* namespace lcr */ + +#endif/*__LCR_H__*/ diff --git a/firmware/application/rds.cpp b/firmware/application/protocols/rds.cpp similarity index 100% rename from firmware/application/rds.cpp rename to firmware/application/protocols/rds.cpp diff --git a/firmware/application/rds.hpp b/firmware/application/protocols/rds.hpp similarity index 100% rename from firmware/application/rds.hpp rename to firmware/application/protocols/rds.hpp diff --git a/firmware/application/ui_debug.cpp b/firmware/application/ui_debug.cpp index 3d13bf021..a1a81d2a3 100644 --- a/firmware/application/ui_debug.cpp +++ b/firmware/application/ui_debug.cpp @@ -281,7 +281,7 @@ DebugMenuView::DebugMenuView(NavigationView& nav) { on_left = [&nav](){ nav.pop(); }; } -DebugLCRView::DebugLCRView(NavigationView& nav, std::string lcr_string, uint8_t checksum) { +DebugLCRView::DebugLCRView(NavigationView& nav, std::string lcr_string) { std::string debug_text; @@ -299,7 +299,7 @@ DebugLCRView::DebugLCRView(NavigationView& nav, std::string lcr_string, uint8_t debug_text += "\n\n"; debug_text += "Length: " + to_string_dec_uint(lcr_string.length()) + '\n'; - debug_text += "Checksum: " + to_string_dec_uint(checksum) + '\n'; + debug_text += "Checksum: " + to_string_dec_uint(lcr_string.back()) + '\n'; console.write(debug_text); diff --git a/firmware/application/ui_debug.hpp b/firmware/application/ui_debug.hpp index fa6a64607..ae1fa31d6 100644 --- a/firmware/application/ui_debug.hpp +++ b/firmware/application/ui_debug.hpp @@ -210,7 +210,7 @@ private: class DebugLCRView : public View { public: - DebugLCRView(NavigationView& nav, std::string lcrstring, uint8_t checksum); + DebugLCRView(NavigationView& nav, std::string lcrstring); void focus() override; diff --git a/firmware/application/ui_lcr.cpp b/firmware/application/ui_lcr.cpp index 6ac4d3c4a..20a2fbbd7 100644 --- a/firmware/application/ui_lcr.cpp +++ b/firmware/application/ui_lcr.cpp @@ -25,6 +25,7 @@ #include "ui_debug.hpp" #include "afsk.hpp" +#include "lcr.hpp" #include "baseband_api.hpp" #include "string_format.hpp" @@ -47,58 +48,6 @@ LCRView::~LCRView() { baseband::shutdown(); } -void LCRView::generate_message() { - const char lcr_init[8] = { 127, 127, 127, 127, 127, 127, 127, 15 }; // Modem sync and SOM - const char ec_lut[4][2] = { { 'A', 0x00 }, // Eclairage (Auto, Jour, Nuit) - { 'J', 0x00 }, - { 'N', 0x00 }, - { 'S', 0x00 } }; - char eom[3] = { 3, 0, 0 }; // EOM and space for checksum - - uint8_t i; - - button_setrgsb.set_text(rgsb); - - // Pad litterals to 7 chars (not required ?) - for (i = 0; i < 5; i++) - while (strlen(litteral[i]) < 7) - strcat(litteral[i], " "); - - // Compose LCR message - memset(lcr_message, 0, 512); - memcpy(lcr_message, lcr_init, 8); - - strcat(lcr_message, rgsb); // Address - strcat(lcr_message, "PA "); - - for (i = 0; i < 5; i++) { - if (checkboxes[i].value() == true) { - strcat(lcr_message, "AM="); - strcat(lcr_message, to_string_dec_uint(i + 1, 1).c_str()); - strcat(lcr_message, " AF=\""); - strcat(lcr_message, litteral[i]); - strcat(lcr_message, "\" CL=0 "); - } - } - strcat(lcr_message, "EC="); - strcat(lcr_message, ec_lut[options_ec.selected_index()]); - strcat(lcr_message, " SAB=0"); - - // Checksum - checksum = 0; - i = 7; // Skip modem sync - while (lcr_message[i]) - checksum ^= lcr_message[i++]; - - checksum ^= eom[0]; // EOM char - checksum &= 0x7F; // Trim - eom[1] = checksum; - - strcat(lcr_message, eom); - - afsk::generate_data(lcr_message, lcr_message_data); -} - void LCRView::paint(Painter& painter) { uint8_t i; std::string final_str; @@ -134,6 +83,17 @@ void LCRView::paint(Painter& painter) { text_recap.set(final_str); } +std::vector LCRView::parse_litterals() { + std::vector litterals; + + for (size_t i = 0; i < 5; i++) { + if (checkboxes[i].value()) + litterals.push_back(litteral[i]); + } + + return litterals; +} + void LCRView::update_progress() { char str[16]; @@ -162,8 +122,6 @@ void LCRView::update_progress() { } void LCRView::on_txdone(int n) { - char str[16]; - if (n > 0) { // Repeating... repeat_index = n + 1; @@ -177,25 +135,13 @@ void LCRView::on_txdone(int n) { // Done transmitting if ((tx_mode == SCAN) && (scan_index < (scan_count - 1))) { transmitter_model.disable(); - if (abort_scan) { - // Kill scan process - strcpy(str, "Abort @"); - strcat(str, rgsb); - text_status.set(str); - progress.set_value(0); - tx_mode = IDLE; - abort_scan = false; - button_scan.set_style(&style_val); - button_scan.set_text("SCAN"); - } else { - // Next address - scan_index++; - strcpy(rgsb, &scan_list[options_scanlist.selected_index()].addresses[scan_index * 5]); - scan_progress++; - repeat_index = 1; - update_progress(); - start_tx(true); - } + // Next address + scan_index++; + strcpy(rgsb, &scan_list[options_scanlist.selected_index()].addresses[scan_index * 5]); + scan_progress++; + repeat_index = 1; + update_progress(); + start_tx(true); } else { transmitter_model.disable(); tx_mode = IDLE; @@ -230,7 +176,8 @@ void LCRView::start_tx(const bool scan) { update_progress(); } - generate_message(); + button_setrgsb.set_text(rgsb); + afsk::generate_data(lcr::generate_message(rgsb, parse_litterals(), options_ec.selected_index()), lcr_message_data); switch (portapack::persistent_memory::afsk_format()) { case 0: @@ -259,10 +206,10 @@ void LCRView::start_tx(const bool scan) { baseband::set_afsk_data( (153600 * 5) / portapack::persistent_memory::afsk_bitrate(), - portapack::persistent_memory::afsk_mark_freq() * 437 * 5, //(0x40000 * 256) / (153600 / 25), - portapack::persistent_memory::afsk_space_freq() * 437 * 5, //(0x40000 * 256) / (153600 / 25), + portapack::persistent_memory::afsk_mark_freq() * 437 * 5, // (0x40000 * 256) / (153600 / 25), + portapack::persistent_memory::afsk_space_freq() * 437 * 5, // (0x40000 * 256) / (153600 / 25), afsk_repeats, - portapack::persistent_memory::afsk_bw() * 115, // See proc_afsk.cpp + portapack::persistent_memory::afsk_bw() * 115, // See proc_afsk.cpp afsk_format ); } @@ -355,8 +302,7 @@ LCRView::LCRView(NavigationView& nav) { }; button_lcrdebug.on_select = [this, &nav](Button&) { - generate_message(); - nav.push(std::string(lcr_message), checksum); + nav.push(lcr::generate_message(rgsb, parse_litterals(), options_ec.selected_index())); }; button_transmit.on_select = [this](Button&) { @@ -364,12 +310,22 @@ LCRView::LCRView(NavigationView& nav) { }; button_scan.on_select = [this](Button&) { + char str[16]; + if (tx_mode == IDLE) { button_scan.set_style(&style_cancel); button_scan.set_text("ABORT"); start_tx(true); } else { - abort_scan = true; + // Kill scan process + baseband::kill_afsk(); + strcpy(str, "Abort @"); + strcat(str, rgsb); + text_status.set(str); + progress.set_value(0); + tx_mode = IDLE; + button_scan.set_style(&style_val); + button_scan.set_text("SCAN"); } }; @@ -383,8 +339,6 @@ LCRView::LCRView(NavigationView& nav) { checkboxes[n].set_value(true); set_dirty(); start_tx(false); - } else if (tx_mode == SCAN) { - abort_scan = true; } }; } diff --git a/firmware/application/ui_lcr.hpp b/firmware/application/ui_lcr.hpp index 7a05311ab..146fc62b3 100644 --- a/firmware/application/ui_lcr.hpp +++ b/firmware/application/ui_lcr.hpp @@ -79,18 +79,16 @@ private: }; tx_modes tx_mode = IDLE; - bool abort_scan = false; uint8_t scan_count { 0 }, scan_index { 0 }; double scan_progress { 0 }; char litteral[5][8] = { { 0 }, { 0 }, { 0 }, { 0 }, { 0 } }; char rgsb[5] = { 0 }; char lcr_message[512]; char lcr_message_data[512]; - char checksum = 0; rf::Frequency f { 0 }; uint8_t repeat_index { 0 }; - void generate_message(); + std::vector parse_litterals(); void update_progress(); void start_tx(const bool scan); void on_txdone(int n); diff --git a/firmware/application/ui_morse.cpp b/firmware/application/ui_morse.cpp index 1ca6e8527..5bfd8e0fd 100644 --- a/firmware/application/ui_morse.cpp +++ b/firmware/application/ui_morse.cpp @@ -208,7 +208,7 @@ MorseView::MorseView( tx_view.on_stop = [this]() { if (ookthread) chThdTerminate(ookthread); transmitter_model.disable(); - baseband::set_tones_config(0, 0, 0, false, false); + baseband::kill_tone(); tx_view.set_transmitting(false); }; } diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 84b344e0c..efffe250c 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -326,7 +326,7 @@ TransmitterAudioMenuView::TransmitterAudioMenuView(NavigationView& nav) { { "Soundboard", ui::Color::green(), &bitmap_icon_soundboard, [&nav](){ nav.push(); } }, { "Numbers station", ui::Color::yellow(),&bitmap_icon_numbers, [&nav](){ nav.push(); } }, { "Microphone", ui::Color::green(), &bitmap_icon_microphone, [&nav](){ nav.push(); } }, - { "Whistle", ui::Color::orange(),&bitmap_icon_whistle, [&nav](){ nav.push(); } }, + { "Whistle", ui::Color::green(), &bitmap_icon_whistle, [&nav](){ nav.push(); } }, } }); on_left = [&nav](){ nav.pop(); }; } diff --git a/firmware/application/ui_script.cpp b/firmware/application/ui_script.cpp index bfd68a303..d2e68ac49 100644 --- a/firmware/application/ui_script.cpp +++ b/firmware/application/ui_script.cpp @@ -36,12 +36,13 @@ void ScriptView::on_frequency_select() { } void ScriptView::on_edit_freq(rf::Frequency f) { + (void)f; //frequencies[menu_view.highlighted()].value = f; setup_list(); } void ScriptView::on_edit_desc(NavigationView& nav) { - + (void)nav; } void ScriptView::on_delete() { @@ -50,7 +51,7 @@ void ScriptView::on_delete() { } void ScriptView::setup_list() { - size_t n; + //size_t n; menu_view.clear(); diff --git a/firmware/application/ui_transmitter.hpp b/firmware/application/ui_transmitter.hpp index 7090f7cc1..051cfd1a0 100644 --- a/firmware/application/ui_transmitter.hpp +++ b/firmware/application/ui_transmitter.hpp @@ -100,11 +100,11 @@ private: }; Text text_bw { - { 11 * 8, 1 * 8, 9 * 8, 1 * 16 }, + { 11 * 8, 2 * 8, 9 * 8, 1 * 16 }, "BW: kHz" }; NumberField field_bw { - { 14 * 8, 1 * 8 }, + { 14 * 8, 2 * 8 }, 3, { 1, 150 }, 1, diff --git a/firmware/application/ui_whistle.cpp b/firmware/application/ui_whistle.cpp index 7488c50e0..05648e785 100644 --- a/firmware/application/ui_whistle.cpp +++ b/firmware/application/ui_whistle.cpp @@ -22,92 +22,86 @@ #include "ui_whistle.hpp" #include "ui_receiver.hpp" +#include "tonesets.hpp" -#include "portapack.hpp" -#include "hackrf_hal.hpp" -#include "portapack_shared_memory.hpp" -#include "portapack_persistent_memory.hpp" +#include "baseband_api.hpp" #include #include -using namespace hackrf::one; +using namespace portapack; namespace ui { +void WhistleView::start_tx() { + baseband::set_tone( + 0, + field_tone.value() * TONES_DELTA_COEF, + (checkbox_stop.value()) ? field_stop.value() * TONES_SAMPLERATE : 0xFFFFFFFF); // (Almost) infinite duration :) + + shared_memory.bb_data.tones_data.message[0] = 0; + + transmitter_model.set_sampling_rate(1536000); + transmitter_model.set_rf_amp(true); + transmitter_model.set_baseband_bandwidth(1750000); + transmitter_model.enable(); + + baseband::set_tones_config(transmitter_model.bandwidth(), 0, 1, false, false); + + tx_mode = SINGLE; +} + +void WhistleView::on_tx_progress(const bool done) { + if (done) { + transmitter_model.disable(); + tx_view.set_transmitting(false); + tx_mode = IDLE; + } +} + void WhistleView::focus() { - button_transmit.focus(); + tx_view.focus(); } WhistleView::~WhistleView() { - //transmitter_model.disable(); + transmitter_model.disable(); + baseband::shutdown(); } -void WhistleView::paint(Painter& painter) { - (void)painter; -} - -Button WhistleView::button_scan = { - { 76, 270, 72, 32 }, - "SCAN" -}; - WhistleView::WhistleView( NavigationView& nav ) { + baseband::run_image(portapack::spi_flash::image_tag_tones); + add_children({ - &button_transmit, - &button_exit + &labels, + &field_tone, + &checkbox_stop, + &field_stop, + &tx_view }); - button_transmit.on_select = [this](Button&){ - /*uint16_t c; - ui::Context context; - - make_frame(); - - shared_memory.afsk_samples_per_bit = 228000/persistent_memory::afsk_bitrate(); - shared_memory.afsk_phase_inc_mark = persistent_memory::afsk_mark_freq()*(65536*1024)/2280; - shared_memory.afsk_phase_inc_space = persistent_memory::afsk_space_freq()*(65536*1024)/2280; - - for (c = 0; c < 256; c++) { - shared_memory.lcrdata[c] = this->lcrframe[c]; + field_tone.set_value(1520); + field_stop.set_value(15); + + tx_view.on_edit_frequency = [this, &nav]() { + auto new_view = nav.push(receiver_model.tuning_frequency()); + new_view->on_changed = [this](rf::Frequency f) { + receiver_model.set_tuning_frequency(f); + }; + }; + + tx_view.on_start = [this]() { + if (tx_mode == IDLE) { + tx_view.set_transmitting(true); + start_tx(); } - - shared_memory.afsk_transmit_done = false; - shared_memory.afsk_repeat = 5; // DEFAULT - - text_status.set("Send...");*/ - - //transmitter_model.enable(); }; - - button_exit.on_select = [&nav](Button&){ - nav.pop(); + + tx_view.on_stop = [this]() { + baseband::kill_tone(); }; - - //static VirtualTimer vt1; - //msg_t msg, result; - - /*static EvTimer evt; - static EventListener el0; - - evtInit(&evt, MS2ST(2000)); - evtStart(&evt); - chEvtRegister(&evt.et_es, &el0, 0);*/ - - //chVTSet(&vt1, MS2ST(2000), whistle_th, (void *)&mbox); - - //while(1) { - /*result = chMBFetch(&mbox, &msg, TIME_INFINITE); - if(result == RDY_OK) { - if(msg & 1) - button_scan.set_text("POUET"); - }*/ - //chThdSleepMilliseconds(500); - //} - } } /* namespace ui */ diff --git a/firmware/application/ui_whistle.hpp b/firmware/application/ui_whistle.hpp index 7f6466d01..9cec2bf50 100644 --- a/firmware/application/ui_whistle.hpp +++ b/firmware/application/ui_whistle.hpp @@ -24,7 +24,7 @@ #include "ui_widget.hpp" #include "ui_painter.hpp" #include "ui_navigation.hpp" -#include "ui_font_fixed_8x16.hpp" +#include "ui_transmitter.hpp" #include "message.hpp" #include "transmitter_model.hpp" @@ -36,33 +36,59 @@ public: ~WhistleView(); void focus() override; - void paint(Painter& painter) override; - static void whistle_th(void *p); + + std::string title() const override { return "Whistle"; }; private: - rf::Frequency f; + void start_tx(); + void on_tx_progress(const bool done); - Text text_status { - { 172, 196, 64, 16 }, - "Ready" + enum tx_modes { + IDLE = 0, + SINGLE }; - Checkbox checkbox_am_a { - { 16, 68 }, - 20, - "" + tx_modes tx_mode = IDLE; + + Labels labels { + { { 3 * 8, 4 * 8 }, "Tone frequency: Hz", Color::light_grey() }, + { { 22 * 8, 8 * 8 + 4 }, "s.", Color::light_grey() } }; - Button button_transmit { - { 24, 270, 48, 32 }, - "TX" + NumberField field_tone { + { 19 * 8, 4 * 8 }, + 4, + { 1, 9999 }, + 5, + ' ' }; - static Button button_scan; + Checkbox checkbox_stop { + { 5 * 8, 8 * 8 }, + 10, + "Stop after" + }; - Button button_exit { - { 176, 270, 48, 32 }, - "Exit" + NumberField field_stop { + { 20 * 8, 8 * 8 + 4 }, + 2, + { 1, 99 }, + 1, + ' ' + }; + + TransmitterView tx_view { + 16 * 16, + 10000, + 12 + }; + + MessageHandlerRegistration message_handler_tx_done { + Message::ID::TXDone, + [this](const Message* const p) { + const auto message = *reinterpret_cast(p); + this->on_tx_progress(message.done); + } }; }; diff --git a/firmware/baseband/hackrf.img b/firmware/baseband/hackrf.img index 7b17e2671de041291db6fdb0cf7ee01ddeff0aad..a21cad092aeee5e28656f4227da3eabec085cd7d 100644 GIT binary patch literal 21984 zcmc(H4SZD9weQ~NoXMO?1~Op+4oQUh2#^rK380{0oy;UBAAeFAzk;1rkhF$xdHHT79m4`1YiX4?H{9I zz*nBvZbAXYrF$zxjTV_Wu|Dwv6nZ$#N01u%~uPfzZiU+^9I5e6yvLS_7qT zc?mJK3KFqWdHs;1<`zFKNQrPV9U<2Cb0!xj|E-;qk0&m^ecA48edvJkxoaFmnRP8E z-y3gNa-8OJ-rnElwu*s@z~$0MqVWZ;XN&NGhm-Z(4zfZq%{mHB=^UMBm`Qs)WP9ib zbDeXo1ynIxO9Ed+#vO3BbB;9R9*UBXXckSg&-WK`vT1~qFAQ@s0p6WZW3Q`Ml`Xh_ zK_!t_ju820@vF*-mB@98E6b?dl$ej_UhTO%F%RK?!;{FbCFbIJIHB4^s~|5(8G+ zqA7qd2@>mb40oU<@SA;JE+vkY6)94>B*>j{LHa&w`tNaS+bk_dXnEXqVGaL;JHM0K zmX&dGzpA$rhf}&5)UU^{FTdVv$eQdc^EM~?du_#ATPl#}^^r~4#lR78DMg<7qcryh z$%U9%@yzBT@3HgTPpne=Ir)Ko7jESb4or?4a(!{l@%Ac?~KnarwPF}7y0(b ziS2ZB--XxgMSZ)>yWLXf%Y#*S&bdDKM0($L!|C&6>te^hCwR&y^ckiekyOfruas}% zih2xGkZ+IA@bbl+&01FAFE%M@_087a*AW3;HRXWkQTV`s)wk@JKG zCntI6xVwr3c}e^-@5fQ&H&P5*%60Jx-f)!UK8*hO&wjM-yNez>t*R>d(YkyfmCP2x zqrfhAI(ZrW!TKWjhyK0jIMY3XXtDx=Yo-T-GbU^&L)>Gt&xbveq^Z*MXHK3cjtLfT zQBc|{P18z#+%1N7xc4d+*X)z)n(Z2eT}#5qptwHQG6`7p&C4%e}{i>Fo}CNGnl$;s-#WDf2= zeXmwG>6n9!p}Yr`ID5|{e_70iq^XtI1ZgT}Pva1K-Zdn6sog4N`H~tUc7%j-rOOSusmhLr`Q+t*#y~6BID^4$eYpumsR`s?HkG_ut`};?-AJd@Fq(Wxmnu=TW-g&GMUE7D!QBMO^y2N3@-pTSbpIhj9Aj;RUI39XC-D@tc?5^WYtyz9S$_&{D2xpgrT$Yc@#vywR zwW2J((Z$MQ`PJA>D$@uimm2#+C}1HbzQ$0_I5CcuXeWc8k8}OHa7H)p$qZ2|!CI8& z9*Q2)WD}%u(2i>CGnM4UBh*pg%f~yDN{u}j;%fq}slG|&lcbCCF^)PZ$us*RPX}=v zZX376;r9##Jq}+U_#IIl{#%5>Qx3mFi(A-MDCL1~0DONON^_r$2HHu8wGZpV|E|nz zY;ZL?FI(Zv#d}DW-!0P#S=tz8br-!S6*8~RZHVZ-*?wMjRUhmncN#;Sm7>-R(2wZj zE#M=J(Q+Z)Tb?pm#P| z)zL~>b*i!LWB7^Dbc}AhOwoHBMpKr5r+)aov*M=J$xLGiquWCqp6(QnM<&a8A8{P>d3<~owRx)Qs*Y9ht4!Wa zK8#eFh88YaW$`~sin=$ut+FvA)x&CGOIZ?f54bqD+yU9qkFskh1*3+@-y7njx1i5i zU(7zQc$QbJ@aFg@_%mHOJ~E5QdxM|qC%;#n;_7V-E@k!csIjSIt<^h{Y&|*(PBt}m z1!_lZ?dKE^k+a*1moD&^9`;neuaMxOUXuP%m`uZ1G#KK#3zqJbbTRxrZQNy!y4ISS zJ!|>q#?q?mJ#mw?eu5YM8j;=a| zbRiEg1)d4a0T%%Cz_Wk_;Mu@B;5oo4z*msY_2#vOK9kf~%A`CHsf!l+hN5VRx-yJ| zVgT#!i@MU(%GdI;kGB>G(xkAi^Ooj|`e5yAt^!loS8yRBdO!5jE;c7f!9T)Qa3*;@ z5mP(oy~RHmrQSXMzGyLYKC!(YW&A!gFx|u1DEi^gW2217D?(qVQ5%P}*S|`WLJL~G zwW+mSff%Z&*GV1qBzLnrFT_a>iR^l=hRBzx=kUx!4jwkBr{+U{;ALSEnYLUJDl^+K zH;)8Lr~l$%_l3w~ZZ2Z;2acSI(kuTF_0({ZrN-21X(oQYHm%Jfnc9nLb@_Z`OKnEY zc6TgnDej8~>!HTnK0V zVzXO`-0c6gdoVJyron9q6;ugmqqOEc*7l%Jllr2JkE!+Qw$1gz%#?_y=JA@MW;Ir? z6050QHBSb;?CLa#^}&*`IGHIb;fHBAzvAGT46vr|R9f;3Qjko7-O(f^~w${jGZ zFF?;2rK&cujF+EGkX=Vx9Fne_jT3&9jgw5!v2j8|F4#~`P(OBnUUQ3SC}A2;1kVI#2JN}x1o5l!Y+!xBT8 zO`;B}&_%>S8lY7-qJgnB%%dj7sIWh^)86#@!V|Ai; zV#TB~A!^$O6BfRif42bE0+A(XnGk5(S^g<+kBzLpVi{KMh#xXFB*<~9%Xdl z(NXAJwl`sA4Wg_~D0e=yHy^r%F#DsXZBzZ!d}F7(zGX0Yr+7kF_I3*=zn5V3|5wy; zVLJto5VKd4J@b^7BeV1EmQ+~1dlPvZNUDDWYd6lWLw~cJbF`Mb4*6M6QEMW~@?R`Z z)yh+68ah+TPPDM{O5-foj7!Sf|5bU9qC7Q!0?IR>yo`80^ae&xI<+UYhce81$#6+o zEH5kT2IQQQZ$RCWwTh3hQU-=E){5EPU)O0${>3`|Zsfb_bX+Uv6mnmz6U(2hlek1I zx5BEpX9zk>&R5v;Hwr7QT`P@*%0RmvdUT^Ux_jGlmL9F2SF_tax3j3euHMs4JX>2Cs}JwEbl=6t;0?~cJ^}RkW=F1VdzLU>u7#v;dAUC;;G*?w*T^usvm zE{r%fO7BV7BkFz07DYQzXrM@_foqPM#NNgJN}(hPl!rtPVGz{lC=O zu1qUahOTHFYdh+#Q}VFtvUa521|@$i%+}u7WpkFyS*phVLzz4W z)YvAi&0FGZ+;EVjFwS{%0s~Q|pPA1|Y%OdPyqjx-HE28d)%Jo?M7gX?vDJW9%yZrb z57>fXl9zx-D@~L9qXd&ubdAP(LSj3kWpYk!C0Or7>qCms$-h7yWG8LlUf|@{hxaN* zqC4;}ijbJv`j9ft$>@w$+CUok7dQte9~e%i!jn}*re#!qqLc;aNF}mG_^joA2esRz zh3NY;DzAlzLydhn7FJ`&RZH8(98pPe{k4T&Db79{VZIM}6A5)frWVMi&)Xe>CH5oL z8Yo=}ov6=W*gCmWKl8FqK0l+ApJ_fVm!09%8dDF_g3{SlMhHFTyMh)~2SujsAFD zWwWyz6sGp%__FZ_ z$O}pG6OrsC?HQoDkf_F@^czTJR`2dff&vA^#J|3Zt=W4bnwN4`M8G0u=L7{(}pm6I_dd5$m zp_qMi-bc|6)Q9!oRA#tjuWE}7uRieEY7#Dc@imab$_lK=qxyfehn>@f+4>r5;@0 zxBhT1mtNUzb_1#l*U#Osaf9)6(z*${3#B4hF7t=@F5-wpNx=sZho75wOUbL9yA+p| z&Mb>ObK9%fndL^_JD>AnRu50Sy@YO+gr56oQ2IpqQ&+Q6Oqvqo=~npEf+f>WK2=Yz zd@Rx1PZQ?lds~E_I{u*I)+o?Abf;wKdRzoA$BnGjc-CU5cPfkNx@|%a5fN)}N#)XL z?CO!9Mfn~Nzehy5sVFxM)GvMqZNcgYmg2#Wwf^H@l4|pVp-4>*p?& z!uoV#yn~ha`>5sWw$!pgN1Z%krK=)QgV!6Mj1c&4Pmvvp$gK5SI+v=+E%?{ zYVY#%{RF*9lLMOk)ZtiN z))(YG-Fi>;>KyO0t966H8z#HX025%{pzFtoDY31&+%>+Nr{bQfHA1h8dv?u?TaPRL z;MrR@yi$FK)py#zzWGD{WPf?vWXb6-Qe58A*s0M~uP|Mq)TK$i(T{u?NEwCiq(92` z|12Ip8d+7@xrF!|wsuaE8YS{?9@r+#H>JiJRqDJDX0x4X96j_OX~>c$Bjt0I*YsUL zYmaMHoy1!GxL;@sv{$b)%f9pvT4-c~o}3zuW~U6iH{JjA9e?*#ubbIyyQAxlWBubj zZ)fc&Wo4Mu`O?|w6j?|&hW^nn2LI7-2ojkbVtdQc=sL9dXq5dC?1@*vXKTXR^xViY zTRQMQ;PJpsz|3d-#E8S+>4#Mdyb@RsYyswhndhz%;gKV|R>PNDExIxRBH(Mj_l)ta z9pn4cF}{H@zMl^#`JMr0d_M-h$oKvK!dGd%9DO}r8wpRTDP?+}hu6Sy)_2x#_lJK(=biPLG#Xwqway#jyu>8@!my6Cs=JuP3Nf8};se6&~3)z_Me2-f#Nsi~C~(_9uO#JRrhwYlA#kk*{( z`K)Doz|`J6M4Wt(J<-7so%>$qM$F~UoBCst-Xp?MQJt82{# zV#Lx$9n~Azj&U3?u?|H|hN|q7dv`l zwFFiMR{9!!of|D1Z{E0jFEP=Zmi(5nf0U4LXoV4-%pl~%jkJteH4X^Es1 zxa9gEnNcb03~cqQlsVB+`=q-&oL*3?c~PPe6Yt;bicgE5m zQF%u!D$LPElJpO#(*vPsl5!KvyW>zaWsV$9#?+!+yT(#CpwthLQy$~AR!w!Bh^Ec? zV2pN^YIOV|I&RL1vG<$RbjQ)LyelB#5zxv}I_KzEdIc*jxG6e4pquflsBXsED4F4p zCigzcQBj=0sIm&ZM#^edtdiy?AKT?H>n=GyQqWf{ZObS|x^0(|6I5frLRhfPxL1wc zg^(Jvj5_Z2l;|W~*ex+$PQ*=7^Ks%zwEd_=zc;&idK<-fScnpS7f*w? zoU^fTbDWKmg;HhrEonr4Azs|fV&9LGxG1~2Q&ayn{$QMq9u~VNF7{G!QuCo+G5u78 z%z8U4D0Dwv{03G&x$?dP4bonv%*yX%XSL=h_A1MoE|;p?a^P{%Y4#JfW1SqeX|-&Q zvz3S#-jZ&HoyO|_} z?Aj!~7Ug#*bNtIFnf12_{_%m(0RB2XB2W8fbm+ zKnirl3{BfCjPF%um;`7Dec{_Ct^Y@CHM&QMz3T3iox-F1PHrdN2^uGPEDgTAWS>`S z<0lnf2wBrETMy_lhhgDhMy(!UT=)^u@%rVD;`G|k(hMDvB32HQokT+$q*Lq%}%xeAYu|rb!u(c_U}cW@+a1`!JXT#Jd?o8Rjh_fvlf6A&8vlf8FWqq&Y=ZRN+)k_Xu~Hnw2-xwlvZM*U ze}HdLV{~L%GruQKvl|k_+#cGP-XPc)Nrloopm+zA?;yuJ$Z2|P{4Q;rRI0J}Uo*AV zANa%Fkkpy7Gqpyy^TE4?owRTITz)4Vd}IUKvd?a(J5eK!>@-RhHO4|Uc5qBW6V?oG zZT$hP0`~Fnly5~FSwezMw=>yJ=p{~gl_e6z`>uP=!rx`TYgi&V-&upXDUDwh#d8fj4xTTzKwrg;6nW3fK!uUCW6D_NW zOZ==Q8rj5hU42@chiH?OM^X39T0gV#e%&zZPlMLCsSTI*dFmeYb+1u0?4hjxuYN}{ z?jXNry z^pF`s-`v~AHSATcvnE=0yT^CtNg3MQcN8}$&MVW}=-iK@Jgf|T@hxI3n)digl=6>+ zanHEjKh(59wfb%Om~7vc>-Qsc0m=JgxXGuJ-qGv}5%Wfktr+H{CZDyY4U1hw(et335%y%+QBDwqB z=IzJZGc`bgvH@=Y{e8E#YuOkck7Pc4m1Jnf{9pn0U*z^mV&0e9`LbGvd z(pYNU7HBsu%_w(*^M8)An?XN<5B{nGtWyQ4;mU#FMn~P>qNzBE{j};9zhl+3y3eDZ zS4~?b^yXr9qqyHR7-jq~`fkZGoV_|+-IP0_H=a7GAAjl(fKBf2;Ves(G9*LRg-D|d zcMrsJk$B|5A&oJ1T?B?QXJzgO<@ki^7d?7U`q z!(?_zIJuj7TWw9qgD)rKf!xY=_xRKM5_&olxj6Z^iXb%|yc)IsoyyXG2fBVedGDtO zSuae+ZoEPLjJ}*0?B{#loIt1R5@yds=X`|ZK0Qb_5L*T)tg1t@L#NSQWY;*nTT~We zah%P7ca!RrnD4_X9gZ%P{urgx-ib2L&!4gH{m&~@HC^*}6?z-p8(S;F<2s!P*}_-g z`91BK79n;sdic@uw`a%gn27GklS4K@Po6zxn(D|g3=zeXzu zc5LWyxGqSmJEKWye5+56h4NOv8{J_KAoaBHc9aAU6VkMu1b^K~$b?^@r3Q%g$ZLeS zCR66uqY`EQ!b8k&t1lNT()?L2z1Qr~SHMf;|4=`C%H3xQs4+u`go=sIwfIk@tAp?< zE`*_1J-=9Tcjetn@4+d-CraMVN;$akz5|PV^L#j~inH_a6C>>TSM7OTd&ae=j-7c= zgU?`;t?G=%f|z$;@fDzLEjRKu`WTU~xg@S*6*N8KoTH5DE%>3?9XGN{r^QYiU8x9Z z{0;$UT#VZunZMYr&nnFpsAJffO^1oz?OBQD+lqM*J$Sw#7X7&;nir@uis?}aBzk4rNu419}a zCn=K8(4y|QZFF9SFD;&Ofj*wGdUpwC`lgcZ6x~t9wdtr5Tn`9BD+EtR-fPRk_&I~| zhe?hukkH1N1yY*-tVFmyXP&kK+oYVh_`TDKWlpkw+`6( zN+H_MMv&u;S52+`@afFN2)HiMZ_5W>l<2eN0WSca0Xz?QI`9?1(|`*SvNjKABra(4 z&;e{m{M1CuW&_T~yA}8{;Hki7&`$wQPYl>D2TlXd0oDU&1M>-LV_w+DRifbos@0Fv zzPJxhf4m9LHSsRZ$4O=1tFRA!@SOsV06G9h%smT0tP)*8yfl9*g_dLW9Qh_13kXQ>aJWiW{6Zl=)*=%9gkfZ&~rwF4Rb) zOpl+3g`A=}zz0KzQRe$YtTp~T^rxr< z$--I*Z)qj`0q04W%UaBFE#`<;W}8;#;i2Ogd+ct5sZ~aAGwoXzmu*hqV&E%)UBGjI z7X!}*UI;u3cz%4qRsie-W}{>lFdHR#NN1xY7nqF_D=-@+Ilyd`Sb&+f&Wv}Vu3NOa zY|>=p$2DtRK9h{3J%pnK0JN6jghK(8?&PX zeYpit4|oE7ydAg^kb|*c1!Q78LQ2VYy&e6!vga>zXIknKpZ0w}o9 z+84g?$PRue%GcVOJ+e!SYXUbH;@I6hn(vWq9PWn(@=L_bpYQ*u?$C*SP(pTc^gBh?FQ@@hn<6WIrzmz8Df$AM=nc)pp)MC@_!{9VF~kQ?72ycdO6ZO#0 z|7I-h*mtBoI+pf^R`xipZ1Z=N{Y%x3vwy*9uupeTSo~-&+*975N%UQHS~JEs48G3R z`wqNK#3u}UA5v0WGYeUp*;3JJrlb9|sHj_)@sOfND;lgBskz2u{k+@VEo5eaLPTsD z+SXuyNJ(|E`w41np{j#VdMf6KF=WLz6(&utBH74;qq9g}$`#3F2&Xu~6=1Ly$(4ME zy-2>Eg3BcwMWiy0>EOujIDETb_^~>iKphrf4CpZ{C!*#$XL_fp@a+~>4>k7D=uOQo z*+meKi}tK-)YuoJ%x`W*Y(Hid^WOZ2N^yU~)E-QpwL)L2vCydKHOZ#*>{@-8;uMFi zR7nrW=OK8LY_VvP{@Cq*beUzE&h8G;UZc(wPV*AKr+brwdmcM&g}au>KNxLCjfI{P zoCh2D=VECha4lG}g#S=Wbp;nd9fGcC;5(g|OSb(XG|)AizX%u{12<#E4OV7G#` z)%Joq75G?x6_IXXl+=!&)e!zO1ZpR&D?E_NHwfrl$t(*|-le zXCHP9G;U zraHzs*?v!l-b0^VRfO+ReibP7JYs5P`p@&gvD-ZZ!FhsoY>gV*!8}iz)`u<$9Ro)r zzL{X!_E;V0pih!?_prNkV{{K*LMMES&JQ|%jPB)Ze5&^T-?h2HiZ@<({**Kl^}ZfM|V#6BhX3XoyT-0FMrtPG=l~?o=-u_lT-+ zkEy4X-N9pTQ!=coV(U0qm+U^Z*uKq8Pl$74(dGW5+p?)$h7(wpaVO_uTe22^A2(3h zULf;&*r)ItPJyR~9u)I);OPt!HgB`bIT)*T+_Bqtws^pD zbKS8u>_o0nS6h< z{N^pk*65JG7Wtt`0qOa>LyT%`%j>;Y&;!Z}>#k6dY{fhLn)KN1_JMmg(1Cl_XLue2 z2eP~g6vx(F4j$jvWH7Z3VlK1w=?^1=wh6#*j`V7Nv!f%j&4l;YfN={~eie8;@GHQ~ zkJd8c^Ap)V(uC*Kk)$n3OM7}X~6WzZ@`tUtehP;0XEX-UxMZ%@?UUQJB2X4RktpwFKMp;U5RgR zD5FCT6VuNuFQb2r(K~aMiO%`TMDi(4Lenl6BrCph9f!Toy*#M2RXtf2k^eoB)R51t zV;b_A)n98!5gPK~y8o&nr+%d&O)ulVb*~70xR~ifFZ7|8>BH=LbMQ`?cE-Pr8R}r*!htAVLQHxb>F{v z9i!d6T8-^OocmjG4~9GsAKiwXB)m(W`|BWu+YOCjzO(yAhN}hXXk8uh{u~-Ese?Zb zu`^v_$340}%kls}cwyVD`-`4y*` z&S!ecvFYj6m9mgJ*PfN&`d(={d09Z;E5f!O*@P3_WtM4WW!Ao7ZQyw|iU&;Sll(qcV zl5(lfLr(_fIJXe}Hx7MvBTl_p-`$N92ZmSR?gUPo+nq1hJ$&D~?L-(D{VC7ZK2OO& z5E2#H?pwX-e&-RKioC|=Z5;sp=-(%?(cvpK)Dw({#>4En7q=o5&&P^2X!wob9}kbj zMCqC~cD`%D7ax!j-#op4m=p}+Mk$dWOspr^H&PbjKr>r2juaVD3|-XBiHqU4It zG`gRIt_b`7w_8}sri9p|Pbrb;b-#7L7k;)!q<69N6s+(>-j>iQG_4QT4eoA)*l7K2 zoP>PZj+)3Xy~@rAmrtS7^-`wvq-&ydE$*Z6aiNc1!*x@_&IIrF7h+8-5*z*arVw@< zk)My(`qkK9)VuwS;P-5tUhC=>=^31XvG%O;nac)1H3>U^re`N4{Gi$#uhyu46=!ej zfg1wswd$}FZExQ1LQf?+YBN`{o z#);MVdS)Z|AkjlA%g1&g277)z>&YGJoBbV=@`6`2CrdAZUjg?YRFl0%OAo64APFUN z*~cWD4H~u&UxV)!DZaHyd0UPBKEzIY^sRc>bIIL;rlI7(&|X-RNi9u6A3!IVTSc!R zEmyd7vLpL0s~@(fQ)jP1PuvVzfw0{OqhqI4*vG+p7F_OOPjg+>F?_ znkJmco4ohoJbt{iR^ofb@wdZM{6l}H#2**uZ7i`%v53W=eV1ds)i=(bFD*pfXABWX zx8=sW`c}|+V!=>EhZCPOW4elQ-m4zd$KNyIjuNwM2UPC)6nxntV7;*-w>ZS)lUt`s ze9a{3#`vbb-R=htuyf1HJ2%(t%zo58xs%-!W+$6}Q5{BRV>@8~r#R`0IALgjt?I~Q zb;ccKy$dJ#|EBvjcAknJQm_)41b1k4W1)8FAT`zk8Ge6>3~wq-1~xAB=wWsvkliF$ zuH`yhbI?8K4Loc@!H+yjQVb^l)R;Lv= z6}`V$W$rKJV!gn1_yZHqFxoh^*}{pzBc%ZnR}FJzs^*LU(Jxpktnx#k7b zJq2~2Dos84p!@QZw^??(vrek9AF65C%Md54Kh^5bIoXYCw$kZf>pRf`yz3oB3~Mcb zvzs4lEr2?eexfu6?UfGvw}V|xfE~8$1*y;G!ua^r&_apLg7G=MumM7|Ne79t;1n(#cJu<#LtQOi=C zupQcgxwQ+>1lSJ1SL3cH08FPH1Mt{0uzdsPhv&q*+bx8i8N6;DU?XnCu`f*VO|DKV z1J}(O?}wEFKe6BJd%8BO%3jaDhP~Oh&Ib#}DY|$qB~Z%xcE`CgayiC(z`q0fTPLUM zP$Pxd-6cXKz@#f8@(&N`dyew@*(?1&Q06)>Kh5{JNTVCK3Fr1i=P6u|%^y*W9XT?W z9uL2+h+TN=nu2{=Jdz9vh~MgWC|u6jsHM2h{b|^&(EnyGUZFXkN8vX(mqIA!uNvDo zw#y_T9sVl-^KIk1bDz0tc~wKzN!*uXzR7ggj&nu=Ke0VfnhXWM3K2)3)a|E!SmGY$ zY{%wsP`Q{Jb?Z~&E=Sr-yp28Y2nq39q)qH}{R4<4Q=+2@)t}k_a-dJKhUz*Zqbr6E|#`WX8B| za8-bghjuYYeC`Ikp*&&FgL51*gQyWz|9WFlHBX}yM+_@(sfZ|>3( ziJT!_|12$twE20uPSWdhk-^n2iu=acUE!O}*H^Ii%mn{s=SVsW7o8)#MZ!5&TSXhm z7egd3Cj`$%A-jDJJ=^wDuV}peyznlOQqC55Umy^X_b#730Ya%Wou9p+9E&dYgR%;?IrzT7{6?f~3Ny0Gn zREgpAXOl^X zoE2eWyZ@Yxh-`&>;9$J2m*l(Thl4M=xs#jSq%R)alC`FX*HP{(x4;`H`ONYmBJHFtr^_^eNMfT*5N1q?<1>CPdUmpRA3OJMkj8MuI`< z%dBTmk3JcGkefWHhcQ8h_m$|!>cO4ZS3>#@1ufFP9-~%=z0pG4wPIzXH3eOKe7_zo zX^jiYHO6UiVW6y=7hg{F^;ULUO1MNuF_WdFTPUFkBg$v3ZGa3Er-4EFLDbLH_dt-l z`r6{2tf}$(LCDM`(Ih5X4kj^Lbm5(l`1aG>LPm+3KShs3U+=Z*?Qy-b&83S|RxWRi z>qqfj%#sloyXDrJ7#^zZo`M=pzG-T_PC+k~7!u;Zem57VeI!of;^{9f21w#LvEN;E z`gz=dy}WpK_SE>pqsS{8(IQK=o)wiQ)*=?jab^CArji+uBd6HaZE)@D5rw7%w{=O$ zo6_~t#FG=k-*0}kXFR{UM<)nzee92}sh&T%7WjVZV_qrw0gI%3u|w+m;%G_ti9*)Ah@NhU?%p#OP63ExYyOvRo4A3^3 zN`kn^LGZMYm1GjB##fj`T4z;zP@y?ihWPh2&c zHXUpU>H5i)nhY-Q62jx%_qXMmZ0!4NCR4|s*J|akJ4v|VPh2auYVxx?B}{&j{X0$m z;BQW8@^_s1jG!s;PpAs1)^u0hK{es8dy%5+zWT*qTkX1O2RA#kKeRuOD)^8T4#PmUcQM-m)V=^En?CUo%$mC=R{uixcEb20R0T~I-ni!zxpwn zi$4~=n1|)NnD=7%|24+iN=Bm{(EJ_Jw2JBF4`THUdt4UYmg}we2+j@*_ebt%9ac}9 z*M_y#fVK5Tq(11u|74oG+rk}d!2co2S(@X05;+GwB=<|pOCr7U8PdO!&S$IaP-N25 z%l=8~vq)uo8`DzL|AL~P67t`Lz>s<`$T2wCWj6fI46>obdKs5{1Z~{0AfZ1fUwYGW zw-&zSF@e9HEGH6KK?;czf0L2+Dkj`c_W!j2s{!o)!?7$Deg!TRR*^f%Mp8}IkQ(xH zJU5U@d>LY^$!+9DaI%t0P^=+&d@0h_AmyisTaNTQ5n|y|#H}VjLE2BjN#G5FfwK}y z`C#0DxyoUb5xs5`hsmPXVW48(em8*&=WrkZBB?2ijJPP7K$D?mmv8lPlyU-1#bxCs zs0RUF3;-Qjh<6i7S{4j`kEh0 zyY$D(yO{4Cfp;3pcSan6mIb7G7p_vAcOA9<+5aA^m`I0Q&_IZ*yVY z1Z)HJ1K965tZh#Kb^x{jY60s2KEMh<8DKHM3CIOl0O!!=0|0`s5y0xZ5bsOSMlQfg zzFobWd|TEq@^ym#8?^t&FXLVL*AY?(SO6fV)Nj695r?*$ zzYJ}M5?TKpK>rcMv+&C->`I0Yu`p-^M#JdQA1u6|g+askEJPStwf@+J{$OFoXBW$h zj%DEv77ixkkBo&`e=lbJ2mUPVM3}WH;~yL=i^b1kG(wUlZ;Xb;6BZA782|laJXzi& zW3sXEp|LQdUkG}TYjSQ!7{Y0J8(Cg!lK*_f2NBQca}Z`7!ontmL865-$MUjx3&N~k atQ{7kEY{p8fxL|^*G*Ef>6zv8)BYzHyl-a! literal 20476 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 diff --git a/firmware/baseband/proc_afsk.cpp b/firmware/baseband/proc_afsk.cpp index e3597d097..00fdf8195 100644 --- a/firmware/baseband/proc_afsk.cpp +++ b/firmware/baseband/proc_afsk.cpp @@ -124,22 +124,25 @@ void AFSKProcessor::on_message(const Message* const msg) { const auto message = *reinterpret_cast(msg); if (message.id == Message::ID::AFSKConfigure) { - afsk_samples_per_bit = message.samples_per_bit; - afsk_phase_inc_mark = message.phase_inc_mark; - afsk_phase_inc_space = message.phase_inc_space; - afsk_repeat = message.repeat - 1; - afsk_bw = message.bw; - afsk_format = message.format; - - s = 0; - sample_count = afsk_samples_per_bit; - repeat_counter = 0; - bit_pos = 0; - byte_pos = 0; - cur_byte = 0; - ext_byte = 0; - cur_bit = 0; - configured = true; + if (message.samples_per_bit) { + afsk_samples_per_bit = message.samples_per_bit; + afsk_phase_inc_mark = message.phase_inc_mark; + afsk_phase_inc_space = message.phase_inc_space; + afsk_repeat = message.repeat - 1; + afsk_bw = message.bw; + afsk_format = message.format; + + s = 0; + sample_count = afsk_samples_per_bit; + repeat_counter = 0; + bit_pos = 0; + byte_pos = 0; + cur_byte = 0; + ext_byte = 0; + cur_bit = 0; + configured = true; + } else + configured = false; // Kill } } diff --git a/firmware/bootstrap/bootstrap.bin b/firmware/bootstrap/bootstrap.bin index 784058649519f60fa99117504fa1874ae22ed336..c7875d1adddfe95c53051d1862b3219aa1aec096 100755 GIT binary patch delta 30 jcmaFDc!zO9hsXj3Fc7d|U=aBCoMC_b4~7pDmpA|bjn)cF delta 38 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
3xP_`-{<>H1-HO8S5v{+*b3hb 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'd0f5cZBZeU!EQd6s&=cqia#qbs~V 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