diff --git a/.gitignore b/.gitignore index dbfcb74..a6f0ee9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,110 +1,110 @@ -# ---> Matlab -##--------------------------------------------------- -## Remove autosaves generated by the Matlab editor -## We have git for backups! -##--------------------------------------------------- - -# Windows default autosave extension -*.asv - -# OSX / *nix default autosave extension -*.m~ - -# Compiled MEX binaries (all platforms) -*.mex* - -# Simulink Code Generation -slprj/ - -# Session info -octave-workspace - -# Simulink autosave extension -*.autosave -*.slxc - -#spice -*.raw -*.log - -# A .gitignore for Keil projects. -# Taken mostly from http://www.keil.com/support/man/docs/uv4/uv4_b_filetypes.htm - -# User-specific uVision files -*.opt -*.uvopt -*.uvoptx -*.uvgui -*.uvgui.* -*.uvguix.* - -# Listing files -*.cod -*.htm -*.i -*.lst -*.map -*.m51 -*.m66 -# define exception below if needed -*.scr - -# Object and HEX files -*.axf -*.b[0-3][0-9] -*.hex -*.d -*.crf -*.elf -*.hex -*.h86 -*.lib -*.obj -*.o -*.sbr - -# Build files -# define exception below if needed -*.bat -*._ia -*.__i -*._ii -*.scvd - -# Generated output files -/Listings/* -/Objects/* -DebugConfig -RTE -# Debugger files -# define exception below if needed -*.ini - -# Other files -*.build_log.htm -*.cdb -*.dep -*.ic -*.lin -*.lnp -*.orc -# define exception below if needed -*.pack -# define exception below if needed -*.pdsc -*.plg -# define exception below if needed -*.sct -*.sfd -*.sfr - -# Miscellaneous -*.tra -*.bin -*.fed -*.l1p -*.l2p -*.iex - -# To explicitly override the above, define any exceptions here; e.g.: -# !my_customized_scatter_file.sct +# ---> Matlab +##--------------------------------------------------- +## Remove autosaves generated by the Matlab editor +## We have git for backups! +##--------------------------------------------------- + +# Windows default autosave extension +*.asv + +# OSX / *nix default autosave extension +*.m~ + +# Compiled MEX binaries (all platforms) +*.mex* + +# Simulink Code Generation +slprj/ + +# Session info +octave-workspace + +# Simulink autosave extension +*.autosave +*.slxc + +#spice +*.raw +*.log + +# A .gitignore for Keil projects. +# Taken mostly from http://www.keil.com/support/man/docs/uv4/uv4_b_filetypes.htm + +# User-specific uVision files +*.opt +*.uvopt +*.uvoptx +*.uvgui +*.uvgui.* +*.uvguix.* + +# Listing files +*.cod +*.htm +*.i +*.lst +*.map +*.m51 +*.m66 +# define exception below if needed +*.scr + +# Object and HEX files +*.axf +*.b[0-3][0-9] +*.hex +*.d +*.crf +*.elf +*.hex +*.h86 +*.lib +*.obj +*.o +*.sbr + +# Build files +# define exception below if needed +*.bat +*._ia +*.__i +*._ii +*.scvd + +# Generated output files +/Listings/* +/Objects/* +DebugConfig +RTE +# Debugger files +# define exception below if needed +*.ini + +# Other files +*.build_log.htm +*.cdb +*.dep +*.ic +*.lin +*.lnp +*.orc +# define exception below if needed +*.pack +# define exception below if needed +*.pdsc +*.plg +# define exception below if needed +*.sct +*.sfd +*.sfr + +# Miscellaneous +*.tra +*.bin +*.fed +*.l1p +*.l2p +*.iex + +# To explicitly override the above, define any exceptions here; e.g.: +# !my_customized_scatter_file.sct diff --git a/Affichage_Valise.h b/Affichage_Valise.h new file mode 100644 index 0000000..782be9d --- /dev/null +++ b/Affichage_Valise.h @@ -0,0 +1,78 @@ + +/* Fichier devant contenir l'ensemble de fichiers utiles pour le projet LaserQuest +et qui concenent l'affichage sur la valise */ +/* mais non disponible en version source pour les étudiants. */ + +#ifndef _AFFICHAGE_VALISE_H__ +#define _AFFICHAGE_VALISE_H__ +#include "stm32f10x.h" + + +/** + * @brief Initialise les périphériques nécessaires à l'affichage sur la Mallette + * et gère la cible active. S'utilise aussi avec les ùmodules affichages simple (pas de mallette) + * @note Utilise TIM1, PA5, PA6 pour les cibles, PC7 à PC9 pour SPI émulé + * utilise aussi une interruption sut TIM1, prio 8. + * @param none + * @retval None + */ +void Init_Affichage(void); + + +/** + * @brief Prépare l'affichage 2 digit sur l'afficheur demandé + * @note Exemple : Prepare_Afficheur(2, 99); + * prépare l'affichage de la valeur 99 sur l'afficheur n°2 + * L'action est différée à l'exécution de Mise_A_Jour_Afficheurs_LED() + * @param char Aff : de 1 à 4 ; char Valeur de 0 à 99 + * @retval None + */ +void Prepare_Afficheur(char Aff, char Valeur); + + + +void Prepare_Set_Point_Unite(char Aff); +void Prepare_Clear_Point_Unite(char Aff); + + +/** + * @brief Prépare l'allumage de la LED demandée + * @note Exemple : Prepare_Set_LED(LED_Cible_2); + * prépare l'allumage de la LED correspondant à la cible n°2 + * L'action est différée à l'exécution de Mise_A_Jour_Afficheurs_LED() + * @param voir #define ci-dessous + * @retval None + */ +void Prepare_Set_LED(char LED); +void Prepare_Clear_LED(char LED); + + +/** + * @brief Effectue l'action d'écriture dans le module d'affichage + * à partir de tout ce qui a été préparé auparavant. + * @note + * @param None + * @retval None + */ +void Mise_A_Jour_Afficheurs_LED(void); + +/** + * @brief Spécifie le capteut actif, à savoir celui effectivement relié + * aux sorties disponibles sur la malette + * @note Exemple : Choix_Capteur(1) + * @param 1 à 4 + * @retval None + */ +void Choix_Capteur(char Capteur); +// define utile pour la fonction Prepare_Set_LED et Prepare_Clear_LED +#define LED_LCD_R 5 +#define LED_LCD_V 4 +#define LED_Cible_4 3 +#define LED_Cible_3 2 +#define LED_Cible_2 1 +#define LED_Cible_1 0 + + + +#endif + diff --git a/LICENSE b/LICENSE index c690c65..651d658 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ -Copyright 1989, 1991, 1992 by Carnegie Mellon University -Derivative Work - 1996, 1998-2000 Copyright 1996, 1998-2000 The Regents of the University of California -All Rights Reserved -Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of CMU and The Regents of the University of California not be used in advertising or publicity pertaining to distribution of the software without specific written permission. -CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright 1989, 1991, 1992 by Carnegie Mellon University +Derivative Work - 1996, 1998-2000 Copyright 1996, 1998-2000 The Regents of the University of California +All Rights Reserved +Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of CMU and The Regents of the University of California not be used in advertising or publicity pertaining to distribution of the software without specific written permission. +CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md index ba29950..63650fb 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,70 @@ -# chti23 - -**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/VOTRE_COMPTE/chti23.git - - - -### 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/VOTRE_COMPTE/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 - - - -Les fichiers sont visibles et partagés ! - - - +# chti23 + +**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/VOTRE_COMPTE/chti23.git + + + +### 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/VOTRE_COMPTE/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 + + + +Les fichiers sont visibles et partagés ! + + + diff --git a/Signal.m b/Signal.m new file mode 100644 index 0000000..6fcd6c7 --- /dev/null +++ b/Signal.m @@ -0,0 +1,38 @@ +clc +clear + +N = input('Nombre d''échantilllons pour ce signal : '); +Frel = input('Fréquence normalisée (nombre de périodes dans la durée totale) : '); +Ph0 = input('Phase a l''origine (en degrés) : '); +Ph0 = Ph0 * pi / 180.0; % a present en radian + +Ampl = 2048; +Offset = 2048; +%% Création du fichier .asm + +fileID = fopen(['Signal.asm'], 'w'); +fprintf(fileID,'\tAREA Signal, DATA, READONLY\n'); +fprintf(fileID,'\texport LeSignal\n'); + +fprintf(fileID,'LeSignal\n'); + +for i = 1: N + % fonction a modifier en fonction des besoins + Sig(i) = Offset + Ampl * cos( 2*pi*Frel*(i-1)/N + Ph0 ); + % arrondi + iSig = int16(Sig(i)); + % bornage du signal similaire a la sortie brute de l'ADC 12 bits + if ( iSig < 0 ) + iSig = 0; + end + if ( iSig > 4095 ) + iSig = 4095; + end + + fprintf(fileID,'\tDCW\t0x%04x\t; %2d %4d %7.5f\n',iSig, i-1, iSig, double(iSig) / 4096.0 ); + +end + +fprintf(fileID,'\tEND\n'); +fclose(fileID); +plot(Sig); \ No newline at end of file