Skip to content

Releases: openmv/openmv

Development Release

14 Dec 09:06
5d37173

Choose a tag to compare

⚠️ This is a development release, and it may be unstable.

🪄 Image

  • imlib: Add offset to embedded header and fix alignment.
    • fmath: Fix strict-aliasing violation in fast_expf.

📚 Libraries

    • alif: Update Alif DFP to 1.3.4.

💾 Drivers

    • sensors: Add bad pixel correction for PAG7936.

🧱 Modules

    • py_unittest: More unit tests.
  • modules: Add unit tests module.

⚙️ Boards

  • boards: Define USB IDs.

🪛 Misc Fixes:

  • build(deps): bump actions/cache from 4.3.0 to 5.0.0

v4.8.0

05 Dec 05:53

Choose a tag to compare

🪄 Image

  • imlib: Rework frame buffer management.

🧬 Common

  • file_utils: Fix file utils.
  • file_utils: Check fp in all public functions.
  • common: Update crc code.
  • mutex: Return true, if unlocked.
  • mutex: Clear tid when releasing mutex
  • common: Add CRC HAL with hardware acceleration support.
  • profiler: Add get_size function.
  • usbdbg: Flush data from unsupported commands.
  • common: Add code profiler.
  • common: Refactor TinyUSB debug interface implementation.
  • csi: Refactor resolution table.
  • csi: Add post process op.
  • csi: Add support for custom resolutions.
  • vospi: Fix synchronization issues.
  • vospi: make vospi_restart() non-blocking.
  • mutex: Use C11 atomic operations.
  • csi: Add function to print sensor name.
  • common: Remove unused ringbuf.
  • csi: Decouple the clock from main CSI state.
  • csi: Add csi shutdown op.
  • omv_csi: Fix all sensors working on all boards.
  • common: Remove xalloc.
  • csi: Refactor I2C scanning code.

📚 Libraries

  • stai: Fix STAI NPU memory allocation.
  • micropython: Update submodule.
  • micropython: Update submodule.
  • ml: Refactor postprocessing module into vendor-specific subpackages.
  • lib: Poll events during inference.
  • micropython: Update submodule.
  • imlib: Fix raw stream buffer size check.
  • imlib: Remove test loop.
  • imlib: Use framebuffer_t for main and streaming buffers.
  • cmsis: Fix cmsis compile time constant folding.
  • lib: Update to MicroPython 1.26.0.
  • alif: Fix Mac M4 USB enumeration.
  • imlib: New SIMD ops for ML acceleration
  • micropython: Update submodule.
  • imlib: Fix draw line glitch.
  • micropython: Update submodule.
  • imlib: Fix update_jpeg_buffer to update from the passed image.
  • micropython: Update RT1062 USB ID and buffers.
  • micropython: Update submodule.
  • imlib: Remove unused functions.
  • lib: Add STAI library and ML backend.

🤖 Sensors

  • sensors: Add support for PixArt PS5520.

💾 Drivers

  • boson: Use timespec struct from header.
  • sensors: Add aux flag to genx320 driver.
  • sensors: Update to using post_process callback.
  • sensors: Add RAW event output mode for the genx320.
  • sensors: Optimize Lepton delays.
  • sensors: Remove OV5640 REV_Y special case.
  • drivers: Fix snapshot loop.
  • lepton: Update lepton driver with asynchronous fb.
  • sensors: Update new sensors to use the csi pointer.

🧱 Modules

  • py_helper: Fix image allocation on file load.
  • py_helper: Release the buffer used in set_to_framebuffer.
  • py_imageio: Fix stream file mode.
  • modules: Fix code formatting.
  • py_image: Accelerate to_ndarray() with Helium.
  • py_csi_ng: Support custom frame size.
  • py_csi_ng: Fix printed slave address.
  • py_fir_lepton: Remove lepton control through fir module.
  • py_spi_display: Add vflip/hmirror support.
  • py_helper: Fix error arg_to_image error message typo.
  • py_display: Pass DT to display controller initializer.

🐍 Micropython

  • micropython: Update submodule
  • micropython: Update submodule.
  • micropython: Update submodule.
  • micropython: Update submodule.
  • micropython: Update submodule.
  • micropython: Update submodule.

