Salve a tutti,
avrei da memorizzare in flash un array di struct utilizzando la libreria "flashstorage". Ho dichiarato in questo modo l'array:
typedef struct {
nt tipo = 1;
char descrizione[];
char modello[];
boolean disponibilita;
int specifichei[];
}
strumenti;
strumenti st[60];
Il problema è che non riesco a dichiarare un unica allocazione di flash per l'intero array e sono costretto a dichiararne 60 (per quanti sono gli indici:
FlashStorage(my_flash_store0, strumenti);
FlashStorage(my_flash_store1, strumenti);
FlashStorage(my_flash_store2, strumenti);
FlashStorage(my_flash_store3, strumenti);
FlashStorage(my_flash_store4, strumenti);
FlashStorage(my_flash_store5, strumenti);
FlashStorage(my_flash_store.................);
...........................................................
...................................
........
e a differenziare la lettura e la scrittura distinando il singolo indice ad una differente allocazione:
//SCRITTURA DIFFERENZIATA PER ALLOCAZIONE
void ScriviFlash(int indice)
{
if (indice== 0)
{
my_flash_store0.write(st[indice]);
}
else if (indice == 1)
{
my_flash_store1.write(st[indice]);
}
else if (indice == 2)
{
my_flash_store2.write(st[indice);
}
else if (indice == 3)
{
my_flash_store3.write(st[indice]);
}
else if (indice== 4)
{
my_flash_store4.write(st[indice]);
}
........................
.......................
.......................
}
void LeggiFlash(int indice)
{
//LETTURA DIFFERENZIATA PER ALLOCAZIONE
if (indice == 0)
{
st[indice] = my_flash_store0.read();
}
else if (indice== 1)
{
st[indice] = my_flash_store1.read();
}
else if (indice == 2)
{
st[indice] = my_flash_store2.read();
}
else if (indice == 3)
{
st[indice] = my_flash_store3.read();
}
else if (indice == 4)
{
st[indice] = my_flash_store4.read();
}
.......................
.......................
.......................
}
Sono costretto praticamente a replicare tutto per i 60 inidici. Sarebbe molto piu comodo e "stilisticamente" corretto poter memorizzare l'intero array in un unica allocazione.
Chi riesce a darmi una mano? Ve ne sarei veramente grato.
Un abbraccio e tanti auguri di buon Natale a tutti.
Antonio