iabdalkader
2d7e5d325e
boards/all: Remove OV5640 default clock config.
...
This is already the default config.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-27 20:17:03 +02:00
iabdalkader
fed264193d
common/csi: Refactor sensor init.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-27 20:17:01 +02:00
iabdalkader
4ded9fba91
common: Remove xalloc.
...
Originally meant to abstract gc_collect but we could just use
m_alloc and friends. Also was meant to provide functions like
alloc0, alloc_maybe etc.. which are all available in MP anyway.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-27 14:50:16 +02:00
iabdalkader
a7d1e53198
drivers/sensors: Fix init return error.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-27 13:50:20 +02:00
iabdalkader
a266ac33f1
ports/all: Fix calls on uninitialized CSIs.
...
Detection flag should be set after CSIs are detected in
the scanning code, and functions that loop over CSIs
should check it.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-27 10:03:48 +02:00
Kwabena W. Agyeman
8cd7a309fd
modules/py_csi_ng: Implement snapshot() image argument.
2025-06-27 09:30:06 +02:00
Kwabena W. Agyeman
30545d47b2
common/omv_csi: Enable conflicting sensors.
2025-06-27 09:29:55 +02:00
Kwabena W. Agyeman
176f32ab90
common/omv_csi: Fix default polarity configs.
...
The current order that these operate works for all sensors. Changing them
breaks various sensors.
2025-06-27 09:08:46 +02:00
Ibrahim Abdelkader
abd1a05919
Merge pull request #2731 from openmv/fix_snapshot_loop
...
🔥 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: Fix snapshot loop.
2025-06-26 22:03:32 +03:00
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
iabdalkader
65ac3ca2ea
drivers: Fix snapshot loop.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-26 10:10:23 +02: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