From da46bbc126cef24b232cc3e8e6759bf2f1977331 Mon Sep 17 00:00:00 2001 From: acco Date: Mon, 30 Jan 2023 15:09:43 +0100 Subject: [PATCH] README et rapport avec .gitignore --- .gitignore | 3 +- README.md | 127 +++++++++++++++++++++++++++++++++++++- rapport.md | 20 ++++++ signal/matlab/scriptDFT.m | 31 ++++++++++ signal/matlab/simDFT.slx | Bin 0 -> 21371 bytes 5 files changed, 178 insertions(+), 3 deletions(-) create mode 100644 rapport.md create mode 100644 signal/matlab/scriptDFT.m create mode 100644 signal/matlab/simDFT.slx diff --git a/.gitignore b/.gitignore index baf9b1f..ee603e5 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,6 @@ slprj/ octave-workspace # Simulink autosave extension -.autosave +*.autosave +*.slxc diff --git a/README.md b/README.md index 3e50efc..d3516e1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,127 @@ # chti23 -Dépôt commun pour le BE chti : -Chacun sur ça branche de type grpE_NOM1_NOM2 +**Si vous ouvrez ce fichier README.md avec `Visual Code Studio`, faites CTRL+K,V pour visualiser le contenu.** + +Dépôt commun pour le BE chti : +Chaque binome travaille sur ça branche de type grpE_NOM1_NOM2. + +## Guide de travail Git +--- + +Une fois l'[installation](#installation) et la branche faite voilà le *workflow* conseillé en TP chez soi à chaque séance de travail. + + + 1) Vérifier que l'on est bien sur sa branche grpX_NOM1_NOM2 (sinon faire git checkout NOMDEBREANCHE) et récuppérer tout ce qu'il y a de nouveau sur le dépôt : + +git status +git pull + +Là normalement il n'y a pas de conflit... Sinon il faudra les régler et faire un commit (demander à chatGPT ou au prof) + +2) Vous travaillez et modifiez vos fichiers en local. +3) A la fin d'une séance de travail ou d'une étape il faut enregistrer une version nouvelle de son travail (faire un "commit") et pour cela ajouter les nouveautés à enregistrer (faire des "add"). Un git status permet de voir ou on en est et faire ses add. On peut aveuglément tout ajouter. + +git pull +git status +git add * --dry-run + +Là vérifier ce que dit le `dry-run` (essai à vide) et que tout ira bien. N'ajouter que du code source pas de fichiers générés parasites etc. + +git add * +git commit -am "TP1 pas fini de rien comprendre" +git push + + + +## Installation +___ + +Pour celles qui conaisse git voilà le résumé : + + +git clone https://git.etud.insa-toulouse.fr/acco/chti23.git + + +Une branche par binôme (pas de fork au cas où on veule faire des modifs de fichier pour toutes) + + + git checkout -b grpX_Nom1_Nom2 + + touch rapport_be.md & echo "modifiez et complétez ce fichier" + + git add rapport_be.md + + git commit -am "Mise en place faite" + + git push + + +### Clone +--- + +* Lancez git bash : "menu windows tapez Git et sélectionnez Git Bash" pour vérifier qu'il est bien installé +* Placez vous où bon vous semble et faites un clic droit puis `Git Bash Here`, puis faite un clone du dépot git (hébergé par l'INSA grâce aux étudiantes du club Info) avec la ligne de commande : + + git clone https://git.etud.insa-toulouse.fr/acco/chti23.git + + +* Pour vérifier, naviguer dans le répertoire `chti23`, faites un clic droit et `Git Bash Here` et tentez de faire la fameuse commande : + + git status + + +> Il se peut qu'un message parlant de **répertoire non secure** s'affiche et propose une ligne de commande dans le message qui doit resembler à : +> git config --global --add safe.directory '%(prefix)///netapp1/GNIAGNIAGNIA...' +> Faites un copier-coller de cette commande et exécutez-la. +> La commande git status doit enfin fonctionner + +### Créez votre branche grpX_NOM1_NOM2 +--- + +Prenons l'exemple du binôme Marie Curie et Maryam Mirzakhani de 3MIC groupe Q. Une fois ressucitées, l'une d'elles se logue sur son compte, clone le dépot et crée sa propre branche locale : + + +curie@srv-tp$ git checkout -b grpQ_Curie_Mirzakhani + +curie@srv-tp$ cd signal/matlab/ + +curie@srv-tp$ matlab + + +Là Marie modifie le code avec chatGPT puis crée une nouvelle version locale : faire un commit. +Supposons que le `scriptDFT.m` + +curie@srv-tp$ git status + +curie@srv-tp$ git add signal/matlab/scriptDFT.m + +curie@srv-tp$ git commit -am "Première modif pour voir" + + +A ce moment cette nouvelle version n'existe que dans le .git local de Marie. Si Maryam fait un clone du dépôt de M. Acco elle n'aura pas les nouveautées ni la branche... + + +maryam@srv-tp$ git clone https://git.etud.insa-toulouse.fr/acco/chti23.git + +maryam@srv-tp$ git branch -l + + +Ne montre que la branche `master`. Il faut que Marie envoie ses nouveautés sur le dépot d'origin : faire +un `push`: + + +curie@srv-tp$ git push + + +C'est fait ! Maintenant Maryam peut récupérer les nouveauté du dépôot d'origine en local : faire un `pull` + + +maryam@srv-tp$ git pull + +maryam@srv-tp$ git checkout grpQ_Curie_Mirzakhani + + +Les fichiers sont visibles et partagés ! + + + diff --git a/rapport.md b/rapport.md new file mode 100644 index 0000000..db074e3 --- /dev/null +++ b/rapport.md @@ -0,0 +1,20 @@ +# Rapport CHTI de NOM1 et NOM2 grpX + + +Si vous éditez ce rapport avec visual code studio faites CTRL+K V pour visualiser. + +> TODO Changez vos nomsdans le titres + +Un exemple de [lien interne vers README](README) + +D'équation latex $\hat{S}[n] = \sum s[k] e^{i.\omega.k T_e. n \frac{F_e}{M}}$ + +Ce lien externe [vers une doc de markdown](https://www.markdownguide.org) + + +# Signal + + +# Elec + +# Logiciel diff --git a/signal/matlab/scriptDFT.m b/signal/matlab/scriptDFT.m new file mode 100644 index 0000000..3f15a93 --- /dev/null +++ b/signal/matlab/scriptDFT.m @@ -0,0 +1,31 @@ +clear all; +close all; + +%% Paramètres +T = 0.25; % Fenêtre d'observation +M=32; % Nombre d'échantillons dans la fenêtre + + +%% Paramètres déduits +Te = T/M; % Période d'échantillonnage +Tsim = T-Te; % Instant final de simulation +Fsin = 4 ; +%% Calculs préliminaires + + +%% Lancement de simulink +out=sim("simDFT") + +%% Visualisations temporelle +plot(out.sin_continu,'.-'); +hold on; +plot(out.sin_echanti,'o'); +grid on; + +%% Calcul DFT + + +%% visualisation DFT +figure(); + + diff --git a/signal/matlab/simDFT.slx b/signal/matlab/simDFT.slx new file mode 100644 index 0000000000000000000000000000000000000000..5f5f7e4ab2743aca9a76753c8eb0ee2c2862c0f9 GIT binary patch literal 21371 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 Mp?m$j&FZ&*0H}C=qyPW_ literal 0 HcmV?d00001