Ciao a tutti, vi scrivo oggi per chiedervi un aiuto per l'utilizzo delle strutture. Vi spiego il mio problema... Sto cercando di modificare le funzioni per la gestione del sensore di colore ADJD-S311-CR999 (datasheet http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/LightImaging/datasheetCR999.pdf) che ho trovato in rete (https://www.sparkfun.com/datasheets/Sensors/Imaging/adjd_s311_cr99_example.pde). Sto cercando di far ritornare alla funzione che effettua l'effettiva misura di colore una struttura contenente le tre componenti RGB, per mia comodità.
Ho inserito questa parte di codice, seguendo la mia esperienza di programmazione in C++ ed un documento trovato sul Playground (Arduino Playground - ResourceFriendlyStructs), per dichiarare la struttura
// definizione di un nuovo tipo: color -> struttura contenente gli elementi red, green, blue
typedef struct
{
float red;
float green;
float blue;
}color;
e ho modificato la funzione di misura in questo modo:
color getColor ()
{
static color RGB; // struttura dove vengono memorizzate le componenti RGB
int clearGain = getClearGain();
set_gain(REG_INT_CLEAR_LO,clearGain);
int colorGain = getColorGain();
set_gain(REG_INT_RED_LO,colorGain);
set_gain(REG_INT_GREEN_LO,colorGain);
set_gain(REG_INT_BLUE_LO,colorGain);
// reset delle componenti RGB
int cc = 0;
int red=0;
int green=0;
int blue=0;
// calcolo della media fra 4 valori
for (int i=0; i<4 ;i ++)
{
performMeasurement();
cc +=get_readout(REG_DATA_CLEAR_LO);
red +=get_readout(REG_DATA_RED_LO);
green +=get_readout(REG_DATA_GREEN_LO);
blue +=get_readout(REG_DATA_BLUE_LO);
}
cc/=4;
red /=4;
green /=4;
blue /=4;
RGB.red = (float)red*redFactor;
RGB.green = (float)green*greenFactor;
RGB.blue = (float)blue*blueFactor;
// ritorno delle componenti RGB
return RGB;
}
quando provo a compilare lo sketch, però, ottengo questo errore:
test_libreria_colore___return_struct:32: error: 'color' does not name a type
Non riesco a capire, però, quale sia il problema... Probabilmente è una stupidaggine ma purtroppo non riesco ad individuarlo... Potete darmi una mano?
Utilizzo l'IDE 1.5.1r2... Allego anche l'interezza del codice.
Ringrazio anticipatamente tutti
Luca
test_libreria_colore___return_struct.ino (5.16 KB)