+5
−0
Loading
Camera._run_loop chiamava _start() non appena ready==1, ma il buffer veniva letto solo da un task asincrono separato (_broadcast_loop in camera.py, poll ogni 0.5s). Se la camera non tornava idle prima del prossimo _start(), il loop andava in spin di errori "Camera not idle" dalla seconda immagine in poi. Ora _run_loop chiama self.download() subito dopo ready==1, prima del prossimo _start(): il buffer viene consumato in modo sincrono nello stesso loop che decide quando ritentare, e il FITS viene anche persistito su disco (serve /panoramic, /tile, /info).