Merge branch 'master' of https://codefirst.iut.uca.fr/git/antoine.perederii/IUT
commit
13736bec78
Binary file not shown.
@ -1,26 +1,80 @@
|
||||
#CC : le compilateur à utiliser
|
||||
CC=g++
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(TP6_Bordel)
|
||||
|
||||
#CFLAGS : les options de compilation
|
||||
CFLAGS= -std=c++17 -Wall
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
# Ajout de l'option -03 pour un niveau plus élevé d'optimisation
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||
|
||||
# les fichiers sources : tous les fichiers présents dans src/
|
||||
SRC=$(wildcard src/*.cpp)
|
||||
# Ajouter les fichiers source de votre projet
|
||||
file(GLOB_RECURSE SOURCES "src/*.cpp")
|
||||
|
||||
# les fichiers objets (.o)
|
||||
OBJ=$(patsubst src/%.cpp,obj/%.o,$(SRC))
|
||||
# Afficher un message au début de la compilation
|
||||
message("Début de la compilation")
|
||||
|
||||
# Créer une cible pour l'exécutable
|
||||
add_executable(TP6_Bordel ${SOURCES} src/main.cpp src/Dame.h src/Dame.cpp src/Brigand.h src/Brigand.cpp src/Cowboy.h src/Cowboy.cpp src/Sheriff.cpp src/Barman.h src/Barman.cpp)
|
||||
|
||||
#edition des liens : génération de l'exécutable à partir des .o
|
||||
bin/exe: $(OBJ)
|
||||
$(CC) $(OBJ) -o $@
|
||||
# Options de compilation pour le debug
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall")
|
||||
|
||||
# génération des .o à partir des .cpp et .hpp crrespondants :
|
||||
obj/%.o: src/%.cpp
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
# Tâche de compilation
|
||||
add_custom_target(build
|
||||
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target all
|
||||
COMMENT "Compilation en cours..."
|
||||
)
|
||||
|
||||
#nettoyage : destruction des .o et de l'exécutable
|
||||
clean:
|
||||
rm obj/*.o bin/exe
|
||||
# Tâche de nettoyage
|
||||
add_custom_target(clean_all
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/
|
||||
COMMENT "Nettoyage en cours..."
|
||||
)
|
||||
|
||||
# Tâche de débogage
|
||||
add_custom_target(debug
|
||||
COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Debug ${CMAKE_SOURCE_DIR}
|
||||
COMMENT "Configuration de la compilation en mode debug..."
|
||||
)
|
||||
|
||||
# Afficher un message au début du debug
|
||||
message("Début du debug")
|
||||
|
||||
# Tâche pour exécuter l'exécutable généré
|
||||
add_custom_target(run
|
||||
COMMAND $<TARGET_FILE:TP6_Bordel>
|
||||
COMMENT "Exécution de l'exécutable..."
|
||||
)
|
||||
|
||||
# Tâche pour exécuter l'exécutable généré avec valgrind
|
||||
add_custom_target(run_valgrind
|
||||
COMMAND valgrind --leak-check=full $<TARGET_FILE:TP6_Bordel>
|
||||
COMMENT "Exécution de l'exécutable avec valgrind..."
|
||||
)
|
||||
|
||||
# Tâche pour exécuter l'exécutable généré avec gdb
|
||||
option(BUILD_DOC "Build documentation" ON)
|
||||
|
||||
# Indique que la construction de la documentation est une option et l'active par défaut
|
||||
option(BUILD_DOC "Build documentation" ON)
|
||||
|
||||
# On vérifie que Doxygen est installé
|
||||
find_package(Doxygen)
|
||||
if (DOXYGEN_FOUND)
|
||||
# Défini les fichiers d'entrée et de sortie
|
||||
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in)
|
||||
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||
|
||||
# Demande de configuration du fichier
|
||||
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
|
||||
message("Doxygen build started")
|
||||
|
||||
# Option ALL qui permet de construire les documents en même temps que l'application
|
||||
add_custom_target( doc_doxygen ALL
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Doxygen"
|
||||
VERBATIM )
|
||||
else (DOXYGEN_FOUND)
|
||||
message("Doxygen need to be installed to generate the doxygen documentation")
|
||||
endif (DOXYGEN_FOUND)
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,71 @@
|
||||
/*
|
||||
Faire clignoter une led toutes les secondes
|
||||
*/
|
||||
|
||||
int cpt1=0;
|
||||
int cpt2=0;
|
||||
int cpt3=0;
|
||||
int led1=11;
|
||||
int led2=12;
|
||||
int led3=13;
|
||||
// La fonction setup est exécutée une fois à la mise en secteur de la carte ou si le bouton reset est actionné
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(led1, OUTPUT); // La broche 2 est initialisée en sortie.
|
||||
pinMode(led2, OUTPUT); // La broche 3 est initialisée en sortie.
|
||||
pinMode(led3, OUTPUT); // La broche 4 est initialisée en sortie.
|
||||
digitalWrite(led1, HIGH);
|
||||
digitalWrite(led2, HIGH);
|
||||
digitalWrite(led3, HIGH);
|
||||
}
|
||||
|
||||
|
||||
// La fonction loop est exécutée en boucle indéfiniment
|
||||
|
||||
void loop()
|
||||
{
|
||||
if(cpt == 3){
|
||||
digitalWrite(led1, LOW);
|
||||
}
|
||||
if(cpt == 4) {
|
||||
digitalWrite(led2, LOW);
|
||||
}
|
||||
if(cpt == 5) {
|
||||
digitalWrite(led3, LOW);
|
||||
}
|
||||
if(cpt = 6) {
|
||||
digitalWrite(led1, HIGH);
|
||||
}
|
||||
if(cpt == 8){
|
||||
digitalWrite(led1, HIGH);
|
||||
}
|
||||
if(cpt == 10) {
|
||||
digitalWrite(led2, HIGH);
|
||||
cpt=1;
|
||||
}
|
||||
delay(1000);
|
||||
cpt++;
|
||||
// swith(cpt) {
|
||||
// case 3:
|
||||
// digitalWrite(led1, LOW);
|
||||
// break;
|
||||
// case 4:
|
||||
// digitalWrite(led1, LOW);
|
||||
// break;
|
||||
// case 5:
|
||||
// digitalWrite(led1, LOW);
|
||||
// break;
|
||||
// case 6:
|
||||
// digitalWrite(led1, LOW);
|
||||
// break;
|
||||
// case 8:
|
||||
// digitalWrite(led1, LOW);
|
||||
// break;
|
||||
// case 10:
|
||||
// digitalWrite(led1, LOW);
|
||||
// break;
|
||||
// cpt=0;
|
||||
// }
|
||||
// cpt++
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
/*
|
||||
Faire clignoter une led toutes les secondes
|
||||
*/
|
||||
|
||||
int i=2;
|
||||
int bt=9;
|
||||
int val;
|
||||
|
||||
// La fonction setup est exécutée une fois à la mise en secteur de la carte ou si le bouton reset est actionné
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(2, OUTPUT); // La broche 2 est initialisée en sortie.
|
||||
pinMode(3, OUTPUT); // La broche 3 est initialisée en sortie.
|
||||
pinMode(4, OUTPUT); // La broche 4 est initialisée en sortie.
|
||||
pinMode(5, OUTPUT); // La broche 5 est initialisée en sortie.
|
||||
pinMode(6, OUTPUT); // La broche 6 est initialisée en sortie.
|
||||
pinMode(7, OUTPUT); // La broche 7 est initialisée en sortie.
|
||||
pinMode(8, OUTPUT); // La broche 8 est initialisée en sortie.
|
||||
pinMode(9, INPUT); // La broche 9 est initialisée en entrée.
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
|
||||
// La fonction loop est exécutée en boucle indéfiniment
|
||||
|
||||
void loop()
|
||||
{
|
||||
val=digitalRead(bt);
|
||||
Serial.println(val);
|
||||
if(val == HIGH) {
|
||||
if(i == 9) {
|
||||
i=2;
|
||||
}
|
||||
digitalWrite(i, HIGH); // Allume la led (HIGH est la valeur du voltage)
|
||||
delay(1000); // Attend une seconde
|
||||
digitalWrite(i, LOW); // Eteint la LED (LOW c'est la masse)
|
||||
delay(500);
|
||||
i=i+1; // Attend une seconde
|
||||
}
|
||||
else {
|
||||
if(i == 1) {
|
||||
i=8;
|
||||
}
|
||||
digitalWrite(i, HIGH); // Eteint la LED (HIGH c'est la masse)
|
||||
delay(1000); // Attend une seconde
|
||||
digitalWrite(i, LOW); // Allume la led (LOW c'est le 5v)
|
||||
delay(500);
|
||||
i=i-1; // Attend une seconde
|
||||
}
|
||||
delay(5);
|
||||
}
|
||||
|
||||
// Reliez ensuite la led non plus à la masse mais au 5V. Est-ce que votre programme fonctionne toujours ?
|
||||
//! NON
|
||||
|
||||
// Modifiez votre montage pour que un appui sur le bouton poussoir génère un niveau haut (valeur 1).
|
||||
// La led est donc allumée par défaut et s'éteint quand on appuie sur le bouton poussoir.
|
||||
// Changer le schema
|
||||
|
||||
// void setup()
|
||||
// {
|
||||
// pinMode(2, OUTPUT); // La broche 2 est initialisée en sortie.
|
||||
// pinMode(3, OUTPUT); // La broche 3 est initialisée en sortie.
|
||||
// pinMode(4, OUTPUT); // La broche 4 est initialisée en sortie.
|
||||
// pinMode(5, OUTPUT); // La broche 5 est initialisée en sortie.
|
||||
// pinMode(6, OUTPUT); // La broche 6 est initialisée en sortie.
|
||||
// pinMode(7, OUTPUT); // La broche 7 est initialisée en sortie.
|
||||
// pinMode(8, OUTPUT); // La broche 8 est initialisée en sortie.
|
||||
// pinMode(9, OUTPUT); // La broche 9 est initialisée en entrée.
|
||||
// Serial.begin(9600);
|
||||
// }
|
||||
|
||||
|
||||
// // La fonction loop est exécutée en boucle indéfiniment
|
||||
|
||||
// void loop()
|
||||
// {
|
||||
// val=digitalRead(bt);
|
||||
// Serial.println(val);
|
||||
// if(val == HIGH) {
|
||||
// if(i == 9) {
|
||||
// i=2;
|
||||
// }
|
||||
// digitalWrite(i, HIGH); // Allume la led (HIGH est la valeur du voltage)
|
||||
// delay(1000); // Attend une seconde
|
||||
// digitalWrite(i, LOW); // Eteint la LED (LOW c'est la masse)
|
||||
// delay(500);
|
||||
// i=i+1; // Attend une seconde
|
||||
// }
|
||||
// else {
|
||||
// if(i == 1) {
|
||||
// i=8;
|
||||
// }
|
||||
// digitalWrite(i, HIGH); // Eteint la LED (HIGH c'est la masse)
|
||||
// delay(1000); // Attend une seconde
|
||||
// digitalWrite(i, LOW); // Allume la led (LOW c'est le 5v)
|
||||
// delay(500);
|
||||
// i=i-1; // Attend une seconde
|
||||
// }
|
||||
// delay(5);
|
||||
// }
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
Subproject commit 06f5f046c24db17ce3692ee2c969705c5b139bdc
|
@ -1 +0,0 @@
|
||||
Subproject commit aca49083ec15f1f17920e1159e9694a210f8d227
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue