v2.4.0

v2.4.0 je postaveno na Qt Creator 4.0.2 a zaměřuje se na nový bootloader V3 (dotaz na rozložení QSPI flash paměti během nahrávání firmwaru a mazání během úplného smazání palubní datové flash paměti), živé hlášení senzoru a desky ve stavovém řádku a nový 32bitový USB ladicí protokol odpovídající dodávanému firmwaru. Přidává také průvodce LED při prvním spuštění a velkou sadu nových příkladů pro TensorFlow, Modbus a WiFi. Protože se ladicí protokol změnil, kamery musí pro připojení používat nový dodávaný firmware.

Hlavní novinky

  • Podpora bootloaderu V3 se dotazuje na rozložení externí QSPI flash paměti desky během nahrávání firmwaru a maže ji během úplného smazání palubní datové flash paměti (d953df62f).

  • Hlášení senzoru a desky se při připojení dotazuje na modul senzoru připojené kamery a zobrazuje jej ve stavovém řádku (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) spolu s novým štítkem typu desky (0ffa82958).

  • Kopírování modelu TensorFlow umožňuje kopírovat na kameru modely .tflite, nikoli pouze soubory neuronových sítí .network (ad1aa98f0).

  • Erase Onboard Data Flash je nový příkaz v nabídce Tools, který po potvrzovacím dotazu smaže pouze palubní flash paměť souborového systému kamery, aniž by přeflashoval firmware (d953df62f, 98686ac46).

  • Průvodce LED při prvním spuštění je nový dialog OpenMV Cam LED Colors, který vysvětluje stavy palubní LED a lze jej trvale zavřít (c2d00422f).

Nové funkce

  • Bootloader V3 se během nahrávání firmwaru dotazuje na rozložení QSPI flash paměti a externí QSPI flash paměť maže pouze během úplného smazání palubní datové flash paměti; connectClicked na deskách V3 vždy spouští bootloaderQSPIFLayout, ale bootloaderQSPIFErase spouští pouze tehdy, je-li nastaveno forceFlashFSErase (příkazy QSPI write/memtest jsou implementovány ve vrstvě IO, ale loader je nevyužívá) (d953df62f).

  • Stav senzoru a desky se při připojení dotazuje na modul senzoru kamery a zobrazuje jej (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) ve stavovém řádku spolu s novým štítkem typu desky, přičemž používá novou mapu id-na-název sensors.txt (0ffa82958).

  • Průvodce LED při prvním spuštění přidává nový dialog OpenMV Cam LED Colors, který se po krátké prodlevě objeví, když je při prvním spuštění otevřeným dokumentem helloworld_1.py, a vysvětluje stavy palubní LED (blikající zelená = běží bootloader, modrá = běží main.py, bílá = panika při selhání hardwaru); zaškrtávací políčko „Don’t show this message again.“ zachovává zavření prostřednictvím nastavení DONT_SHOW_LED_STATES_AGAIN (c2d00422f).

  • Open OpenMV Cam Drive folder je nová položka nabídky Tools, která otevře připojený disk kamery v systémovém prohlížeči souborů (a49f54305).

  • Erase Onboard Data Flash je nový příkaz v nabídce Tools, který po potvrzovacím dotazu smaže pouze palubní flash paměť souborového systému, aniž by přeflashoval firmware (d953df62f, 98686ac46).

  • Kopírování modelu TensorFlow umožňuje dialogu pro kopírování modelu kopírovat na kameru modely .tflite navíc k souborům neuronových sítí .network; filtr dialogu navíc získal položky Label Files (*.txt) a All Files (ad1aa98f0, 0ffa82958, c0dbdd9e5).

  • Přepínač verze ladicího protokolu kvůli spolehlivosti rozděluje sériové příkazy GetAttribute, SetAttribute, FBEnable a JPEGEnable při komunikaci s firmwarem 3.5.3+ (83b9ca18f).

  • Nové dodávané příklady přidávají skripty TensorFlow Lite mobilenet a person-detection s posuvným oknem plus příklad STM32Cube.AI (nn_stm32cubeai.py) MNIST, novou složku 32-modbus (modbus_rtu_slave.py, modbus_apriltag.py), doplňky WiFi shieldu (http_client_ssl, static_ip, mqtt_pub/mqtt_sub), Arduino UART/SPI-slave a CAN (e26b90d79, 42ba8f5c4).