🧪 Ports

  • alif: Improve PAG7936 Image Quality.
  • ports: Enable gamma correction.
  • stm32: Remove unused MPU_REGION_NUMBER_MAX.
  • ports: Add QEMU port.
  • stm32: Add ADC12 RIF config.
  • alif: Use direct CRC calculation for unaligned bytes
  • alif: Fix and enable Alif HW CRC32.
  • alif: Poll events in spi_transfer.
  • stm32: Revert N6 slow-peripheral IC clock source.
  • stm32: Fix STM32 DCMI Driver
  • stm32: Fix SystemClock_config() hard faulting.
  • mimxrt: Enable full DMA offload for RT1062.
  • stm32: Fix N6 DMA security config.
  • ports: Add GPU matrix support.
  • stm32: Use HAL_InitTick to init SysTick.
  • mimxrt: Fix omv module UID function.
  • stm: Re-enable frame interrupt in JPEG mode.
  • all: Switch to gnu11 standard.
  • stm32: Remove old buzzer module.
  • stm32: Fix typo in stm32_pwm.
  • stm32: Support DCMI and DCMIPP.
  • stm32: Remove UVC firmware.
  • stm32: Refactor CSI ISP code.
  • all: Refactor CSI port init.
  • stm32: Fix PSRAM settings.
  • all: Dual CSI support.
  • stm32: Fully implement N6 GPU driver for draw_image.
  • stm32: Reset pipes states on abort.
  • all: Refactor CSI drivers.
  • stm32: Fix N6 support.
  • stm32: Add N6 support.
  • alif: Implement spi_transfer with poll and timeout.
  • ports: Add conditional compilation for py_fir_init0()
  • stm32: Make dma handle static.
  • stm32: Add DSI PLL config.

⚙️ Boards

  • OPENMV_N6: Enable depth palette on N6.
  • OPENMV4P: Enable BOSON on H7 Plus.
  • OPENMV2: Fix QVGA RGB565 support.
  • boards: Add fixed sensor polarity configs.
  • OPENMV_N6: Enable SPI LCD/TV Displays.

📜 Scripts

  • libraries: Add facial landmarks post-processing.
  • unittests: Add crc test.
  • examples: Add YOLOV8 person detector script.
  • libraries: Fix postprocess arg default.
  • examples: Add yolov2 and yolov5 template examples.
  • examples: Fix blazeface and fomo examples.
  • examples: Add YOLO LC person tracking example.
  • libraries: Add palm detector post-processing support.
  • ml: Split ml module into components.
  • examples: Add BlazeFace detection example.
  • libraries: Post-processing speedup.
  • examples: Add framerate control to genx320 examples.
  • libraries: Add support for the SSD1351 OLED display.

🛠 Tools

  • tools: Fix uncrustify union variable formatting
  • mkromfs: Update romfs build.
  • mkromfs.py: Fix exception formatting

🪛 Misc Fixes:

  • build(deps): bump actions/checkout from 5 to 6
  • misc: USB fixes.
  • build(deps): bump actions/upload-artifact from 4 to 5
  • build(deps): bump actions/download-artifact from 5 to 6
  • misc: clean up mp_obj_get_float.
  • build(deps): bump softprops/action-gh-release from 2.3.3 to 2.4.1
  • fs: Replace FatFS direct calls with MicroPython VFS abstraction
  • build(deps): bump actions/cache from 4.2.0 to 4.3.0
  • misc: Fix formatting.
  • misc: Fix makefiles.
  • Makefile: Fix jlink target.
  • boot: Add version header.
  • misc: Update code formatter.
  • build(deps): bump actions/setup-python from 5 to 6
  • stm32: Disable clock gating during sleep for STM32N6 peripherals
  • build(deps): bump softprops/action-gh-release from 2.2.2 to 2.3.3
  • mutex: Clear tid when releasing mutex"
  • Makefile: Suppress J-Link GDB server output
  • Makefile: Integrate GDB debugging into jlink target
  • imlib: Add an embedded frame header in the streaming buffer.
  • build(deps): bump actions/download-artifact from 4 to 5
  • build(deps): bump actions/checkout from 4 to 5
  • OPENMV_N6: Enable triple buffering for the N6.
  • tflm: Remove out of date tf documentation.
  • misc: Add common alignment macros.
  • docker: Fix Make download.
  • stm32: Refactor DMA code.
  • misc: Update GCC toolchain.
  • misc: Refactor CSI initialization code.
  • misc: Refactor CSI I2C bus.
  • stm32: Add ram function section.
  • stm32: Fix XSPI mmap instruction width.

