Tout d'abord merci à tout ceux qui vont m'aider, voila je n'arrive plus du tout à televerser mon code depuis 2 jours alors que je n'ai rien modifier.
Pouvez m'aider j'ai absolument besoin que sa fonctionne pour samedi.
Voici le message d'erreur :
D:\Nouveau dossier\Projet LED\CarteTableESP-NOW\CarteTableESP-NOW.ino: In function 'void setup()':
D:\Nouveau dossier\Projet LED\CarteTableESP-NOW\CarteTableESP-NOW.ino:40:28: error: invalid conversion from 'void ()(const uint8_t, const uint8_t*, int)' {aka 'void ()(const unsigned char, const unsigned char*, int)'} to 'esp_now_recv_cb_t' {aka 'void ()(const esp_now_recv_info, const unsigned char*, int)'} [-fpermissive]
40 | esp_now_register_recv_cb(OnDataRecv);
| ^~~~~~~~~~
| |
| void ()(const uint8_t, const uint8_t*, int) {aka void ()(const unsigned char, const unsigned char*, int)}
In file included from D:\Nouveau dossier\Projet LED\CarteTableESP-NOW\CarteTableESP-NOW.ino:1:
C:\Users\vince\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32s3/include/esp_wifi/include/esp_now.h:157:54: note: initializing argument 1 of 'esp_err_t esp_now_register_recv_cb(esp_now_recv_cb_t)'
157 | esp_err_t esp_now_register_recv_cb(esp_now_recv_cb_t cb);
| ~~~~~~~~~~~~~~~~~~^~
exit status 1
Compilation error: invalid conversion from 'void ()(const uint8_t, const uint8_t*, int)' {aka 'void ()(const unsigned char, const unsigned char*, int)'} to 'esp_now_recv_cb_t' {aka 'void ()(const esp_now_recv_info, const unsigned char*, int)'} [-fpermissive]
Voici le code :
#include <esp_now.h>
#include <WiFi.h>
const int interrupteur4 = 10;
const int interrupteur5 = 13;
int etatInterrupteur4;
int etatInterrupteur5;
struct __attribute__((packed)) dataPacket {
int state4;
int state5;
};
void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {
dataPacket packet;
memcpy(&packet, incomingData, sizeof(packet));
Serial.print("Reçu bouton4Descendre : ");
Serial.println(packet.state4);
Serial.print("Reçu bouton5Monter : ");
Serial.println(packet.state5);
digitalWrite(interrupteur4, packet.state4);
digitalWrite(interrupteur5, packet.state5);
}
void setup() {
Serial.begin(115200);
pinMode(interrupteur4, OUTPUT);
pinMode(interrupteur5, OUTPUT);
WiFi.mode(WIFI_STA);
if (esp_now_init() != ESP_OK) {
Serial.println("Erreur lors de l'initialisation d'ESP-NOW");
return;
}
esp_now_register_recv_cb(OnDataRecv);
}
void loop() {
etatInterrupteur4 = digitalRead(interrupteur4);
etatInterrupteur5 = digitalRead(interrupteur5);
if (etatInterrupteur4 == HIGH) {
digitalWrite(interrupteur4, HIGH);
} else {
digitalWrite(interrupteur4, LOW);
}
if (etatInterrupteur5 == HIGH) {
digitalWrite(interrupteur5, HIGH);
} else {
digitalWrite(interrupteur5, LOW);
}
}