.. _changelog_ide_v2_8_1: v2.8.1 ====== v2.8.1 brings full Arduino board support to OpenMV IDE, adding firmware loading for the Arduino Nano RP2040 Connect and Nano 33 BLE boards alongside a tabbed editor and a code minimap. The release stays on the Qt Creator 4.0.2 base and bundles the new 4.1.0 OpenMV firmware. There are breaking changes: automatic indentation is now off by default and the combined ``openmv.bin`` / ``openmv.dfu`` firmware images were dropped for OPENMV2/3/4/4P, OPENMVPT, and PORTENTA boards, which are workflow and behavior changes for anyone relying on those defaults or filenames. .. contents:: On this page :backlinks: none :local: :depth: 1 Highlights ---------- - **Arduino board firmware loading** for the Nano RP2040 Connect and Nano 33 BLE, programmed via the new bundled ``bossac`` (SAM-BA) and ``picotool``/``elf2uf2``/``rp2040load`` toolchains. - **Tabbed editor** so open files appear as switchable tabs across the top of the editor, with shortcuts to switch and reorder tabs. - **Code minimap** scrollbar that renders a miniature overview of the document, with a Text Editor settings page to toggle it and set its width. - **New Arduino and Portenta examples**, including a full Nano RP2040 Connect example set and ten Portenta-H7 WiFi scripts. - **Bundled firmware updated to 4.1.0** across all OpenMV cameras and the Arduino Nano 33 / Nano RP2040 images. - **Windows USB drivers** for the Arduino Nano RP2040 Connect and Portenta H7 are now installed by the installer. New features ------------ - **Arduino board support:** Added full firmware-loading support for the Arduino Nano RP2040 Connect and Nano 33 BLE boards, programming them via the bundled ``bossac`` (SAM-BA) and ``picotool``/``elf2uf2``/``rp2040load`` toolchains driven by new ``bossac.txt``/``boards.txt`` descriptors (plus the existing ``picotool.txt``) (`deccee676 `__, `34e0c0ee1 `__, `ef5334782 `__, `eb9c00a33 `__). - **Tabbed editor:** Added an editor tab bar plugin so open files appear as switchable tabs across the top of the editor, with shortcuts for previous/next tab (``Ctrl+Page Down`` / ``Ctrl+Page Up``) (`325cd8d87 `__, `5501a4082 `__). - **Code minimap:** Added a code minimap scrollbar plugin with a Text Editor settings page (enable toggle, width, line-count threshold, and scrollbar slider alpha) that renders a miniature overview of the document in the scrollbar (`325cd8d87 `__). - **Portenta-H7 WiFi examples:** Added ten WiFi example scripts (connect, scan, static IP, DNS, NTP, HTTP client, HTTP-SSL client, MJPEG streamer, MQTT publish/subscribe) (`b2133f9f5 `__). Other changes and improvements ------------------------------ - **Tab reordering:** Added shortcuts to move the current tab left or right (``Ctrl+Shift+Page Down`` / ``Ctrl+Shift+Page Up``) and disabled the editor's conflicting default ``Ctrl+PgUp``/``Ctrl+PgDown``/``Ctrl+Up``/ ``Ctrl+Down`` bindings so the tab-bar shortcuts work (`5501a4082 `__). - **Nano RP2040 Connect examples:** Bundled a complete set of Python example sketches covering basics, IMU sensor, BLE, WiFi, audio FFT, and thermal camera (`91847b183 `__). - **Arduino connect prompts:** Added two new connect-flow dialogs: a recovery hint instructing users to short ``REC`` to ``GND`` and reset the board when an old Arduino RP2040 USB PID is detected, and an information notice that the Nano 33 BLE has no onboard data flash disk when a flash-FS erase is requested (`91847b183 `__). - **Additional Arduino and Portenta examples:** Added new Python examples for the Arduino Nano 33 BLE Sense (blinky), Portenta H7 BLE temperature, improved Portenta H7 PWM control, an updated Portenta H7 Ethernet peer-to-peer script, and an updated ``ulab`` filter example (`45a4564f4 `__), plus a Portenta H7 Ethernet cable-test example (`af1b2fcff `__). - **OpenMV WiFi-Shield example:** Added a new ``http_post.py`` HTTP POST example under ``14-WiFi-Shield`` (`c73d9fdcf `__). - **WiFi read timeouts:** Split read timeouts so WiFi connections get a longer stall timeout (3000ms vs 1000ms serial) and re-transmit the pending command after a WiFi stall instead of failing (`81f00ac58 `__). - **Simplified editor chrome:** Hid the editor toolbar's split and close-split buttons and forced high-DPI auto-scaling on Linux to keep the editor layout consistent (`bc14a2290 `__). - **Offline documentation:** Refreshed the bundled offline documentation, adding per-sensor camera pinout images (H7 OV7725, H7 Plus OV5640, M4/M7 variants) and updating the IDE overview and tutorial pages (`97ff73ebd `__). Bug fixes --------- - Fixed the RP2040 (PICO) flash-erase offset used during firmware programming so the correct flash region is erased (`91847b183 `__). - Made the bundled Linux/macOS ``bossac`` and ``picotool`` binaries executable so firmware loading works on those platforms, and guarded the minimap renderer to only run on Qt >= 5.6 (`76613152f `__). - Fixed the firmware-upgrade prompt to honor its dialog buttons (checking ``QDialog::Accepted``) and made serial/TCP transfer stall handling restart its timers when new data arrives so long transfers no longer time out spuriously (`dd4ce12a5 `__). Platform and tool support ------------------------- - **Qt Creator base:** 4.0.2. - **Bundled firmware:** Updated the bundled OpenMV firmware to the 4.1.0 release (``firmware.txt``: 4.0.2 -> 4.1.0) (`b78603045 `__); earlier in the cycle the same file was stepped through the intermediate 4.0.1 and 4.0.2 builds (`beec4d25b `__, `eb9c00a33 `__). - **New flash toolchains:** Bundled ``bossac`` and the ``picotool``/``elf2uf2``/``rp2040load`` toolchain for all platforms (windows/osx/linux32/linux64/arm/aarch64). - **Windows USB drivers:** Added signed driver installation for the Arduino Nano RP2040 Connect and Portenta H7 boards, run via the installer (`bc14a2290 `__, `a8ae96e1b `__). - **New sensors recognized:** Added the **PAJ6100** image sensor (`914546e78 `__) and the **GC2145** (``0x21``) and **MT9M114** camera sensors to the bundled ``share/qtcreator/firmware/sensors.txt`` sensor table (`9a8b1c762 `__); MT9M114's ID was initially ``0x81`` and later corrected to ``0x2481`` (`eb9c00a33 `__). Breaking changes ---------------- User-visible workflow and behavior breaks in this release. - **Automatic indentation is now off by default.** The editor's auto-indent default was flipped to off (and forced off on load) and the tab key no longer indents; the ``Auto indent`` and ``Tab key performs auto-indent`` controls were removed from the ``Text Editor`` > ``Behavior`` settings page, so typing no longer auto-indents new lines unless changed in firmware/source (`bc14a2290 `__). - The combined ``openmv.bin`` / ``openmv.dfu`` firmware images (only ``openmv.bin`` for OPENMVPT, which never shipped an ``openmv.dfu``) were removed for OPENMV2/3/4/4P, OPENMVPT, and PORTENTA boards; only the separate ``bootloader``/``firmware``/``uvc`` images remain (`84cd4cd2d `__). - The ``vsync_gpio_output`` examples (in both the ``OpenMV`` and ``Arduino/Portenta-H7`` ``02-Board-Control`` example sets) now require the firmware's new ``set_vsync_callback`` API instead of ``set_vsync_output``, and the callback now toggles ``LED_BLUE`` rather than the IR LED (`f13453bdc `__).