+44
−24
+52
−20
+5
−5
Loading
- meteo.py: summary() leggeva chiavi (TempIn/HumIn/WindSpeed/...) che data() aveva gia' rinominato -- KeyError garantito se mai chiamato (bug da audit Fase 0, dispositivo non ancora istanziato). Corretto per usare le chiavi rinominate. - atik.py: aggiunto il lock (l'RLock esistente, gia' usato per serializzare get()/put(), e' reentrant) attorno a _subframe/_last_exptime/_last_imagetype/_last_datetime, scritti dal loop thread e letti dai request thread senza sincronizzazione -- stesso pattern gia' applicato a stx.py e mako.py/stl.py. - atik.py: chiuso il bug hardware "download() si blocca per sempre se il cooling viene toggled a meta'" -- il poll di ArtemisImageReady() ora ha un deadline (durata ultima esposizione + 10s di margine), oltre il quale ritorna None con self.error impostato invece di girare all'infinito. Stesso pattern di stop_looping(). Il bug CCD-TEMP resta aperto, serve hardware fisico. - devices/old/* (alpaca.py, astelco.py, stx.py): erano file locali gitignored/non tracciati, nessun riferimento nel codice, cancellati dal filesystem (non da git). - PLAN.md: checklist Fase 1 aggiornata a riflettere sia il lavoro gia' fatto nei due commit precedenti (67170649, d47c4c6d) sia quanto sopra -- Fase 1 (Devices) ora completamente chiusa. Co-Authored-By:Claude Sonnet 5 <noreply@anthropic.com>