Urgent probléme de televersement

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);
  }
}

Hello,
Je ne connais pas, mais le forum propose:
CECI

Ce n'est pas un problème de téléversement mais un problème de compilation.

Il semblerait que le premier argument de OnDataRecv ne soit du bon type
Tu as un const uint8_t* et la fonction attend un const esp_now_recv_info*
Je n'utilise pas donc je ne peux pas trop t'aider mais il semblerait que tu ne sois pas le seul à rencontrer le problème et une recherche sur le forum retourne des échanges qui pourraient t'intéresser.
https://forum.arduino.cc/search?q=esp_now_recv_info%20order%3Alatest

Bonjour @romaind28

As-tu fait une mise à jour du core ESP32 (de 2.017 vers 3.0.0 ou 3.0.1 ?)
Si oui reviens en version 2.017, et vois si ça fait l'affaire.

Bonjour, tout d’abord merci de ton échange
Qu’appelle-tu la mise à jour du corps ESP 32 ?
J’ai réussi toute la matinée à compiler et televerser avec platformio et la une fois que mon programme était bien compilé, je formule la version finish et ça ne peut plus.
Je vais tomber fou.
Ça ne fonctionne même plus avec les demi version qui fonctionnaient très bien. Une minute avant, j’ai redémarré, l’ordi et l’application plusieurs fois rien ni change

ma proposition concernait l'extension ESP32 ('core ESP32') pour IDE Arduino pas PlatformIO sur VScode

Mais comment savoir la version que j’ai ?

Tu regardes dans le gestionnaire de cartes
image