- Automatic gain a gruppi di modi

- Misura fwhm ccd47 muovendo l'ADC per vedere dove sta lo zero e con quale precisione

Da controllare:

  • ModifyAO: se si cambia il binning occorre cambiare anche la rec mat! adesso non lo fa.
  • Il comando Operate del wfs si incastra se viene passato un board setup non esistente.
  • Procedura di centraggio lente di camera automatica (incluso la gestione della fioriera).
  • Registrare i fattori di luminosita' della fw1 in source_acq.ccd47Mag()
  • Controllare il nuovo board setup con stato flowerpot
  • Seeing limited secondario viene fermato anche se l'acquireref manda un'eccezione.

Da fare:

  • L'autocenter si ricorda la prima posizione del rirotatore ma non si accorge quando viene ruotato, e sbaglia direzione la volta successiva.
  • CCD47: mettere il default bin1 a 2500, mettere entrambi i set nel .conf e vedere se riesce a scambiare
    tra bin1@2500 e altri binning@250.
  • Pre-creare le variabili di autocenter etc. cosi' che il visore le mostra subito.
  • Errore " wfsctrl47 in wrong state for requested operation" va convertito in una stringa piu' leggibile.
  • PrepareAcquireRef col 47 spento è andato in fail invece che in retry (wfsarbitrator).
  • ModifyAO deve dare errore di out of range se i parametri sono sbagliati. Attualmente i parametri sono tagliati in WfsInterface.cpp
  • N. modi del loop: L.AO.CORRECTEDMODES
  • Autocenter a 100 Hz non va (a 102 si') e non dice niente!! Problema lookup table TT.
  • quando il wfs acquire ref fallisce, al secondario resta il disturbo attivo, occorre spegnerlo.
  • Antidrift: Se riparte e c'è un darktmp.fits non funziona bene.
  • Lo sleep per aspettare i frames del loop può essere sostituito da un controllo del frame counter.
  • StopLoop dalla GUI del wfs non funziona quando lo specchio è rippato (l'adsec rifiuta il comando) e il WFS finisce in Failure.
  • L'fsm del secondario non ha un comando Stop nello stato AOSet, ci vuole in tutti gli stati.
  • per Marco: il recover skip frames da' RETRY quando lo specchio e' rippato invece di FAIL.
  • Viewer ccd47 blocca tutta la rete!
  • Le pupille sono implicite nel ricostruttore: possono essere selezionate dall'AOArb leggendo il .fits
  • Rivedere FSM del W perche' i comandi Stop e Off non funzionano negli stati triggerati dall'AOS.
  • I bottoni di recover fail vanno aggiunti su AdOptControl
  • Togliere il forwarding di qualunque display all'IDL che parte dentro l'idl ctrl
  • Si può cambiare il display idl a runtime (per mandarlo al computer cha ha il terminal acceso in quel momento...)
  • Frame di disturbo a zero.
  • La variabile WFS.FSM_STATE può mostrare "executing" mentre sta eseguendo un comando.
  • Visore ccd39 a volte muore quando si cambia binning.
  • ModifyAO: rivedere il passaggio dei risultati (vanno messi tutti e non solo le cose modificate)
  • Pulsante di emergenza per fermare il loop in ogni condizione (anche quando l'arbitrator WFS non funziona o è impegnato a fare altro).
  • AdOptControl: pensare ad un progress meter per i bottoni di power on, che impiegano minuti.
  • IM sinusoidal: ci vuole il doppio disturbo! vanno sommati offline.
  • Autocenter/autofocus: quando si bloccano rimane a 1 la variabile ed occorre intervenire col vartool - non va bene.
  • Aggiungere check nell'arbitrator AdSec se arrivano le slopes.
  • Controllare che i parametri dello specchio siano giusti per il binning del WFS, sennò si chiude il loop a bin 3 col rec del bin1 e viceversa.
  • per Marco: il set flat non ripulisce il disturbo e può succedere che cerca di fare un SetFlat col disturbo attivo!!
  • Masterdiagnostc secondario: un errore di "wrong filotto" e' un'eccezione fatale, non dovrebbe esserlo!!
  • Mettere un display evidente dello stato delle slitte e di altre cose che possono disturbare il loop chiuso.
  • Lookup table bin3 sbagliata - c'è un 0x090 invece di 0x0190 nell'ultima locazione utile e poi uno x0190 inutile nell'ultima word.
  • Pannello riassuntivo delle GUI
  • Indicazione slopenull sul visore.
  • AdSecControl: il requester di command vector non va nella directory giusta.
  • OptLoopDiagnostic: pensare a come integrare l'algoritmo di Anna e Guido
  • Permettere di cambiare la modulazione a loop chiuso
  • intmatAnalyseGui: Possibilità di analizzare più matrici insieme?? (ma anche i tracknum. in uscita diventano molti....)
  • aggiungere gli stessi parametri nell'acquire.cpp-
  • Meccanismo di allarme verso il WFS arbitrator quando qualcosa non va (tipo il pinger vede che un device non risponde più).
  • Testare overtemp del W2 (RelayCtrlW2 va reinstallato).
  • Eliminare il codice in intmatAcquireGui.cpp e fargli usare la intmat_lib.cpp (funzione acquireIntmat_old() ), per non avere due copie identiche in giro.
  • RelayCtrlW2.cpp è quasi identico a RelayCtrl.cpp e può essere derivato.
  • Il file HouseKeeper/HouseKeeperRawStruct.h deve essere spostato il lib/.
  • File di disturbo (atmosfera, storie modali, etc): occorre una libreria IDL che uniformi l'header per capirci qualcosa quando si rileggono.
  • Autocenter: ci vuole un file di configurazione con la modulazione in lambda/D e la posizione del rotatore da usare.
  • La wfshw e la engGui possono mostrare il nome del filtro usando POS_NAME invece di ricalcolarselo da sole.
  • Nei comandi del WfsArbitrator il nome del filtro puo' essere preso da POS_NAME o qualche altro modo invece di metterci il numero.
  • PowerOff WFS va in fail se il wfs era già spento all'insaputa dell'arbitrator.
  • L'AdSec arbitrator deve sorvegliare le forze dell'AdSec e prendere qualche azione correttiva quando le vede derivare per un lungo tempo.
  • Mettere i numeri di versione MAJ e MIN in tutti i programmi e in particolare negli arbitrator.
  • Baco nel controllo della bcu47: durante lo startup, a volte si mette a 1 la sua linea di reset e lei continua a pingare.Non si capice se l'errore è nel PwrCtrl o sulla bcu39.
  • Idl ctrl non deve fare startup_left prima che pingi l'adam
  • Lo status del powerboard nello status check lampeggia, probabilmente il timeout è troppo corto?
  • Autofocus: a bin 4 ha sbagliato direzione.
  • le configurazioni wfs sono sia nel cfg_W2.py sia nell'arb-wfs.conf, l'arbitrator (e la GUI!) dovrebbe leggerli dal cfg_W2.py in qualche modo.
  • Il log masterdiagnostic viene scritto come root e non può essere archiviato. Occorre fare in modo che il Logger si accorga di essere uid=0 e cambi utente al file.
  • Acq pupils: invece di far vedere il cerchio, far vedere una "preview" delle aperture selezionate (e il loro numero).
  • Diversi processi continuano a non partire bene a volte. Succede sempre dopo un restart e mai quando si fa uno start a "freddo".E' il Logger!!
  • Prima di far partire il sistema, il wfsarbitrator dovrebbe controllare che tutti i processi siano in piedi, casomai restartando quelli mancanti. Era già stato implementato in setupdevices_w1
  • Con poca luce autocenter e autofocus coreggono poco.
  • Script per centrare l'ADC sul minimo dispersione facendo un gauss2dfit sulla psf.
  • Modificare pupilcheck.py perché possa leggere un file invece dei ccd - utile per fare acq_pup offline.
  • Lo startup del W puo' essere velocizzato parallelizzando di piu'
  • La scelta del readout del ccd47 funziona, ma la bcu va fuori sincronia...
  • E inoltre va messo un tappo nella filterwheel2.
  • MasterD: provare a mettere il bouncer in realtime con setSchedulerRR(99), e vedere se serve farlo per il FramesFunnel.
  • La masterdiagnostic in setuid root va sì che il file di log sia root anche quello e non possa essere spostato dal log_archive.py
  • Mettere la temperatura interna dei littlejoes nell'housekeeper WFS.
  • Aggiungere un bottone di loadsetup/opticalsetup nella GUI del WFS arbitrator.
  • LA Wfs control non mostrano i parametri correnti del sistema né eventuali alert etc.. E' solo GUI per mandare i comandi.
  • L'intmatAcquireGUI deve mettere OFF il disturbo dopo l'acquisizione - fatto, da testare- sembra non funzionare.
  • intmat: usare la masterdiagnostic invece del salvataggio sull'adsec
  • Riunire le tre gui intmat in una sola evitando di usare IDL in modo interattivo
  • aggiungere il bottone reset allo stato PowerOn dell'adsec
  • ccd viewer: mostrare da qualche parte il valore massimo del frame
  • sempre nel viewer, mettere un numerino accanto al cerchio rosso delle pupille
  • Quando il REC viene aggiunto, il gain va automaticamente a zero, la GUI deve avvertire l'utente
  • Dopo il change binning il TT va a zero. Lasciato cosi' per sicurezza.
  • Arbitrator AdSec: prima di fare un load shape deve fare un set command vector a zero, meglio se lo fa direttamente l'arbitrator
  • Overtemp W1 ok - l'unica cosa è che il RelayCtrl sbaglia il parsing della risposta loop on- loop off e non dà feedback.
  • IdlSystem controlla i codici di errore di idl, ma vanno definiti quali finiscono come Fail e quali sono Retry
  • vedere log file messageDaemon per capire perche' i client non si sconnettono bene
  • grab logfile del MirrorCtrl quando si incastra
  • Una engGui sta leggendo L.Copley02.baysidey.CUR che non esiste.
  • WfsControl aggiornare l'enable dei bottoni open/close lopo etc.
  • aggiungere configurazione Housekee durante il power on per evitare il casino iniziale
  • fsm_power_on() deve controllare alla fine che le BCU siano tornate su.
  • centerPupils.py dovrebbe mandare eccezioni in caso di errore, non semplicemente ritornare come fa ora.
  • ll JoeCtrl ci mette diverse decine di secondi a rispondere ad un terminate quando stava comunicando col ccd, col risultato che viene sempre killato dopo un po'.
  • La drawlib dovrebbe scambiare messagi con il msgd, non via file.
  • Wrapper python del logger, aggiungere il livello e il nome del logger
  • Il PowerCtrl sembra spegnere le cose che trova accese dopo un restart, mentre il RelayCtrl no. E' meglio la seconda, anche se mostra tutto OFF.
  • Il MirrorCtrl muore ogni tanto, quando le BCU vanno offline. Succede solo sul W1 e non sul secondario.
-- AlfioPuglisi - 22 Apr 2009

  • Dark ccd39 e ccd47 contemporaneo, senno' l'acquire ref va sempre in timeout.

Topic revision: r230 - 04 Jun 2011, AlfioPuglisi
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback