v1.7.0

v1.7.0 introduit le module cpufreq (contrôle de la fréquence CPU / overclocking), le module MicroPython os, le rafraîchissement et le contrôle de résolution du capteur thermique MLX, ainsi que la mise en service initiale de la carte OpenMV Cam M7 (STM32F7). La signature de fir.init(), la gestion des trames surdimensionnées et la qualité JPEG par défaut ont changé — lisez les changements incompatibles ci-dessous.

Points forts

  • Module cpufreq — interroger / régler la fréquence CPU, avec un exemple d’overclocking.

  • Module os — le module MicroPython os est désormais disponible.

  • MLX thermiquefir.init() accepte un taux de rafraîchissement et une résolution ADC.

  • OpenMV Cam M7 — mise en service initiale de la carte STM32F7.

  • Incompatible : fir.init() n’accepte désormais que des arguments nommés, les trames surdimensionnées sont automatiquement recadrées, et la qualité JPEG par défaut a baissé — voir les changements incompatibles.

Nouvelles fonctionnalités

  • cpufreq — ajout du module cpufreq avec cpufreq.get_frequency() / cpufreq.set_frequency() et les constantes CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ, ainsi qu’un exemple overclocking.py.

  • os — activation du module MicroPython os.

  • MLX / FIRfir.init() accepte désormais un taux de rafraîchissement et une résolution ADC, avec les contrôles refresh / resolution correspondants pour le capteur thermique MLX.

Autres changements et améliorations

  • Réglage de la région AGC/AEC de l’OV7725 (moins de flou de mouvement), activation de la mire de couleur solide DSP pour l’OV7725, et correction de la diffusion du tampon d’image dans l’IDE (plus de trames périmées / dupliquées).

Corrections de bugs

  • Correction d’un dépassement de la taille de transfert DCMI/DMA dans sensor.snapshot(), nettoyage de la gestion des dépassements de tampon de compression JPEG, amélioration de la région de fonctionnement AEC/AGC de l’OV7725 pour une meilleure exposition/gain automatique, et correction des scripts de mire de couleur / d’autotest pour l’OV7725.

Matériel et prise en charge des cartes

  • OpenMV Cam M7 (STM32F7 / OPENMV7) — prise en charge initiale de la carte et du programme d’amorçage.

  • OpenMV 2 — horloge du capteur pilotée par la sortie MCO.

Changements d’API incompatibles

Ruptures d’API visibles par l’utilisateur entre v1.6.0 et v1.7.0. Portée : modules C Python dans modules/ et bibliothèques Python dans scripts/libraries/.

Chaque changement est étiqueté selon son impact :

  • minor — API restreinte ; n’affecte que les scripts qui l’utilisaient.

  • behavior — même API, résultats différents ; revérifiez les scripts réglés.

Les changements sont regroupés par impact dans cet ordre. Si vous voulez simplement porter votre code, passez à la liste de vérification de migration à la fin. Chaque hash de commit renvoie à son diff sur GitHub.

fir.init() n’accepte désormais que des arguments nommés (minor)

fir.init() a été remanié pour prendre des arguments nommés (type= / refresh= / resolution=, refresh par défaut 64 Hz, max 512 Hz) au lieu d’arguments positionnels. Mettez à jour les appels positionnels fir.init(...) vers la forme nommée.

Commits : 958c5b7f7

Les trames surdimensionnées sont automatiquement recadrées en QVGA (behavior)

sensor.snapshot() ne lève plus d’exception lorsque la trame brute dépasse la taille maximale de trame brute de la carte — les trames brutes surdimensionnées sont désormais fenêtrées/recadrées en QVGA (seul le brut en mode JPEG est encore rejeté). Choisissez une taille de trame prise en charge si vous comptiez sur l’erreur précédente.

Commits : b655a5488, abace9e4f

La taille de trame maximale de l’OpenMV 2 abaissée à QVGA (behavior)

Sur l’OpenMV 2, la taille de trame maximale pour l’image intégrale / le brut / les blobs a été abaissée de VGA à QVGA. Demander VGA pour des opérations en niveaux de gris / RGB565 / blob / image intégrale sur l’OpenMV 2 recadre désormais en QVGA — repensez les scripts qui dépendaient du traitement VGA sur cette carte.

Commits : 7499062bd

Qualité JPEG par défaut réduite (behavior)

La qualité JPEG par défaut a été réduite (par défaut 50 → 35, avec des seuils de sous-échantillonnage IDE plus bas) pour une diffusion plus fiable. Les JPEG capturés/diffusés sont visiblement de qualité inférieure par défaut — passez une quality explicite à image.compress() si vous avez besoin de la qualité précédente.

Commits : d9c8b1535

Liste de vérification de migration

Pour un portage propre vers v1.7.0, le travail habituel est :

  1. Convertir les appels positionnels fir.init(...) vers la forme nommée (le changement de fir.init).

  2. Utiliser une taille de trame prise en charge au lieu de compter sur l’ancienne erreur de trame surdimensionnée (le changement de trame surdimensionnée), et repenser le traitement VGA sur l’OpenMV 2 (le changement de taille de trame de l’OpenMV 2).

  3. Passer une quality explicite à image.compress() si vous avez besoin de la qualité JPEG précédente (le changement de qualité JPEG).

Tous les autres scripts s’exécutent sans modification.