From 4474e3f07861a8c001fc8164e5704d5ab96d8873 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Phil=C3=A9mon=20Pr=C3=A9vot?= <philemon.prevot@gmail.com>
Date: Mon, 28 Oct 2024 16:33:46 +0100
Subject: [PATCH] Clean main branch

---
 CLOCK.CFG         |   2 -
 JConfig.CFG       |  21 -----
 Rapport2wavs.py   |  43 ---------
 RapportIMU2txt    | Bin 16280 -> 0 bytes
 RapportIMU2txt.c  | 130 --------------------------
 RapportInfo2txt   | Bin 17136 -> 0 bytes
 RapportInfo2txt.c | 112 ----------------------
 log2wav           | Bin 17376 -> 0 bytes
 log2wav.c         | 231 ----------------------------------------------
 plot_mpu.py       |  30 ------
 stdc2txt.py       |  26 ------
 trame IMU.txt     |  36 --------
 12 files changed, 631 deletions(-)
 delete mode 100755 CLOCK.CFG
 delete mode 100755 JConfig.CFG
 delete mode 100644 Rapport2wavs.py
 delete mode 100755 RapportIMU2txt
 delete mode 100755 RapportIMU2txt.c
 delete mode 100755 RapportInfo2txt
 delete mode 100755 RapportInfo2txt.c
 delete mode 100755 log2wav
 delete mode 100755 log2wav.c
 delete mode 100755 plot_mpu.py
 delete mode 100755 stdc2txt.py
 delete mode 100755 trame IMU.txt

diff --git a/CLOCK.CFG b/CLOCK.CFG
deleted file mode 100755
index c6ed75d..0000000
--- a/CLOCK.CFG
+++ /dev/null
@@ -1,2 +0,0 @@
-//System Configuration File
-CLOCKTIME= 01/12/2020 14:30:00;
\ No newline at end of file
diff --git a/JConfig.CFG b/JConfig.CFG
deleted file mode 100755
index 8c49eb4..0000000
--- a/JConfig.CFG
+++ /dev/null
@@ -1,21 +0,0 @@
-//System Configuration File
-
-Sampling_Resolution=16;	// 16 = Resolution in bits (8 or 16)
-Sampling_Freq=256000;	// 256000 = Sampling frequency(in sample					//per sec). Possibles values are 						//512000,256000, 128000,64000 With WidBand 				//Filters, or 512000, 								//128000,32000,8000 With Low Latency 						//filter
-Filter_Selection=1;	// = 1 ; filter selection. Possibles 						//values are:
-				//0->Wideband1 (0.45 to0.55)�fDATA
-				//1->Wideband2 (0.40 to0.50)�fDATA
-				//2->LowLatency
-				
-AutoStart=true;		// = true = Auto record at boot
-FILE_Size_Limit=150000000;//File Size limitation (in bytes) = 					     //150000000 for 5 minutes
-Record_Use_TimeInterval=true;	//Set or unset the discrete recording
-Shutdown_Duration=5;			//Time period of wait time between each record (in seconds)
-Preparing_Duration=5;	//Time to boot and prepare Pic 32 (SD Card or HDD is not the same)
-Recording_Duration=5;				//Time period of record (in seconds)
-Stopping_Duration=5;	//Time to stop Pic 32 (SD Card or HDD is not the same)
-Channel_Count=2;		//Number of channels to record
-Storage_Target=SD;		//Storage target (SD for SD card, HDD for hard disk drive or USB for Device mode)
-CNN_Detection_Timeout_Duration=30;
-GSM_Data_Send_Timeout_Duration=3;
-Nb_Remontes_Par_Jour=10;
diff --git a/Rapport2wavs.py b/Rapport2wavs.py
deleted file mode 100644
index 6239431..0000000
--- a/Rapport2wavs.py
+++ /dev/null
@@ -1,43 +0,0 @@
-import numpy as np
-import soundfile as sf
-import argparse
-
-parser = argparse.ArgumentParser()
-parser.add_argument('filename')
-args = parser.parse_args()
-
-RORQUAL_HOPSIZE, RORQUAL_WINSIZE, RORQUAL_FE, RORQUAL_SAMPLEPERSAMPLE, RORQUAL_LENSIG = 256, 4096, 4000, 25600, 60
-CACHA_HOPSIZE, CACHA_WINSIZE, CACHA_FE, CACHA_SAMPLEPERSAMPLE, CACHA_LENSIG = 256, 512, 64000, 12800, 60
-CACHA_RAPPORT_FE, RORQUAL_RAPPORT_FE, RAPPORT_N_CHANNELS = 128_000, 128_00, 5
-CACHA_NUM_DETEC, RORQUAL_NUM_DETEC = 10, 3
-rorqual_predPos = lambda p: int(((p * RORQUAL_HOPSIZE + (RORQUAL_WINSIZE/2 + RORQUAL_HOPSIZE * 13) / 2) / RORQUAL_FE - 1) * RORQUAL_RAPPORT_FE)
-cacha_predPos = lambda p: int(((p * CACHA_HOPSIZE * 8 + (CACHA_WINSIZE + CACHA_HOPSIZE * 7 * 6) / 4 ) / CACHA_FE - 0.05) * CACHA_RAPPORT_FE)
-
-file = open(args.filename, 'r')
-lines = iter(file.readlines())
-
-for l in lines:
-    if l == ' rorqual predPeaks\n':
-        l = next(lines)
-        if ',' in l:
-            sig = np.zeros((RORQUAL_LENSIG * RORQUAL_RAPPORT_FE, RAPPORT_N_CHANNELS), dtype='int16')
-            peaks = np.array(l[:-2].split(',')).astype(int)
-            l = next(lines)
-            for p in peaks[:RORQUAL_NUM_DETEC]:
-                l = next(lines)
-                samples = np.array(l[:-2].split(',')).astype('int16').reshape(-1, RAPPORT_N_CHANNELS)
-                sig[rorqual_predPos(p):rorqual_predPos(p)+RORQUAL_SAMPLEPERSAMPLE] = samples[:min(rorqual_predPos(p)+RORQUAL_SAMPLEPERSAMPLE, len(sig))-rorqual_predPos(p)]
-            sf.write(f'{args.filename[:-8]}_rorqual.wav', sig, RORQUAL_RAPPORT_FE)
-    if l == ' cacha predPeaks\n':
-        l = next(lines)
-        if ',' in l:
-            sig = np.zeros((CACHA_LENSIG * CACHA_RAPPORT_FE, RAPPORT_N_CHANNELS), dtype='int16')
-            peaks = np.array(l[:-2].split(',')).astype(int)
-            l = next(lines)
-            for p in peaks[:CACHA_NUM_DETEC]:
-                l = next(lines)
-                samples = np.array(l[:-2].split(',')).astype('int16').reshape(-1, RAPPORT_N_CHANNELS)
-                sig[cacha_predPos(p):cacha_predPos(p)+CACHA_SAMPLEPERSAMPLE] = samples
-            sf.write(f'{args.filename[:-8]}_cacha.wav', sig, CACHA_RAPPORT_FE)
-
-file.close()
diff --git a/RapportIMU2txt b/RapportIMU2txt
deleted file mode 100755
index 8247fd7cd7a3fa4b67b80eb790c6d10c7cbb191e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16280
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
VJ4_5j?*mnA3=9lXXd2MC3;_Ge#%TZm

