Commit Graph

3848 Commits

Author SHA1 Message Date
Ibrahim Abdelkader
bad9342552
Merge pull request #2377 from openmv/tflite_vela_update
tools/tflite2c: Set Vela optimization per model.
2024-08-17 18:55:49 +03:00
iabdalkader
4e3ec807f2 tools/tflite2c: Set Vela optimization per model. 2024-08-17 18:37:34 +03:00
iabdalkader
7b36e4ef67 imlib: Fix automatic vbuffer count.
Before this patch, a 1.5MB framebuffer used a single vbuffer for VGA
and smaller resolutions, causing the sensor driver to restart with
every snapshot. With this patch, a 1.5MB frame buffer uses 2 vbuffers
for VGA/RGB and 3 vbuffers for VGA/grayscale **by default**.
In the case of 2 vbuffers, it should leave the rest for `fb_alloc`, so
`fb_alloc` still gets some extra space, but only if there's any left.

`set_buffers` now replaces `auto_adjust`. Passing `-1` to `set_buffers`
will attempt to use 3 vbuffers, each with a size of `frame_size` if
they fit; otherwise, the maximum possible buffers will be used.
Passing `1` will use the whole framebuffer. In this case, `frame_size`
is ignored. Additionally, `set_buffers` is now more efficient with buffer
sizes. For example, if the source is 1bpp (Bayer) and the destination is
1bpp (grayscale or Bayer), the vbuffer size will be `w*h`, instead of
assuming that everything is 2bpp, which allows for more vbuffers.
2024-08-15 17:26:00 +03:00
iabdalkader
25756429e0 micropython: Update submodule.
Sync upstream Open-AMP changes.
2024-08-14 11:24:25 +03:00
iabdalkader
bcef3e7156 micropython: Update submodule.
Open-AMP fixes from upstream.
2024-08-13 12:00:35 +03:00
iabdalkader
d1a20fb89d misc/common: Implement usb_cdc_reset_buffers for TinyUSB. 2024-08-12 23:19:18 +03:00
iabdalkader
a11635b03b misc/common: Fix usb_cdc_reset_buffers prototype. 2024-08-12 23:18:59 +03:00
iabdalkader
b2aa7db192 micropython: Update submodule.
Fix CDC debug buffer issue.
2024-08-12 23:17:26 +03:00
iabdalkader
c5e4297bef common/usbdbg: Revert changes to usbdbg/framebuffer.
This reverts commit afcd12cb6a.
2024-08-12 22:19:49 +03:00
iabdalkader
bf2e22614b boards/OPENMV4P: Set HW crop flag.
This should have been enabled in 51e6fd2912.
2024-08-12 17:25:41 +03:00
iabdalkader
bbc48aa0b2 drivers/dave2d: Add license file. 2024-08-07 20:17:22 +03:00
iabdalkader
da4c686dc3 sensors/ov7725: Set bayer format. 2024-08-06 17:43:41 +03:00
iabdalkader
b93b43f506 imlib: Fix raw framebuffer size. 2024-08-06 17:42:01 +03:00
iabdalkader
6508282562 misc/sensor: Add RAW flag.
For sensors that only support bayer output.
2024-08-06 17:35:52 +03:00
Kwabena W. Agyeman
afcd12cb6a common/usbdbg: Enable RAW binary mode streaming. 2024-08-05 18:43:24 -07:00
Kwabena W. Agyeman
6e705114f1 imlib/framebuffer: Fix RAW streaming call to draw_image. 2024-08-05 18:43:23 -07:00
Kwabena W. Agyeman
50639050fb imlib/draw: Move bilinear offset after GPU call. 2024-08-05 14:20:47 -07:00
iabdalkader
18bc05d132 imlib: Add support for sending raw preview frames.
This allows boards that don't have a hardware JPEG encoder, but
do have fast scaling, to bypass JPEG encoding and send down-scaled
raw frames. The raw preview frames are capped at a configurable max,
but should not exceed ~60KBs.
2024-08-05 17:53:19 +03:00
iabdalkader
dbe6ae9f18 misc/linker: Update linker script variables.
* Add start/end to JPEG buffer. This allows board config files to
define them using linker script syntax (K, M etc..).
* Rename variables more consistently.
2024-08-05 16:23:34 +03:00
iabdalkader
dfd62f4606 imlib/jpeg: Minor clean-up.
Remove STORECODE macro and just use write_bits. This has absolutely
no effect on performance, but makes the code easier read.
2024-08-04 17:17:44 +03:00
iabdalkader
529fc489b4 misc/common: Fix profile macro. 2024-08-04 15:14:39 +03:00
iabdalkader
aad37c9c85 misc/common: Add arg to profile macro.
This way it can be called multiple times in the same function.
2024-08-04 12:55:47 +03:00
iabdalkader
a096b149ea misc/common: Add timing macros.
Those can be used for timing functions. To enable build with PROFILE=1.
2024-08-03 19:35:49 +03:00
iabdalkader
bc34796b26 micropython: Update submodule. 2024-08-03 11:56:53 +03:00
iabdalkader
ead787a2e5 micropython: Update submodule. 2024-08-03 10:46:28 +03:00
iabdalkader
8b7bb8bdb6 boards/all: Remove USB packet size define. 2024-08-03 10:46:28 +03:00
iabdalkader
d34a2eae55 ports/wifidbg: Update WiFi debug code.
Note this feature will be replaced soon.
2024-08-03 10:46:28 +03:00
iabdalkader
f306d07b03 misc/usbdbg: Add CDC read/write callbacks.
These callbacks allow the debug code to read/write directly from
the stack, if possible, to avoid the extra memcpy.
2024-08-03 10:46:26 +03:00
Ibrahim Abdelkader
6b1308fcc5
Merge pull request #2342 from openmv/stm32_boot_uvc
ports/stm32: Move stm32-specific bootloader and uvc to port dir.
2024-08-01 21:05:32 +02:00
iabdalkader
9a3a8c4eb2 ports/stm32: Move stm32-specific bootloader and uvc to port dir.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-08-01 21:58:50 +03:00
iabdalkader
2de29c369b drivers/dave2d: Fix video memory bug. 2024-08-01 21:40:45 +03:00
Ibrahim Abdelkader
a5421c661b
Merge pull request #2339 from kwagyeman/kwabena/fix_mpu_uint32
common: Change linker variable to uint32.
2024-07-31 23:49:37 +02:00
Kwabena W. Agyeman
5d7f52bf44 common: Change linker variable to uint32. 2024-07-31 14:35:46 -07:00
iabdalkader
c1b20c2f7b drivers/dave2d: Remove license for now.
Apparently this is the wrong license, will update when I have
the right one.
2024-07-31 22:56:40 +03:00
Ibrahim Abdelkader
1fa077ffbe
Merge pull request #2334 from openmv/add_dave2d_driver
drivers/dave2d: Add D/AVE 2D GPU driver.
2024-07-31 20:05:06 +02:00
iabdalkader
20896add5b drivers/dave2d: Add D/AVE 2D GPU driver. 2024-07-31 21:01:48 +03:00
iabdalkader
d6b3b5a02f imlib: Fix framebuffer_get_buffer_size().
If the frame size is set, the memory for each buffer can be reduced,
freeing up space for fb_alloc(). However this can only be done if
the camera interface supports hardware cropping, i.e., the actual
frame size will match the specified window size, otherwise the
frame buffer size needs to stay the same.
2024-07-31 20:22:22 +03:00
iabdalkader
51e6fd2912 boards/All: Set hardware cropping flag for all st/nxp boards. 2024-07-31 20:15:14 +03:00
iabdalkader
14fbe44d4a misc: Bump firmware version. 2024-07-31 20:09:18 +03:00
Ibrahim Abdelkader
7a90254aac
Merge pull request #2329 from kwagyeman/kwabena/add_uint16_support
modules/py_ml: Add uint16 support to match ndarrays.
2024-07-31 18:56:43 +02:00
iabdalkader
ab62a038bf micropython: Update submodule. 2024-07-31 17:41:47 +03:00
iabdalkader
8b9a9aeafc misc: Bump firmware version. 2024-07-31 12:09:39 +03:00
Kwabena W. Agyeman
d48832c77c ports/stm32: Fix MPU region protection bug. 2024-07-30 22:35:12 -07:00
Ibrahim Abdelkader
51511ecb10
Merge pull request #2189 from kwagyeman/kwabena/line_op_update
modules/py_image: Update all lineops to use the draw_image backend.
2024-07-30 19:01:16 +02:00
Ibrahim Abdelkader
d2b9b57b47
Merge pull request #2332 from kwagyeman/kwabena/add_model_address
modules/py_ml: print model address location too.
2024-07-30 15:34:23 +02:00
Kwabena W Agyeman
4dbc7dc2fe
imlib/draw: Refactor draw_image to support gpu offload. (#2328)
* imlib/draw: Refactor draw_image to support gpu offload.

* misc/common: Fix GPU deinit.

---------

Co-authored-by: Ibrahim Abdelkader <i.abdalkader@gmail.com>
2024-07-30 09:38:42 +02:00
Kwabena W. Agyeman
9811006ca6 modules/py_ml: print model address location too. 2024-07-29 12:57:11 -07:00
Ibrahim Abdelkader
8f81c2f328
Merge pull request #2330 from kwagyeman/kwabena/add_pag7920
modules/py_sensor: Add missing PAG7920 enum.
2024-07-29 18:23:09 +02:00
iabdalkader
ac1e0a2663 misc/common: Add GPU memory section to common ld. 2024-07-29 10:50:05 +03:00
Kwabena W. Agyeman
cb1f63a95e modules/py_sensor: Add missing PAG7920 enum. 2024-07-28 21:00:54 -07:00