v4.7.0

01 Jun 16:13
2206dcb

Choose a tag to compare

⚠️ Breaking Changes

  • misc: romfs support: Models and other assets are now stored in /rom/.

🪄 Image

  • imlib: Refactor framebuffer API to accept a context.

🧬 Common

  • omv_csi: Add update AGC/AEC ioctl.

📚 Libraries

  • models: Move models.
  • tinyusb: Update submodule.

🤖 Sensors

  • pag7936: Set CSI phy bitrate.
  • boson: Restore FLIR BOSON Factory defaults on reset.
  • boson: Try to initialize the FLIR BOSON in a loop.
  • genx320: Update ISSD sequence to increase frame rate.
  • GenX320: Adding IOCTL to control Anti-Flicker filter (AFK).

💾 Drivers

  • softcsi: Support hmirror, vflip and transpose.
  • softcsi: Add virtual image sensor for testing.
  • drivers: Move GenX EHC back to boardconfig.h.
  • cyw4343: Fix BT firmware file.
  • drivers: Add VL53L8CX driver.
  • vl53l5cx: Add shutdown function and fix deinit.

🧱 Modules

  • py_imu: Fix I2C mode.
  • py_fir_lepton: Remove unused pins.
  • modules: Replace uint with size_t.

🐍 Micropython

  • micropython: Update submodule.
  • micropython: Update submodule.
  • micropython: Update submodule.

🧪 Ports

  • stm32: Fix missing SSL sign alt flag/build option.
  • mimxrt: Fix unitialized edma_config fb pointer.
  • alif: Remove old event poll macro.
  • alif: Change HP U55 config to SRAM_OPSI.
  • stm32: Update ULPI code.
  • stm32: assert i2c not SPEED_FAST if not supported
  • alif: Disable LEDs on soft-reboot.
  • alif: Generate padded ToC.
  • alif: Add Alif port.
  • stm32: Add .ram_function section.

⚙️ Boards

  • ARDUINO_GIGA: Remove obsolete defines.
  • OPENMV_AE3: Update ROMFS size.
  • OPENMV2: Fix flash size.
  • OPENMV_AE3: Switch to VL53L8CX.
  • OPENMV_AE3: Fix romfs partitions numbers.
  • all: Add TIM clock sleep enable macro.

📜 Scripts

  • examples: Fix Haar Cascade Paths.
  • libraries: Add support for more yolo post-processing.
  • libraries: Clean remote core output.

🛠 Tools

  • tools: Add STEdge AI tools download.
  • st: Add missing libraries.
  • alif: Update submodule.
  • tools: Update alif tools.
  • alif: Fix config file formatting.
  • alif: Update SE tools to release 104.
  • alif: Update tools to 1.103.001.
  • st: Add cubeprog.
  • tools: Add recovery partition key generator.

🥾 Bootloader

  • stm32: Fix build dependencies order.

🪛 Misc Fixes:

  • Makefile: Fix JLink command.
  • boot: Add DFU partition delay setting.
  • example: Fix set_auto_gain param.
  • example: Change lepton max_temp.
  • example: Fix examples.
  • msic: Update README.md
  • misc: Refactor repo.
  • i2c: disable fastmode at compile
  • csi: remove enum to support preprocessor directives
  • csi: Don't fail if sleep is not implemented.
  • docker: Fix output files permissions.
  • docker: Fix build.
  • alif: Disable swap for alternate flashes.
  • build(deps): bump cryptography from 44.0.0 to 44.0.1 in /.github/workflows
  • misc: Add jlink target.
  • psee_ehc_activate_override: use the correct accumulation time
  • build(deps): bump tj-actions/changed-files from 45 to 46
  • misc: Update workflows
  • stm32n6: Add STM32N6 HAL.
  • misc: Filter gnu11 standard from CFLAGS.

v4.6.20

09 Feb 11:29
3b1a367

Choose a tag to compare

🪄 Image

  • draw: Fix fb_alloc aligned size.

🤖 Sensors

  • GenX320: Adding ioctl for setting individual biases.

🧱 Modules

  • modules: Add missing sensor IDs.

🐍 Micropython

  • micropython: Move submodule to lib.

🧪 Ports

  • stm32: Move CLUT to DMA memory section.

📜 Scripts

  • examples: Fix IMXRT deepsleep and stop examples.

🛠 Tools

  • rpc: Remove the desktop RPC library.
  • alif: Update tools.

