v3.9.4¶
A v3.9.4 hozzáad egy buzzer modult, Himax HM01B0 mozgásérzékelés ioctl-eket (alacsony fogyasztású, mozgásra ébredő példákkal), MT9V034 kiolvasási-ablak vezérlést, Ethernet alacsony fogyasztású funkciókat, egy OV7670 kamera-illesztőprogramot és az Arduino Nano 33 BLE Sense kamerát. Emellett egy nagy adag JPEG / LCD / TV gyorsítást is tartalmaz. A VSYNC kimeneti API-t egy visszahívás váltotta fel, és az MT9V034 erősítés/expozíció számítása javításra került — olvasd el az alábbi megszakító változásokat.
Kiemelt változások¶
Buzzer modul — egy új
buzzermodul (freq(),duty(),RESONANT_FREQ) az OpenMV Pure Thermalon.HM01B0 mozgásérzékelés — új Himax mozgásérzékelő ioctl-ek, valamint egy alacsony fogyasztású, mozgásra ébredő példa.
MT9V034 kiolvasási ablak — a globális zár kiolvasási ablakának vezérlése a
sensor.ioctl()segítségével.Új kamerák / lapok — alap OV7670 illesztőprogram, Arduino Nano 33 BLE Sense kamera és a Bormio lap.
Gyorsabb feldolgozási lánc — újraírt SIMD JPEG-kódoló, gyorsabb debayering, és nagy LCD/TV átviteli gyorsítások.
Megszakító: a
sensor.set_vsync_output()helyét asensor.set_vsync_callback()vette át, és az MT9V034 erősítés/expozíció számítása javításra került — lásd a megszakító változásokat.
Új funkciók¶
Buzzer — hozzáadva egy
buzzermodul abuzzer.freq(),buzzer.duty()és egybuzzer.RESONANT_FREQállandóval (OpenMV Pure Thermal).HM01B0 mozgásérzékelés — hozzáadva az
IOCTL_HIMAX_MD_ENABLE/MD_WINDOW/MD_THRESHOLD/MD_CLEARésIOCTL_HIMAX_OSC_ENABLEioctl-ek, egy Himax mozgásérzékelő példával és egyhimax_wakeup_on_motion_detection.pyalacsony fogyasztású ébresztő példával.MT9V034 kiolvasási ablak — hozzáadva az
IOCTL_SET_READOUT_WINDOW/IOCTL_GET_READOUT_WINDOWaz MT9V034 kiolvasási-ablak vezérléséhez asensor.ioctl()segítségével.Ethernet alacsony fogyasztás — hozzáadva Ethernet kikapcsolási / alacsony fogyasztású funkciók.
Portenta — hozzáadva a külső oszcillátort engedélyező/letiltó visszahívás-funkciók.
Egyéb változások és fejlesztések¶
Újraírva a JPEG-kódoló SIMD-del, és felgyorsítva a Bayer→YCbCr kódolás, a hardveres JPEG-mag bekapcsolva tartva a szkript futása alatt, felgyorsítva a debayering (~19,5 ms VGA esetén), a JPEG-tömörítés MDMA-ra terhelve, a TV/LCD átviteli útvonalak gyorsítva SIMD-del/hatékony DMA-val, és jelentősen csökkentve az SPI LCD busz használata. Hozzáadva egy USB3320 ULPI PHY illesztőprogram a nagy sebességű USB-hez.
Hibajavítások¶
Kamera és érzékelők:
Kijavítva a HM01B0 illesztőprogram inicializálása/streamelése, és behangolva az AE-célértéke / maximális erősítése, javítva az MT9V034 AGC/AEC erősítés-korlátozása, és kijavítva az OV5640 autofókusz firmware betöltése (bájtsorrend).
Kijelző:
Kijavítva a 64 KB-nál nagyobb SPI LCD DMA-átvitelek, az LCD-kimenet polaritása és az LCD-busz stabilitása (AXI QOS).
Rendszer és kapcsolatkezelés:
Kijavítva a CYW43 WiFi-illesztőprogram által használt SDMMC-példány (egy lap által definiált SDMMC-példánnyal), javítva a FLIR Lepton DMA-hatékonysága (a VOSPI 20 MHz-re emelve a H7-en), kijavítva a Portenta alacsony fogyasztású / készenléti viselkedése (PMIC SW1 áramkorlát, Ethernet és ULPI alacsony fogyasztás), az RTSP-szerver mostantól tolerálja a sorrenden kívüli
CSeqésPLAY Rangefejléceket (FFPLAY), kijavítva a linker veremének 8 bájtos EABI-igazítása, és kijavítva egy hibás importálás a Portentamqtt_sub.pypéldájában.
Hardver- és laptámogatás¶
OV7670 kameraérzékelő — alap illesztőprogram.
Arduino Nano 33 BLE Sense — kameraérzékelő illesztőprogram (nrf port) reset-láb és I2C-busz javításokkal.
HM01B0 — hozzáadva egy 320x320-as felbontás.
Bormio — PLL órajel-konfiguráció, flash-elrendezés és GPIO PORT K (a Portentán is engedélyezve).
USB3320 ULPI PHY — nagy sebességű USB.
Megszakító API-változások¶
Felhasználó számára látható API-törések a v3.9.3 és v3.9.4 között. Hatókör: a modules/ mappában lévő Python C-modulok és a scripts/libraries/ mappában lévő Python-könyvtárak.
Minden változás a hatásával van megjelölve:
major — a funkciót használó legtöbb szkriptet érinti; portolnod kell a kódot.
behavior — azonos API, eltérő eredmények; ellenőrizd újra a behangolt szkripteket.
A változások hatás szerint, ebben a sorrendben vannak csoportosítva. Ha csak portolni szeretnéd a kódodat, ugorj a végén lévő migrációs ellenőrzőlistához. Minden commit-hash a GitHubon lévő diffjére hivatkozik.
A VSYNC kimenetet egy visszahívás váltotta fel (major)¶
A sensor.set_vsync_output(pin) eltávolításra került, és a sensor.set_vsync_callback(callback) váltotta fel. A VSYNC-vonal többé nem hajt meg közvetlenül egy Pin-t; helyette egy Python hívható objektum hívódik meg a VSYNC állapotával, és a visszahívásod maga kapcsolgatja a Pin-t. A sensor.set_vsync_output()-ot használó kódot portolni kell (lásd a frissített vsync_gpio_output.py példát).
Commitok: 5bbe25c20
Az MT9V034 erősítés/expozíció számítása javítva (behavior)¶
Az MT9V034 órajel-sebessége és erősítés/expozíció számítása javításra került, így a sensor.set_auto_gain() / sensor.set_auto_exposure() mostantól pontos (és ezért más) értékeket állít elő, mint korábban. Azoknak a szkripteknek, amelyek kompenzáló erősítés/expozíció értékeket égettek be, hogy megkerüljék a régi hibás számítást az MT9V034 globális zárú kameráknál, el kell hagyniuk ezeket a kerülőmegoldásokat, és újra kell hangolniuk.
Commitok: 4420536c4
Migrációs ellenőrzőlista¶
A v3.9.4-re való tiszta portoláshoz a tipikus tennivaló a következő:
Cseréld le a
sensor.set_vsync_output(pin)-t asensor.set_vsync_callback(callback)-re, és aPin-t a visszahíváson belülről kapcsolgasd (a VSYNC-változás).Hangold újra az MT9V034 erősítés/expozíció kerülőmegoldásait a javított számítással szemben (az MT9V034-változás).
Az összes többi szkript változtatás nélkül fut.