diff --git a/RapportIMU2txt.c b/RapportIMU2txt.c
deleted file mode 100755
index bed0582..0000000
--- a/RapportIMU2txt.c
+++ /dev/null
@@ -1,130 +0,0 @@
-// by paul
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdbool.h>
-#include <math.h>
-
-#define NTOAS_MAX 200
-
-#define RORQUAL_SAMPLE_RATE 4000
-#define RORQUAL_LENSIG RORQUAL_SAMPLE_RATE*60 // load 60sec
-#define RORQUAL_WINSIZE 4096
-#define RORQUAL_LENSPEC (RORQUAL_LENSIG - RORQUAL_WINSIZE)/RORQUAL_HOPSIZE
-#define RORQUAL_HOPSIZE 256
-#define RORQUAL_LENPRED RORQUAL_LENSPEC - (5-1)*3 //3 layers of kernel size 5
-#define RORQUAL_RAPPORT_NSAMPLESTOSEND 3 // see cacha
-#define RORQUAL_RAPPORT_SAMPLE_RATE 12800
-#define RORQUAL_RAPPORT_SAMPLESPERSAMPLE 25600 // see cacha
-
-#define CACHA_SAMPLE_RATE 64000
-#define CACHA_LENSIG CACHA_SAMPLE_RATE*60 // load 10sec
-#define CACHA_WINSIZE 512
-#define CACHA_LENSPEC (CACHA_LENSIG - CACHA_WINSIZE)/CACHA_HOPSIZE
-#define CACHA_HOPSIZE 256
-#define CACHA_LENPRED (((CACHA_LENSPEC - 6)/2 - 6)/2 -6)/2 // 3 layers hopsize 2 kernel 7
-#define CACHA_RAPPORT_NSAMPLESTOSEND 10 // a sample is positionned at a high pred from the cnn, we extract the audio signal arround to send back via network
-#define CACHA_RAPPORT_SAMPLE_RATE 128000
-#define CACHA_RAPPORT_SAMPLESPERSAMPLE 12800// number of audio samples per high pred sample to send back
-
-#define RAPPORT_CHANNELS 5 // number of channels recorded to include in the report
-#define ADDITIONNAL_DATA_SIZE 736
-#define trameSize 31
-
-typedef struct{
-    float predsC[CACHA_LENPRED]; //len of preds for 10sec signal
-    short numDetectionsCachalot;
-    float predsR[RORQUAL_LENPRED]; //len of preds for 60sec signal
-    short numDetectionsRorqual;
-    char fileName[50];      //Nom du fichier concerne
-    // int ToAs_cacha[NTOAS_MAX];
-    // unsigned char hydros_ToAs_cacha[NTOAS_MAX];
-    short predPeaksR[RORQUAL_RAPPORT_NSAMPLESTOSEND]; //indices of predPeaks for rorqual
-    short predPeaksC[CACHA_RAPPORT_NSAMPLESTOSEND]; //indices of predPeaks for cachalot
-    unsigned char imuR[RORQUAL_RAPPORT_NSAMPLESTOSEND][ADDITIONNAL_DATA_SIZE];
-    unsigned char imuC[RORQUAL_RAPPORT_NSAMPLESTOSEND][ADDITIONNAL_DATA_SIZE];
-    int16_t samplesR[RORQUAL_RAPPORT_NSAMPLESTOSEND][RORQUAL_RAPPORT_SAMPLESPERSAMPLE][RAPPORT_CHANNELS]; // samples to send back for rorqual
-    int16_t samplesC[CACHA_RAPPORT_NSAMPLESTOSEND][CACHA_RAPPORT_SAMPLESPERSAMPLE][RAPPORT_CHANNELS]; // samples to send back for cachalot
-}RAPPORT;
-int main(int argc, char* argv[]){
-//  printf("Have you checked rorqual and cacha lensigs and config ?? (needs to match with pic32\'s)");
-  FILE* infile = fopen(argv[1], "rb");
-  if(infile==NULL){
-    printf("Failed to open input file\n");
-    return 0;
-  }
-  static RAPPORT rapport;
-  int i, j, timestamp;
-  unsigned char* curData;
-  short int val;
-  fread(&rapport, sizeof(RAPPORT), 1, infile);
-  printf("%d cacha and %d rorqual", rapport.numDetectionsCachalot, rapport.numDetectionsRorqual);
-    
-  strcpy(argv[1] + strlen(argv[1])-5, "_imuC.txt\0");
-  FILE* outfile = fopen(argv[1], "w+");
-  if(outfile==NULL){
-    printf("Failed to open output file\n");
-    return 0;
-  }
-  for(j=0; j<rapport.numDetectionsCachalot; j++){
-    curData = rapport.imuC[j] + 6;
-    while(curData + trameSize + 6 < rapport.imuC[j] + ADDITIONNAL_DATA_SIZE){
-      if(!(curData[0]==0xFE && curData[1]==0x0A && curData[2]==0x0A && curData[5]==0x08)){
-        // skip trame if header is incorrect
-        curData += trameSize + 6;
-        continue;
-      }
-      curData += 3 + 2; // skip trame header, trame length
-      timestamp = *((int*) (curData + 9));
-      timestamp = ((timestamp & 0xFF000000)>>24) | ((timestamp & 0x00FF0000)>>8) | ((timestamp & 0x0000FF00)<<8) | ((timestamp & 0x000000FF)<<24);
-      fprintf(outfile, "%d,", timestamp);
-      for(i=13; i<31; i+=2){
-        val = *((short int*) (curData + i));
-        val = ((val & 0x00FF)<<8) | ((val & 0xFF00)>>8);
-        if(i<29){
-          fprintf(outfile, "%hd,", val);
-        }else{
-          fprintf(outfile, "%hd\n", val);
-        }
-      }
-      curData += trameSize + 1;
-    }
-    fprintf(outfile, "\n");
-  }
-  fclose(outfile);
-
-  strcpy(argv[1] + strlen(argv[1])-5, "R.txt\0");
-  outfile = fopen(argv[1], "w+");
-  if(outfile==NULL){
-    printf("Failed to open output file\n");
-    return 0;
-  }
-  for(j=0; j<rapport.numDetectionsRorqual; j++){
-    curData = rapport.imuR[j] + 6;
-    while(curData + trameSize + 6 < rapport.imuR[j] + ADDITIONNAL_DATA_SIZE){
-      if(!(curData[0]==0xFE && curData[1]==0x0A && curData[2]==0x0A && curData[5]==0x08)){
-        // skip trame if header is incorrect
-        curData += trameSize + 6;
-        continue;
-      }
-      curData += 3 + 2; // skip trame header, trame length
-      timestamp = *((int*) (curData + 9));
-      timestamp = ((timestamp & 0xFF000000)>>24) | ((timestamp & 0x00FF0000)>>8) | ((timestamp & 0x0000FF00)<<8) | ((timestamp & 0x000000FF)<<24);
-      fprintf(outfile, "%d,", timestamp);
-      for(i=13; i<31; i+=2){
-        val = *((short int*) (curData + i));
-        val = ((val & 0x00FF)<<8) | ((val & 0xFF00)>>8);
-        if(i<29){
-          fprintf(outfile, "%hd,", val);
-        }else{
-          fprintf(outfile, "%hd\n", val);
-        }
-      }
-      curData += trameSize + 1;
-    }
-    fprintf(outfile, "\n");
-  }
-  fclose(outfile);
-  fclose(infile);
-  return 0;
-}
diff --git a/RapportInfo2txt b/RapportInfo2txt
deleted file mode 100755
index 5c219b675b4d844bca1774f3c33385fe0afaf5ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 17136
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

