v3.9.4

v3.9.4 lisää buzzer-moduulin, Himax HM01B0 -liiketunnistuksen ioctl-kutsut (ja vähävirtaiset liikkeestä herättävät esimerkit), MT9V034:n lukuikkunan hallinnan, Ethernetin vähävirtatoiminnot, OV7670-kamera-ajurin sekä Arduino Nano 33 BLE Sense -kameran. Se tuo myös suuren joukon JPEG- / LCD- / TV-nopeutuksia. VSYNC-ulostulon API korvattiin takaisinkutsulla ja MT9V034:n vahvistus-/valotuslaskenta korjattiin — lue alla olevat rikkovat muutokset.

Kohokohdat

  • Buzzer-moduuli — uusi buzzer-moduuli (freq(), duty(), RESONANT_FREQ) OpenMV Pure Thermalissa.

  • HM01B0-liiketunnistus — uudet Himax-liiketunnistuksen ioctl-kutsut sekä vähävirtainen liikkeestä herättävä esimerkki.

  • MT9V034:n lukuikkuna — hallitse globaalin sulkimen lukuikkunaa sensor.ioctl()-kutsulla.

  • Uudet kamerat / kortit — perustason OV7670-ajuri, Arduino Nano 33 BLE Sense -kamera ja Bormio-kortti.

  • Nopeampi liukuhihna — uudelleenkirjoitettu SIMD JPEG -enkooderi, nopeampi debayerointi ja suuret LCD/TV-siirtonopeutukset.

  • Rikkova: sensor.set_vsync_output() korvattiin sensor.set_vsync_callback()-kutsulla ja MT9V034:n vahvistus-/valotuslaskenta korjattiin — katso rikkovat muutokset.

Uudet ominaisuudet

  • Buzzer — lisätty buzzer-moduuli, jossa buzzer.freq(), buzzer.duty() ja buzzer.RESONANT_FREQ-vakio (OpenMV Pure Thermal).

  • HM01B0-liiketunnistus — lisätty IOCTL_HIMAX_MD_ENABLE / MD_WINDOW / MD_THRESHOLD / MD_CLEAR ja IOCTL_HIMAX_OSC_ENABLE -ioctl-kutsut, mukana Himax-liiketunnistuksen esimerkki sekä himax_wakeup_on_motion_detection.py-vähävirtainen herätysesimerkki.

  • MT9V034:n lukuikkuna — lisätty IOCTL_SET_READOUT_WINDOW / IOCTL_GET_READOUT_WINDOW MT9V034:n lukuikkunan hallintaan sensor.ioctl()-kutsulla.

  • Ethernetin vähävirtatila — lisätty Ethernetin virrankatkaisu- / vähävirtatoiminnot.

  • Portenta — lisätty ulkoisen oskillaattorin käyttöönotto-/poiskytkentätakaisinkutsut.

Muut muutokset ja parannukset

  • Kirjoitettu JPEG-enkooderi uudelleen SIMD:llä ja nopeutettu Bayer→YCbCr-enkoodausta, pidetty laitteistopohjainen JPEG-ydin virroitettuna skriptin suorituksen aikana, nopeutettu debayerointia (~19,5 ms VGA:lle), siirretty JPEG-pakkaus MDMA:lle, kiihdytetty TV/LCD-siirtopolkuja SIMD:llä/tehokkaalla DMA:lla ja vähennetty merkittävästi SPI LCD -väylän käyttöä. Lisätty USB3320 ULPI PHY -ajuri suurnopeus-USB:lle.

Vikakorjaukset

Kamera ja sensorit:

  • Korjattu HM01B0-ajurin alustus/striimaus ja viritetty sen AE-tavoite / maksimivahvistus, korjattu MT9V034:n AGC/AEC-vahvistuksen rajoitus ja korjattu OV5640:n autofokus-laiteohjelmiston lataus (tavujärjestys).

