From 1b9465716f0ecf3760e0748b2622ac212233335f Mon Sep 17 00:00:00 2001 From: furrtek Date: Tue, 23 Aug 2016 14:35:14 +0200 Subject: [PATCH] HH:MM in POCSAG RX --- .gitignore | 1 + firmware/application/pocsag_app.cpp | 21 +++++++++++++++------ firmware/application/pocsag_app.hpp | 3 ++- firmware/application/string_format.cpp | 5 +++++ firmware/application/string_format.hpp | 1 + firmware/application/ui_afsksetup.cpp | 4 ++-- firmware/application/ui_afsksetup.hpp | 2 +- firmware/portapack-h1-havoc.bin | Bin 766652 -> 766956 bytes 8 files changed, 27 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 9ef387496..d75397669 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/firmware/application/application.bin /CMakeCache.txt /Makefile /firmware/baseband/Makefile diff --git a/firmware/application/pocsag_app.cpp b/firmware/application/pocsag_app.cpp index 11b94c617..d5dd5fa1d 100644 --- a/firmware/application/pocsag_app.cpp +++ b/firmware/application/pocsag_app.cpp @@ -59,6 +59,10 @@ void POCSAGLogger::on_packet(const pocsag::POCSAGPacket& packet, const uint32_t log_file.write_entry(packet.timestamp(), entry); } +void POCSAGLogger::on_decoded(const pocsag::POCSAGPacket& packet, const std::string text) { + log_file.write_entry(packet.timestamp(), text); +} + namespace ui { void POCSAGAppView::update_freq(rf::Frequency f) { @@ -69,7 +73,7 @@ void POCSAGAppView::update_freq(rf::Frequency f) { portapack::persistent_memory::set_tuned_frequency(f); // Maybe not ? - auto mhz = to_string_dec_int(f / 1000000, 3); + auto mhz = to_string_dec_int(f / 1000000, 4); auto hz100 = to_string_dec_int((f / 100) % 10000, 4, '0'); strcat(finalstr, mhz.c_str()); @@ -141,12 +145,10 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) { bool eom = false; uint32_t codeword; std::string alphanum_text = ""; - std::string output_text = ""; + std::string output_text = "MSG:"; char ascii_char; - if( logger ) { - logger->on_packet(message->packet, target_frequency()); - } + if( logger ) logger->on_packet(message->packet, target_frequency()); for (size_t i = 0; i < 16; i++) { codeword = message->packet[i]; @@ -187,6 +189,9 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) { } console.writeln(output_text); + + if (logger) logger->on_decoded(message->packet, output_text); + } else { // Address if (codeword == POCSAG_IDLE) { @@ -199,7 +204,11 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) { } if (eom) { - console.writeln("ADDR:" + to_string_hex(address, 6) + " F:" + to_string_dec_uint(function) + " "); + if (address || function) + console.writeln(to_string_time(message->packet.timestamp()) + " ADDR:" + to_string_hex(address, 6) + " F:" + to_string_dec_uint(function) + " "); + else + console.writeln(to_string_time(message->packet.timestamp()) + " Tone only "); + ascii_idx = 0; ascii_data = 0; batch_cnt = 0; diff --git a/firmware/application/pocsag_app.hpp b/firmware/application/pocsag_app.hpp index dea54ba61..06c650bd9 100644 --- a/firmware/application/pocsag_app.hpp +++ b/firmware/application/pocsag_app.hpp @@ -42,6 +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); private: LogFile log_file; @@ -104,7 +105,7 @@ private: }; Button button_setfreq { { 0, 20, 12 * 8, 20 }, - "---.----M" + "----.----" }; Console console { diff --git a/firmware/application/string_format.cpp b/firmware/application/string_format.cpp index 156faaa87..ff4959fb1 100644 --- a/firmware/application/string_format.cpp +++ b/firmware/application/string_format.cpp @@ -121,6 +121,11 @@ std::string to_string_datetime(const rtc::RTC& value) { to_string_dec_uint(value.second(), 2, '0'); } +std::string to_string_time(const rtc::RTC& value) { + return to_string_dec_uint(value.hour(), 2, '0') + ":" + + to_string_dec_uint(value.minute(), 2, '0'); +} + std::string to_string_timestamp(const rtc::RTC& value) { return to_string_dec_uint(value.year(), 4, '0') + to_string_dec_uint(value.month(), 2, '0') + diff --git a/firmware/application/string_format.hpp b/firmware/application/string_format.hpp index 40c591623..011a2f9a6 100644 --- a/firmware/application/string_format.hpp +++ b/firmware/application/string_format.hpp @@ -35,6 +35,7 @@ std::string to_string_dec_int(const int32_t n, const int32_t l = 0, const char f std::string to_string_hex(const uint32_t n, const int32_t l = 0); std::string to_string_datetime(const rtc::RTC& value); +std::string to_string_time(const rtc::RTC& value); std::string to_string_timestamp(const rtc::RTC& value); #endif/*__STRING_FORMAT_H__*/ diff --git a/firmware/application/ui_afsksetup.cpp b/firmware/application/ui_afsksetup.cpp index b6dfa95f5..1cae5ade3 100644 --- a/firmware/application/ui_afsksetup.cpp +++ b/firmware/application/ui_afsksetup.cpp @@ -44,11 +44,11 @@ void AFSKSetupView::focus() { } void AFSKSetupView::update_freq(rf::Frequency f) { - char finalstr[9] = {0}; + char finalstr[10] = {0}; portapack::persistent_memory::set_tuned_frequency(f); - auto mhz = to_string_dec_int(f / 1000000, 3); + auto mhz = to_string_dec_int(f / 1000000, 4); auto hz100 = to_string_dec_int((f / 100) % 10000, 4, '0'); strcat(finalstr, mhz.c_str()); diff --git a/firmware/application/ui_afsksetup.hpp b/firmware/application/ui_afsksetup.hpp index 2d85cf000..b83498197 100644 --- a/firmware/application/ui_afsksetup.hpp +++ b/firmware/application/ui_afsksetup.hpp @@ -47,7 +47,7 @@ private: }; Button button_setfreq { { 8, 48, 104, 32 }, - "---.----M" + "----.----" }; Text text_bps { diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 56ef9cbd3f5cfc175255e16faa6ea3a6442fe279..4a4be71a3340ef984d65a8a5c233b268893f5368 100644 GIT binary patch delta 32398 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

(wGsi~SA1C4A>)toWo`+&xDgKREDgw6bD+S= zqmNx>nec^|vq7+&Id%ZYW9+>a^vD@9SrV{&yi`; zAw*?*j_ge?#vIYcK8I=`tR_(~IGb(8gbsVN?J>(6b~ol%p8G*BeZQD2oIXi8+u55T zB$bzEEH5{J?^8P=diG?%*}I=J*Sx&kjMRRxUmWMn5T=1d@ee$h+8?PS>HKvh%6QqI zA@m?q=d255>X3QJPdBe4lcEMI^KpgG2bSWt(I^aXe$OQOr*+VG&Y)fE$k-*%d&7hg zi6dYFqOWSUtK@I6v@}`RWbb720(ynUh;peHgVQewIzf%LH+YxKF&s+~dYC@YmzLU- zE-V5s*S9pzK?;xiQSsiwp?U<4sji(yC|J{sOxOzwJ zAG~|9!z4UzkJ{bF{te4@J)rNR(673a4e_T7525Ms^bY%jXd$4~W*%PKm$5H@e;%)W zKHnr<$m6y5``pap7tP~?uZi|AAyL0>@tcZyqyOo*EBG@M;M{F=J-04UW5%54(SKp6 zZpW@Y+UgOrWcIZ;yhdNAcP82f0wSG<(1W+YguR1kyd`AFoJXKRS0YS?zMj9gc3+1w zRRFGU+Fgt_{91^Rg*S=$|aH>cm(c#1ft)i3I)J`|Ugu9+Zm0kCO=rwZ@><}71 z5o(-YVC0YdXFE*l+$^S-kC8Tfs)k;w{DZ+e(&B$)K-<_SASyiy5z=BR_}pwn-c^M_ zwP8)iB)q2Nc|cdD;UA=D2mZ?VBcgaYT*8-QI1aFFv~(Gu^bD8ig+M=2R*yzPy( zsf8gWm078$jYUFARBH?lx`pomEDK5AWItAB+5x4_LSe`y)5cQ7VrNVX}cqA zu7tRULG2t!+s_=N755Je@-|2i{Mlq|$%l&|s0$eu_j{j^65e`Sqy6ftBSpBx)?w!? z3BuAPwwUhRNM;QikB$%CrmiqnB7Ty}gm7OQ(8i@+R`27)FDX<<(7tZ0~HPx!?M=FW<^1t~We-OlXpP z1O%94C+ymO+!xduz2xbYTiE^gfpr~+)=0TKIWD;sc?7E{Gz-y0K?{bBR0pV2=EenAZ_3o=}tm z3y5y) z#?G4vSyGf&Dw;_=JUzdi#FcIGOcrubj%!Tk@_ODprQL-}yEps`8|GqsTxa>7g~*-j z;bm+dUL(hoh2NQ;srb!;Qd5*4g1%Igr+WBxCqrE-$`he373B=5OGViNb*U(iM%Xw} zPU9=E@<@-P4C9-}?+V60>+=`l;r#hwX|g$-jp4$1NiFa$aad345sAeg32P%!?gpFB zn;GHF$1T649#Hp^o_EHp{$Qxu>nuXK*k2KbMU-!0DOHqjfEWiu)beW-VV~F?So>V- zH#;an{&(?vc zVnfVq+E7DY7Vo3KIsi-ESo*{P*cKAH;Q)yn?DL0%Dc={EB>4Y;oj)6m*}V7x@}xd9 z2ZRF<3CPW%(XW$lhnVo+@?#pjiF1imv=qIcL-hyAgHq87I`<%KJb)_?VyC0p3cBcb zBuo0&3fKPMkrgT_yV51SL9F87U6sLcfxRd&xnW$uwv7JfFv*qHSJJl*lXwZM*Tyweot0N2s@E{1j}u}dyn86-b#Am2uYKow@^(T$x)wU zp9biHI|4rO zK9j(S2*PP#Ort_u=v)Sd`3}5^u`3i%Brs<^O(ARn=H)X(I2V|gvxjgIFfU&oIgE~z zL2hmk(qYbvf2I)53}Jf+BTG4cxxUaHY-hOA-f$rhxU>8n=NNE$*PeGsR>Tv zvTI!v!*yS(47CG)s$vpMLZ-nLJy7?)I$Gu-zC*yncXP1E(9S5`lTv03wMOeU8%#*+ zJNWgAVq9mDu9i$g>7qE@D+Ut+fb<=_K<-fbL!53qZk<*RMMHRm_Mtk~PcwSVXdJFf zBXoy?50o;jd?KPd>)K8Gs@d^z$s z#`z)Wr4CiVryk&5jr27VrLnri_#(6qNJrf@98k8ej(defA8jG=G--xz?a1^}NN0e7 z5ZDG{oAEnKCY;6<(DMA}Bm|%!QOP2tt$U9(8zJ!l#7(#r;EIhd&kWs{qJH-Qh=72B bfP@3CvsPW&RH+izTFt)!2=&2U delta 32138 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