From 5bf06a4e94309ab33debb8c5ccab5625666d7f51 Mon Sep 17 00:00:00 2001 From: Julien Oculi Date: Wed, 26 Jun 2024 12:27:50 +0200 Subject: [PATCH] refactor(server): :recycle: move global const to config header and use `#define` instead of memory const --- server/src/commande_auto.ino | 104 ++++++++++++++---------------- server/src/commande_telephone.ino | 59 ++++++----------- server/src/config.h | 25 +++++++ 3 files changed, 92 insertions(+), 96 deletions(-) create mode 100644 server/src/config.h diff --git a/server/src/commande_auto.ino b/server/src/commande_auto.ino index 5766114..c753fb1 100644 --- a/server/src/commande_auto.ino +++ b/server/src/commande_auto.ino @@ -1,21 +1,9 @@ -//Définition des ports pour controler les moteurs -//Moteur gauche : -#define IN1a 27 -#define IN2a 14 -#define IN3a 12 -#define IN4a 13 -//Moteur droit : -#define IN1b 5 -#define IN2b 18 -#define IN3b 19 -#define IN4b 21 +#include "config.h" -//Temps d'attente entre deux impulsions : -int delayTime = 3; - -//Code éxécuté au démarrage (paramétrage) : -void setup() { - //On indique que les ports de controle des moteurs sont des sorties (output) +// Code éxécuté au démarrage (paramétrage) : +void setup() +{ + // On indique que les ports de controle des moteurs sont des sorties (output) pinMode(IN1a, OUTPUT); pinMode(IN2a, OUTPUT); pinMode(IN3a, OUTPUT); @@ -26,38 +14,40 @@ void setup() { pinMode(IN3b, OUTPUT); pinMode(IN4b, OUTPUT); - - Serial.begin(115200); //Démarrage d'une communication Série avec l'ordinateur s'il est connecté + Serial.begin(115200); // Démarrage d'une communication Série avec l'ordinateur s'il est connecté } -//Code éxécuté en boucle jusqu'à l'extinction du robot -void loop() { - //Exemple de commande : - for (int i=0; i<50; i++){ +// Code éxécuté en boucle jusqu'à l'extinction du robot +void loop() +{ + // Exemple de commande : + for (int i = 0; i < 50; i++) + { forward(); } int rotation_steps = convertRotToSteps(46); - for (int i=0; i #include #include - -// Définition des ports pour contrôler les moteurs -// Moteur gauche : -#define IN1a 27 -#define IN2a 14 -#define IN3a 12 -#define IN4a 13 -// Moteur droit : -#define IN1b 5 -#define IN2b 18 -#define IN3b 19 -#define IN4b 21 - -// Paramètres de connexion wifi : -// const char *ssid = "ESP32"; -// const char *password = "test12345"; -// For simulator only -const char *ssid = "Wokwi-GUEST"; -const char *password = ""; - -// Temps d'attente entre deux impulsions : -int delayTime = 3; +#include "config.h" // Variables de commande : struct command_t @@ -174,7 +153,7 @@ void connectWiFi() { // For simulator only WiFi.mode(WIFI_STA); - WiFi.begin(ssid, password); + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); if (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.printf("WiFi Failed!\n"); @@ -186,7 +165,7 @@ void connectWiFi() Serial.println(WiFi.localIP()); // WiFi.mode(WIFI_AP); - // WiFi.softAP(ssid, password); + // WiFi.softAP(WIFI_SSID, WIFI_PASSWORD); // Serial.print("[+] AP Created with IP Gateway "); // Serial.println(WiFi.softAPIP()); // Serial.println(""); @@ -227,49 +206,49 @@ void writeMotor(uint8_t left, uint8_t right) void forward() { writeMotor(0b1000, 0b0001); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0100, 0b0010); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0010, 0b0100); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0001, 0b1000); - delay(delayTime); + delay(DELAY_TIME); } void backward() { writeMotor(0b0001, 0b1000); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0010, 0b0100); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0100, 0b0010); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b1000, 0b0001); - delay(delayTime); + delay(DELAY_TIME); } void right() { writeMotor(0b1000, 0b1000); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0100, 0b0100); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0010, 0b0010); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0001, 0b0001); - delay(delayTime); + delay(DELAY_TIME); } void left() { writeMotor(0b0001, 0b0001); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0010, 0b0010); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b0100, 0b0100); - delay(delayTime); + delay(DELAY_TIME); writeMotor(0b1000, 0b1000); - delay(delayTime); + delay(DELAY_TIME); } void stopMotors(void) diff --git a/server/src/config.h b/server/src/config.h new file mode 100644 index 0000000..d192e3c --- /dev/null +++ b/server/src/config.h @@ -0,0 +1,25 @@ +/************************************ + Fichier de configuration du robot +************************************/ + +// Définition des ports pour contrôler les moteurs +// Moteur gauche : +#define IN1a 27 +#define IN2a 14 +#define IN3a 12 +#define IN4a 13 +// Moteur droit : +#define IN1b 5 +#define IN2b 18 +#define IN3b 19 +#define IN4b 21 + +// Paramètres de connexion wifi : +// #define WIFI_SSID "ESP32" +// #define WIFI_PASSWORD "test12345" +// For simulator only +#define WIFI_SSID "Wokwi-GUEST" +#define WIFI_PASSWORD "" + +// Temps d'attente entre deux impulsions : +#define DELAY_TIME 3 \ No newline at end of file