erreur compilation récepteur NRF24l01

bonsoir a tous,
mon projet consiste a réaliser une petite station météo ou le récepteur reçoit la température l'humidité et la valeur de la tension de la lipo
la température/humidité est donnée par un DHT22!
mon problème est au niveau du récepteur!
en effet lors de ma compilation j'ai une erreur :" void value not ignored as it ought to be" sur la ligne de code :
done = radio.read( &meteo, sizeof(meteo) );
(la ligne ce trouve vers la fin du code !
je vous avoue que je sèche sur la question, je ne voie pas ou ce trouve le problème !
merci d'avance pour votre aide.

voici le code du récepteur dans son intégralité:

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include "RTClib.h"
#include "DHT.h"

#define DHTPIN 9
#define DHTTYPE DHT22 
#define bouton 4

RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 20, 4);
DHT dht(DHTPIN, DHTTYPE);
RF24 radio(8,7);


float temp;
float hum;

 struct DATA {
float T;
float H;
int Vbat;

} meteo;

unsigned long start_backlight = 0;
unsigned long tempoDepart = 0;
boolean lightON = false;


float Vbat;
int RougePin = 6;
int VertPin = 5;
int BleuPin = 3;
int Rouge ;
int Bleu ;
int Vert ;
int data;

float T11;
float H11;
float V;

uint8_t batFull[8] = {0xe,0xe,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f};
uint8_t batHalf[8] = {0xe,0xe,0x11,0x11,0x11,0x1f,0x1f,0x1f};
uint8_t batVide[8] = {0xe,0xe,0x11,0x11,0x11,0x11,0x11,0x1f};



void setup(){
  Serial.begin(9600);
  
   radio.begin(); 
  radio.setPALevel(RF24_PA_MAX); //puissance maximum 
  radio.setChannel(0x20); //canal 32 
  radio.setDataRate(RF24_1MBPS); 
  radio.openReadingPipe(1, 0xF0F0F0F0F0LL); 
  radio.enableDynamicPayloads(); 
  radio.setAutoAck(1); 
  radio.setRetries(15,15); 
  radio.powerUp(); 
  radio.startListening(); 
       
  pinMode(bouton, INPUT);
  pinMode(RougePin, OUTPUT);
  pinMode(VertPin, OUTPUT);
  pinMode(BleuPin, OUTPUT);

  lcd.begin(); 
  lcd.clear(); 
  lcd.createChar(0, batFull);
  lcd.createChar(1, batHalf);
  lcd.createChar(2, batVide);
      
    lcd.noBacklight();  
    lcd.setCursor(7, 0);
    lcd.print("/");
    lcd.setCursor(10, 0);
    lcd.print("/");
    lcd.setCursor(8, 1);
    lcd.print(":");  
    lcd.setCursor(11, 1);
    lcd.print(":");
    lcd.setCursor(0, 2);
    lcd.print("INT: ");
    lcd.setCursor(10, 2);
    lcd.print((char)223);
    lcd.setCursor(11, 2);
    lcd.print("C");
    lcd.setCursor(17, 2);
    lcd.print("% ");
    lcd.setCursor(0, 3);
    lcd.print("EXT: ");
    lcd.setCursor(10, 3);
    lcd.print((char)223);
    lcd.setCursor(11, 3);
    lcd.print("C");
    lcd.setCursor(17, 3);
    lcd.print("% ");
    
  
}


