Skip to content
This repository has been archived by the owner on May 25, 2024. It is now read-only.

Latest commit

 

History

History
87 lines (62 loc) · 2.79 KB

README.md

File metadata and controls

87 lines (62 loc) · 2.79 KB

S6i APP1 - Code de démarrage

Contient tout le code nécessaire pour résoudre l'APP et les exercices du laboratoire.

Requis

  • CMake 3.1 +
  • GCC 4.8 +
  • Python 3.6 +

Compilation

Pour compiler manuellement à partir du dossier du projet, faites :

mkdir -p build
cd build
cmake ../
make

Vous obtiendrez les exécutables dans le dossier en cours "build".

VS Code

Le dossier du projet peut être ouvert dans Visual Studio Code et utilise les extensions "Remote - Containers" (et donc Docker Desktop). Des configurations pour lancer dans le conteneur le code de l'APP et les trois premiers exercices du laboratoire sont disponibles. La compilation est également générée dans "build/". Attention ! L'environnement Docker n'est pas conçu pour la partie Python et la propagation d'ondes, incluant l'exercice 4 du laboratoire. On vous conseille plutôt d'exécuter cette partie directement sur votre ordinateur.

Contenu

CMakeLists.txt La configuration de la compilation. Vous pouvez changer le mode par défaut "Debug" pour "Release" ou "RelWithDebInfo". Attention, ceci provoque beaucoup plus d'erreurs ! Tentez d'exécuter le programme en "Debug" au départ pour mieux comprendre où sont les problèmes.

src/asset_conv.cpp Le coeur de l'APP et le code à modifier.

src/lab_ex?.cpp Les exercices du laboratoire

scripts/gen_tasks.py Permet de générer une liste de fichiers à traiter à partir d'un dossier. S'attend à être exécuté depuis le dossier build/. Vous pouvez donc faire :

mkdir output/
../scripts/gen_tasks.py ../data ./output/ 480 | ./asset_conv

Pour convertir toutes les images dans data/ vers le dossier build/output/ à une taille de 480 pixels.

scripts/multi_proc.py Un script Python permettant de lancer plusieurs sous-processus asset_conv. Attend la fin de la liste de tâches, puis divise en N sous-listes et les envoies à N sous-processus. S'attend aussi à être exécuté sous build/.

scripts/run_batch.sh Script bash à lancer depuis build/ pour faire la conversion automatique de tous les fichiers dans data/. Donne le temps d'exécution à la fin.

scripts/run_batch_mp.sh Comme run_batch.sh, mais pour multi_proc.py. Toujours à lancer depuis build/.

waveprop/ftdt_yee.py Le simulateur de propagation d'ondes. Lance une interface graphique qui simule la propagation dans le temps. Vous pouvez utiliser le fichier requirements.txt pour installer les dépendances :

pip3 install -r requirements.txt

Éléments importés

nanosvg: Pour le chargement et le dessin des fichiers SVG.

stb: Pour la compression et l'écriture en PNG.

Google Material design icons: pour les fichiers à traiter (sous-ensemble).