Ciao a tutti,
oggi pubblico i risultati, a mio avviso, di un bel lavoro di revisione di tutto lo sketch, che ha rivoluzionato i menù, l'uso delle variabili al suo interno ed a cui sono state aggiunte un paio di funzionalità in più per la gestione delle luci.
Cominciando dalla revisione dello sketch, per chi vorrà perdere qualche minuto a guardarselo, grazie agli insegnamenti e le idee di "
Leouz", abbiamo completamente abbandonato l'uso dei puntatori passati alle procedure grazie all'adozione di una struct contenente tutte le variabili utili alla gestione delle linee luci, questo ha permesso di richiamare tutte le procedure di gestione ed acquisizione dati della plaffoniera, semplicemente passando l'indice del vettore della struct corrispondente, siamo passati poi all'uso dei menù a scorrimento ed infine è stata eliminata la libreria dell'RTC la "DS1307", ed è statoa migliorata la funzione statoluci che permette in caso di mancanza di corrente o di modifica dei dati della plafoniera di far ripartire le luci sempre dal punto giusto, tutto ciò è stato fatto per risparmiare più flash possibile ed avere spazio per le future funzioni, c'è ancora molto da fare, ma un po' alla volta ci si arriva.
E' stato inserito anche un range di +/- 1,5°, di temperatura al di fuori del quale, scatta un allarme sonoro disattivabile premendo il tasto ESC, ed in più nella schermata principale la temperatura lampeggia.
Abbiamo poi aggiunto la possibilità di impostare il modo di funzionamento delle linee:
In pratica ora è possibile accendere o spengere le luci in modo manuale, oppure lasciarle funzionare in modalità automatica con i fotoperiodi impostati, in caso di accensione o spegnimento manuale, entrambe le azioni avvengono in modo graduale (circa 30" in caso di luminosità impostata al massimo) per non disorientare/spanventare gli amati pesciolini.
Inoltre ora è possibile, qualunque sia la modalità di funzionamento delle linee, impostare la luminosità massima delle singole linee agendo sul numero di rampe del fading.
In InfoLuci ora oltre allo stato di funzionamento delle linee se sono on o off e la percentuale di fading al momento, viene anche visualizzata la modalità di funzionamento impostata: "A" per automatica "M" per manuale, la percentuale che viene visualizzata, esprime la luminosità della linea in relazione a quella massima impostata per la stessa.
Mi viene da dire che la parte gestione luci ora è completa di tutte le funzionalità necessarie ad un acquariofilo, semmai ulteriori migliorie del software, ma se qualcuno avesse suggerimenti ben vengano.
Sembrerebbe per il momento che non ci siano errori e lo sketch viene compilato senza errori anche con IDE 1.0.5 anzi con quest'ultimo lo sketch compilato è pure leggermente più piccolo di poco ma lo è.
Abbiamo anche migliorato in precisione l'esecuzione dei fading, niente di che, ma almeno sapete tutto ciò che è stato fatto.
Come sempre, in allegato a questo post l'ultima versione dello sketch e nel 4° post iniziale le spegazioni più dettagliate, ed anche lì lo sketch aggiornato.
A breve riprenderò in mano anche il discorso dei sensori di livello per l'implemetazione della funzione di osmoregolazione e per schedulare i cambi automatici dell'acqua, cose messe momentaneamente da parte perché era in corso la revisione che ho presentato oggi. (troppa carne sul fuoco

)