13.1.2. Scripts, voorbeelden en de documentenmap¶
13.1.2.1. Nieuwe bestanden¶
Maak een nieuw bestand aan en de IDE opent een untitled_N.py-buffer die vooraf is gevuld met een minimale opnamelus – reset de sensor, configureer het pixelformaat en de framegrootte, maak vervolgens eeuwig een momentopname en druk de framesnelheid af. Het startscript is aangepast aan het verbonden bord, dus het draait zoals aangemaakt. De buffer leeft alleen in het geheugen: je kunt hem herhaaldelijk bewerken en uitvoeren zonder hem ooit op te slaan, wat nieuwe bestanden de goedkoopste manier maakt om een idee te testen. Sla het op schijf op en het wordt een gewoon script.
13.1.2.3. De documentenmap¶
Voor je eigen scripts houdt de IDE een OpenMV-map in je documentenmap in de gaten (Documents/OpenMV). Alles wat je daar opslaat verschijnt onder File → Documents Folder, inclusief submappen, zodat je scriptverzameling op één menu afstand ligt. Het menu leest de map live – bestanden die je buiten de IDE toevoegt verschijnen de volgende keer dat het menu opent.
De IDE draait als één instantie: open een .py-bestand vanuit je bestandsbeheerder, of sleep er een naar het IDE-venster, en het opent in het draaiende venster in plaats van een tweede kopie te starten.
13.1.2.4. Een script cross-compileren¶
Tools → MicroPython Tools → Copy/Convert Python File kopieert een .py-bestand naar een bestemming – de schijf van de camera, wanneer er een is verbonden – en laat je kiezen wat er onderweg gebeurt: kopieer het ongewijzigd, verwijder witruimte en/of commentaar om het te verkleinen, of compileer het tot een .mpy-bytecodebestand met de mpy-cross-compiler die bij het doelbord past. Een .mpy-bestand importeert precies zoals de .py waar het vandaan komt, laadt sneller en levert zijn broncode niet mee – de vorm om te gebruiken bij het distribueren van een bibliotheekmodule naar het bestandssysteem van de camera. Met een verbonden camera kiest de IDE automatisch het doelbord; anders vraagt het dialoogvenster voor welk bord moet worden gecompileerd. De bordkeuze is belangrijk omdat deze de processorarchitectuur bepaalt waar de compiler zich op richt: een .mpy-bestand is afgestemd op de camera waarop het zal draaien, en een bestand dat voor een andere bordfamilie is gecompileerd zal niet gegarandeerd laden.
Zie ook
MicroPython-tools voor mpy-cross en mpremote als zelfstandige opdrachtregelprogramma’s, en MicroPython .mpy-bestanden voor het .mpy-bestandsformaat zelf.