Commit Graph

7091 Commits

Author SHA1 Message Date
Ibrahim Abdelkader
62e1857fe1
Merge pull request #2762 from openmv/update_submodule
micropython: Update submodule.
2025-07-08 21:08:59 +03:00
iabdalkader
5966cf4b21 micropython: Update submodule.
Fix RT1060 USB ID and buffer size.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-08 20:01:57 +02:00
Ibrahim Abdelkader
5f119db05f
Merge pull request #2755 from kwagyeman/kwabena/fix_update_jpeg_fb
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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
lib/imlib: Fix update_jpeg_buffer to update from the passed image.
2025-07-08 10:43:59 +03:00
Kwabena W. Agyeman
e6dff41517 lib/imlib: Remove old fallback image transfer code. 2025-07-07 20:39:29 -07:00
Kwabena W. Agyeman
e14bbe586d lib/imlib: Fix update_jpeg_buffer to update from the passed image.
framebuffer_update_jpeg_buffer was previously bugged as it always
updated the jpeg buffer from the frame buffer versus the image
object it was attached to. e.g. img.flush() always flushed the
frame buffer and not the image object it was called on.
2025-07-07 20:39:29 -07:00
Kwabena W. Agyeman
6fe99051cb scripts/examples: Update rstp scripts to use the new CSI API.
Also delete the other scripts using disable_fb() as they were
meant for the RPC desktop library which has been deleted.
2025-07-07 20:39:29 -07:00
Kwabena W. Agyeman
84c3db58a4 modules/py_omv: Remove disable fb from omv module. 2025-07-07 20:39:29 -07:00
Ibrahim Abdelkader
a45e458935
Merge pull request #2754 from kwagyeman/kwabena/improve_genx320_examples
scripts/examples: Add framerate control to genx320 examples.
2025-07-07 20:37:50 +03:00
Kwabena W. Agyeman
7b5c32e57f scripts/examples: Merge genx320 light/dark examples. 2025-07-06 16:27:18 -07:00
Kwabena W. Agyeman
8c599b50e8 scripts/examples: Show contrast and brightness control by default. 2025-07-06 16:20:49 -07:00
Kwabena W. Agyeman
caf56ede8d scripts/examples: Add framerate control to genx320 examples. 2025-07-06 16:20:49 -07:00
Ibrahim Abdelkader
73d5e5d2c1
Merge pull request #2753 from kwagyeman/kwabena/rt1060_update
Some checks failed
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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
lib/micropython: Update RT1062 USB ID and buffers.
2025-07-06 22:38:40 +03:00
Ibrahim Abdelkader
3068fa49db
Merge pull request #2756 from openmv/refactor_csi_isp
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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
ports/stm32: Refactor CSI ISP code.
2025-07-06 15:36:23 +03:00
iabdalkader
ff3e4e0183 ports/stm32: Refactor CSI ISP code.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-06 14:26:23 +02:00
Kwabena W. Agyeman
caec00224a lib/micropython: Update RT1062 USB ID and buffers. 2025-07-05 17:59:41 -07:00
Ibrahim Abdelkader
5ba66423de
Merge pull request #2749 from openmv/refactor_dma_code
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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
ports/stm32: Refactor DMA code.
2025-07-05 23:46:27 +03:00
Ibrahim Abdelkader
8c8417d68f
Merge pull request #2752 from kwagyeman/kwabena/remove_rev_y_stuff
drivers/sensors: Remove OV5640 REV_Y special case.
2025-07-05 22:19:43 +03:00
Kwabena W. Agyeman
f9f6eb0302 drivers/sensors: Remove OV5640 REV_Y special case. 2025-07-05 12:09:18 -07:00
Ibrahim Abdelkader
d7e6ffd0fb
Merge pull request #2750 from kwagyeman/kwabena/fix_typo
modules/py_helper: Fix error arg_to_image error message typo.
2025-07-05 18:04:41 +03:00
iabdalkader
7934ea0a1e ports/stm32: Refactor DMA code.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 15:14:18 +02:00
iabdalkader
6406e719ce ports/stm32: Add DMA init functions.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 15:10:18 +02:00
iabdalkader
cf0a58372d boards/all: Define CSI DMA channel, request and ports.
Define CSI DMA channel (instance), request and DMA
transfer and linked-list ports for N6.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 15:00:09 +02:00
iabdalkader
2b4d66ba23 ports/stm32: Refactor MDMA code.
Moved to separate file to make omv_csi more readable.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:50:03 +02:00
iabdalkader
85179136ab ports/stm32: Rename port files consistently.
Just a search/replace/rename for consistency with other
ports.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:50:03 +02:00
Ibrahim Abdelkader
284c8e184a
Merge pull request #2736 from openmv/refactor_csi_clock
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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/csi: Decouple the clock from main CSI state.
2025-07-05 15:38:06 +03:00
iabdalkader
e6f43f3ca0 boards/OPENMV_N6: Set default clock frequency to 24MHz.
Saves an extra call to set_clock on every boot.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:17:31 +02:00
iabdalkader
7e0a251bcd boards/OPENMV_AE3: Set default clock frequency to 24MHz.
Saves an extra call to set_clock on every boot.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:17:31 +02:00
iabdalkader
66ade9aeaf drivers/sensors: Update clock API.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:17:31 +02:00
iabdalkader
09c0052dfa ports/all: Decouple the clock from main CSI state.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:17:31 +02:00
iabdalkader
2040a0a000 common/csi: Decouple the clock from main CSI state.
This patch decouples the clock from the main CSI state,
further separating the CSI instance from the port's CSI
driver. Additionally, it allows CSIs to use different clocks,
in theory, though they must first be detected somehow in
order to switch clocks.

