Commit Graph

7371 Commits

Author SHA1 Message Date
iabdalkader
2b7ab635e3 lib/stai: Pull events during inference.
Ensures pending events gets services more often.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
6c3b31ab5f scripts/examples: Add Protocol examples.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
57d8bc84a0 lib/micropython: Use temporary branch.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
7c8d300cf4 tools/openmv: OpenMV Protocol V2 Implementation.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
549c407da1 ports/stm32: Switch to new protocol.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
bb517e5cdd ports/alif: Switch to new protocol.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
0718c4bfbd ports/mimxrt: Switch to new protocol.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
35d0d6c363 boards/all: Switch to new protocol.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
d5c1bd59c9 modules/omv: Switch to new protocol.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
05ff2fff32 lib/imlib: Send stream events.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
c51fc4b267 modules: Add OpenMV protocol bindings.
Enables creating transports and data channels from Python.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
cc879d15b4 protocol: Introduce OMV protocol V2.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
91a01ee978 common/usbdbg: Remove obsolete protocol files.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
f205fe0219 common/mp_utils: Remove exec_bootscript.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
e80a7d00b8 tools/pyopenmv: Remove obsolete tools.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
iabdalkader
896e4164d1 common: Add circular buffer API for data streaming
Add a simple ring buffer implementation with claiming/committing,
consumption tracking, and automatic compaction when needed.

