Commit Graph

3016 Commits

Author SHA1 Message Date
iabdalkader
9cc1df5cd3 ports/stm32: Format Makefile. 2024-11-03 13:52:54 +01:00
iabdalkader
7edeb4fbee boards/PICO: Rename RPI Pico. 2024-11-03 13:50:17 +01:00
iabdalkader
9fa9897c8f ports/stm32: Rename old STM32 files. 2024-11-03 13:38:05 +01:00
iabdalkader
4cccfe5f80 ports/nrf: Clean up board Make flags. 2024-11-03 12:08:08 +01:00
iabdalkader
de6b54a2a5 ports/mimxrt: Clean up board Make flags. 2024-11-03 12:08:08 +01:00
iabdalkader
3e65b1cc4f boards/All: Clean up board Make flags. 2024-11-03 12:08:06 +01:00
iabdalkader
ac9a96809c ports/stm32: Clean up board Make flags. 2024-11-03 12:03:35 +01:00
iabdalkader
15f633c37c ports/all: Update Makefile variables. 2024-10-31 17:10:07 +01:00
iabdalkader
3193a19f42 boards/all: Update Makefile variables. 2024-10-31 17:10:07 +01:00
iabdalkader
eda636e5dc ports/stm32: Update VTOR, main and boot addresses. 2024-10-31 17:10:07 +01:00
iabdalkader
f8bca9799e ports/stm32: Remove obsolete M4 firmware. 2024-10-31 17:10:07 +01:00
iabdalkader
cc1ae31843 bootloader: Add boot partition. 2024-10-31 08:35:45 +01:00
iabdalkader
af3ea774b6 ports/stm32: Delete legacy bootloader.
Replaced with the new DFU bootloader.
Farewell CDC boot ;(

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-10-29 20:00:33 +01:00
iabdalkader
c2e616aae3 boards/all: Switch to the new DFU bootloader. 2024-10-29 20:00:33 +01:00
iabdalkader
a03fc90d8c bootloader: Add new TinyUSB-based DFU bootloader.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-10-29 20:00:30 +01:00
Ibrahim Abdelkader
bddbbdec25
Merge pull request #2466 from openmv/update_micropython_1.24
micropython: Update to MicroPython 1.24.
2024-10-27 15:31:36 +03:00
iabdalkader
28d192ad3d micropython: Update to MicroPython 1.24. 2024-10-27 12:36:50 +01:00
rayanc
31d27cc686 sensors/ov5640: Fix PCLK calculation for setting correct exposure time. 2024-10-24 15:19:52 +02:00
iabdalkader
edff6d338e misc: Schedule TinyUSB task in VM node. 2024-10-23 16:56:06 +02:00
Kwabena W. Agyeman
3e99ef0ceb py_image: Add new depth palette. 2024-10-21 13:03:41 -07:00
iabdalkader
c722371837 modules/py_imu: Add support for LSM6DSM. 2024-10-16 08:27:48 +02:00
iabdalkader
f7c24d1b3d drivers/lsm6dsm: Add LSM6DSM driver. 2024-10-16 08:27:17 +02:00
iabdalkader
62708eb38b misc: refactor sensor drivers. 2024-10-13 10:35:27 +02:00
iabdalkader
d7732382fc modules: Remove ST header. 2024-10-11 20:45:11 +02:00
Ibrahim Abdelkader
92cb449bba
Merge pull request #2449 from openmv/imu_module
modules: Move IMU to generic modules.
2024-10-11 15:37:55 +03:00
iabdalkader
180e54630f boards/ARDUINO_NICLA_VISION: Update board config. 2024-10-11 14:33:18 +02:00
iabdalkader
d4b8f79e08 modules: Move IMU to generic modules. 2024-10-11 14:30:57 +02:00
iabdalkader
59a38a0d30 boards: Remove pro board. 2024-10-11 14:29:49 +02:00
iabdalkader
3dd5cc3b26 misc: Update licenses. 2024-10-04 20:55:40 +02:00
iabdalkader
da6bf6910a boards/all: Define AGAST as the default corner-detector. 2024-10-04 20:44:25 +02:00
iabdalkader
f245016a94 sensors: Add PAG7936 sensor driver. 2024-10-03 19:14:01 +02:00
iabdalkader
ae4e3a1fb5 modules/py_tof: Update ToF module. 2024-10-01 18:01:01 +02:00
iabdalkader
81a185e0d7 misc: Add a flag to ioctls to abort streaming.
* Not all ioctls require aborting the streaming.
2024-10-01 17:49:31 +02:00
iabdalkader
01590ea0cb boards/all: Update manifests. 2024-09-30 14:03:52 +02:00
Ibrahim Abdelkader
be45d673a9
Merge pull request #2428 from openmv/ioctl_rgb_stats
modules: Add RGB stats ioctl.
2024-09-28 23:31:16 +03:00
iabdalkader
0a5b1e9774 modules: Add RGB stats ioctl. 2024-09-28 22:24:44 +02:00
Ibrahim Abdelkader
e3885bfbda
Merge pull request #2194 from kwagyeman/kwabena/fix_set_pixel_aa
imlib/draw: Optimize set_pixel_aa.
2024-09-28 23:22:37 +03:00
Kwabena W. Agyeman
a3d32f26ee imlib: Add new evt dark/light LUTs. 2024-09-26 14:02:36 -07:00
Kwabena W. Agyeman
8d3eb90a06 sensors: Add genx320 driver. 2024-09-26 14:02:31 -07:00
Kwabena W. Agyeman
2586c60af2 sensors: Update chip_id to 4 bytes. 2024-09-26 13:59:56 -07:00
Kwabena W. Agyeman
7736b0a4cf common: Restore original 2bpp behavior for any framebuffer. 2024-09-22 16:57:40 -07:00
Kwabena W. Agyeman
72a3439745 imlib/draw: Optimize set_pixel_aa. 2024-09-13 19:56:22 -07:00
iabdalkader
0937bc8a05 misc/common: Support overriding the resolution table.
Fixes #2385
2024-09-04 21:14:29 +02:00
iabdalkader
ccda403500 misc: Bump firmware version. 2024-09-04 15:24:16 +02:00
iabdalkader
05d40bf497 boards/ARDUINO_NICLA_VISION: Compile user modules with -Os. 2024-09-04 10:08:56 +02:00
iabdalkader
85db1a229c modules: Use the default optimization level for all user C modules.
By appending the optimization level to modules CFLAGS. Note this
works because according to the man page: If you use multiple -O
options, with or without level numbers, the last such option is
the one that is effective.
2024-09-04 10:08:41 +02:00
Ibrahim Abdelkader
73a30f19db
Merge pull request #2401 from kwagyeman/kwabena/parameterize_apriltags
imlib/apriltag: Disable unused TAG families by default.
2024-09-01 11:41:04 +03:00
Kwabena W. Agyeman
c0d4759f85 imlib/apriltag: Switch apriltag object to attributes. 2024-08-31 21:19:37 -04:00
Kwabena W. Agyeman
effe12f2cc imlib/apriltag: Disable unused TAG families by default. 2024-08-31 04:04:50 -07:00
iabdalkader
6513276c1d scripts/libraries: Remove ble_advertising.
aioble should be used instead. There's an example for the temperature
using aioble.
2024-08-30 20:38:06 +02:00
iabdalkader
7259a33411 imlib/apriltag: Switch to libm's sin/cos. 2024-08-30 20:14:56 +02:00
iabdalkader
0f8b852356 ports/stm32: Fix CM4 boot memory. 2024-08-30 13:40:11 +02:00
iabdalkader
bf4e7e4513 modules/py_image: Fix implicit float conversion. 2024-08-28 13:20:41 +02:00
Kwabena W. Agyeman
13b68a3ee8 sensors/ov7725.c: Fix sensor bayer pattern. 2024-08-23 18:30:31 -07:00
Kwabena W. Agyeman
f9e79d1d7b imlib: Optimize debayering with Helium. 2024-08-23 18:00:24 -07:00
iabdalkader
13e6573c46 ports/all: Refactor sensor flags. 2024-08-23 15:36:31 +03:00
iabdalkader
436f226c6e misc: Add support for building specific imlib files with clang. 2024-08-21 11:39:30 +03:00
iabdalkader
ca48b8c262 misc/common: Fix profiling macro.
Now it can be called multiple times in the same function and
can be nested.
2024-08-17 22:02:37 +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
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
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
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
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
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
Kwabena W. Agyeman
5d7f52bf44 common: Change linker variable to uint32. 2024-07-31 14:35:46 -07: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
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
Kwabena W. Agyeman
b90b10dd1a modules/py_ml: Add uint16 support to match ndarrays. 2024-07-28 20:54:01 -07:00
Larry Bank
e54ed443cf imlib/jpegd: Fix for JPEG decoder boundary problem. 2024-07-26 12:03:04 -07:00
Kwabena W. Agyeman
1915bf2657 modules/py_image: Update all lineops to use the draw_image backend. 2024-07-25 11:43:19 -07:00
iabdalkader
6beb16d3a8 boards/OPENMV3: Revert imlib config. 2024-07-25 12:32:45 +03:00
iabdalkader
27e308fadc misc: dummy commit. 2024-07-25 03:12:27 +03:00
iabdalkader
d7042349b5 tools/tflite2c: Support converting Vela models on the fly. 2024-07-23 10:40:39 +03:00
iabdalkader
2d6bc18e9b misc/common: Reserve JPEG buffer only if defined. 2024-07-22 11:03:19 +03:00