From ba94ce55ef56305d62bb373b60e4afe8c915eeb3 Mon Sep 17 00:00:00 2001 From: furrtek Date: Sat, 6 Feb 2016 23:19:28 +0100 Subject: [PATCH] Loadmodule emergency fix --- firmware/application/m4_startup.cpp | 6 +-- firmware/application/ui_lcr.cpp | 4 +- firmware/application/ui_lcr.hpp | 10 ++--- firmware/application/ui_loadmodule.cpp | 52 ++++++++++--------------- firmware/baseband-tx.bin | Bin 33296 -> 33296 bytes firmware/baseband.bin | Bin 33296 -> 33296 bytes firmware/baseband/baseband_thread.cpp | 17 ++++++++ firmware/baseband/baseband_thread.hpp | 2 + firmware/common/modules.h | 4 +- firmware/portapack-h1-firmware.bin | Bin 449124 -> 448852 bytes sdcard/baseband-tx.bin | Bin 33296 -> 33296 bytes sdcard/baseband.bin | Bin 33296 -> 33296 bytes 12 files changed, 52 insertions(+), 43 deletions(-) diff --git a/firmware/application/m4_startup.cpp b/firmware/application/m4_startup.cpp index 42ceeb437..0354b1a48 100644 --- a/firmware/application/m4_startup.cpp +++ b/firmware/application/m4_startup.cpp @@ -105,14 +105,14 @@ void m4_switch(const char * hash) { modhash = const_cast(hash); // Ask M4 to enter wait loop in RAM - BasebandConfiguration baseband_switch { - .mode = 255, // DEBUG + /*BasebandConfiguration baseband_switch { + .mode = 255, .sampling_rate = 0, .decimation_factor = 1, }; BasebandConfigurationMessage message { baseband_switch }; - shared_memory.baseband_queue.push(message); + shared_memory.baseband_queue.push(message);*/ } void m4_request_shutdown() { diff --git a/firmware/application/ui_lcr.cpp b/firmware/application/ui_lcr.cpp index 76fd97492..4f70eb078 100644 --- a/firmware/application/ui_lcr.cpp +++ b/firmware/application/ui_lcr.cpp @@ -192,7 +192,7 @@ LCRView::LCRView( transmitter_model.set_baseband_configuration({ .mode = 1, - .sampling_rate = 1536000, // Is this right ? + .sampling_rate = 2280000, // Is this right ? .decimation_factor = 1, }); @@ -323,7 +323,7 @@ LCRView::LCRView( transmitter_model.enable(); }; - button_txsetup.on_select = [&nav, &transmitter_model](Button&){ + button_txsetup.on_select = [&nav](Button&){ nav.push(new AFSKSetupView { nav }); }; diff --git a/firmware/application/ui_lcr.hpp b/firmware/application/ui_lcr.hpp index 9a83b3363..0d282ed49 100644 --- a/firmware/application/ui_lcr.hpp +++ b/firmware/application/ui_lcr.hpp @@ -85,7 +85,7 @@ private: Checkbox checkbox_am_a { { 16, 68 }, - 20, + 0, "" }; Button button_setam_a { @@ -94,7 +94,7 @@ private: }; Checkbox checkbox_am_b { { 16, 68+40 }, - 20, + 0, "" }; Button button_setam_b { @@ -103,7 +103,7 @@ private: }; Checkbox checkbox_am_c { { 16, 68+40+40 }, - 20, + 0, " " }; Button button_setam_c { @@ -112,7 +112,7 @@ private: }; Checkbox checkbox_am_d { { 16, 68+40+40+40 }, - 20, + 0, "" }; Button button_setam_d { @@ -121,7 +121,7 @@ private: }; Checkbox checkbox_am_e { { 16, 68+40+40+40+40 }, - 20, + 0, "" }; Button button_setam_e { diff --git a/firmware/application/ui_loadmodule.cpp b/firmware/application/ui_loadmodule.cpp index 865864c6a..92f63c0ce 100644 --- a/firmware/application/ui_loadmodule.cpp +++ b/firmware/application/ui_loadmodule.cpp @@ -35,7 +35,7 @@ #include #include -using namespace hackrf::one; +using namespace portapack; namespace ui { @@ -53,31 +53,20 @@ void LoadModuleView::on_hide() { } void LoadModuleView::on_show() { - // Ask for MD5 signature and compare - ModuleIDMessage message; - - //message_map.unregister_handler(Message::ID::ModuleID); + char md5_signature[16]; + uint8_t c; - EventDispatcher::message_map().register_handler(Message::ID::ModuleID, - [this](Message* const p) { - uint8_t c; - const auto message = static_cast(p); - if (message->query == false) { // Shouldn't be needed - for (c=0;c<16;c++) { - if (message->md5_signature[c] != _hash[c]) break; - } - if (c == 16) { - text_info.set("Module already loaded :)"); - _mod_loaded = true; - } else { - loadmodule(); - } - } - } - ); - - message.query = true; - shared_memory.baseband_queue.push(message); + memcpy(md5_signature, (const void *)(0x10087FF0), 16); + for (c=0; c<16; c++) { + if (md5_signature[c] != _hash[c]) break; + } + if (c == 16) { + text_info.set("Module already loaded :)"); + _mod_loaded = true; + } else { + text_info.set("Loading module"); + loadmodule(); + } } int LoadModuleView::load_image() { @@ -133,9 +122,11 @@ int LoadModuleView::load_image() { void LoadModuleView::loadmodule() { //message_map.unregister_handler(Message::ID::ReadyForSwitch); - EventDispatcher::message_map().register_handler(Message::ID::ReadyForSwitch, + m4_switch(_hash); + + /*EventDispatcher::message_map().register_handler(Message::ID::ReadyForSwitch, [this](Message* const p) { - (void)p; + (void)p;*/ if (load_image()) { text_info.set(to_string_hex(*((unsigned int*)0x10080000),8)); //text_infob.set(to_string_hex(*((unsigned int*)0x10080004),8)); @@ -145,10 +136,9 @@ void LoadModuleView::loadmodule() { text_info.set("Module not found :("); _mod_loaded = false; } - } - ); + // } + //); - m4_switch(_hash); } LoadModuleView::LoadModuleView( @@ -166,7 +156,7 @@ LoadModuleView::LoadModuleView( _hash = hash; button_ok.on_select = [this,&nav,new_view](Button&){ - nav.pop(); + //nav.pop(); if (_mod_loaded == true) nav.push(new_view); }; } diff --git a/firmware/baseband-tx.bin b/firmware/baseband-tx.bin index 0166000cd55e74cee9deb0875a8cd61da504d578..575f9871b56265d9365566a2a87e86962504bc62 100644 GIT binary patch delta 46 mcmbQx!ZZPhqy!f4ykffbL0Z$A#K?u}X59ZaYF%r@5Cj175f#S( delta 46 mcmbQx!ZZPhqy$o}0&>1g&OF!CYqM>h;;tJTwXQW{2m%1$85R=& diff --git a/firmware/baseband.bin b/firmware/baseband.bin index e8951686e8d6082a83f6bfc4d5240a0aac5959f1..3be4fca050144a995c114df312c20a061da0afeb 100644 GIT binary patch delta 3627 zcmZu!2~<;88oux55-===MU6=5BPayH7|>&}wl=BsiBL(TF1Ux_f{Gd)1Bh%YW6@eg zt~0gEIM8vSW2eQYcB~bFY1+~`9BS3JwAHGuR*FvNiITi5B=f&WJ!}}_dkNugEH5MVX53se!8jV*ovKF_L{~n<8 z&^;3Mkk36*{tLi$`ibOlScH=~HkNyJB+CWzAx>IKQo>3%BlHwN15j1a_ecWMNxvnp z(nDvCmKxyBkBT8}ZZ(D#O}!`fo1ly6gfb;dkhI~>U~0GR-} z1^FMkTds&`d1R8c(4Xb3ve4LY7T0>IHarSzEOc(Ta`+lA6CZDsw>-FL zx`pn6DZLl{Zc1yRpN6Zj#!LC|7@TRLVG%5rd#NTO1{*9iCn84P_t08-7Fre&`}p@Q zsP(~D7zh1kvK7VvzLWklVkb6R=(CZF*h%w<28f$ON2aHq>BtV<3M`Cjs zdA9rCHv@3!O&Ln%0{9F!4Pu{V&e3f4i4e7Wc3h89#UY+?(><&b|J7%GkKM>%!)BVG z^n$P^#FsJHdxO@GF4h;EMy>w(6-xNEkfM9VgkR{lJkTHa3$Jf%mU2GF0A*CT_$o*H;2b|4KkA zNk1xhJ$hs^?)EwMQYK+qd;lLK$dBc6lAFPd3St^2wBA{|7j)C3Cwv0GKF1=uG9h{W z5uc=au|V9Yb%PQi;|SpL0}p>(-qjk$?Hx6OW8O;R z*bKrS@iE7q^lw(eH~2(XMHA@+o8Q$NPHpRNOFacHHiD}iDkPsc=&qPdNz%S%#DB9r zl#^cyNJ9LXt!;g;Y?nf-bE_{&%fGzc=XlA7*zo46mL7gD0~4=pLw9aeBbcn(uD^T9 zK=@#H5=S^G2fbXv@AjR~UT!>W?8py#`AL+*{p;yVq+XQ)!O*oXE#My+9 zLYvS~O6>0=t zF#m`ASkn^ILDLVW4?%<2Po~_{tdgM1Ld}n&(wTb`iNxNMawgxKKh;!eI%D#hi2YV# zr+|z@KRf7O_*VRjei@TW?CDe2^Cf|L9?1Z~;%i9%L}RQ8*gN>TFk_CzWyh(oXMkpni+)CbceIi41x~_YUgKlA zd+zkWInw|rEJLUor2Z~zCcME3a-+E034dZ4?xJp0?0J!V8{+nQMSlj zlsK8w3`YDP4{&!KB(mJk-40-^pTCp+{JqCr!hh$PJV;O|i086UbQS0}-_MnP)e4)i zX~ED>MP9sfTOP6lOr~oNO(w|(|1X`lmWr1yn{<>Od zcY*$CzqPus3+%eUt_$qCz^+TQvtLtp01@8-oi{)q`tigbm9|H0_fIGSDu(I#Dij1< z9P%LLCv(G%bHO}aV-wh$z(GI^FjBQeiV_<70V~7xC|l8JefP{r{Z`s(cAzkW_Waw_8Q<~EpTx+aB-#KsNsfz zmaAgs^^_xY91g4Sc!c5rUqbsfAQjp{zz2~RA}7RS$xq$BLal_a_38Qw{Wk&OWgfT* z#*E6=4xT~PCc-1yI4*Lw-3?nNPuyRIJYvrSULjMBFek4@n4L%X8*b9S9kz`aEdg#^ zcK^mlt-Xnr@Oq!f(sJi-qbIkB$37jdR^e_Z)v6N|x7=)g>2V1!I8j`1rqAJVBG%`4 z)k!PW-;J0u@bJ|Wnk?=1I<$2C_yQ)(dVc)OaNM(*Ds{Oati?LGn@UT&PvILBZ2B<>6hZgxqL!ok@P#|leKplYg9INaFr380xq3XFm;&+`iVqT@#tDmQ40%`la zVN3}9X5M0aNw7}J`#YoThQ(N@Jk<8-{1*_qIu|}!K{mmd0COAWP`rS{J>}Lc5TdMK z^ghEx(dkQ)v3G!OT4GjM9*O7^h{)|I8=#&giRs9erOsWJIY0}$c%u@mYyK3+cEphS(sr=;AlQ%qJl~bDu-Ny zp<959^yPxM_#iKe3(RyoI-Sz2b3$F}G@gvw*pe&eq_px9yT@r!YOi5#d0$p zxXDSYS481|IO(5PEW(ve>s=7cMLKKM<4iZ*uxjz>9v8VCf&#LnGg^A&5YClT8t|vR z5ONN<3TP~(eXBkQW#Pm8;#lxZ4WK7hC(GBnX7=SOMRVBfy2~nPagkc% za@g*F1Tq|AU5?ZD`!0w5ep{rA%kgU~y-;Mvhn#dtE;e{+E^LL=;-9K_3Ah+5Dd@`h?@qBKJqXb2+e}=t$=;c z(XY#L!>-PNQwhLi!D*FcowP;CWNnxUO8{=eM%V`@)}zm?Tv!G;oewe<FwYLq`lK*j2; zwH^e2UA3+4O50gFJuNiWu_}t5bakuinA1($wQ7%LRCl%~BgrEn$$l@02kqYBo8NuE zdvova_sRW7+iu#1f6wno!+OzjcohU4*I+PhzgQ`MRpiHO|lo3^gGC)T_Ez|{YFi-xr;v#x3plql<6hz2V zp(~&QF3UOVD}jS7lL6a84h3ImCZr~UD1>xtZ0JEs`)c9iDH|xM2bJQ5sQG8iPidzU z#S&Bws=t=_AK0&m3V-CG${V#Xpx|VzmjRt}DjlqaSS3dXJ)l)aP@xu9C{@$H@G$Z5 zCPnYWPQ_Yi#j1}y4zX$`~3{2VvnHHG4o49zzv%usl3QQTRY#QFYK5 z9y@DcFF8AL2(E4{ZYDp<6dfm|2foinUSos^ne&67@92{AK4-aC zKir~ag%90mvss?R1qd3EL+f+aK;`U(%(w9F?4(eohp4~rpZ>w*P9ns^wb^lz2VGZ0 zHtUK=)G|9+^G5WH6nfR?JOs+bC*xURw@-1bkeA(=%&2)**ycO?-_-}OZC3Q$&+yad ztbi?vDa9Z9WL>2q>n3M6sR+?V62*9gl9i%t?~*5xp?7y(A5;o1a*k=Gg|brFtFl0% zALh)g@VyJ|W+`q~sPwI0wmyFY6r|{8t|G-XJrn|xx7TZc z?v$-FAIo33%qAK;p69XN-f5Qok^;f{UEVpcH1&OWA#M7O&L%=SFg7Nh5GCpymT#is zu&f{c#=r_gBWMc)qzEw6T5n(eQZZy9NmTP0yndLJv%>RU)=n$2yq$};iHbp+_+C~9 zuT|N^5Ti|e+rm0d5UZXQioF@UNyR$U3Rcj2r~FwjFabfVV{a;$)e(yK?D)-jmcTjnWSRKBgex7<_CI{x+OMUfb$ zeEt@;!nb(V5tI3%znrxg%*jzZGWcnxViRkhXR?XvCYzYrgp;D&CMHzdL{0UVKagXr z@K2AF)}C_KUXQJo9I%PnjW#g{_4Gzoxa!dj?OwpzkF3%S?VYO|dTG9y|57BT41S*C5ueuCa+%U$TjH`^E`Qc>u9p4U>}} z$w{dhuf8tcy2090DkaFhWq!=|w3>;4Z#@9`76OhK18kqWVIp8hmc}M>2si;1gK*W= z66i6&Du1*&W(l%Qd>jF1AzTUa5(GRIb3Rh68?r3c4edn0%?s505;5#P;50Mq2kaZw zId&u9y$E>!T#ol6))~eCcj8%OLR~;0vP#0Az6F<5;3y+4rFls_I~1e! z&qu-I#yMzA;%%bA$U2O;Jc+)1w^(f4EfyJB;ool7zRPg0159_oJwBv&n z_l$c97d=4Es<)1zvNTGlU`4u`T3pbQo*0!d%9UBVWr8?D;wI<#oJU-Q^ErR&f-~t~ zMSkshaB~bzkze&XZ@@>IHOz1sJNK zsmh3{_ag>8-4<=i!|m^BLfX;hpl>f~=Q3+vkxE7nH^PQzzN2~<6dJcnZLGkK;}k?&g?nue`ZJ0k`{z9EY_je{BiT!( zCm7}gytq1rzU74ztIbi<9?Ix5%*gGG_QK<)66OxPW?C58>v=Hgu_ou?j;WM_$C_8h zQ@nz;uPL2uK1Dd9J*_5+<1n%&J@%A~&0})|a(V}Yv~K6{nd4Y<&V+%Y`kR2S*gmNb zT^CS2@TZEn_)ag03(RplYh3cYOJZBblL8|xUdKWC+yc7G1$oc$p;CX+ zXi_IV@aA*xMg_XBiLCmXNTR5nlov)%OAf$vLfl|nYi9lme^~pd((Q~DC!Uu5z*P3q z92fLeM$lz0_*-QOjdfY)Rh3ZYG_b;y3&NbZuV{n3CNS@_6{mAot9Gq##q1o!H-5!XS;jK*@({3)t3HAg6K;6`hjXUx4Ts9u`C>^R` z2~2M;4C}}tq#Jb(wJF!y(5zzeGH?;>M0MjrXje__V63bxz;19($DzH8dic5dGaLfv zeOaOPyKQnNOlid7R-(|htAKCHq-EuhyyJGP2~%i6y^VVK>1%E;TWmGAv@qRfEyMlg ZvB!olfAg!Oi@p|Su2Xh=@bEt}{{uLS;$i>* diff --git a/firmware/baseband/baseband_thread.cpp b/firmware/baseband/baseband_thread.cpp index 92b968f5e..b67734893 100644 --- a/firmware/baseband/baseband_thread.cpp +++ b/firmware/baseband/baseband_thread.cpp @@ -123,6 +123,22 @@ void BasebandThread::run() { delete baseband_buffer; } +char ram_loop[32]; +typedef int (*fn_ptr)(void); +fn_ptr loop_ptr; + +void ram_loop_fn(void) { + while(1) {} +} + +void BasebandThread::wait_for_switch(void) { + memcpy(&ram_loop[0], reinterpret_cast(&ram_loop_fn), 32); + loop_ptr = reinterpret_cast(&ram_loop[0]); + ReadyForSwitchMessage message; + shared_memory.application_queue.push(message); + (*loop_ptr)(); +} + BasebandProcessor* BasebandThread::create_processor(const int32_t mode) { switch(mode) { case 0: return new NarrowbandAMAudio(); @@ -132,6 +148,7 @@ BasebandProcessor* BasebandThread::create_processor(const int32_t mode) { case 4: return new WidebandSpectrum(); case 5: return new TPMSProcessor(); case 6: return new ERTProcessor(); + case 255: wait_for_switch(); default: return nullptr; } } diff --git a/firmware/baseband/baseband_thread.hpp b/firmware/baseband/baseband_thread.hpp index 81d35433a..b6da76369 100644 --- a/firmware/baseband/baseband_thread.hpp +++ b/firmware/baseband/baseband_thread.hpp @@ -45,6 +45,8 @@ public: return baseband::Direction::Receive; } + void wait_for_switch(void); + Thread* thread_main { nullptr }; Thread* thread_rssi { nullptr }; BasebandProcessor* baseband_processor { nullptr }; diff --git a/firmware/common/modules.h b/firmware/common/modules.h index cfa0bc26d..cdb0cc9c5 100644 --- a/firmware/common/modules.h +++ b/firmware/common/modules.h @@ -1,2 +1,2 @@ -const char md5_baseband[16] = {0xba,0x35,0x2a,0xd7,0x2c,0x17,0x40,0x68,0x54,0x8a,0x5f,0x9a,0x98,0x8b,0x9d,0x73,}; -const char md5_baseband_tx[16] = {0x65,0x3a,0x50,0x6c,0xf4,0x93,0x69,0xce,0x8c,0x8d,0x3c,0xb6,0x9e,0x21,0xba,0xd8,}; +const char md5_baseband[16] = {0x03,0x77,0xc0,0x0b,0x13,0x5b,0x84,0x72,0x8f,0x4b,0xbb,0x51,0x48,0x54,0x82,0xd3,}; +const char md5_baseband_tx[16] = {0xa3,0xb9,0xd4,0x35,0xb5,0xe0,0x66,0x82,0xac,0x61,0x59,0xa1,0x27,0x36,0x0b,0xfe,}; diff --git a/firmware/portapack-h1-firmware.bin b/firmware/portapack-h1-firmware.bin index 70b3945e77f1ebac9148947f93b3c9b9a1f9f104..853c9cce14b3754571794b7537e8225dde344d4d 100644 GIT binary patch delta 27895 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 delta 28120 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

&9l&054eFah4C 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 diff --git a/sdcard/baseband-tx.bin b/sdcard/baseband-tx.bin index 0166000cd55e74cee9deb0875a8cd61da504d578..575f9871b56265d9365566a2a87e86962504bc62 100644 GIT binary patch delta 46 mcmbQx!ZZPhqy!f4ykffbL0Z$A#K?u}X59ZaYF%r@5Cj175f#S( delta 46 mcmbQx!ZZPhqy$o}0&>1g&OF!CYqM>h;;tJTwXQW{2m%1$85R=& diff --git a/sdcard/baseband.bin b/sdcard/baseband.bin index e8951686e8d6082a83f6bfc4d5240a0aac5959f1..3be4fca050144a995c114df312c20a061da0afeb 100644 GIT binary patch delta 3627 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 ZvB!olfAg!Oi@p|Su2Xh=@bEt}{{uLS;$i>*