From 4d19b6539e6df3f2c7c3dbe1e778dcf72036def9 Mon Sep 17 00:00:00 2001 From: "quentin.perret" Date: Fri, 10 Jun 2022 17:22:01 +0200 Subject: [PATCH] prepare power thread --- Code-C/Makefile | 2 +- Code-C/fileGestion.c | 11 ----------- Code-C/fileGestion.h | 1 - Code-C/getArray.c | 9 +++++---- Code-C/getArray.h | 2 +- Code-C/initialParameters.h | 3 +++ Code-C/main | Bin 19368 -> 24400 bytes Code-C/main.c | 19 ++++++++++++++++--- Code-C/power.c | 20 ++++++++++++++++++-- Code-C/power.h | 3 ++- Code-C/simulateFlux.c | 9 +-------- Code-C/simulateFlux.h | 4 ++++ 12 files changed, 51 insertions(+), 32 deletions(-) diff --git a/Code-C/Makefile b/Code-C/Makefile index ddfb997..de97bc3 100644 --- a/Code-C/Makefile +++ b/Code-C/Makefile @@ -3,6 +3,6 @@ CC = gcc all: # rm powerData.csv # $(CC) simulateFlux.c fileGestion.c getArray.c power.c main.c -lm -o main - $(CC) queue.c simulateFlux.c main.c -lpthread -o main + $(CC) fileGestion.c getArray.c power.c queue.c simulateFlux.c main.c -lm -lpthread -o main # $(CC) queue.c -o queue ./main < ../02400031.TXT \ No newline at end of file diff --git a/Code-C/fileGestion.c b/Code-C/fileGestion.c index c081480..5a54c0c 100644 --- a/Code-C/fileGestion.c +++ b/Code-C/fileGestion.c @@ -38,14 +38,3 @@ void writePowerData(double powerArray[], int nCol){ fclose(f); } -void threadCalcul(){ - while(stopFlag == false){ - if(rawDataWriteFlag){ - pthread_mutex_lock(&mutex); - while(power(nRow,nCol,period,timeBandwidth) == false){} - pthread_mutex_unlock(&mutex); - rawDataWriteFlag = true; - delay(10); - } - } -} \ No newline at end of file diff --git a/Code-C/fileGestion.h b/Code-C/fileGestion.h index 4df4dcf..afebd10 100644 --- a/Code-C/fileGestion.h +++ b/Code-C/fileGestion.h @@ -3,7 +3,6 @@ #include #include -bool writeFlag = 0; void clearRawData(int N); void writePowerData(double a[], int N); \ No newline at end of file diff --git a/Code-C/getArray.c b/Code-C/getArray.c index 73e6893..8b2087c 100644 --- a/Code-C/getArray.c +++ b/Code-C/getArray.c @@ -13,7 +13,7 @@ long **get(int N, int M) /* Allocate the array */ return array; } -void fillArrayWithRawData(long** p, int N, int M) { +void fillArrayWithRawData(char *rawDataFileName,long** p, int N, int M) { int i, j; char *buffer; @@ -21,7 +21,7 @@ void fillArrayWithRawData(long** p, int N, int M) { buffer = (char *)malloc(bufsize * sizeof(char)); char* token; - FILE *f = fopen("rawData.csv","r"); + FILE *f = fopen(rawDataFileName,"r"); for(i = 0 ; i < N ; i++){ if (!getline(&buffer, &bufsize, f)) break; // condition d'arret de la boucle si fichier fini //printf("buffer : %s token : ",buffer); @@ -35,6 +35,7 @@ void fillArrayWithRawData(long** p, int N, int M) { } //printf("\n\n"); } + fclose(f); } /** * @brief print all the element of a bidimensionnal array p of shape : N x M @@ -71,10 +72,10 @@ void freeArray(long **p, int N) { free(p); } -long **getRawDataArray(int N , int M){ +long **getRawDataArray(char* rawDataFileName , int N , int M){ long **p; p = get(N, M); - fillRawData(p ,N, M); + fillArrayWithRawData(rawDataFileName,p ,N, M); //printf("before test\n"); if(checkArrayFullyFill(p,N,M)==0){ //printf("after test 0\n"); diff --git a/Code-C/getArray.h b/Code-C/getArray.h index c975391..6a501b1 100644 --- a/Code-C/getArray.h +++ b/Code-C/getArray.h @@ -5,7 +5,7 @@ #include #include -long **getRawDataArray(); +long **getRawDataArray(char *rawDataFileName, int N , int M); void printArrayData(long** p, int N, int M); void freeArray(long **p, int N); bool checkArrayFullyFill(long **p, int N , int M); \ No newline at end of file diff --git a/Code-C/initialParameters.h b/Code-C/initialParameters.h index b91c822..9a2e2f4 100644 --- a/Code-C/initialParameters.h +++ b/Code-C/initialParameters.h @@ -6,6 +6,9 @@ extern int nRow; extern int nCol; extern double freqEch; +extern double period; +extern double invTimeBandWidth; + extern int selectionCaptors[]; extern int sizeSelectionArray; diff --git a/Code-C/main b/Code-C/main index 17258e960d2ae2c921cd0e392f1b2013b424a03b..60acc4fafe389afe3f717d9c2e598f1b01d67fcd 100755 GIT binary patch literal 24400 zcmeHP4Rlo1oxhV1iG1Y4Ld8!;g%%KEK%qfOO-Ke_G{JyGz^cQLOp?*bOgbL|3N3Af z@*HAQw<@)E%eJ;fOS{;0Ev1SRuq3tUMq6mMU>hykH-y&6T8%Y2`}^OIm-ikso}RPk z>^ZxKo0Iw9`}=>~d;jSmy4;8%Ra{_HCQZ=a>?jjDI*}|tc;Dt=cVit zb`H{`I41bzf`BVROOBo9OFS2p^ma+UlU^+46jdc8N_yEs={Uhrlog3I>E%&Wrk(V~ z^M#zEif`suD)`JnC&>yaYSkm(^ehy5J+*ealN^9hq$(rJMeZQIKB?Cy^%P~&Uy3S! zk{SAcUh%uc*wP zT@?(hop;Su!Nys^Kq$U`*7~w}v*uk>5)GHk;q{(?f{;s>EUjl3m*uS<`|#gOPket= z<4a@9YX7wD=f|nsR0gs~G89N&xs&2<{1czo%k?j8GuVV(hJOk#`(J8ps`nMmKb=tB zQZOu^SHr-0mb8ktBa#WfJ_~+N7Q8zP9?gPNecbqWh9&@+%Jbtacq$A2QWku17W}7K z@b72AhqK^c&w}sHf?t-UUA~h={(~&|CBWVIcZSsfGWql8S?~+9l&3X|{99S@ceCKR zS?njX$iJQip9$QJe`gpA`_=qd($r4n$-A z$coy^U^wJo;aeN@Gq1O~H5~FrW4=ht>lLCI1>3^wSX-Sw-K zH~@2zKq%J4Ad5MTYTK~h=WPmve8IroezF|(w*ke>*C2h+>O%=($IO2`QC>`7}?)M4CQnwj4=`n34w* z^QMcHp-<2p>&CzS^@lKx=CNCWQ6T;z3qO8g;9RoVZ1Qv1a>*z8hq(SI7L}Ng&oSlI zdaC+YuN-{6a=lb|r^NFe{Z6I(Zlv7AoIhGb`Deccw~lMWf={%_4_ffa7JSHpyDhjH zAG9aA%z~@&LAZ5%O{x<@R7UAC4!A8iwUP?cEI6%gDwJAqwU!gF%!2cMl2j!O_5GSY^S-m?&dwEcjRp-eSS!mX34VEckef{CW#sV8J(A@Ini|&4L$M z@Jf&W(?(ArPsYl*y9uVYNxl8oh~d$soG^ADPJ zOwWBCtn}0q_$-`Uju@p|h@a|DBTW50rD;h@_44#9l%}O9mE`FcC{0UHY7b8zpfoK# zshvE%kJ7Z{q&j)}ruhk=n!4izrP?MQSHcUrTA)N~Ah@dJd&&$w+PH=^2!! zr6SeF)0b14mWb3Ep1zRMv^1pZc=|j_(~^)X7wOM2*3^kK53~PLt-pM`roXPWpBSuL zQPYvP4|!`H<8R_*;SQ86J@F8pKD<*nxr#UoD_~IT$fI&<^M_&+(Ov!-eCjUeruz#g zZzjVBC53!3m!CU^$n=jieNgNA>vdY!P_E`Wq`mx6Yyu3#rGfl(e-qC~>2K!hEPhqJ z*1qs&NHI-+BQ{P;EW8EvFlM0zj23(x%1a^bx=raRnz{$fdgy3hK2?fdsXu!hUeG$` zo_`5Ubu9b@i1Af|bk88*LIIB7Ae%*<}d;=@7adMcKZyVx(q6EE1 z$_bPY(hEe~p!ijYcmC=iuU`8px2A70^!N$XVx>^NiIkrp1yoMeVnf1nqTO)K_Y7~E zheB&Rw2leCr1~KTLv!_Ni6Y9YNh=H;fT>H!l-|9UMznD$YzHk_97nmj`g5t4zaod|p8jsnDJtebNy5`7xQY5x zTEi<^$G9WJfM@%)j*E*)=RvNM+wM7qhB>vsbA00q$gy8b+%{zTs}BC^(e!vyuYX3b z-K%wb`g*t-n1_kwGF#~Nzz>r}jf~F=Sh+LxWsx)5w6;&{KoyEesH2|K?iq4%vmJB4gF(#w@d5XTp|x)^ zSbUf1*=Gv3N8#B4SEq7rAtcZ2A9_7pIm`?7MKq;;2;IyB+j|KzKKOe&t;&2;mX=O< zhGg?lcR``ZM3HG?FHFGMyps*Z$2>=qukok%sS^yLIffQ^`Zs>xEH*mCT_|>^DyZnh zmO{?RTne-|%{lSWyxarDBL+9V#Cz*)&Viw7eML5dXt$ZXm|{44PHa4)T5SSwRl<>> zhEk%_VL<6eq5Byz(uNYXKu>6i_>j`R4;&J#1?m|RJ){toZXa~rn~W8afo|hwYFDra z@_3ERep*iB8vV3iuRpHW_MI*)_VnVTwnx?{)rzqxo6K3WehlcQ!ncx;XQ>a-4x;JK z81X`{J?Y|uj<+h*UOBB5&gjKV@I_=;lt-&fQ{l88ni`VEcZbqxDoawBB;9||>@hOi zM`lr(qP$|8*&DdoRUQ<%X#Bfa=S~;i-i3HAim)1yV$WcvN?at&LoBuoMfYIHZrYKk-I=I=OzVj6p>Ci&-A!ZuZBps*?AcEn z9Rl)cj6oQJVihTZ1n>5??o&};v4YR5e6CC69r+BYV}k2gcn9_r#*g2nK9{$j!`+5~ zeb_)4M)?dFmP_0!E+nu@?A*uz3O#Wrv{1qNWKCk$cEqa^Q(wa~q{Jn^!>2Mb14gL% zl1pM8 zI&67CyUS@CMmj;+_yyJ;u5)>L%GB$m-bDAqN#sIQksxDhOIRG@dk)-qbv*GW9fB{I>`l-`pQ-^ zaFa0bh%oRSGEg84pq$hlJcE#61K6@rC&BiM({AH6HGXMDM}t#uJ;s@d@_g!Ce?BdH z1LDU-e9+Rn4707=d}`$9*wj|9d!+z;C-ijPo@qT&q~f%1>J?IRNa|jZ`KN@`T#|Z36dGnf&gZRS+eKCHGku=$97ZYo`MQanlfI}( zHPPpUI6Ov8RNpJdxRIzotdo$l2}lg4MvvrT@NF=;9B!ul%>y{o?M3mK(f2m57v}Cu zd48tIw@s0MhseMjarQLG^t4hDt(5nSrX>Mw2 z(z;H%yZ)ZjH8ff8(tD@(K)8KVKZ_s5UV%<)`fo_K{iF+{v=7m0{gsMekS!kXt)TCj zn6_gd&1hWA)%zU9_i_Ba_q02cMcVY|HN9VJPtuIuONMul6IN68bPu){1_=-N67|n$ z4F|M9QWVT^cMav}N4q|nJbe&_>*?yxarL;8`peUiXit{5dkmM}MP4Vb?$|ai2bKM} znmyCL=@}OPrrO_QduCkeImI{k*c8|IXs(xe8}2B4dQ{Ffm$|7oHXfn*9DblJx~umP zs!B2a_{cuLVr9k6VhKdw?XT9K$I10cI06;KBAB;dM0*o?&80XTb{ng(E>Y!S2tBgf zIQ|x;4+^{8#*376fpb9mJ_+HSm@0OWtE%-w70*$`>h_;o-2V0%Zr=;bdnu!+nGrfG z&JQvpc?S9==X&A&ZK2A+4DGBEY`*8znY(Xe<12eHZKUOzEq3$LkUCeC z(L_q;PGyhIon&u#(*>DXx@XutJe=5wE$6VgCn&Mh{R*CJiCLkQRM0OHTexz^+-5v9LXiab1S!DM zK1_KqId`dG8smV&&X%tdoS69GEaFl#$qczT>NP=R7@wgf@`gxA@8X*sQE@zEfjy%T z4bAs}sX^MhQNcU3^LVym-^h=q8&2_}?9nACP7o^(onV5JDIMgdT=8hrZZsPzJMXE?GvFnHRURTo9ONRoC+N!+XZCiry zkA;zAGRSc-)lugXN+u%&#-S}?d}gv(xIfv|pRadiunCq6(-JYyv}-aCQ2BT0-`GOW z5w(s7iEs#Kpd55aoanK2=Lhw!*8#kcU^=F<;RT+dxOj4ssM^xm(V2!1-*HFH- z{U60c#gXo6Moh6iV-<;$B*@;91Bd3 z=yvbpn1C5-kPnHDx#NX#<004ujMWV+G~T->(Zt=xL$v)tQ>W-#`^3aOSK>2o3_j-{ zh~EQQzDDkYY62y3UrXnJ8Z5O%rL!}=*$Wj~}i}T(F zmdLBbCyungI$bye=eVN0V_b4IkEh3sNdFqR)}6NtgaQW15C#xR_p;V8@mpwt{TxQ| zFH50h9rQGhoJj2Zu$3{{Ibid}z!*ZTa58Ou7^_%W)3MO|DMW6r){j=ySL=VPSW%%5 z*J~ZK>HyzVGyOw)25&?SSnv8UH+IqNV}+AhjefdD|7(^0=Zf@%KWgmw&W#IO~D49ysfPj2>{|t-f_vvXFn> z;y}<}(h$9iMOehQuF4nl@s#gMhPNyI5fhl&a3eQ%v%(N)pl_c}A7C*88lU}eSX5;iRY$=r8T!o~O4!g-7NAO~3G!_Uo3&Y~A zQ4hV0NlG47Dx@p%a%c@+|KtJbm~SmXA{}+`k;c2LHonbXq_xHuh51P9Vz|S@t5@X@ zQi2=wH8zsKGFDP@)pF4cRNAOYFy1Ir8)vdBoM8;}L?Zrp#2xfE#NrXZ+t(I3xGU<0 zTuDjE6=<9>)YR56c%AE_+y(S*{}jOPKcv&^5%2$FI=vHg5L5#_(l3sgPra5-_aVLR z^>lg&^aSX|I1m5!PwDh$K{uU9r*8#)5p*NyAy1ham5O-Y}R>Psn5JN1)e$z7M(r^jSO>je+jQv1kYA8a&kA z3z`HKKMG(B50ZIs-MyT-))%=h8aFz>(>1z?aC~#lcEX2NA7_>q{^s(>;T!mp6%;Kl zm~?&N*me1v*>x8#m~r)#%PAw$ufl&B?9!QD1=770{}a(hec^)#mK}|p8{?J82 z#J?AK9s1-yA#U<>?&mh90D27kgWw;w@~b;?w~uPi%MtG4b`C?X8GV@#ebe8q+z#b) z3jCjg|5>Y@b)u-mABVnw1pI5Q{P+leCiriCjD8LHW8X}tE3En(NA!c>&jdeU<>xe- z<=YN^9Q-?N{3esX8~h~r58L<;nEb=we+FZBjg9|#lYa{Qb>L@f>v0&nKLr0bHvN}O z{h8q3f;l0Rf8Efj0e?66^hC;RNA%a+Cf?M14r_x9oxkaKIHt@EU(3CJ)b_mgb8@dB zNotE7kjurqQG>WCm$Sqy%U{UPwb4L<)Jmg+0H&*hMS z8#Vir4=Xwg< z9iu!2)3)bT6_jp0M=L06AHAfY{EmXMih|OLf@zBi+=~h(L4Hv|K7U{TG1%D)JLIyn z;j9PFdf==F&U)bgmIu`DpVaT2)LdRBBPvb5!J?qj^qVUR;{-8(A3a{CpZ~OosNbHb z-(6iK`D#x}UzAZ$zrUjOi-O|+?W1&zOZ!vQ_^=OJqPbgQ23;zpOSQ*q>ClJS<)s+?~-(@qz_5@14*Bj^pK=SB^9}y z`Kf*n=;Z9&>N4A&m50lneCnRm#i$*zjpF^9`Z6^$bp`q-nI)B#*Se=w`PT+~A@}Uk zk~t-_XU&@~W9~Vnb7q&$o?QyTj|sW3r0z+uiqS7K)$jf7crG*4K(H`!QPTVj9WNK9 zSL4qjj=G)0)Ht={qnYZ@c08Y{abU;KWomrc@i9z|LpzR9FZ+odAIIDo@$sxbLp$fP z0`oo#yPZO&<~KVI;~Cl_7r$&a??j#rB_=38O>#%U~0a!a&vL2SM#JDpU5(e z$6WSFrhcbtm&YttXGKIjmu9JDnedU{Wm~zqOwHaSDD~M<>}~q4+ZJe@$bmoI=hkG6@GXgVI_y6QJd>Z3S#ZD^<-584^Vozk z2slC}`$xzS+TA&h-sE=997k_SdFOb{;qznh8RL2)a2Gpse0>fZmmJ)F1J~KYm5@IV z{WJM#0rTt-T_ExFWdg5}T8lX@6Be>E3w~!7e552)UgrBH z*)E?I*|RsY*iUD{i@E&*_6upJLfW}l;!k}-00$+0rNn#X0pekaU!A3#%cQ(t%HJvF zZ^Hjs-{(}-fB0DL61`pnMC4TZ!AsCVJk8@lm zEaX`!f3CyNha~>6T$+`gmn8mcIlc}{TgQOAEp}D(B=F*#NzA#weUEU|cdx9k>i_3r zek-QQtyEZm7!Q+x(>U#>UtA#63BsmGe6k!D{5d^%^t}qnuaWa1e?|$sisMq*LT<}~ zw`IX!Ljx6|{C%?g%2d0|cb%LMRe2()2$e_OYj&kn_^Om2mi`Y&`~l$PpI(Q5zQ^%N zY?=fAk;EG%uKf0Iz^RLe4j`9ph`DdpJ18+$?LlXay?C1QsHh5`{OCbv>#vv!u{5*x@1?<+zLYP0R zM|6G``RlXbw`ak>kOjXNIQ4UrH$CXw?Bo>Xuo0{;Q z_{c3u-dL*_*ARvLQQQyI81^;?!)tv(Z(}SRiF$qU^{gS>+7|T3{EfH}D5C`3GZgUp zA`#yPuRj!v;Bur0zBuuAK*f^sLNaC-#W&JR{P^}f973`1m3Rf&L6m>l530V! z_j>D=dseJi?Oj~Iv~orDjZ3}W5}a}~!SgesWf{@WWJKp>MCWEiugQpBoe`ar5uKe8 zEoIR_YdnYxs1^s~>){Eyu?fWMUA(-a*5maot)h#p>@IC&-m2A0D{8AN?HqpZ6(HPK z=k;jPf>yPhd6(4OxTvDWd*kB8H+fcgS5z#j@sL%z`pMf6jq}E3xLm3_#9M}68C7n* z14`a`Wyfq6XxUhJu_DMVtqjCk9BG!|}K9P~BQty_VRjn(Fl1j3EBySYq0?!e;tRr-Pr)NJU{%CYG;3BPtwivw?!}tYXH-`Kc$Kbj!n<%}daueQXX`mcLn^@i?vE4al)8ki; z*$~SMCp_Oe^>PkgDG{%hoN;5AQ(wH0!ml>7u`p4fI^wD^^$yTVy1a}#w$-;@b*F}) z-xpD}}~Od8gcU*e_2T8u#Dam!sTx_ zqGV`WZ#?R6w7oZjY^130tYsk3)MdL0&Q?Bghno!&x31YBm}i#PdIF)lR^XbqMJVXX zKx3?h2GM2$(hdw=F30k%RZsXaL_h$uvUz?04|%O z8|!SP5jV)$poVbhF5FmG9g6vzaf4o%zkNhk%-N(+4SHG2hM~5&z0L-S>*{Qf*Sn&& zQcYcSU0=pK_(U5o^{wBn^K&{#y!78S!B=#R9ql2AD2FKG_NOV-8%xI;A1D4~i))w5!l zH8`)u7j0oBjT=I+Cul4pIB;*2rUou16JGEl{-BQ(WUMV1VT24o+Ok!2K)=A9DsGrSKLZf(U1uJ#N6 zLrU9VI{V;w$%A^{tf=~4N3yxBiW9v8|Jcfy`s%!@=oAvN1hr3A&^$z}`s(?$qHZN9 zsZ+lSIDYCKR^?aExfPYi8uR-nwf|CPY2QoF=9IpA9=-uCM4eX_)ls$mrC+9~k+B%Ev>IoyudT z1VvfR1R^^At@>`MuV~WYaEE#J4TpYzv9PYFDz89C%CGQmJM`6gQ_+_lUtFsEmA&sd z^wswhimKD)k7RPCqE@g_AH!h$NdviGD@e~#oxI@94lXa3JQ^wswwiW&|D zXa2u}egXdFFf+eDQTIhVaiPqpI?=#Yz4`PKI}ebdNfDBOVgaj+2o`LK0RiI&WhTjl8=F8xg0_APLo!3APG;hKNU*Za zI-=Z;QQEC7Yr9+A?z;5DUAFDhrARdaOCoD+@Po3|*0B%j1W;3?nzl&x_nvd!$-Tpj z+uc9***`dWX5RDu-jDO%_ndpqoqO-empqO2MGlAHQY=0ri0huL5SJFrt9H;3mdyTeQEw2=~kvO`n0qjZp6M%!hy9n)b7 z2!$!{LcM%QQQ;*`6C@Fq_3Nk_37YAE|1IcnCOO>uo?JJIp}}BBhccj zxcWqjhour&zCT2LiiPKDq5ytX0ld8czP12PaXazJEjI$l7f)vae4qgSL;-wT0sJck z@Lv|dlLhc&1@Pw!;8!9MPRMdgJ%D_9_;vyO^9At73*dbP@QZ*u@yRWR0OX73Rp7I7 zmBDYqXR??sTy7=g^M1F+*XH2D+pxOH+vbn@*9T*9e{^+IZ734;kQ!NX#!fe4$XJmB3bCT*QMN{#d8K)w|wL%^>Qi2yBQ35kY{$5rNKV zFdPqvSjg}1gyYsOpEnQ;`$ECHaWr1c4Xxf-+=sS0d}tX)egRO2PqRc7@vT%_B9=Ec z)YN(xRxYeuoUJcd0zd0JB4O>vi@X-$uULModJ$$C!uXG7kg@t$je5v|zaod4bDZE4 zGlCx@{Z9a+0;!my<-~veD__U7GfvFan9?uG>ht=+{k~QYp0r*c7FIJM2iaH$$$oKr%YUGyyk;ppIO zx!I+vgipw#I9>~Wt_5$m;1ex)rv;y6!MiMYnFa5*;JoINc#8$sLxffwLJnn}Poa88DK^ON~^? zZ>|u+*xVa08XYu}&y?=VMmDPL*nVuWT;#6-y@!ukD*S<{{!)~1P`s1 z{G-Iv(mT{F`L7aBOYV?M@?R#NmfE2z$=^#nEwMvR$=^*pEv-Wpl8+KkOX`r2{1=EX zCw}-efH~`kr=@i$E&0zAPnSkRgOXoGJT0+9y^_D4cv@PAc1r%_hv za_YX1ji$?Ic9Y|Mn!<%!>My>A$h^~rIc)U3v&`rlDK;GYjf1D-=flAp^Ob|r(R4tz z!}i_MTqLe&F_KI7LrWOu8}W%oYU!8JW@bJzl4-}+{*vkN@3@Wam=1jr!WP(IpgGM= z$DgK)fXw5_gkgF{jO3;fk(i0YJ&EJoO+S{5p2eN0BknsvGL58}@{FWfj++%J&v9d$ zVfJSN(ta-q46_*n7_{FduXm{a>^|LMg<)>8H1Z8<%^J|s)8fAV9 znJ?sqTTYr4TeA+FbjakuY{`r{`3)>~yOfj3%E<-fd2qxiu5RW34^MAaSl|45O)> zW1@q}CnKV~AmQK!x=LCLkRB4?!}f@}U}|&{V^+ttb8@ z+d|0wna5OpZ1hrBTKv;7?v5+}P0If&@;@)1fB0L2Gmnld8?Oug4jX1-&}?}Q**vVW zSwwE>_6xH4KITz`{b!KO3lvUr)1cCN6)o+)PiYM*t=CBF2P$Z|{ivLGP|v7CKb*~Z z%JUqeOv~t7a30rG$X)>U8KsVlQ5Urg>T^7kYI)8irQ9wcHJFVbYbBGCdT0x2-j74N z4#Dn1_#$)kkMg)iMEqjeURGs!R;3>*$0ow6jt(&hP7nJVF^eIIds3b~rYGI+IYJ(f z%}#obI8vUp(K=`ZUsxXq1dP6;&b~ht^^MFl`^>?415i$GN{hsyl;;S|_2!GDn>^~k zS$Y`N2J;2?ljKX*2i-rF^=-RpMw4oe!KbOdTjC#lVBFDLVa$8RFw;h|7c;VFkQ{HL zBz%?*&-4uRdorYa%$I7}W3=uyg1suRjI(c~$UM|{dgi=g1UJx^E^-Vwdd-9Lz$AOC zlAesi?4ztxR<~`LScHT9s3Y5x+_Xm|{p$=vfY&F9EN$^)gr{Ww&rnXekD+w`Dy-{fB7UQJoY*iAQ>&tToV z1#3SJ@Gz=$86Xe7q-3rTIQW~@x-tMq7?J&%cRrwG>{EXGGp`ZrfMl=EeJ`xHW2)Fe zp*NWO-A_}+n)aVs(*FB1(!L9xcTq!|vkhUe_Gj+W4fUmqiT!se_3T6*F#O5l5W#|A z%Fr0}go4QLPObIp_oWu4iJ=FimS<<9dBo`Pr*CoJ>b~9Wy-luqSYvUDr!o8Ydrr~O z9J?&#Ifb#&bN*&x;U?%+y=Y1MPadx@dOX8V(d8p$e|cTqQ`?CIk=lzcxr}j=AZw7ly2@Vzwbd@r>a?@gG@{;d7Gti&*I6r1VubrADO5LOzl@<2XFZNttszSmXXZ|wtFl4Ec z1~ee&JSQrdMK~oe^P&%>>rQ;9rd|dKjf$Sdr)J9&XD=2-I*=w3x12Hu9leghWUs@( zSzA{!xMgz)`LPI!vI0sRT=g_Nlu=d?hG75Z2)^@qEPtxEFI{T(J0gY4kL0g>$3z1*7kG01l*tiKz@@d?c|%DyHf-Z|&JS ziqzuBjlF#%rPlthA4e(Y{(lb(!lJ*x>J=KbY_%O$bY>+tohmJV=zerWs$}F+A&^(I zhO_d`G>d%~ycu<#3e;n)keHf%ZboJA?9ub+p`aMZY{uND=$G2cSc7a-DZhDoj zc21O6O#1K=AwWwu6%oC???m}z{H7@RE#N@;yS*pMFYgVM&mA~X{<)?R(rdBkA>p|8 z?V%VB8a-3J=*Oq%*r~-y2tf7XKGe!*3inNoJxjlIu@LSx4dx+tON03b_iDF!s>SG; z-wF7}#(5voZ|+QT7@_xlSRB7_!7H$9G*2{|@6?%Zxkt}`%}DNZ7+3!$ag=_G-*OwK z_uFWK$8RdJj~b@m?6zO&6wd#y&~peXcP9J^e`Tu(`!@)G$lrlVmwe=--PQ*~e&-5b zhu?XPb56`TVQvhMUYwDDGv4lZ21ppz!nS!6#0nTYr3q<+k2uMnMDQ#r77vEkE63_V zlSkmm4;guMbHvx;QBorw8OZ`Z?psHY;$t~-@OZXmliU17I~sj4xQ}+!M~PB6b^Z`B z(xI=djTCMWm6cbl@@=T|#eEcQj2Thc8oNu(Y5TOeG`CC;o@msch&n_5)_5Z7cltV` z`*y^f(5tMhyc9+g#D-6)u=V%wGRK9**S-Xfo{{W$XLQtwiFf2(3<=Ou42@ynZ-cG{ z@5RvS2K^@JcF>nWdqF4T1WJRh0;O(z64VKL8D<3+=+8jcf?kB_pc}LUbUUaEr+zQ! z4?)wQvvAss!%5nLbM4chkAXIVI&di&0$mCEAm~Ln|9${^D;A4E(8Hj^pw&1dsxe(s z;b#SoyH^QESB2xkiQ`MRI>uKJP7lp1aE#VmhUpadgP}yD`DCLk=NiNjZt@vz4dveIQ%PQ_Ks-1LBQ3oPYzVCtjSCC&v zMl9bT#j@>h0e%niYpn9bn0ycLN$8_O_OC)d4|2EF{+==WQ^2o>JZO~{wPoX@XN7+Q z`5iWSAS=HP^4~)K4V(O{S^2Gyw_vQSwaIVE%I|^v5y+cu^3P`F--7(-kiTe?KcAKF zfxHW2E?<6~uz3~o1CY}-M>fBnWN~r8A$?FE3yi-DFfQr2eOBkQ4;Mc)?!l7eImMTf z<|iPc_dzbfcx@yb?yI8Z*;ow7n;>6nlaC!M-I45pe1%QkkhR|e`IC@851RE~{A>{^ zI05Yd9>jUE%o=C$HR?bhrx>4u&V4vnHlm*OL3I=wqsJjnLw*|pHDwhK7d4bkd#Kn` z=Ij~gDVzIXNnKgh{pT2E)yeV8%UoY5t9F-Fxy$C(lsRk4ra`}^tW>_kvIytg2>ehe zXUo|PoXx=544lot*$kY`z}XCN2KfCjejkjl73iHbD$LV6XjJe>MHRZ=iGqhtvix|a zqWmrwzlX-}YVkEU-CCo<@1xQ65EYjH;q+)k^0;=PQlf}BtSh+NCQG%J)6aV0m~G`&mH z`!)T#rjKj-6HWJPdPvhZHGN;xbM#Av7ifB!rb{%f*L01h0Znt`9dIdx$2H5h-|xuw zop4387E9H6Kz&60Fb*FYjx-jjo2X;yv%I$U8t2?P|GJ|9WV_eK}YUoubEoC~WK zE~r|tpbCorO)17%N53O-3%y0k@9SG-#fU1CSAU!+%`Rk;x}WX%MB&VfPZFJZ`nOn=W%r}l{gexypX@lCJFSSS z7vl|T-sfPI7K6;9bsozq2j>Zt9G|S zs68sR_&D<9=L^88U0#<+m&#rEIK-KGegt^F`2SAoSBP#WDkwZp{}^=#2HO@Vp=0y) z0n`cK<|I^L-;ye65W;sj70>wl8sC+JPs9O|{y+{sOXG(%&g(?A#xok{I9F(VI0tXj z_=v`NJ-%DxrI!d<*#B1G`SSDa0yyBj`j124!1#Y=j`DB)&gcKfd}9H;2e{MPpspXnJnqbMzJIrXpFI*U6X)rdwdK7@`06j9f4BgC z6gcfCxznuz;k>=4ahJw<+?F6tdYYMAE&^VG_-AWCAx&84zT>X(Ur zeIY6D!vQ~^;x9ULo?ltO|2pY^nsDa$FF`~3;!o&yn{+;}lhFv#UBLgNTHnn%~fV=t*6^cK<``U#a!)(E2X{r+oIhG@!}rz$tH?x7x${6mfJ z(l6u7d$f>^E0Bk25-$_K(!p{bF44GOG*kE z-6Zj`^%|@!0aWO`enemBH)}kq@n(I#%X_Ji-79geWFg-yfcGMS6^N%>$HOMS)_LpJ z>)@xf;9qpR2Xwy&HU3lJlhI!pmjd{>`ZPYMaj>#Hiwd=yd%nD^^@WbdsrBCkPI-6< z&km_D@~dd4C(UOye8%xRUqH zflrkK|tEIRbPZ zE8zb}>qC)szL2*q9*M@hzC@R3jdXN|{BeI9Hl*d%plxkIuP++)ZS?xX@hJA&Me$(O z+m`6)*a#B~=Y?k6rpga-z24?kp4F>A=dEv9QMbLkQc2Iv0z6cge{Bpp+pzDgth^Kc)j(j+)W;@XGNXY3(l6Y zHsP)N+zNM7L#oDsRl>Wxab=CW(Yvy~{zlJg?`n5Vqldi8?T4+g zgzP(kjfxFnH+7)ghv>5IHq;v=?U-%LrA;I^S$1wb6YJ=-VIQ^EleSpqxUf81r)`@y zS8~6l4T;4go%JE#dbO+5CbI6^%nE2HrN0f&&-Gry z9cojh7YuI1s|c;}U_|HB@)Ce;bE(~K?9Bjv=zqoz(Od)dssK(%#HKcYil}-C;3nFI zDi6QI*TwxRccXfESE|h!LR8N9#fF?+rD!7-@wWTIZP{IAHj$i^cRY$2i@!zD}C5 zZV#gb7?bk-VMtt%`5yHEH7=)Ybt81u+3q3Rb&GW*SdGuCRZDeZIGypZS25% zC!q1DqU~J6dG3#Pipp>#?yp=QPE@W-1o7_)f^8ad*EGzJ z%2cft%7W`?!PgONMe~t3c}8$_epX^o;FXt1M+X+6Jj>$$7^3^d4t#JqFALuXW6Jl7 zwOHzMo#>_b&^jcfy^%LD=V0*q#$8@_E(7i{>6WjCs<~6`@X_~d?`{qn*$jDN1SaCaKbWfVw z=lgz4tFma*3`6% zoLdUV&CtK0LMm*}_hFg7#EP2cw*PdFJ>Rco+C?XarR28%EM$}-R^$6o{C{Y2^_ge- zGHlB&_I&>nU!GXZ&>tXzX$Oe4m*A&(E;VACFJA<9^%*TT)?rzMp*f3V)q?{X`J*$WhP zDU$tmW^1Z)8id-{&1I!*|H&+(Dx^!rN_p%liTZBV?Pq9mMxk}+8hrS;dH$jEgJVZE gTdJ3;>YF@qX$iN>igY_6pZ&$PN@IMEK@Kba3u^DP(f|Me diff --git a/Code-C/main.c b/Code-C/main.c index d02a0a3..88ad736 100644 --- a/Code-C/main.c +++ b/Code-C/main.c @@ -10,18 +10,31 @@ int nRow = 100000; int nCol = 9; double freqEch = 250; -Pqueue firstRawDataQueue = NULL; +Pqueue firstRawDataQueue; int selectionCaptors[] = {1,2,3,4,5,6,7,8}; int sizeSelectionArray = 8; +int cptData = 0; +int cptFile = 1; + +double period = 0; +double invTimeBandWidth = 0; + + int main(int argc , char** argv){ - double period = 1 / freqEch; - double invTimeBandWidth = 1 /(nRow * period); + period = 1 / freqEch; + invTimeBandWidth = 1 /(nRow * period); + firstRawDataQueue = NULL; // change this for create empty pthread_t rawData; pthread_create(&rawData , NULL, simulateFlux, (void *)&rawData); + + pthread_t power; + pthread_create(&power , NULL, threadCalcul, (void *)&power); + pthread_exit(NULL); + } \ No newline at end of file diff --git a/Code-C/power.c b/Code-C/power.c index b99ad45..b0aa00c 100644 --- a/Code-C/power.c +++ b/Code-C/power.c @@ -1,6 +1,8 @@ #include "power.h" #include "getArray.h" #include "fileGestion.h" +#include "initialParameters.h" +#include "queue.h" void powerCalculation(long **p, double powerArray[] , int N, int M , double period , double invTimeBandwidth){ for(int i = 0; i < M-1; i++){ @@ -16,8 +18,8 @@ void powerCalculation(long **p, double powerArray[] , int N, int M , double peri //printf("%f\n", powerArray[i]); } } -bool power(int N , int M, double periode , double invTimeBandwidth){ - long **p = getRawDataArray(N, M); +bool power(char* rawDataFileName,int N , int M, double periode , double invTimeBandwidth){ + long **p = getRawDataArray(rawDataFileName,N, M); double pw[8]; if(p !=NULL){ powerCalculation(p,pw,N,M,periode,invTimeBandwidth); @@ -28,4 +30,18 @@ bool power(int N , int M, double periode , double invTimeBandwidth){ else{ return false; } +} +void *threadCalcul(void *vargp){ + Pqueue rawDataQueue = firstRawDataQueue; + printf("print in power of first eleme in queue : \n"); + printE(firstRawDataQueue); + while(rawDataQueue == NULL || getNextE(rawDataQueue) != NULL){ + //pthread_mutex_lock(&mutex); + while(power(gettabChar(rawDataQueue),nRow,nCol,period,invTimeBandWidth) == false){ + remove(gettabChar(rawDataQueue)); + rawDataQueue = rmFrstE(rawDataQueue); + } + //pthread_mutex_unlock(&mutex); + //delay(10); + } } \ No newline at end of file diff --git a/Code-C/power.h b/Code-C/power.h index f83ba8c..474b206 100644 --- a/Code-C/power.h +++ b/Code-C/power.h @@ -1,4 +1,5 @@ #include #include -int power(int N , int M, double periode , double timeBandwidth); \ No newline at end of file +//bool power(int N , int M, double periode , double timeBandwidth); +void *threadCalcul(void *vargp); \ No newline at end of file diff --git a/Code-C/simulateFlux.c b/Code-C/simulateFlux.c index 7286853..0eea048 100644 --- a/Code-C/simulateFlux.c +++ b/Code-C/simulateFlux.c @@ -2,8 +2,6 @@ #include "initialParameters.h" #include "queue.h" -int cptData = 0; -int cptFile = 1; char* convertIntegerToChar(int N) { @@ -119,9 +117,6 @@ void *simulateFlux(void *vargp){ char *fileName = createNewRawDataFileName(); FILE *rawDataFile = fopen(fileName,"w+"); Pqueue rawDataQueue = createE(strlen(fileName)); - setTabChar(rawDataQueue , strlen(fileName) , fileName); - firstRawDataQueue = rawDataQueue; - printE(rawDataQueue); while(writeOneRawData(rawDataFile)){ if(cptData == nRow){ @@ -132,10 +127,8 @@ void *simulateFlux(void *vargp){ char *fileName = createNewRawDataFileName(); FILE *rawDataFile = fopen(fileName,"w+"); rawDataQueue = addLastQ(rawDataQueue , fileName , strlen(fileName)); - printE(rawDataQueue); + } } - printf("\n"); - printE(firstRawDataQueue); } diff --git a/Code-C/simulateFlux.h b/Code-C/simulateFlux.h index b9edec8..dd2b3d7 100644 --- a/Code-C/simulateFlux.h +++ b/Code-C/simulateFlux.h @@ -13,5 +13,9 @@ typedef struct { uint8_t octet4; } quartet; +extern int cptData; +extern int cptFile; + +char* convertIntegerToChar(int N); bool writeOneRawData(FILE *f); void *simulateFlux(void *vargp); \ No newline at end of file