Näyttö:

  • Korjattu yli 64 kt:n SPI LCD DMA -siirrot, LCD-ulostulon polariteetti ja LCD-väylän vakaus (AXI QOS).

Järjestelmä ja yhteydet:

  • Korjattu CYW43 WiFi -ajurin käyttämä SDMMC-instanssi (kortilla määritetyllä SDMMC-instanssilla), parannettu FLIR Lepton -DMA:n tehokkuutta (VOSPI nostettu 20 MHz:iin H7:llä), korjattu Portentan vähävirta- / valmiustilan käyttäytyminen (PMIC SW1 -virtaraja, Ethernetin ja ULPI:n vähävirta), saatu RTSP-palvelin sietämään epäjärjestyksessä saapuvat CSeq- ja PLAY Range-otsakkeet (FFPLAY), korjattu linkkerin pinon 8-tavuinen EABI-kohdistus ja korjattu rikkinäinen import Portentan mqtt_sub.py-esimerkissä.

Laitteisto- ja korttituki

  • OV7670-kamerasensori — perustason ajuri.

  • Arduino Nano 33 BLE Sense — kamerasensoriajuri (nrf-portti) reset-nastan ja I2C-väylän korjauksilla.

  • HM01B0 — lisätty 320x320-resoluutio.

  • Bormio — PLL-kellokonfiguraatio, flash-muistin asettelu ja GPIO PORT K (otettu käyttöön myös Portentassa).

  • USB3320 ULPI PHY — suurnopeus-USB.

Rikkovat API-muutokset

Käyttäjälle näkyvät API-rikot v3.9.3:n ja v3.9.4:n välillä. Laajuus: Python-C-moduulit kansiossa modules/ ja Python-kirjastot kansiossa scripts/libraries/.

Jokainen muutos on merkitty vaikutuksensa mukaan:

  • major — vaikuttaa useimpiin ominaisuutta käyttäneisiin skripteihin; koodi on portattava.

  • behavior — sama API, eri tulokset; tarkista viritetyt skriptit uudelleen.

Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain portata koodisi, siirry lopussa olevaan siirtymistarkistuslistaan. Jokainen commit-tiiviste linkittää sen diffiin GitHubissa.

VSYNC-ulostulo korvattu takaisinkutsulla (major)

sensor.set_vsync_output(pin) poistettiin ja korvattiin sensor.set_vsync_callback(callback)-kutsulla. VSYNC-linja ei enää ohjaa Pin-nastaa suoraan; sen sijaan Python-kutsuttavaa kutsutaan VSYNC-tilalla, ja takaisinkutsusi vaihtaa itse Pin-nastan tilaa. Koodi, joka käytti sensor.set_vsync_output()-kutsua, on portattava (katso päivitetty vsync_gpio_output.py-esimerkki).

Commitit: 5bbe25c20

MT9V034:n vahvistus-/valotuslaskenta korjattu (behavior)

MT9V034:n kellonopeus ja vahvistus-/valotuslaskenta korjattiin, joten sensor.set_auto_gain() / sensor.set_auto_exposure() tuottavat nyt tarkkoja (ja siksi erilaisia) arvoja kuin ennen. Skriptit, jotka kovakoodasivat kompensoivia vahvistus-/valotusarvoja kiertääkseen vanhaa virheellistä laskentaa MT9V034:n globaalin sulkimen kameroissa, kannattaa poistaa nuo kiertotavat ja virittää uudelleen.

Commitit: 4420536c4

Siirtymistarkistuslista

Siisti portaus v3.9.4:ään edellyttää tyypillisesti seuraavaa:

  1. Korvaa sensor.set_vsync_output(pin) sensor.set_vsync_callback(callback)-kutsulla ja vaihda Pin-nastan tilaa takaisinkutsun sisältä (VSYNC-muutos).

  2. Viritä uudelleen mahdolliset MT9V034:n vahvistus-/valotuskiertotavat korjattua laskentaa vasten (MT9V034-muutos).

Kaikki muut skriptit toimivat sellaisinaan.