Commit Graph

3990 Commits

Author SHA1 Message Date
Kwabena W. Agyeman
1f87b5bb60 imlib: Update draw_image alpha to 0-255 from 0-256. 2024-11-06 19:54:56 -08:00
Kwabena W. Agyeman
9289891ca0 imlib/bayer: Fix debayer bound predication. 2024-11-06 18:41:35 -08:00
Ibrahim Abdelkader
bc91292a74
Merge pull request #2484 from openmv/bootloader_xn_fix
Some checks failed
🔎 Check Code Formatting / formatting-check (push) Has been cancelled
🔥 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 (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_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
bootloader: Set first partition's region as executable.
2024-11-05 21:33:51 +02:00
iabdalkader
0bcef07794 bootloader: Set first partition's region as executable.
If the first partition has a valid leave region, leave it
as executable as it's typically used for the bootloader
itself.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-11-05 20:29:15 +01:00
iabdalkader
62eb0737f7 boards/RPI_PICO: Fix build. 2024-11-05 20:28:41 +01:00
iabdalkader
38c439fa93 ports/stm32: Check if FFS region is defined. 2024-11-05 18:33:36 +01:00
iabdalkader
0101bcbf24 bootloader: Misc fixes and updates.
- Add XSPI driver.
- Add common MPU driver.
- Add basic N6 support.
- Add support for XIP partitions.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-11-05 18:25:25 +01:00
iabdalkader
b5a9b2e2bc hal/stm32: Clean up system file. 2024-11-03 19:23:11 +01:00
iabdalkader
9cc1df5cd3 ports/stm32: Format Makefile. 2024-11-03 13:52:54 +01:00
iabdalkader
9141b3cdc4 bootloader: Rename old stm32 files. 2024-11-03 13:52:28 +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
94ab4ea9fb bootloader: Fix string descriptor index. 2024-11-03 13:25:37 +01:00
iabdalkader
f63f40a8f5 bootloader: Clean up board Make flags. 2024-11-03 12:08:08 +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
fc6e69c470 bootloader: Misc fixes.
- Fix string descriptos.
- Allow board to override port/speed.
- Cleanup clock config.
2024-11-01 16:14:06 +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
1fa02c100e bootloader: Misc fixes.
- Use HAL RCC macros.
- Allows boards to set a different base address than 0.
- Use main firmware address to jump.
2024-10-31 17:10:03 +01:00
Ibrahim Abdelkader
113e5100d0
Merge pull request #2472 from openmv/boot_files
bootloader: Clean up files.
2024-10-31 12:10:54 +03:00
iabdalkader
86abbc92f0 bootloader: Clean up files. 2024-10-31 09:59:42 +01:00
iabdalkader
cc1ae31843 bootloader: Add boot partition. 2024-10-31 08:35:45 +01:00
iabdalkader
5eaa9acc94 bootloader: Add common flash interface. 2024-10-30 21:36:02 +01:00
iabdalkader
38141c04f5 bootloader: Handle ticks wrap around.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-10-29 20:44:17 +01:00
iabdalkader
4e98babf6e micropython: Update submodule. 2024-10-29 20:00:33 +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
iabdalkader
ec84348195 lib: Add TinyUSB submodule. 2024-10-27 16:23:31 +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
8f6b11eb7f drivers/lsm6dsox: Update driver. 2024-10-16 08:41:01 +02: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
0d50560d25 lib/tflm: Add extra padding to arena size.
* Fixes an issue with certain models.
2024-10-09 21:02:51 +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
4fb0acdf9b drivers/vl53l5cx: Update driver and platform. 2024-10-01 18:00:03 +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
fa00c38780 drivers/genx320: Add Prophesee genx320 stm32f7 driver. 2024-09-22 16:58:40 -07:00
Kwabena W. Agyeman
7736b0a4cf common: Restore original 2bpp behavior for any framebuffer. 2024-09-22 16:57:40 -07:00
iabdalkader
88ee3bf830 lib/tflm: Update submodule. 2024-09-18 21:15:41 +02:00
Kwabena W. Agyeman
72a3439745 imlib/draw: Optimize set_pixel_aa. 2024-09-13 19:56:22 -07:00
Kwabena W. Agyeman
898038af55 micropython: Update documentation for v4.5.9. 2024-09-05 13:29:11 -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
iabdalkader
4ad64c4698 lib/tflm: Use GC's free memory for the temporary tensor arena.
On some boards, FB memory can become less than the available GC memory
for example with 3 frame buffers or a big frame. In this case the first
pass allocation (the one used to get the tensor arena's actual size)
can fail, even though GC has enough memory to allocate the arena.
This patch uses GC's free memory in the first pass to get the arena
size.
2024-09-03 19:32:21 +02:00
iabdalkader
c39e7740c4 micropython: Update submodule.
* Fix libmetal's rules.
* Revert gc max_size.
2024-09-03 08:52:34 +02:00
iabdalkader
0138cdf403 misc: Move Haar cascades. 2024-09-01 18:57:19 +02:00
iabdalkader
1d63716872 misc: Move Haar cascades. 2024-09-01 18:35:36 +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
fdc8a07a33 micropython: Update submodule.
* Revert optimization levels.
* Allow boards to update TinyUSB CDC buffer sizes.
* Fix libmetal's build rule.
* Fix gc's max_free size.
2024-08-31 11:53:13 +02: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
f03c2658e7 drivers: Optimize IMU drivers for size.
Those don't need to be fast.
2024-08-30 20:18:36 +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
Ibrahim Abdelkader
00f71413b7
Merge pull request #2391 from openmv/makefile_update
misc/Makefile: Remove uninitialized flag.
2024-08-28 14:44:31 +03:00
iabdalkader
e727de1408 misc/Makefile: Remove uninitialized flag. 2024-08-28 13:28:37 +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
83804c9444 github/workflows: Fix LLVM path. 2024-08-23 16:02:39 +03: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
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