🪛 Misc Fixes:

  • build(deps): bump thollander/actions-comment-pull-request from 2 to 3
  • misc: Fix files still referencing old micropython location.

v4.6.0

29 Jan 15:54
c62f6d6

Choose a tag to compare

⚠️ Breaking Changes

  • scripts: Remove obsolete u-prefix from imports.

🪄 Image

    • imlib: xalloc image to be cache aligned.
    • draw: Simplify GPU source rect calculation.
    • draw: Enable GPU in-place cut-through.
    • draw: Fixed transpose on SDRAM-less boards.
  • imlib: Update draw_image alpha to 0-255 from 0-256.
    • bayer: Fix debayer bound predication.
    • draw: Optimize set_pixel_aa.

🧬 HAL

    • stm32: Clean up system file.

📚 Libraries

    • models: Add YOLOv2 model.
    • tflm: Rename YoLoV5 Nano model.
    • tflm: Add YoloV5 model for testing.
    • tflm: Add extra padding to arena size.
    • apps: Allow passing gain to audio init.
    • tflm: Update submodule.

🤖 Sensors

    • GenX320: Add IOCTL for biases settings.
    • genx320: Round frequency calc.
    • pag7936: Add missing control functions.
    • genx320: Enable histogram mode.
    • pag7936: Add support for MIPI mode.
    • pag7936: Enable lens shading correction.
    • mt9v0xx: Fix bayer output.
    • ov5640: Fix PCLK calculation for setting correct exposure time.
  • sensors: Add PAG7936 sensor driver.
  • sensors: Add genx320 driver.

💾 Drivers

    • nema: Update license file.
    • vl53l5cx: Add support for power pin.
    • lsm6dsm: Add LSM6DSM driver.
  • drivers: ToF updates and fixes.

🧱 Modules

  • modules: Fix bool args.
    • py_ml: Clean up fb_alloc path.
    • py_ml: Align model data allocated on GC.
    • omv: Fix USB debug mode function.
    • omv: Move debug mode flag to omv module.
    • ulab: Update ULAB to version 6.6.1.
  • modules: Remove ST header.
  • modules: Move IMU to generic modules.
  • modules: Add RGB stats ioctl.

🐍 Micropython

  • micropython: Update submodule.
  • micropython: Update submodule.
  • micropython: Switch to openmv-1.24.0 branch.
  • micropython: Update submodule.
  • micropython: Update to MicroPython 1.24.
  • micropython: Update documentation for v4.5.9.

🧪 Ports

    • all: Fix MISO/MOSI pins being used in TX/RX only mode.
    • stm32: Update GPU driver.
    • stm32: Fix MDMA initialization.
    • omv_gpu: Fix cache line clean size.
    • nema: Include missing irq header.
    • stm32: Add support for Nema GPUs.
    • stm32: Disable btree by default.
    • nrf: Update board config options.
    • stm32: Fix float conversion warning.
    • stm32: Make usage of MDMA for jpeg compression conditional.
    • stm32: Fix DMA base calculation for F4/F7/H7.
    • stm32: Update SPI driver.
    • stm32: Misc updates.
    • rp2: Fix firmware.
    • stm32: Misc updates.
    • stm32: Check if FFS region is defined.
    • stm32: Rename old STM32 files.

⚙️ Boards

    • ARDUINO_PORTENTA_H7: Move ETH DMA buffers into SRAM3.
  • boards: Fix DRAM address for boards with swapped banks.
    • RPI_PICO: Fix build.
  • boards: Remove pro board.

📜 Scripts

    • libraries: Simplify YOLO post-processing using keepdims.
    • libraries: Add yolo v5 post processing support.
    • examples: Update image classification example.
    • examples: Fix new refactored IOCTL names.
    • libraries: Revert fully vectorize and cleanup yolo_v2.
    • libraries: Fully vectorize and cleanup yolo_v2 post-processing.
  • scripts: Add yolov2 post-processor.
    • libraries: Update boot script.
    • ibraries: Update ml.
    • examples: Move microspeech example.
  • scripts: Update examples.
  • scripts: Remove obsolete u-prefix from imports.

🛠 Tools

    • alif: Update device rev.
    • alif: Update tools to release 1.101.0.
    • alif: Update device config.
    • alif: Update tools.
    • alif: Update default part.
    • tflite2c: Fix Vela model summary.

