Go Down

Topic: Arduo Memory Reminder Medicine (Read 17 times) previous topic - next topic

tuxduino

Quote
Se hai qualche idea anche su come collegare il device al PC via USB senza resettarlo necessariamente


Questo credo che andrebbe contro il funzionamento base dell'arduino, quindi direi di lavorare sul discorso eeprom in modo che al reset non perda la programmazione.

Giuseppe G.

:smiley-roll:
tuxduino ci deve essere un errore !
Quote
struct Allarme {
    byte ora;
    byte minuto;
    byte idPaziente;
    byte idMedicina;
};

const int MAX_NUM_ALLARMI = 32;

struct Allarme allarmi[MAX_NUM_ALLARMI];

// valori di default per gli allarmi:
allarmi[0] = { 8,  0,  1, 1 };
allarmi[1] = { 8, 30, 1, 2 };


Scusa, ma son acciaccato con il C.
Un saluto a tutta la comunità.
Giuseppe G.

tuxduino

Sì, in effetti le assegnazioni di default non funzionano. Me ne sono accorto dopo ma mi sono scordato di pubblicare la soluzione. Scusa.

Secondo me è meglio usare la costante come numero massimo di allarmi, ed introdurre una variabile numAlarms che tiene conto del numero di allarmi effettivamente inseriti.

Con una funzione del tipo addAlarm(h, m, patient, medicine) la cosa diventerebbe:

Code: [Select]

addAlarm( 8,  0,  1, 1 );
addAlarm( 8, 30, 1, 2 );


Questa funzione si preoccupa di incrementare numAlarms e di controllare che ci sia ancora posto nell'array degli allarmi.
Vedo se riesco a postarla a breve insieme ad un altro po' di codice di contorno...

Giuseppe G.

;)
Riaprendo il libro

Quote
Allarme allarmi={8, 0,  1, 1 };


dove "allarmi" è il valore dell'indice. senza le parentesi quadre

Ora provo così.

Ciao
Un saluto a tutta la comunità.
Giuseppe G.

tuxduino

In questo modo allarmi è una singola struct, non un array.

Go Up