Bonjour,
Je ne suis pas un expert dans le structure (struct)
J'ai été aidé pour réalisé ceci (en gros)
struct capteur
{
uint8_t idDuCapteur;
boolean actif;
const char * nomDuCapteur;
};
capteur mesCapteur[] = {
{capteur_battery_id, battery_active, "ba"},
{capteur_temperature_id, temperature_active, "te"},
{capteur_pression_id, pression_active, "pr"},
{capteur_alt_id, alt_active, "al"},
{capteur_humidity_id, humidity_active, "hu"},
{capteur_moisture_id, moisture_active, "mo"},
{capteur_luminosity_id, luminosity_active, "lu"},
{capteur_wm1_id, wm1_active, "w1"},
{capteur_wm2_id, wm2_active, "w2"},
{capteur_wm3_id, wm3_active, "w3"},
{capteur_datetime_id, datetime_active, "da"},
{capteur_airquality_id, airquality_active, "aq"},
{capteur_temperature_soil_id, temperature_soil_active, "ts"},
{capteur_gauge_id, gauge_active, "ga"},
{capteur_wind_id, wind_active, "wi"},
};
Maintenant, je travaille sur un code, et j'appercois ceci
typedef struct {
int moisture; //!< Moisture
long resistance; //!< Resistance
} values;
values valueOf[NUM_READS];
J'ai réalisé que cette patie de code n'est pas utilisé dans l'exemple de mon sketch, mais elle n'est pas anodine et j'aimerais l'exploiter.
Ce qui m'interpelle c'est ceci, dans la déclaration:
typedef struct {[/code
car si je supprime value, mon compilateur m'affiche une erreur
[code]typedef struct {
int moisture; //!< Moisture en %
long resistance; //!< Resistance
};
La différence entre mon code et l'exemple, c'est le
typedef
Comment dois-je interpreté ces deux cas?
Je pense que c'est deux manière de faire, mais je voulais avoir un peu de théorie.
Mon code me retourne la résistence d'un capteur d'humidité du sol et le teneur en eau en pourcentage.
Ca fonctionne comme le code est actuellement, mais je voulais mieux faire/perfectionner en exploitant donc ceci
#define NUM_READS (int)10 // Number of sensor reads for filtering
long buffer[NUM_READS];
typedef struct {
int moisture; //!< Moisture
long resistance; //!< Resistance
} values;
values valueOf[NUM_READS];
PS mon code va mesurer 10 fois la résistence/pourcentage et la valeur finale sera la moyenne
Que me diriez-vous?
Milles mercis!!!