v3.6.0

v3.6.0 aduce suport complet pentru camera OV5640 5 MP cu noi dimensiuni de cadru de înaltă rezoluție (HD / FHD / QHD / QXGA / WQXGA), actualizează nucleul la MicroPython 1.12, optimizează puternic codificatorul software JPEG și detectarea AprilTag / liniilor, adaugă UVC (video USB) pe OpenMV Cam H7 Plus și oferă suport pentru memorie flash QSPI de până la 32 MB. Comportamentul MicroPython și get_histogram() s-au modificat — citește modificările incompatibile de mai jos.

Aspecte importante

  • OV5640 5 MP — driver complet de cameră cu noile dimensiuni de cadru HD / FHD / QHD / QXGA / WQXGA / WQXGA2.

  • MicroPython 1.12 — nucleul inclus a fost actualizat.

  • Pipeline mai rapid — codificare software JPEG, detectare AprilTag, detectare de linii LSD, histeq() și decodare cod QR puternic optimizate.

  • UVC pe H7 Plus — OpenMV Cam H7 Plus poate funcționa ca dispozitiv video USB.

  • Incompatibil: comportamentul MicroPython, normalizarea image.get_histogram() și ieșirea JPEG/tonuri de gri a OpenMV 3 s-au modificat — vezi modificările incompatibile.

Funcționalități noi

  • OV5640 — s-a adăugat suport complet pentru camera OV5640 5 MP (configurarea ceasului extern în inițializarea senzorului) și noile constante de dimensiune de cadru sensor.HD / FHD / QHD / QXGA / WQXGA / WQXGA2.

  • TIM4 — eliberat, astfel încât este utilizabil din MicroPython.

  • S-a adăugat un exemplu de scriere temporizată DAC (dac_write_timed.py) și s-a redenumit dac_control.py în dac_write.py.

Alte modificări și îmbunătățiri

  • S-a actualizat MicroPython-ul inclus la 1.12; s-au optimizat puternic codificatorul software JPEG (calea VGA, căile tonuri de gri/binar, matematică pe numere întregi în loc de virgulă mobilă, captură MCU optimizată), find_line_segments() LSD, detectarea AprilTag, Image.histeq() și conversia cod QR / RGB-în-gri; s-a adăugat suport pentru memorie flash QSPI pentru cipuri de până la 32 MB; s-a eliminat exemplul învechit CMSIS-CNN cnn.py.

Remedieri de erori

Cameră și imagistică:

  • S-au remediat coruperea codificării JPEG la HQQQVGA, compresia imagine binară (1 bit) → JPEG, o regresie find_line_segments() (s-a reactivat verificarea NOTDEF de nealinière) și probleme minore ale driverului OV2640.

Sistem și pornire:

  • S-au remediat coruperea autotestului / sistemului de fișiere (selftest.py rulează acum înainte de activarea USB MSC, iar USB MSC este activat la o eroare fatală pentru ca gazda să poată citi jurnalul de erori), write_timed() al pyb.DAC, temporizările machine.I2C ale H7, reactivarea overdrive F7 după modul stop și intervalul rtc.wakeup() din stop_mode.py.

Hardware și suport pentru plăci

  • OV5640 — driver complet de cameră 5 MP cu dimensiuni de cadru de înaltă rezoluție.

  • OpenMV Cam H7 Plus — suport UVC (video USB); ținta de placă OPENMV4R a fost redenumită OPENMV4P.

  • Memorie flash QSPI — cipurile de până la 32 MB sunt acum suportate.

Modificări incompatibile ale API-ului

Incompatibilități ale API-ului vizibile pentru utilizator între v3.5.2 și v3.6.0. Domeniu: module C Python din modules/ și biblioteci Python din scripts/libraries/.

Toate cele trei modificări incompatibile sunt modificări de comportament (același API, rezultate diferite) — reverifică scripturile afectate. Fiecare hash de commit trimite la diferența sa pe GitHub.

MicroPython actualizat la 1.12 (comportament)

Nucleul MicroPython inclus a fost actualizat la 1.12. Comportamentul bibliotecii standard și al limbajului urmează MicroPython 1.12 din amonte; reverifică scripturile care depind de comportamentul specific versiunii al micropython / al modulelor standard.

Commit-uri: eafd431ea

Normalizarea pragului image.get_histogram() s-a modificat (comportament)

image.get_histogram() (și get_statistics()) cu praguri de culoare normalizează acum în funcție de numărul de pixeli supuși pragului, mai degrabă decât în funcție de întreaga ROI, și folosește floor în loc de round pentru indexarea binurilor. Valorile de histogramă/statistici pentru apelurile cu prag diferă față de versiunile anterioare — reajustează codul care compara cu valori absolute de histogramă.

Commit-uri: 7cf0f8089

Ieșirea JPEG/tonuri de gri a OpenMV 3 s-a modificat (comportament)

Pentru a economisi memorie flash, tabela de căutare YUV a OpenMV 3 (M7) a fost dezactivată, astfel încât valorile pixelilor pentru ieșirea JPEG și în tonuri de gri sunt calculate ușor diferit pe OpenMV 3. Ieșirea este în continuare validă, dar diferă marginal față de versiunile anterioare; reverifică comparațiile exacte la nivel de pixel pe OpenMV 3.

Commit-uri: 0e4b46e41

Listă de verificare pentru migrare

Revalidează scripturile care depind de comportamentul specific versiunii al MicroPython față de 1.12 (actualizarea MicroPython), reajustează codul care compara cu valori absolute get_histogram() / get_statistics() atunci când folosea praguri de culoare (modificarea histogramei) și reverifică comparațiile exacte la nivel de pixel pe OpenMV 3 (modificarea ieșirii OpenMV 3). Toate celelalte scripturi rulează nemodificate.