From 5de634919959e4b7d980a023a16f5a2caaaf15ce Mon Sep 17 00:00:00 2001 From: furrtek Date: Thu, 25 Aug 2016 16:20:19 +0200 Subject: [PATCH] Bitrate and flags for POCSAG packets, trim bugfix --- firmware/application/pocsag_app.cpp | 106 +++++++++++++++------------- firmware/application/pocsag_app.hpp | 2 +- firmware/baseband/proc_pocsag.cpp | 38 ++++++---- firmware/baseband/proc_pocsag.hpp | 12 ++-- firmware/common/pocsag_packet.hpp | 39 +++++++--- firmware/portapack-h1-havoc.bin | Bin 767212 -> 767388 bytes 6 files changed, 121 insertions(+), 76 deletions(-) diff --git a/firmware/application/pocsag_app.cpp b/firmware/application/pocsag_app.cpp index b57bf62e..a886cab1 100644 --- a/firmware/application/pocsag_app.cpp +++ b/firmware/application/pocsag_app.cpp @@ -32,18 +32,28 @@ using namespace portapack; #include "utility.hpp" +#define POCSAG_SYNC 0x7CD215D8 #define POCSAG_IDLE 0x7A89C197 namespace pocsag { namespace format { -static std::string signal_rate_str(SignalRate signal_rate) { - switch(signal_rate) { - case SignalRate::FSK512: return "FSK 512 "; - case SignalRate::FSK1200: return "FSK 1200"; - case SignalRate::FSK2400: return "FSK 2400"; - default: return "- - - - "; +static std::string bitrate_str(BitRate bitrate) { + switch (bitrate) { + case BitRate::FSK512: return "F512 "; + case BitRate::FSK1200: return "F1200"; + case BitRate::FSK2400: return "F2400"; + default: return "F????"; + } +} + +static std::string flag_str(PacketFlag packetflag) { + switch (packetflag) { + case PacketFlag::NORMAL: return "NORMAL "; + case PacketFlag::TIMED_OUT: return "TIMED OUT"; + case PacketFlag::TOO_LONG: return "TOO LONG "; + default: return ""; } } @@ -52,7 +62,9 @@ static std::string signal_rate_str(SignalRate signal_rate) { } /* namespace pocsag */ void POCSAGLogger::on_packet(const pocsag::POCSAGPacket& packet, const uint32_t frequency) { - std::string entry = pocsag::format::signal_rate_str(packet.signal_rate()) + " " + to_string_dec_uint(frequency) + "Hz "; + std::string entry = pocsag::format::bitrate_str(packet.bitrate()) + " " + to_string_dec_uint(frequency) + "Hz "; + + // Raw hex dump of all the codewords for (size_t c = 0; c < 16; c++) entry += to_string_hex(packet[c], 8) + " "; @@ -61,17 +73,18 @@ void POCSAGLogger::on_packet(const pocsag::POCSAGPacket& packet, const uint32_t void POCSAGLogger::on_decoded( const pocsag::POCSAGPacket& packet, - const std::string text, - const uint32_t address, - const uint32_t function) { + const std::string info, + const std::string text) { - log_file.write_entry(packet.timestamp(), to_string_hex(address, 8) + "(" + to_string_dec_uint(function) + "): " + text); + // Decoded address and message + log_file.write_entry(packet.timestamp(), info); + log_file.write_entry(packet.timestamp(), text); } namespace ui { void POCSAGAppView::update_freq(rf::Frequency f) { - char finalstr[10] = {0}; + char finalstr[10] = { 0 }; options_freq.set_selected_index(0); set_target_frequency(f); @@ -126,9 +139,7 @@ POCSAGAppView::POCSAGAppView(NavigationView& nav) { }; logger = std::make_unique(); - if( logger ) { - logger->append("pocsag.txt"); - } + if (logger) logger->append("pocsag.txt"); baseband::set_pocsag(); } @@ -157,24 +168,10 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) { if (codeword & 0x80000000U) { // Message - ascii_data |= ((codeword >> 11) & 0xFFFFF); // 20 bits + ascii_data |= ((codeword >> 11) & 0xFFFFF); ascii_idx += 20; - // AAAAAAABBBBBBBCCCCCC C - // 20 -> 13 -> 6 - // CCCCCC CDDDDDDDEEEEEEEFFFFF FF - // 26 -> 19 -> 12 -> 5 - // FFFFF FFGGGGGGGHHHHHHHIIII III - // 25 -> 18 -> 11 -> 4 - // IIII IIIJJJJJJJKKKKKKKLLL LLLL - // 24 -> 17 -> 10 -> 3 - // LLL LLLLMMMMMMMNNNNNNNOO OOOOO - // 23 -> 16 -> 9 -> 2 - // OO OOOOOPPPPPPPQQQQQQQR RRRRRR - // 22 -> 15 -> 8 -> 1 - // R RRRRRRSSSSSSSTTTTTTT UUUUUUU - // 21 -> 14 -> 7 -> 0 - + // Packet 20 bits to 7 bit reversed ASCII while (ascii_idx >= 7) { ascii_idx -= 7; ascii_char = (ascii_data >> ascii_idx) & 0x7F; @@ -184,15 +181,21 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) { ascii_char = (ascii_char & 0xCC) >> 2 | (ascii_char & 0x33) << 2; // 45670123 -> 67452301 ascii_char = (ascii_char & 0xAA) >> 2 | (ascii_char & 0x55); // 67452301 -> *7654321 - alphanum_text += ascii_char; + // Translate non-printable chars + if ((ascii_char < 32) || (ascii_char > 126)) + output_text += "[" + to_string_dec_uint(ascii_char) + "]"; + else + output_text += ascii_char; + } ascii_data = ascii_data << 20; } else { // Address - if (codeword == POCSAG_IDLE) { + if ((codeword == POCSAG_IDLE) || (codeword == POCSAG_SYNC)) { eom = true; } else { - if (eom == false) { + if ((codeword) && (!address)) { + // Set address if none set and codeword is valid function = (codeword >> 11) & 3; address = ((codeword >> 10) & 0x1FFFF8) | ((codeword >> 1) & 7); } @@ -200,29 +203,36 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) { } } - if( logger ) logger->on_packet(message->packet, target_frequency()); - - // Todo: same code in ui_lcr, make function in string_format ! - for(const auto c : alphanum_text) { - if ((c < 32) || (c > 126)) - output_text += "[" + to_string_dec_uint(c) + "]"; - else - output_text += c; - } + if (logger) logger->on_packet(message->packet, target_frequency()); if (eom) { - if ((address != 0) || (function != 0)) { - if (logger) logger->on_decoded(message->packet, output_text, address, function); - console.writeln(to_string_time(message->packet.timestamp()) + " ADDR:" + to_string_hex(address, 6) + " F:" + to_string_dec_uint(function) + " "); - if (output_text != "") console.writeln("MSG:" + output_text); + std::string console_info; + + console_info = to_string_time(message->packet.timestamp()); + + if (address || function) { + console_info += pocsag::format::bitrate_str( message->packet.bitrate()) + " "; + console_info += pocsag::format::flag_str(message->packet.flag()) + " "; + console_info += " ADDR:" + to_string_dec_uint(address, 7) + " F:" + to_string_dec_uint(function); + + console.writeln(console_info); + + if (output_text != "") console.writeln("Alpha:" + output_text); + + if (logger) logger->on_decoded(message->packet, console_info, output_text); + } else { - console.writeln(to_string_time(message->packet.timestamp()) + " Tone only "); + console_info += pocsag::format::bitrate_str(message->packet.bitrate()) + " Tone only"; + + console.writeln(console_info); } output_text = ""; ascii_idx = 0; ascii_data = 0; batch_cnt = 0; + address = 0; + function = 0; } else { batch_cnt++; } diff --git a/firmware/application/pocsag_app.hpp b/firmware/application/pocsag_app.hpp index 2a42b1aa..2e121ab6 100644 --- a/firmware/application/pocsag_app.hpp +++ b/firmware/application/pocsag_app.hpp @@ -42,7 +42,7 @@ public: } void on_packet(const pocsag::POCSAGPacket& packet, const uint32_t frequency); - void on_decoded(const pocsag::POCSAGPacket& packet, const std::string text, const uint32_t address, const uint32_t function); + void on_decoded(const pocsag::POCSAGPacket& packet, const std::string info, const std::string text); private: LogFile log_file; diff --git a/firmware/baseband/proc_pocsag.cpp b/firmware/baseband/proc_pocsag.cpp index 94ba9c65..485b967d 100644 --- a/firmware/baseband/proc_pocsag.cpp +++ b/firmware/baseband/proc_pocsag.cpp @@ -49,8 +49,9 @@ void POCSAGProcessor::execute(const buffer_c8_t& buffer) { for (c = 0; c < 32; c++) { // Bit = sign - const int32_t sample_int = audio.p[c] * 32768.0f; - const int32_t audio_sample = __SSAT(sample_int, 16); + const int32_t audio_sample = audio.p[c] * 32768.0f; // sample_int + //const int32_t audio_sample = __SSAT(sample_int, 16); + dcd_shreg <<= 1; dcd_shreg |= (audio_sample < 0); @@ -87,12 +88,13 @@ void POCSAGProcessor::execute(const buffer_c8_t& buffer) { if (rx_data == POCSAG_SYNC) { packet.clear(); - rx_state = SYNC; frame_counter = 0; rx_bit = 0; msg_timeout = 0; + last_rx_data = rx_data; + rx_state = SYNC; } else if (rx_data == POCSAG_IDLE) { - rx_state = WAITING; + //rx_state = WAITING; } } else { @@ -111,26 +113,38 @@ void POCSAGProcessor::execute(const buffer_c8_t& buffer) { packet.set(frame_counter, rx_data); - if (rx_data == POCSAG_IDLE) { - //rx_state = WAITING; // DEBUG + if ((rx_data == POCSAG_IDLE) && (!(last_rx_data & 0x80000000))) { + // SYNC then IDLE always means end of message ? + packet.set_bitrate(pocsag::BitRate::FSK1200); + packet.set_flag(pocsag::PacketFlag::NORMAL); + packet.set_timestamp(Timestamp::now()); + const POCSAGPacketMessage message(packet); + shared_memory.application_queue.push(message); + rx_state = WAITING; } else { if (frame_counter < 15) { frame_counter++; } else { - // DEBUG + // More than 17-1 codewords + packet.set_bitrate(pocsag::BitRate::FSK1200); + packet.set_flag(pocsag::PacketFlag::TOO_LONG); packet.set_timestamp(Timestamp::now()); const POCSAGPacketMessage message(packet); shared_memory.application_queue.push(message); rx_state = WAITING; } } + + last_rx_data = rx_data; } } else { - // DEBUG - packet.set_timestamp(Timestamp::now()); - const POCSAGPacketMessage message(packet); - shared_memory.application_queue.push(message); - rx_state = WAITING; // Abort + // Timed out (no end of message received) + packet.set_bitrate(pocsag::BitRate::FSK1200); + packet.set_flag(pocsag::PacketFlag::TIMED_OUT); + packet.set_timestamp(Timestamp::now()); + const POCSAGPacketMessage message(packet); + shared_memory.application_queue.push(message); + rx_state = WAITING; } break; diff --git a/firmware/baseband/proc_pocsag.hpp b/firmware/baseband/proc_pocsag.hpp index 40b9369a..de070cbe 100644 --- a/firmware/baseband/proc_pocsag.hpp +++ b/firmware/baseband/proc_pocsag.hpp @@ -27,7 +27,6 @@ #include "baseband_thread.hpp" #include "rssi_thread.hpp" -#include "dsp_iir.hpp" #include "dsp_decimate.hpp" #include "dsp_demodulate.hpp" @@ -49,11 +48,11 @@ private: WAITING = 0, PREAMBLE = 32, SYNC = 64, - LOSING_SYNC = 65, - LOST_SYNC = 66, - ADDRESS = 67, - MESSAGE = 68, - END_OF_MESSAGE = 69 + //LOSING_SYNC = 65, + //LOST_SYNC = 66, + //ADDRESS = 67, + //MESSAGE = 68, + //END_OF_MESSAGE = 69 }; static constexpr size_t baseband_fs = 1536000; @@ -83,6 +82,7 @@ private: uint32_t dcd_shreg; uint32_t sphase; uint32_t rx_data; + uint32_t last_rx_data; uint32_t rx_bit; bool configured = false; rx_states rx_state; diff --git a/firmware/common/pocsag_packet.hpp b/firmware/common/pocsag_packet.hpp index f06ac960..4bd057b6 100644 --- a/firmware/common/pocsag_packet.hpp +++ b/firmware/common/pocsag_packet.hpp @@ -32,11 +32,17 @@ namespace pocsag { -enum SignalRate : uint32_t { - FSK512 = 1, - FSK1200 = 2, - FSK2400 = 3, - DEBUG = 4 +enum BitRate : uint32_t { + UNKNOWN, + FSK512, + FSK1200, + FSK2400 +}; + +enum PacketFlag : uint32_t { + NORMAL, + TIMED_OUT, + TOO_LONG }; class POCSAGPacket { @@ -58,19 +64,34 @@ public: return (index < 16) ? codewords[index] : 0; } - SignalRate signal_rate() const { - return FSK1200; + void set_bitrate(const BitRate bitrate) { + bitrate_ = bitrate; + } + + BitRate bitrate() const { + return bitrate_; + } + + void set_flag(const PacketFlag flag) { + flag_ = flag; + } + + PacketFlag flag() const { + return flag_; } void clear() { for (size_t c = 0; c < 16; c++) codewords[c] = 0; + bitrate_ = UNKNOWN; + flag_ = NORMAL; } private: - //SignalRate rate = FSK1200; + BitRate bitrate_; + PacketFlag flag_; uint32_t codewords[16]; - Timestamp timestamp_ { }; + Timestamp timestamp_; }; } /* namespace pocsag */ diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 4b300d88da569d80276b55adecbdd4cc87862505..80b02e3a99a82f124cd702dbc93483b770967e6e 100644 GIT binary patch delta 31872 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