diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..723ef36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file diff --git a/Writerside/gu.tree b/Writerside/gu.tree index 739b7fc..47e13ac 100644 --- a/Writerside/gu.tree +++ b/Writerside/gu.tree @@ -12,7 +12,9 @@ - + + + diff --git a/Writerside/redirection-rules.xml b/Writerside/redirection-rules.xml index 47e4da6..11c9b15 100644 --- a/Writerside/redirection-rules.xml +++ b/Writerside/redirection-rules.xml @@ -14,4 +14,9 @@ Created after removal of "About Guide d'utilisation" from Guide d'utilisation starter-topic.html + + + " from Documentation Robot Modelec 2024]]> + Emergency.html + \ No newline at end of file diff --git a/Writerside/topics/Emergency.md b/Writerside/topics/Emergency.md new file mode 100644 index 0000000..13cdc80 --- /dev/null +++ b/Writerside/topics/Emergency.md @@ -0,0 +1,60 @@ +# Emergency + +## Description rapide +Ce programme a pour but d'amener le robot à sa position finale (stocker dans un fichier) en cas de crash d'un des programmes. + +## Description détaillée du code +Ces définitions contiennent les paramètres de notre liaison série. +```C++ +#define SERIAL_PORT "/dev/USB_ARDUINO" +#define MAX_MESSAGE_LEN 1048 +#define BAUDS 115200 //vitesse des données (bit/sec) +``` + +Cette fonction sert à initialiser la liaison série entre l'arduino et la raspberry pi en utilisant les paramètres définis. +```C++ +serialib init_serial(){ + serialib serial; + char errorOpening = serial.openDevice(SERIAL_PORT, BAUDS); + if (errorOpening!=1) exit(errorOpening); + return serial; +} +``` + +Le code suivant sert à transmettre la position à laquelle aller à l'arduino qui elle va par la suite faire se déplacer +le robot à la dite position. Enfin, on va écrire dans la console le code renvoyé par l'arduino afin de vérifier qu'il +ne soit pas égale à -1. +```C++ +std::string filePath; + +if (argc == 2) { + filePath = argv[1]; +} else { + return 0; +} + +std::ifstream file; +file.open(filePath); +std::string line; +getline(file, line); + +serialib serial = init_serial(); + +char myString[MAX_MESSAGE_LEN] = {0}; + +std::string toSend = "G " + line + "\n"; +strcpy(myString, toSend.c_str()); +myString[strlen(myString)] = '\0'; + +int errorCode = serial.writeBytes(toSend.c_str(), toSend.length()); + +if(errorCode == -1){ + std::cerr << "Error while sending data" << std::endl; +} +else { + std::cout << "Data sent: " << errorCode << std::endl; +} + +serial.closeDevice(); +file.close(); +``` \ No newline at end of file diff --git a/Writerside/topics/Présentation.md b/Writerside/topics/Présentation.md index 608600d..79198e9 100644 --- a/Writerside/topics/Présentation.md +++ b/Writerside/topics/Présentation.md @@ -8,4 +8,8 @@ Lors du temps imparti, qui est de 100 secondes maximum, ce robot affrontera un a objectifs. Le robot principal a pour objectif principal de récupérer des plantes sur une table de jeux de 2 mètres par 3 mètres. -Par la suite, il devra les déplacer soit dans des zones de dépots au sol, soit dans des jardinières qui sont en hauteurs. \ No newline at end of file +Par la suite, il devra les déplacer soit dans des zones de dépots au sol, soit dans des jardinières qui sont en hauteurs. + +Tous les codes sont disponibles sur [github](https://github.com/modelec). + +L'instagram du club est [ici](https://www.instagram.com/modelec_isen).