mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-04-18 06:56:03 -04:00
Format code of course
This commit is contained in:
parent
23f3fffe53
commit
f6975e008f
@ -75,7 +75,7 @@ void FlexRxView::on_packet(const FlexPacketMessage& message) {
|
||||
auto bitrate = packet.bitrate();
|
||||
std::string str_log = timestamp + " " + to_string_dec_uint(bitrate) + " ";
|
||||
|
||||
if (batch.size() < 8) return; // Ensure full block
|
||||
if (batch.size() < 8) return; // Ensure full block
|
||||
|
||||
uint32_t frame_info = batch[0];
|
||||
size_t vsa = (frame_info >> 10) & 0x3F;
|
||||
@ -174,7 +174,7 @@ void FlexRxView::on_packet(const FlexPacketMessage& message) {
|
||||
console.writeln(display_text);
|
||||
if (logger && logging) logger->log_decoded(packet.timestamp(), str_log + display_text);
|
||||
|
||||
if (vector_type == 5) { // Alpha message
|
||||
if (vector_type == 5) { // Alpha message
|
||||
int w1 = (vector_data >> 7) & 0x7F;
|
||||
int w2 = ((vector_data >> 14) & 0x7F) + w1 - 1;
|
||||
if (w1 < 0 || w2 < 0 || static_cast<size_t>(w1) >= batch.size() || static_cast<size_t>(w2) >= batch.size()) continue;
|
||||
@ -233,20 +233,19 @@ void FlexRxView::on_stats(const FlexStatsMessage& stats) {
|
||||
str_console += "SYNC LOST";
|
||||
}
|
||||
console.writeln(str_console);
|
||||
|
||||
|
||||
sync_status.set_color(stats.has_sync ? Color::green() : Color::red());
|
||||
}
|
||||
|
||||
if (stats.baud_rate != last_baud_rate ||
|
||||
|
||||
if (stats.baud_rate != last_baud_rate ||
|
||||
stats.has_sync != last_has_sync ||
|
||||
stats.current_frames != last_frames ||
|
||||
stats.current_bits != last_bits) {
|
||||
|
||||
std::string debug_text = "BR:" + to_string_dec_uint(stats.baud_rate) +
|
||||
" Sync:" + (stats.has_sync ? "Y" : "N") +
|
||||
" Fr:" + to_string_dec_uint(stats.current_frames);
|
||||
" Sync:" + (stats.has_sync ? "Y" : "N") +
|
||||
" Fr:" + to_string_dec_uint(stats.current_frames);
|
||||
text_debug.set(debug_text);
|
||||
|
||||
|
||||
last_baud_rate = stats.baud_rate;
|
||||
last_has_sync = stats.has_sync;
|
||||
last_frames = stats.current_frames;
|
||||
|
@ -51,7 +51,7 @@ class FlexRxView : public View {
|
||||
bool logging{false};
|
||||
std::string current_message{};
|
||||
uint32_t last_address{0};
|
||||
|
||||
|
||||
uint16_t last_baud_rate{0};
|
||||
bool last_has_sync{false};
|
||||
uint8_t last_frames{0};
|
||||
|
@ -248,7 +248,7 @@ void FlexCodewordExtractor::handle_sync() {
|
||||
void FlexCodewordExtractor::save_current_codeword() {
|
||||
batch_[word_count_++] = data_;
|
||||
clear_data_bits();
|
||||
|
||||
|
||||
if (word_count_ >= flex_batch_size) {
|
||||
handle_batch_complete();
|
||||
}
|
||||
@ -291,7 +291,7 @@ void FlexProcessor::execute(const buffer_c8_t& buffer) {
|
||||
|
||||
for (size_t i = 0; i < audio.count; ++i) {
|
||||
float sample = audio.p[i];
|
||||
|
||||
|
||||
sync_buffer64 = (sync_buffer64 << 2);
|
||||
if (sample >= 0.66f)
|
||||
sync_buffer64 |= 0x0;
|
||||
@ -340,9 +340,9 @@ void FlexProcessor::execute(const buffer_c8_t& buffer) {
|
||||
block_buffer[word_count] |= 0x2;
|
||||
else
|
||||
block_buffer[word_count] |= 0x3;
|
||||
|
||||
|
||||
bit_count += 2;
|
||||
|
||||
|
||||
if (bit_count >= 32) {
|
||||
word_count++;
|
||||
bit_count = 0;
|
||||
@ -358,7 +358,7 @@ void FlexProcessor::execute(const buffer_c8_t& buffer) {
|
||||
FlexPacketMessage message(packet);
|
||||
shared_memory.application_queue.push(message);
|
||||
word_count = 0;
|
||||
state = State::Idle; // Reset to find next sync
|
||||
state = State::Idle; // Reset to find next sync
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -408,7 +408,7 @@ void FlexProcessor::configure() {
|
||||
decim_0.configure(taps_200k_decim_0.taps);
|
||||
decim_1.configure(taps_16k0_decim_1.taps);
|
||||
channel_filter.configure(taps_16k0_channel.taps, 2);
|
||||
|
||||
|
||||
demod.configure(demod_input_fs, 4800);
|
||||
|
||||
audio_output.configure(false);
|
||||
@ -427,7 +427,7 @@ void FlexProcessor::reset() {
|
||||
frame_buffer.clear();
|
||||
current_word = 0;
|
||||
bit_count = 0;
|
||||
|
||||
|
||||
bits.reset();
|
||||
bit_extractor.reset();
|
||||
word_extractor.reset();
|
||||
|
@ -59,7 +59,8 @@ class FlexBitQueue {
|
||||
|
||||
class FlexBitExtractor {
|
||||
public:
|
||||
FlexBitExtractor(FlexBitQueue& bits) : bits_{bits} {}
|
||||
FlexBitExtractor(FlexBitQueue& bits)
|
||||
: bits_{bits} {}
|
||||
void extract_bits(const buffer_f32_t& audio);
|
||||
void configure(uint32_t sample_rate);
|
||||
void reset();
|
||||
@ -67,7 +68,7 @@ class FlexBitExtractor {
|
||||
|
||||
private:
|
||||
static constexpr uint32_t sync1_pattern = 0xA6C6AAAA;
|
||||
|
||||
|
||||
struct RateInfo {
|
||||
enum class State : uint8_t {
|
||||
WaitForSample,
|
||||
@ -93,7 +94,8 @@ class FlexCodewordExtractor {
|
||||
public:
|
||||
using batch_t = flex_batch_t;
|
||||
using batch_handler_t = std::function<void(FlexCodewordExtractor&)>;
|
||||
FlexCodewordExtractor(FlexBitQueue& bits, batch_handler_t on_batch) : bits_{bits}, on_batch_{on_batch} {}
|
||||
FlexCodewordExtractor(FlexBitQueue& bits, batch_handler_t on_batch)
|
||||
: bits_{bits}, on_batch_{on_batch} {}
|
||||
void process_bits();
|
||||
void flush();
|
||||
void reset();
|
||||
@ -162,14 +164,14 @@ class FlexProcessor : public BasebandProcessor {
|
||||
FlexBitQueue bits{};
|
||||
FlexBitExtractor bit_extractor{bits};
|
||||
FlexCodewordExtractor word_extractor{bits, [this](FlexCodewordExtractor&) { send_packet(); }};
|
||||
|
||||
|
||||
State state = State::Idle;
|
||||
uint32_t sync_buffer = 0;
|
||||
std::vector<uint32_t> frame_buffer;
|
||||
uint32_t current_word = 0;
|
||||
uint8_t bit_count = 0;
|
||||
uint16_t current_baud_rate = 1600;
|
||||
|
||||
|
||||
BasebandThread baseband_thread{baseband_fs, this, baseband::Direction::Receive};
|
||||
RSSIThread rssi_thread{};
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user