From 90feadd9f584c1f3ecf8535c3f4185139cf46654 Mon Sep 17 00:00:00 2001 From: furrtek Date: Fri, 21 Apr 2017 06:22:31 +0100 Subject: [PATCH] POCSAG RX saves ignored address Made AFSK code more generic (not tied to LCR) Added modem presets and more options in AFSK setup String-ized and simplified LCR UI code Simplified AFSK baseband code, made to always work on 16bit words --- firmware/application/CMakeLists.txt | 4 +- firmware/application/afsk.cpp | 107 -------------- firmware/application/baseband_api.cpp | 4 +- firmware/application/baseband_api.hpp | 2 +- firmware/application/modems.cpp | 93 ++++++++++++ firmware/application/{afsk.hpp => modems.hpp} | 63 +++++--- firmware/application/pocsag_app.cpp | 15 +- firmware/application/pocsag_app.hpp | 2 - firmware/application/protocols/lcr.cpp | 2 - firmware/application/replay_thread.cpp | 9 +- firmware/application/ui_afsksetup.cpp | 92 +++++++----- firmware/application/ui_afsksetup.hpp | 44 +++--- firmware/application/ui_lcr.cpp | 73 ++++------ firmware/application/ui_lcr.hpp | 2 +- firmware/application/ui_navigation.cpp | 2 +- firmware/application/ui_pocsag_tx.cpp | 2 +- firmware/baseband/proc_afsk.cpp | 136 +++++++----------- firmware/baseband/proc_afsk.hpp | 19 +-- firmware/baseband/proc_replay.cpp | 9 +- firmware/baseband/proc_replay.hpp | 7 +- firmware/baseband/stream_output.cpp | 9 +- firmware/common/buffer_exchange.cpp | 9 +- firmware/common/buffer_exchange.hpp | 4 - firmware/common/fifo.hpp | 6 +- firmware/common/message.hpp | 12 +- .../common/portapack_persistent_memory.cpp | 91 +++++++----- .../common/portapack_persistent_memory.hpp | 28 ++-- firmware/portapack-h1-havoc.bin | Bin 856464 -> 864256 bytes 28 files changed, 423 insertions(+), 423 deletions(-) delete mode 100644 firmware/application/afsk.cpp create mode 100644 firmware/application/modems.cpp rename firmware/application/{afsk.hpp => modems.hpp} (52%) diff --git a/firmware/application/CMakeLists.txt b/firmware/application/CMakeLists.txt index 35559e76..5f21caab 100644 --- a/firmware/application/CMakeLists.txt +++ b/firmware/application/CMakeLists.txt @@ -140,7 +140,7 @@ set(CPPSRC protocols/dcs.cpp protocols/lcr.cpp protocols/rds.cpp - afsk.cpp + modems.cpp audio.cpp ${COMMON}/bch_code.cpp ctcss.cpp @@ -183,7 +183,7 @@ set(CPPSRC ui_record_view.cpp ui_replay_view.cpp ui_rssi.cpp - ui_script.cpp + # ui_script.cpp ui_sd_card_status_view.cpp ui_sd_wipe.cpp # ui_sd_card_debug.cpp diff --git a/firmware/application/afsk.cpp b/firmware/application/afsk.cpp deleted file mode 100644 index 59da0316..00000000 --- a/firmware/application/afsk.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - * 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 "afsk.hpp" - -#include "portapack_persistent_memory.hpp" - -namespace afsk { - -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; - - format_def = &afsk_formats[portapack::persistent_memory::afsk_format()]; - - if (format_def->parity == ODD) - pm = 1; // Odd parity - else - pm = 0; // Even parity - - if (format_def->data_bits == 7) { - if (!format_def->use_LUT) { - for (dp = 0; dp < in_message.length(); dp++) { - pp = pm; - new_byte = 0; - cur_byte = in_message[dp]; - for (cp = 0; cp < 7; cp++) { - bit = (cur_byte >> cp) & 1; - pp += bit; - new_byte |= (bit << (7 - cp)); - } - if (format_def->parity != NONE) new_byte |= (pp & 1); - out_data[dp] = new_byte; - } - out_data[dp++] = 0; - out_data[dp] = 0; - } else { - for (dp = 0; dp < in_message.length(); dp++) { - pp = pm; - - cur_byte = in_message[dp]; - - for (cp = 0; cp < 8; cp++) - if ((cur_byte >> cp) & 1) pp++; - - out_data[dp * 2] = cur_byte; - out_data[(dp * 2) + 1] = 0xFE; - if (format_def->parity != NONE) out_data[(dp * 2) + 1] |= (pp & 1); - } - out_data[dp * 2] = 0; - out_data[(dp * 2) + 1] = 0; - } - } else { - /* - for (dp = 0; dp < strlen(in_message); 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]; - - for (cp = 0; cp < 8; cp++) - if ((cur_byte >> cp) & 1) pp++; - - out_data[dp * 2] = cur_byte; - out_data[(dp * 2) + 1] = 0xFE | (pp & 1); - } - out_data[dp * 2] = 0; - out_data[(dp * 2) + 1] = 0; - */ - } - - /* - // MSB first - for (dp = 0; dp < strlen(lcr_message); dp++) { - pp = pm; - cur_byte = lcr_message[dp]; - for (cp = 0; cp < 7; cp++) - if ((cur_byte >> cp) & 1) pp++; - lcr_message_data[dp] = (cur_byte << 1) | (pp & 1); - } - }*/ -} - -} /* namespace afsk */ diff --git a/firmware/application/baseband_api.cpp b/firmware/application/baseband_api.cpp index c948443f..59306899 100644 --- a/firmware/application/baseband_api.cpp +++ b/firmware/application/baseband_api.cpp @@ -116,14 +116,14 @@ void set_sstv_data(const uint8_t vis_code, const uint32_t pixel_duration) { } 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) { + const uint8_t afsk_repeat, const uint32_t afsk_bw, const uint8_t symbol_count) { const AFSKConfigureMessage message { afsk_samples_per_bit, afsk_phase_inc_mark, afsk_phase_inc_space, afsk_repeat, afsk_bw, - afsk_alt_format + symbol_count }; send_message(&message); } diff --git a/firmware/application/baseband_api.hpp b/firmware/application/baseband_api.hpp index c7cfc1d5..e166c56a 100644 --- a/firmware/application/baseband_api.hpp +++ b/firmware/application/baseband_api.hpp @@ -65,7 +65,7 @@ void set_audiotx_data(const uint32_t divider, const uint32_t bw, const uint32_t 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); + const uint8_t afsk_repeat, const uint32_t afsk_bw, const uint8_t symbol_count); 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); diff --git a/firmware/application/modems.cpp b/firmware/application/modems.cpp new file mode 100644 index 00000000..e8166b60 --- /dev/null +++ b/firmware/application/modems.cpp @@ -0,0 +1,93 @@ +/* + * 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 "modems.hpp" + +#include "portapack_persistent_memory.hpp" + +using namespace portapack; + +namespace modems { + +uint8_t symbol_count() { + serial_format_t serial_format; + uint8_t count; + + serial_format = persistent_memory::serial_format(); + + count = 1 + serial_format.data_bits; // Start + if (serial_format.parity) count++; + count += serial_format.stop_bits; + + return count; +}; + +void generate_data(const std::string& in_message, uint16_t * out_data) { + serial_format_t serial_format; + uint8_t parity_init, parity, data_bits, bits, bit, cur_byte; + uint16_t ordered_word, bytes; + + serial_format = persistent_memory::serial_format(); + + if (serial_format.parity == ODD) + parity_init = 1; + else + parity_init = 0; + + data_bits = serial_format.data_bits; + + for (bytes = 0; bytes < in_message.length(); bytes++) { + parity = parity_init; + cur_byte = in_message[bytes]; + + if (serial_format.bit_order == MSB_FIRST) { + ordered_word = cur_byte; + for (bits = 0; bits < data_bits; bits++) { + bit = (cur_byte >> bits) & 1; // Get LSB + parity += bit; + } + } else { + ordered_word = 0; + for (bits = 0; bits < data_bits; bits++) { + bit = (cur_byte >> bits) & 1; // Get LSB + parity += bit; + ordered_word |= (bit << ((data_bits - 1) - bits)); // Set MSB + } + } + + if (serial_format.parity) { + ordered_word <<= 1; + ordered_word |= (parity & 1); + } + + for (bits = 0; bits < serial_format.stop_bits; bits++) { + ordered_word <<= 1; + ordered_word |= 1; + } + + out_data[bytes] = ordered_word; + } + + out_data[bytes] = 0; // End marker +} + +} /* namespace modems */ diff --git a/firmware/application/afsk.hpp b/firmware/application/modems.hpp similarity index 52% rename from firmware/application/afsk.hpp rename to firmware/application/modems.hpp index a5fc3678..129f4e39 100644 --- a/firmware/application/afsk.hpp +++ b/firmware/application/modems.hpp @@ -24,38 +24,65 @@ #include #include -#ifndef __AFSK_H__ -#define __AFSK_H__ +#ifndef __MODEMS_H__ +#define __MODEMS_H__ -namespace afsk { +namespace modems { -#define AFSK_MODES_COUNT 4 +#define MODEM_DEF_COUNT 7 -enum parity_enum { +enum parity_enum : uint8_t { NONE = 0, - EVEN, - ODD + EVEN = 1, + ODD = 2 }; -struct afsk_formats_t { - std::string fullname; - std::string shortname; +enum order_enum : uint8_t { + MSB_FIRST = 0, + LSB_FIRST = 1 +}; + +struct serial_format_t { uint8_t data_bits; parity_enum parity; uint8_t stop_bits; - bool MSB_first; - bool use_LUT; + order_enum bit_order; }; -const afsk_formats_t afsk_formats[4] = { - { "7-Even-1 R", "7E1", 7, EVEN, 1, false, false }, +uint8_t symbol_count(); + +enum modulation_enum { + AFSK = 0, + FSK, + PSK, + SSB +}; + +struct modem_def_t { + std::string name; + modulation_enum modulation; + uint16_t mark_freq; + uint16_t space_freq; + uint16_t baudrate; +}; + +const modem_def_t modem_defs[MODEM_DEF_COUNT] = { + { "Bell202", AFSK, 1200, 2200, 1200 }, + { "Bell103", AFSK, 1270, 1070, 300 }, + { "V21", AFSK, 980, 1180, 300 }, + { "V23 M1", AFSK, 1300, 1700, 600 }, + { "V23 M2", AFSK, 1300, 2100, 1200 }, + { "RTTY US", SSB, 2295, 2125, 45 }, + { "RTTY EU", SSB, 2125, 1955, 45 } + + /*{ "7-Even-1 R", "7E1", 7, EVEN, 1, false, false }, { "7E1 LUT ", "7Ea", 7, EVEN, 1, true, true }, { "7-Odd-1 ", "7o1", 7, ODD, 1, true, false }, - { "8-Even-0 ", "8E0", 8, EVEN, 1, true, false } + { "8-Even-0 ", "8E0", 8, EVEN, 1, true, false }*/ }; -void generate_data(const std::string & in_message, char * out_data); +void generate_data(const std::string& in_message, uint16_t * out_data); -} /* namespace afsk */ +} /* namespace modems */ -#endif/*__AFSK_H__*/ +#endif/*__MODEMS_H__*/ diff --git a/firmware/application/pocsag_app.cpp b/firmware/application/pocsag_app.cpp index 034685a3..bf84acf5 100644 --- a/firmware/application/pocsag_app.cpp +++ b/firmware/application/pocsag_app.cpp @@ -67,6 +67,7 @@ void POCSAGAppView::update_freq(rf::Frequency f) { } POCSAGAppView::POCSAGAppView(NavigationView& nav) { + uint32_t ignore_address; baseband::run_image(portapack::spi_flash::image_tag_pocsag); @@ -109,8 +110,12 @@ POCSAGAppView::POCSAGAppView(NavigationView& nav) { check_ignore.on_select = [this](Checkbox&, bool v) { ignore = v; }; - for (size_t c = 0; c < 7; c++) - sym_ignore.set_sym(c, default_ignore[c]); + + ignore_address = persistent_memory::pocsag_ignore_address(); + for (size_t c = 0; c < 7; c++) { + sym_ignore.set_sym(6 - c, ignore_address % 10); + ignore_address /= 10; + } button_setfreq.on_select = [this,&nav](Button&) { auto new_view = nav.push(target_frequency_); @@ -126,6 +131,10 @@ POCSAGAppView::POCSAGAppView(NavigationView& nav) { } POCSAGAppView::~POCSAGAppView() { + + // Save ignored address + persistent_memory::set_pocsag_ignore_address(sym_ignore.value_dec_u32()); + receiver_model.disable(); baseband::shutdown(); } @@ -162,7 +171,7 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) { console_info += " F" + to_string_dec_uint(pocsag_state.function); // Store last received address for POCSAG TX - portapack::persistent_memory::set_pocsag_address(pocsag_state.address); + persistent_memory::set_pocsag_last_address(pocsag_state.address); if (pocsag_state.out_type == ADDRESS) { // Address only diff --git a/firmware/application/pocsag_app.hpp b/firmware/application/pocsag_app.hpp index 83d950be..610f01d3 100644 --- a/firmware/application/pocsag_app.hpp +++ b/firmware/application/pocsag_app.hpp @@ -59,8 +59,6 @@ public: private: static constexpr uint32_t initial_target_frequency = 466175000; - static constexpr uint32_t sampling_rate = 3072000; - const uint8_t default_ignore[7] = { 1, 0, 0, 8, 8, 2, 4 }; bool logging { true }; bool ignore { false }; diff --git a/firmware/application/protocols/lcr.cpp b/firmware/application/protocols/lcr.cpp index f1221eec..d7c4453b 100644 --- a/firmware/application/protocols/lcr.cpp +++ b/firmware/application/protocols/lcr.cpp @@ -23,8 +23,6 @@ #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) { diff --git a/firmware/application/replay_thread.cpp b/firmware/application/replay_thread.cpp index 804c34c2..96b6ff15 100644 --- a/firmware/application/replay_thread.cpp +++ b/firmware/application/replay_thread.cpp @@ -67,13 +67,13 @@ ReplayThread::~ReplayThread() { msg_t ReplayThread::static_fn(void* arg) { auto obj = static_cast(arg); const auto error = obj->run(); - /*if( error.is_valid() && obj->error_callback ) { + if( error.is_valid() && obj->error_callback ) { obj->error_callback(error.value()); } else { if( obj->success_callback ) { obj->success_callback(); } - }*/ + } return 0; } @@ -82,14 +82,13 @@ Optional ReplayThread::run() { BufferExchange buffers { &config }; while( !chThdShouldTerminate() ) { - //auto buffer = buffers.get(); - buffers.get(); + auto buffer = buffers.get(); /*auto read_result = reader->read(buffer->data(), buffer->size()); if( read_result.is_error() ) { return read_result.error(); } buffers.put(buffer);*/ - chThdSleep(50); + chThdSleep(50); // DEBUG //led_tx.toggle(); } diff --git a/firmware/application/ui_afsksetup.cpp b/firmware/application/ui_afsksetup.cpp index ca968624..7e7c1c54 100644 --- a/firmware/application/ui_afsksetup.cpp +++ b/firmware/application/ui_afsksetup.cpp @@ -33,7 +33,7 @@ #include using namespace portapack; -using namespace afsk; +using namespace modems; namespace ui { @@ -42,18 +42,14 @@ void AFSKSetupView::focus() { } void AFSKSetupView::update_freq(rf::Frequency f) { - char finalstr[10] = {0}; + std::string final_str; - portapack::persistent_memory::set_tuned_frequency(f); + persistent_memory::set_tuned_frequency(f); - auto mhz = to_string_dec_int(f / 1000000, 4); - auto hz100 = to_string_dec_int((f / 100) % 10000, 4, '0'); + final_str = to_string_dec_int(f / 1000000, 4) + "."; + final_str += to_string_dec_int((f / 100) % 10000, 4, '0'); - strcat(finalstr, mhz.c_str()); - strcat(finalstr, "."); - strcat(finalstr, hz100.c_str()); - - this->button_setfreq.set_text(finalstr); + button_setfreq.set_text(final_str); } AFSKSetupView::AFSKSetupView( @@ -64,57 +60,81 @@ AFSKSetupView::AFSKSetupView( using value_t = int32_t; using option_t = std::pair; using options_t = std::vector; - options_t format_options; - uint8_t rpt; + options_t modem_options; size_t i; add_children({ &labels, &button_setfreq, - &options_bps, + &field_baudrate, &field_mark, &field_space, &field_bw, &field_repeat, - &options_format, + &options_modem, + &button_set_modem, + &sym_format, &button_save }); - for (i = 0; i < AFSK_MODES_COUNT; i++) - format_options.emplace_back(std::make_pair(afsk_formats[i].fullname, i)); + for (i = 0; i < MODEM_DEF_COUNT; i++) { + if (modem_defs[i].modulation == AFSK) + modem_options.emplace_back(std::make_pair(modem_defs[i].name, i)); + } - options_format.set_options(format_options); - options_format.set_selected_index(portapack::persistent_memory::afsk_format()); + options_modem.set_options(modem_options); + options_modem.set_selected_index(0); - update_freq(portapack::persistent_memory::tuned_frequency()); + sym_format.set_symbol_list(0, "6789"); // Data bits + sym_format.set_symbol_list(1, "NEo"); // Parity + sym_format.set_symbol_list(2, "012"); // Stop bits + sym_format.set_symbol_list(3, "ML"); // MSB/LSB first - field_mark.set_value(portapack::persistent_memory::afsk_mark_freq() * 25); - field_space.set_value(portapack::persistent_memory::afsk_space_freq() * 25); - field_bw.set_value(portapack::persistent_memory::afsk_bw()); - rpt = portapack::persistent_memory::afsk_repeats(); - if ((rpt > 99) || (!rpt)) rpt = 5; - field_repeat.set_value(rpt); + sym_format.set_sym(0, persistent_memory::serial_format().data_bits - 6); + sym_format.set_sym(1, persistent_memory::serial_format().parity); + sym_format.set_sym(2, persistent_memory::serial_format().stop_bits); + sym_format.set_sym(3, persistent_memory::serial_format().bit_order); - button_setfreq.on_select = [this,&nav](Button&) { - auto new_view = nav.push(portapack::persistent_memory::tuned_frequency()); + update_freq(persistent_memory::tuned_frequency()); + + field_mark.set_value(persistent_memory::afsk_mark_freq()); + field_space.set_value(persistent_memory::afsk_space_freq()); + field_bw.set_value(persistent_memory::modem_bw() / 1000); + field_repeat.set_value(persistent_memory::modem_repeat()); + + button_setfreq.on_select = [this, &nav](Button&) { + auto new_view = nav.push(persistent_memory::tuned_frequency()); new_view->on_changed = [this](rf::Frequency f) { update_freq(f); }; }; - options_bps.set_by_value(portapack::persistent_memory::afsk_bitrate()); + field_baudrate.set_value(persistent_memory::modem_baudrate()); + + button_set_modem.on_select = [this, &nav](Button&) { + size_t modem_def_index = options_modem.selected_index(); + + field_mark.set_value(modem_defs[modem_def_index].mark_freq); + field_space.set_value(modem_defs[modem_def_index].space_freq); + field_baudrate.set_value(modem_defs[modem_def_index].baudrate); + }; button_save.on_select = [this,&nav](Button&) { - uint32_t afsk_config = 0; + serial_format_t serial_format; - portapack::persistent_memory::set_afsk_bitrate(options_bps.selected_index_value()); - portapack::persistent_memory::set_afsk_mark(field_mark.value() / 25); - portapack::persistent_memory::set_afsk_space(field_space.value() / 25); - portapack::persistent_memory::set_afsk_bw(field_bw.value()); + persistent_memory::set_afsk_mark(field_mark.value()); + persistent_memory::set_afsk_space(field_space.value()); - afsk_config |= (options_format.selected_index() << 16); - afsk_config |= (field_repeat.value() << 24); - portapack::persistent_memory::set_afsk_config(afsk_config); + persistent_memory::set_modem_baudrate(field_baudrate.value()); + persistent_memory::set_modem_bw(field_bw.value() * 1000); + persistent_memory::set_modem_repeat(field_repeat.value()); + + serial_format.data_bits = sym_format.get_sym(0) + 6; + serial_format.parity = (parity_enum)sym_format.get_sym(1); + serial_format.stop_bits = sym_format.get_sym(2); + serial_format.bit_order = (order_enum)sym_format.get_sym(3); + + persistent_memory::set_serial_format(serial_format); nav.pop(); }; diff --git a/firmware/application/ui_afsksetup.hpp b/firmware/application/ui_afsksetup.hpp index a8fa5c44..858f4f9f 100644 --- a/firmware/application/ui_afsksetup.hpp +++ b/firmware/application/ui_afsksetup.hpp @@ -20,7 +20,7 @@ * Boston, MA 02110-1301, USA. */ -#include "afsk.hpp" +#include "modems.hpp" #include "ui.hpp" #include "ui_widget.hpp" @@ -40,30 +40,27 @@ private: void update_freq(rf::Frequency f); Labels labels { - { { 1 * 8, 4 * 8 }, "Frequency:", Color::light_grey() }, - { { 16 * 8, 5 * 8 }, "Speed:", Color::light_grey() }, + { { 2 * 8, 4 * 8 }, "Frequency:", Color::light_grey() }, + { { 2 * 8, 11 * 8 }, "Speed: Bps", Color::light_grey() }, { { 2 * 8, 13 * 8 }, "Mark: Hz", Color::light_grey() }, { { 2 * 8, 15 * 8 }, "Space: Hz", Color::light_grey() }, { { 140, 13 * 8 }, "BW: kHz", Color::light_grey() }, { { 140, 15 * 8 }, "Repeat:", Color::light_grey() }, - { { 2 * 8, 19 * 8 }, "Format:", Color::light_grey() } + { { 2 * 8, 19 * 8 }, "Modem preset:", Color::light_grey() }, + { { 2 * 8, 22 * 8 }, "Serial format:", Color::light_grey() } }; Button button_setfreq { - { 8, 48, 104, 32 }, + { 13 * 8, 3 * 8, 12 * 8, 32 }, "----.----" }; - OptionsField options_bps { - { 128, 60 }, - 7, - { - { "600bps ", 600 }, - { "1200bps", 1200 }, - { "2400bps", 2400 }, - { "4800bps", 4800 }, - { "9600bps", 9600 } - } + NumberField field_baudrate { + { 64, 88 }, + 5, + { 50, 9600 }, + 25, + ' ' }; NumberField field_mark { @@ -98,13 +95,24 @@ private: ' ' }; - OptionsField options_format { - { 80, 152 }, - 10, + OptionsField options_modem { + { 16 * 8, 19 * 8 }, + 7, { } }; + SymField sym_format { + { 16 * 8, 22 * 8 }, + 4, + SymField::SYMFIELD_DEF + }; + + Button button_set_modem { + { 24 * 8, 19 * 8 - 4, 5 * 8, 24 }, + "SET" + }; + Button button_save { { 72, 250, 96, 40 }, "Save" diff --git a/firmware/application/ui_lcr.cpp b/firmware/application/ui_lcr.cpp index 4ecbc07b..07447885 100644 --- a/firmware/application/ui_lcr.cpp +++ b/firmware/application/ui_lcr.cpp @@ -24,7 +24,7 @@ #include "ui_afsksetup.hpp" #include "ui_debug.hpp" -#include "afsk.hpp" +#include "modems.hpp" #include "lcr.hpp" #include "baseband_api.hpp" #include "string_format.hpp" @@ -35,7 +35,7 @@ #include using namespace portapack; -using namespace afsk; +using namespace modems; namespace ui { @@ -49,7 +49,7 @@ LCRView::~LCRView() { } void LCRView::paint(Painter& painter) { - uint8_t i; + size_t i; std::string final_str; static constexpr Style style_orange { @@ -75,11 +75,11 @@ void LCRView::paint(Painter& painter) { button_setrgsb.set_text(rgsb); // Recap: freq @ bps - final_str = to_string_dec_int(portapack::persistent_memory::tuned_frequency() / 1000, 6); + final_str = to_string_dec_int(persistent_memory::tuned_frequency() / 1000, 6); final_str += '@'; - final_str += to_string_dec_int(portapack::persistent_memory::afsk_bitrate(), 4); + final_str += to_string_dec_int(persistent_memory::modem_baudrate(), 4); final_str += "bps "; - final_str += afsk_formats[portapack::persistent_memory::afsk_format()].shortname; + //final_str += modem_defs[persistent_memory::modem_def_index()].name; text_recap.set(final_str); } @@ -95,25 +95,18 @@ std::vector LCRView::parse_litterals() { } void LCRView::update_progress() { - char str[16]; + std::string progress_str; - text_status.set(" "); + text_status.set(" "); // Clear if (tx_mode == SINGLE) { - strcpy(str, to_string_dec_uint(repeat_index).c_str()); - strcat(str, "/"); - strcat(str, to_string_dec_uint(portapack::persistent_memory::afsk_repeats()).c_str()); - text_status.set(str); + progress_str = to_string_dec_uint(repeat_index) + "/" + to_string_dec_uint(persistent_memory::modem_repeat()); + text_status.set(progress_str); progress.set_value(repeat_index); } else if (tx_mode == SCAN) { - strcpy(str, to_string_dec_uint(repeat_index).c_str()); - strcat(str, "/"); - strcat(str, to_string_dec_uint(portapack::persistent_memory::afsk_repeats()).c_str()); - strcat(str, " "); - strcat(str, to_string_dec_uint(scan_index + 1).c_str()); - strcat(str, "/"); - strcat(str, to_string_dec_uint(scan_count).c_str()); - text_status.set(str); + progress_str = to_string_dec_uint(repeat_index) + "/" + to_string_dec_uint(persistent_memory::modem_repeat()); + progress_str += " " + to_string_dec_uint(scan_index + 1) + "/" + to_string_dec_uint(scan_count); + text_status.set(progress_str); progress.set_value(scan_progress); } else { text_status.set("Ready"); @@ -153,10 +146,9 @@ void LCRView::on_txdone(int n) { } void LCRView::start_tx(const bool scan) { - uint8_t afsk_format; - uint8_t afsk_repeats; + uint8_t repeats; - afsk_repeats = portapack::persistent_memory::afsk_repeats(); + repeats = persistent_memory::modem_repeat(); if (scan) { if (tx_mode != SCAN) { @@ -166,35 +158,20 @@ void LCRView::start_tx(const bool scan) { repeat_index = 1; tx_mode = SCAN; rgsb = scan_list[options_scanlist.selected_index()].addresses[0]; - progress.set_max(scan_count * afsk_repeats); + progress.set_max(scan_count * repeats); update_progress(); } } else { tx_mode = SINGLE; repeat_index = 1; - progress.set_max(afsk_repeats); + progress.set_max(repeats); update_progress(); } button_setrgsb.set_text(rgsb); - afsk::generate_data(lcr::generate_message(rgsb, parse_litterals(), options_ec.selected_index()), lcr_message_data); + modems::generate_data(lcr::generate_message(rgsb, parse_litterals(), options_ec.selected_index()), lcr_message_data); - switch (portapack::persistent_memory::afsk_format()) { - case 0: - case 1: - case 2: - afsk_format = 0; - break; - - case 3: - afsk_format = 1; - break; - - default: - afsk_format = 0; - } - - transmitter_model.set_tuning_frequency(portapack::persistent_memory::tuned_frequency()); + transmitter_model.set_tuning_frequency(persistent_memory::tuned_frequency()); transmitter_model.set_sampling_rate(1536000U); transmitter_model.set_rf_amp(true); transmitter_model.set_baseband_bandwidth(1750000); @@ -203,12 +180,12 @@ void LCRView::start_tx(const bool scan) { memcpy(shared_memory.bb_data.data, lcr_message_data, 300); 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), - afsk_repeats, - portapack::persistent_memory::afsk_bw() * 115, // See proc_afsk.cpp - afsk_format + 1536000 / persistent_memory::modem_baudrate(), + persistent_memory::afsk_mark_freq(), + persistent_memory::afsk_space_freq(), + repeats, + persistent_memory::modem_bw(), + modems::symbol_count() ); } diff --git a/firmware/application/ui_lcr.hpp b/firmware/application/ui_lcr.hpp index 08fba1be..9862a8bf 100644 --- a/firmware/application/ui_lcr.hpp +++ b/firmware/application/ui_lcr.hpp @@ -84,7 +84,7 @@ private: std::string litteral[5] { " " }; std::string rgsb { " " }; char lcr_message[512]; - char lcr_message_data[512]; + uint16_t lcr_message_data[256]; rf::Frequency f { 0 }; uint8_t repeat_index { 0 }; diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 89a6881c..b1beee4d 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -361,7 +361,7 @@ SystemMenuView::SystemMenuView(NavigationView& nav) { { "Play dead", ui::Color::red(), &bitmap_icon_playdead, [&nav](){ nav.push(); } }, { "Receivers", ui::Color::cyan(), &bitmap_icon_receivers, [&nav](){ nav.push(); } }, { "Capture", ui::Color::blue(), &bitmap_icon_capture, [&nav](){ nav.push(); } }, - { "Replay", ui::Color::blue(), &bitmap_icon_replay, [&nav](){ nav.push(); } }, // ReplayAppView + { "Replay", ui::Color::grey(), &bitmap_icon_replay, [&nav](){ nav.push(); } }, // ReplayAppView { "Audio transmitters", ui::Color::green(), &bitmap_icon_audiotx, [&nav](){ nav.push(); } }, { "Code transmitters", ui::Color::green(), &bitmap_icon_codetx, [&nav](){ nav.push(); } }, { "SSTV transmitter", ui::Color::dark_green(), &bitmap_icon_sstv, [&nav](){ nav.push(); } }, diff --git a/firmware/application/ui_pocsag_tx.cpp b/firmware/application/ui_pocsag_tx.cpp index ca1b5745..d2a9326d 100644 --- a/firmware/application/ui_pocsag_tx.cpp +++ b/firmware/application/ui_pocsag_tx.cpp @@ -151,7 +151,7 @@ POCSAGTXView::POCSAGTXView( options_type.set_selected_index(0); // Address only // TODO: set_value for whole symfield - reload_address = portapack::persistent_memory::pocsag_address(); + reload_address = persistent_memory::pocsag_last_address(); for (c = 0; c < 7; c++) { field_address.set_sym(6 - c, reload_address % 10); reload_address /= 10; diff --git a/firmware/baseband/proc_afsk.cpp b/firmware/baseband/proc_afsk.cpp index 00fdf819..0f33f73d 100644 --- a/firmware/baseband/proc_afsk.cpp +++ b/firmware/baseband/proc_afsk.cpp @@ -35,88 +35,60 @@ void AFSKProcessor::execute(const buffer_c8_t& buffer) { for (size_t i = 0; i= (5 - 1)) { - s = 0; - - if (sample_count >= afsk_samples_per_bit) { - if (configured) { - cur_byte = shared_memory.bb_data.data[byte_pos]; - ext_byte = shared_memory.bb_data.data[byte_pos + 1]; - - if (!(cur_byte | ext_byte)) { - // End of data - if (repeat_counter < afsk_repeat) { - // Repeat - bit_pos = 0; - byte_pos = 0; - cur_byte = shared_memory.bb_data.data[0]; - ext_byte = shared_memory.bb_data.data[1]; - message.progress = repeat_counter + 1; - shared_memory.application_queue.push(message); - repeat_counter++; - } else { - // Stop - cur_byte = 0; - ext_byte = 0; - message.progress = 0; - shared_memory.application_queue.push(message); - configured = false; - } + if (sample_count >= afsk_samples_per_bit) { + if (configured) { + cur_word = *word_ptr; + + if (!cur_word) { + // End of data + if (repeat_counter < afsk_repeat) { + // Repeat + bit_pos = 0; + word_ptr = (uint16_t*)shared_memory.bb_data.data; + cur_word = *word_ptr; + message.progress = repeat_counter + 1; + shared_memory.application_queue.push(message); + repeat_counter++; + } else { + // Stop + cur_word = 0; + message.progress = 0; + shared_memory.application_queue.push(message); + configured = false; } } - - if (afsk_format == 0) { - // 0bbbbbbbp1 - // Start, 7-bit data, parity, stop - gbyte = (cur_byte << 1) | 1; - } else if (afsk_format == 1) { - // 0bbbbbbbbp - // Start, 8-bit data, parity - gbyte = (cur_byte << 1) | (ext_byte & 1); - } - - cur_bit = (gbyte >> (9 - bit_pos)) & 1; - - if (bit_pos >= 9) { - bit_pos = 0; - if (afsk_format == 0) - byte_pos++; - else if (afsk_format == 1) - byte_pos += 2; - } else { - bit_pos++; - } - - sample_count = 0; - } else { - sample_count++; } - if (cur_bit) - tone_phase += afsk_phase_inc_mark; - else - tone_phase += afsk_phase_inc_space; + + cur_bit = (cur_word >> (symbol_count - bit_pos)) & 1; + + if (bit_pos >= symbol_count) { + bit_pos = 0; + word_ptr++; + } else { + bit_pos++; + } + + sample_count = 0; } else { - s--; + sample_count++; } + + if (cur_bit) + tone_phase += afsk_phase_inc_mark; + else + tone_phase += afsk_phase_inc_space; - //tone_phase += 432759; // 1981Hz - - tone_sample = (sine_table_i8[(tone_phase & 0x03FC0000) >> 18]); - - // FM - // 1<<18 = 262144 - // m = (262144 * a) / 2280000 - // a = 262144 / 2280000 (*1000 = 115, see ui_lcr afsk_bw setting) - frq = tone_sample * afsk_bw; - - phase = (phase + frq); - sphase = phase + (64 << 18); + tone_sample = sine_table_i8[(tone_phase & 0xFF000000U) >> 24]; - re = (sine_table_i8[(sphase & 0x03FC0000) >> 18]); - im = (sine_table_i8[(phase & 0x03FC0000) >> 18]); + delta = tone_sample * fm_delta; - buffer.p[i] = {(int8_t)re, (int8_t)im}; + phase += delta; + sphase = phase + (64 << 24); + + re = (sine_table_i8[(sphase & 0xFF000000U) >> 24]); + im = (sine_table_i8[(phase & 0xFF000000U) >> 24]); + + buffer.p[i] = {re, im}; } } @@ -126,19 +98,17 @@ void AFSKProcessor::on_message(const Message* const msg) { if (message.id == Message::ID::AFSKConfigure) { 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_phase_inc_mark = message.phase_inc_mark * AFSK_DELTA_COEF; + afsk_phase_inc_space = message.phase_inc_space * AFSK_DELTA_COEF; afsk_repeat = message.repeat - 1; - afsk_bw = message.bw; - afsk_format = message.format; - - s = 0; + fm_delta = message.fm_delta * (0xFFFFFFULL / 1536000); + symbol_count = message.symbol_count - 1; + sample_count = afsk_samples_per_bit; repeat_counter = 0; bit_pos = 0; - byte_pos = 0; - cur_byte = 0; - ext_byte = 0; + word_ptr = (uint16_t*)shared_memory.bb_data.data; + cur_word = 0; cur_bit = 0; configured = true; } else diff --git a/firmware/baseband/proc_afsk.hpp b/firmware/baseband/proc_afsk.hpp index fd28e35a..e021c4e0 100644 --- a/firmware/baseband/proc_afsk.hpp +++ b/firmware/baseband/proc_afsk.hpp @@ -26,6 +26,9 @@ #include "baseband_processor.hpp" #include "baseband_thread.hpp" +#define AFSK_SAMPLERATE 1536000 +#define AFSK_DELTA_COEF ((1ULL << 32) / AFSK_SAMPLERATE) + class AFSKProcessor : public BasebandProcessor { public: void execute(const buffer_c8_t& buffer) override; @@ -41,21 +44,19 @@ private: uint32_t afsk_phase_inc_mark { 0 }; uint32_t afsk_phase_inc_space { 0 }; uint8_t afsk_repeat { 0 }; - uint32_t afsk_bw { 0 }; - uint8_t afsk_format { 0 }; + uint32_t fm_delta { 0 }; + uint8_t symbol_count { 0 }; uint8_t repeat_counter { 0 }; - int8_t re { 0 }, im { 0 }; - uint8_t s { 0 }; uint8_t bit_pos { 0 }; - uint16_t byte_pos { 0 }; - char cur_byte { 0 }; - char ext_byte { 0 }; - uint16_t gbyte { 0 }; + uint16_t * word_ptr { }; + uint16_t cur_word { 0 }; uint8_t cur_bit { 0 }; uint32_t sample_count { 0 }; uint32_t tone_phase { 0 }, phase { 0 }, sphase { 0 }; - int32_t tone_sample { 0 }, sig { 0 }, frq { 0 }; + int32_t tone_sample { 0 }, delta { 0 }; + + int8_t re { 0 }, im { 0 }; TXDoneMessage message { }; }; diff --git a/firmware/baseband/proc_replay.cpp b/firmware/baseband/proc_replay.cpp index 652c5214..af6c3cde 100644 --- a/firmware/baseband/proc_replay.cpp +++ b/firmware/baseband/proc_replay.cpp @@ -22,8 +22,6 @@ #include "proc_replay.hpp" -//#include "dsp_fir_taps.hpp" - #include "event_m4.hpp" #include "utility.hpp" @@ -34,16 +32,12 @@ ReplayProcessor::ReplayProcessor() { void ReplayProcessor::execute(const buffer_c8_t& buffer) { /* 2.4576MHz, 2048 samples */ - //const auto decim_0_out = decim_0.execute(buffer, dst_buffer); - //const auto decim_1_out = decim_1.execute(decim_0_out, dst_buffer); - //const auto& decimator_out = decim_1_out; - //const auto& channel = decimator_out; size_t pos = 0; for (size_t c = 0; c < 4; c++) { if( stream ) { - const size_t bytes_to_read = sizeof(*buffer.p) * buffer.count / 4; // ? + const size_t bytes_to_read = sizeof(*buffer.p) * buffer.count / 4; const auto result = stream->read(iq_buffer.p, bytes_to_read); } @@ -52,7 +46,6 @@ void ReplayProcessor::execute(const buffer_c8_t& buffer) { for (size_t i = 0; i < (buffer.count / 4); i++) { buffer.p[pos] = { iq_buffer.p[i].real() >> 8, iq_buffer.p[i].imag() >> 8 }; pos++; - //buffer.p[i] = { iq_buffer.p[i].real(), iq_buffer.p[i].imag() }; } } diff --git a/firmware/baseband/proc_replay.hpp b/firmware/baseband/proc_replay.hpp index 9b1fbb2f..37fa4e8e 100644 --- a/firmware/baseband/proc_replay.hpp +++ b/firmware/baseband/proc_replay.hpp @@ -25,11 +25,6 @@ #include "baseband_processor.hpp" #include "baseband_thread.hpp" -//#include "rssi_thread.hpp" - -//#include "dsp_decimate.hpp" - -//#include "spectrum_collector.hpp" #include "stream_output.hpp" @@ -52,7 +47,7 @@ private: BasebandThread baseband_thread { baseband_fs, this, NORMALPRIO + 20, baseband::Direction::Transmit }; //RSSIThread rssi_thread { NORMALPRIO + 10 }; - std::array iq { }; // 2048 + std::array iq { }; // 2048 doesn't fit in allocated RAM const buffer_c16_t iq_buffer { iq.data(), iq.size() diff --git a/firmware/baseband/stream_output.cpp b/firmware/baseband/stream_output.cpp index 7d81e607..30f2d651 100644 --- a/firmware/baseband/stream_output.cpp +++ b/firmware/baseband/stream_output.cpp @@ -48,7 +48,7 @@ size_t StreamOutput::read(void* const data, const size_t length) { if( !active_buffer ) { // We need a full buffer... if( !fifo_buffers_full.out(active_buffer) ) { - // ...but none are available. Samples were dropped. + // ...but none are available. Hole in transmission (inform app and stop ?) break; } } @@ -59,11 +59,12 @@ size_t StreamOutput::read(void* const data, const size_t length) { if( active_buffer->is_empty() ) { if( !fifo_buffers_empty.in(active_buffer) ) { - // FIFO is completly empty. - // Bail out of the loop, and try retrieving the buffer in the - // next pass. + // Empty buffers FIFO is already full. + // This should never happen if the number of buffers is less + // than the capacity of the FIFO. break; } + // Tell M0 (IRQ) that a buffer has been consumed. active_buffer = nullptr; creg::m4txevent::assert(); } diff --git a/firmware/common/buffer_exchange.cpp b/firmware/common/buffer_exchange.cpp index 2fb7aff6..6cc107a6 100644 --- a/firmware/common/buffer_exchange.cpp +++ b/firmware/common/buffer_exchange.cpp @@ -32,7 +32,7 @@ BufferExchange::BufferExchange( ) // : config_capture { config } { obj = this; - direction = CAPTURE; + // In capture mode, baseband wants empty buffers, app waits for full buffers fifo_buffers_for_baseband = config->fifo_buffers_empty; fifo_buffers_for_application = config->fifo_buffers_full; } @@ -42,7 +42,7 @@ BufferExchange::BufferExchange( ) // : config_replay { config } { obj = this; - direction = REPLAY; + // In replay mode, baseband wants full buffers, app waits for empty buffers fifo_buffers_for_baseband = config->fifo_buffers_full; fifo_buffers_for_application = config->fifo_buffers_empty; } @@ -56,14 +56,15 @@ BufferExchange::~BufferExchange() { StreamBuffer* BufferExchange::get(FIFO* fifo) { while(true) { StreamBuffer* p { nullptr }; - fifo->out(p); + fifo->out(p); // This crashes replay - led_tx.on(); // DEBUG + //led_tx.on(); // DEBUG if( p ) { return p; } + // Put thread to sleep, woken up by M4 IRQ chSysLock(); thread = chThdSelf(); chSchGoSleepS(THD_STATE_SUSPENDED); diff --git a/firmware/common/buffer_exchange.hpp b/firmware/common/buffer_exchange.hpp index 19e6befa..d3377295 100644 --- a/firmware/common/buffer_exchange.hpp +++ b/firmware/common/buffer_exchange.hpp @@ -86,12 +86,8 @@ private: } direction { }; void check_fifo_isr() { - //if (!empty() && (direction == CAPTURE)) { if (!empty()) wakeup_isr(); - //} else if (!empty() && (direction == REPLAY)) { - // wakeup_isr(); - //} } void wakeup_isr() { diff --git a/firmware/common/fifo.hpp b/firmware/common/fifo.hpp index 56e82baa..0cf1f6d9 100644 --- a/firmware/common/fifo.hpp +++ b/firmware/common/fifo.hpp @@ -111,9 +111,9 @@ public: return false; } - val = _data[_out & mask()]; - smp_wmb(); - _out += 1; + val = _data[_out & mask()]; // Crashes + smp_wmb(); // Ok + _out += 1; // Crashes return true; } diff --git a/firmware/common/message.hpp b/firmware/common/message.hpp index a6b66dcf..a04ed06f 100644 --- a/firmware/common/message.hpp +++ b/firmware/common/message.hpp @@ -683,15 +683,15 @@ public: const uint32_t phase_inc_mark, const uint32_t phase_inc_space, const uint8_t repeat, - const uint32_t bw, - const uint8_t format + const uint32_t fm_delta, + const uint8_t symbol_count ) : Message { ID::AFSKConfigure }, samples_per_bit(samples_per_bit), phase_inc_mark(phase_inc_mark), phase_inc_space(phase_inc_space), repeat(repeat), - bw(bw), - format(format) + fm_delta(fm_delta), + symbol_count(symbol_count) { } @@ -699,8 +699,8 @@ public: const uint32_t phase_inc_mark; const uint32_t phase_inc_space; const uint8_t repeat; - const uint32_t bw; - const uint8_t format; + const uint32_t fm_delta; + const uint8_t symbol_count; }; class OOKConfigureMessage : public Message { diff --git a/firmware/common/portapack_persistent_memory.cpp b/firmware/common/portapack_persistent_memory.cpp index ba340100..d2d7026b 100644 --- a/firmware/common/portapack_persistent_memory.cpp +++ b/firmware/common/portapack_persistent_memory.cpp @@ -44,17 +44,21 @@ constexpr ppb_range_t ppb_range { -99000, 99000 }; constexpr ppb_t ppb_reset_value { 0 }; using afsk_freq_range_t = range_t; -constexpr afsk_freq_range_t afsk_freq_range { 1, 400 }; -constexpr int32_t afsk_mark_reset_value { 48 }; -constexpr int32_t afsk_space_reset_value { 88 }; +constexpr afsk_freq_range_t afsk_freq_range { 1, 4000 }; +constexpr int32_t afsk_mark_reset_value { 1200 }; +constexpr int32_t afsk_space_reset_value { 2200 }; -using afsk_bitrate_range_t = range_t; -constexpr afsk_bitrate_range_t afsk_bitrate_range { 600, 9600 }; -constexpr int32_t afsk_bitrate_reset_value { 1200 }; +using modem_baudrate_range_t = range_t; +constexpr modem_baudrate_range_t modem_baudrate_range { 50, 9600 }; +constexpr int32_t modem_baudrate_reset_value { 1200 }; -using afsk_bw_range_t = range_t; -constexpr afsk_bw_range_t afsk_bw_range { 1, 50 }; -constexpr int32_t afsk_bw_reset_value { 15 }; +using modem_bw_range_t = range_t; +constexpr modem_bw_range_t modem_bw_range { 1000, 50000 }; +constexpr int32_t modem_bw_reset_value { 15000 }; + +using modem_repeat_range_t = range_t; +constexpr modem_repeat_range_t modem_repeat_range { 1, 99 }; +constexpr int32_t modem_repeat_reset_value { 5 }; /* struct must pack the same way on M4 and M0 cores. */ struct data_t { @@ -63,13 +67,14 @@ struct data_t { uint32_t touch_calibration_magic; touch::Calibration touch_calibration; - - // AFSK modem + // Modem + uint32_t modem_def_index; + serial_format_t serial_format; + int32_t modem_bw; int32_t afsk_mark_freq; - int32_t afsk_space_freq; // Todo: reduce size, only 256 bytes of NVRAM ! - int32_t afsk_bitrate; - int32_t afsk_bw; - uint32_t afsk_config; + int32_t afsk_space_freq; + int32_t modem_baudrate; + int32_t modem_repeat; // Play dead unlock uint32_t playdead_magic; @@ -78,7 +83,8 @@ struct data_t { uint32_t ui_config; - uint32_t pocsag_address; + uint32_t pocsag_last_address; + uint32_t pocsag_ignore_address; }; static_assert(sizeof(data_t) <= backup_ram.size(), "Persistent memory structure too large for VBAT-maintained region"); @@ -137,38 +143,39 @@ void set_afsk_space(const int32_t new_value) { data->afsk_space_freq = afsk_freq_range.clip(new_value); } -int32_t afsk_bitrate() { - afsk_bitrate_range.reset_if_outside(data->afsk_bitrate, afsk_bitrate_reset_value); - return data->afsk_bitrate; +int32_t modem_baudrate() { + modem_baudrate_range.reset_if_outside(data->modem_baudrate, modem_baudrate_reset_value); + return data->modem_baudrate; } -void set_afsk_bitrate(const int32_t new_value) { - data->afsk_bitrate = afsk_bitrate_range.clip(new_value); +void set_modem_baudrate(const int32_t new_value) { + data->modem_baudrate = modem_baudrate_range.clip(new_value); } -int32_t afsk_bw() { - afsk_bw_range.reset_if_outside(data->afsk_bw, afsk_bw_reset_value); - return data->afsk_bw; +int32_t modem_bw() { + modem_bw_range.reset_if_outside(data->modem_bw, modem_bw_reset_value); + return data->modem_bw; } -void set_afsk_bw(const int32_t new_value) { - data->afsk_bw = afsk_bw_range.clip(new_value); +void set_modem_bw(const int32_t new_value) { + data->modem_bw = modem_bw_range.clip(new_value); } -uint32_t afsk_config() { - return data->afsk_config; +uint8_t modem_repeat() { + modem_repeat_range.reset_if_outside(data->modem_repeat, modem_repeat_reset_value); + return data->modem_repeat; } -uint8_t afsk_format() { - return ((data->afsk_config >> 16) & 3); +void set_modem_repeat(const uint32_t new_value) { + data->modem_repeat = modem_repeat_range.clip(new_value); } -uint8_t afsk_repeats() { - return (data->afsk_config >> 24); +serial_format_t serial_format() { + return data->serial_format; } -void set_afsk_config(const uint32_t new_value) { - data->afsk_config = new_value; +void set_serial_format(const serial_format_t new_value) { + data->serial_format = new_value; } static constexpr uint32_t playdead_magic = 0x88d3bb57; @@ -241,12 +248,20 @@ void set_ui_config(const uint32_t new_value) { data->ui_config = new_value; } -uint32_t pocsag_address() { - return data->pocsag_address; +uint32_t pocsag_last_address() { + return data->pocsag_last_address; } -void set_pocsag_address(uint32_t address) { - data->pocsag_address = address; +void set_pocsag_last_address(uint32_t address) { + data->pocsag_last_address = address; +} + +uint32_t pocsag_ignore_address() { + return data->pocsag_ignore_address; +} + +void set_pocsag_ignore_address(uint32_t address) { + data->pocsag_ignore_address = address; } } /* namespace persistent_memory */ diff --git a/firmware/common/portapack_persistent_memory.hpp b/firmware/common/portapack_persistent_memory.hpp index 5471cd7b..ec1a9540 100644 --- a/firmware/common/portapack_persistent_memory.hpp +++ b/firmware/common/portapack_persistent_memory.hpp @@ -27,6 +27,9 @@ #include "rf_path.hpp" #include "touch.hpp" +#include "modems.hpp" + +using namespace modems; namespace portapack { namespace persistent_memory { @@ -42,22 +45,22 @@ void set_correction_ppb(const ppb_t new_value); void set_touch_calibration(const touch::Calibration& new_value); const touch::Calibration& touch_calibration(); +serial_format_t serial_format(); +void set_serial_format(const serial_format_t new_value); + int32_t afsk_mark_freq(); void set_afsk_mark(const int32_t new_value); int32_t afsk_space_freq(); void set_afsk_space(const int32_t new_value); -int32_t afsk_bitrate(); -void set_afsk_bitrate(const int32_t new_value); +int32_t modem_baudrate(); +void set_modem_baudrate(const int32_t new_value); -uint32_t afsk_config(); -uint8_t afsk_format(); -uint8_t afsk_repeats(); -void set_afsk_config(const uint32_t new_value); - -int32_t afsk_bw(); -void set_afsk_bw(const int32_t new_value); +uint8_t modem_repeat(); +void set_modem_repeat(const uint32_t new_value); +int32_t modem_bw(); +void set_modem_bw(const int32_t new_value); uint32_t playing_dead(); void set_playing_dead(const uint32_t new_value); @@ -76,8 +79,11 @@ uint16_t ui_config_bloff(); uint8_t ui_config_textentry(); void set_config_textentry(uint8_t new_value); -uint32_t pocsag_address(); -void set_pocsag_address(uint32_t address); +uint32_t pocsag_last_address(); +void set_pocsag_last_address(uint32_t address); + +uint32_t pocsag_ignore_address(); +void set_pocsag_ignore_address(uint32_t address); } /* namespace persistent_memory */ } /* namespace portapack */ diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 8288b4af7f9272f99597263bf66dfbce10be87ef..7586fdcad367beed3114f91011f8696da19b4366 100644 GIT binary patch delta 134258 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 Wb4~7(IGcUCjs5UWanNS5rsIETjSVsY delta 126124 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ⅆUU2?;5}`dP{fFXCv+y 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 PvOkPgoaoV6!R7x0W65o%