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:
RocketGod 2025-03-26 07:56:27 -07:00 committed by GitHub
parent e24f1b131d
commit 4d842b5fae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 28 deletions

View file

@ -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);

View file

@ -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);