v3.9.4

v3.9.4 dodaje modul buzzer, Himax ioctl-ove za HM01B0 detekciju pokreta (s primjerima buđenja na pokret uz nisku potrošnju), kontrolu prozora očitavanja za MT9V034, funkcije niske potrošnje za Ethernet, upravljački program za kameru OV7670 te kameru Arduino Nano 33 BLE Sense. Donosi i velik niz ubrzanja za JPEG / LCD / TV. API VSYNC izlaza zamijenjen je povratnim pozivom, a matematika pojačanja/ekspozicije za MT9V034 je ispravljena — pročitajte promjene koje narušavaju kompatibilnost u nastavku.

Istaknuto

  • Modul buzzer — novi modul buzzer (freq(), duty(), RESONANT_FREQ) na OpenMV Pure Thermal.

  • HM01B0 detekcija pokreta — novi Himax ioctl-ovi za detekciju pokreta uz primjer buđenja na pokret s niskom potrošnjom.

  • MT9V034 prozor očitavanja — kontrolirajte prozor očitavanja globalnog zatvarača putem sensor.ioctl().

  • Nove kamere / ploče — osnovni upravljački program za OV7670, kamera Arduino Nano 33 BLE Sense i ploča Bormio.

  • Brži cjevovod — prepisan SIMD JPEG koder, brže debajeriranje i velika ubrzanja LCD/TV prijenosa.

  • Narušava kompatibilnost: sensor.set_vsync_output() zamijenjen je s sensor.set_vsync_callback(), a matematika pojačanja/ekspozicije za MT9V034 je ispravljena — pogledajte promjene koje narušavaju kompatibilnost.

Nove značajke

  • Buzzer — dodan modul buzzer s buzzer.freq(), buzzer.duty() i konstantom buzzer.RESONANT_FREQ (OpenMV Pure Thermal).

  • HM01B0 detekcija pokreta — dodani ioctl-ovi IOCTL_HIMAX_MD_ENABLE / MD_WINDOW / MD_THRESHOLD / MD_CLEAR i IOCTL_HIMAX_OSC_ENABLE, uz Himax primjer detekcije pokreta i primjer buđenja s niskom potrošnjom himax_wakeup_on_motion_detection.py.

  • MT9V034 prozor očitavanja — dodani IOCTL_SET_READOUT_WINDOW / IOCTL_GET_READOUT_WINDOW za kontrolu prozora očitavanja MT9V034 putem sensor.ioctl().

  • Ethernet niska potrošnja — dodane funkcije za isključivanje / nisku potrošnju Etherneta.

  • Portenta — dodane funkcije povratnog poziva za omogućavanje/onemogućavanje vanjskog oscilatora.

Ostale promjene i poboljšanja

  • JPEG koder prepisan je sa SIMD-om i ubrzano Bayer→YCbCr kodiranje, hardverska JPEG jezgra ostaje napajana tijekom izvršavanja skripte, ubrzano debajeriranje (~19,5 ms za VGA), JPEG kompresija prebačena na MDMA, putanje TV/LCD prijenosa ubrzane SIMD-om/učinkovitim DMA-om, a uporaba SPI LCD sabirnice znatno smanjena. Dodan upravljački program za USB3320 ULPI PHY za USB velike brzine.

Ispravci pogrešaka

Kamera i senzori:

  • Ispravljena inicijalizacija/strujanje upravljačkog programa HM01B0 te podešen njegov AE cilj / maksimalno pojačanje, ispravljeno ograničavanje AGC/AEC pojačanja za MT9V034 te ispravljeno učitavanje firmwarea za automatsko fokusiranje OV5640 (redoslijed bajtova).

Zaslon:

  • Ispravljeni SPI LCD DMA prijenosi veći od 64 KB, polaritet LCD izlaza i stabilnost LCD sabirnice (AXI QOS).

Sustav i povezivost:

  • Ispravljena SDMMC instanca koju koristi CYW43 WiFi upravljački program (uz SDMMC instancu definiranu pločom), poboljšana učinkovitost FLIR Lepton DMA-a (VOSPI podignut na 20 MHz na H7), ispravljeno ponašanje niske potrošnje / pripravnog stanja na Portenti (ograničenje struje PMIC SW1, niska potrošnja Etherneta i ULPI-ja), RTSP poslužitelj osposobljen da podnosi neuredne CSeq i PLAY Range zaglavlja (FFPLAY), ispravljeno 8-bajtno EABI poravnanje stoga povezivača te ispravljen pokvareni uvoz u Portenta primjeru mqtt_sub.py.

Hardver i podrška za ploče

  • OV7670 senzor kamere — osnovni upravljački program.

  • Arduino Nano 33 BLE Sense — upravljački program senzora kamere (nrf port) s ispravcima reset-pina i I2C sabirnice.

  • HM01B0 — dodana razlučivost 320x320.

  • Bormio — konfiguracija takta PLL-a, raspored flash memorije i GPIO PORT K (također omogućeno na Portenti).

  • USB3320 ULPI PHY — USB velike brzine.

Promjene API-ja koje narušavaju kompatibilnost

Promjene API-ja vidljive korisniku između v3.9.3 i v3.9.4. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.

Svaka promjena označena je svojim utjecajem:

  • major — utječe na većinu skripti koje su koristile značajku; morat ćete prilagoditi kôd.

  • behavior — isti API, drukčiji rezultati; ponovno provjerite podešene skripte.

Promjene su grupirane prema utjecaju tim redoslijedom. Ako samo želite prilagoditi svoj kôd, prijeđite na popis za migraciju na kraju. Svaki hash commita vodi na njegov diff na GitHubu.

VSYNC izlaz zamijenjen povratnim pozivom (major)

sensor.set_vsync_output(pin) je uklonjen i zamijenjen s sensor.set_vsync_callback(callback). VSYNC linija više ne upravlja izravno Pin objektom; umjesto toga poziva se Python pozivljiva funkcija sa stanjem VSYNC-a, a vaš povratni poziv sam preklapa Pin. Kôd koji je koristio sensor.set_vsync_output() mora se prilagoditi (pogledajte ažurirani primjer vsync_gpio_output.py).

Commiti: 5bbe25c20

Ispravljena matematika pojačanja/ekspozicije za MT9V034 (behavior)

Brzina takta MT9V034 te matematika pojačanja/ekspozicije su ispravljene, pa sensor.set_auto_gain() / sensor.set_auto_exposure() sada daju točne (i stoga drukčije) vrijednosti nego prije. Skripte koje su čvrsto kodirale kompenzacijske vrijednosti pojačanja/ekspozicije kako bi zaobišle staru neispravnu matematiku na MT9V034 kamerama s globalnim zatvaračem trebale bi ukloniti ta zaobilazna rješenja i ponovno se podesiti.

Commiti: 4420536c4

Popis za migraciju

Za čistu prilagodbu na v3.9.4 uobičajeni je posao:

  1. Zamijenite sensor.set_vsync_output(pin) s sensor.set_vsync_callback(callback) i preklapajte Pin iznutra povratnog poziva (promjena VSYNC-a).

  2. Ponovno podesite sva zaobilazna rješenja pojačanja/ekspozicije za MT9V034 prema ispravljenoj matematici (promjena MT9V034).

Sve ostale skripte rade nepromijenjene.