Commit Graph

537 Commits

Author SHA1 Message Date
iabdalkader
345b80358d ports/all: Refactor frame buffer line copying code. 2024-02-03 09:07:02 +02:00
Ibrahim Abdelkader
27161405b4
Merge pull request #2129 from openmv/nrf_sensor_format
misc: Code formatting.
2024-02-03 09:03:47 +02:00
iabdalkader
ae54a50663 misc: Code formatting. 2024-02-03 09:01:04 +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
Kwabena W. Agyeman
018f2eaed1 ports: Move copy_transposed_line to sensor.h. 2024-02-01 17:40:23 -08:00
iabdalkader
cec66374fb ports/stm32: Scan devices once per scan.
This saves boot time and also fixes an issue with some image
sensors.
2024-01-31 22:15:24 +02:00
Ibrahim Abdelkader
a3be7d6fa8
Merge pull request #2088 from kwagyeman/kwabena/fix_bayer
ports: Fix sensor bayer image with cropping and transpose.
2024-01-27 11:16:59 +02: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
Ibrahim Abdelkader
609a882c68
Merge pull request #2114 from kwagyeman/kwabena/fix_comment
ports: Fix sensor abstraction layer comment.
2024-01-26 08:40:19 +02:00
Kwabena W. Agyeman
91250fba30 ports: Fix sensor abstraction layer comment. 2024-01-25 12:56:15 -08:00
Kwabena W. Agyeman
78a0d03ab3 port/mimxrt: Add sensor.JPEG support. 2024-01-24 18:44:56 -08:00
Kwabena W. Agyeman
6d640d8a9a ports/mimxrt: Fix mimxrt sensor.set_windowing(). 2024-01-24 18:44:56 -08:00
Kwabena W. Agyeman
391c1752f6 ports/mimxrt: Add frame_callback support. 2024-01-24 16:58:11 -08:00
Kwabena W. Agyeman
b4a57ffca2 ports/mimxrt: Add set_framerate support. 2024-01-24 16:58:11 -08:00
Kwabena W. Agyeman
ab7f4323fa sensors/paj6100: Fix driver for RT1062. 2024-01-23 17:20:34 -08:00
Kwabena W. Agyeman
29076f597e board/OPENMV_RT1060: Enable ISP Ops. 2024-01-23 12:31:03 -08:00
iabdalkader
f42fa85873 ports/all: Remove custom pendsv prototypes. 2024-01-20 10:18:47 +02:00
iabdalkader
8da2436c05 ports/all: Refactor PendSV code.
All ports use common PendSV code now, with port-specific
PendSV entries defined in pendsv.h files.
2024-01-20 10:02:56 +02:00
iabdalkader
eec8640d7e misc: Use LD wrap for redirecting serial data to TinyUSB debug code.
Prior to this update, each port had to be patched to call TinyUSB
debugging function. Now these wrappers will call the port's functions
if debugging is not enabled.
2024-01-19 18:09:49 +02:00
Kwabena W. Agyeman
1f15790cb1 imlib/fmath: Fix compiling fast_expf. 2024-01-17 09:46:36 +02:00
Ibrahim Abdelkader
d0d234568d
Merge pull request #2094 from openmv/cmsis_update
ports/all: Update to CMSIS version 5.9.0.
2024-01-16 19:56:26 +02:00
iabdalkader
9ac8540ed3 ports/all: Update code to support new CMSIS. 2024-01-16 19:20:09 +02:00
Kwabena W. Agyeman
333fb2b5fe ports/stm32: Error on jpeg geometry mismatch. 2024-01-14 23:30:22 -08:00
Kwabena W. Agyeman
c1eeaefd6a ports: Add yuv shift to match bayer shift. 2024-01-12 18:45:49 -08:00
Kwabena W. Agyeman
48d2f210ee ports: Fix sensor bayer image with cropping and transpose. 2024-01-12 18:09:48 -08:00
Kwabena W. Agyeman
d459e604eb imlib: Rename jpeg encoder file. 2024-01-12 12:40:18 -08:00
Kwabena W. Agyeman
469519bad2 imlib: Mainline hardware jpeg decoder. 2024-01-12 12:40:17 -08:00
iabdalkader
1c1cd5856c micropython: Update to MicroPython v1.22. 2024-01-03 11:09:33 +01:00
Ibrahim Abdelkader
61501d2580
Merge pull request #2055 from kwagyeman/kwabena/fix_cs_issue
ports: Don't deinit the SSEL pin on stm32 and mimxrt.
2023-12-26 19:22:28 +02:00
Kwabena W. Agyeman
e8c38d4fa7 ports/stm32: Move SSEL pin deinit to omv_spi.c module. 2023-12-24 12:21:02 -08:00
Kwabena W. Agyeman
4b37c0c82e ports/mimxrt: Service TinyUSB while waiting for sensor frames. 2023-12-23 09:04:33 -08:00
iabdalkader
1ae4d24882 ports/All: Add support for passing variables to manifest files.
- Pulled from upstream.
2023-12-03 10:22:26 +01:00
iabdalkader
c20ee4c272 ports/mimxrt: Add CAN support. 2023-12-03 09:47:24 +01:00
iabdalkader
7094a69401 ports/nrf: Refactor common boot code. 2023-11-29 16:04:16 +01:00
iabdalkader
d57086e1b7 ports/stm32: Refactor common boot code. 2023-11-29 16:04:16 +01:00
iabdalkader
c7457f11ed ports/rp2: Refactor common boot code. 2023-11-29 16:04:13 +01:00
iabdalkader
861ee0b9b2 ports/mimxrt: Refactor common boot code. 2023-11-26 17:33:22 +01:00
Ibrahim Abdelkader
64f5249610
Merge pull request #2022 from kwagyeman/kwabena/fix_imx_openmv_disk
ports/mimxrt: Add .openmv_disk file.
2023-11-25 16:36:52 +02:00
iabdalkader
88845c573e ports/nrf: Refactor arg parsing. 2023-11-25 15:13:54 +01:00
iabdalkader
22c6c1a74a ports/stm32/modules: Refactor arg parsing. 2023-11-25 15:13:54 +01:00
Kwabena W. Agyeman
9cbf6057b5 ports/mimxrt: Add .openmv_disk file. 2023-11-23 10:37:19 -05:00
Kwabena W. Agyeman
230fa1ca32 imlib: Add callback argument to draw_image. 2023-10-29 15:35:58 -07:00
Kwabena W. Agyeman
15c98c0762 imlib: Refactor imlib_draw_image_rect. 2023-10-29 15:28:22 -07:00
Ibrahim Abdelkader
fb9379e1e1
Merge pull request #1976 from openmv/ff_refactor
misc: Refactor file management code.
2023-10-29 11:57:26 +02:00
iabdalkader
6d4c4224a2 drivers/winc: Fix AP mode.
The `WEP` security mode has been deprecated since firmware 19.7.6
the only two supported modes now are open and WPA.
2023-10-27 22:18:45 +02:00
iabdalkader
b6cdf8de15 modules/py_winc: Make module more compatible with other WiFi modules. 2023-10-27 21:10:23 +02:00
iabdalkader
391ec443f6 modules/display: Add support for Python backlight controllers. 2023-10-27 12:14:46 +02:00
iabdalkader
ec40364ed4 ports/all: Add custom mpconfigport file. 2023-10-24 22:03:38 +02:00
iabdalkader
0a04368528 misc: Refactor file management code. 2023-10-15 17:51:35 +02:00
Kwabena W. Agyeman
bac362b47a ports/mimxrt: Add support for fsync pin to snapshot. 2023-10-13 10:39:26 -07:00
iabdalkader
02eb33995a ports/stm32: Fix display portrait mode. 2023-10-06 15:18:32 +02:00
Kwabena W. Agyeman
8c8f23b605 ports/stm32: Improve LCD display update interrupt code. 2023-10-05 16:56:27 -07:00
iabdalkader
99140040e2 ports/stm32: Call sensor MDMA handler if needed. 2023-10-04 20:51:41 +02:00
iabdalkader
5c1599c14e ports/stm32: Remove hardcoded MDMA channels.
MDMA channels can now be defined in board config files.
2023-10-04 20:51:36 +02: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
iabdalkader
65524162b2 ports/stm32: Fix DSI display timing. 2023-10-04 19:16:58 +02:00
Kwabena W. Agyeman
74ff2d28f4 sensors: Fix gain calculation math accuracy. 2023-10-03 14:18:17 -07:00
Kwabena W. Agyeman
63deacdd51 ports/stm32: Drop frames on transpose corruption. 2023-10-03 08:59:12 -07:00
iabdalkader
55dfec4f06 ports/stm32: Enable DSI display support. 2023-10-01 16:49:18 +02:00
iabdalkader
227824aaca micropython: Refactor all display related modules. 2023-10-01 16:49:18 +02:00
iabdalkader
43a4e5519e drivers: Add CEC driver. 2023-10-01 16:49:18 +02:00
Ibrahim Abdelkader
2e8d5d505d
Merge pull request #1936 from openmv/microspeech_fix
ports/stm32: Fix microspeech demo.
2023-09-25 14:13:22 +03:00
iabdalkader
0648071141 ports/stm32: Fix microspeech demo.
- Need to poll events to schedule the audio callback after switching
from pendsv.
- Fixes #1904
2023-09-25 12:38:13 +02:00
iabdalkader
13293d7416 ports/stm32: Misc fixes.
- Link user switch module.
- Add missing string header for debug builds.
2023-09-25 12:29:46 +02:00
Kwabena W. Agyeman
d7687260fe drivers: Update SPI code to not reconfigure bus dynamically. 2023-09-18 12:36:13 -07:00
Kwabena W. Agyeman
c37260df95 ports/mimxrt: Enable support for all py modules. 2023-09-16 22:24:49 -07:00
Kwabena W. Agyeman
4639b1eb2f drivers: Make all spi based py modules cross platform. 2023-09-16 13:24:24 -07:00
Kwabena W. Agyeman
e46776795b drivers: Upgrade SPI driver to support py drivers on all boards. 2023-09-16 13:21:33 -07: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
iabdalkader
081731abd0 micropython: Remove MICROPY_STREAMS_POSIX_API from board config files. 2023-09-15 15:03:59 +02:00
Kwabena W. Agyeman
ed3e4ee89c ports/imxrt/sensor: Fix sensor_set_xclk freq to accept any frequency. 2023-09-13 16:38:05 -07:00
Kwabena W. Agyeman
16c9faa179 sensors: Allow disabling settling time delays. 2023-09-10 18:47:57 -07:00
Kwabena W. Agyeman
a5066fd939 imlib: Fix int maybe breaking. 2023-09-01 19:27:55 -07:00
Ibrahim Abdelkader
8ffedbd1f7
Merge pull request #1901 from openmv/omvrt_1060_pinout
ports/mimxrt: Update port to support OPENMV_RT1060 REV2.
2023-08-23 12:19:05 +03:00
Ibrahim Abdelkader
22bf517587
Merge pull request #1906 from kwagyeman/kwabena/fix_sd_card_detect
boards/OPENMV_RT1060: Fix SD Card Detection on power-on.
2023-08-23 12:10:06 +03:00
Kwabena W. Agyeman
3accc5a306 ports/mimxrt: Add rtc alarm/wakeup functionality. 2023-08-20 14:18:30 +02:00
Kai
b4ec242949
ports/imxrt: Fix compile error when disabling sdram. 2023-08-12 18:51:55 +08:00
Kwabena W. Agyeman
bd11076b87 boards/OPENMV_RT1060: Fix SD Card Detection on power-on. 2023-08-02 16:18:07 -07:00
iabdalkader
26bd27bdbb misc: Rename common header. 2023-07-04 12:53:23 +02:00
iabdalkader
0195473235 ports/stm32: Refactor I2C bus definitions. 2023-07-03 18:35:14 +02:00
iabdalkader
35ed56310d misc: Format code. 2023-07-02 21:49:23 +02:00
iabdalkader
d3840037d4 misc: Disable formatting for auto-generated files and some types. 2023-07-02 16:42:15 +02:00
iabdalkader
a7033e1b3a ports/mimxrt: Add MIMXRT OMV port. 2023-06-28 22:53:03 +02:00
iabdalkader
8c34e2b713 ports/stm32: Call gc_sweep before deinitializing networking drivers.
* Move GC before any deinitializing any drivers as some of them
still need IRQs to clean up.
2023-06-28 17:17:27 +02:00
iabdalkader
e5b3604bd6 ports/stm32: Link CYW43 BTHCI.
* The default/weak bthci was used.
2023-06-27 21:37:57 +02:00
iabdalkader
7e355bca88 ports/stm32: Share GPIO IRQ descriptor with other ports.
* Move GPIO IRQ descriptor to common HAL to share it with other ports,
and reduce the default descriptor size, while allow ports to add bits.
2023-06-27 18:01:17 +02:00
iabdalkader
b27aed8138 ports/stm32: Fix SPI HAL DMA/blocking transfers. 2023-06-24 21:12:20 +02:00
iabdalkader
cd9bac9558 ports/stm32: Switch IMU module to the new SPI HAL. 2023-06-17 23:10:17 +02:00
iabdalkader
f68f6d70e4 sensors/lepton: Use new VOSPI/SPI HAL.
* This change makes lepton sensor driver completely generic,
by moving all of the VOSPI code to vospi.c, which in turn
uses the new OMV SPI HAL.
2023-06-17 19:21:34 +02:00
iabdalkader
28f808f54f hal/omv: Add SPI HAL. 2023-06-17 17:52:49 +02:00
iabdalkader
67cd9727db ports/stm32: Add DMA utils. 2023-06-17 13:25:29 +02:00
iabdalkader
6975a6c11c ports/stm32: Refactor CEC module to use new GPIO HAL. 2023-06-10 22:31:45 +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
13bc0fa66d hal: Add GPIO abstraction layer. 2023-06-10 17:19:08 +02:00
iabdalkader
275ce67269 ports/nrf: Fix sensor readout.
* D0 & D1 are swapped on ML kit.
2023-05-25 15:39:03 +02:00
iabdalkader
b01582eff4 ports/rp2: Add missing license header to cambus.c 2023-05-19 18:37:49 +02:00
iabdalkader
9cc17743e6 micropython: Update all types to use the new type definition. 2023-05-07 13:18:35 +02:00
iabdalkader
b2ef6e7b9f micropython: Update micropython to 1.20.0. 2023-05-07 13:18:31 +02:00
iabdalkader
4f0e3d4ac9 ports/stm32: Switch to the open-source cyw43 driver. 2023-05-07 12:42:29 +02:00
Kwabena W. Agyeman
0e0326ffab imlib: Add support for AWB and CCM. 2023-04-26 11:19:35 -07:00
iabdalkader
2d46e31e8a ports/stm32: Improve script execution and exceptions handling. 2023-04-07 17:35:05 +02:00
iabdalkader
a9e52acdf1 ports/rp2: Improve script execution and exception handling. 2023-04-07 17:34:56 +02:00
iabdalkader
edcdd634f9 ports/nrf: Improve script execution and exception handling. 2023-04-07 17:34:50 +02:00
iabdalkader
aa6685283d ports/All: Switch to using board pendsv entries. 2023-04-07 12:38:33 +02:00
iabdalkader
d705684957 ports/stm32: Use static scheduler nodes for Audio module. 2023-04-07 12:15:18 +02:00
iabdalkader
dafc47bcde ports/rp2: Use static scheduler nodes for Audio module. 2023-04-07 12:15:18 +02:00
iabdalkader
ea21ffedc0 ports/nrf: Use static scheduler nodes for Audio module. 2023-04-07 12:15:16 +02:00
iabdalkader
46fb0da0fe ports/stm32: Rename FB alloc overlay size macro. 2023-03-15 12:58:41 +01:00
iabdalkader
9086dd8911 drivers/winc1500: Set NIC to NULL on closing sockets.
* Just in case user code calls functions on closed socket.
2023-02-21 16:19:02 +01:00
iabdalkader
36a5a96c50 drivers/winc1500: Keep listening socket open on accept timeout. 2023-02-19 19:28:34 +01:00
Ibrahim Abdelkader
58235761c7
Merge pull request #1772 from kwagyeman/kwabena/add_byte_reversal_support
ports/stm32: Add byte reversal support to lcd screen.
2023-02-15 18:56:32 +02:00
Kwabena W. Agyeman
39ba1a7f50 ports/stm32: Clock finds frequency under requested. 2023-02-12 13:48:25 -08:00
iabdalkader
3aece7acf6 ports/stm32: Fix DCMI pins deinit.
* DCMI pins were deinitialized with the DCMI.
2023-01-27 22:44:25 +02:00
Kwabena W. Agyeman
e68d002bb7 ports/stm32: Add byte reversal support to lcd screen. 2023-01-22 17:50:13 -08:00
Ibrahim Abdelkader
aa355b8c5c
Merge pull request #1768 from openmv/winc_nonblocking
drivers/WINC1500: Return a non-blocking error on socket timeout.
2023-01-19 17:59:48 +02:00
iabdalkader
1dc4bea880 drivers/WINC1500: Return a non-blocking error on socket timeout.
* Return a non-blocking error to MicroPython on socket timeouts,
so the socket doesn't get closed.
2023-01-19 17:41:35 +02:00
iabdalkader
01bc27705a ports/stm32: Call GC sweep first before deinitializing SPI.
* WINC1500 needs SPI active to close sockets, when socket_close
is called from the socket finalizer, which is called from gc_sweep.
2023-01-19 17:38:58 +02:00
iabdalkader
86f1f6e905 ports/stm32: Add memory region for CM4. 2022-12-11 17:47:07 +01:00
iabdalkader
df618ffb02 boards/NICLAV: Make MicroSpeech work on Nicla Vision.
* Add example for Nicla Vision.
* Update example comment.
* Fixes #1756
2022-12-04 20:34:42 +01:00
iabdalkader
c350ad1c94 ports/nrf: Minor fix for mpremote softreboot.
* Print missing soft reboot string.
2022-11-14 19:41:29 +01:00
iabdalkader
9052df5ef9 ports/stm32: Fix HAL MSP deinit functions. 2022-11-11 20:24:31 +01:00
iabdalkader
a1f6e04d23 imlib: Fix possible signed/unsigned comparisons issues. 2022-10-16 15:08:43 +02:00
iabdalkader
7c2176af2e ports/stm32: Re-initialize IMU after every soft-reset.
* Fixes #1734.
* On soft-reset all SPI instance are deinitialized, if IMU SPI bus
is enabled in MicroPython it needs to be reinitialized.
2022-09-30 21:31:45 +02:00
iabdalkader
26c6099443 misc: Fix debug_printf.
* Fixes #1707.
2022-09-26 18:23:17 +02:00
iabdalkader
ddf01cb09b ports/rp2: Switch to upstream Nina driver and module. 2022-09-26 18:16:46 +02:00
iabdalkader
238ab38ddc ports/nrf: Switch to the new tinyusb debugger. 2022-09-26 18:16:46 +02:00
iabdalkader
1d339cc355 ports/rp2: Switch to the new tinyusb debugger. 2022-09-26 18:16:46 +02:00
iabdalkader
1e18ecb256 micropython: Update all modules to use new MP_REGISTER_MODULE. 2022-09-26 18:16:46 +02:00
iabdalkader
8542c9c882 ports/stm32: Support the new flash storage configuration. 2022-09-26 18:16:46 +02:00
iabdalkader
f6dc340ee8 drivers/winc1500: Update micropython module. 2022-09-26 18:16:46 +02:00
iabdalkader
5b10953d47 micropython: Update to MicroPython 1-19. 2022-09-26 18:16:44 +02:00
iabdalkader
2ebcfc600c micropython: Update ulab to 5.1.1.
* Fixes #1697.
2022-09-26 17:37:01 +02:00
Kwabena W. Agyeman
7e52cf7511 imlib: Add error note about vflip on lcd display. 2022-09-25 19:41:57 -07:00
iabdalkader
5aa23dc570 uvc: Link dma_alloc allocator. 2022-09-08 19:54:35 +02:00
iabdalkader
f7b1b30bc6 bootloader: Fix bootloader FS mode.
* Enable VBUS sensing.
* Disable USB OTG ID pin configuration.
2022-09-04 12:56:21 +02:00
iabdalkader
4591e7cef8 ports/stm32: Add support for LSM6DS3 I2C mode. 2022-08-28 18:41:17 +02:00
iabdalkader
3352c20525 ports/stm32: Add CYW43 firmware blob to text section.
* If no special memory is defined for CYW43's firmware, add it
to the main firmware text section.
2022-08-26 18:24:20 +02:00
iabdalkader
31e2fff469 boards: Move bootloader config to new files. 2022-08-14 09:18:04 +02:00
iabdalkader
7d79afac58 sensors/cambus: Add support for ToF I2C. 2022-08-12 23:25:25 +02:00
iabdalkader
3193163a3e boards: Make bootloader USB speed configurable. 2022-08-10 20:06:30 +02:00
iabdalkader
2f34ee486b ports/stm32: Disable lwip dispatch first before deinit. 2022-07-10 18:57:06 +02:00
iabdalkader
5c4ed47c8b ports/stm32: Disable Soft-I2C if not configured for a board. 2022-07-10 17:37:34 +02:00
iabdalkader
ba718aad71 ports/stm32: Disable sensor external clock if frequency is set to 0. 2022-06-28 12:23:16 +02:00
Kwabena W. Agyeman
ac202ab854 imlib: Add Support for Stereo Disparity for the Arduino Portenta. 2022-06-13 21:31:33 -07:00
iabdalkader
cc9ed3a477 sensors: Add support for HIMAX HM0360. 2022-06-02 21:30:40 +02:00
iabdalkader
a4b76d12cb ports/stm32: Check EXTI GPIO source before clearing VSYNC IRQ. 2022-06-02 12:58:36 +02:00
Ibrahim Abdelkader
e0529b5c26
Merge pull request #1657 from openmv/exti_rename
boards/ALL: Rename VSYNC EXTI config.
2022-06-02 12:52:15 +02:00