As a side effect of sharing the clock, set_frequency will be
called more frequently (the default call plus once per CSI).
However, the frequency is now checked, and the clock is only
reconfigured if the new frequency exceeds a configurable
tolerance.

Finally, get_clk_frequency now accepts a boolean to return
either the exact clock frequency, for sensors that require
it, or the nominal frequency.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:17:31 +02:00
Ibrahim Abdelkader
287e387122
Merge pull request #2751 from openmv/update_toolchain
misc: Update GCC toolchain.
2025-07-05 15:15:39 +03:00
iabdalkader
a008ecf707 misc: Add GCC minimum toolchain check for CM55.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:02:37 +02:00
iabdalkader
ad722d0153 misc: Update GCC toolchain to 14.3.1.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-05 14:01:59 +02:00
Kwabena W. Agyeman
eba2529237 modules/py_helper: Fix error arg_to_image error message typo. 2025-07-04 17:54:22 -07:00
Ibrahim Abdelkader
ad751631a1
Merge pull request #2746 from openmv/refactor_csi_port_init
Some checks failed
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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
ports/all: Refactor CSI port init.
2025-07-02 20:37:56 +03:00
iabdalkader
bc37611dfc ports/nrf: Refactor omv_csi_init.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-02 19:00:06 +02:00
iabdalkader
c9ae439448 ports/rp2: Refactor omv_csi_init.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-02 19:00:06 +02:00
iabdalkader
71082ad573 ports/alif: Refactor omv_csi_init.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-02 19:00:04 +02:00
iabdalkader
06c8dcda17 ports/mimxrt: Refactor omv_csi_init.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-02 18:13:15 +02:00
iabdalkader
3e8cc670f9 ports/stm32: Refactor omv_csi_init.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-02 18:12:59 +02:00
iabdalkader
ecbdbdfde1 common/csi: Refactor omv_csi_init.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-02 18:12:34 +02:00
Ibrahim Abdelkader
afd85235b9
Merge pull request #2745 from openmv/update_micropython
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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
lib/micropython: Update submodule.
2025-07-01 22:01:51 +03:00
iabdalkader
d0dfa219a9 lib/micropython: Update submodule.
Fix Alif machine_pin_irq.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-01 20:32:01 +02:00
Ibrahim Abdelkader
7bd8c2ce53
Merge pull request #2743 from openmv/add_csi_shutdown
Some checks are pending
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (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/csi: Add csi shutdown op.
2025-07-01 00:51:36 +03:00
iabdalkader
6f9eb55534 drivers/lepton: Rework reset code.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-30 23:43:20 +02:00
iabdalkader
6ddd0b0faf ports/stm32: Fix I2C lockup on bus error.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-30 23:43:20 +02:00
iabdalkader
b3832b86c1 common/csi: Fix CSI detection & init logic.
Simplify the detection logic and handle the case where
all detected sensors (one or more) are auxiliary.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-30 23:43:20 +02:00
iabdalkader
a290081efd boards/OPENMV_N6: Enable Soft-CSI.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-30 23:43:20 +02:00
iabdalkader
5aec3162ec ports/stm32: Fix DCMI pipe reset.
Since the DCMI is not reinitialized on every reset anymore,
the pipe states must be reset to reconfigure them. The HAL
drivers never just handle these things as usual.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-30 23:43:20 +02:00
iabdalkader
79837d54f0 sensors/Lepton: Implement abort.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-30 23:43:20 +02:00