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.