Esta es la segunda parte en la serie de artículos relacionados a demos que realizan procesamiento de imágenes clásicas en la plataforma Lattice ICE40 UltraPlus FPGA. El sistema que se usa es la plataforma Lattice ICE40 FPGA UltraPlus Breakout Board.
Por favor, se recomienda que se lea la primera parte aquí antes de proceder con este artículo.
El primer paso es crear una imagen de entrada para este demo de procesamiento de imágenes. La misma fue creada desde el programa GIMP. La imagen original fue reducida en resolución a solo 64x64 y grabada en un archivo como un header de C para que sea codificada e integrada en el programa de C++ como caracteres para la interfaz 4 wire SPI técnicamente hablando. El archivo header usado en este demo de procesamiento de imágenes es el siguiente,
/* GIMP header image file format (RGB): /DigiKeyCoffeeCup/cup.h */
static unsigned int image_width = 64;
static unsigned int image_height = 64;
/* Call this macro repeatedly. After each use, the pixel data can be extracted */
#define HEADER_PIXEL(data,pixel) {\
pixel[0] = (((data[0] - 33) << 2) | ((data[1] - 33) >> 4)); \
pixel[1] = ((((data[1] - 33) & 0xF) << 4) | ((data[2] - 33) >> 2)); \
pixel[2] = ((((data[2] - 33) & 0x3) << 6) | ((data[3] - 33))); \
data += 4; \
}
static char *header_data =
"````````````````````````````````````````````````````````````````"
"````````````````_PHZ\\_\\N\\OXM^P8V`@X]````````````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````@X]]`(QZO,BY>T=[/4F^0,S_`P\\`P\\_````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"``````````\\__PHY\\?DGZ.X<Y>H9Y.L;Z/$A\\?PL^P<W`0T]`P\\_````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````0P\\]O`N[/(?Z>X;Z>`=Z?$@Z.`AYN`BZ/,E\\/PM^@8V_`P\\`P\\_````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````@T]^@0R[_4BZN\\;Z_$>[O4D[_<I[?8JZ/(GX^TCX>PAYO$E[_LM^P8V`@X]"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`@X]^P0R\\?<D[?$=[?(>[_4C\\/@I\\?DL[_@MZ_4KY_$HX^XEXNTDX^\\DZ/0G]0$Q"
"_PL[`P\\_````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````````````````PX^"
"^P0R[_4A[>`=[_,@\\/<D\\?@H\\?DK\\/HM[_DM[/<LZO4KZO4KZ?0KYO$HX>TCX>TA"
"[OHK_0DY`P\\_````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````````````P\\__`HY"
"[_0@[.\\:[_(>\\?8C\\ODH\\OLK\\OLM\\?LN\\/LN[ODM[ODM[_DN[ODOZ_8MY?$HW>D?"
"W.@=[OHL_@H[`P\\_````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````````````@X]^@,P"
"Y^D3Z^T8[?$>[O0B\\?@H\\_PM]/XO]/XP\\_TP\\?PO\\?PO\\?PP\\/LO[?@NZ?0KXNTE"
"V>4=W^H?]P(S`0T]````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````````````0P\\]/PH"
"Y.8-YN@3YNL7Z.X>[/0E\\/DK\\_TP]?\\Q]?\\R]/XQ\\_TQ\\OTQ\\/LO[?<NZ?0KX^\\F"
"W.@@V.,;Z?0H^P8W`@X^````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````````````0P\\\\_PH"
"XN0+X>,-Y>D6Z>\\?ZO(E[/0H[_DL\\_TP]?\\R]O\\S]?\\S\\_XR\\/LP[?@MZ/,JX^\\E"
"W>D?V>0:W^H?[_HM^`<X`@X^````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````````````@T\\]?XJ"
"XN0*W^$*YNH6Z_$B[/0GZ_,IZ_0J[?<L\\?LP]/XR]/\\S\\_XR\\?PP[?@LZ/,HXNTD"
"WND?WND?X^TDY_$G\\/HN^P8X`@X^````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````P\\_`0T\\_@@V\\?@B"
"X>,)WM\\'Y.@4Z_$A[?8H[?8KZ_4KZO0KZ_4L[?<M[_HO\\/LP[_HN[/@KY_,FXNXA"
"X>PAY_$GZ_8MZO0KY_(H[ODL^00U_`P\\`P\\_````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````P\\_`0T]^`@X]P(R\\_XM]/TJ\\/8@Z.L4"
"Y.8.W=`(XN82Z>\\>[?4H[O@M[O@N[/8MZO0LZO0KZ_4LZ_8LZ_8LZO4JY_,FY?$D"
"Z/0G[ODN\\/HQ[/@NXNXEU^$7V.,5Y?$A\\O\\O^`@W`0T]`P\\_````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````P\\__`P\\]`0SY_,BS=@'NL'OQ<CTX>0.Z>P6[.X9"
"Z^T7X^8.X^<2Y^X;[/0E[_@L\\/HP[_DP[?<NZO4LZ?0KZ/0JZ/,IY_(HY_(HZ?0I"
"[OHM\\?PP\\/LP[/@MX>PCR-$&J*W>F)S)IZ[<Q]'`Y.`@]P,S_`P\\`P\\_````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````0T]]`,SW^L:N</RG:/1J:O6R,GSWM`*Y^D3[.X9\\?0?"
"\\O4@ZNP7Y^L6Z.X<Z_(C[O<J\\/HP\\?LR[_DQ[/<NZO4LZ/,KY_(IYO$HYO$HY_,I"
"[/@K[_HN[OHLZ?8JX>TBU]\\1S\\[YQ;W?L*3%EXZSDI.^L+GGVN85]P,S`0T]````"
"````````````````````````````````````````````````````````````````"
"`````````````P\\_^`@XY.`?N,/RCI;$DI6`N[OFV]T'Y^D3Z.D4ZNP7\\/,?]?LE"
"]OLF\\/,?ZNX;ZN\\<Z_(B[?<H\\/HN\\/LQ\\/HR[_DQ[/<OZO4LY_,JYO(IY?$HY?$H"
"Y_(IZO4JZ_<KZ?,IX>PCU]`6TMD+U-@#UM/ZS\\7FN*C&E(:FA(6PJK3CX.T<_0DX"
"`P\\_````````````````````````````````````````````````````````````"
"`````````P\\^]P,STMX-H*G8C)\"]J*C2S,OSXN,,Z^T7Z^T7ZNP6[.X;\\_@E]_\\K"
"]_XJ]/DF[_0A[?0A[?4D[O<I[_DM\\/HP\\/HR\\/HQ[O@P[/8NZ/0KYO(IY?$HY.`H"
"Y.`GY?$HZ/,JZ?,JY>\\FW.8<U=\\5U-X3U]\\1V=P)UL_TQK//HXNC?7:<A8V\\P\\_^"
"]0$P`@T]````````````````````````````````````````````````````````"
"`````P\\_]@(QR-0#DYK(D(^ZM[3>UM7^YN<1[N\\:[^`;Z^P6ZNL4[N`<]?DF]_\\K"
"]OXJ]?PH\\ODF[_<D[O8E[O<H[_@L\\/HO\\/HP[_DQ[O@P[?<OZO4LY_,JY?$IY.`H"
"X^XHX^XGY>`HZ?,JZ?0KY>`GX.HAVN0;V>(8VN(5VML'U,?HQJJ^L9JR@WR@<GJH"
"L;SL[?HI_`P\\````````````````````````````````````````````````````"
"````^`@WSMD(D9;$B7VALZ7(UL_WZ>D3\\O,?]/8A\\?,=Z^P5Z.D1[>\\:]/@E]?PH"
"]/PI]/LI\\ODH[_<E[?4D[?4F[?<J[O@M[ODO[O@O[?<O[/8NZ_4LZ?,KY_(JY>`I"
"X^XGX^XGYO$IZ?0KZ_4KZ?,JY.XEW><>V>,:VN,9V^$3U]/^SKK8Q:>^NJC$A'^F"
":7&?M\\+R[_PK`0T]````````````````````````````````````````````````"
"`@X^YO,AG*32@W.4K)*LT\\3EZ>4-]/0A^/HG^/HG]/8A[>\\7Z.D0ZNP5[_,?\\/<D"
"\\/<E\\/<F[_8E[/0BZ_(@Z_(BZ_0F[/4I[/8K[/8LZ_8LZ_4LZO0KZ?,KZ/,KY_(J"
"Y.`HY.\\GYO$IZO0KZ_8LZ_4LY_$HX>LBV^4<V>,9VN,8V^$3V-4#S[[DR[71N*?%"
";V:*=X\"NS]L*]`0S`P\\_````````````````````````````````````````````"
"_@HZQ,_^@(&KFGZ4R;+,YMT!]/,=^?HH^_PJ^OPI]_DE\\?$;ZNH2Z>H2Z^X:ZN`="
"Z_$>ZO$?ZO$?Z>`=Z>\\=Z>\\?Z?$BZ?(EZ?,GZO,HZO,IZ?,IZ?(IZ/(JZ/(JZ/,J"
"Y_(IY_$IZ/,J[/8M[?<N[/8MZ?,JY>\\FX.LBW.8>V>,:V.(8V=`4U]D)TLCOQK#*"
"FX.:96&(HJW<Y_0D_`P\\````````````````````````````````````````````"
"^`@WI['A>'&7JHN>UL+<[><+]_<B^OPJ^_XK^_XK^?LH]/4?[>T5Z>L3Z>P8Z>T:"
"Z.T:Z.X;Z.X;Z>T;Z.T;Z.X>Z.\\@Y^\\BY^`CY^`DZ/$FZ/$FZ/$GY_$HZ/(IZ?0J"
"ZO4KZ_8L[?@N[_HO[_DP[O@OZ_4LZ/(IY.XFX>LBW><>VN0;V>,9V^,6U]<%R+76"
"JXB<;UQ[?82RV.04^`@X```_````````````````````````````````````````"
"^P<WG:?6>V^2LY2DV\\??[N<(]?0=^/DE^OPH^_XJ^_TJ^/DE\\O,=[N\\9[>\\:[.\\<"
"[.`=[/$>[/$>Z^`=ZN\\<Z>X=Z.X?Y^X?YN\\@YN\\AYN\\BY^`DZ/$EZ?(GZO0I[/<L"
"[ODN\\/LO\\OTQ\\OTR\\?LQ[_DP[/8MZ?,KYN`HX^TEX.HAW><=V^08V]`2U,_[PJ;%"
"K(\"2>UYX<W6AS]L*^00T`P\\_````````````````````````````````````````"
"^P<WIJ_>@7::M9>FVL37Z]_[\\>P.\\_$7]?4=^/DC^OPG^OPH^/DE]O<B]?<B]?@D"
"]ODF]OHH]?HH\\_DF\\/4B[?(@ZN`?Z>\\?Z.`?Z?$AZO(CZ_0F[/4H[O<K\\/HN\\OPP"
"]/\\R]/\\S]/\\S\\_XR\\?PR[_DP[?<NZO0KYN`HX^TDX.H@WN<:W>(2U]/_R;+3N(^B"
"JGJ*@&!Z>'BDT=T+^@4U`P\\_````````````````````````````````````````"
"_@DYO\\CXA8&IJ8N:T+*_Y,_B[.#Z\\.D&\\NX.]/(6]_8>^?HE^OPH^_TJ_/\\K_@$M"
"_P(O_@,P_@,Q^`(O^/\\L]?LH\\O@E\\/8D\\/<E\\/@G\\OHK\\_PN\\_TP]/XQ]O`T]`$U"
"]`$U]?`T]/\\S\\_XR\\OPR\\/HQ[O@OZ_4LYN`HXNLAW^@<WN45W-P&TL+DOYJMM(63"
"I76$>%QY@X.PUM\\.]OXN_00T_P<W`@L[`PX^````````````````````````````"
"`0P]W^H8EIK&DGN4N9BBU[K&Y]3E[>+Y\\.@#\\NP*].`2]_4<^?HD^_TI_0$M_@0O"
"_P4Q_@4R_P4S_@0R_@,R^`(Q^P$O^?`O^/`O^0$Q^0$S]`$T]`$U]`$U]`$U]`$U"
"]O`T]?\\S]/XT]/TT\\_TS\\?LR[_HQ[/8NYN`GX.D>W>45W=\\*V<_RS+''NY*?KX&."
"FFM^:U%UCWNLRKWNW<[`X\\`\"Z=<)\\>87^/4F_@,S`@P\\`P\\_````````````````"
"`P\\_]P,RP,?UC8>OFG^1OY^IVL#-Z-;I[N+Z\\>D$\\^X,]?(3]_4:^/DA^?TH^P$L"
"^`,N^`,P_0,Q_@,Q_@,S_@0S_00T_00T_00T^`0U^P,U^@,V^0(V^0(V]`$U]`$U"
"]O`T]O`T]?\\U]?XU]/TT\\_PS\\?LR[?<NYN`FW^<9V]X*V='UTKW5QJ.QMXR7I7B'"
"@%QV;#YLE4B!KV2<NFNBQFNDSW\"JU(&ZW*/9Z,W`]?(C_`@X`P\\_````````````"
"`````0T]Z_4DL;3BAGNAF7Z1OJ\"NV+W-YM+G[N#Z\\NH'].X.]?$2]O07]_<>^/LF"
"^/XJ^?`M^P$O^`$P^`(R^`(S^`,S^`,T^`,T^P,U^P,V^@,V^0(V^0(V^0(V^0(V"
"^0(V]`$U]O`T]?\\T]/XS\\_PR\\?LP[O<MY^`DW^03V-+WT+S4QZBVO):AJX*0C&A_"
":D1NBRIJI!=GK!%DM!)FPA1KS!5OSR1VT$.(TW6OW[+H\\>D;_P8W`P\\_````````"
"````````_0@WVMT+HIG&@VV2E7B0M9:FS[/\"X<W@[-[W\\.@$\\NP*\\^X.].`2]?0;"
"]ODD]OPH]_TL]_XO^/\\Q^/`R^/`R^/`R]_`S]`$T]`$T]O`T]O`T]O`T]O`T]`$U"
"^0(V]`$U]?\\S]/TQ\\OPN\\?HM\\/DK[?8IY^\\@W]`*U<?FQZJ\\N)*?J8&1CVV&;DYY"
"BCM]JR]ZL1QLLA%DNA!ER!1KT1URU1]WU1IXU\"V!TV.DVZ?=[N46_`@Y````````"
"`````````0L[ZNL:OZG8E6R;?%B!@6>&H(:<P*:XU[_1Y-'HZMWY[>4\"[^D&\\>T-"
"\\O(7\\_0=]/<E]/HI]/PM]?TO]?TO]?TP]?TP]/XQ]/XQ\\_TQ\\_TQ\\_TQ\\_TQ\\_TQ"
"]/XQ]?\\R]?TP\\_PM\\OHJ\\?@H[_8F[/(AY>@3VM/YS+C5N9NQH'Z3AF:$<5!_AT^,"
"KDN3O$>2N2QYMQ5IP!ANS25WU21YV!EVV!)VUQ)XU\"=_T%^?V:O@]/(C`@T]````"
"`````````0T\\[_(AR:[>J6F<E4M`@$AY<$UV>V)`FX\"6N9ZQS[C-W,K@Y-;NZ-WY"
"Z^,\"[.8)[>L4[O$=\\/4D\\?@H\\ODJ\\OHK\\OHM\\?LN\\?LN\\?HN\\/HM\\/HM[_DL[_@L"
"[_DI\\/@G[_8D[_4C[O0B[/$>Z.L6XM`(ULWRP*_/I(JEAFR)<55];T1W?SUZET.&"
"KC.#N3:&N2=YMQ9MOC)^RDZ7TDJ4U#%`TQARTQ1QTA1ST3:\"TG*NX+[S_@0T``\\_"
"`````````PX]]/@GS[/ELFB>I4%^FT!ZBT%V=T%R:$=Q;5E]AW*0HHJANYZQRK##"
"UL'8VLCBX-3TX]S`Y>('Z.</ZNH5Z^T9Z^\\=Z^`@Z_$AZN`?ZN`>ZO$?Z^`@ZN\\>"
"Z>X;Z.P8Y>@3XN,-W=P%U,_UQ[W?M*?(FXRN@&Z3;5)];$%V=3IV?#)S@B=NER5U"
"K\"1^L2!WK1ALJ2AMJD6!KER5L6J@M&ZDMVNANUZ7PD>%R\"ETRT&&U)#(\\>L<`0P\\"
"`````````PX^]OLKT;?IMFB@K3A]J#1YGS9WDSIVA3UV=S]T:4-S9$QU<EQ`C'.1"
"HX>AK9*KNJ.\\PJS$R+/-S;K6T<'?U,CIU<WRU]'WU]+XU\\_SU\\[OVM+UVM/YU<SS"
"TLCNR\\+GPKG>N*W1K)_#FHRRA'6=<E^*;DY^=D)Y?S=U@R]SA2URB\"EPB1IIF\"%R"
"I2%VHQMMG3MXI7>IP[3CW]X,[_,A]/DG\\?8DX^$0R++CM&ZCO#Q`RFJIW+SO_@4V"
"``````````\\_^?\\OU;SNN&RDL#=^KRU[K2QZIC!YFC-VBS5S?C=R=SIR<SQS;T-U"
";4QX;E5_>&.*A'\"4CGF<E7ZAF82GG(JMH(^QI).WJ9F]K)V_JYN\\J)F\\JIK!I9:^"
"EH6NC'JDA7*=?6>4=UN)=D^\">45^?#Y[@3IZAS=XC3)WDS)XES=\\E2MTCAYIERMS"
"FQQNF#EYJHB[UM4$\\OLJ_PDY`@X]`P\\^`PX^_0<WY^T<O[+BHEJ2MT2'S(W%\\_,C"
"````````````^`(RV<3UNW:ML3N!L\"1XL\")WKBQZJ3!ZGBESDREOB2MN@RUM?3%N"
">39Q=SMU>4-Z?4Z#?%.&=E&$<4Y`;TY_;D]_;U*!<5:&=%J*=EJ*>5N,@6\"2@%N/"
"?4Z&?DB\"@$5_@4%]@#QZ@#AW@C5VA3)UB2]UCRMTE2=TF25UFR9UEB%ND29MF3I]"
"DBIRF6J?TL[^]?XM`@T]`````````````````0P\\[O@GP<'PC668G31WPG:PY-<("
"````````````_04TW<W^OH*XL4*%KR!VKQ=SKQIRK1URJ1]QHR-QF1ILDQIJCR)L"
"C\"IPB\"QPAS%SB#MZAD)_@3]\\?3EX>S=V>3AV>3EW>SIY?3M[?CU]@$!_A$2#@SY^"
"@3E[@C=Y@S1WA3)UAC!TARUSBBERCR9SEB=VG\"IYG2AYG\"!UFQEREAELD2MNEDN%"
"G'2HO+'B[O4E`0P\\````````````````````_`L[Z?,BN+CH?E^1BC9UN&ZHU;OM"
"````````````_@<VX=<'P8_#L4J*KQ]UKQ1QKA!NK1%MJQ1MIQ9LH1%IG!%IF!-I"
"EA=KE1AMEA]PFC-\\G$6)F$\"%DC1[CBYUBBYTB#!UB#)VBC5YCCE]DSV\"ET\"&D#9]"
"C#1ZBS%WC2QVD\"=TDR)REAYRF!IRFQ=RG1YTH\"EYH\"MZG2)VFA=QE2-NEE\"(KY3%"
"U=,\"[_8E_PHZ`P\\_````````````````````_0@XW^<7I:#0=$Q`?RUKJU^7RJC:"
"````````````_P@XY=`0Q)O.L5*/KB%TKQ9RKA%NK1)LJQ5LJ!AKHQ)HGQ%GG!!G"
"FA%IFQ-KG!5MGBAVHCR#H#9_GB5VG\"%UFRIYFBYZFBYZG2][HS%_J#.#J3.$I\"9Z"
"HRU\\HRY\\I2E[I2%XI1IUI1MVI!IUHA5SH1ERH2=WH2Q[GB1XFAEQES5WIWNOWMT,"
"^@,R`@T]`````````````````````````PX^]?`OSM(\"CW^P;S%J?B=EI%J1QZ;7"
"````````````_`HZZN@8R:78LEJ5K2-UKQESKA1OK11LK!MMJB%OI!1HH!!EGA!F"
"G1)HG1)IGA%JGQ9LH2-RHQ]RI!5QIA]VJ32!JT\")JSZ(K#*!KB-\\L\"%]L2-^KAIX"
"KAUVKB!WKR5ZKAQVK!=TJB!WJ\")XIA]VI\"-VHR]\\HC9`H#%]FR5TF#Y\\L([!\\_DI"
"`PX]````````````````````````````_@@XY>L;M:W?@%J.<AM<@BEFIF*8SK?G"
"`````````````0P\\[^`@S:[ALF\":K2AWKQ]UKA5OK!)JJQ5JJ1AKI!)GH1!EH!!E"
"GQ%FH!5JHA1JI!QNIAANJ!)NJA%PK!MTKS%_LD&*LD&*L\"]^L!=VL1AXLR1]L2%X"
"KR)VKAUTL\"EZKA]TK!5PJAARJ!]UIRAYIS!^I#-^H#)]GS-\\G\"UVF#YZKXR_\\_DI"
"`@X]`````````````````````````0P\\\\/<GRL;WEWNO>3)L>117B2QFK6ZDV\\__"
"`````````````PX^]/<GT;?JM&>@KC-\\L\"]ZKR1SK!1JJA!HJ!!HI1!HHQ!FHA5G"
"HRQSI3!WI21PIRIUJ2-RJB)TK2IYKRQ[L#!^L31`L\"Y[KQUTKQ)QL!-SL1MVL!]U"
"L3=`KB-TKB5UK1MQJQ-NJ15PJ\"%UIRQ[I3-_H3![G21TG\"!QFA]MEC-RIWFNY-\\/"
"_`HY```_`````````````````0P\\\\?HJT<_`I8[!@T9\\>Q)5@Q-4ECAPN(.W[.H9"
"`````````````P\\_]_TMU+_RM6^GKD2%M%22M5F6L$B(JR=RJ1%IIQ%IHQ%GHAUI"
"IC]`IC^\"I\"ERI21PIR!PJRYZKCR&L#R%L#5`L\"][KQ]SKA!NKQ!OL!!QL!)QL!UT"
"L3B!KR5UK1IQK!=OJQ1NJ1EPIR1VI\"=WH21UGAYQG!5NFQ)LFA1IER)IGU.-R*'6"
"\\?8E_@DX`@X^``\\_`@X^^`8VZ?(BRLGZIHZ`C$Z#A!M:AQ!/DR-<J5J/RJS>^?`O"
"````````````````^@$QV,CYMWJPKU20NGBPPI''OH>_LV*?JS5[IA1HHA!DH11E"
"HBAOHB=OHAEIHQ5II11JJ!UOJR=UK2IWKBUZKRMXKQUQKQ%NL!-PL1-SL15TL1QT"
"L\"5VKR9VK1URK!YRJQUQIQANI!EOH1IPGA9NG!%LG!%MG1=NGAMMG!=FH\"]QN&6>"
"R[OMW^(1Y^\\?[O8FZ?$BU-D*L:W>E':IC$)YD!Q;E!!2FA!1I3APNX.VX]T-_`LZ"
"````````````````^`0TW=(\"O(>\\L5N6O7^VR*39RJSDPIC2M6^MK%&1IT:&H1YI"
"H!)EH!!DH1%FHQ1II1-HIQ%GJ1!IJQ)KK!=NK1ANK11MKQ-NL!=RL1=VL19VL!9R"
"KA1OK!=OJQ1MJAIPJB-SIQ]PHQ5LH!-LGA-LG!%LFQ%LG!1MGQINHAEHJ!EEM3)S"
"JEV3I'>JHH*UJ9#\"HXJ\\E'*EC5\"%E2QEH!)4IA!2J!!3JR5AM5Z3S:_A]_TM`PX_"
"````````````````_08VXML+P97*LV&;O'NRQY[4R:GBQJ;BQ*#=OY#.MH*`HC=["
"GR-NH\")MH1IJI2%PIAMMIQ-HJ!!HJA!IJQ-MK!QQK1]RK1=QKA)RKQ%VL!%VKA)P"
"K!!MJQ!MJA!LJ1)MIQIOIBIVI3I`HCM`GBUWFQ=MFQ)LG1IQHR5VJ29TKQILN\"1P"
"KAMEKB5KK2IMJS)NIRQGJ!]?L!-<MQ!9N1!5N!!4MQI<N4Z%R9C*Y^,3_`HZ````"
"````````````````_P@XZ.45QZ/7M66?NG.KQIK0R:GAQZGEQJKGNI#/MXC(HT*("
"J%.5J%.3HS=\\HR-PI3)YJ$.&JD2(K$*'KTB-L4R2L4>/L$:-LE\"6LTN5L2R#KR5Z"
"K\"!UJQ-OJAEPJC9_JDF.JER>KWFXKGNZI%R<G\"UWFQ)LG15NH1=MIQ5IK1)HLQ1H"
"LQ%BM1-CN!IGMQEBNA->P1%?QQ!AR1!@QQ!<PQA?P$J\"R([!X-4%^`0T`P\\_````"
"`````````````````0L[[>X>S*_BM&>AMVFCQ97,RJGAR:WHR[3PQ*7DQZ[MJFBI"
"MHS+LX?%JVVLIU>8KVVMO9+1P)C9P)?7PIW;OY32N'R]O8S+R:SKQZ+BMF&HM%JA"
"LE^CK%*6K5\"4M'BXNY33MY+1N)G9M)'1IFBHG\"]YFA5NG!9OH!=MI1)HJ1!DKQ)F"
"N1UNO1]KQC-XRS!UT\"%MU!9KU!=LT1=HS!]GR$^'S)+$X-4%^@(Q`P\\^````````"
"`````````````````@T]\\_8FT;GLM&JCLE\"/OW^XS*;>TKKTS[GTQ*;CS;KXMY'/"
"Q[KXOZGHP['PPJSKMI+1MY33O)W=P:CGQK/QQ:WKP9_>QJSJR[;TP934NWR_PZ3B"
"RK3TS;W[Q*KIP*7DP:KJNZ#@NZ'AMI35J&JLG3J\"FRIVFB9SFB1NFA9CHA-BJB%I"
"NT.(R#9^TB9TUR)SV1YSVBIZV3N&U$B+SVNCU*;9Z.$1^`0T`P\\_````````````"
"`````````````````P\\_]OPLUL+UMG*JKCA^M$V/NW&NP(_*P9;2P)C5S;GUN973"
"R;SYN);5OJ7DQ;+QO:'AOZCGPJOJPZOJQK7RR+?UR+7TS+OZQZCHOH+%QJ3CSL0!"
"O9[>QK7UQ;'SPJ_OP;#OOJCHO:;FM)+3I&2FFC-]F2UVF#!VE#)TD39TFDJ$H$^("
"K4V)Q4N*TDR.UUF>V%B=UEN;T7*LU)_4XM(#]/8F_PDY`P\\_````````````````"
"````````````````````^P$QW,W_NH\"VKCY`L#)\\L#F!KT.'KU&1M7.OP9S9L(\"^"
"PZ_KNIK8OJCEQK;TOJ7DPJSKQ;#OPZ[MQK3SQ[7TR+3SS;S[RJ[MPX[0R:_OT,P("
"Q[7TP*?GN8[0O9K<Q+#PQ;CWP*[NL(O+GE&4EQ]OER=QES-XEE2.GX:ZO+7FPKOM"
"P[7HSK7ITK+FU++GU[KMW\\W_Z^45]?DI_@<W`@T]````````````````````````"
"````````````````````_04UXMD*P9+&KTR*KB]YKBIWJAEMJ!MKJ#=ZJ4^-I$>("
"K7:RNIW7QK?SRKW[OZ;EP*CFPJGGP:?FPZWKPJ?FOIK9Q*GGS+?URJ?FQ:CGS,#]"
"QK#OQ*7DLW*TK6&CLG^_N9G8MI74J'*QFS^#EAMLEB%NF46#KXR`U]D)]/\\O^0,T"
"^0(S^@,S^@(R^P(R^P,S_08V_`LZ`@X^````````````````````````````````"
"````````````````````_PDYZN@8R:C;L5V7K3)ZK3!YJ1]OIQ%EI1!BH1!AGA5E"
"H#]_L8:`OZGEQ++PMY/2LX3#M(+!M87$MXW+MH7$L&VNM7N[PYS:QIK9MG2WMX#!"
"LG*SK6&BIT\"%ICR!J%65IE^?HE:7G#Z#F\")PEAAKEB5NG%6/O:;8[_4E`@X^````"
"````````````````````````````````````````````````````````````````"
"`````````````````````@T]]/@GUL'SMW:LK#9\\JRAUJ!EKIA!DI!!CH1!CG1%A"
"FR!HH522JWBVLH?%JVRLI4Z0I$.%I4>'IDR,ITB)ISE_JT:+N&:HP'&TL$./JCB#"
"J#!\\HQ=LHA-IHB1OH3%WGBQUFA]OF!=LEQ9KEAEKES9WI7*GR\\#Q^0(R`P\\_````"
"````````````````````````````````````````````````````````````````"
"```````````````````````__04TY=\\/Q)W0KU60JB=SJ!=KIA!DHQ!CGQ!BG!)@"
"FA1BFB9MG#M]H$>'H3U`H\"USGR!IGQ9CH!-CH1MHI!]LIRATLDB.O5^CKC>&IQIQ"
"IC!YHB-QH!]NH!YLGRISG\"9PF1YLF2%NF\")OEB)NFU\"+MIG,X>$1_PDY````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````@P\\]/@HU\\?YN(&WJCQ^IQ9LIA9HI!QHH!-CG15B"
"FAIEFRQQF!QGF15DG25MGS!TGRMPGAUHGQ=FH\"!JHR9OIR]WLTR0P&:HKSV)IBEV"
"ICY`H2YUH3%WH#)XH3^!GCA[FB=PF2-OF\"1PF#Q]IWNPS</U]/PL`PX^````````"
"````````````````````````````````````````````````````````````````"
"```````````````````````````__P@X[.T=SKCJLW*IIS1YIB!OI2=PH!9FG11C"
"FQUGG3-VF2)JF!1DFAIGFR)JG!]GG!9CG19CH\"-JHRUSIS5[LTV0P&:HKCV)I2MW"
"HS-XGR5OGR]TH#A[HD:&GSY`FBMSEQ]MEC-VH6VCPK+CZ.P<_PHZ````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````P\\__04UZ>D9S+3FLG.JI35YHQULH1AHG19E"
"FQ5CFB)JF!AFEQ)DF!-DF!)BF1%?FA!>FQ)@G1EDH\"!II\"MSL4>,OE^BK3F%HQ]O"
"H25OGAEIG!UJG\"IQGCI\\FC-XE\")MD2QPFV6;NZG;X>03^P4U`P\\_````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````P\\__08VZ^P<S;KLKW:JH3)UH!MJG1MI"
"F1%BEQ!BEA!CEA)EEQEHF!=EF!)AF!!>F1!=FQ%>G1%AHB%MKD&&NEF<JSV&H2!N"
"H2UTG1]KFQIIF2)KE25MD1UJCB]PF&:;MJ;8W=\\/^0(R`P\\_````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````P\\__@@X[O,BT,/SKH\"SG$)^EQAF"
"ERQPE!IGE!)FEQAJF1]NF1QJF!1DEQ%?F!!=F1%=G!1AH!UKIS)[KDB-J$.(GR=Q"
"GB=OF2%KF\"ANEC9VCB]PBT%[F76HNK'AW^03^0(R`@X^````````````````````"
"````````````````````````````````````````````````````````````````"
"``````````````````````````````````````````\\__`L[]/PKVM<&M9O-GFN@"
"EU:/BBUOC!=GE25RFS%ZFRIUEQIJE1-BE1ICER!EF1YFFQAGGR%PHC%[H#5\\FB)O"
"F2=OD2)JBS!QB$5^BER1H8Z`R,;WZ?$A^`<W`P\\_````````````````````````"
"````````````````````````````````````````````````````````````````"
"`````````````````````````````````````````````````@X^_08V[O0DT<__"
"IYC)D'.EB%N1B$>\"D$*\"DC=[CB)MC!MGCBUOD3AVD3-SD\"-KEB]UGD:'G$N*CR]T"
"ARYP@4)[@UV0C7JKKJO;V-\\.]/XN_`P\\`P\\_````````````````````````````"
"````````````````````````````````````````````````````````````````"
"``````````````````````````````````````````````````````\\_`@X^_@DX"
"\\OPJW.,1PL3UHIW.BG>J?UZ2?E2*?T^%?4I`>T9\\>T-Z?D1\\A$Z%BER2AF28@F>:"
"AW:HGYK+OL'PVN(0\\/LJ_@DY`P\\_````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"`P\\^`0P\\_@DY\\_XNV^03P<7TL[3DJJK:G)K)CHNYB8:RC(BUF);$KK#?P,;UT=@'"
"Z?(A]`,R_0DX`0P\\`P\\^````````````````````````````````````````````"
"````````````````````````````````````````````````````````````````"
"";
En realidad, la imagen original RGB fue codificada, formalmente hablando, usando caracteres realizado por el siguiente macro,
#define HEADER_PIXEL(data,pixel) {\
pixel[0] = (((data[0] - 33) << 2) | ((data[1] - 33) >> 4)); \
pixel[1] = ((((data[1] - 33) & 0xF) << 4) | ((data[2] - 33) >> 2)); \
pixel[2] = ((((data[2] - 33) & 0x3) << 6) | ((data[3] - 33))); \
data += 4; \
}
Para poder recobrar la imagen de este esquema de codificación de caracteres realizado por el macro, se utiliza esta operación en reversa. No obstante, la imagen en grados grises sera usada en las figuras (derivada del programa GIMP RGB exportada como un archivo header de C) sin perder ningun tipo de veracidad en la description de estos procesos de imágenes en el demo. El demo de procesamiento de imágenes en este artículo, realiza una transformada con un umbral predeterminado dentro del FPGA. La función usada en este caso es la siguiente,
test_add_threshold(uint8_t *image_input, uint8_t *image_output, Image_processing *img_proc)
para coordinar la computadora x86 que corre la aplicación de C++ con la máquina de estados finitos dentro del FPGA que realiza las operaciones de las imágenes. La parte relevante del programa de C++ que realiza el procesamiento de imagen es el siguiente test_add_threshold,
void test_add_threshold(uint8_t *image_input, uint8_t *image_output, Image_processing *img_proc){
img_proc->send_params(image_width, image_height);
uint8_t status[4];
img_proc->read_status(status);
printf("after send params\n");
for (size_t i = 0; i < 4; i++) {
printf("status out %lu : 0x%x\n", i, status[i]);
}
img_proc->send_image(image_input);
printf("===========ADD===========\n");
img_proc->switch_buffers();
img_proc->send_add(32, true);
img_proc->read_status(status);
printf("after ADD\n");
for (size_t i = 0; i < 4; i++) {
printf("status out %lu : 0x%x\n", i, status[i]);
}
img_proc->wait_end_busy();
img_proc->read_status(status);
printf("Finished ADD\n");
for (size_t i = 0; i < 4; i++) {
printf("status out %lu : 0x%x\n", i, status[i]);
}
printf("===========THRESHOLD===========\n");
img_proc->send_threshold(168, 0, 0);
img_proc->wait_end_busy();
img_proc->switch_buffers();
img_proc->read_image(image_output);
}
La máquina de estados finitos dentro de la FPGA realiza este procesamiento de imágnenes (con send_threshold(168, 0, 0)) y entonces obtenemos el siguiente resultado,
Este demo de procesamiento de imágenes remplaza los pixels de la imagen resultante, si cumplen el nivel del umbral, y si la selección de arriba es 1, entonces cada pixel mayor o igual que el nivel establecido, se remplaza, de lo contrario se remplaza cada pixel que sea igual o menor que el umbral establecido por la función send_threshold(168, 0, 0). Dentro del FPGA, los registros relacionados al umbral son,
reg [7:0] threshold_value;
reg [7:0] threshold_replacement;
reg threshold_upper;
Cuando este comando para el procesamiento de imagen es recibdo por el FPGA y la estructura interna que procesa esto, es esta sección,
COMMAND_APPLY_THRESHOLD: begin
state <= STATE_THRESHOLD_READ_PARAM;
counter_read <= 2; // read 3*8bits of params
end
También esta parte es relevante,
STATE_THRESHOLD_READ_PARAM: begin
if(comm_data_in_valid == 1)begin
if(counter_read == 2) begin
threshold_value[7:0] <= comm_data_in;
counter_read <= 1;
end else if(counter_read == 1) begin
threshold_replacement[7:0] <= comm_data_in;
counter_read <= 0;
end else begin
threshold_upper <= comm_data_in[0];
state_processing <= STATE_PROC_UNARY;
processing_command <= COMMAND_APPLY_THRESHOLD;
state <= STATE_WAIT_COMMAND;
proc_counter_read <= img_width*img_height;
proc_memory_addr_counter <= buffer_storage_address;
end
end
end
Entonces envia la imagen hacia la computadora x86 como el archivo de la imagen llamado output.dat despues de que la siguiente secuencia,
init..
sending img_width8[0]: 64, [1]: 0
sending img_height8[0]: 64, [1]: 0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
after send params
status out 0 : 0x0
status out 1 : 0x0
status out 2 : 0x0
status out 3 : 0x0
sending..
===========ADD===========
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
after ADD
status out 0 : 0x0
status out 1 : 0x0
status out 2 : 0x0
status out 3 : 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
wait_end_busy
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
Finished ADD
status out 0 : 0x0
status out 1 : 0x0
status out 2 : 0x0
status out 3 : 0x0
===========THRESHOLD===========
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x41
recv data: 0x0
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
recv_data[0]: 0x40
wait_end_busy
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xfd
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xfe
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xfd
recv data[26]: 0xfd
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xf9
recv_data[0] (status): 0x41
recv data[1]: 0xf8
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xfe
recv data[5]: 0xf5
recv data[6]: 0xfb
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xf8
recv data[10]: 0xf4
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xfe
recv data[28]: 0xfd
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xf9
recv data[14]: 0xf5
recv data[15]: 0xfb
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xfe
recv data[2]: 0xfb
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xfe
recv data[17]: 0xfa
recv data[18]: 0xfa
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xfd
recv data[6]: 0xfa
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xfe
recv data[21]: 0xfd
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xf9
recv data[11]: 0xfe
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xfe
recv data[30]: 0xf3
recv_data[0] (status): 0x41
recv data[1]: 0xf4
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xe9
recv data[8]: 0xd6
recv data[9]: 0xe1
recv data[10]: 0xfd
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xfd
recv data[4]: 0xe4
recv data[5]: 0xc4
recv data[6]: 0xb4
recv data[7]: 0xc3
recv data[8]: 0xe3
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xfb
recv data[9]: 0xd5
recv data[10]: 0xb9
recv data[11]: 0xc5
recv data[12]: 0xe4
recv data[13]: 0xfa
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xfd
recv data[8]: 0xf3
recv data[9]: 0xeb
recv data[10]: 0xe1
recv data[11]: 0xcc
recv data[12]: 0xb3
recv data[13]: 0xae
recv data[14]: 0xcc
recv data[15]: 0xf6
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xd4
recv data[12]: 0xaa
recv data[13]: 0xae
recv data[14]: 0xd7
recv data[15]: 0xf7
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xfd
recv data[12]: 0xf3
recv data[13]: 0xee
recv data[14]: 0xf0
recv data[15]: 0xf2
recv data[16]: 0xeb
recv data[17]: 0xd4
recv data[18]: 0xb0
recv data[19]: 0x0
recv data[20]: 0xc6
recv data[21]: 0xfc
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xee
recv data[14]: 0xbc
recv data[15]: 0x0
recv data[16]: 0xc4
recv data[17]: 0xe8
recv data[18]: 0xfe
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xf8
recv data[17]: 0xf1
recv data[18]: 0xf0
recv data[19]: 0xf3
recv data[20]: 0xf5
recv data[21]: 0xf2
recv data[22]: 0xe2
recv data[23]: 0xbf
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0xdf
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xe4
recv data[17]: 0xaf
recv data[18]: 0xac
recv data[19]: 0xd3
recv data[20]: 0xf2
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xfc
recv data[22]: 0xf6
recv data[23]: 0xf5
recv data[24]: 0xf6
recv data[25]: 0xf6
recv data[26]: 0xf0
recv data[27]: 0xe2
recv data[28]: 0xcd
recv data[29]: 0x0
recv data[30]: 0x0
recv_data[0] (status): 0x41
recv data[1]: 0xcd
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xea
recv data[20]: 0xad
recv data[21]: 0x0
recv data[22]: 0xcf
recv data[23]: 0xf2
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xf9
recv data[27]: 0xf5
recv data[28]: 0xf6
recv data[29]: 0xf7
recv data[30]: 0xf3
recv_data[0] (status): 0x41
recv data[1]: 0xea
recv data[2]: 0xe1
recv data[3]: 0xd6
recv data[4]: 0x0
recv data[5]: 0x0
recv data[6]: 0xd3
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xb8
recv data[24]: 0x0
recv data[25]: 0xc8
recv data[26]: 0xef
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xfd
recv_data[0] (status): 0x41
recv data[1]: 0xf7
recv data[2]: 0xf5
recv data[3]: 0xf6
recv data[4]: 0xf7
recv data[5]: 0xf4
recv data[6]: 0xeb
recv data[7]: 0xe7
recv data[8]: 0xd4
recv data[9]: 0x0
recv data[10]: 0x0
recv data[11]: 0xeb
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xe0
recv data[27]: 0x0
recv data[28]: 0xb6
recv data[29]: 0xe5
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xfc
recv data[6]: 0xf8
recv data[7]: 0xf5
recv data[8]: 0xf4
recv data[9]: 0xf5
recv data[10]: 0xf3
recv data[11]: 0xee
recv data[12]: 0xe2
recv data[13]: 0xb7
recv data[14]: 0x0
recv data[15]: 0xbe
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xc3
recv_data[0] (status): 0x41
recv data[1]: 0x0
recv data[2]: 0xc6
recv data[3]: 0xf2
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xfd
recv data[11]: 0xf9
recv data[12]: 0xf6
recv data[13]: 0xf5
recv data[14]: 0xf7
recv data[15]: 0xf3
recv data[16]: 0xe4
recv data[17]: 0xc7
recv data[18]: 0x0
recv data[19]: 0x0
recv data[20]: 0xf4
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xb9
recv data[5]: 0x0
recv data[6]: 0xcf
recv data[7]: 0xf7
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xfc
recv data[16]: 0xf9
recv data[17]: 0xf7
recv data[18]: 0xf7
recv data[19]: 0xf0
recv data[20]: 0xde
recv data[21]: 0xc8
recv data[22]: 0x0
recv data[23]: 0x0
recv data[24]: 0xeb
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xc2
recv data[9]: 0x0
recv data[10]: 0xd1
recv data[11]: 0xf6
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xfc
recv data[20]: 0xfa
recv data[21]: 0xf9
recv data[22]: 0xf3
recv data[23]: 0xe5
recv data[24]: 0xd4
recv data[25]: 0xc6
recv data[26]: 0x0
recv data[27]: 0x0
recv data[28]: 0xed
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xdb
recv data[13]: 0x0
recv data[14]: 0xc5
recv data[15]: 0xec
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xfe
recv data[23]: 0xfb
recv data[24]: 0xfa
recv data[25]: 0xf8
recv data[26]: 0xee
recv data[27]: 0xdb
recv data[28]: 0xd0
recv data[29]: 0xc1
recv data[30]: 0x0
recv_data[0] (status): 0x41
recv data[1]: 0x0
recv data[2]: 0xf2
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xfb
recv data[17]: 0xb2
recv data[18]: 0xae
recv data[19]: 0xd5
recv data[20]: 0xf3
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xfc
recv data[27]: 0xf9
recv data[28]: 0xf9
recv data[29]: 0xf5
recv data[30]: 0xe8
recv_data[0] (status): 0x41
recv data[1]: 0xd7
recv data[2]: 0xcb
recv data[3]: 0xb6
recv data[4]: 0x0
recv data[5]: 0xab
recv data[6]: 0xe6
recv data[7]: 0xf9
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xdc
recv data[22]: 0xa9
recv data[23]: 0xb6
recv data[24]: 0xdb
recv data[25]: 0xf6
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xfb
recv_data[0] (status): 0x41
recv data[1]: 0xf7
recv data[2]: 0xf5
recv data[3]: 0xee
recv data[4]: 0xe2
recv data[5]: 0xd3
recv data[6]: 0xc1
recv data[7]: 0x0
recv data[8]: 0x0
recv data[9]: 0xb1
recv data[10]: 0xcb
recv data[11]: 0xd6
recv data[12]: 0xe2
recv data[13]: 0xeb
recv data[14]: 0xf0
recv data[15]: 0xf8
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xcd
recv data[27]: 0x0
recv data[28]: 0xb5
recv data[29]: 0xda
recv data[30]: 0xf4
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xfb
recv data[5]: 0xf4
recv data[6]: 0xec
recv data[7]: 0xe3
recv data[8]: 0xd8
recv data[9]: 0xc7
recv data[10]: 0x0
recv data[11]: 0x0
recv data[12]: 0x0
recv data[13]: 0xc0
recv data[14]: 0xc8
recv data[15]: 0xd0
recv data[16]: 0xde
recv data[17]: 0xe8
recv data[18]: 0xeb
recv data[19]: 0xec
recv data[20]: 0xef
recv data[21]: 0xfb
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xf6
recv_data[0] (status): 0x41
recv data[1]: 0xbe
recv data[2]: 0x0
recv data[3]: 0xb1
recv data[4]: 0xd1
recv data[5]: 0xeb
recv data[6]: 0xfd
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xfb
recv data[9]: 0xf1
recv data[10]: 0xe3
recv data[11]: 0xd4
recv data[12]: 0xc5
recv data[13]: 0xab
recv data[14]: 0x0
recv data[15]: 0x0
recv data[16]: 0xc7
recv data[17]: 0xcd
recv data[18]: 0xce
recv data[19]: 0xd6
recv data[20]: 0xe4
recv data[21]: 0xed
recv data[22]: 0xf1
recv data[23]: 0xf1
recv data[24]: 0xf0
recv data[25]: 0xef
recv data[26]: 0xf7
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xdb
recv data[6]: 0xb1
recv data[7]: 0x0
recv data[8]: 0x0
recv data[9]: 0xbc
recv data[10]: 0xdc
recv data[11]: 0xf3
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xf6
recv data[13]: 0xe8
recv data[14]: 0xd5
recv data[15]: 0xbc
recv data[16]: 0x0
recv data[17]: 0x0
recv data[18]: 0x0
recv data[19]: 0xca
recv data[20]: 0xd8
recv data[21]: 0xd5
recv data[22]: 0xd3
recv data[23]: 0xdc
recv data[24]: 0xe9
recv data[25]: 0xf1
recv data[26]: 0xf4
recv data[27]: 0xf4
recv data[28]: 0xf3
recv data[29]: 0xf0
recv data[30]: 0xec
recv_data[0] (status): 0x41
recv data[1]: 0xf5
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xe5
recv data[10]: 0xc5
recv data[11]: 0xb1
recv data[12]: 0x0
recv data[13]: 0x0
recv data[14]: 0x0
recv data[15]: 0xb7
recv data[16]: 0xd5
recv data[17]: 0xeb
recv data[18]: 0xf8
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xfe
recv data[15]: 0xf2
recv data[16]: 0xdc
recv data[17]: 0xc0
recv data[18]: 0x0
recv data[19]: 0x0
recv data[20]: 0x0
recv data[21]: 0x0
recv data[22]: 0xb3
recv data[23]: 0xca
recv data[24]: 0xd5
recv data[25]: 0xd5
recv data[26]: 0xd3
recv data[27]: 0xda
recv data[28]: 0xe6
recv data[29]: 0xee
recv data[30]: 0xf0
recv_data[0] (status): 0x41
recv data[1]: 0xef
recv data[2]: 0xef
recv data[3]: 0xee
recv data[4]: 0xed
recv data[5]: 0xee
recv data[6]: 0xfc
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xeb
recv data[14]: 0xce
recv data[15]: 0xc1
recv data[16]: 0xb7
recv data[17]: 0x0
recv data[18]: 0x0
recv data[19]: 0x0
recv data[20]: 0x0
recv data[21]: 0x0
recv data[22]: 0xbe
recv data[23]: 0xd7
recv data[24]: 0xe6
recv data[25]: 0xf2
recv data[26]: 0xf6
recv data[27]: 0xfc
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xfe
recv data[15]: 0xf9
recv data[16]: 0xf0
recv data[17]: 0xe3
recv data[18]: 0xd0
recv data[19]: 0xb7
recv data[20]: 0x0
recv data[21]: 0x0
recv data[22]: 0x0
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0xb3
recv data[27]: 0xc8
recv data[28]: 0xcd
recv data[29]: 0xc9
recv data[30]: 0xc5
recv_data[0] (status): 0x41
recv data[1]: 0xc6
recv data[2]: 0xca
recv data[3]: 0xcd
recv data[4]: 0xd0
recv data[5]: 0xd3
recv data[6]: 0xd7
recv data[7]: 0xde
recv data[8]: 0xe4
recv data[9]: 0xe7
recv data[10]: 0xf0
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xed
recv data[18]: 0xd2
recv data[19]: 0xc9
recv data[20]: 0xc4
recv data[21]: 0xbb
recv data[22]: 0xaf
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0x0
recv data[27]: 0x0
recv data[28]: 0x0
recv data[29]: 0xbf
recv data[30]: 0xc9
recv_data[0] (status): 0x41
recv data[1]: 0xd6
recv data[2]: 0xde
recv data[3]: 0xe4
recv data[4]: 0xe9
recv data[5]: 0xed
recv data[6]: 0xf0
recv data[7]: 0xf1
recv data[8]: 0xf3
recv data[9]: 0xf3
recv data[10]: 0xf3
recv data[11]: 0xf3
recv data[12]: 0xf6
recv data[13]: 0xf6
recv data[14]: 0xf1
recv data[15]: 0xee
recv data[16]: 0xe7
recv data[17]: 0xde
recv data[18]: 0xd4
recv data[19]: 0xc8
recv data[20]: 0xb6
recv data[21]: 0x0
recv data[22]: 0x0
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0x0
recv data[27]: 0x0
recv data[28]: 0x0
recv data[29]: 0x0
recv data[30]: 0xb4
recv_data[0] (status): 0x41
recv data[1]: 0xc1
recv data[2]: 0xbf
recv data[3]: 0xb9
recv data[4]: 0xc1
recv data[5]: 0xdf
recv data[6]: 0xfb
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xe4
recv data[12]: 0xd0
recv data[13]: 0xd8
recv data[14]: 0xe6
recv data[15]: 0xf8
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xf1
recv data[22]: 0xd4
recv data[23]: 0xcc
recv data[24]: 0xcb
recv data[25]: 0xc9
recv data[26]: 0xc2
recv data[27]: 0xb6
recv data[28]: 0x0
recv data[29]: 0x0
recv data[30]: 0x0
recv_data[0] (status): 0x41
recv data[1]: 0x0
recv data[2]: 0x0
recv data[3]: 0x0
recv data[4]: 0x0
recv data[5]: 0x0
recv data[6]: 0x0
recv data[7]: 0xaa
recv data[8]: 0xb1
recv data[9]: 0xb5
recv data[10]: 0xb8
recv data[11]: 0xbc
recv data[12]: 0xc0
recv data[13]: 0xc5
recv data[14]: 0xc8
recv data[15]: 0xc7
recv data[16]: 0xc4
recv data[17]: 0xc6
recv data[18]: 0xc1
recv data[19]: 0xb2
recv data[20]: 0x0
recv data[21]: 0x0
recv data[22]: 0x0
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0x0
recv data[27]: 0x0
recv data[28]: 0x0
recv data[29]: 0xa9
recv data[30]: 0xaf
recv_data[0] (status): 0x41
recv data[1]: 0xb3
recv data[2]: 0xb1
recv data[3]: 0xaa
recv data[4]: 0xb3
recv data[5]: 0xb7
recv data[6]: 0xb4
recv data[7]: 0xc6
recv data[8]: 0xf2
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xdb
recv data[17]: 0xbe
recv data[18]: 0xd3
recv data[19]: 0xe8
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xf5
recv data[26]: 0xd7
recv data[27]: 0xcd
recv data[28]: 0xcc
recv data[29]: 0xcc
recv data[30]: 0xca
recv_data[0] (status): 0x41
recv data[1]: 0xc5
recv data[2]: 0xba
recv data[3]: 0xaf
recv data[4]: 0x0
recv data[5]: 0x0
recv data[6]: 0x0
recv data[7]: 0x0
recv data[8]: 0x0
recv data[9]: 0x0
recv data[10]: 0x0
recv data[11]: 0x0
recv data[12]: 0x0
recv data[13]: 0x0
recv data[14]: 0x0
recv data[15]: 0x0
recv data[16]: 0x0
recv data[17]: 0x0
recv data[18]: 0x0
recv data[19]: 0x0
recv data[20]: 0x0
recv data[21]: 0x0
recv data[22]: 0x0
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0x0
recv data[27]: 0x0
recv data[28]: 0x0
recv data[29]: 0x0
recv data[30]: 0x0
recv_data[0] (status): 0x41
recv data[1]: 0x0
recv data[2]: 0xab
recv data[3]: 0xb1
recv data[4]: 0xb5
recv data[5]: 0xb7
recv data[6]: 0xb2
recv data[7]: 0xad
recv data[8]: 0xb5
recv data[9]: 0xae
recv data[10]: 0xb5
recv data[11]: 0xee
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xdd
recv data[21]: 0xa9
recv data[22]: 0xb9
recv data[23]: 0xde
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xf9
recv data[30]: 0xda
recv_data[0] (status): 0x41
recv data[1]: 0xcd
recv data[2]: 0xcb
recv data[3]: 0xcb
recv data[4]: 0xcb
recv data[5]: 0xc9
recv data[6]: 0xc5
recv data[7]: 0xbf
recv data[8]: 0xb5
recv data[9]: 0xaf
recv data[10]: 0xab
recv data[11]: 0x0
recv data[12]: 0x0
recv data[13]: 0x0
recv data[14]: 0x0
recv data[15]: 0x0
recv data[16]: 0x0
recv data[17]: 0x0
recv data[18]: 0x0
recv data[19]: 0x0
recv data[20]: 0x0
recv data[21]: 0x0
recv data[22]: 0x0
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0x0
recv data[27]: 0x0
recv data[28]: 0x0
recv data[29]: 0x0
recv data[30]: 0x0
recv_data[0] (status): 0x41
recv data[1]: 0x0
recv data[2]: 0x0
recv data[3]: 0x0
recv data[4]: 0xab
recv data[5]: 0xb2
recv data[6]: 0xb8
recv data[7]: 0xb9
recv data[8]: 0xb8
recv data[9]: 0xb7
recv data[10]: 0xb2
recv data[11]: 0xad
recv data[12]: 0xb2
recv data[13]: 0xb8
recv data[14]: 0xd8
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xd4
recv data[25]: 0x0
recv data[26]: 0x0
recv data[27]: 0xd4
recv data[28]: 0xf1
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xfd
recv data[4]: 0xdd
recv data[5]: 0xcd
recv data[6]: 0xcb
recv data[7]: 0xcb
recv data[8]: 0xca
recv data[9]: 0xc9
recv data[10]: 0xc7
recv data[11]: 0xc3
recv data[12]: 0xbd
recv data[13]: 0xb8
recv data[14]: 0xb4
recv data[15]: 0xb2
recv data[16]: 0xb1
recv data[17]: 0xb2
recv data[18]: 0xb6
recv data[19]: 0xb8
recv data[20]: 0xb4
recv data[21]: 0xae
recv data[22]: 0xaa
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0x0
recv data[26]: 0x0
recv data[27]: 0xaa
recv data[28]: 0xaf
recv data[29]: 0xb3
recv data[30]: 0xac
recv_data[0] (status): 0x41
recv data[1]: 0x0
recv data[2]: 0x0
recv data[3]: 0xa9
recv data[4]: 0xac
recv data[5]: 0xaf
recv data[6]: 0xb2
recv data[7]: 0xb4
recv data[8]: 0xb7
recv data[9]: 0xb9
recv data[10]: 0xbc
recv data[11]: 0xbc
recv data[12]: 0xb9
recv data[13]: 0xb6
recv data[14]: 0xb1
recv data[15]: 0xb2
recv data[16]: 0xcb
recv data[17]: 0xf1
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xfb
recv data[28]: 0xc1
recv data[29]: 0x0
recv data[30]: 0x0
recv_data[0] (status): 0x41
recv data[1]: 0xc7
recv data[2]: 0xe6
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xe0
recv data[9]: 0xcd
recv data[10]: 0xca
recv data[11]: 0xcb
recv data[12]: 0xca
recv data[13]: 0xc9
recv data[14]: 0xc7
recv data[15]: 0xc4
recv data[16]: 0xbf
recv data[17]: 0xbb
recv data[18]: 0xb8
recv data[19]: 0xb6
recv data[20]: 0xb7
recv data[21]: 0xb8
recv data[22]: 0xba
recv data[23]: 0xbe
recv data[24]: 0xbc
recv data[25]: 0xba
recv data[26]: 0xb8
recv data[27]: 0xb7
recv data[28]: 0xb6
recv data[29]: 0xb6
recv data[30]: 0xb9
recv_data[0] (status): 0x41
recv data[1]: 0xbf
recv data[2]: 0xc4
recv data[3]: 0xc5
recv data[4]: 0xc0
recv data[5]: 0xbf
recv data[6]: 0xbf
recv data[7]: 0xc1
recv data[8]: 0xc1
recv data[9]: 0xc1
recv data[10]: 0xc1
recv data[11]: 0xc0
recv data[12]: 0xbe
recv data[13]: 0xbd
recv data[14]: 0xbd
recv data[15]: 0xbd
recv data[16]: 0xba
recv data[17]: 0xb6
recv data[18]: 0xb3
recv data[19]: 0xc3
recv data[20]: 0xfa
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xea
recv data[2]: 0xab
recv data[3]: 0x0
recv data[4]: 0x0
recv data[5]: 0xc0
recv data[6]: 0xe3
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xe5
recv data[13]: 0xce
recv data[14]: 0xc9
recv data[15]: 0xcb
recv data[16]: 0xca
recv data[17]: 0xc9
recv data[18]: 0xc8
recv data[19]: 0xc6
recv data[20]: 0xc0
recv data[21]: 0xbc
recv data[22]: 0xba
recv data[23]: 0xb9
recv data[24]: 0xb9
recv data[25]: 0xba
recv data[26]: 0xbb
recv data[27]: 0xbd
recv data[28]: 0xbf
recv data[29]: 0xc0
recv data[30]: 0xc2
recv_data[0] (status): 0x41
recv data[1]: 0xc5
recv data[2]: 0xc7
recv data[3]: 0xc7
recv data[4]: 0xc8
recv data[5]: 0xca
recv data[6]: 0xcc
recv data[7]: 0xcd
recv data[8]: 0xca
recv data[9]: 0xca
recv data[10]: 0xca
recv data[11]: 0xcb
recv data[12]: 0xca
recv data[13]: 0xc8
recv data[14]: 0xc6
recv data[15]: 0xc4
recv data[16]: 0xc2
recv data[17]: 0xc0
recv data[18]: 0xbf
recv data[19]: 0xbe
recv data[20]: 0xbc
recv data[21]: 0xb7
recv data[22]: 0xb4
recv data[23]: 0xcc
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xd1
recv data[6]: 0x0
recv data[7]: 0x0
recv data[8]: 0x0
recv data[9]: 0xc2
recv data[10]: 0xea
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xe9
recv data[17]: 0xce
recv data[18]: 0xc9
recv data[19]: 0xcb
recv data[20]: 0xca
recv data[21]: 0xc8
recv data[22]: 0xc7
recv data[23]: 0xc5
recv data[24]: 0xc0
recv data[25]: 0xbd
recv data[26]: 0xbc
recv data[27]: 0xbb
recv data[28]: 0xbc
recv data[29]: 0xbe
recv data[30]: 0xc0
recv_data[0] (status): 0x41
recv data[1]: 0xc2
recv data[2]: 0xc4
recv data[3]: 0xc6
recv data[4]: 0xc8
recv data[5]: 0xcb
recv data[6]: 0xce
recv data[7]: 0xce
recv data[8]: 0xcc
recv data[9]: 0xcc
recv data[10]: 0xcd
recv data[11]: 0xcf
recv data[12]: 0xcd
recv data[13]: 0xcb
recv data[14]: 0xca
recv data[15]: 0xcc
recv data[16]: 0xca
recv data[17]: 0xc8
recv data[18]: 0xc6
recv data[19]: 0xc4
recv data[20]: 0xc3
recv data[21]: 0xc3
recv data[22]: 0xc0
recv data[23]: 0xbc
recv data[24]: 0xbb
recv data[25]: 0xb8
recv data[26]: 0xb4
recv data[27]: 0xcb
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xe6
recv data[9]: 0xb3
recv data[10]: 0x0
recv data[11]: 0x0
recv data[12]: 0x0
recv data[13]: 0xc9
recv data[14]: 0xf7
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xed
recv data[21]: 0xd0
recv data[22]: 0xca
recv data[23]: 0xcc
recv data[24]: 0xcb
recv data[25]: 0xc8
recv data[26]: 0xc6
recv data[27]: 0xc4
recv data[28]: 0xc1
recv data[29]: 0xbf
recv data[30]: 0xbe
recv_data[0] (status): 0x41
recv data[1]: 0xbf
recv data[2]: 0xc1
recv data[3]: 0xc1
recv data[4]: 0xc3
recv data[5]: 0xc5
recv data[6]: 0xc6
recv data[7]: 0xc9
recv data[8]: 0xcb
recv data[9]: 0xcc
recv data[10]: 0xcd
recv data[11]: 0xcc
recv data[12]: 0xcb
recv data[13]: 0xcb
recv data[14]: 0xcc
recv data[15]: 0xcd
recv data[16]: 0xcc
recv data[17]: 0xcd
recv data[18]: 0xca
recv data[19]: 0xca
recv data[20]: 0xc9
recv data[21]: 0xc7
recv data[22]: 0xc5
recv data[23]: 0xc4
recv data[24]: 0xc3
recv data[25]: 0xc1
recv data[26]: 0xbd
recv data[27]: 0xb9
recv data[28]: 0xb8
recv data[29]: 0xb6
recv data[30]: 0xb2
recv_data[0] (status): 0x41
recv data[1]: 0xc3
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xed
recv data[12]: 0xc1
recv data[13]: 0x0
recv data[14]: 0x0
recv data[15]: 0x0
recv data[16]: 0xb2
recv data[17]: 0xd4
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xf0
recv data[25]: 0xd1
recv data[26]: 0xca
recv data[27]: 0xd0
recv data[28]: 0xd1
recv data[29]: 0xcc
recv data[30]: 0xc7
recv_data[0] (status): 0x41
recv data[1]: 0xc5
recv data[2]: 0xc3
recv data[3]: 0xbf
recv data[4]: 0xbe
recv data[5]: 0xc2
recv data[6]: 0xc2
recv data[7]: 0xc0
recv data[8]: 0xc1
recv data[9]: 0xc3
recv data[10]: 0xc7
recv data[11]: 0xca
recv data[12]: 0xcc
recv data[13]: 0xcc
recv data[14]: 0xcc
recv data[15]: 0xcb
recv data[16]: 0xca
recv data[17]: 0xcb
recv data[18]: 0xcc
recv data[19]: 0xcc
recv data[20]: 0xcc
recv data[21]: 0xcd
recv data[22]: 0xcb
recv data[23]: 0xc9
recv data[24]: 0xc8
recv data[25]: 0xc7
recv data[26]: 0xc5
recv data[27]: 0xc3
recv data[28]: 0xc0
recv data[29]: 0xbd
recv data[30]: 0xba
recv_data[0] (status): 0x41
recv data[1]: 0xb8
recv data[2]: 0xb7
recv data[3]: 0xb6
recv data[4]: 0xb3
recv data[5]: 0xbb
recv data[6]: 0xe4
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xe6
recv data[15]: 0xc2
recv data[16]: 0x0
recv data[17]: 0x0
recv data[18]: 0x0
recv data[19]: 0xaf
recv data[20]: 0xc5
recv data[21]: 0xe6
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xf4
recv data[29]: 0xd3
recv data[30]: 0xcb
recv_data[0] (status): 0x41
recv data[1]: 0xd6
recv data[2]: 0xde
recv data[3]: 0xda
recv data[4]: 0xcf
recv data[5]: 0xc7
recv data[6]: 0xc2
recv data[7]: 0xbe
recv data[8]: 0xbd
recv data[9]: 0xbe
recv data[10]: 0xbe
recv data[11]: 0xbe
recv data[12]: 0xbf
recv data[13]: 0xc1
recv data[14]: 0xc4
recv data[15]: 0xc7
recv data[16]: 0xc9
recv data[17]: 0xca
recv data[18]: 0xcb
recv data[19]: 0xcb
recv data[20]: 0xcb
recv data[21]: 0xcc
recv data[22]: 0xcd
recv data[23]: 0xcd
recv data[24]: 0xcd
recv data[25]: 0xcc
recv data[26]: 0xcb
recv data[27]: 0xc9
recv data[28]: 0xc8
recv data[29]: 0xc7
recv data[30]: 0xc3
recv_data[0] (status): 0x41
recv data[1]: 0xc0
recv data[2]: 0xbd
recv data[3]: 0xba
recv data[4]: 0xb8
recv data[5]: 0xb8
recv data[6]: 0xb9
recv data[7]: 0xba
recv data[8]: 0xb8
recv data[9]: 0xbc
recv data[10]: 0xd4
recv data[11]: 0xe7
recv data[12]: 0xfb
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xf0
recv data[17]: 0xcd
recv data[18]: 0xb0
recv data[19]: 0x0
recv data[20]: 0xac
recv data[21]: 0xb0
recv data[22]: 0xb6
recv data[23]: 0xc1
recv data[24]: 0xd7
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xf9
recv data[3]: 0xd8
recv data[4]: 0xcd
recv data[5]: 0xd9
recv data[6]: 0xe4
recv data[7]: 0xe6
recv data[8]: 0xde
recv data[9]: 0xd1
recv data[10]: 0xc8
recv data[11]: 0xc3
recv data[12]: 0xbd
recv data[13]: 0xbc
recv data[14]: 0xbc
recv data[15]: 0xbd
recv data[16]: 0xbf
recv data[17]: 0xc1
recv data[18]: 0xc3
recv data[19]: 0xc5
recv data[20]: 0xc7
recv data[21]: 0xc8
recv data[22]: 0xc9
recv data[23]: 0xc9
recv data[24]: 0xcb
recv data[25]: 0xcc
recv data[26]: 0xcd
recv data[27]: 0xcd
recv data[28]: 0xcc
recv data[29]: 0xca
recv data[30]: 0xc8
recv_data[0] (status): 0x41
recv data[1]: 0xc7
recv data[2]: 0xc6
recv data[3]: 0xc6
recv data[4]: 0xc3
recv data[5]: 0xbf
recv data[6]: 0xbc
recv data[7]: 0xba
recv data[8]: 0xb8
recv data[9]: 0xb7
recv data[10]: 0xb8
recv data[11]: 0xbb
recv data[12]: 0xbe
recv data[13]: 0xc4
recv data[14]: 0xd1
recv data[15]: 0xc6
recv data[16]: 0xc0
recv data[17]: 0xbe
recv data[18]: 0xc5
recv data[19]: 0xbf
recv data[20]: 0xb0
recv data[21]: 0xa9
recv data[22]: 0xb1
recv data[23]: 0xbc
recv data[24]: 0xc2
recv data[25]: 0xc4
recv data[26]: 0xc7
recv data[27]: 0xd1
recv data[28]: 0xe9
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xfe
recv data[7]: 0xdd
recv data[8]: 0xcf
recv data[9]: 0xd8
recv data[10]: 0xe3
recv data[11]: 0xe5
recv data[12]: 0xe2
recv data[13]: 0xe0
recv data[14]: 0xdb
recv data[15]: 0xd2
recv data[16]: 0xbe
recv data[17]: 0xbb
recv data[18]: 0xbc
recv data[19]: 0xbd
recv data[20]: 0xc1
recv data[21]: 0xc2
recv data[22]: 0xc3
recv data[23]: 0xc4
recv data[24]: 0xc6
recv data[25]: 0xc7
recv data[26]: 0xc8
recv data[27]: 0xc9
recv data[28]: 0xc9
recv data[29]: 0xca
recv data[30]: 0xcb
recv_data[0] (status): 0x41
recv data[1]: 0xcc
recv data[2]: 0xca
recv data[3]: 0xc8
recv data[4]: 0xc7
recv data[5]: 0xc6
recv data[6]: 0xc5
recv data[7]: 0xc3
recv data[8]: 0xc2
recv data[9]: 0xc1
recv data[10]: 0xbe
recv data[11]: 0xba
recv data[12]: 0xb7
recv data[13]: 0xb7
recv data[14]: 0xb9
recv data[15]: 0xbf
recv data[16]: 0xc5
recv data[17]: 0xcb
recv data[18]: 0xd4
recv data[19]: 0xca
recv data[20]: 0xca
recv data[21]: 0xc9
recv data[22]: 0xc7
recv data[23]: 0xc3
recv data[24]: 0xc4
recv data[25]: 0xcc
recv data[26]: 0xd3
recv data[27]: 0xd5
recv data[28]: 0xd4
recv data[29]: 0xd3
recv data[30]: 0xd5
recv_data[0] (status): 0x41
recv data[1]: 0xe5
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xe3
recv data[12]: 0xd1
recv data[13]: 0xd6
recv data[14]: 0xe2
recv data[15]: 0xe5
recv data[16]: 0xe3
recv data[17]: 0xe2
recv data[18]: 0xd6
recv data[19]: 0xd3
recv data[20]: 0xbf
recv data[21]: 0xc4
recv data[22]: 0xc4
recv data[23]: 0xbf
recv data[24]: 0xbf
recv data[25]: 0xc1
recv data[26]: 0xc4
recv data[27]: 0xc6
recv data[28]: 0xc8
recv data[29]: 0xcb
recv data[30]: 0xcd
recv_data[0] (status): 0x41
recv data[1]: 0xcd
recv data[2]: 0xcc
recv data[3]: 0xce
recv data[4]: 0xcf
recv data[5]: 0xcd
recv data[6]: 0xcb
recv data[7]: 0xc8
recv data[8]: 0xc7
recv data[9]: 0xc6
recv data[10]: 0xc6
recv data[11]: 0xc6
recv data[12]: 0xc6
recv data[13]: 0xcb
recv data[14]: 0xca
recv data[15]: 0xc0
recv data[16]: 0xb8
recv data[17]: 0xb7
recv data[18]: 0xb9
recv data[19]: 0xbd
recv data[20]: 0xc3
recv data[21]: 0xc9
recv data[22]: 0xcf
recv data[23]: 0xcf
recv data[24]: 0xd1
recv data[25]: 0xd4
recv data[26]: 0xd3
recv data[27]: 0xd6
recv data[28]: 0xdd
recv data[29]: 0xe3
recv data[30]: 0xe5
recv_data[0] (status): 0x41
recv data[1]: 0xe3
recv data[2]: 0xdf
recv data[3]: 0xdc
recv data[4]: 0xe4
recv data[5]: 0xfc
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xe8
recv data[16]: 0xd0
recv data[17]: 0xd3
recv data[18]: 0xe1
recv data[19]: 0xe6
recv data[20]: 0xe5
recv data[21]: 0xe7
recv data[22]: 0xe0
recv data[23]: 0xe3
recv data[24]: 0xc6
recv data[25]: 0xd2
recv data[26]: 0xcf
recv data[27]: 0xc7
recv data[28]: 0xc3
recv data[29]: 0xcb
recv data[30]: 0xd9
recv_data[0] (status): 0x41
recv data[1]: 0xdc
recv data[2]: 0xdc
recv data[3]: 0xde
recv data[4]: 0xdb
recv data[5]: 0xd4
recv data[6]: 0xd9
recv data[7]: 0xe5
recv data[8]: 0xe3
recv data[9]: 0xd2
recv data[10]: 0xd0
recv data[11]: 0xce
recv data[12]: 0xc8
recv data[13]: 0xc9
recv data[14]: 0xd0
recv data[15]: 0xd7
recv data[16]: 0xd3
recv data[17]: 0xd4
recv data[18]: 0xd0
recv data[19]: 0xc2
recv data[20]: 0xb8
recv data[21]: 0xb6
recv data[22]: 0xb8
recv data[23]: 0xbc
recv data[24]: 0xc1
recv data[25]: 0xc5
recv data[26]: 0xcb
recv data[27]: 0xd5
recv data[28]: 0xd9
recv data[29]: 0xe2
recv data[30]: 0xe7
recv_data[0] (status): 0x41
recv data[1]: 0xec
recv data[2]: 0xf0
recv data[3]: 0xf0
recv data[4]: 0xed
recv data[5]: 0xe8
recv data[6]: 0xe4
recv data[7]: 0xe8
recv data[8]: 0xfc
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xed
recv data[20]: 0xd0
recv data[21]: 0xce
recv data[22]: 0xdb
recv data[23]: 0xe8
recv data[24]: 0xee
recv data[25]: 0xeb
recv data[26]: 0xe0
recv data[27]: 0xe9
recv data[28]: 0xd3
recv data[29]: 0xe3
recv data[30]: 0xdb
recv_data[0] (status): 0x41
recv data[1]: 0xdf
recv data[2]: 0xde
recv data[3]: 0xd2
recv data[4]: 0xd3
recv data[5]: 0xd8
recv data[6]: 0xdd
recv data[7]: 0xe2
recv data[8]: 0xe1
recv data[9]: 0xdd
recv data[10]: 0xe2
recv data[11]: 0xe7
recv data[12]: 0xdd
recv data[13]: 0xd7
recv data[14]: 0xdf
recv data[15]: 0xe6
recv data[16]: 0xe9
recv data[17]: 0xe0
recv data[18]: 0xdc
recv data[19]: 0xdd
recv data[20]: 0xd7
recv data[21]: 0xd7
recv data[22]: 0xd2
recv data[23]: 0xc4
recv data[24]: 0xb9
recv data[25]: 0xb7
recv data[26]: 0xb6
recv data[27]: 0xb6
recv data[28]: 0xb6
recv data[29]: 0xbe
recv data[30]: 0xc6
recv_data[0] (status): 0x41
recv data[1]: 0xd7
recv data[2]: 0xe4
recv data[3]: 0xee
recv data[4]: 0xf3
recv data[5]: 0xf5
recv data[6]: 0xf6
recv data[7]: 0xf5
recv data[8]: 0xf0
recv data[9]: 0xeb
recv data[10]: 0xf0
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xf2
recv data[24]: 0xd2
recv data[25]: 0xca
recv data[26]: 0xd0
recv data[27]: 0xd7
recv data[28]: 0xdc
recv data[29]: 0xdd
recv data[30]: 0xdc
recv_data[0] (status): 0x41
recv data[1]: 0xe9
recv data[2]: 0xd5
recv data[3]: 0xe5
recv data[4]: 0xd4
recv data[5]: 0xda
recv data[6]: 0xe1
recv data[7]: 0xd9
recv data[8]: 0xdb
recv data[9]: 0xde
recv data[10]: 0xdf
recv data[11]: 0xe2
recv data[12]: 0xe4
recv data[13]: 0xe4
recv data[14]: 0xe8
recv data[15]: 0xe3
recv data[16]: 0xda
recv data[17]: 0xe2
recv data[18]: 0xea
recv data[19]: 0xd9
recv data[20]: 0xe2
recv data[21]: 0xe1
recv data[22]: 0xde
recv data[23]: 0xdd
recv data[24]: 0xda
recv data[25]: 0xd9
recv data[26]: 0xd0
recv data[27]: 0xc0
recv data[28]: 0xb6
recv data[29]: 0xb5
recv data[30]: 0xb4
recv_data[0] (status): 0x41
recv data[1]: 0xb0
recv data[2]: 0xad
recv data[3]: 0xb6
recv data[4]: 0xbc
recv data[5]: 0xc9
recv data[6]: 0xe1
recv data[7]: 0xee
recv data[8]: 0xf3
recv data[9]: 0xf4
recv data[10]: 0xf2
recv data[11]: 0xed
recv data[12]: 0xf0
recv data[13]: 0xfe
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xf8
recv data[28]: 0xd6
recv data[29]: 0xca
recv data[30]: 0xcc
recv_data[0] (status): 0x41
recv data[1]: 0xcc
recv data[2]: 0xcb
recv data[3]: 0xcb
recv data[4]: 0xd1
recv data[5]: 0xdd
recv data[6]: 0xcc
recv data[7]: 0xdf
recv data[8]: 0xd6
recv data[9]: 0xda
recv data[10]: 0xe2
recv data[11]: 0xda
recv data[12]: 0xde
recv data[13]: 0xe1
recv data[14]: 0xdf
recv data[15]: 0xe2
recv data[16]: 0xe3
recv data[17]: 0xe4
recv data[18]: 0xe9
recv data[19]: 0xe6
recv data[20]: 0xdf
recv data[21]: 0xe5
recv data[22]: 0xec
recv data[23]: 0xe3
recv data[24]: 0xdc
recv data[25]: 0xd5
recv data[26]: 0xd9
recv data[27]: 0xe0
recv data[28]: 0xe1
recv data[29]: 0xdc
recv data[30]: 0xcc
recv_data[0] (status): 0x41
recv data[1]: 0xba
recv data[2]: 0xb3
recv data[3]: 0xb3
recv data[4]: 0xb3
recv data[5]: 0xb2
recv data[6]: 0xbb
recv data[7]: 0xd8
recv data[8]: 0xde
recv data[9]: 0xdf
recv data[10]: 0xea
recv data[11]: 0xee
recv data[12]: 0xf0
recv data[13]: 0xf3
recv data[14]: 0xfb
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xfe
recv data[2]: 0xdd
recv data[3]: 0xcb
recv data[4]: 0xca
recv data[5]: 0xca
recv data[6]: 0xc6
recv data[7]: 0xc4
recv data[8]: 0xc4
recv data[9]: 0xc5
recv data[10]: 0xc0
recv data[11]: 0xc9
recv data[12]: 0xd6
recv data[13]: 0xe2
recv data[14]: 0xe6
recv data[15]: 0xdb
recv data[16]: 0xdc
recv data[17]: 0xde
recv data[18]: 0xdd
recv data[19]: 0xdf
recv data[20]: 0xde
recv data[21]: 0xda
recv data[22]: 0xe0
recv data[23]: 0xe8
recv data[24]: 0xe6
recv data[25]: 0xe1
recv data[26]: 0xe8
recv data[27]: 0xe2
recv data[28]: 0xe0
recv data[29]: 0xcf
recv data[30]: 0xc9
recv_data[0] (status): 0x41
recv data[1]: 0xce
recv data[2]: 0xd5
recv data[3]: 0xd2
recv data[4]: 0xc4
recv data[5]: 0xb7
recv data[6]: 0xb2
recv data[7]: 0xb2
recv data[8]: 0xb5
recv data[9]: 0xcb
recv data[10]: 0xf3
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xe5
recv data[7]: 0xcd
recv data[8]: 0xc9
recv data[9]: 0xc9
recv data[10]: 0xc5
recv data[11]: 0xc3
recv data[12]: 0xc1
recv data[13]: 0xbd
recv data[14]: 0xba
recv data[15]: 0xbc
recv data[16]: 0xcd
recv data[17]: 0xdb
recv data[18]: 0xe0
recv data[19]: 0xd3
recv data[20]: 0xcf
recv data[21]: 0xd0
recv data[22]: 0xd1
recv data[23]: 0xd3
recv data[24]: 0xd2
recv data[25]: 0xcc
recv data[26]: 0xd1
recv data[27]: 0xdf
recv data[28]: 0xe2
recv data[29]: 0xd2
recv data[30]: 0xd3
recv_data[0] (status): 0x41
recv data[1]: 0xce
recv data[2]: 0xc9
recv data[3]: 0xc3
recv data[4]: 0xc2
recv data[5]: 0xc4
recv data[6]: 0xc2
recv data[7]: 0xbe
recv data[8]: 0xb8
recv data[9]: 0xb4
recv data[10]: 0xb2
recv data[11]: 0xb2
recv data[12]: 0xb8
recv data[13]: 0xd9
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xf2
recv data[11]: 0xd3
recv data[12]: 0xc8
recv data[13]: 0xc7
recv data[14]: 0xc4
recv data[15]: 0xc2
recv data[16]: 0xc0
recv data[17]: 0xbd
recv data[18]: 0xb9
recv data[19]: 0xb7
recv data[20]: 0xbd
recv data[21]: 0xc7
recv data[22]: 0xce
recv data[23]: 0xc7
recv data[24]: 0xc1
recv data[25]: 0xc0
recv data[26]: 0xc1
recv data[27]: 0xc2
recv data[28]: 0xc3
recv data[29]: 0xc3
recv data[30]: 0xc7
recv_data[0] (status): 0x41
recv data[1]: 0xd4
recv data[2]: 0xdc
recv data[3]: 0xcc
recv data[4]: 0xc6
recv data[5]: 0xc4
recv data[6]: 0xbf
recv data[7]: 0xbe
recv data[8]: 0xbe
recv data[9]: 0xbd
recv data[10]: 0xba
recv data[11]: 0xb6
recv data[12]: 0xb4
recv data[13]: 0xb3
recv data[14]: 0xb2
recv data[15]: 0xb3
recv data[16]: 0xc1
recv data[17]: 0xe7
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xe0
recv data[16]: 0xcb
recv data[17]: 0xc6
recv data[18]: 0xc4
recv data[19]: 0xc2
recv data[20]: 0xbf
recv data[21]: 0xbb
recv data[22]: 0xb8
recv data[23]: 0xb6
recv data[24]: 0xb6
recv data[25]: 0xb8
recv data[26]: 0xbc
recv data[27]: 0xbd
recv data[28]: 0xbc
recv data[29]: 0xbb
recv data[30]: 0xbb
recv_data[0] (status): 0x41
recv data[1]: 0xbc
recv data[2]: 0xbd
recv data[3]: 0xc0
recv data[4]: 0xc3
recv data[5]: 0xce
recv data[6]: 0xd9
recv data[7]: 0xca
recv data[8]: 0xc3
recv data[9]: 0xc2
recv data[10]: 0xbe
recv data[11]: 0xbc
recv data[12]: 0xbc
recv data[13]: 0xbb
recv data[14]: 0xb8
recv data[15]: 0xb5
recv data[16]: 0xb5
recv data[17]: 0xb4
recv data[18]: 0xb2
recv data[19]: 0xb7
recv data[20]: 0xd2
recv data[21]: 0xfd
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xf3
recv data[20]: 0xd4
recv data[21]: 0xc6
recv data[22]: 0xc3
recv data[23]: 0xc2
recv data[24]: 0xc0
recv data[25]: 0xbc
recv data[26]: 0xb9
recv data[27]: 0xb6
recv data[28]: 0xb7
recv data[29]: 0xb4
recv data[30]: 0xb5
recv_data[0] (status): 0x41
recv data[1]: 0xb9
recv data[2]: 0xbb
recv data[3]: 0xbb
recv data[4]: 0xba
recv data[5]: 0xbb
recv data[6]: 0xbc
recv data[7]: 0xbf
recv data[8]: 0xc3
recv data[9]: 0xcf
recv data[10]: 0xdc
recv data[11]: 0xcb
recv data[12]: 0xc2
recv data[13]: 0xc2
recv data[14]: 0xbd
recv data[15]: 0xbd
recv data[16]: 0xbc
recv data[17]: 0xbd
recv data[18]: 0xba
recv data[19]: 0xb6
recv data[20]: 0xb5
recv data[21]: 0xb4
recv data[22]: 0xb4
recv data[23]: 0xc3
recv data[24]: 0xe9
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xea
recv data[25]: 0xcf
recv data[26]: 0xc3
recv data[27]: 0xc2
recv data[28]: 0xc1
recv data[29]: 0xbc
recv data[30]: 0xb9
recv_data[0] (status): 0x41
recv data[1]: 0xb7
recv data[2]: 0xb9
recv data[3]: 0xb5
recv data[4]: 0xb4
recv data[5]: 0xb6
recv data[6]: 0xb7
recv data[7]: 0xb8
recv data[8]: 0xb8
recv data[9]: 0xb9
recv data[10]: 0xbc
recv data[11]: 0xbf
recv data[12]: 0xc3
recv data[13]: 0xcf
recv data[14]: 0xdc
recv data[15]: 0xca
recv data[16]: 0xc1
recv data[17]: 0xbf
recv data[18]: 0xbb
recv data[19]: 0xbb
recv data[20]: 0xbc
recv data[21]: 0xbe
recv data[22]: 0xbb
recv data[23]: 0xb6
recv data[24]: 0xb3
recv data[25]: 0xb2
recv data[26]: 0xbd
recv data[27]: 0xde
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xe8
recv data[30]: 0xce
recv_data[0] (status): 0x41
recv data[1]: 0xc1
recv data[2]: 0xbf
recv data[3]: 0xbd
recv data[4]: 0xb9
recv data[5]: 0xb7
recv data[6]: 0xb6
recv data[7]: 0xb4
recv data[8]: 0xb3
recv data[9]: 0xb4
recv data[10]: 0xb4
recv data[11]: 0xb5
recv data[12]: 0xb6
recv data[13]: 0xb7
recv data[14]: 0xb9
recv data[15]: 0xbc
recv data[16]: 0xc0
recv data[17]: 0xcd
recv data[18]: 0xda
recv data[19]: 0xc9
recv data[20]: 0xbf
recv data[21]: 0xbd
recv data[22]: 0xba
recv data[23]: 0xb8
recv data[24]: 0xb8
recv data[25]: 0xba
recv data[26]: 0xb6
recv data[27]: 0xb0
recv data[28]: 0xad
recv data[29]: 0xb7
recv data[30]: 0xd7
recv_data[0] (status): 0x41
recv data[1]: 0xfd
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xe9
recv data[5]: 0xcb
recv data[6]: 0xbd
recv data[7]: 0xbc
recv data[8]: 0xb9
recv data[9]: 0xb5
recv data[10]: 0xb3
recv data[11]: 0xb2
recv data[12]: 0xb2
recv data[13]: 0xb3
recv data[14]: 0xb4
recv data[15]: 0xb4
recv data[16]: 0xb4
recv data[17]: 0xb5
recv data[18]: 0xb7
recv data[19]: 0xb9
recv data[20]: 0xbe
recv data[21]: 0xca
recv data[22]: 0xd6
recv data[23]: 0xc7
recv data[24]: 0xbd
recv data[25]: 0xbd
recv data[26]: 0xb9
recv data[27]: 0xb7
recv data[28]: 0xb5
recv data[29]: 0xb1
recv data[30]: 0xad
recv_data[0] (status): 0x41
recv data[1]: 0xaa
recv data[2]: 0xb4
recv data[3]: 0xd2
recv data[4]: 0xf9
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xec
recv data[10]: 0xca
recv data[11]: 0xb8
recv data[12]: 0xb3
recv data[13]: 0xb3
recv data[14]: 0xb0
recv data[15]: 0xb0
recv data[16]: 0xb3
recv data[17]: 0xb5
recv data[18]: 0xb5
recv data[19]: 0xb4
recv data[20]: 0xb3
recv data[21]: 0xb4
recv data[22]: 0xb5
recv data[23]: 0xb8
recv data[24]: 0xbc
recv data[25]: 0xc3
recv data[26]: 0xca
recv data[27]: 0xc4
recv data[28]: 0xbb
recv data[29]: 0xba
recv data[30]: 0xb5
recv_data[0] (status): 0x41
recv data[1]: 0xb4
recv data[2]: 0xb2
recv data[3]: 0xaa
recv data[4]: 0x0
recv data[5]: 0xb5
recv data[6]: 0xd6
recv data[7]: 0xfb
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xf6
recv data[15]: 0xd1
recv data[16]: 0xba
recv data[17]: 0xb3
recv data[18]: 0x0
recv data[19]: 0x0
recv data[20]: 0xb1
recv data[21]: 0xb7
recv data[22]: 0xb7
recv data[23]: 0xb3
recv data[24]: 0xb1
recv data[25]: 0xb1
recv data[26]: 0xb3
recv data[27]: 0xb5
recv data[28]: 0xb7
recv data[29]: 0xbb
recv data[30]: 0xbe
recv_data[0] (status): 0x41
recv data[1]: 0xbc
recv data[2]: 0xb6
recv data[3]: 0xb5
recv data[4]: 0xad
recv data[5]: 0x0
recv data[6]: 0x0
recv data[7]: 0x0
recv data[8]: 0xbd
recv data[9]: 0xe4
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xed
recv data[21]: 0xc3
recv data[22]: 0xac
recv data[23]: 0x0
recv data[24]: 0x0
recv data[25]: 0xac
recv data[26]: 0xae
recv data[27]: 0xaa
recv data[28]: 0x0
recv data[29]: 0xaa
recv data[30]: 0xad
recv_data[0] (status): 0x41
recv data[1]: 0xad
recv data[2]: 0xac
recv data[3]: 0xb2
recv data[4]: 0xba
recv data[5]: 0xb8
recv data[6]: 0xab
recv data[7]: 0x0
recv data[8]: 0x0
recv data[9]: 0x0
recv data[10]: 0xa9
recv data[11]: 0xca
recv data[12]: 0xf4
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xf8
recv data[27]: 0xde
recv data[28]: 0xbe
recv data[29]: 0x0
recv data[30]: 0x0
recv_data[0] (status): 0x41
recv data[1]: 0x0
recv data[2]: 0x0
recv data[3]: 0x0
recv data[4]: 0x0
recv data[5]: 0x0
recv data[6]: 0x0
recv data[7]: 0x0
recv data[8]: 0x0
recv data[9]: 0x0
recv data[10]: 0x0
recv data[11]: 0x0
recv data[12]: 0xbb
recv data[13]: 0xda
recv data[14]: 0xf6
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xf7
recv data[4]: 0xdd
recv data[5]: 0xcf
recv data[6]: 0xc6
recv data[7]: 0xb8
recv data[8]: 0xaa
recv data[9]: 0x0
recv data[10]: 0x0
recv data[11]: 0xb4
recv data[12]: 0xca
recv data[13]: 0xdc
recv data[14]: 0xed
recv data[15]: 0xff
recv data[16]: 0xff
recv data[17]: 0xff
recv data[18]: 0xff
recv data[19]: 0xff
recv data[20]: 0xff
recv data[21]: 0xff
recv data[22]: 0xff
recv data[23]: 0xff
recv data[24]: 0xff
recv data[25]: 0xff
recv data[26]: 0xff
recv data[27]: 0xff
recv data[28]: 0xff
recv data[29]: 0xff
recv data[30]: 0xff
recv_data[0] (status): 0x41
recv data[1]: 0xff
recv data[2]: 0xff
recv data[3]: 0xff
recv data[4]: 0xff
recv data[5]: 0xff
recv data[6]: 0xff
recv data[7]: 0xff
recv data[8]: 0xff
recv data[9]: 0xff
recv data[10]: 0xff
recv data[11]: 0xff
recv data[12]: 0xff
recv data[13]: 0xff
recv data[14]: 0xff
recv data[15]:
0xff
recv data[16]: 0xff
y eventualmente la imagen transformada con un umbral de 168 completado en este demo se muestra con gnuplot,
gnuplot --persist -e "set palette gray; set yrange [] reverse; set cbrange [0:255]; set palette defined (0 \"black\", 255 \"white\"); plot \"output.dat\" matrix w image noti"
Un nivel de umbral de 240 fue usado en este caso img_proc->send_threshold(240, 0, 0), y el proceso del demo descrito previamente fue repetido, el resultado es el siguiente,
La imagen transformada por la plataforma Lattice ICE40 FPGA UltraPlus Breakout Board se ve dramáticamente distinta (El logo de DigiKey logo no se puede distinguir) en comparación al previo nivel.
En el próximo artículo estaremos describiendo mas demos de procesamiento de imágenes y mas detalles, mantengase sintonizado. La plataforma de Lattice ICE40 FPGA UltraPlus Breakout Board es una excelente, de bajo costo, pero suficientemente potente para realizar estos tipos de procesamientos de imágines, y está disponible en DigiKey.
Que tenga un buen día.



