Ajout de la communicatio vers la detection de l'adversaire. Fonction démo uniquement pour l'instant

This commit is contained in:
Samuel 2025-03-19 11:57:26 +01:00
parent 0ad8474d94
commit 37b1b75d5f
4 changed files with 44 additions and 1 deletions

View File

@ -4,6 +4,7 @@
#include <math.h>
#include "Communication_chassis.h"
#include "Communication_detection_adversaire.h"
#include "ServerWeb.h"
@ -107,6 +108,16 @@ void setup() {
//}
// MemPosition_X = 800;
// MemPosition_Y = 800;
struct detect_adv_reception_t detect_adv_reception;
while(1){
Detect_adv_lire(&detect_adv_reception);
char chaine[40];
sprintf(chaine, "Distance: %d cm\n Distance: %d cm\n", detect_adv_reception.distance_cm[0],
detect_adv_reception.distance_cm[11]);
affiche_msg("Scan_Detect_adversaire", chaine);
}
affichage_standard_init();
//M5.Lcd.setCursor(10, 200);M5.Lcd.print("cmd :");

View File

@ -0,0 +1,12 @@
#ifndef DETEC_ADV_H
#define DETEC_ADV_H
#define I2C_SLAVE_detect_adv 0x18
struct detect_adv_reception_t {
unsigned char distance_cm[12];
};
void Detect_adv_lire(struct detect_adv_reception_t * detect_adv_reception);
#endif

View File

@ -0,0 +1,18 @@
//#include "Chassis.h"
#include <Arduino.h>
#include <HardwareSerial.h>
/// @brief Lit les capteurs VL53L1X
void Detect_adv_lire(struct detect_adv_reception_t * detect_adv_reception){
unsigned char tampon2[14];
//(Adresse I2c, Adresse dans le registre, tampon, longueur de donnée)
error = I2C_lire_registre(I2C_SLAVE_detect_adv, 0, detect_adv_reception->distance_cm, 12);
if (error !=0){
affiche_erreur("Scan_Detect_adversaire", "Erreur I2C");
while(1);
}else{
Serial.println("I2C OK");
}
}

View File

@ -26,7 +26,9 @@ uint8_t I2C_lire_registre(int adresse_i2c, uint adresse_registre, unsigned char
WIRE.requestFrom(adresse_i2c, taille_donnees + 1);
// ceci contient l'adresse
Wire.readBytes(&temp, 1);
if(adresse_i2c == I2C_SLAVE_chassi){
Wire.readBytes(&temp, 1);
}
// Et ceci les données
Wire.readBytes(donnees_recues, taille_donnees);
return status;