A better solution would be to implement Bip Buffer:
https://www.codeproject.com/Articles/3479/The-Bip-Buffer-The-Circular-Buffer-with-a-Twist

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 20:26:49 +02:00
Ibrahim Abdelkader
87b01fac51
Merge pull request #2855 from openmv/fix_raw_stream_size
Some checks failed
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
🔎 Check Code Formatting / formatting-check (push) Has been cancelled
lib/imlib: Fix raw stream buffer size check.
2025-09-21 21:26:28 +03:00
iabdalkader
552f4ada8e lib/imlib: Fix raw stream buffer size check.
Check frame dimensions as well as total image size
top scale the image if needed.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-21 16:41:34 +02:00
Ibrahim Abdelkader
7a7788a03a
Merge pull request #2853 from openmv/fix_uncrust_cfg
Some checks failed
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Has been cancelled
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / code-size-report (push) Has been cancelled
🔥 Firmware Build / stable-release (push) Has been cancelled
🔥 Firmware Build / development-release (push) Has been cancelled
tools: Fix uncrustify union variable formatting
2025-09-19 20:52:51 +03:00
Ibrahim Abdelkader
16dfe5f5cb
Merge pull request #2852 from openmv/fix_jlink_target
misc/Makefile: Fix jlink target.
2025-09-19 20:50:06 +03:00
iabdalkader
4257464982 tools: Fix uncrustify union variable formatting
Set nl_brace_struct_var = remove to keep union/struct variable
declarations on the same line as the closing brace.
2025-09-19 19:49:42 +02:00
iabdalkader
daa681dfe6 misc/Makefile: Fix jlink target.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-19 19:37:50 +02:00
Ibrahim Abdelkader
9310becba0
Merge pull request #2851 from openmv/boot_v_header
Some checks failed
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
🔎 Check Code Formatting / formatting-check (push) Has been cancelled
boot: Add version header.
2025-09-19 10:30:28 +03:00
iabdalkader
304a2d36e8 boot: Add version header.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-19 09:24:49 +02:00
Ibrahim Abdelkader
a19d832f1e
Merge pull request #2850 from openmv/fix_mutex_unlock
Some checks are pending
🔎 Check Code Formatting / formatting-check (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
common/mutex: Return true, if unlocked.
2025-09-19 01:15:04 +03:00
iabdalkader
9beb565882 common/mutex: Return true, if unlocked.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-19 00:06:15 +02:00
Ibrahim Abdelkader
6a1c9b8ab9
Merge pull request #2849 from openmv/update_workflow
github: Update codeformat workflow.
2025-09-19 00:27:35 +03:00
iabdalkader
72e04221c7 github: Update codeformat workflow.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-18 23:26:34 +02:00
Ibrahim Abdelkader
c9e42a4e45
Merge pull request #2830 from kwagyeman/kwabena/add_blazeface
scripts/examples: Add BlazeFace detection example.
2025-09-18 23:54:35 +03:00
Kwabena W. Agyeman
3667b54319 scripts/examples: Add BlazeFace detection example. 2025-09-18 13:41:57 -07:00
Kwabena W. Agyeman
f6f39f924b lib/models: Add blazeface model. 2025-09-18 13:41:56 -07:00
Kwabena W. Agyeman
65829023f0 scripts/libraries: Add face detection post-processing. 2025-09-18 13:30:14 -07:00
Kwabena W. Agyeman
7124b5134d scripts/libraries: Add keypoint support to NMS.
NMS will now pass-through keypoints along with scaling/offsetting
them to be drawn correctly on the image.
2025-09-18 13:30:14 -07:00
Kwabena W. Agyeman
eccb90699d scripts/libraries: Fix pre-processing float input array normalization.
ULAB only does simple assignment operator operations in-place.
2025-09-18 13:30:14 -07:00
Kwabena W. Agyeman
14d277c95b lib/stai: Add multi-tensor input/output support.
The name of the buffer being NULL defines the end of the buffer list.
2025-09-18 13:30:14 -07:00
Ibrahim Abdelkader
3a79080713
Merge pull request #2847 from openmv/update_workflow
github/workflows/codeformat: Fix workflow.
2025-09-18 23:05:37 +03:00
iabdalkader
f16f566141 github/workflows/codeformat: Fix workflow.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-18 22:05:04 +02:00
Ibrahim Abdelkader
aaabe05565
Merge pull request #2845 from openmv/update_workflow
github/workflows/codeformat: Fix workflow.
2025-09-18 21:36:42 +03:00
iabdalkader
2205f177f3 github/workflows/codeformat: Fix workflow.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-18 20:36:15 +02:00
Ibrahim Abdelkader
0de60ff3d5
Merge pull request #2842 from openmv/update_code_formatter
misc: Update code formatter.
2025-09-18 21:11:14 +03:00
iabdalkader
75c7a4fb82 github/codeformat: Switch to uncrustify-action.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-18 20:01:17 +02:00
iabdalkader
04145abea8 tools/ci: Remove uncrustify functions.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-18 18:54:38 +02:00
Ibrahim Abdelkader
1dab51addf
Merge pull request #2828 from openmv/dependabot/github_actions/actions/setup-python-6
Some checks failed
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Has been cancelled
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / code-size-report (push) Has been cancelled
🔥 Firmware Build / stable-release (push) Has been cancelled
🔥 Firmware Build / development-release (push) Has been cancelled
build(deps): bump actions/setup-python from 5 to 6
2025-09-17 19:15:32 +03:00
Ibrahim Abdelkader
a559f03553
Merge pull request #2841 from openmv/update_micropython
Some checks are pending
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
micropython: Update submodule
2025-09-16 19:54:36 +03:00
Ibrahim Abdelkader
3946a19cd2
Merge pull request #2840 from openmv/stm32n6_sleep_enable
stm32: Disable clock gating during sleep for STM32N6 peripherals
2025-09-16 19:30:20 +03:00
iabdalkader
f994fe1d06 micropython: Update submodule
- Revert "stm32/uart: Enable UART clock in low power modes."
- stm32/uart: Enable UART FIFO for STM32N6.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-16 18:26:34 +02:00
iabdalkader
01113ebee9 stm32: Disable clock gating during sleep for STM32N6 peripherals
Remove individual peripheral sleep clock enable/disable calls and instead
enable all AHB/APB peripheral clocks during sleep mode. This is needed
because MicroPython doesn't manage peripheral sleep clocks individually.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-16 18:20:38 +02:00
Ibrahim Abdelkader
28f0ad2d7d
Merge pull request #2832 from openmv/dependabot/github_actions/softprops/action-gh-release-2.3.3
build(deps): bump softprops/action-gh-release from 2.2.2 to 2.3.3
2025-09-16 18:23:40 +03:00
Ibrahim Abdelkader
e60750b5cc
Merge pull request #2838 from openmv/revert_lock_fix
Some checks failed
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Has been cancelled
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / code-size-report (push) Has been cancelled
🔥 Firmware Build / stable-release (push) Has been cancelled
🔥 Firmware Build / development-release (push) Has been cancelled
Revert "common/mutex: Clear tid when releasing mutex"
2025-09-13 12:22:27 +03:00
iabdalkader
1b59e95162 Revert "common/mutex: Clear tid when releasing mutex"
This reverts commit bb52288561.

Event though this fixes a deadlock in the new protocol, it
actually breaks fair locking as one side could lock multiple
times in a row.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-13 10:52:00 +02:00