🥾 Bootloader

  • bootloader: Add special flash recovery partition.
  • bootloader: Support forced mode.
    • stm32: Misc fixes.
    • stm32: Add support XSPI MMAP in DTR mode.
    • stm32: Update XSPI driver.
    • stm32: Enable XSPI clocks in low-power.
    • stm32: Remove hard-coded prescaler.
  • bootloader: Fix stm32 cache disable.
  • bootloader: Add separate XIP partitions.
  • bootloader: Fix XN bit for first partition.
  • bootloader: Set first partition's region as executable.
  • bootloader: Misc fixes and updates.
  • bootloader: Fix string descriptor index.
  • bootloader: Misc fixes.
  • bootloader: Clean up files.
  • bootloader: Add boot partition.
  • bootloader: Add common flash interface.
  • bootloader: Misc fixes.
  • bootloader: Add new TinyUSB-based DFU bootloader.

🪛 Misc Fixes:

  • misc: Update get_state() to work with a variable packet size.
  • misc: Include CMSIS header in pendsv.
  • misc: Move networking variables to board/port Makefiles.
    • py_ml: Round-up dynamic alloc size.
  • build(deps): bump actions/cache from 4.1.2 to 4.2.0
  • misc: Remove CLA workflow.
  • misc: Add CLA workflow.
    • boson: Add initial support for the FLIR Boson.
  • boot: Fix m4 and m7 dfu bootloader.
    • vospi: Set vospi bus CPOL=1 and CPHA=1.
  • misc: Add CSI2 hardware flag.
  • misc: Move CSI state to csi struct.
  • misc: Fix typo.
  • misc: Ml build cleanup.
  • py_image: Fix corruption using to_ndarray() on grayscale images.
  • build(deps): bump actions/cache from 4.0.2 to 4.1.2
  • misc: Add common filesystem boot script.
  • misc: Limit IDE FPS to 20Hz.
  • misc: Fix dropped character in debug text.
  • misc: Clean up old stm32 files.
  • misc: Clean up board Make flags.
  • misc: Refactor Makefile variables, and misc bootloader fixes.
  • misc: Schedule TinyUSB task in VM node.
  • py_image: Add new depth palette.
  • misc: refactor sensor drivers.
  • misc: Update licenses.
  • misc: Add a flag to ioctls to abort streaming.
    • common: Support overriding the resolution table.

v4.5.9

04 Sep 13:18
f1aa024

Choose a tag to compare

⚠️ Breaking Changes

  • apriltag: Disable unused TAG families by default.

🪄 Image

  • apriltag: Switch to libm's sin/cos.
  • imlib: Optimize debayering with Helium.
  • imlib: Fix automatic vbuffer count.
  • imlib: Add support for sending raw preview frames.
  • jpeg: Minor clean-up.
  • imlib: Fix framebuffer_get_buffer_size().

📚 Libraries

  • tflm: Use GC's free memory for the temporary tensor arena.

💾 Drivers

  • dave2d: Add license file.
  • dave2d: Fix video memory bug.
  • dave2d: Remove license for now.
  • dave2d: Add D/AVE 2D GPU driver.

🧱 Modules

  • modules: Use the default optimization level for all user C modules.
  • py_image: Fix implicit float conversion.

🧪 Ports

  • stm32: Fix CM4 boot memory.
  • stm32: Move stm32-specific bootloader and uvc to port dir.
  • all: Refactor sensor flags.
  • all: support for building specific imlib files with clang.

⚙️ Boards

  • OPENMV4P: Set HW crop flag.
  • OPENMV_RT1060: Add support for RAW streaming.

📜 Scripts

  • examples: Add back windowing to example.

🛠 Tools

  • Update converters.
  • Clean up tools.
  • Add Alif tools.
  • uncrustify: Fix compound literal return indentation.
  • tflite2c: Add default optimization for user models.
  • tflite2c: Set Vela optimization per model.
  • pyopenmv: Misc fixes, updates and benchmark mode.

🪛 Misc Fixes:

  • Move Haar cascades.
  • build(deps): bump tj-actions/changed-files from 44 to 45
  • docker: Update docker build.
  • Add gitattributes.
  • misc: USB debug fixes.
  • sensor: Add raw sensor flag.
  • linker: Update linker script variables.
  • common: Add profiling macros.
  • usbdbg: Optimzie CDC buffers copy.
  • common: Change linker variable to uint32.

v4.5.8

31 Jul 17:08
7a90254

