v3.6.8

v3.6.8 lägger till kortet OpenMV Cam Pure Thermal, gör tf-inferens ungefär 4× snabbare genom att flytta TensorFlow till CMSIS-NN, utökar rpc-biblioteket för skrivbordet med gränssnitt för UART / Kvaser CAN / I2C / SPI, och aktiverar SD-kortet på Arduino Portenta H7. Hanteringen av SD-kortspartitioner och import sensor på kort utan sensor ändrades — läs de brytande ändringarna nedan.

Höjdpunkter

  • OpenMV Cam Pure Thermal — stöd för nytt kort.

  • ~4× snabbare TensorFlowtf-inferens körs nu på CMSIS-NN.

  • rpc-biblioteket — gränssnitt för UART, Kvaser CAN och I2C/SPI master/slav tillagda.

  • Portenta H7 SD-kort — stöd för SD-kort aktiverat, med klockrättningar för PLL1/HSE/ADC.

  • Brytande: SD-kortsstart upptäcker nu partitionen automatiskt, och import sensor utlöser nu ett fel när ingen bildsensor finns — se de brytande ändringarna.

Nya funktioner

  • rpc — lade till gränssnitt för UART, Kvaser CAN och I2C/SPI master/slav i RPC-biblioteket för skrivbordet (rpc_uart_master / rpc_uart_slave, rpc_kvarser_can_master / rpc_kvarser_can_slave samt I2C/SPI master/slav).

  • Kort utan sensor — den fasta programvaran stöder nu kort utan bildsensor (vilket möjliggör kortet Pure Thermal).

  • JPEG-geometri — lade till en struktur för JPEG-läsinställningar (jpg_w / jpg_h / jpg_size) för att läsa JPEG-geometri.

Övriga ändringar och förbättringar

  • TensorFlow byttes till CMSIS-NN för ungefär 4× snabbare tf-inferens (imlib-konfigurationen justerad per kort); ulab-exemplet använder ulab.numerical.mean / std; djupsömnsexemplet anropar nu sensor.sleep(True) före registerskrivningen för regulatorförbikoppling på OV7725.

Felrättningar

Kamera och bildbehandling:

  • Åtgärdade inläsning av JPEG-bilder från disk (JPEG-geometri avvisades som ett format som inte stöds), fick sensor.reset() att utföra en hård återställning så att sensorn återhämtar sig efter en regulatoravstängning, korrigerade konfigurationen av FLIR Lepton SPI-alternativfunktion / klocka på OpenMV 4 / 4 Plus, och åtgärdade FSYNC-stiftstilldelningen på OpenMV 4 / 4 Plus.

Anslutning och system:

  • Åtgärdade den tidsstyrda pyb.DAC-skrivningen på H7, fick WINC1500 WLAN.start_ap() att inte kräva en nyckel för OPEN-säkerhet, åtgärdade delning av I2C-bussen mellan kameran och användarens kringutrustning på Portenta, och gjorde självtestets SWD-bildbuffertmarkör per kort så att den inte längre skriver över bildbuffertens bpp på kort utan den.

Maskinvara och kortstöd

  • OpenMV Cam Pure Thermal — nytt kort.

  • Arduino Portenta H7 — SD-kort aktiverat, med rättningar för PLL1 (400 MHz/40 MHz, USB/RNG på HSI48), HSE (25 MHz) och ADC-klockkälla.

API-brytande ändringar

Användarsynliga API-brytningar mellan v3.6.7 och v3.6.8. Omfattning: Python-C-moduler i modules/ och Python-bibliotek i scripts/libraries/.

Båda de brytande ändringarna är beteendeändringar (samma API, andra resultat) — kontrollera berörda skript igen. Varje commit-hash länkar till sin diff på GitHub.

Automatisk identifiering av SD-kortspartition (beteende)

SD-kortsstart upptäcker nu partitionen automatiskt i stället för att alltid montera partition 1. Kort som förlitade sig på det gamla beteendet med fast partition 1 kan nu montera ett annat filsystem; kontrollera SD-kort med flera partitioner och den förväntade monteringen igen.

Commits: 1f7f003b8

import sensor utlöser fel på kort utan sensor (beteende)

För att stödja kort utan bildsensor körs nu sensor-modulens initieringskontroll vid import, så import sensor utlöser ett RuntimeError när ingen bildsensor upptäcks (i stället för att misslyckas senare). På ett kort med enbart värme, omslut import sensor med try / except eller undvik att importera den.

Commits: 17b444ad1

Checklista för migrering

Kontrollera SD-kort med flera partitioner mot den nya automatiska partitionsidentifieringen (SD-kortsändringen) och omslut import sensor på kort utan sensor / med enbart värme (sensorimportändringen). Alla andra skript körs oförändrade.