|
| 1 | +.. _changelog_ide_v5_0_0: |
| 2 | + |
| 3 | +v5.0.0 |
| 4 | +====== |
| 5 | + |
| 6 | +v5.0.0 is a major release. It introduces the **OpenMV Viewer** — a separate, |
| 7 | +read-only build for showing off a finished product — a new **OpenMV Cam |
| 8 | +Settings Editor**, the **v2 camera debug protocol** for v5.0.0 cameras, and a |
| 9 | +large set of editor, terminal, firmware, and machine-vision workflow |
| 10 | +improvements. It is built on Qt Creator 14.0.2. |
| 11 | + |
| 12 | +The version jump to 5.0.0 marks the arrival of the v5.0.0 camera generation and |
| 13 | +the tooling that supports it; existing v4 projects and workflows continue to |
| 14 | +work unchanged. |
| 15 | + |
| 16 | +.. contents:: On this page |
| 17 | + :backlinks: none |
| 18 | + :local: |
| 19 | + :depth: 1 |
| 20 | + |
| 21 | +Highlights |
| 22 | +---------- |
| 23 | + |
| 24 | +- **OpenMV Viewer** — a new, separately installed build variant that runs the |
| 25 | + IDE as a locked-down, read-only telemetry viewer. It shows the camera's frame |
| 26 | + buffer, serial terminal, and histogram and can run a fixed script, but hides |
| 27 | + the authoring, AI/model, and settings tools, so a customer can demonstrate a |
| 28 | + product built on OpenMV without the full development environment. |
| 29 | +- **OpenMV Cam Settings Editor** — a graphical editor for the camera's on-board |
| 30 | + settings configuration file, so you can view and change board settings from a |
| 31 | + form instead of hand-editing the file. |
| 32 | +- **v2 camera debug protocol** — v5.0.0 cameras use a new, more robust debug |
| 33 | + protocol with header CRC validation, sequence-gap recovery, and a split |
| 34 | + frame-rate display that reports the on-camera FPS and the IDE display FPS |
| 35 | + separately. |
| 36 | +- **Load Custom Firmware from a .zip** — the firmware installer now accepts a |
| 37 | + board's build-output ``.zip`` bundle directly, making it easy to flash a |
| 38 | + custom or locally built firmware image. |
| 39 | +- **Serial Terminal protocol debug logging** — a toggle in the Serial Terminal |
| 40 | + logs the camera debug protocol with readable, emoji-tagged lines for |
| 41 | + diagnosing connection issues. |
| 42 | +- **Reworked Help menu and in-editor docs** — an **OpenMV Docs** submenu |
| 43 | + replaces the old flat links, ``F1`` opens the documentation for the Python |
| 44 | + symbol under the cursor, and the About dialog was modernized. |
| 45 | + |
| 46 | +New features |
| 47 | +------------ |
| 48 | + |
| 49 | +- **OpenMV Viewer build variant.** A forced-viewer-mode build, branded and |
| 50 | + installed as *OpenMV Viewer*, with its own executable id, settings store, and |
| 51 | + bundle id so it coexists with the full IDE. It presents as a read-only |
| 52 | + telemetry viewer: Run/Stop and stop-on-connect work and run a script from |
| 53 | + disk (via ``-auto_run``), File/Edit menus and Preferences remain, and |
| 54 | + firmware/ROMFS recovery is kept, while authoring tools, developer machine |
| 55 | + vision tools, developer settings categories, and AI/model/docs resources are |
| 56 | + stripped from the build and UI. ROMFS becomes load-only and is promoted to |
| 57 | + the Tools menu, and firmware-update completion dialogs are genericized |
| 58 | + (`07722e78a8b <https://github.com/openmv/qt-creator/commit/07722e78a8b>`__, |
| 59 | + `5cd12ee260e <https://github.com/openmv/qt-creator/commit/5cd12ee260e>`__, |
| 60 | + `b97bf5447e4 <https://github.com/openmv/qt-creator/commit/b97bf5447e4>`__, |
| 61 | + `952b86de391 <https://github.com/openmv/qt-creator/commit/952b86de391>`__, |
| 62 | + `1103f7988ed <https://github.com/openmv/qt-creator/commit/1103f7988ed>`__, |
| 63 | + `f0f60261485 <https://github.com/openmv/qt-creator/commit/f0f60261485>`__, |
| 64 | + `c743d5d67b9 <https://github.com/openmv/qt-creator/commit/c743d5d67b9>`__, |
| 65 | + `b4bcdc2d71a <https://github.com/openmv/qt-creator/commit/b4bcdc2d71a>`__, |
| 66 | + `a37c032b6ff <https://github.com/openmv/qt-creator/commit/a37c032b6ff>`__, |
| 67 | + `480e5668d29 <https://github.com/openmv/qt-creator/commit/480e5668d29>`__, |
| 68 | + `11c064cac93 <https://github.com/openmv/qt-creator/commit/11c064cac93>`__). |
| 69 | +- **OpenMV Cam Settings Editor** — a GUI editor for the camera's settings |
| 70 | + configuration file, opened from the Tools menu (issue #205) |
| 71 | + (`f55a0d7fa58 <https://github.com/openmv/qt-creator/commit/f55a0d7fa58>`__, |
| 72 | + `2d7f80b03cf <https://github.com/openmv/qt-creator/commit/2d7f80b03cf>`__). |
| 73 | +- **v2 camera debug protocol** for v5.0.0 cameras, with header-CRC validation |
| 74 | + before any header field is trusted, sequence-gap recovery that rolls forward |
| 75 | + over dropped packets instead of stalling, and a frame-rate readout split into |
| 76 | + the on-camera rate and the IDE display rate |
| 77 | + (`c377bdbaea8 <https://github.com/openmv/qt-creator/commit/c377bdbaea8>`__, |
| 78 | + `a3f0488ddcb <https://github.com/openmv/qt-creator/commit/a3f0488ddcb>`__, |
| 79 | + `29108dd40f7 <https://github.com/openmv/qt-creator/commit/29108dd40f7>`__, |
| 80 | + `c15e6c02789 <https://github.com/openmv/qt-creator/commit/c15e6c02789>`__). |
| 81 | +- **Load Custom Firmware accepts a .zip bundle** — pick a board's build-output |
| 82 | + zip and the IDE flashes the firmware (and ROMFS) it contains |
| 83 | + (`55e4eb2d900 <https://github.com/openmv/qt-creator/commit/55e4eb2d900>`__). |
| 84 | +- **Serial Terminal debug logging** — a button toggles tiered debug logging of |
| 85 | + the camera protocol, with each line emoji-tagged and rendered in the emoji |
| 86 | + font for readability |
| 87 | + (`09990c62810 <https://github.com/openmv/qt-creator/commit/09990c62810>`__, |
| 88 | + `42e23c3c11e <https://github.com/openmv/qt-creator/commit/42e23c3c11e>`__, |
| 89 | + `997705548c7 <https://github.com/openmv/qt-creator/commit/997705548c7>`__, |
| 90 | + `d2208de77d4 <https://github.com/openmv/qt-creator/commit/d2208de77d4>`__). |
| 91 | +- **Copy/Convert Current Script** — a Tools action that copies or converts the |
| 92 | + current script, with a guard against saving a compiled ``main.py``/``boot.py`` |
| 93 | + (`81a954f33cd <https://github.com/openmv/qt-creator/commit/81a954f33cd>`__). |
| 94 | +- **F1 documentation help** on the Python symbol under the cursor, sharing the |
| 95 | + symbol resolver with the hover tooltips |
| 96 | + (`c341330bc16 <https://github.com/openmv/qt-creator/commit/c341330bc16>`__). |
| 97 | +- **Name a camera** — an IDE-local alias you can give a connected camera, shown |
| 98 | + in place of the serial port name so identical cameras are tellable apart |
| 99 | + (`c600158ca34 <https://github.com/openmv/qt-creator/commit/c600158ca34>`__). |
| 100 | +- **Keyboard Shortcuts page** — the Preferences shortcuts page is now shown and |
| 101 | + filtered to the actions you can actually reach, with clearer sourcing and |
| 102 | + layout |
| 103 | + (`4f5eae52e8e <https://github.com/openmv/qt-creator/commit/4f5eae52e8e>`__, |
| 104 | + `2d472fe5b40 <https://github.com/openmv/qt-creator/commit/2d472fe5b40>`__). |
| 105 | + |
| 106 | +Editor, terminal, and UI improvements |
| 107 | +-------------------------------------- |
| 108 | + |
| 109 | +- **Help menu restructured** into an **OpenMV Docs** submenu (dropping the old |
| 110 | + flat pinout links), with release-notes links added to the official-release |
| 111 | + version paths |
| 112 | + (`e1337ff67c4 <https://github.com/openmv/qt-creator/commit/e1337ff67c4>`__, |
| 113 | + `9eacc0994e6 <https://github.com/openmv/qt-creator/commit/9eacc0994e6>`__). |
| 114 | +- **About dialog modernized** — automatic copyright year, a partner-logo table, |
| 115 | + and a single-line release-notes link |
| 116 | + (`d89fb74138d <https://github.com/openmv/qt-creator/commit/d89fb74138d>`__). |
| 117 | +- **Frame Buffer panel** now shows the resolution readout and a frame-buffer |
| 118 | + mode label beside the fixed JPG button; the mode label is greyed so it does |
| 119 | + not look clickable |
| 120 | + (`cb735f82337 <https://github.com/openmv/qt-creator/commit/cb735f82337>`__, |
| 121 | + `376b17d4e77 <https://github.com/openmv/qt-creator/commit/376b17d4e77>`__, |
| 122 | + `39c6ffc3b26 <https://github.com/openmv/qt-creator/commit/39c6ffc3b26>`__). |
| 123 | +- **Histogram pane** plots are spline-smoothed, the pane can compress (eliding |
| 124 | + labels and squishable plots), and the channel label sits beside the stats |
| 125 | + (`327324ef7e9 <https://github.com/openmv/qt-creator/commit/327324ef7e9>`__, |
| 126 | + `9f8c7035483 <https://github.com/openmv/qt-creator/commit/9f8c7035483>`__, |
| 127 | + `d204e93d5e4 <https://github.com/openmv/qt-creator/commit/d204e93d5e4>`__). |
| 128 | +- **Coupled panel dividers** — Ctrl/Cmd-dragging a divider moves the |
| 129 | + editor/terminal and frame-buffer/histogram splitters together, and the |
| 130 | + mini-splitter handles get a hover halo with a wider grab area |
| 131 | + (`379dee250d6 <https://github.com/openmv/qt-creator/commit/379dee250d6>`__, |
| 132 | + `96b83984342 <https://github.com/openmv/qt-creator/commit/96b83984342>`__). |
| 133 | +- **Serial Terminal** — auto-scroll is no longer re-pinned on every output |
| 134 | + chunk, so scrolling up during fast output stays put; the terminal can run a |
| 135 | + file from disk when there is no editor |
| 136 | + (`af67a076e95 <https://github.com/openmv/qt-creator/commit/af67a076e95>`__, |
| 137 | + `bc132aef536 <https://github.com/openmv/qt-creator/commit/bc132aef536>`__). |
| 138 | +- **Docs commands** are named by page instead of by index |
| 139 | + (`a3201e9a4b4 <https://github.com/openmv/qt-creator/commit/a3201e9a4b4>`__). |
| 140 | + |
| 141 | +Firmware, boards, and tools |
| 142 | +--------------------------- |
| 143 | + |
| 144 | +- **A board can pin its last-shipped firmware version**, so a board that no |
| 145 | + longer receives newer firmware is not flagged out of date |
| 146 | + (`bd987d32f42 <https://github.com/openmv/qt-creator/commit/bd987d32f42>`__). |
| 147 | +- **Out-of-date firmware** status text is now colored red to stand out |
| 148 | + (`9b18d96bac5 <https://github.com/openmv/qt-creator/commit/9b18d96bac5>`__). |
| 149 | +- **Bootloader-recovery hint** — a ``bootloader.bin`` mismatch now hints at |
| 150 | + entering bootloader recovery mode |
| 151 | + (`d46b998c76e <https://github.com/openmv/qt-creator/commit/d46b998c76e>`__). |
| 152 | +- **Video playback** is more robust: the FFmpeg path is surfaced when tools |
| 153 | + can't launch it, the message is clearer when an architecture doesn't support |
| 154 | + playback, input formats are queried with ``ffmpeg -demuxers``, and Linux |
| 155 | + terminal fallbacks were added |
| 156 | + (`0cc0e74a438 <https://github.com/openmv/qt-creator/commit/0cc0e74a438>`__, |
| 157 | + `a75ec4898d0 <https://github.com/openmv/qt-creator/commit/a75ec4898d0>`__, |
| 158 | + `28e1ef10326 <https://github.com/openmv/qt-creator/commit/28e1ef10326>`__, |
| 159 | + `51651780723 <https://github.com/openmv/qt-creator/commit/51651780723>`__). |
| 160 | +- **Dataset Capture Script** updated to the ``csi`` module |
| 161 | + (`41a781651e4 <https://github.com/openmv/qt-creator/commit/41a781651e4>`__). |
| 162 | +- **Windows installer** wizard appearance improved |
| 163 | + (`250599d9d9e <https://github.com/openmv/qt-creator/commit/250599d9d9e>`__). |
| 164 | + |
| 165 | +Bug fixes |
| 166 | +--------- |
| 167 | + |
| 168 | +- **Development-firmware install** for ``.lst`` boards (AE3) now stages the |
| 169 | + binaries the listing references into the flash directory, and the dev/custom |
| 170 | + install stages the bundle's ROMFS image while clearing any stale |
| 171 | + ``romfs*.img`` first, so the downloaded ROMFS is flashed instead of a leftover |
| 172 | + editor dump |
| 173 | + (`3cf56e98668 <https://github.com/openmv/qt-creator/commit/3cf56e98668>`__, |
| 174 | + `43bedc8c591 <https://github.com/openmv/qt-creator/commit/43bedc8c591>`__). |
| 175 | +- **libjpeg warnings** for truncated/corrupt frames are filtered out of the log |
| 176 | + so a lossy stream doesn't spam the terminal |
| 177 | + (`6e2a8bed6cf <https://github.com/openmv/qt-creator/commit/6e2a8bed6cf>`__, |
| 178 | + `a5166abbdc1 <https://github.com/openmv/qt-creator/commit/a5166abbdc1>`__). |
| 179 | +- The examples list no longer shows the internal ``index.json`` |
| 180 | + (`14ac8ca48a7 <https://github.com/openmv/qt-creator/commit/14ac8ca48a7>`__). |
| 181 | +- Firmware-upgrade and onboarding pop-ups are suppressed in viewer mode so a |
| 182 | + product demo never prompts to overwrite the customer's firmware |
| 183 | + (`7b8528c3ad6 <https://github.com/openmv/qt-creator/commit/7b8528c3ad6>`__). |
| 184 | +- Dangling and authoring-only keyboard shortcuts left over from stripped menus |
| 185 | + were disabled |
| 186 | + (`be3bee8bb58 <https://github.com/openmv/qt-creator/commit/be3bee8bb58>`__, |
| 187 | + `27d1afc8705 <https://github.com/openmv/qt-creator/commit/27d1afc8705>`__). |
| 188 | + |
| 189 | +Localization |
| 190 | +------------ |
| 191 | + |
| 192 | +- **Four new languages** — Indonesian, Romanian, Thai, and Vietnamese — bringing |
| 193 | + the IDE to 37 translated languages, and every catalog was updated, translated, |
| 194 | + and cleaned across all languages |
| 195 | + (`fcf04090843 <https://github.com/openmv/qt-creator/commit/fcf04090843>`__, |
| 196 | + `c830e6c4de3 <https://github.com/openmv/qt-creator/commit/c830e6c4de3>`__, |
| 197 | + `5e22679923f <https://github.com/openmv/qt-creator/commit/5e22679923f>`__). |
| 198 | + |
| 199 | +Command line |
| 200 | +------------ |
| 201 | + |
| 202 | +- **GNU-style ``--word`` option aliases** are now accepted alongside the |
| 203 | + single-dash forms, and the ``-help`` output notes the equivalence |
| 204 | + (`66414213dd9 <https://github.com/openmv/qt-creator/commit/66414213dd9>`__, |
| 205 | + `768c5d0e159 <https://github.com/openmv/qt-creator/commit/768c5d0e159>`__). |
| 206 | + |
| 207 | +Platform and tool support |
| 208 | +------------------------- |
| 209 | + |
| 210 | +- **Qt Creator base:** 14.0.2. |
| 211 | +- **OpenMV IDE** version bumped to 5.0.0. |
| 212 | +- **New:** the separately installed **OpenMV Viewer** build variant. |
| 213 | + |
| 214 | +Breaking changes |
| 215 | +---------------- |
| 216 | + |
| 217 | +None for existing projects. The v2 debug protocol applies to v5.0.0 cameras; |
| 218 | +v4-generation cameras continue to use the existing protocol, and existing |
| 219 | +scripts and workflows are unaffected. |
0 commit comments