Choose a tag to compare

🧱 Modules

  • py_ml: Add uint16 support to match ndarrays.

🐍 Micropython

  • micropython: Update submodule.

📜 Scripts

  • libraries: Add missing return in microspeech.listen().

v4.5.7

31 Jul 09:08
6179112

Choose a tag to compare

🪄 Image

  • draw: Refactor draw_image to support gpu offload.
  • jpegd: Fix for JPEG decoder boundary problem.

📚 Libraries

  • tflm: Update submodule.
  • tflm: Fix Makefile rules to generate files once.
  • tflm: Remove Vela models (now generated on the fly).

🧱 Modules

  • py_image: Update all lineops to use the draw_image backend.
  • py_ml: print model address location too.
  • py_sensor: Add missing PAG7920 enum.

🐍 Micropython

  • micropython: Update submodule.

🧪 Ports

  • stm32: Fix MPU region protection bug.

📜 Scripts

  • libraries: Update rpc_spi_master to use the machine module.

🛠 Tools

  • tflite2c: Support converting Vela models on the fly.

🪛 Misc Fixes:

  • common: Add GPU memory section to common ld.
  • github: Post firmware stats after PRs.
  • README: Create toolchain parent directory.
  • README: Update builld instructions.
  • common: Reserve JPEG buffer only if defined.
  • common: Add nosys stubs.
  • misc: Update GCC toolchain installation instructions.

v4.5.6

20 Jul 08:12
89478be

Choose a tag to compare

🪄 Image

  • draw: Add missing speculative read invalidates.
  • draw: Add AA support for draw_circle.

🤖 Sensors

  • hm0360: Enable HM0360 to work on GIGA.

💾 Drivers

  • cyw43: Add firmware W4343WA1_45_98_102.

🧱 Modules

  • py_ml: Switch to upstream TFLM and refactor all TensorFlow modules.
  • py_ml: Add generic CNN processing support.
  • py_ml: Make predict output a numpy array.
  • py_ml: Fully vectorize all input and output scaling/datatypes.
  • py_ml: Fix the size of the input bytearray.
  • py_ml: Add support for multi-input models.
  • py_image: Update morph() to use arg parse.
  • py_image: Change scale argument to (min,max) range.
  • py_image: Add buffer length sanity check.
  • py_image: Add Image as a type instead of function.
  • py_image: Add support for turning lists/tuples into Images.
  • py_image: Refactor get_similarity() to use draw_image backend.

🐍 Micropython

  • micropython: Update to Micropython v1.23.0.

🧪 Ports

  • All: Add support for additional GC blocks.
  • All: Root pointer fixes.
  • All: Add common linker script.
  • All: Fix DMA memory alignment.
  • All: Fix accidental CPU cache invalidation.
  • All: Add efficient GET_STATE debug command.
  • mimxrt: Fix I2C for the MLX90640 driver.
  • stm32: Add mic gain support to py_audio when using DFSDM.

⚙️ Boards

  • ARDUINO_GIGA: Enable HIMAX sensors.

📜 Scripts

  • examples: Add Open-AMP example.
  • libraries: Update normalization to handle 3D/4D image tensors.
  • examples: Add regression example.
  • libraries: Moved nms class to ml/utils.
  • libraries: Fix Normalization image format.
  • libraries: Move nms to python.

🛠 Tools

  • tflite2c: Fix model alignment.

🪛 Misc Fixes:

  • misc: Add back original licenses.
  • misc: Change to SoftI2c for RT.
  • misc: Export common environment variables from top Makefile.
  • misc: Tinyusb debug updates.
  • misc: Fix malloc heap memory typo.
  • docs: fix misspelling of tensorflow

v4.5.5

26 May 12:56
4759398

Choose a tag to compare

🪄 Image

  • pool: Remove obsolete pooling functions.
  • binary: Fix erode mask check.
  • imlib: Invalidate vbuffers before returning them.
  • draw: Cleanup drawline code.
  • imlib: Change ARM_MATH_CM4/CM7 to DSP.

🧱 Modules

  • py_image: Move ksize to be pos_arg.
  • py_image: Fix morph spelling.
  • py_image: Update py_image_to with mp_arg_parse_all.

🧪 Ports

  • mimxrt: Retry transfer if the DMA is still busy.
  • stm32: Reset vbuffer state when dropping frames.

🪛 Misc Fixes:

  • misc: Increase delay after reset/power-down.