diff --git a/RapportInfo2txt.c b/RapportInfo2txt.c
deleted file mode 100755
index 39d7c5d..0000000
--- a/RapportInfo2txt.c
+++ /dev/null
@@ -1,112 +0,0 @@
-// by paul
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdbool.h>
-#include <math.h>
-
-#define NTOAS_MAX 200
-
-#define RORQUAL_SAMPLE_RATE 4000
-#define RORQUAL_LENSIG RORQUAL_SAMPLE_RATE*60 // load 60sec
-#define RORQUAL_WINSIZE 4096
-#define RORQUAL_LENSPEC (RORQUAL_LENSIG - RORQUAL_WINSIZE)/RORQUAL_HOPSIZE
-#define RORQUAL_HOPSIZE 256
-#define RORQUAL_LENPRED RORQUAL_LENSPEC - (5-1)*3 //3 layers of kernel size 5
-#define RORQUAL_RAPPORT_NSAMPLESTOSEND 3 // see cacha
-#define RORQUAL_RAPPORT_SAMPLE_RATE 12800
-#define RORQUAL_RAPPORT_SAMPLESPERSAMPLE 25600 // see cacha
-
-#define CACHA_SAMPLE_RATE 64000
-#define CACHA_LENSIG CACHA_SAMPLE_RATE*60 // load 10sec
-#define CACHA_WINSIZE 512
-#define CACHA_LENSPEC (CACHA_LENSIG - CACHA_WINSIZE)/CACHA_HOPSIZE
-#define CACHA_HOPSIZE 256
-#define CACHA_LENPRED (((CACHA_LENSPEC - 6)/2 - 6)/2 -6)/2 // 3 layers hopsize 2 kernel 7
-#define CACHA_RAPPORT_NSAMPLESTOSEND 10 // a sample is positionned at a high pred from the cnn, we extract the audio signal arround to send back via network
-#define CACHA_RAPPORT_SAMPLE_RATE 128000
-#define CACHA_RAPPORT_SAMPLESPERSAMPLE 12800// number of audio samples per high pred sample to send back
-
-#define RAPPORT_CHANNELS 5 // number of channels recorded to include in the report
-#define ADDITIONNAL_DATA_SIZE 736
-
-typedef struct{
-    float predsC[CACHA_LENPRED]; //len of preds for 10sec signal
-    short numDetectionsCachalot;
-    float predsR[RORQUAL_LENPRED]; //len of preds for 60sec signal
-    short numDetectionsRorqual;
-    char fileName[50];      //Nom du fichier concerne
-    // int ToAs_cacha[NTOAS_MAX];
-    // unsigned char hydros_ToAs_cacha[NTOAS_MAX];
-    short predPeaksR[RORQUAL_RAPPORT_NSAMPLESTOSEND]; //indices of predPeaks for rorqual
-    short predPeaksC[CACHA_RAPPORT_NSAMPLESTOSEND]; //indices of predPeaks for cachalot
-    unsigned char imuR[RORQUAL_RAPPORT_NSAMPLESTOSEND][ADDITIONNAL_DATA_SIZE];
-    unsigned char imuC[CACHA_RAPPORT_NSAMPLESTOSEND][ADDITIONNAL_DATA_SIZE];
-    int16_t samplesR[RORQUAL_RAPPORT_NSAMPLESTOSEND][RORQUAL_RAPPORT_SAMPLESPERSAMPLE][RAPPORT_CHANNELS]; // samples to send back for rorqual
-    int16_t samplesC[CACHA_RAPPORT_NSAMPLESTOSEND][CACHA_RAPPORT_SAMPLESPERSAMPLE][RAPPORT_CHANNELS]; // samples to send back for cachalot
-}RAPPORT;
-
-int main(int argc, char* argv[]){
-//  printf("Have you checked rorqual and cacha lensigs and config ?? (needs to match with pic32\'s)");
-  FILE* infile = fopen(argv[1], "rb");
-  if(infile==NULL){
-    printf("Failed to open input file\n");
-    return 0;
-  }
-  strcpy(argv[1] + strlen(argv[1])-4, "txt\0");
-  FILE* outfile = fopen(argv[1], "w+");
-  if(outfile==NULL){
-    printf("Failed to open output file\n");
-    return 0;
-  }
-  static RAPPORT rapport;
-  fread(&rapport, sizeof(RAPPORT), 1, infile);
-  printf("Writing into %s with %d fin whale pulses and %d sperm whale clicks \n", argv[1], rapport.numDetectionsRorqual, rapport.numDetectionsCachalot);
-  int i, j, k;
-  fprintf(outfile, "Filename : %s \n", rapport.fileName);
-  fprintf(outfile, "\n rorqual preds\n");
-  for(i=0; i<RORQUAL_LENPRED; i++){
-    fprintf(outfile, "%f,", rapport.predsR[i]);
-  }
-  fprintf(outfile, "\n rorqual predPeaks\n");
-  for(i=0; i<rapport.numDetectionsRorqual; i++){
-    fprintf(outfile, "%hd,", rapport.predPeaksR[i]);
-    printf("%f ", rapport.predsR[rapport.predPeaksR[i]]);
-  }
-  if(rapport.numDetectionsRorqual > 0){
-    printf("\n");
-  }
-  fprintf(outfile, "\n rorqual samples\n");
-  for(i=0; i<rapport.numDetectionsRorqual; i++){
-    for(j=0; j<RORQUAL_RAPPORT_SAMPLESPERSAMPLE; j++){
-      for(k=0; k<RAPPORT_CHANNELS; k++){
-        fprintf(outfile, "%hd,", rapport.samplesR[i][j][k]);
-      }
-    }
-    fprintf(outfile, "\n");
-  }
-  fprintf(outfile, "cacha preds\n");
-  for(i=0; i<CACHA_LENPRED; i++){
-    fprintf(outfile, "%f,", rapport.predsC[i]);
-  }
-  fprintf(outfile, "\n cacha predPeaks\n");
-  for(i=0; i<rapport.numDetectionsCachalot; i++){
-    fprintf(outfile, "%hd,", rapport.predPeaksC[i]);
-    printf("%f ", rapport.predsC[rapport.predPeaksC[i]]);
-  }
-  if(rapport.numDetectionsCachalot > 0){
-    printf("\n");
-  }
-  fprintf(outfile, "\n cacha samples\n");
-  for(i=0; i < fmin(rapport.numDetectionsCachalot, CACHA_RAPPORT_NSAMPLESTOSEND); i++){
-    for(j=0; j<CACHA_RAPPORT_SAMPLESPERSAMPLE; j++){
-      for(k=0; k<RAPPORT_CHANNELS; k++){
-        fprintf(outfile, "%hd,", rapport.samplesC[i][j][k]);
-      }
-    }
-    fprintf(outfile, "\n");
-  }
-  fclose(infile);
-  fclose(outfile);
-  return 0;
-}
diff --git a/log2wav b/log2wav
deleted file mode 100755
index 948f72d1c49145a50b4ea4fef4e846c1afee5eb6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 17376
zcmb<-^>JfjWMqH=W(GS35KllHBH{p{7!qut3<d@U2L=lUZUzSiIR;q<HU<U;7O)sZ
z9;O~fXD~s;VKfJX%fJlPw*o4UPRl^m!Dx`1KtdoIWFLr)4NqW)h{9+F0SF(Yj}^p(
z@?qjI`Y$&~l7Rt6!^A=Q!1gIX<QdRt39z9I3@{p5A1G{I=tA_putlYxK>hszO2hPl
zxFCH$p!$A5^}*-|AO|rpFu-V7c!Jyr!bd;`FfcHn(=HI}8DKO>El4QfX-Nu*{Xz-E
zV_-n1Lm<KoFdC#5Boz3xBn9M75Sthb3-%zGeNg|Qhl>Q%{V*EpT?YM}%p@}t{hSot
zoXot^3f&3|GhH(iz2ba5BXIf?VPF8KDR;k61_z_;2QG~h-#@wcy>gAu=c6T??rVbF
z4RQm>JdhfYn?Y$1Y8?ZJhRH+x)d*4oix!59spoRR0yv0D1_pT2Kvu%bz`!7cEC6Mj
z;1HL`Ar3MFgrVBulr;|ZfjGpiaEODl4L0+q;_#Om4s#@Nh=al%oB5z*fK7Y}4tt##
z7#N^Q6&?m)Mp}MBY92#cNor0GLqTatF+*`lQ4UC?I5jn!AuTy4zc`g4H!&wCKbaw|
zyeP9Il_9MtH8F)Dt)M6~uOy8jK0di3F+MFbFEJ;xDwQEVJ|{CNIlj0gv8W_IH!(Ah
z0mKI-I5P%!A5SOecq2U{JyV8w&k*1El+>cs^vvRt)S?hy=bZe!)R4ra9FQ65x%qie
zGvXmiu_^@lfQbPWGQjyD79#^ALox#cJUy05WpaYVVTlr!k6`7&2Wa{I0a|{*#5X|2
zJD>$LOdQ6)VGnW(1GroV#TkUh!0-S`9F$gI;xCZIxnP0}3=AKT#QBlLe;|p2@*7M_
z0_q-+*`T}#6IVbI2jy3oxCW9qC~w2W4Uoj4MKf5+0!bW_zrn%`4oKp#umH(;Ac=E=
z1fVzoNgP^bfMp_(#CgCX5F!Cd98?xSL>U+|ki_|5f}`|k2#kinXb6mkz-S1JhQMeD
z&>;jon%{7EbhF;oXJGJXJy62*|AI&J5st%foBx|W(q~}!ulhuvfq`G%f#JU@h@SzH
zfBE45|NsA0Z|O5IWPqBAFE4=kmq2__6Yk{!F#i;Y4{Ex-+yLeu0`WmjwwDXQ{9PbE
zsHygH0+_!E#0NFeUN(UFt3Z5Ev+!jBn7;_b2Q}4RCV=^~KzvXW?PUO%KMBMKHAP=K
zfcZlD3=C-#Kn@0B$8g6m$56+R&|r_oH!m0%7(6;lR1BK`GxGPzurM%qbi1e+IClQ^
z=rujb58_sEyqNj_|9_887ZnYU)&u-4Nvt5@7!{3OAU_&@^XR<)A|0&a{tJ6B?V@4<
zR=JQFq_Rdu!|;;fw-?U;|NnPv{>#eW(ge1rMn%J;cZ<pb1_lPhONMV>6tgif>;ic!
zjelQ@%1Q<X2L63pR8}xBFmxXL_REKV-vj=A2l&^2=yXxZ=x$Njz`(#T^ZUO}7Zn$u
z<R6_Unjd_(5#XPCsNtsq|I`C5hxl9nu`n=nw}371=mxu@w}8bX`P++~|G+L`;%`|F
zc8QCMfk&^YBgDG`FIN47cvr!rxkg2SfxqQ63j;$M|Gp_;$9VMCs1)o3wR}B#P2=?#
z7(OrU-lDPv)cf87b`)4a8vni?upc@vq;*bFX#<6G^0)3ODr*=R7}7d>R3?G_cf#@8
zo6adJ9U#v7i~Q?DR5H>!TU0=i1&RoZ&M7KAV69Ui-q5_@(foqNW2VRVe~$e7uI$qR
zYdq-D?W3Z=zurZ~g@65_-T;-(7L^&Ga0^i>*#%0NFP{Ge`<R)(-;IfZ!Q;4#iU%ky
zcqH!uJK3l6w<rJlJ1-{u{r?{%2J#Ik!UJB^{r&%+f8QRk&-vHasAPbIBRrD-zexG}
z|Nk);l{`j}2nX1;9?dVnyoAmdKAlgSA22pQW$AEH$>*1MVPNp-E>Vd9IaCAeB#&fB
zp!sxuf3fq=|NkHv50BQ9B?|o8LR9jgLF&`_T`5E*pMTq>7faX}7(n(h_;lB(1b~zy
z3<9MEpU(d;3jX~6-|eE}(t3cu50tK&UoiS4=cr`38h-O=J^*%`giq&#<_An5M+<=6
z<pPh`ZXXp6pU!`-h6h|bFT1v0s<Q#*chBZO9Q@60j0_AOt#A2T=Q1)d__jVN5#-;-
z*1-r$Ap#8it@9Zf7#y1qF#0gQ^kBT_YI&&i1jvO7pmfLK)A`Jo@wq4ezRRA?#~5Ek
z|M~yl$GSvCqO=7RY6c#?wr6-i8Kr>3@W6|^zd>P9qoVQRGl<n|yMu>;!L#$IM=whQ
z7$1DV1d9I}6$_8fV}=J_toaQxE=MJSzh@>W;r810@-Q&G2nFfxu2E5Vkqu>Oyhwzy
zJUm+em&m;c`u+d^YjKzxesIIx5D8M(cmz~97#@g@b&PS0b&PY2KkU(K+XgcG=db_&
zU*CgjH01$1zCz+f5lCC7i;4#*^S3SlrKMimR9*&#7bid()~12O+oQLV!=szcqw|z!
z=SPp`=RZ6&e|dB=dUd;~{qWSh=)?HPqxsPfuTB@mA0ExWIQW~EfPB@-qXH5(JmA^Q
z!|2h;!|u_1fWyP`LeYDVZXT7F4gdcC=a+8)rRi?APDZD07qvf5oi2)hUZ#O%To@Rf
z__w>L{YwLh{(Bh!G80tN8D0WK5xgMs=yp)x-zL%U+mL_Cp%)Js8OSe@KxVWq0%hLr
z5)})NUfT^^3=D<`_JZ@{_n-g&`*i;E=(XJh7Jc#T=l}ow+aN{8OMOs4_S*VzF)+O7
z{rUg@%Y3kNV^j=$x{EnLIcE9K|NlLDP5ZbQ7#xqgu>CDhEMxHKuI7004kXd(qN4E9
z{x>M+e)Q<Ioy85Z_(e0wBvp_}y|(MQ85mv|fdoYU{r_+H_T`>m|Nlec$MCIZ=fyaW
z&PN{2Pd)^M`1G=#0u_?Iyvbn7cF)iM|No0F(_mou0*z1GPE7^|k6zX$5M}wJMAW03
zwN3++Uk;RT{(k_Cm%~unqt`YPq_EdC2t;ZA^XUBGaqykJ$H5=W9*oC4F8(VK@#tm^
zg&M%|{{h5ZF#Qd-qM8g045j*^9?iC98lV8~d|JZe(QUg+gMr}%@6Z4LUu69M|Nj{4
zTMY&V##op>82z&P|NsAKdi?S&pwz-J!7<dc^Q%Ya&wZd8*)b&4qw}v%=lkH!%aCHK
z`3=Vl$shm!d-m3{cyzu53+@9|d@q<Gq8xBhaLm5_4pz&FDta9v$^#b#S@z-}L{tD(
zbTvd&1XXk@L{tJU3bw5tA}RwH1)H1s{r~^g+x)GdI@HzhiDN^p1cPU9tO9=@s2+mF
zL+5?CF0fg~-$7}rn$e^4rDO9EMu<<rGLjG(CRFvz5K(4S(YN2grl5wENAqE}7ni^N
z|L@4Z&sD<3@<DwgsF4LJS`I_v*Ri{l!K2r<kPVzzuYnYIm$D#4j(|k?_my&Z^xA@&
z3Wf(>Y=jDNdi2_sLG;Z733Zq9c=Xy<LPUBXA_5-0w)GH^Du{@PN3U%<JJ_}ikO=?2
zQVEY<+Zu>aC`hQgRK}y%HX5SM`P={hFW3J2|33|pdidoTI)9`cJir0+1SCO0+E<>P
zXB|U)lAnQ+Q?N&GJR7K)*>b70(4*H?+lTR~Pp@q%8v}!f<<T-fi2oa`|CMStR5Nmw
zsy0+Jah1w9RI_rFO1g9>^EvXLaj{fYR%2kO$?@oQR)yxf096mmSH=7uorgU-FTCCl
zi`V8O9FTwom)R5ex0Ul59`NY3UCqkC@S^T3sGKR~_vp1<%L?{;4n#!Iqt|vLL?r6#
z|Nk#T{{R2)()q}v*K{W<1A|ZJd&2`S0>A$M@3;>%i1%754VHm?I{$%XJ)4g)z0m*q
z|GyLe_7G#%w1bB@`1fD(Z2l)(ddH*JGyrZ2_g9d~sv)Wj3@`Oi@*>z@j^RGNw*E>C
z431%*o!7v*(=o)c^G~Qpudag<14FQn=3h`?zHt8X|G&q<zsx1lhPV0U8GJfF`E<T>
z>3r_^U*x_=^I=90%e$qo5XlT28vODMhe0I<sLhYk$_JMPqr_+kjE2An3jsz3CWegE
z#FW$`h2qSrR0S&q)f6s<vecsD%=|osywcpH)FP-Ll#`#Pkerd2R}2*`N-fUMDJ{v&
z&vVKwfe98T<`(2+=B2w8r52W^<|S7`6{qATI_2aiX9pv!D#^@E4K7K{E$~kZ2F<lW
zRr&^mDg-6wrGs6Rk>bw902YB;22z%h0uc>{+NOYF9Y|I+MTbE(BSnXyD2c%>F*7GM
zMWG~L0W?#nkeOFdTB4AanUl&;oSj)vkeZ^9np;p(2^IpGUd+V+l7$3|Mp9)-YO$t*
zYEFs*7eh*73Dh4Tn^VEQQO!x=Vkl2yDA#7-RZs;51OrI5swxAh#$W&iu78?iN=hau
zsPYnXTtH@&rlrAy7n1NGf$X2=T2Yc(l$V$jkXn>kkda!Hm;-WC3TRvdtS~saD6^nM
zAulyGr5NO=q*R6E#2k<Z%QH(d6cS4ma#9nEOB4(h5{uGHb5rv`al^%l<ZXq##N1Q`
z4ZWQFbg-W_xi~fQ3!tvkRLCzafdvp$VR>R1HifwbrC?#Gs^ns<s>)J}lJbjF6*LSL
z^cBkTGgCmVSOx|LMDkHkO;O0pFHtBiEhxw@DoIUIs7x(UD9$e`s^nrok3EoEkX(o%
z4{{WWJfk$THE0b3XrRdA?f?Iv{_&5u|Noz0U|`^Q_y2zlBLjoRm;e6@7#J8NzW)FJ
zfPsM_;`{&qGK>ri8Q=f^H(+F7Sn=ck{|k%^3>-iI|A(zl0IfR!MF?Y65Cda{0HZVy
zJI4e@b^(w$Xzj{|&;S2xgA_n9NF2mORnNen!oa`)Qa|C%|NjR-3it%v_$0jexyv~k
z80@92wTxB3)7~KcpfwyCZ~y-XjTV8Fg0KYx149f01B1br|No7c7#J9w_yl^HeEB4L
zm>u~P+F0EAG@4nx`3#sN8M*j09QhO+`6Qh91f2Ld+_^#Xu%H1GlW+h3g9h3_=79!C
zK!Y^~-~RtM1T}-5_yqcyocJXAn4S0(dRbigG<sNF_zc?ET=*=S***9im@>KeEFAd^
z9Qiby_!OLA#yfE{1TZi#{9s^UXnFJhzZ7U>56vtmkXeo(vm8NYx$`YxVwPp$;<IqZ
zFwGG(@&s}pC=7fU85k~n`~N={Bmg$k6XZTuJ{0$PK+JT=!sa^geEJkd28I{k{{IJg
z6J*pV9u0xf5Eu=C(GVC7fzc2c4T0eh0<iUfu=Rhiwhm}bA;^F5HEW>8AOi!W)55^O
z@I@LV%fJ9y*9l_5))_*D8DMQtDUc*+-5+$lA*d}25`xKp{r5i~%m>W`GcYiKCVWBs
z6QChm2FQ9t5Z?eQ59{dc0|_!PFu>Y<5>UP<l!j4IZJ@>JU?ETw7{uU!dKA=d2JvC-
zTj(-Kh7M4Bl!1W(CVm3yFqpf+ZE*$$22j5Nq#tJg@Ba}0fVvML@qbYM3aI}7P(IXp
zh7VAF8&v)$ln-||$dCcRuyy6=R+~Z7fg6+#gVJeGx(rIULFs8wdKr}72BnWd>1$9L
z-5wYpw*C~xhtWZvZf>ByQMhB6Yg%rJ0>~Ixn8MV6y5k_WyR);Ef`&_KQf6YFf}w$)
zk)ENhnI@E_U}RuqXkch)08)t`GczzU!1f~`t7K+ig0HJb6=!C60ZVX563h%N3>;V@
zn3;i<0hZ2@lru0hura{$1FASX11#O3igPf)(i^HcCj%@Uql$CE(>tm-H)3Hik_0mY
z4+A*Bk;FhuW(Hn{2cU=magZ=G10TZ&tm6Feas){^12d@i1=~-7B*Dxe$N<}ifF#Vo
z%pk<zpo}a6VKXxbGr-CvhzNvaW)NY3t$&7yKuBf=Q3h=3o|!?60k-}bq7p(fGl;{>
z6^ICgWM+_HXn?Ncg@`~%W(G-yGg!r8r6fchhy<l&7KV@iL2P6UD(@H>BpEJ1&4Ct^
z3?LJ*saItHtp?{~aDWwTP{Y)r;st2ppnU*L415f*`T(jN+*b$L3v)lneIPl|*a9P#
z@N9;f53655YC*W4fq{V$OT6H6|2nXGAqEkUM?eN3VQl{01C|%Yh~Kkdb1>ug8dN=c
zI(Z2e$4qa3z~*4ayE79goH6r@5F==x2Oq-+XvGK%HzlZe0LbH@wLVY@ZAR?-MNWam
zG1HYh*c`B9QHTf};#rKKEG>bN4hwOp2aR(HF=6J@798qd;t-$C$iN`TAi=Nznr=Z$
zbU+SXg+u)bs5{Z~(N(Z|J_ZJ8g$o|jVqjo+0Tu_Dh>HK<5a(mU9?r5%3=D!y5)A0|
zjuuE9sa%5PJ4+@={7!(zFL=y}fq}sjERO0H5HAKS&d1;Yjdyta0=$PqlHmq4d_ZbJ
z_#D{%d<?LCcd#+TY_K^X6{xtD2^7DW<xD47J)#^2kGC-}F!X`NQOyAH7T^%y3<?J(
z33&MfQVYWSafIhhCLH^6a`MxS$`i}<k{NOnE8v6udIk*1MJ2^0rD<t;$qb0?Gw~(4
z@yVbKG{p?@@hSQ7={fmHi8=8pCHY0g@rk7s49WSq1v#lDsVRB}*j0db@MOj(78NB{
z#;4|$6jd^$6(#1T#;26#=2kMq$0PCLGxIV_P?W~Uy9GJ=y2iWuxx~ja#G@)mVTgB$
z^mFv}bVii{ZxLdMk9YSAjd%5cn&9CQ#1QZ9<L~6?6YuZl7VH`lAL8ib;|ekrw2>%2
zxwsVUREC1YqT*EFfKbTxAVg4vAnzms?Pzj9-gX4uyM!VVp9*dVL3TQ!$Ut^Np$LU1
zmZf@tr+wm6QqvMkb4oBbJfUcaj|Z6!*~$cQvQK`xTV@W_6xc2*6g}Y0SSTX#@u(Z3
z;!}$A<1-TTQb3!fJpJQ~OHwlP;!BHDQ((>k1rsQmpj)?4Oe@Lv$t)?!Np;Oj$xO^+
zNCWNkLQxPOpHy57bu)Mi7kHBxiW10HFchKq_z+)bSP}s3?!vld3w65~iUACI#g(}w
ziAfB4#U(`$Is?Ya%qvMPDqzsd%P&dQOV2CSODfIGNzu(rfeJY~dFqxVrZa%$G7^h3
z81zyq^NK5TA#_O*L<TxRhr)?3V$dr}%}E4lfU*j5N*MIO!KYV{Q=*riU&5eQl3G#1
zpqG}Jm&u@4ln;tk2EEh_XuiluDMIidS|J$(q65ZGsmx2v%}izhnFunOK@Vb1QgJbZ
zUUGgeXub(lT2PKb#Vx4Hgf*{W?Q$3m>u17j0;z?uK{Tkj2r7GF`qB5rg8CL9bubJo
z?_qp1Xx|W~AJ)!?(df-rbp4=tif{k_=fm{F`U5Z;W<RuB2=7nB?DvEAePQ}x{RS94
z1L|Q=Hx|T%^;@CUCPNr#WiGgl1~C!Vzkt!O{xw7v)MkURAaoo90|Tfp3$q{A4}sC(
zNhzfMJWL&o&Sqd>0QHSwd{}=4M#I7n-Te^T85pXd`@~`TVf`8y4eOtyhab%UpjAnr
zI05Y&1(^x!@55-=_y9;hsELdoetqC}AYyz1)HDE@1EWEDz<ekHvJ1)tQ=Mq~Vf`r>
z4Rb$OF}Q62VZpjlQ_%Fo`du&@=3a;{26*~`iO)sT59^=7Xhu*+1Ev|tewff=H2tvg
zAQ;UFQwXKe{SR7%2TGT)_=9hfhDQ8zxCF!in7bi728NAL`(esp{X!TGn$v};1<~mC
z??=-Q>p#Ni8z9GlG(s`D{U;e17(n|oVcmFG{{gnIA6-3+52LSwmZ(GXAjk?>fAj-r
z<1=jV2qXc;FnuukA#`jEW<RXo`U9#Tb`Ah2|A35u>4T*o(7Z0li!lAL{_PEYkZJ}7
z&<aur3qr#5!{}Gg@Pp}RfVEqp<0zo{a)?d{3DXCoKcne~weuUG`h6hU;3PCz!1+I+
zVFa@u)-OE+)ej%Hgz7+#|9?>Xp~|7E7#LvsLH%R6AXF`g4+=9F4NH3<J`DeW8khm9
zT%dFJdQi85)WFIgQ2v0q9V8CJ37`pk(D*8v;V^q)>I9L}4onP0hk!QzgX$(U4QN~j
E0NP{y0RR91

diff --git a/log2wav.c b/log2wav.c
deleted file mode 100755
index 0e1363f..0000000
--- a/log2wav.c
+++ /dev/null
@@ -1,231 +0,0 @@
-// Jan. 2021
-// by paul, inspired / recycled from microchip code by SMIOT
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdbool.h>
-#include <math.h>
-
-#define MAX_PERIPHERAL 5                   //Nombre max de peripheriques externes
-
-typedef struct{
-    char Type;                                       //type du peripherique (0x01 accel, 0x02 gyro, 0x03 magneto, 0x04 temperature, 0x05 pressure, 0x06 light,...)
-    char ID;                                         //ID du peripherique
-    char Range;                                      //Range de la mesure (ex: 2G, 4G, 6G, 8G, 16G pour un accel)
-    char Resolution;                                 //Resolution de mesure du peripherique
-    short Frequency;                                  //Frequence d'echantillonage du peripherique
-}PERIPHERAL_CONFIGURATION;
-
-typedef struct{
-    int headerSize;       //Taille du header ce champ exclu
-    int versionNumber;
-    char numberOfChan;
-    char resolutionBits;
-    int samplingFrequency;
-    int dmaBlockSize;
-    int sizeOfAdditionnalDataBuffer;
-    char numberOfExternalPeripheral;
-    int timeStampOfStart;
-    PERIPHERAL_CONFIGURATION periphConfig[MAX_PERIPHERAL];
-}HighBlueHeader;
-
-struct WaveHeader_s {
-    char chunkId[4]; // Riff Wave Header
-    int  chunkSize;
-    char format[4];
-    char subChunk1Id[4]; // Format Subchunk
-    int  subChunk1Size;
-    short int audioFormat;
-    short int numChannels;
-    int sampleRate;
-    int byteRate;
-    short int blockAlign;
-    short int bitsPerSample;
-    //short int extraParamSize;
-    char subChunk2Id[4]; // Data Subchunk
-    int  subChunk2Size;
-} WaveHeader_default = {{'R','I','F','F'}, 36, {'W','A','V','E'}, {'f','m','t',' '}, 16, 1, 0, 0, 0, 0, 0, {'d','a','t','a'}, 0};
-typedef struct WaveHeader_s WaveHeader;
-
-
-void parseLogFileHeader(FILE* logfile, HighBlueHeader* hdr, int verbose){
-  // header parse
-  fread(&hdr->headerSize, 4, 1, logfile);
-  fread(&hdr->versionNumber, 2, 1, logfile);
-  fread(&hdr->numberOfChan, 1, 1, logfile);
-  fread(&hdr->resolutionBits, 1, 1, logfile);
-  fread(&hdr->samplingFrequency, 4, 1, logfile);
-  fread(&hdr->dmaBlockSize, 4, 1, logfile);
-  fread(&hdr->sizeOfAdditionnalDataBuffer, 4, 1, logfile);
-  fread(&hdr->numberOfExternalPeripheral, 1, 1, logfile);
-  fread(&hdr->timeStampOfStart, 4, 1, logfile);
-  if(verbose){
-    printf("header size : %d\n", hdr->headerSize);
-    printf("version number : %d\n", hdr->versionNumber);
-    printf("number of chans : %d\n", hdr->numberOfChan);
-    printf("resolutionBits : %d\n", hdr->resolutionBits);
-    printf("samplingFrequency : %d\n", hdr->samplingFrequency);
-    printf("dmaBlockSize : %d\n", hdr->dmaBlockSize);
-    printf("sizeOfAdditionnalDataBuffer : %d\n", hdr->sizeOfAdditionnalDataBuffer);
-    printf("numberOfExternalPeripheral : %d\n", hdr->numberOfExternalPeripheral);
-    printf("timeStampOfStart : %d\n", hdr->timeStampOfStart);
-  }
-  // load external periph config
-  for(int i=0; i<hdr->numberOfExternalPeripheral; i++){
-      fread(&hdr->periphConfig[i].Type, 1, 1, logfile);
-      fread(&hdr->periphConfig[i].ID, 1, 1, logfile);
-      fread(&hdr->periphConfig[i].Range, 1, 1, logfile);
-      fread(&hdr->periphConfig[i].Resolution, 1, 1, logfile);
-      fread(&hdr->periphConfig[i].Frequency, 2, 1, logfile);
-  }
-  return;
-}
-
-short int toLittleEndian(short int val){
-  return val = ((val & 0x00FF)<<8) | ((val & 0xFF00)>>8);
-}
-
-void parseMPU(unsigned char* additionnalDataBlock, int size, bool verbose, FILE* mpuFile){
-  static int maxtimeStamp = 0;
-  int i, timestamp;
-  short int trameSize = 31, val; // fixed for now
-  unsigned char* curData = additionnalDataBlock + 6; // first 6 bytes are for usb device
-  if(verbose){
-    printf("MPU Range : %hdG\n", *(curData + 5 + 3));
-    printf("MPU Resolution : %hd\n", *(curData + 5 + 3 + 1));
-    printf("MPU Sampling Frequency : %hd\n", *(curData + 5 + 3 + 3));
-  }
-  while(curData + trameSize + 6 < additionnalDataBlock + size){
-    if(!(curData[0]==0xFE && curData[1]==0x0A && curData[2]==0x0A && curData[5]==0x08)){
-      // skip trame if header is incorrect
-      curData += trameSize + 6;
-      continue;
-    }
-    curData += 3 + 2; // skip trame header, trame length
-    timestamp = *((int*) (curData + 9));
-    timestamp = ((timestamp & 0xFF000000)>>24) | ((timestamp & 0x00FF0000)>>8) | ((timestamp & 0x0000FF00)<<8) | ((timestamp & 0x000000FF)<<24);
-    if(timestamp > maxtimeStamp){
-      fprintf(mpuFile, "%d,", timestamp);
-      //printf("%d\n", timestamp);
-      // treat payload
-      for(i=13; i<31; i+=2){
-        val = *((short int*) (curData + i));
-        val = ((val & 0x00FF)<<8) | ((val & 0xFF00)>>8);
-        //printf("curData %x %x %hd", *(curData+i), *(curData + i +1), val);
-        if(i<29){
-          fprintf(mpuFile, "%hd,", val);
-        }else{
-          fprintf(mpuFile, "%hd\n", val);
-        }
-      }
-      maxtimeStamp = timestamp;
-    }
-    curData += trameSize + 1; // shift of trame size + 1 byte of checksum
-  }
-}
-
-int main(int argc, char* argv[]){
-  if(argc < 2){
-    printf("Script needs to be called with at least 1 arguments :\n\t input file name (.log file)\n\t(optionnal) output filename (.wav file)\n\t(optionnal) mpu filename (.csv file)\n\t(optionnal) verbose (1 / void)\n");
-    return 0;
-  }
-  HighBlueHeader hdr;
-  FILE* logfile = fopen(argv[1], "rb");
-  if(logfile==NULL){
-    printf("Failed to open input file\n");
-    return 0;
-  }
-  // get file size
-  fseek(logfile, 0, SEEK_END);
-  long filesize =  ftell(logfile);
-  if(filesize == 0){
-    printf("skipped empty file : %s\n", argv[1]);
-    return 0;
-  }
-  fseek(logfile, 0, SEEK_SET);
-  int verbose = 0;
-  if(argc==5){
-    verbose = *argv[4]=='1';
-  }
-  // file opened successfully, we read the header
-  parseLogFileHeader(logfile, &hdr, verbose);
-  int resolutionBytes = hdr.resolutionBits/8;
-  long dataBlockSampleSize = hdr.dmaBlockSize / ( hdr.numberOfChan  * resolutionBytes);
-  if(verbose){
-    printf("file size (bytes) %ld \n", filesize);
-    printf("dataBlockSampleSize %ld\n", dataBlockSampleSize);
-  }
-  if(hdr.resolutionBits!=16 && hdr.resolutionBits!=24 && hdr.resolutionBits!=32){
-    printf("resolution %d not supported yet sorry\n", hdr.resolutionBits);
-    return 0;
-  }
-  // move to start of the data
-  fseek(logfile, hdr.headerSize + 4, SEEK_SET);
-
-  FILE* wavfile;// open wav file
-  if(argc>2){
-    wavfile = fopen(argv[2], "wb");
-  }else{
-    strcpy(argv[1] + strlen(argv[1])-3, "wav\0");
-    wavfile = fopen(argv[1], "wb");
-  }
-  if(wavfile==NULL){
-    printf("Failed to open wav output file\n");
-    return 0;
-  }
-  WaveHeader whdr = WaveHeader_default;
-  whdr.numChannels = hdr.numberOfChan;
-  whdr.sampleRate = hdr.samplingFrequency;
-  whdr.bitsPerSample = hdr.resolutionBits;
-  whdr.byteRate = whdr.sampleRate * whdr.numChannels * resolutionBytes;
-  whdr.blockAlign = whdr.numChannels * resolutionBytes;
-  whdr.chunkSize = 36 + (filesize - hdr.headerSize - 4) / (hdr.dmaBlockSize + hdr.sizeOfAdditionnalDataBuffer) * hdr.numberOfChan * dataBlockSampleSize * resolutionBytes;
-  whdr.subChunk2Size = whdr.chunkSize-36;
-  fwrite(&whdr, sizeof(WaveHeader), 1, wavfile);
-
-  FILE* mpuFile = NULL;  // open mpu file
-  if(argc>3){
-    mpuFile = fopen(argv[3], "w+");
-    if(mpuFile==NULL){
-      printf("Failed to open mpu output file\n");
-      return 0;
-    }
-  }
-  // }else{
-  //   strcpy(argv[1] + strlen(argv[1])-4, "_mpu.csv\0");
-  //   mpuFile = fopen(argv[1], "w+");
-  //   argv[1][strlen(argv[1])-8] = '\0';
-  // }
-
-  char* dmaBlock = (char*) malloc(hdr.dmaBlockSize);
-  char* additionnalDataBlock = (char*) malloc(hdr.sizeOfAdditionnalDataBuffer);
-  char* samples = (char*) malloc(hdr.numberOfChan * resolutionBytes);
-  int ichan, isample;
-  long pos = 0;
-  bool isFirst = true;
-  // read each dataBlock
-  do{
-    fread(additionnalDataBlock, hdr.sizeOfAdditionnalDataBuffer, 1, logfile);
-    if(mpuFile != NULL){
-      parseMPU(additionnalDataBlock, hdr.sizeOfAdditionnalDataBuffer, isFirst && verbose, mpuFile);
-      isFirst = false;
-    }
-    fread(dmaBlock, hdr.dmaBlockSize, 1, logfile);
-    for(isample=0; isample<dataBlockSampleSize; isample++){
-      for(ichan=0; ichan<hdr.numberOfChan; ichan++){
-        memcpy(samples + ichan * resolutionBytes, dmaBlock + (ichan * dataBlockSampleSize + isample) * resolutionBytes, resolutionBytes);
-      }
-      fwrite(samples, resolutionBytes, hdr.numberOfChan, wavfile);
-    }
-    printf("\r %s : ", argv[1]);
-    pos = ftell(logfile);
-    printf(" %ld%%", pos*100/filesize);
-  }while(pos < filesize - 1);
-  printf("\r\n");
-  fclose(wavfile);
-  fclose(logfile);
-  if(mpuFile!=NULL){
-    fclose(mpuFile);
-  }
-  return 0;
-}
diff --git a/plot_mpu.py b/plot_mpu.py
deleted file mode 100755
index de164d6..0000000
--- a/plot_mpu.py
+++ /dev/null
@@ -1,30 +0,0 @@
-import numpy as np
-import matplotlib.pyplot as plt
-import os
-
-
-time, accelX, accelY, accelZ, gyroX, gyroY, gyroZ, magX, magY, magZ = [], [], [], [], [], [], [], [], [], []
-
-for f in os.listdir('./'):
-    if not f.endswith('mpu.csv'):
-        continue
-    print(f)
-    plt.figure()
-    plt.title(f)
-    a = np.loadtxt('./'+f, delimiter=',')
-    time.extend(a[:,0])
-    accelX.extend(a[:,1])
-    accelY.extend(a[:,2])
-    accelZ.extend(a[:,3])
-    gyroX.extend(a[:,4])
-    gyroY.extend(a[:,5])
-    gyroZ.extend(a[:,6])
-    magX.extend(a[:,7])
-    magY.extend(a[:,8])
-    magZ.extend(a[:,9])
-
-plt.scatter(time, magX, label='x')
-plt.scatter(time, magY, label='y')
-plt.scatter(time, magZ, label='z')
-plt.legend()
-plt.show()
diff --git a/stdc2txt.py b/stdc2txt.py
deleted file mode 100755
index bb54fe4..0000000
--- a/stdc2txt.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import os
-import argparse
-import torch
-import numpy as np
-
-parser = argparse.ArgumentParser()
-parser.add_argument("stdc")
-args = parser.parse_args()
-
-os.system('rm output_stdc.txt')
-
-f = open('output_stdc.txt', 'a')
-m = torch.load(args.stdc)
-
-for k in m.keys():
-    m[k] = m[k].squeeze().cpu()
-    f.write(k+'\n')
-    if len(m[k].shape) == 0:
-        f.write(str(m[k].item())+'\n')
-    elif len(m[k].shape) == 1:
-        f.write(",".join(m[k].numpy().astype(str))+'\n')
-    else :
-        for l in m[k].squeeze():
-            f.write(",".join(l.numpy().astype(str))+'\n')
-    f.write('\n')
-
diff --git a/trame IMU.txt b/trame IMU.txt
deleted file mode 100755
index 6cf00b8..0000000
--- a/trame IMU.txt	
+++ /dev/null
@@ -1,36 +0,0 @@
-           commandSPISentUART = HS_DATA_PACKET_FULL_TIMESTAMP;
-            indexpayloadSPISentUART = 0;
-//            uint16_t payloadLength = SET_RTCC_DU_RECORDER_AUDIO_LENGHT;
-//            uint8_t payload[payloadLength];
-            uint32_t timstampNow = GetFullTimestamp();
-            payloadSPISentUART[indexpayloadSPISentUART++] = 0x08;//Type IMU
-            payloadSPISentUART[indexpayloadSPISentUART++] = 0x01;//Sensor ID
-            payloadSPISentUART[indexpayloadSPISentUART++] = 9;//Sensor ID
-            payloadSPISentUART[indexpayloadSPISentUART++] = 4;//Range 4G
-            payloadSPISentUART[indexpayloadSPISentUART++] = 16;//16 bits resolution
-            payloadSPISentUART[indexpayloadSPISentUART++] = 0;//Sampling freq 100 Hz
-            payloadSPISentUART[indexpayloadSPISentUART++] = 100;//Sampling freq 100 Hz
-            payloadSPISentUART[indexpayloadSPISentUART++] = 0;//Nb samples
-            payloadSPISentUART[indexpayloadSPISentUART++] = 1;//Nb samples
-            payloadSPISentUART[indexpayloadSPISentUART++] = BREAK_UINT32(timstampNow, 3);//supervisorState.localTime.year;
-            payloadSPISentUART[indexpayloadSPISentUART++] = BREAK_UINT32(timstampNow, 2);//supervisorState.localTime.month;
-            payloadSPISentUART[indexpayloadSPISentUART++] = BREAK_UINT32(timstampNow, 1);//supervisorState.localTime.day;
-            payloadSPISentUART[indexpayloadSPISentUART++] = BREAK_UINT32(timstampNow, 0);//supervisorState.localTime.hour;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subAccel.Accel_X_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subAccel.Accel_X_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subAccel.Accel_Y_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subAccel.Accel_Y_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subAccel.Accel_Z_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subAccel.Accel_Z_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subGyro.Gyro_X_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subGyro.Gyro_X_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subGyro.Gyro_Y_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subGyro.Gyro_Y_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subGyro.Gyro_Z_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subGyro.Gyro_Z_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subMag.Mag_X_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subMag.Mag_X_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subMag.Mag_Y_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subMag.Mag_Y_Low;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subMag.Mag_Z_High;
-            payloadSPISentUART[indexpayloadSPISentUART++] = ICM20948_subMag.Mag_Z_Low;
-- 
GitLab