v4.8.9¶
v4.8.9 is an idle-efficiency and disconnect-reliability release built on Qt Creator 14.0.2. It overhauls how the IDE watches for hardware so it stops polling when nothing is happening, tightens the connect/disconnect path, and prunes the bundled model zoo. There is no Qt Creator rebase in this range, but a few default behaviors and bundled model names changed, so review the breaking changes below.
Highlights¶
Event-driven hardware monitoring replaces continuous device polling: the IDE now stops its scan timers when idle and only re-scans serial ports and drives in response to real USB plug/unplug and disk mount/dismount events, dramatically cutting idle CPU and resource usage.
Idle timers gated on activity: the frame-buffer event timer (formerly firing every 1ms) now runs only while connected, and the terminal cursor-blink timer (500ms) now runs only while the terminal is focused.
Background import syncing off by default: automatic syncing of the
ExamplesandDocuments/OpenMVimport folders is now disabled and its menu toggle is hidden, so the IDE no longer continuously rescans those folders.Faster, more reliable disconnect: the serial port is closed and the camera freed immediately, protocol timeouts were tuned down, and a wedged camera now recovers instead of hanging.
Clearer frame-buffer mode button that shows
JPG ModeorRAW Modeto make the current compression state obvious at a glance.
New features¶
Native hardware-event monitoring via a new
HardwareMonitorthat emitshardwareEventDetectedusing IOKit and DiskArbitration on macOS, aWM_DEVICECHANGEmessage-only window on Windows, and aNETLINK_KOBJECT_UEVENTnetlink socket on Linux. The serial-scan and drive-scan timers are now gated behind a 10s scan window that restarts on each event (a6612fec9, 462b55f7b, 17c2e93c7).
Other changes and improvements¶
The frame-buffer event-processing timer (formerly firing every 1ms) is now started on connect and stopped on disconnect, and the terminal cursor-blink timer (500ms) now starts and stops on terminal focus in/out instead of always running (a02afea53).
Automatic syncing of the
ExamplesandDocuments/OpenMVimport folders is disabled by default and the toggle is hidden; the folder-scan timers no longer start at init and only run when the (now hidden) action is enabled (478f83e97).The frame-buffer format toggle button now shows
JPG Modewhen JPEG compression is on andRAW Modewhen off (c48831224).On connect, the IDE now always applies the board’s JPEG-preferred default for the frame buffer instead of restoring the previously saved per-board JPG/RAW choice (c48831224).
Bug fixes¶
Disconnecting now closes the serial port and frees the camera (and port) inline in
close(), making disconnect faster and more reliable (1e8941080, 9d31bcf80).The serial idle timer is now stopped and the v2-protocol flag cleared when the port closes, fixing stale idle-timer behavior after disconnect (4bd2fd9ea).
Protocol command timeouts were tuned (open timeout lowered from 5s to 2s, resync and
CHANNEL_SIZEuse a 1s short timeout) and every serial command now disposes the camera object on failure, so a wedged camera recovers and disconnects faster instead of hanging (04aa6aea3).Fixed a locking/hang issue when stopping a script: a script-stopped event now also clears the frame-event state and resets the frame-ready timers (3695b0704).
The protocol now tolerates short reads from the camera, returning the partial payload or text instead of discarding it or erroring out (0c8ccd58e).
Platform and tool support¶
Qt Creator base: 14.0.2.
Boards combining an AE3 or N6 module with a PAG7936 or PS5520 sensor now get the higher QVGA default (previously only AE3 + PAG7936), so affected examples auto-upgrade from QQVGA to QVGA (fcc0c3227).
The bundled ST MoveNet pose-estimation model zoo was cleaned up: redundant per-tensor (
_pt) and duplicate singlepose/st_movenetvariants were removed, and the surviving per-channel heatmap models were renamed tomovenet_singlepose_192,movenet_singlepose_224, andmovenet_singlepose_256(18f66c4c1).Dropped the bundled DeepLabV3 semantic-segmentation model and its example assets from the model zoo (a929e0dc1).
Breaking changes¶
User-visible behavior and bundled-asset changes between v4.8.8 and v4.8.9.
On connect, the frame buffer now always uses the board’s JPEG-preferred default and ignores any previously saved per-board JPG/RAW choice (c48831224).
Background syncing of the
ExamplesandDocuments/OpenMVimport folders is disabled by default and its toggle is hidden (478f83e97).Several bundled models were removed or renamed: the DeepLabV3 semantic-segmentation model is gone, and the ST MoveNet models were pruned and renamed to
movenet_singlepose_192/224/256. Scripts that reference the old model filenames must be updated (a929e0dc1, 18f66c4c1).