mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-08-07 06:02:20 -04:00
Force 433.92 and remove metadata check (#2599)
* Force 433.92 and remove metadata check: we already know the frequency for all files so don't need a million metadata files to match. * Variable fixes and move to header
This commit is contained in:
parent
e24f1b131d
commit
4d842b5fae
2 changed files with 12 additions and 28 deletions
|
@ -81,8 +81,6 @@ void CVSSpamView::start_tx(const uint32_t id) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint32_t sample_rate = 250000;
|
|
||||||
|
|
||||||
current_file = cvsfiles_dir / file_list[id].filename();
|
current_file = cvsfiles_dir / file_list[id].filename();
|
||||||
|
|
||||||
File capture_file;
|
File capture_file;
|
||||||
|
@ -99,20 +97,13 @@ void CVSSpamView::start_tx(const uint32_t id) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto metadata_path = get_metadata_path(current_file);
|
|
||||||
auto metadata = read_metadata_file(metadata_path);
|
|
||||||
if (!metadata) {
|
|
||||||
metadata = capture_metadata{transmitter_model.target_frequency(), sample_rate};
|
|
||||||
}
|
|
||||||
|
|
||||||
auto file_size = capture_file.size();
|
|
||||||
capture_file.close();
|
capture_file.close();
|
||||||
|
|
||||||
replay_thread.reset();
|
replay_thread.reset();
|
||||||
transmitter_model.disable();
|
transmitter_model.disable();
|
||||||
ready_signal = false;
|
ready_signal = false;
|
||||||
|
|
||||||
baseband::set_sample_rate(metadata->sample_rate, get_oversample_rate(metadata->sample_rate));
|
baseband::set_sample_rate(SAMPLE_RATE, get_oversample_rate(SAMPLE_RATE));
|
||||||
|
|
||||||
auto reader = std::make_unique<FileConvertReader>();
|
auto reader = std::make_unique<FileConvertReader>();
|
||||||
if (auto error = reader->open(current_file)) {
|
if (auto error = reader->open(current_file)) {
|
||||||
|
@ -120,10 +111,7 @@ void CVSSpamView::start_tx(const uint32_t id) {
|
||||||
"Cannot read C16 data.\n"
|
"Cannot read C16 data.\n"
|
||||||
"Check file format/perms.\n"
|
"Check file format/perms.\n"
|
||||||
"Rate: " +
|
"Rate: " +
|
||||||
to_string_dec_uint(metadata->sample_rate) +
|
to_string_dec_uint(SAMPLE_RATE) +
|
||||||
"\n"
|
|
||||||
"Size: " +
|
|
||||||
to_string_dec_uint(file_size) +
|
|
||||||
"\n"
|
"\n"
|
||||||
"Error: " +
|
"Error: " +
|
||||||
std::to_string(static_cast<uint32_t>(error)));
|
std::to_string(static_cast<uint32_t>(error)));
|
||||||
|
@ -132,9 +120,9 @@ void CVSSpamView::start_tx(const uint32_t id) {
|
||||||
|
|
||||||
progressbar.set_value(0);
|
progressbar.set_value(0);
|
||||||
|
|
||||||
transmitter_model.set_sampling_rate(get_actual_sample_rate(metadata->sample_rate));
|
transmitter_model.set_sampling_rate(get_actual_sample_rate(SAMPLE_RATE));
|
||||||
transmitter_model.set_baseband_bandwidth(metadata->sample_rate <= 500000 ? 1750000 : 2500000);
|
transmitter_model.set_baseband_bandwidth(SAMPLE_RATE <= 500000 ? 1750000 : 2500000);
|
||||||
transmitter_model.set_target_frequency(metadata->center_frequency);
|
transmitter_model.set_target_frequency(TARGET_FREQUENCY);
|
||||||
transmitter_model.enable();
|
transmitter_model.enable();
|
||||||
|
|
||||||
chThdSleepMilliseconds(100);
|
chThdSleepMilliseconds(100);
|
||||||
|
@ -164,7 +152,6 @@ void CVSSpamView::start_random_tx() {
|
||||||
lfsr_v = lfsr_iterate(lfsr_v);
|
lfsr_v = lfsr_iterate(lfsr_v);
|
||||||
size_t random_index = lfsr_v % file_list.size();
|
size_t random_index = lfsr_v % file_list.size();
|
||||||
|
|
||||||
const uint32_t sample_rate = 250000;
|
|
||||||
current_file = cvsfiles_dir / file_list[random_index].filename();
|
current_file = cvsfiles_dir / file_list[random_index].filename();
|
||||||
|
|
||||||
File capture_file;
|
File capture_file;
|
||||||
|
@ -174,19 +161,13 @@ void CVSSpamView::start_random_tx() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto metadata_path = get_metadata_path(current_file);
|
|
||||||
auto metadata = read_metadata_file(metadata_path);
|
|
||||||
if (!metadata) {
|
|
||||||
metadata = capture_metadata{transmitter_model.target_frequency(), sample_rate};
|
|
||||||
}
|
|
||||||
|
|
||||||
capture_file.close();
|
capture_file.close();
|
||||||
|
|
||||||
replay_thread.reset();
|
replay_thread.reset();
|
||||||
transmitter_model.disable();
|
transmitter_model.disable();
|
||||||
ready_signal = false;
|
ready_signal = false;
|
||||||
|
|
||||||
baseband::set_sample_rate(metadata->sample_rate, get_oversample_rate(metadata->sample_rate));
|
baseband::set_sample_rate(SAMPLE_RATE, get_oversample_rate(SAMPLE_RATE));
|
||||||
|
|
||||||
auto reader = std::make_unique<FileConvertReader>();
|
auto reader = std::make_unique<FileConvertReader>();
|
||||||
if (auto error = reader->open(current_file)) {
|
if (auto error = reader->open(current_file)) {
|
||||||
|
@ -196,9 +177,9 @@ void CVSSpamView::start_random_tx() {
|
||||||
|
|
||||||
progressbar.set_value(0);
|
progressbar.set_value(0);
|
||||||
|
|
||||||
transmitter_model.set_sampling_rate(get_actual_sample_rate(metadata->sample_rate));
|
transmitter_model.set_sampling_rate(get_actual_sample_rate(SAMPLE_RATE));
|
||||||
transmitter_model.set_baseband_bandwidth(metadata->sample_rate <= 500000 ? 1750000 : 2500000);
|
transmitter_model.set_baseband_bandwidth(SAMPLE_RATE <= 500000 ? 1750000 : 2500000);
|
||||||
transmitter_model.set_target_frequency(metadata->center_frequency);
|
transmitter_model.set_target_frequency(TARGET_FREQUENCY);
|
||||||
transmitter_model.enable();
|
transmitter_model.enable();
|
||||||
|
|
||||||
chThdSleepMilliseconds(100);
|
chThdSleepMilliseconds(100);
|
||||||
|
|
|
@ -16,6 +16,9 @@ using namespace portapack;
|
||||||
|
|
||||||
namespace ui::external_app::cvs_spam {
|
namespace ui::external_app::cvs_spam {
|
||||||
|
|
||||||
|
constexpr uint32_t SAMPLE_RATE = 250000;
|
||||||
|
constexpr uint64_t TARGET_FREQUENCY = 433920000;
|
||||||
|
|
||||||
class CVSSpamView : public View {
|
class CVSSpamView : public View {
|
||||||
public:
|
public:
|
||||||
explicit CVSSpamView(NavigationView& nav);
|
explicit CVSSpamView(NavigationView& nav);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue