v4.0.2

v4.0.2 представляет первоначальный порт RP2040 (файлы плат Raspberry Pi Pico / Arduino Nano RP2040 Connect), поддержку датчиков PixArt PAJ6100 и MT9M114, библиотеку аудиофильтра PDM и улучшения sensor. Изменились STM32 ADC и путь передачи изображений — ознакомьтесь с несовместимыми изменениями ниже.

Основные моменты

  • Первоначальный порт RP2040 — файлы плат Raspberry Pi Pico / Arduino Nano RP2040 Connect.

  • Новые датчики — PixArt PAJ6100 и рабочий драйвер MT9M114.

  • Библиотека аудиофильтра PDM; sensor.set_framerate() работает при любом FPS.

  • Несовместимое: драйвер STM32 ADC был согласован с апстримом и включён полный перенос передачи изображений на MDMA — см. несовместимые изменения.

Новые возможности

  • Порт RP2040 — добавлен порт RP2040 с файлами плат Raspberry Pi Pico и Arduino Nano RP2040 Connect (первоначальный запуск; WiFi/Bluetooth появятся в v4.1.0).

  • Поддержка датчика камеры PixArt PAJ6100 и рабочий драйвер MT9M114.

  • Библиотека аудиофильтра PDM добавлена в аудиотракт.

  • Sensorsensor.set_framerate() теперь работает при любом FPS, добавлен метод чтения фактической частоты XCLK, поддерживаются дополнительные разрешения датчика и добавлена опция буфера кадра disable_full_flush.

Прочие изменения и улучшения

  • Сообщения об ошибках снимка стали понятнее; добавлены обновления Ethernet и режим пониженного энергопотребления (Portenta).

Исправления ошибок

  • Исправлены состояние канала таймера pyb.Servo, драйвер IMU LSM6Dx, dma_nohal_init для STM32 H7 и отсутствующая проверка инициализации размера кадра.

Оборудование и поддержка плат

  • Raspberry Pi Pico / Arduino Nano RP2040 Connect — первоначальные файлы плат.

  • Датчики камеры PixArt PAJ6100 и MT9M114.

Несовместимые изменения API

Видимые пользователю несовместимые изменения API между v4.0.1 и v4.0.2.

Оба несовместимых изменения являются изменениями behavior (тот же API, другие результаты) — перепроверьте затронутые скрипты. Каждый хэш коммита ведёт к его diff на GitHub.

Согласование STM32 ADC и полный перенос на MDMA (behavior)

Драйвер STM32 ADC был согласован с апстрим-реализацией MicroPython, поэтому поведение/показания machine.ADC могут немного отличаться от предыдущих выпусков. Отдельно был включён полный перенос передачи изображений на MDMA, что ускоряет захват, но изменяет путь передачи и тайминг. Перепроверьте код, зависящий от ADC, и захваты, чувствительные к таймингу.

Коммиты: 661169f85, 772bfab26

Контрольный список миграции

Перепроверьте любые показания machine.ADC и код захвата, чувствительный к таймингу, относительно согласованного драйвера ADC и полного переноса на MDMA (изменения поведения). Все остальные скрипты работают без изменений.