13.1.3. Connessione di una camera

Ogni sessione inizia dal pulsante di connessione: l’icona a forma di spina in fondo alla barra degli strumenti di sinistra, oppure Ctrl+E. Facendo clic, l’IDE analizza le porte seriali USB alla ricerca di camere e si connette a quella che trova. Con più di una camera collegata, una finestra di dialogo chiede quale porta seriale usare, preselezionando la scelta precedente; con nessuna camera, l’IDE lo segnala e propone un percorso di ripristino per una camera che non viene più enumerata (vedi Aggiornamento e ripristino del firmware).

13.1.3.1. Cosa succede alla connessione

Connettersi è più che aprire una porta seriale. L’IDE identifica la scheda, ne legge la versione del firmware e la confronta con la release inclusa nell’IDE. Se il firmware della camera è più vecchio, una richiesta propone di aggiornarlo: è così che le camere ricevono normalmente gli aggiornamenti del firmware. La finestra di aggiornamento ha caselle di controllo per cancellare anche il filesystem della flash interna e per reimpostare il file system ROM; entrambe sono inizialmente disattivate e ricordano l’ultima scelta, e nessuna delle due è normalmente necessaria per un aggiornamento. Dopo la prima connessione riuscita, l’IDE mostra anche una finestra di dialogo, una sola volta, che spiega il significato dei colori del LED lampeggiante della camera.

Una camera collegata in modalità bootloader (DFU) anziché come normale dispositivo seriale riceve alla connessione una finestra di dialogo dedicata, con opzioni per installare l’ultimo firmware release, caricare un file firmware specifico, cancellare il filesystem della flash interna oppure modificare o reimpostare il file system ROM.

L’IDE segnala anche le peculiarità della piattaforma. Su Windows, durante la connessione controlla l’elenco dei dispositivi di sistema e segnala eventuali problemi dei driver USB che rileva, indicando i dispositivi coinvolti. Su Linux, un errore di permessi nell’apertura della porta seriale significa quasi sempre che il tuo utente non fa parte del gruppo dialout: la finestra di errore mostra il comando adduser esatto che risolve il problema.

13.1.3.2. La barra di stato

Una volta connessa, la barra di stato lungo il bordo inferiore destro della finestra diventa il cruscotto della camera:

  • Board – il tipo di scheda riportato dalla camera.

  • Sensor – il modulo sensore della camera collegato.

  • Firmware Version – la versione del firmware in esecuzione. Facci clic per riverificare la versione rispetto alla release inclusa e aggiornare se ne è disponibile una più recente.

  • Serial Port – la porta che la connessione sta utilizzando.

  • Drive – il punto di montaggio dell’unità flash associata alla camera. Facci clic per aprire l’unità nel tuo file manager; quando sono collegate più unità candidate, l’IDE chiede quale appartiene alla camera e ricorda la risposta per ogni porta seriale. Una camera si connette ed esegue gli script senza problemi anche senza un’associazione all’unità: solo le azioni che dipendono dall’unità, come l’apertura della cartella dell’unità e il salvataggio di uno script come main.py, restano disabilitate finché non ne viene impostata una.

  • FPS – la frequenza con cui i frame arrivano all’IDE. Questa è la frequenza dell’anteprima, non necessariamente la frequenza di acquisizione della camera: uno script può girare più velocemente di quanto il collegamento USB riesca a trasmetterne i frame.

La disconnessione è tollerante. Fare clic su disconnetti è il modo ordinato per uscire, ma anche scollegare il cavo funziona: l’IDE si accorge che la camera è sparita (o ha smesso di rispondere) e si disconnette da solo.

13.1.3.3. Riconnessione automatica

Tools → Auto Reconnect to OpenMV Cam rende la connessione completamente automatica: ogni volta che una camera compare su USB l’IDE si connette a essa, e i pulsanti di connessione e disconnessione manuali sono disabilitati mentre l’opzione è attiva. Con una sola camera e un solo IDE questa è la modalità più comoda: colleghi la camera ed è connessa. Disattivala quando hai a che fare con più camere o condividi la porta con un altro programma.

L’opzione correlata Tools → Stop Script on Connect/Disconnect (attiva per impostazione predefinita) interrompe qualsiasi script in esecuzione quando l’IDE si collega o si scollega, così una camera appena connessa è sempre in uno stato di inattività noto. Disattivala per consentire a una camera di continuare a eseguire lo script memorizzato mentre l’IDE si connette per osservarla.