Ibrahim Abdelkader
41217395fa
Merge pull request #2733 from openmv/refactor_csi_scan
...
common/csi: Refactor I2C scanning code.
2025-06-26 20:09:37 +03:00
Ibrahim Abdelkader
eb83986eba
Merge pull request #2730 from openmv/fix_alif_irq
...
🔥 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
micropython: Update submodule.
2025-06-26 10:51:08 +03:00
iabdalkader
1e0281555c
micropython: Update submodule.
...
Fix Alif LPGPIO pin IRQ.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-26 09:41:05 +02:00
iabdalkader
bc2a3372a6
common/csi: Refactor I2C scanning code.
...
This should be much faster as it starts with the most common
config: power-down active low, reset active low.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:27:49 +02:00
Ibrahim Abdelkader
190aecc45c
Merge pull request #2691 from openmv/n6_port_dual_csi
...
🔥 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/all: Dual CSI support.
2025-06-25 22:27:25 +03:00
iabdalkader
c7d84b8ca5
lib/imlib: Add deep copy flag to image_copy.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:16:00 +02:00
iabdalkader
1c47d9bcf0
boards/OPENMV_RT1060: Enable multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
6d4b22a63b
boards/OPENMV_N6: Enable multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
b879696248
boards/all: Enable csi-ng API.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
02f42b6837
ports/nrf: Add support for multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
be6b3fa80d
ports/rp2: Add support for multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
e4ee291028
ports/alif: Add support for multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
668b1c2f74
ports/mimxrt: Add support for multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
25b7b8cbb2
ports/stm32: Add support for multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
452ed2e936
drivers/sensors/lepton: Support nonblocking snapshot.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
e4f879c4be
drivers/sensors/Lepton: Reduce snapshot timeout.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:24 +02:00
iabdalkader
522560a48e
modules/py_csi_ng: Add new CSI API.
...
A modern API that supports multiple CSI instances.
The API is a work in progress and is not backwards
compatible, but it can be enabled and used at the
same time as the old "sensor" module.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 21:15:20 +02:00
iabdalkader
00bfd6f38f
drivers/sensors: Support multi-csi for auxiliary sensors.
...
- Set auxiliary flag.
- Override default abort/config.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 10:37:43 +02:00
iabdalkader
3270272e11
common/csi: Add support for non-blocking flag.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 10:37:43 +02:00
iabdalkader
72410dfc8c
common/csi: Add support for multiple CSIs.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-25 10:37:41 +02:00
iabdalkader
2913d78182
imlib/framebuffer: Support dynamic frame buffers.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-24 20:19:25 +02:00
Ibrahim Abdelkader
acc5edb0fc
Merge pull request #2720 from kwagyeman/kwabena/framebuffer_lepton
...
🔥 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
drivers/sensors/lepton: Update lepton driver with asynchronous fb.
2025-06-24 21:19:02 +03:00
Kwabena W. Agyeman
c4795d3191
ports/stm32: Increase SPI DMA efficency.
...
The SPI fifo triggers a request when it has 4-bytes of data allowing
for more efficent bus usage. The same technique is used on the H7
to reduce system bus matrix resources.
2025-06-24 10:19:31 -07:00
Kwabena W. Agyeman
3984ec783f
ports/stm32: Move VOSPI memory near DMA controller.
...
On the STM32N6 the DMA memory meant to be used with the SPI bus is
in the low-performance memory domain. Moving the DMA buffers and
linked list buffers there reduces the AHB cycle time by the DMA
controller making it more stable.
2025-06-24 10:19:31 -07:00
Kwabena W. Agyeman
1321c5d1a1
common: Remove legacy fixed vospi memory.
2025-06-24 10:19:31 -07:00
Kwabena W. Agyeman
fc0cc40a31
drivers/sensors/lepton: Update lepton driver with asynchronous fb.
...
The FLIR Lepton driver now continously receives frames in the background
that are stored in allocated frame buffers. On snapshot the stored frame
is post-processed to produce a color an image.
* Transpose now works allowing for image rotation with IMU.
* Bilinear scaling is now used when drawing at a higher res.
2025-06-24 10:19:29 -07:00
Kwabena W. Agyeman
c758b71040
drivers/sensors/lepton: Fix refresh and resolution attributes.
2025-06-23 14:49:37 -07:00
Kwabena W. Agyeman
8e543c2a96
lib/imlib: Refactor fill_image_from_lepton out of py_fir_lepton.
2025-06-23 14:49:37 -07:00
Ibrahim Abdelkader
7a9e1f31ac
Merge pull request #2721 from kwagyeman/kwabena/fix_n6_gpu
...
🔥 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: Fully implement N6 GPU driver for draw_image.
2025-06-24 00:47:49 +03:00
Kwabena W. Agyeman
89d60c8002
ports/stm32: Add missing init bits to fix glitches.
2025-06-23 14:40:11 -07:00
Ibrahim Abdelkader
032a74c64e
Merge pull request #2728 from kwagyeman/kwabena/fix_csi_boson_genx320
...
drivers/sensors: Update new sensors to use the csi pointer.
2025-06-24 00:34:13 +03:00
Kwabena W. Agyeman
1dece0b461
ports/stm32: Fully implement N6 GPU driver for draw_image.
2025-06-23 14:29:32 -07:00
Kwabena W. Agyeman
9a10186ec4
drivers/sensors: Update GENX320 driver to use csi pointer.
2025-06-23 14:26:48 -07:00
Kwabena W. Agyeman
8f81f16963
ports/stm32: Fix NEMA GPU driver.
...
* You have to clean and invalidate the destination image so that
the processor writes out the full image and so that the processor
doesn't flush cache lines ontop of the GPU writing the image.
* The ICACHE doesn't automatically flush itself after a draw operation.
Depending on the situation, it will just hold the entire source
image internally and never read it again. In particular, when
scaling something like 160x120 it just caches the whole image
and never reads it again.
2025-06-23 12:34:41 -07:00
iabdalkader
43c6b6c5fd
ports/stm32: Fix GPU drawing offset.
2025-06-23 12:34:41 -07:00
Kwabena W. Agyeman
6348cce98e
drivers/sensors: Update BOSON driver to use csi pointer.
2025-06-23 12:14:56 -07:00
Ibrahim Abdelkader
899d645e69
Merge pull request #2727 from openmv/refactor_csi_i2c
...
🔥 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
misc: Refactor CSI I2C bus.
2025-06-23 15:23:29 +03:00
iabdalkader
b04f2fcf6a
ports/all: Refactor CSI I2C bus.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 14:14:02 +02:00
iabdalkader
37327d27da
drivers: Refactor CSI I2C bus.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 14:14:02 +02:00
iabdalkader
5933198a14
common/csi: Refactor CSI I2C bus.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 14:13:57 +02:00
Ibrahim Abdelkader
1701ec941d
Merge pull request #2726 from openmv/stm32_fix_pipes
...
ports/stm32: Reset pipes states on abort.
2025-06-23 14:22:09 +03:00
iabdalkader
e5178be046
ports/stm32: Reset pipes states on abort.
...
HAL STOP doesn't seem to do so.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 13:04:45 +02:00
Ibrahim Abdelkader
f3f7b0aa06
Merge pull request #2725 from openmv/refactor_csi
...
ports/all: Refactor CSI drivers.
2025-06-23 13:55:08 +03:00
iabdalkader
19f818c49f
ports/alif: Refactor CSI.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:49:57 +02:00
iabdalkader
fef2e1dc8b
ports/stm32: Refactor CSI.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:25 +02:00
iabdalkader
6cfd8dd82b
ports/nrf: Refactor CSI.
2025-06-23 12:41:21 +02:00
iabdalkader
f1286053e9
ports/mimxrt: Refactor CSI.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00
iabdalkader
7db2782d4b
ports/rp2: Refactor csi.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00
iabdalkader
eccbb62e1d
drivers: Rename omv_csi_get_clk_frequency.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00
iabdalkader
fe2e2cd82a
common: Rename omv_csi_get_clk_frequency.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-23 12:41:16 +02:00