Kwabena W. Agyeman
0390360a92
ports/stm32: Fix typo in stm32_pwm.
2025-07-21 09:24:57 +02:00
iabdalkader
a82169dae2
ports/stm32: Use common alignment macros.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-16 11:18:56 +02:00
iabdalkader
330ad33582
common: Remove unused ringbuf.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-13 19:36:35 +02:00
iabdalkader
58fe4f33b5
ports/stm32: Refactor CSI PWM config.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-12 17:12:37 +02:00
iabdalkader
cb0b0bc224
ports/stm32: Add timer helper functions.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-12 17:12:37 +02:00
iabdalkader
07d3e3f559
ports/stm32: Support using DCMI and DCMIPP.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-12 17:12:34 +02:00
iabdalkader
77d79ba58a
ports/stm32: Decouple CSI instance used by main driver.
...
This patch removes the assumption that the main driver
always uses the default CSI instance. Instead, the CSI
instance used by each interface is now explicitly set.
This prepares the driver for supporting multiple CSIs
using the main driver.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-12 17:12:34 +02:00
iabdalkader
a48e545bc0
ports/stm32: Disable DCMI pins init for DCMIPP.
...
DCMIPP is used exclusively for CSI sensors now.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-12 17:12:34 +02:00
Ibrahim Abdelkader
f7aa6985e5
Merge pull request #2658 from openmv/remove_uvc2
...
🔥 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/stm32: Remove UVC firmware.
2025-07-09 11:31:53 +03:00
Ibrahim Abdelkader
1b59395beb
Merge pull request #2759 from kwagyeman/kwabena/enable_n6_lcd
...
boards/OPENMV_N6: Enable SPI LCD/TV Displays.
2025-07-09 10:31:50 +03: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
90f48cdfe7
boards/OPENMV_N6: Enable SPI LCD/TV Displays.
...
Triple buffering does not work at the moment.
2025-07-06 19:08:20 -07: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
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
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
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
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
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
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
1ddd69bfbe
ports/stm32: Fix spi_transfer_abort.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-29 17:20:49 +02:00
iabdalkader
7f4e5e81c7
common/csi: Abort CSIs on soft-reboot.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-29 17:20:49 +02:00
iabdalkader
64fa8c472f
ports/stm32: Implement shutdown op.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-29 17:20:49 +02:00
iabdalkader
822fc11003
ports/stm32: Fix PSRAM settings.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-06-29 17:11:27 +02:00
Kwabena W. Agyeman
7d2b334066
ports/stm32: Fix all sensor RGB565/GRAYSCALE/BAYER/YUV422 modes.
...
Tested against all our supported sensors. Everything works.
2025-06-27 23:27:16 -07:00
Ibrahim Abdelkader
81dd44aef4
Merge pull request #2735 from openmv/refactor_csi_init
...
🔥 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 initialization code.
2025-06-27 22:42:05 +03: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
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
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
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
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
89d60c8002
ports/stm32: Add missing init bits to fix glitches.
2025-06-23 14:40:11 -07: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
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
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
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
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