v4.0.0¶
A v4.0.0 a nagy v3 → v4 kiadás. Bevezeti a modern, többképkockás sensor pufferelő API-t (dupla / hármas pufferelés és egy video FIFO), egy képkocka-kész visszahívást, egy Bluetooth modult (NimBLE stack) Portenta-támogatással, a kezdeti MT9M114 kamera-illesztőprogramot, az MDMA-ra terhelt kameraképrögzítést, a Bayer/JPEG támogatást az image.draw_image()-ben, valamint egy ugrást a MicroPython 1.15-re. A régi streamelési mód eltávolításra került, és a sensor.set_windowing() átdolgozásra került — olvasd el az alábbi megszakító változásokat.
Kiemelt változások¶
Többképkockás pufferelés — a
sensordupla pufferelést, hármas pufferelést és egy video-FIFO módot kap a magasabb, simább képkockasebességhez.Képkocka-kész visszahívás — regisztrálj egy visszahívást, amely akkor fut le, amikor egy új képkocka elkészül, a nem blokkoló rögzítési láncokhoz.
Bluetooth — egy NimBLE stackre épülő
bluetoothmodul, engedélyezve az Arduino Portenta H7-en (egy BLE példával).MT9M114 — kezdeti kameraérzékelő illesztőprogram.
Gyorsabb rögzítés — MDMA-tehermentesítés a kameraadatok rögzítéséhez; a
draw_image()mostantól elfogad Bayer- és JPEG-forrásokat/célokat.MicroPython 1.15 — a mellékelt MicroPython 1.13-ról 1.15-re frissítve.
Megszakító: a régi streamelési mód eltávolításra került, és a
sensor.set_windowing()átdolgozásra került — lásd a megszakító változásokat.
Új funkciók¶
Sensor többszörös pufferelés — hozzáadva a
sensor.set_framebuffers()/sensor.get_framebuffers(), valamint aSINGLE_BUFFER/DOUBLE_BUFFER/TRIPLE_BUFFER/VIDEO_FIFOmódok, továbbá asensor.get_frame_available()a dupla, hármas és video-FIFO rögzítéshez.Képkocka-kész visszahívás — hozzáadva a
sensor.set_frame_callback(), így minden új képkocka befejeztekor egy Python-visszahívás fut le.Bluetooth — hozzáadva egy NimBLE stackre épülő
bluetoothmodul (NimBLE almodul, CYW-BT illesztőprogram), engedélyezve az Arduino Portenta H7-en egy BLE példával.MT9M114 — hozzáadva a kezdeti MT9M114 kameraérzékelő illesztőprogram.
draw_image — hozzáadva a debayering-támogatás és a JPEG-másolási támogatás, így az
image.draw_image()elfogad Bayer- és JPEG-forrás-/célképeket.MDMA rögzítés-tehermentesítés — a kameraadatok rögzítése MDMA-ra van terhelve a nagyobb átviteli teljesítményhez.
Egy színpaletta-argumentum mostantól letiltható a
-1átadásával (mivel aNoneérvényes argumentumként van fenntartva).
Egyéb változások és fejlesztések¶
Áttérés az új szoftveres I2C-megvalósításra; igazítás a MicroPython upstreamhez; laponkénti ulab-konfiguráció; alapvető beépített modulok engedélyezve az OpenMV 2-höz; igazságosabb képkocka-puffer kiolvasási zárolás; mutex-támogatás kiterjesztve a Cortex-M0/M0+-ra zárolási időtúllépéssel.
Hibajavítások¶
Kamera és képalkotás:
Kijavítva a FLIR Lepton inicializálási megbízhatósága a Pure Thermal lapon, az ImageIO JPEG-puffer / szüneteltetés kezelése, a HM01B0 vflip/hmirror beállításai, a JPEG-puffer ürítése egy kép érvénytelenítésekor, és egy
croppedjelző, amely akkor lett beállítva, amikor a framesize érvénytelen volt.
Rendszer és kapcsolatkezelés:
Kijavítva az USB-parancs kiürítése és a reset-to-bootloader parancs, a mutex-inicializálás, az UART órajelforrása, a FatFS code-page definíció, a WINC1500 sávon kívüli ACK kezelése, a WiFi-hibakeresés és a Nano33 USB PID; elkülönítve a dedikált analóg padek.
Hardver- és laptámogatás¶
MT9M114 kameraérzékelő (kezdeti illesztőprogram).
Arduino Portenta H7 — Bluetooth engedélyezve (NimBLE) egy BLE példával.
Arduino Nano RP2040 Connect / Nano 33 BLE Sense — a WiFi-hibakeresési jelző letiltva ott, ahol nem támogatott; blinky példa hozzáadva; USB PID javítás.
Megszakító API-változások¶
Felhasználó számára látható API-törések a v3.9.4 és v4.0.0 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 legtöbb szkriptet érinti; szinte biztosan portolnod kell a kódot.
minor — szűk API; csak az azt használó szkripteket érinti.
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 streamelési mód eltávolítva (major)¶
A régi érzékelő streamelési mód eltávolításra került az új többképkockás pufferelő API javára. Az a kód, amely engedélyezte a streamelési módot, át kell hogy térjen a sensor.set_framebuffers() használatára a DOUBLE_BUFFER / TRIPLE_BUFFER / VIDEO_FIFO módokkal, és a rögzítést a sensor.snapshot() / sensor.get_frame_available() segítségével kell vezérelnie helyette.
Commitok: a42f3a647
A sensor.set_windowing() átdolgozva (behavior)¶
A sensor.set_windowing() sokkal rugalmasabbá vált: mostantól több argumentumformát is elfogad (egy régió-tuple, vagy szélesség/magasság középre igazítva, vagy x, y, w, h), és az ablakot az aktuális felbontáshoz viszonyítva oldja fel. Azok a szkriptek, amelyek a régi, rögzített formában adták át az ablakargumentumokat, eltérő régiót választhatnak, és ezeket újra kell ellenőrizni.
Commitok: 3e9c43554
MicroPython 1.13 → 1.15 (behavior)¶
A mellékelt MicroPython-mag 1.13-ról 1.15-re frissült (az 1.14-en keresztül). A standard könyvtár és nyelvi viselkedés az upstream MicroPython 1.15-öt követi; ellenőrizd újra azokat a szkripteket, amelyek verziófüggő micropython / standard modul viselkedésre támaszkodnak.
Az ImageIO update_jpeg_buffer argumentum eltávolítva (minor)¶
Az ImageIO JPEG-puffer frissítése átdolgozásra került, hogy a puffert a kép forrásargumentumából vezesse le, és az explicit update_jpeg_buffer argumentum eltávolításra került. Azoknak a szkripteknek, amelyek update_jpeg_buffer-t adtak át az ImageIO-nak, el kell hagyniuk ezt az argumentumot.
Commitok: 5c6937bd1
Migrációs ellenőrzőlista¶
A v4.0.0-ra való tiszta portoláshoz a tipikus tennivaló a következő:
Cseréld le az eltávolított streamelési mód minden használatát az új
sensor.set_framebuffers()többszörös pufferelő API-ra (a streamelési mód eltávolítva).Ellenőrizd újra a
sensor.set_windowing()hívásokat az átdolgozott, rugalmasabb argumentumkezeléssel szemben (az ablakozási változás).Validáld újra azokat a szkripteket, amelyek verziófüggő MicroPython-viselkedésre támaszkodnak, a MicroPython 1.15-tel szemben (a MicroPython-frissítés).
Hagyd el az
update_jpeg_bufferargumentumot az ImageIO-hívásokból (az ImageIO-változás).
Az összes többi szkript változtatás nélkül fut.