Commit Graph

42 Commits

Author SHA1 Message Date
iabdalkader
17ac3180b9 misc: Increase delay after sensor reset/power-down. 2024-05-25 10:29:25 +02:00
FU CHEN-WEI
b3f9d70003 sensors/PAG7980: Support PixArt image sensor PAG7920.
1. Add a sensor driver for PAG7920.
2. Add PAG7920-related definitions.
2024-04-18 16:59:12 +08:00
iabdalkader
834d157008 sensors/GC2145: Fix chip id bug in sensor probe. 2024-02-26 12:33:26 +01:00
iabdalkader
a62d606467 misc: Support using GC2145 and OV5640 at the same time.
Both sensors have the same I2C address, so can't be enabled at the
same time. This patch tries to read a byte-sized address first,
if GC2145 chip id is not read back, then it retries reading wide
address. I tested this with RT1060 and H7 and I can detect the OV5640
fine.
2024-02-15 21:01:47 +01:00
Ibrahim Abdelkader
32b7075bc6
Merge pull request #2141 from openmv/sensor_utils_reconfigure
ports/all: Add a sensor function to reconfigure hardware if/when needed.
2024-02-12 22:30:19 +02:00
iabdalkader
ebc4c6c831 ports/all: Add a sensor function to reconfigure hardware if/when needed.
sensor_dcmi_config function was called every time the pixel format changed,
and typically reconfigured the capture interface. This originated from the
stm32 port, which required reconfiguring the DCMI if the pixel format changed.
However, most ports only require configuring the capture interface once
during initialization (for example nrf, rp2 and mimxrt ports).
The new sensor_config function is called after a setting that may require
reconfiguring the hardware changes, such as such as window size, frame size,
or pixel format. The exact setting that has changed is passed to the function,
allowing ports to decide whether to do a full reconfiguration of the hardware,
or just ignore it based on the changed setting.
2024-02-12 18:32:36 +01:00
Kwabena W. Agyeman
61ec9006bb hal/sensor_utils: Allow DMA memcpy fallback to CPU. 2024-02-10 10:42:30 -08:00
Kwabena W. Agyeman
7c6105e54c ports/mimxrt: Use hardware byteswap support. 2024-02-10 10:31:52 -08:00
Ibrahim Abdelkader
3803e7d5fa
Merge pull request #2131 from openmv/refactor_boardconfig
misc: Refactor board config files.
2024-02-06 21:23:40 +02:00
iabdalkader
bc5222df03 misc: Refactor board config files.
- Rename options more consistently.
- Add OMV prefix to every config option.
- Replace the ST-specific DCMI prefix with CSI.
- Remove the clock source defined in every header to a common enum.
- Remove obsolete board config options.
2024-02-06 21:20:56 +02:00
Ibrahim Abdelkader
bd3aa0494e
Merge pull request #2089 from kwagyeman/kwabena/fix_yuv_shift
ports: Add yuv shift to match bayer shift.
2024-02-04 11:37:29 +02:00
iabdalkader
345b80358d ports/all: Refactor frame buffer line copying code. 2024-02-03 09:07:02 +02:00
iabdalkader
db65ab81d8 ports/all: Refactor frame rate control. 2024-02-03 08:59:52 +02:00
Kwabena W. Agyeman
b5d9bbca30 ports: Move first_line and drop_frame to sensor.c. 2024-02-01 17:57:25 -08:00
iabdalkader
d478f19326 ports/all: Allow sensor_abort() to be called from different contexts.
This patch removes the duplicated `sensor_abort()` logic in the stm32 and mimxrt ports.
This is done by adding a `flush_fifo` argument, which controls the flush operation, and
a `in_irq` argument , which indicates whether `sensor_abort()` is called from within an
IRQ context or not.
2024-01-26 19:42:48 +02:00
iabdalkader
9999e0a9ea imlib: Combine framebuffer reset and flush.
To simplify the API, a single function is now used to flush old
frames only, or reset and drop all frames.
2024-01-26 09:05:45 +02:00
Kwabena W. Agyeman
00500ccdef modules/sensor: Disable transpose for YUV422 images. 2024-01-12 18:51:27 -08:00
Ibrahim Abdelkader
9b5b2476c4
Merge pull request #1938 from kwagyeman/kwabena/sensor_full_control
sensors: Add full control.
2023-10-04 20:26:09 +03:00
Kwabena W. Agyeman
3fde9542a8 sensors: Add stubs for controlling sensor blc. 2023-10-03 14:18:06 -07:00
iabdalkader
ae327c186d sensors: Support scanning multiple devices on the camera bus.
To support boards that have multiple devices on the camera bus,
the scan now uses a list to return all detected addresses, and
it will check them all for a valid sensor.
2023-09-27 19:00:40 +02:00
luzpaz
971f14daab misc: Fix typos in src/omw subdirectory
Found via `codespell -q 3 -S "*.pgm,*.ppm,./src/hal,./src/drivers" -L als,dout,erro,extint,hsi,inout,ois,paeth,re-use,ser,serie`
2023-09-16 17:01:42 +00:00
Kwabena W. Agyeman
16c9faa179 sensors: Allow disabling settling time delays. 2023-09-10 18:47:57 -07:00
iabdalkader
35ed56310d misc: Format code. 2023-07-02 21:49:23 +02:00
iabdalkader
e7b5a3f7e0 ports/all: Refactor cambus code.
* Rename cambus to omv_i2c for consistency with other HALs.
* Rename sensor I2C handle from bus to i2c_bus to allow adding
another handle (ex spi_bus).
2023-06-10 22:00:56 +02:00
iabdalkader
a1724d90dd ports/stm32: Refactor all GPIO pin definitions. 2023-06-10 17:19:12 +02:00
iabdalkader
cc9ed3a477 sensors: Add support for HIMAX HM0360. 2022-06-02 21:30:40 +02:00
Kwabena W. Agyeman
87c3ac5d95 sensors/mt9v0xx: Add support for color MT9V0xx sensors. 2022-05-29 18:26:58 -07:00
iabdalkader
2960a803cb sensors/cambus: Support returning multiple devices from scan. 2022-03-12 00:04:11 +02:00
Kwabena W. Agyeman
b57db1d8e8 Add support for the Portenta for the OV5640 2022-01-16 15:37:08 -08:00
Kwabena W. Agyeman
84f53d01bb Update MT driver to support the 22/24/32/34 2022-01-02 13:54:17 -08:00
iabdalkader
a86369477b Portenta: Set default sensor clock to 12MHz.
* Support detecting MT9V034.
* Add Himax specific clock.
2021-10-28 20:38:03 +02:00
Kwabena W. Agyeman
7f84ce5010 Add frogeye sensor driver 2021-10-16 12:10:00 -07:00
Kwabena W. Agyeman
bf447e5599 Add yuv image processing support 2021-09-19 09:42:28 -07:00
Ibrahim Abd Elkader
d5ad043c30
Advanced pixel formats. (#1448)
* Advanced pixel formats.

* Use a new pixel format that encodes flags, id and bpp in the pixel format itself.

* Fixes for review comments.
2021-09-09 13:34:31 +02:00
iabdalkader
c28958e04e Replace sensor flags with bit fields.
* Much easier to manipulate and saves some memory.
2021-09-04 22:04:31 +02:00
iabdalkader
83c0ee97ce Fix set_framerate. 2021-08-24 23:00:46 +02:00
iabdalkader
ad96d3e68d Enable text compression and fix all exception issues. 2021-08-11 16:24:45 +02:00
iabdalkader
c6d0ec9d25 Fix sensor.read_reg 2021-08-06 17:45:24 +02:00
iabdalkader
af1772a2ac Add cambus_enable function. 2021-07-31 21:48:23 +02:00
iabdalkader
5ed5671423 Allow sensor_utils probe_init to take bus id/speed args. 2021-07-15 20:59:58 +02:00
iabdalkader
0491a6a884 Add sensor error codes. 2021-07-01 20:51:42 +02:00
iabdalkader
a700397b07 Move common image sensor driver code to a common file.
* Provide image sensor driver utility functions that can be used by all ports.
* Provide default (weak) functions that can be replaced by port-specific drivers.
2021-06-29 21:37:05 +02:00