v4.2.4¶
v4.2.4 streamlines the camera handshake with a single get_state() command,
speeds up live framebuffer display by moving the JPEG focus-metric computation
off the broadcast path, and adds raw uncompressed-frame display under the
compressed pixformat path. This release stays on the Qt Creator 10.0.1 base and
bundles OpenMV firmware 4.5.9. The bundled April-Tags examples were rewritten
for the new firmware AprilTag API; user scripts written against the old API may
need updating.
Highlights¶
Single get_state() handshake drains and queries the camera’s print and frame buffers with one command on firmware that supports it, replacing separate
getTxBuffer/frameSizeDumppolling.Faster live framebuffer display moves the expensive JPEG focus-metric computation out of the framebuffer broadcast path and into the histogram update.
Raw uncompressed frames (binary, grayscale8, and RGB565) can now be received and displayed under the compressed pixformat path, in addition to JPEG.
Bundled firmware 4.5.9 for all supported boards, including refreshed UVC binaries.
New features¶
The framebuffer viewer can now receive and display raw uncompressed frames (binary, grayscale8, and RGB565) sent under the compressed pixformat path, in addition to JPEG. Binary row stride is 4-byte aligned. (cba5f5dda)
Other changes and improvements¶
The IDE now drains and queries the camera’s print and frame buffers using a single new
get_state()command on firmware that supports it, instead of separategetTxBuffer/frameSizeDumppolling, making connect/disconnect/start handshakes more efficient. A version-gated branch callsgetState()and emits a newgetStateDone()signal on frame-size and tx-buffer completion. (ce137a7b6, 0cf969bfd)Live framebuffer display is faster because the JPEG focus-metric computation was moved out of
broadcastUpdate()into the histogram update, where it now runs on a pixmap downscaled to 160px wide.QCustomPlotreplots now use queued replotting. (9dbcd8875)All bundled AprilTag examples (
find_apriltags,find_apriltags_3d_pose,find_apriltags_max_res,find_apriltags_w_lens_zoom,find_small_apriltags, the pixy I2C/SPI/UART emulation examples,modbus_apriltag,apriltag_tracking, and the RPCpopular_features_as_the_remote_deviceexample) were updated to the new firmware AprilTag API using property accessors and simplified. The bundled TensorFlowtf_object_detection.pyexample now sets a 240x240 windowing crop viasensor.set_windowing((240, 240)), and the Bluetooth BLE temperature example (examples/10-Bluetooth/ble_temperature.py) was removed. (42a646b63)
Platform and tool support¶
Qt Creator base: 10.0.1.
Bundled OpenMV firmware: updated 4.5.8 -> 4.5.9 for all supported boards, including
OPENMV2/3/4/4P/PT,OPENMV_RT1060, andARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, with refreshed UVC binaries. (42a646b63)OpenMV IDE version: bumped 4.2.1 -> 4.2.4.
Breaking changes¶
The bundled April-Tags examples were rewritten for the new firmware AprilTag
API: tag accessors are now properties (tag.rect, tag.cx, tag.cy,
tag.rotation, tag.id, tag.name) instead of method calls. The
bundled find_apriltags.py example now demonstrates only the TAG36H11
family; its multi-family selection code
(TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) and
family_name() helper were removed. User scripts written against the old
method-call AprilTag API may need updating to match firmware 4.5.9.