void readDHT22() {
  
  T11 = 0;
  H11 = 0;
  
  if ((millis()-tempoDepart) >= 2000){
    
  dht.begin();
  tempoDepart = millis();
  }
  T11 = dht.readTemperature();
  
  H11 = dht.readHumidity(); 
  }

  void affichage() {
    DateTime now = rtc.now();
    lcd.setCursor(5, 0);
    convertion(now.day());
    
    lcd.setCursor(8, 0);
    convertion(now.month());
    
    lcd.setCursor(11, 0);                                            
    lcd.print(now.year());
        
    lcd.setCursor(6, 1);
    convertion(now.hour());
    
    lcd.setCursor(9, 1);
    convertion(now.minute());
    
    lcd.setCursor(12, 1);
    convertion(now.second());
    
    
    bat_affiche();
   
    lcd.setCursor(5, 3);
    lcd.print(temp ,1);
    lcd.setCursor(13, 3);
    lcd.print(hum ,1);
    
    lcd.setCursor(5, 2);
    lcd.print(T11 ,1);
    lcd.setCursor(13, 2);
    lcd.print(H11 ,1);
    }
    
   
      void convertion(int nombre) {
        if (nombre >=0 && nombre < 10) {
          lcd.print("0");
          }
          lcd.print(nombre);
          }
    
      void bat_affiche(){
      lcd.setCursor(19,3);
        if( V >= 3.7) {
        lcd.print((char)0);
        }
        if(V <3.7 && V>=3.4) {
        lcd.print((char)1);
        }
        if(V<3.4) {
        lcd.print((char)2);
        }
        
      }
          
    void RGB_LED(){

      Rouge = 255;
      Vert = 255;
      Bleu = 255;


        if ( temp <= -3 ) {
          analogWrite(RougePin, 0);
          analogWrite(VertPin, 0);
          analogWrite(BleuPin, 0);
        }
        else if ( temp > -3 && temp < 0 ) {
          Rouge = map(temp,-3,0,0,255);
          Vert = map(temp,-3,0,0,255);
          analogWrite(RougePin, Rouge); 
          analogWrite(VertPin, Vert);  
          analogWrite(BleuPin, 0);   
        }      
        else if ( temp >= 0 && temp < 20 ) {
          Bleu = map(temp,0,20,0,255);
          Vert = map(temp,0,20,255,0);
          analogWrite(RougePin, 255); 
          analogWrite(VertPin, Vert);  
          analogWrite(BleuPin, Bleu);   
        }
        else if ( temp >= 20 && temp < 28 ) {
          Rouge = map(temp,20,28,255,0);
          analogWrite(RougePin, Rouge); 
          analogWrite(VertPin, 0);  
          analogWrite(BleuPin, 255);   
        }        
        else if ( temp >= 28 && temp < 30 ) {
          Vert = map(temp,28,30,0,255);
          analogWrite(RougePin, 0); 
          analogWrite(VertPin, Vert);  
          analogWrite(BleuPin, 255);   
        }      
        else if ( temp >= 30 ) {
          
          analogWrite(RougePin, 0); 
          analogWrite(VertPin, 255);  
          analogWrite(BleuPin, 255);   
        }            

    }

void loop() {

    
    if (digitalRead(bouton) == HIGH) {
           start_backlight = millis();
           lcd.backlight();
           lightON = true;
           }
           else {
          if((lightON == true) && (millis() - start_backlight >= 20000 )) {
           lcd.noBacklight();
          start_backlight = 0 ;
           lightON = false;
           
          }
         
     }
    
    readDHT22();
    
    if (radio.available()) 
  {

     bool done = false;
    while (!done)
    {
      done = radio.read( &meteo, sizeof(meteo) );  //ERREUR : void value not ignored as it ought to be
    }
          
      Serial.print("got request: ");
  
      Serial.println(meteo.T);
      Serial.println(meteo.H);
     temp = meteo.T ;
     hum =  meteo.H ;
     V = meteo.Vbat * (5.0/1023.0) ;
    }
    }
      
      affichage();  
     
      RGB_LED();      
}

bonjour,
ta valeur ne retourne rien, mais tu essaye de l'exploiter, d'où l'erreur.

merci pour la réponse :wink:
j'ai écumé le net ce matin et j'ai trouvé ma réponse qui rejoint le fait que ça ne renvoie rien !
je met le lien du post pour ceux qui sont intéresse par la solution c'est en anglais mais on arrive a comprendre :smiley: ,
j'ai testé et ça marche

https://forum.arduino.cc/index.php?topic=302380.0