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
iabdalkader
f9cbe170eb
misc/common: Add nosys stubs.
2024-07-22 10:43:06 +03:00
iabdalkader
574fc72c35
misc: Bump firmware version.
2024-07-20 11:13:43 +03:00
Kwabena W Agyeman
b7800f1c8b
misc: Add back original licenses. ( #2298 )
...
misc: Add back original licenses.
2024-07-20 09:28:22 +02:00
Ibrahim Abdelkader
5df4e84699
Merge pull request #2293 from kwagyeman/kwabena/pack_unpack_2
...
modules/py_ml: Make predict output a numpy array.
2024-07-19 18:17:19 +02:00
Ibrahim Abdelkader
f922b76ae3
Merge pull request #2228 from kwagyeman/kwabena/fix_missing_invalidates
...
imlib/draw: Add missing speculative read invalidates.
2024-07-19 18:15:34 +02:00
iabdalkader
02888706c0
boards/ARDUINO_PORTENTA_H7: Enable Open-AMP.
2024-07-19 12:29:33 +03:00
Ibrahim Abdelkader
4a036f6059
Merge pull request #2299 from openmv/common_ld_fix
...
misc: Update common linker script.
2024-07-19 10:17:07 +02:00
iabdalkader
75c75b50ee
misc: Update common linker script.
...
Align core and shm to 32.
2024-07-19 11:13:29 +03:00
Kwabena W. Agyeman
87e8cbba0e
modules/py_tv: Improve cache display update cache efficency.
2024-07-18 17:46:16 -07:00
Kwabena W. Agyeman
9848eed128
modules/py_image: Replace unpack with ndarray creation.
2024-07-18 16:36:16 -07:00
Kwabena W. Agyeman
8b38f38378
modules/py_ml: Make predict output a numpy array.
2024-07-18 16:36:16 -07:00
Kwabena W. Agyeman
6ce27c910a
boards: Enable 4 dims in ulab and disable haar cascades.
2024-07-18 16:36:16 -07:00
Ibrahim Abdelkader
e02bc63552
Merge pull request #2214 from kwagyeman/kwabena/update_morph
...
modules/py_image: Update morph() to use arg parse.
2024-07-19 00:40:46 +02:00
Kwabena W. Agyeman
919d3379d2
modules/py_image: Update morph() to use arg parse.
2024-07-18 12:27:10 -07:00
iabdalkader
17ff43d882
boards/ARDUINO_PORTENTA_H7: Set CYW43 Bluetooth firmware header.
2024-07-18 16:31:03 +03:00
iabdalkader
2a39d6690d
boards/ARDUINO_NICLA_VISION: Set CYW43 Bluetooth firmware header.
2024-07-18 16:31:03 +03:00
iabdalkader
368d8af133
boards/ARDUINO_GIGA: Set CYW43 Bluetooth firmware header.
2024-07-18 16:31:03 +03:00
iabdalkader
1600c3a15f
boards/ARDUINO_GIGA: Switch the CYW43 to firmware W4343WA1_45_98_102.
2024-07-18 16:31:03 +03:00
iabdalkader
269313c0ee
boards/ARDUINO_PORTENTA_H7: Switch the CYW43 to firmware W4343WA1_45_98_102.
2024-07-18 16:31:03 +03:00
iabdalkader
24db2052ca
boards/ARDUINO_NICLA_VISION: Switch the CYW43 to firmware W4343WA1_45_98_102.
2024-07-18 16:31:03 +03:00
Kwabena W. Agyeman
ddc1de8fb9
ports/stm32/jpeg: Add missing speculative read invalidates.
2024-07-16 13:49:14 -07:00
Kwabena W. Agyeman
4110022e5d
imlib/draw: Add missing speculative read invalidates.
2024-07-16 13:49:12 -07:00
iabdalkader
e6f4afd661
misc: Fix DMA memory alignment.
2024-07-16 23:02:09 +03:00
iabdalkader
3b197a770d
boards: Increase TinyUSB ring buffer size.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-07-16 14:33:48 +03:00
iabdalkader
3e61aa8933
misc/usbdbg: Increase text buffer size in GET_STATE.
2024-07-16 14:15:15 +03:00
Ibrahim Abdelkader
547859cb00
Merge pull request #2283 from kwagyeman/kwabena/fix_mlx90640
...
ports/mimxrt: Fix I2C for the MLX90640 driver.
2024-07-16 12:04:19 +02:00
Ibrahim Abdelkader
5b85cee97c
Merge pull request #2286 from openmv/ml_model_addr
...
modules/py_ml: Add tensor area memory address to model object.
2024-07-16 11:50:12 +02:00
iabdalkader
d66aaa8b35
modules/py_ml: Add tensor area memory address to model object.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-07-16 12:44:38 +03:00
Kwabena W. Agyeman
b7e0b40058
ports/mimxrt: Fix I2C for the MLX90640 driver.
2024-07-15 12:55:16 -07:00
Kwabena W. Agyeman
38d930ab65
sensors/hm0360: Enable HM0360 to work on GIGA.
2024-07-14 19:45:42 -07:00
Ibrahim Abdelkader
357b6f9b07
modules/py_ml: Fix model kwargs. ( #2280 )
...
* modules/py_ml: Fix model kwargs.
2024-07-14 23:44:37 +02:00
Kwabena W. Agyeman
d24d2136ea
modules/py_ml: Fully vectorize all input and output scaling/datatypes.
2024-07-13 11:33:09 -07:00
Ibrahim Abdelkader
e9a6cbac34
Merge pull request #2263 from kwagyeman/kwabena/fix_ml_scaling
...
modules/py_image: Change scale argument to (min,max) range.
2024-07-13 18:50:45 +02:00
Kwabena W. Agyeman
8b1b548ed2
scripts/examples: Add regression example.
2024-07-12 15:35:44 -07:00
Ibrahim Abdelkader
abe54df3e7
Merge pull request #2274 from openmv/ml_updates
...
modules/py_ml: ML updates and fix.
2024-07-12 23:40:55 +02:00
iabdalkader
4506682c2d
modules/py_ml: Save labels in model object.
2024-07-13 00:33:27 +03:00
iabdalkader
dd1474e22e
misc: Export common environment variables from top Makefile.
2024-07-12 23:06:32 +03:00
iabdalkader
0fbc6f114e
modules/py_ml: Fix ndarray ndims check.
2024-07-12 22:01:57 +03:00
Ibrahim Abdelkader
829bbc5cf8
Merge pull request #2264 from kwagyeman/kwabena/buffer_check
...
modules/py_image: Add buffer length sanity check.
2024-07-11 18:42:49 +02:00
Ibrahim Abdelkader
9a67079fd6
Merge pull request #2272 from openmv/tinyusb_debug
...
misc: Tinyusb debug updates.
2024-07-10 11:38:30 +02:00
Ibrahim Abdelkader
4aab0f1aa4
Merge pull request #2271 from kwagyeman/kwabena/fix_input_buffer_size
...
modules/py_ml: Fix the size of the input bytearray.
2024-07-10 11:38:20 +02:00
iabdalkader
9c1283c58e
ports/all: Wrap more CDC functions.
...
Just to ensure tud_task is not call by other code while debugging
is enabled.
2024-07-10 12:35:08 +03:00
iabdalkader
0a69b3df16
misc: Update TinyUSB debug code.
...
* Wrap-up more CDC functions. Note these were moved to common code
upstream, so in the future we'll only need to wrap one or two functions.
* Recover from text ringbuf overflow by resetting it.
* More efficient text ringbuf read/write.
2024-07-10 12:35:05 +03:00
Kwabena W. Agyeman
454fab7448
modules/py_ml: Fix the size of the input bytearray.
2024-07-09 22:19:15 -07:00
iabdalkader
2a3be63d41
misc: Fix malloc heap memory typo.
2024-07-10 00:20:01 +03:00
iabdalkader
0cef6239e0
misc/usbdbg: Add GET_STATE command.
...
The GET_STATE command is a command that returns flags, frame width,
height, size, and the text buffer (up to 40 bytes), in a single 64
bytes packet to reduce the bandwidth/overhead of the protocol.
The packet format is:
word word word word 2 words 40 bytes
<flags> <width> <height> <size> <reserved> <null-terminated text>
The flags are mostly reserved, only the following bits are defined:
0x001 script running
0x010 text buffer valid.
0x100 JPEG frame buffer ready.
2024-07-09 19:18:51 +03:00
Kwabena W. Agyeman
a36ac2db06
modules/py_image: Add buffer length sanity check.
2024-07-08 23:03:07 -07:00
Kwabena W. Agyeman
7b79fb4c77
modules/py_image: Change scale argument to (min,max) range.
2024-07-08 22:32:57 -07:00
Kwabena W. Agyeman
3f8491cb0e
scripts/libraries: Move nms to python.
2024-07-07 23:02:15 -07:00