From c0bc702c244746e3cda493a4dcc2e969ca508c1e Mon Sep 17 00:00:00 2001 From: Theodor Chikin Date: Thu, 2 Oct 2025 19:12:50 +0300 Subject: [PATCH] added streams stop-start after changing of th working mode of blackfin software. It is nessesary because of problems with buffers and hdma queue (maybe) --- BF_companion | Bin 62656 -> 62656 bytes main.c | 24 ++++++++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/BF_companion b/BF_companion index 564a3df79928bdd47207fc1a9e17cc8146c2421a..b49a9b207f7127950b67164df2548793bd6e63b7 100755 GIT binary patch delta 2456 zcmY*b3s6*57(Vy@d)K?LyP_`0t_Vm7X}M5oWiN2laZ7nLX=T#{B-?=tKj(54&dmP*{m%b5|LdID zXdguTpj8$etFj4StLPXZ%ki|!L{IAv3t7ULrllsl!D+qN@0mWk(HGhN;jZnM*FKsu zQBi2 zy_3YP+t|^)U()UcnPSgb`e;FN{2!-TnPT=OzqSoka@^ zQnd9b!<^`FiR;XbbJ|&9I%1FBNDu*J?X3C9oqXAyuAkTrq!lpoR7>^6*J2ol>2V*vTB$YsoFM~7jw zB981ej8w!sk>?`6hP)X0oBItTjJ)hq!)QTX`Z2lM37#OUPFi?ouFUJR#>S zd|rV!G5+%wzMz1jp}}{M6hOZa8Bk$62G9du6Su5{@33J%L&9n7Aw*8Dgr&)Z{BGfJ ztvfu2RSkniKWsqz#T+Y2;xKAVH;)6z!e2_ zoU^?aUaf*3Gu~%8T%*Dr7{GoDH>mI+CUoA?U#~(A%D=Ycr5jY}!|BMB#x3L-oK)co zRwPrJV&ZNU07K7~VygKN9aEtQUz%OgSW_OZg+c7eZYkcvp7|0cB+1Q~faejkZKEZd zQt`gLvT5>?W}DMYv;mhJS6#8ojoV8riY|-Uh_*hLWiYEE$Gbw zE#Zx<%Y+x{h&1V=q1`*p-Jh^jM`_GvpLR-0X4YO`Xh|8lD5Y_?|6-+okS4#u1(nOI z$)8dN*YdC?{w-y)CVC_!|4A9FVV>(4pdn3Oh8M=`@sA_KX7@7-zP!HYN~=kpJ?Se{ z_0^~(-=6*weonh(!Yte+1_V@zS^|)||@cRIUi!s%b$Lte%8R}7ep*@{_J79Gf z87?1&yog@etZ5-g%Vj%+d^U8bu;moyIDy^k5G0%TdWR;np$owjbIMyZnaxxPa?P1) z(quLRA;>pNzd@7P41}PHr2>)lnrvWdAy~Ja;|7h-)N+^~%M`>&E}yAN7=m;7NLGQJ zxf3G+K9SWHTmWPg-XIg=K$|x}rPH=fOsKo@lxYv)%R#`0qw+c}-nveBhW@fOMJT4u zZTKMTw{JV_6zpQh%1? r=AS0-z&(!a3R5FnUp(-+DBMja4c;SU(8Yr}!X303>Am#p!JhvCWX$=% delta 2422 zcmY*b3s6+o89rzKz3W}rU02;jcNJEMXti;r89Jt!HbM$@sq(0r>6oSk>TZ#Tir~G{ zCeGbvBohiW**V0DMzgVxF}5?IxfnLs+BGqTW~jkOt?AeZtyXN}fYMG)`ndhixm=}Z zX3u}W`#;YA_|Bb8--Pr{=##0lxPXXN%;wNl&Zyf&QN4_=qH~fBCcGzEhi$^Qd?4!q z{l`6x=iC`zIobQuAD&6>Pw8DSSw#2gdrCephcn}ZL^|Fbe{IY#BAx98|3ZQA#%;ss zI1}lX-dZH|DIR?M7W?n|Wj5&&>#of4`|hA=cYCw&IP)9I4bHJA%D-R>WwRH{!*qh3 zE|2AWu+R)(8_XDH z@q1WTWyn8_It=uOnVK>Tl&uYYC^Y@k=Qds7urwVJZ9Fm4o^n;E)PUoRbU&Vsbi4b6 z`Yd+dJS+5jZgFoK1-xzd;ZB6Y?juKM`{buw_xN4*WR;6H>-AMXn$1SMUwpmhCvvbQ zwk1}t#-i2H+FiBP`AyOAmR6Owmgpz9`l)YYX?fYE4aF53tBN<2R%}|lZAUc5uGYV! z#g7}t5Sn>YhB1k9F-jRHoE$WaKExd-3}Z3kS5OwAypFO4W%sWQBaX7>EyGBnY<}A? z(kOq2aunt08N(pRgnh&4kJ5*g6rp?>Wev(_uf$a+^@6m<9?aFg8O!M z3in|)hWlzpw}n=JdfqVJ#uQ1Z$NQ}9%Wek@Qr9e*@Dp5^+96D_+%r>O;z7NB%6r?x zs-E6T3-vdjeh+NU73`O`EOs!SN1gh~_~|UIAEf8d?|LzAxI_??^rcP6M!6wCNI!VE z1tfl@$WIBpa1Y*YNc1VLSW63e1Kj&CHAsvqE;ZId2Ea2Y@Q~u#x;;u#;C)2q`lRY= zttEqy6%g+6@51^ljgVpR@UtK>)CR{KI1X?{1x~fWIzJ(2Eu3xx_Z&jrx8e^gu)syg zh=oTK_)I1t=PZ0tfi?39Id9?13cQHwnP+#I4*yo*Wprq_a9o93h<{+u zcvKv)Uj+qA>9TwFig8|9#~8tVb2`M-_m1unT33;kbtiMhtn?wIDLIz$25;iLEdNI zS?uX?X^H6h7*Z%DQV#bH1e>;O zCFi9)5%xdW=}S`n^Fq1J2_`rtSE8-YjU>Y7lb9~% z)JE1ivPBy@&^+Q;!k?Y6H;w{V5K}H=*A8l09pn}9H-w0f4@&ydIjnIZzt?q;W8Ukd zn#@U82g^;CCpDRKst$@wPVLuZ&Vf3pFk9cF$(#dq(85cB#0#2iU}<&Gc|_nYO>n9K z)@5=7TcSvCsu8APiJ;^*aPV-pL_{!hy9L(+nT0pVgh*)f2JB=j4`pY??|sU&NAb%+ zAc$1yU^Rz2@$3BYp%DEBa~%%RC-nyppLWr(e*4%0Cr#)X{q5kKXInw9!yI{t9T<3m zzNi0lU}qjn+w81avg=KMe9%T~SnripG^zjg%2kRV+*d!mVW;JK;xF%K+U~4i-<}9N z3#;%@T!pN6Vl7Rwv58gA`+tc7ldGK%H<}g?>zgOvwb6%I?$m0U$2L!`p(|N0?uG1w HsT= 0){ uint32_t received_words = recv_Err_code; @@ -1268,24 +1273,29 @@ int main(int argc, char** argv) { - printf("\nStart SEMITRANSPARENT mode\n"); - BF_exec_cmd_simple(hnd, 0x800B, 2, 1); //start SEMITRANSPARENT +// printf("\nStart SEMITRANSPARENT mode\n"); +// BF_exec_cmd_simple(hnd, 0x800B, 2, 1); //start SEMITRANSPARENT -// printf("\nStart AVG mode\n"); -// BF_exec_cmd_simple(hnd, 0x8008, 2, 1); //start averaging + printf("\nStart AVG mode\n"); + BF_exec_cmd_simple(hnd, 0x8008, 2, 1); //start averaging // printf("\nflush TX buff. \n Number of free TX descriptors before flushing:"); // BF_exec_cmd_simple(hnd, 0x8010, 10, 1); -// X502_StreamsStop(hnd); -// X502_StreamsStart(hnd); + X502_StreamsStop(hnd); + X502_StreamsStart(hnd); //BF_exec_cmd_simple(hnd, 0x8008, 2, 1); //start averaging //BF_exec_cmd_simple(hnd, 0x8007, 2, 1); //start transparent + +// printf("waiting a bit...\n"); +// for(uint32_t wait_i = 1e4; wait_i; --wait_i){printf("");} +// for(uint32_t wait_i = 1e6; wait_i; --wait_i){;} + printf("\nFlushed from receiving buff: %d\n", X502_FlushRcv_buff(hnd)); @@ -1357,6 +1367,8 @@ int main(int argc, char** argv) { printf("\nStart transparent mode\n"); BF_exec_cmd_simple(hnd, 0x8007, 2, 1); //start transparent + X502_StreamsStop(hnd); + X502_StreamsStart(hnd); printf("\nflush TX buff. \n Number of free TX descriptors before flushing:"); BF_exec_cmd_simple(hnd, 0x8010, 10, 1);