what is this code for?

can you tell me what this code is about and what the lines of this code are about, please?

virtualwire_var_server.ino (1.51 KB)

rangi: can you tell me what this code is about and what the lines of this code are about, please?

Can you tell me why you didn't read this before posting a programming question at the top of the forum page and follow the instructions on how to post code ?

Looks like its been hacked around from a working sketch into a simple loop-back test.

It does this

/**
 * Exemple de code pour la bibliothèque VirtualWire – Serveur d'envoi de variable
 */

#include <VirtualWire.h>
#include <Wire.h>

typedef struct {
  unsigned long  time1;
  int valeurX;
  int valeurY;
} MaStructure;

MaStructure message1;

byte message2;

void setup() {
  Serial.begin(9600);
  Wire.begin(8);                // join i2c bus with address #8
  Wire.onRequest(requestEvent); // register event
  // Initialisation de la bibliothèque VirtualWire
  // Vous pouvez changez les broches RX/TX/PTT avant vw_setup() si nécessaire
  vw_setup(2000);
  vw_rx_start(); // On peut maintenant recevoir des messages

  Serial.println("Go !"); 
}

void loop() {
  /* 
   La variable "taille_message" doit impérativement être remise à 
   la taille de la variable avant de pouvoir recevoir un message. 
   Le plus simple est d'utiliser une variable locale pour ne pas
   avoir à réassigner la valeur à chaque début de loop().
   */

  // On attend de recevoir un message
  long int valeur;
  byte taille_message = 1;  //sizeof(MaStructure);
  vw_wait_rx();

  if (vw_get_message((byte *) &message2, &taille_message)) {
    // On copie le message, qu'il soit corrompu ou non
    Serial.println(message2);
  /*  Serial.print((float) message1.time1/1000); // Affiche le message
    Serial.print(",");
    Serial.print(message1.valeurX);
    Serial.print(",");
    Serial.println(message1.valeurY);*/
  }
}

void requestEvent() {
  Wire.write(message2); // respond with message of 6 bytes
  // as expected by master
}