ZZBlocks 0.3 TEST — correzioni del 9 ottobre 2026

Sensore TEMT6000 KS0098 — 10 ottobre 2026
- Aggiunto in Sensori > Luce, con scelta del pin analogico e lettura 0–1023
  oppure conversione relativa in percentuale. Nessuna libreria aggiuntiva.

Correzione nomi variabili — 10 ottobre 2026
- Corretta la regex di normalizzazione: non rimuove più la lettera «u».
- Nomi come «luce» restano invariati; gli accenti vengono normalizzati.

Sensore S12SD UVR — 10 ottobre 2026
- Aggiunto in Sensori > Luce: pin analogico selezionabile, valore ADC 0–1023
  o percentuale relativa. La percentuale non viene presentata come indice UV.

Impaginazione blocchi CSV personalizzabili — 10 ottobre 2026
- I blocchi «crea intestazione CSV» e «aggiungi riga CSV» dispongono i
  campi personalizzabili in verticale, come «unisci più testi».

Aggiornamento pulsanti e pin — 10 ottobre 2026
- Attuatori > Pulsanti: evento premuto/rilasciato, pin D2–D13, inverti e debounce di 50 ms.
- Libreria ABlocks_Button inclusa nel pacchetto; configurazione del pin coerente con l'esempio SteaMakers.
- Selezione da menu uniformata per i pin statici, compreso il pin PWM del motore.
- Blocchi che ricevono il pin da una variabile restano configurabili via numero.
- Corretto il pulsante dopo la prova: ora rispecchia l'esempio SteaMakers,
  usa INPUT e legge lo stato con antirimbalzo invece dell'evento istantaneo.
  Il LED può quindi restare acceso finché il pulsante è premuto.

Correzione compilazione SD — 10 ottobre 2026
- La preparazione degli strumenti installa ora anche la libreria Arduino SD 1.3.0.
- Serve ripetere «Prepara / aggiorna strumenti» dopo aver aggiornato ZZBlocks.

Gestione intestazione CSV — 10 ottobre 2026
- Il blocco «crea intestazione CSV» crea il file solo se manca; i dati restano dopo il riavvio.
- Casella «sovrascrivi se esiste» per azzerare volontariamente il file.
- Il blocco «elimina file» resta disponibile come comando esplicito.

- Unisci più testi: tutti i campi vengono ora inclusi nel codice.
- CSV flessibile: campi numerici e testuali, zero o più campi, separatore
  conservato anche quando tutti i campi vengono rimossi.
- I vecchi blocchi CSV a tre campi restano disponibili e compatibili.
- GPS: dichiarazioni uniche; configurazione obbligatoria nel Setup, RX/TX
  distinti; FIX scaduto dopo 10 secondi senza una posizione recente.
- RTTTL interrompibile: supporta testo e variabili; inviare stop con LF/CR
  sulla seriale. Controllo ogni circa 20 ms. Stop resta attivo nei giri
  successivi del Loop. Inviare play, oppure usare il blocco riabilita.
  Il blocco resta bloccante e consuma i comandi seriali mentre riproduce.
  Riabilita non va inserito incondizionatamente prima della melodia nel Loop.
- Suolo capacitivo: percentuale relativa calibrata con asciutto/bagnato.
  Valori uguali: NaN. Valori fuori intervallo limitati a 0–100%.
  Senza calibrazione: estremi indicativi 1023 e 0, non una misura assoluta.
- BMP280: pronto? e NaN se inizializzazione fallita; pressione in mb/hPa;
  riferimento al livello del mare regolabile per stimare l'altitudine.

Installazione: chiudere ZZBlocks e il suo launcher, estrarre il nuovo ZIP
e avviare AVVIA_WINDOWS.bat dalla nuova cartella. La nuova libreria
ZZBlocks_Rtttl viene copiata automaticamente all'avvio.
Non occorre reinstallare il core Arduino già preparato.

Verifiche: generazione, salvataggio/riapertura, sintassi C++ con API
sostitutive, test RTTTL eseguibili su computer. Non sono prove su Arduino
fisico, Windows o compilazione/link AVR: usare Verifica sul proprio PC
prima del caricamento USB.
