diff --git a/Code-C/average.c b/Code-C/average.c index 79dbf4a..6784b7d 100644 --- a/Code-C/average.c +++ b/Code-C/average.c @@ -11,11 +11,11 @@ * @param N number of rows in p * @param M number of columns in p */ -void averageCalculation(long **p, double averageArray[] , int N, int M){ - for(int i = 0; i < M-1; i++){ +void averageCalculation(long **p, double averageArray[]){ + for(int i = 1; i < nCol; i++){ int j = 0; averageArray[i] = 0; - while(j < N){ + while(j < nRow -1){ averageArray[i] += p[i][j]; j++; } diff --git a/Code-C/getArray.c b/Code-C/getArray.c index dd3f1fe..847a793 100644 --- a/Code-C/getArray.c +++ b/Code-C/getArray.c @@ -69,9 +69,9 @@ bool checkArrayFullyFill(long **p, int N , int M){ * @param N number of rows in array */ void freeArray(long **p, int N) { - int i; - for(i = 0 ; i < N ; i++) + for(int i = 0 ; i < N ; i++){ free(p[i]); + } free(p); } @@ -85,13 +85,13 @@ void freeArray(long **p, int N) { */ long **getRawDataArray(char* rawDataFileName , int N , int M){ long **p; - p = get(N, M); - fillArrayWithRawData(rawDataFileName,p ,N, M); - if(checkArrayFullyFill(p,N,M)){ + p = get(nRow, nCol); + fillArrayWithRawData(rawDataFileName,p ,nRow, nCol); + //if(checkArrayFullyFill(p,nRow)){ //clearRawData(N); return p; - } + /*} else{ return NULL; - } + }*/ } \ No newline at end of file diff --git a/Code-C/getArray.h b/Code-C/getArray.h index 6a501b1..6d75887 100644 --- a/Code-C/getArray.h +++ b/Code-C/getArray.h @@ -8,4 +8,4 @@ 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 +bool checkArrayFullyFill(long **p, int N ); \ No newline at end of file diff --git a/Code-C/initialParameters.h b/Code-C/initialParameters.h index ba11617..7d2040d 100644 --- a/Code-C/initialParameters.h +++ b/Code-C/initialParameters.h @@ -6,6 +6,8 @@ extern int nRow; extern int nCol; extern double freqEch; +extern int cptFile; + extern double period; extern double invTimeBandWidth; diff --git a/Code-C/main.c b/Code-C/main.c index 9957208..3d5de0c 100644 --- a/Code-C/main.c +++ b/Code-C/main.c @@ -64,6 +64,12 @@ void *threadCalculBoth(void *vargp){ int main(int argc , char** argv){ + for(int i = 0 ; i < 8 ; i++){ + if(selectionCaptors[i]){ + nCol++; + } + } + rawDataWriteFlag = true; period = 1 / freqEch; diff --git a/Code-C/simulateFlux.c b/Code-C/simulateFlux.c index 3066bf3..e4f9a98 100644 --- a/Code-C/simulateFlux.c +++ b/Code-C/simulateFlux.c @@ -80,6 +80,16 @@ int64_t millis() return ((int64_t) now.tv_sec) * 1000 + ((int64_t) now.tv_nsec) / 1000000; } + +int lastIndexCaptor(){ + int lastIndex = 0; + for(int i = 1 ; i < 8 ; i++){ + if(selectionCaptors[i]){ + lastIndex = i; + } + } + return lastIndex; +} /** * @brief write one lign of rawData in the file @param rawDataFile (simulate of freq of the Vegetal Signals Captor) * @@ -106,7 +116,7 @@ bool writeOneRawData(FILE *rawDataFile){ strncpy(&buff[8], buff2, 18); } } - int maxCApteurNb = maxInArray(selectionCaptors,sizeSelectionArray); + int lastIndex = lastIndexCaptor(); for (int i = 1; i < 9; i++){ if(intInArray(i,selectionCaptors,sizeSelectionArray)==0){ value.octet1 = buff[3*i+1]; @@ -117,8 +127,7 @@ bool writeOneRawData(FILE *rawDataFile){ valbin[i] = buff[3*i+1]*256*256*256 + buff[3*i+2]*256*256 + buff[3*i+3]*256; memcpy(&values[i], &valbin[i], sizeof(uint32_t)); - - if(i==maxCApteurNb){ + if(i==lastIndex){ fprintf(rawDataFile, "%d\n", values[i]/256); } else{