13.1.4. Szkriptek futtatása

A start gomb – a zöld nyíl a connect gomb alatt, vagy a Ctrl+R – elküldi az aktuális szerkesztőfül szkriptjét a csatlakoztatott kamerára, és lefuttatja azt. Amíg egy szkript fut, a start gomb stop gombbá válik, amellyel leállíthatod. Ez a két gomb alkotja a kamerán végzett összes fejlesztés alapvető körforgását: szerkesztés, indítás, megfigyelés, leállítás, majd újra szerkesztés.

Ennek a körforgásnak két részlete fontos. Először is, a szkript a kamera RAM-jába kerül, és ott fut le – egy szkript elindítása semmit sem ír a kamera tárhelyére, és a szkript egy reset után eltűnik. Másodszor, az fut le, ami az aktuális szerkesztőfülön látható, pontosan úgy, ahogyan megjelenik, akár el van mentve, akár nem. Nincs külön feltöltési lépés, és nincs a kamerán elavult másolat, amely kicsúszhatna a szinkronból a szerkesztőddel.

Amíg egy szkript fut, a print() kimenete a soros terminálba áramlik, és minden képkocka, amelyet rögzít, megjelenik a képkocka-puffer nézegetőjében. Amikor egy szkript kezeletlen kivételt vált ki, a hibakövetés (traceback) kiíródik a soros terminálba, és az IDE a szerkesztőt a hibát okozó sorra ugratja – egy többfájlos alkalmazás esetén előbb megnyitja a megnevezett fájlt a kamera meghajtójáról.

13.1.4.1. Szkript állandóvá tétele

Ahhoz, hogy a kamera az IDE nélkül futtasson egy szkriptet – bekapcsoláskor, önállóan, a terepen –, tárold a szkriptet a kamerán main.py néven. A Tools → Save open script to OpenMV Cam (as main.py) az aktuális szerkesztőfület a kamera meghajtójára írja ezen a néven, és közben felajánlja a megjegyzések eltávolítását és a szóközök tömörítését – ami zsugorítja a fájlt, de egy olvashatatlan másolatot küld –, a Tools → Reset OpenMV Cam pedig újraindítja a kamerát, hogy az a tárolt szkriptbe induljon be. Együtt ezek alkotják a telepítési lépést: ettől kezdve a kamera lefuttatja a szkriptedet, valahányszor tápfeszültséget kap, IDE-vel vagy anélkül.

Miközben egy resetelt kamera a tárolt main.py fájlját futtatja, az IDE továbbra is csatlakozhat hozzá – a Stop Script on Connect/Disconnect bekapcsolt állapotában (ez az alapértelmezett) a csatlakozás leállítja a tárolt szkriptet, és visszaadja a vezérlést a szerkesztőnek.

Lásd még

Szkriptek befagyasztása a firmware-be, amely elmagyarázza, mit jelent a main.py a kamera indítási folyamatában, valamint hogyan helyezhető át egy elkészült alkalmazás teljesen a szerkeszthető tárhelyen kívülre.

13.1.4.2. A kamera meghajtója

A kamera flash memóriás fájlrendszere (és az SD-kártya, ha be van helyezve) USB flash meghajtóként csatlakozik a gazdagéphez. A Tools → Open OpenMV Cam Drive folder megnyitja azt a fájlkezelődben. Ide másolod a könyvtármodulokat, a modellfájlokat és azokat az erőforrásokat, amelyeket a szkript importál vagy betölt, és innen szeded ki a szkript által elmentett képeket és naplókat. A meghajtó elérési útja a státuszsoron is megjelenik.

A szkript által létrehozott fájlok nem jelennek meg azonnal a gazdagépen: a gazdagép a meghajtó csatlakoztatásának pillanatától kezdve gyorsítótárazza a fájlrendszert, így a futó szkript által mentett pillanatkép láthatatlan marad, amíg a meghajtó újra nem csatlakozik. A Tools → Reset OpenMV Cam újracsatlakoztatja azt – ez a gyors módja annak, hogy hozzáférj ahhoz, amit a szkript épp leírt.

Egy figyelmeztetés: a kamera és a gazdagép közösen használja ezt a fájlrendszert, és a két oldalról egyidejűleg végzett írások megsérthetik azt. A fájlokat akkor másold, amikor egyetlen szkript sem ír a tárhelyre, és a kártya kihúzása előtt megfelelően választd le azt.