From 3d1e4b2ef20673520e6aead26e5c7084245ae17b Mon Sep 17 00:00:00 2001 From: t-moe Date: Sat, 25 Apr 2015 00:40:23 +0200 Subject: [PATCH] Simplified code a bit. Emulator does not work stable when replugging pixy. --- common/app/app.c | 4 ++++ common/lowlevel/ll_system.h | 2 +- common/system/system.c | 6 +++--- common/system/system.h | 1 + discovery/src/ll_system.c | 6 ++++++ discovery/src/main.c | 12 ------------ discovery/src/usbh_msc_core.c | 1 - discovery/src/usbh_usr.c | 36 +++------------------------------- doc/docu.odt | Bin 27602 -> 27627 bytes emulator/qt/ll_system.cpp | 6 ++++++ emulator/qt/main.cpp | 1 - 11 files changed, 24 insertions(+), 51 deletions(-) diff --git a/common/app/app.c b/common/app/app.c index 7b77c00..f2eba65 100644 --- a/common/app/app.c +++ b/common/app/app.c @@ -29,6 +29,10 @@ int pixy_frame_test(); //app event loop void app_process() { + + system_process(); //Let the system handle it's pending events + + //Note: The only way to detect that pixy has been disconnected is if a command fails. There's no pixy_is_connected method yet :'( if(!pixy_connected) { //Pixy not connected diff --git a/common/lowlevel/ll_system.h b/common/lowlevel/ll_system.h index b845260..941851c 100644 --- a/common/lowlevel/ll_system.h +++ b/common/lowlevel/ll_system.h @@ -3,4 +3,4 @@ bool ll_system_init(); void ll_system_delay(uint32_t msec); - +void ll_system_process(); diff --git a/common/system/system.c b/common/system/system.c index 6cb0887..af02005 100644 --- a/common/system/system.c +++ b/common/system/system.c @@ -6,10 +6,10 @@ bool system_init() { return ll_system_init(); } - - void system_delay(uint32_t msec) { ll_system_delay(msec); } - +void system_process() { + ll_system_process(); +} diff --git a/common/system/system.h b/common/system/system.h index 9513dd2..3f5b62f 100644 --- a/common/system/system.h +++ b/common/system/system.h @@ -3,3 +3,4 @@ bool system_init(); void system_delay(uint32_t msec); +void system_process(); diff --git a/discovery/src/ll_system.c b/discovery/src/ll_system.c index db5307e..7e79037 100644 --- a/discovery/src/ll_system.c +++ b/discovery/src/ll_system.c @@ -55,6 +55,12 @@ bool ll_system_init(void) return true; } +void ll_system_process() { + USBH_Process(&USB_OTG_Core, &USB_Host); +} + + + void ll_system_delay(uint32_t msec) { USB_OTG_BSP_mDelay(msec); } diff --git a/discovery/src/main.c b/discovery/src/main.c index 4b6880d..4429e45 100644 --- a/discovery/src/main.c +++ b/discovery/src/main.c @@ -1,23 +1,11 @@ #include "app.h" - - -#include "usb_hcd_int.h" -#include "usbh_usr.h" -#include "usbh_core.h" -#include "usbh_msc_core.h" - - -extern USB_OTG_CORE_HANDLE USB_OTG_Core; -extern USBH_HOST USB_Host; - int main(void) { app_init(); while (1) { - USBH_Process(&USB_OTG_Core, &USB_Host); app_process(); } diff --git a/discovery/src/usbh_msc_core.c b/discovery/src/usbh_msc_core.c index a985091..28d99e6 100644 --- a/discovery/src/usbh_msc_core.c +++ b/discovery/src/usbh_msc_core.c @@ -181,7 +181,6 @@ int USBH_LL_open() { } - //moved to common cnt_int=0; while(cnt_int #include -//#include "pixy.h" - USBH_Usr_cb_TypeDef USR_Callbacks = @@ -55,9 +53,9 @@ void USBH_USR_DeviceAttached(void) serial_ok=false; - STM_EVAL_LEDOff(LED5); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOn(LED4); + STM_EVAL_LEDOff(LED5); + STM_EVAL_LEDOff(LED3); + STM_EVAL_LEDOn(LED4); } /** @@ -144,7 +142,6 @@ void USBH_USR_Configuration_DescAvailable(USBH_CfgDesc_TypeDef * cfgDesc, void USBH_USR_Manufacturer_String(void *ManufacturerString) { manufacturer_ok = strcmp((char*)ManufacturerString,"Charmed Labs") == 0; - /* callback for Manufacturer String */ } /** @@ -155,7 +152,6 @@ void USBH_USR_Manufacturer_String(void *ManufacturerString) void USBH_USR_Product_String(void *ProductString) { product_ok = strcmp((char*)ProductString,"Pixy") == 0; - /* callback for Product String */ } /** @@ -166,7 +162,6 @@ void USBH_USR_Product_String(void *ProductString) void USBH_USR_SerialNum_String(void *SerialNumString) { serial_ok = strcmp((char*)SerialNumString,"DEMO 0.0") == 0; - /* callback for SerialNum_String */ } /** @@ -220,26 +215,8 @@ void USBH_USR_OverCurrentDetected (void) * @param None * @retval Staus */ - -/*int colorind; -const uint32_t colors [] = {0xFF0000, 0x00FF00,0x0000FF,0xFFFF00,0x00FFFF,0xFF00FF,0xFFFFFF,0x000000}; -const int num_colors = sizeof(colors)/sizeof(uint32_t); -*/ - int USBH_USR_MSC_Application(void) { - -/* if(colorind==0) { - pixy_led_set_max_current(5); - } - - int32_t response; - int return_value; - return_value = pixy_command("led_set", INT32(colors[colorind++]), END_OUT_ARGS, &response, END_IN_ARGS); - colorind%=num_colors; - USB_OTG_BSP_mDelay(500); -*/ - return 0; } @@ -254,10 +231,3 @@ void USBH_USR_DeInit(void) } -/** - * @} - */ - - - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/doc/docu.odt b/doc/docu.odt index bde0c51464a9334e55898d28faa50cfe37845f0e..d1598e476502c93d60882c0a7039e069ce00a8b8 100644 GIT binary patch delta 9392 zcmZ8n1yEf{v&P+BgL`myhoHgT-QDd3_aGMyT-<}Z6D$OGxVQy}Ab~)Fy=4F0|LuEI z)ivEc(>*PxYEIRBbIZ`D%h2d*O0aNvP*6xvQ0L8ADd>u@zo!NRFv_19^a~}3=K_jL z&pem#3z>X@BgE`|wRr>=JuESlni3+?H5o;{4-^#C=x_RuA0#BCKYl>fsIPz(k2QhL zUh%h~8q3P1p4E{>1Zx{tX<%m!u=3&1RHde8aoC$T16lD1w5)5o-zh!6bxzUTXm9PS z{8E_0d{@$Lx5LayUe4T#3?u#we}DM`x!*JWrUJWxeW11$FsmWdLqMHjbGq=M&n~#v ze_qV_X@6Hdq}i6cD#deSNdyGwxfnLF5{A$)Itw0NpT}p6RC|&NF9^2PE983W3b$nr zp(ujoJ@ex`t>X5?h_d73CuZl^I((Z54*V^xuXq9{sXd#Ur!JWt&GQJ;NLa<1nh1J* z6Mjq})Z{3g&A}1gA+)%dHWSo#iCp;Te$=)t^>O06V79fjHNN7r(nAHlvx?fp78EwwOR_TPv7qrDhi!(H8y9HGTUU3bMzZLCAUR7lB{(J1Ef}9 zZsV;ie29A2%x&Rb%LSu;@Nyj0&u<9s8FpAO1b6t@*+uOgO~AXk(`ylP{wVrJ1b;rv zk;3eAeM-0l<6fB2r&NwHQ*&uN;Ux8#)__4ai8+ccYCMZ~s z>Sz1@C0;>6W(UE19^IahU#}H7q47TKReUS^;r6|9e5>W>B@*mAQ_UgPqc%1e3W?q5 zd30QxZPaF4JsQ9nY!~HuRXlXfK|E?Zbr-+HVxviJY&kAj_l3Oml8n2m8OzL1ZJ^}y zVEj`4)tpZVB+Izhp-@k>TPslY^$f~(VpGxk`IB!4`v^CO1$`;_zpQc~t79_Mrco!^ zZ(YHb3dZON5yEDsHxZ)M#!`Hiu+oyh#7330derw9NsoYj_gH=GeAjw&h)TeqeQ<&IXNv5j>6DbOYiPD+Z*4J?->sxA{ z!8O%F90?(rb5#vh=b6W~m@Oa{S=$*A+S-P19eVPC5 zd~n9%R3!k@y>I=s%0mvXg zIWjx#yaL{4h2lc(pE`xw{$VA_U=gkV3bY5LGhF$K#Uy7&$AbVC`U$npZG6n;#nul;qYc!?;21 z<8-Hul;;}N$X2u)aOd)ApooZxPR<`plQ6-nBg~7;6yIR5e_p8+T3s%Y$s@DCBb6VI zp;}XFaaLsF+s(kX6cWifC-t%Zvqa(x`>liaNiBj`*in$WmP)NYvofLp2Usht6;a|s zpioEkUF^bCs!(eOBvU0hd{2i4<1;We$tmb8FTSQstIA+wBXo8_Cac<{-b-k?0`RK+ z44ajrJ40Myu4|fHO~gAb6AG`s6Oeo>c4A)4@x8~-YD<3E$>FJOHP}!uP0ndZnGRSr zr9z}0Fny5-c>R?+?U1`p99Uxi3j2qv{(6The2x|nQMcWomI$ve{&I9A}@ zF8;g{lXGLGK84~bl+J$)A{AtrIDVegQ!F2l(^{Kl+vK>%=h{DfTi_h(p${czC@= zUnh9`yK2%5`j7;%)kj8;l6F1OH@0syVpJ&T54?tzO)-i~SFHyVKZ|_nG;8HIg?iwC znkE(xe$`f)`)%E-bQeJ=%vr_?}e3LMBOMl9)>8tG|Qa?6s%U2LZFGayv-1O3h_s7%^Y21fxTkcupFV z#zeDs!IbOO4CgqnSjp~S`9XJ^psf^G&+-8AmM+uToMRgZGapYGLw_U7RkP*b?m1ln zogPzKSZ<=xm9AWQDjNw8wuf$`y^3SRzlf-j(KeO>X9(0fjVeAj~T}|*&oAR_y^jfPHiA| z#CNgJB2z8Emz`uFVCMbcDeYWrYN{%@G?Zes^^jzN8j8%fTUs)i%0#KBmm6(5l#lKP z!m6MQC$V4YM%ep0MfX~V*SzuEz;KMZf%1K4(DVe$i5;I;99<7^$@JP6FOE$DzIt5S zJ&<5CHk0{)-$5aLg-zso^K}Avjzxx@5$SdMQic#vaO|f{)95B8smRVK%L-m^GiI}2 zqocQ*r?daYr)tpKL;!IkpP8U3TpcKSUk6sCoSfR1LVx7rxd0<+|uRm)ct@6jVf2kB*O?j3AH6CyeA1LsKRyA>q-C$~Rm;w2AFrv&moAF%J2i-61NVbBgz?fo zx%v{=qsrN^8*Hi2=YM$(`2eM2i!^B#B&4?Z?1o$N*)T2$kS9OE>FE*OiVS08brKPv zb^5V^x=4s(dX_)O#4z7Zkp1h3wW(al{b-%}b%udnb$|UU&0Ar!>ixNbHVYDfi+W{S zBK7v+DaI=2AP*&eNq%{^b-VZtZ-o*w{>H?5aSTtDQVDctgQzn$wu2u>q3S7)LySp3 zkqp=hS0u~Mp^j}&Vjxs z+$P~Kv(r3m^31oGR-Fw+s(AZ=6XXt%1M$O{o z9a@q_TJ?ZSp6=FTLOeceLe5OvhVEem`;xQ?b}KESPoWBzeU+!=+f733Un**5v!qAOs= ztsNO1lR-<=P9V+hi2uu8;TzE}0&rIAXY{X>xk_IJk->-^z@#2U^cX2Xy07bv(fO?g z`92TRd&AFqIxOdz+BvKNZS*z``xN>#HeGgx?EIoSn9y*)8 z5Wktd_%golxB6l5Ih#Z$LF{LWL+wb+ymmke@U&U_xOa25 zfBNjl)2kt@3g1ntz5)WhpaU>%|_|G=h-0@{ZOD=VG#yDUr7$XKImIl0& zG>yO1<+*zghFrq~6t?Ecksq7`ySioO}cJmqeQ))VELrbVACA-cO%;5Fp#}xce)kN9V9^!Hs z_iTP)wddJg0|}Q8^Jp@xz%K&-MhFc(&m(!L_a2ulE9slm#jjuTA5DwBW;%Z%pM2K zP=;xUd*o+eKxw9VHk6v`t3D1j9jcU5e<2Ol*$3A;cjHj8DY6!9S%J4AOtpl4||riWDtGdD~}=Tf!%VT!Oe;yzs>U>TmSr{)Kmtqoiqk-T>C+kB72r}8b>sfXN1Evo(~$bL1{sQuK5+L(obj1#(?+O zX}k53+z)=AVZdcb^B$KaYm{gZLB=v-sh%>?8{V#E|qc4D?;rQ%=)8ZnCZ1`+M4wHWc=egp|-l*Z$+N)rkMz* zH;}PoJOp)E;?FWL&d|P=#ySiLA$|wySP6LZOed_PXGL-V7yS;~#@iYM$JN<5 zrlYGfx(Qh!t#-4EL~f%qmhm1LBgzzXCg^k@u49oDcj2enY-^%h<~Uk9mDmR zZHge=5JeRwz>*vH`RnE>dNR&9pupYR9cD5bxPif!ufGJ>(q6lN=BBpXLj9zD*qJd8 z&Vm&Sdoj@GuAT;1%ORftcrVt2?(47*k{r0biCi#Sa_iy-5g4W~d2STuDyJrbk~@Ra zH#@x)!MMSUx-Y4lxHJQwMmtkMaaG%y;}(uCL;DGF#OYl0Uo)(?uM@6-E}wA@ofL<% z1>P%ccd3TdTHd+Ms_8>2_(`guIOFGa&S z3MxqHs@}zd74oydhARv@8R8O^I>wv=%z%JrXW(&+DP)5a#aUz$0RiG0CF#Jv98 zAD-%dS)l%#jL2S31Q!6IPBZmy{M3Sugl=ifYkM~WUo9*}#*h>nl3{UXa`%Gf(C>ao z2=I?+iW~9uKAyzrX1S6?Y=4-NwCfd}m2th#qiRq{8RkPZpBB^;FlN%k7SEn@3w6MD3ZaHf_}<3Vuh6Xd@je0?5i*(VJ!z z&towW*re+v^Jy(vI++|ZvzIfl`>DTM|)A7;U$?|D-*F2g$ zlZblTefp=G*UkW#UgUbA;kddsI8{wH%Rj9E=jYADmM%evsf^Z7Ra(HF~wCySlZ2zcO`ul#NtXA={)EqaV zXOFjCTe0!UU4%RM$;2Dq@In(@?(9CUiH`02BwcrI6sNk}RjB`_+%-}0btg!L`SXto zAK>8}IP^{bxe@^{fAiCY_nWIGXTDhZ?s}hsvAa?8lYt2yl)~Ib@3ql#YwksoheJd4 zsH1zE62w^DfN)pf+a#545%Zjdx2kVPo+n&+SEG;KmQ2v7j{gi}eYMc3x5jwOl(Onc zz{12S*uyZE`Q1=yt&&%W&+X5HgTuZ^?taY_;6rvEL;~hU412zp1|Re_M}wJ)INjjP z9l4^n>!;h#1`YHDDY3%Ts?#H{p#ru69MEgMsoqCKB$?Fcnq}R1n?xCuSIe(l6JzQ$W`ivjY+B#giWu9EY!CcMqe0Z z>se{PduNkF-+E)~q1g#3{GNL#ED2U+0P-o=j)_~PQ7+A~f_JfeuaD2uA^L!jJ2p+{ zy4WWs*^8B0;+R4gvbSlCeBDXm=A#_65sy&IBfe-nKG7kbZ?2?|-){oo1=XP!htYIBC5f#w{EjEZLot z`EtN8z$1?Z9XXRl0Hx0wPc+OZB+Mv>M{31nGMX?NUqZ1|o-<=mg z6>)%ib%rnvOFI`=(~b*KPce~%&L#sU_>%(9J`EG??2gigP?|pJi%Qn0;4%SYZ5ER^ z!DH3a!I5p+%-fFd71_KuIDi(%Fji_!pgv;gD$<^3>SGrad$H@+e(`WsVjD~{o2ME$ z@*C5a77HLG*{q-03(m^a+dv*U1A&|!=v=a4sS@NwM z%bA-mL#}HZRZIbg8x6xfQR+S9%i^hToykb=Yii7|n^zwnSdD}1hG3_WM7c!=OTUFF z7)w+fPa!p}gx&kCc0Ii6kuxE?+30tx4{wWS^BgZST7aXonSjwt(v?_ccge^x7 zT0PZ!-h?c^{_h8bE-}KXg`QHU5$=O4u^9|@2U#EP?XX`4-pQ_ySXTb5E+GUJB{!&q z1Q8~xo7CR6X-}h*2I6cLL_L!|xOwrNm&TB(26CTGy)P5uWdm-@T*qv*3k=?b@>9$l zo_?&r87}zs(Dyvq=k@S=@*P}VU~~3JxRpS0`#@VslUVSy*^15c?0i=3a_e$&r8Zf5 z^CkOte%WwB-$@U}H|$shG?o?6%t*zH!P-ob2!ohe1}qN8KNQalEFW>9f~XpyI~CAm z;loGqzasFM`GRq z8@qlJ(iQSVWt?w3EBlEIir9}lD^FKWyQHeD$g>YR+4RvmT?T~cDVOsXw`yyJ0qYe| zA%6I0(6h_)GkKLlLy)JZrkCrol60D-n4pe!>#rJSnRUiS3acFVG3HW@ zmaHe!c0K3oM0@7QhZgdsk-k1-rZ3M%9_~lT1%#a6Z|?XXAj@{wt|Xp zLt*%aO6o%_Gmv|*85trUPIGcT0;g-cwOM_Ygi2EPY&ETVheb!~Q*?$|Ph47dj~8jqFE zEqc3jd`N=J6*tb+V@Li*dxvQgH#s`fVl};MxmpD-iZ$l(;a5yXYPg{O*?!pEsvXPRtbKMBudpae z1vq3~ry@PBr?G|VNM;+Gn78&KFoYL}%R*MgZ0dFz{5x~uk4eq9fL;BRr|{8Z=X4=0ih9kBJ^SpqX?EM~anZUgr`DFSp@QzBi)1VzEgy^ClyG)gUzN#GKc;4=xLM3mMissQz7t(KuV zY&r^iOMC{bTR%IEec3@+vBE;N)@$byZ~2##+GhNb@J5Wrink_GOc}3++89#TrPPXH ziFx6gDBq1qNq}NG@ZZ1x*=SA?W4j86lAx}`zEjDH-Fp+P&;so2m5PExcB01Gl(X&h zc)}O&HU=bWdA}Q=9h8&4O^!!TYx>Q6*%qjLqx+y&t1GQ741e)=e zq^c2#d>bDG060h-mwm5NGYQ0HNZ2Io6%%z4^vlb&3WTM(y+SI_W!tpR>5;}yJ$V5|=MeN6B{sCpR} zx=Mm&D>uDRh(#;i)HAtR)xaZnyNkowq)If7^y8qU%&P4WpSniUcTlGnT_oG^`HRg@ zQCN>@D!5j2bUH6YgV^YEB84u8dSD>$#uqBuD4n==?hP(OaaJM zBxV7E88AogaT`sK1egCN>_ce36}p2-6xEVFfn;zRtU~%{9yRsm2O4{pA7^I%rF0yy zgK3Cmy~ig^={PW^sJXU%t{xzrD#x*dnl_icnx5_rRN4Xql)WBgcZ?t!-z-Yr`&^j` zzpRZGC*I4-Pb^0q1~`W`c14|89(Ipx(Q`ct$C+o-uX>nw-1{Ga9Ob~+&h6#w!HzZX@x}<_io06x26{|9?e9voOHk!zh3nScn0YGJUVnpM86tK~zBJg7zhw^T&iu zSTZWCHj*yL*}0Dml78mim~plB0HOw|SAAOWN}CR%^2^R%ft! z=YEho8J4QE7eY`OE7kb5{3;jh$QTj4B_B*iY$%m$O-xpf%6vb@3$BqyB?<24U)99F9HcwNZy*L_Ftnx_1T-}a zHwo$gbY2%wE)rOk`+B8+{LSMr+a+m@wjJhuBCl(zaMn6Z?(qptyrvRO(g?H@9X73$EUzPn=8aWO{Ibo1#rOZNZTs9FjAt)l|@SmOMbud_$_KYqw9Isfs~#B2TjKZk#|;r`3u z(MB5icX)DtK~X?&Y&rG*NdNwiLH!L*`QHKlEn2#|cv-u6vH3YWsVPCj;6dR*{T-*= zzrSv@|F!zfX@O>KNwxnt|97!|!)E?9l3AdjoUOgg|Lytj3dsd0%LGCgf0y_-vHr^j z3MvaEX(#emGVkn2p}Ro2cEqB8&S}20n}h$|lkf^Z$_|0y^K&4Cnp9>nOt z_n!dmNnx0+Kr@zPpci|D|2jASy~zv|?7;TlO<*gKu08#K#d#|b_;2w~AjsArOnX|I he~M1w=&P*!J5e%tC@B2@6O1IN#E}tU#^#Ume*kFytaJbX delta 9310 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 diff --git a/emulator/qt/ll_system.cpp b/emulator/qt/ll_system.cpp index 861131b..ed684c1 100644 --- a/emulator/qt/ll_system.cpp +++ b/emulator/qt/ll_system.cpp @@ -1,4 +1,6 @@ #include +#include + extern "C" { #include "ll_system.h" } @@ -11,3 +13,7 @@ void ll_system_delay(uint32_t msec) { QThread::msleep(msec); } +void ll_system_process() { + QApplication::processEvents(); +} + diff --git a/emulator/qt/main.cpp b/emulator/qt/main.cpp index b3b8f97..dc67c83 100644 --- a/emulator/qt/main.cpp +++ b/emulator/qt/main.cpp @@ -10,7 +10,6 @@ extern "C" { void app_loop() { while(!QApplication::closingDown()) { app_process(); - QApplication::processEvents(); } }