Další změny a vylepšení

  • Aktualizace USB ladicího protokolu na nový firmware: čtení atributů používá nový 32bitový příkaz ATTR_READ_2 (0xCA) a payloady atributu, hodnoty a povolení framebufferu se odesílají jako 32bitové longy namísto 16bitových words (55d7cfe70).

  • Přejmenování Save open script to OpenMV Cam na Save open script to OpenMV Cam (as main.py) pro objasnění, že zapisuje main.py (a49f54305).

  • Přejmenování Run Bootloader na Run Bootloader (Load Firmware) pro objasnění jeho účelu (ad1aa98f0).

  • Nabídky příkladů jsou nyní řazeny podle číselného prefixu složky/souboru a úvodní číslice NN- jsou ze zobrazovaných názvů odstraněny (ad1aa98f0).

  • Výstupní a sériové terminály nyní vykreslují tabulátory jako mezery pomocí konfigurovatelné šířky tabulátoru sériového terminálu z nastavení textového editoru namísto pevně dané šířky 8 (98686ac46).

  • Detekce disků v Linuxu nyní při přiřazování disku kamery přijímá také souborové systémy připojené přes fuseblk (například svazky exFAT/NTFS) (c0dbdd9e5).

  • Aktualizace dodávané sady HTML dokumentace MicroPython (referenční příručka knihoven, návody esp8266/esp32, generované stránky a obrázky) zobrazované v nápovědě IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).

Opravy chyb

  • Oprava číselného přetečení ve statistikách histogramu (průměr, kvartily, medián, směrodatná odchylka) rozšířením akumulátorů z int na 64bitové, čímž se zabrání chybným statistikám u velkých obrazů (55d7cfe70).

  • Přepracování odpojení/vysunutí v Linuxu: nespolehlivé vyprázdnění syncfs/closedir bylo odstraněno a disk se nyní odpojuje obyčejným příkazem umount bez dialogu průběhu (b86d5c62c, c0dbdd9e5, 30d4a7d2d).

  • USB disk desky je nyní přiřazen pouze tehdy, je-li firmware dostatečně nový nebo je přítomen značkovací soubor .openmv_disk, čímž se zabrání tomu, aby IDE zabralo nesprávný vyměnitelný disk (e464eaed4).

  • Oprava logiky opětovného připojení tak, že spuštění operace bootloaderu/mazání během připojení nyní nejprve čistě odpojí a poté akci zopakuje, čímž se zabrání zaseknutí v pracovním stavu (d953df62f).

  • Přepsání nástroje pro odstraňování komentářů/bílých znaků používaného při odesílání skriptů do kamery na stavový automat rozpoznávající řetězce, takže znaky # uvnitř řetězců již nejsou mylně považovány za komentáře a koncové bílé znaky a docstringy jsou správně zpracovány (24dff1b2f).

  • Oprava zpracování překladových řetězců pro několik zpráv dialogů připojení/terminálu tak, aby vložené příkazy shellu (sudo adduser, instalační kroky pydfu) již nebyly součástí přeložitelného textu a vykreslovaly se správně (b5705a57e).

Podpora platforem a nástrojů

  • Základ Qt Creator: 4.0.2.

  • Přejmenování desky/firmwaru OpenMV Cam H7 Plus z OPENMV4R na OPENMV4P (OMV4P_H7_32768_SDRAM) a dodání jejího firmwaru pod novým názvem (c0dbdd9e5).

  • Oprava zobrazovaného názvu desky H7 Plus tak, aby používal podtržítka místo mezer (OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).

  • Dodávaný firmware byl v průběhu vydání aktualizován a skončil na verzi 3.5.2 pro OPENMV2/3/4/4P (finální navýšení v 15c07498c; dřívější kumulativní navýšení v 42ba8f5c4 na 3.4.2, a99c2e3e1 na 3.4.3, e26b90d79 na 3.5.0 a 97b0f645a na 3.5.1).

  • Verze dodávaného firmwaru: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.

  • Verze OpenMV IDE navýšena z 2.2.1 na 2.4.0.

Zásadní změny

USB ladicí protokol pro čtení atributů byl přepnut ze starého 16bitového příkazu ATTR_READ (0x8A) na nový 32bitový příkaz ATTR_READ_2 (0xCA) a payloady atributu, hodnoty a povolení se nyní odesílají jako 32bitové longy; IDE se navíc při připojení dotazuje na ID senzoru kamery. To vyžaduje firmware, který implementuje nový protokol. Dodávaný firmware 1.2.15 / 1.4.11 jej poskytuje, takže starší kamery musí být pro připojení přeflashovány na nový firmware.