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
6247269e6e
Merge pull request #2278 from openmv/micropython_update
...
micropython: Update submodule.
2024-07-13 19:16:06 +02:00
iabdalkader
caf5c4e24c
micropython: Update submodule.
2024-07-13 20:13:06 +03: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
Ibrahim Abdelkader
7bc48b6d0c
Merge pull request #2277 from openmv/update_micropython
...
micropython: Update submodule.
2024-07-13 18:14:06 +02:00
iabdalkader
cadcda8248
micropython: Update submodule.
2024-07-13 19:07:12 +03: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
Ibrahim Abdelkader
96af65fd14
Merge pull request #2257 from kwagyeman/kwabena/code_cleanup_2
...
lib/tflm: Code cleanup.
2024-07-08 09:09:58 +02:00
Kwabena W. Agyeman
94f260089f
lib/tflm: Code cleanup.
2024-07-07 23:38:17 -07:00
Kwabena W. Agyeman
3f8491cb0e
scripts/libraries: Move nms to python.
2024-07-07 23:02:15 -07:00
Ibrahim Abdelkader
f3f6141894
Merge pull request #2252 from openmv/ml_input_update
...
modules/py_ml: Add support for multi-input models.
2024-07-07 21:26:46 +02:00
iabdalkader
93e17a3a8d
modules/py_ml: Remove input/output callbacks.
2024-07-07 21:48:42 +03:00
iabdalkader
70b89f4744
modules/py_ml: Update ML API to support multi-input models.
2024-07-07 21:48:42 +03:00
Kwabena W. Agyeman
de0d46fa68
modules/py_image: Add unpacking to bytearray support.
2024-07-07 21:48:42 +03:00
iabdalkader
9a186f4e27
libraries/ml: Convert ml to a package.
...
Add preprocessing, model wrapper and utils.
2024-07-07 21:48:38 +03:00
iabdalkader
d69c2c0a78
lib/libtflm: Update submodule.
2024-07-07 20:06:13 +03:00
Ibrahim Abdelkader
e014e48fe3
Merge pull request #2249 from openmv/py_image_type
...
modules/py_image: Add Image as a type instead of function.
2024-07-07 07:42:56 +02:00
iabdalkader
9ae3d0355c
modules/py_image: Add missing draw hint.
2024-07-06 22:54:40 +03:00
iabdalkader
f481c9df77
modules/py_image: Add Image as a type instead of function.
...
Otherwise something like isinstance(x, image.Image) does Not work.
2024-07-06 18:38:04 +03:00
Ibrahim Abdelkader
2922d6d1c6
Merge pull request #2209 from kwagyeman/kwabena/add_circle_aa
...
imlib/draw: Add AA support for draw_circle.
2024-07-04 21:21:35 +02:00
Kwabena W. Agyeman
2493c91e83
ports/stm32: Add mic gain support to py_audio when using dfsdm.
2024-07-03 17:30:43 -07:00
iabdalkader
93f2d4c419
boards/ARDUINO_GIGA: Enable Open-AMP support.
2024-07-03 17:44:41 +02:00
iabdalkader
3cc57fea49
ports/stm32: Remove deprecated CM4 firmware support.
...
Now replaced with Open-AMP. Examples and docs will follow later.
2024-07-03 17:44:41 +02:00
iabdalkader
edc1a14e46
boards/All: Update Ulab config.
2024-07-03 17:44:41 +02:00
iabdalkader
17ee1838e4
ports/rp2: Use frozen _boot_fat.py to create the FS.
2024-07-03 17:44:41 +02:00
iabdalkader
976aee80ae
misc/mp_utils: Add pystack initializer.
2024-07-03 17:44:41 +02:00
iabdalkader
eaeff63f34
ports/stm32: Deinit CYW43 on soft-reset.
2024-07-03 17:44:41 +02:00
iabdalkader
75d968051b
ports/mimxrt: Switch to the updated CYW43 driver v7_45_98_102.
2024-07-03 17:44:41 +02:00
iabdalkader
ec02218a1b
ports/mimxrt: Deinit CYW43 on soft-reset.
2024-07-03 17:44:38 +02:00
iabdalkader
e758a0f958
ports/All: Update USBDBG to use the VM abort feature.
...
Replaces the forced PendSV jump with the new VM abort feature.
2024-07-03 15:40:02 +02:00
iabdalkader
0c67aba2ea
boards/All: Freeze ssl module.
...
This module provides compatibility with CPython's SSL module.
2024-07-03 15:40:02 +02:00
iabdalkader
27be6e1f98
ports/All: Update Makefiles to support MicroPython 1.23.
2024-07-03 15:39:59 +02:00
iabdalkader
3a8f1bb540
modules: Switch to the new mp_obj_malloc_with_finaliser.
2024-07-03 14:42:18 +02:00
iabdalkader
f57c2f5e56
misc: Replace deprecated STATIC with static.
2024-07-03 14:42:18 +02:00
iabdalkader
4488f778f5
modules: Update ulab to 6.5.2.
2024-07-03 14:42:18 +02:00
iabdalkader
66a6177fbe
micropython: Update to MicroPython v1.23.0.
2024-07-03 14:42:15 +02:00
iabdalkader
be03021258
boards/All: Update memory configs.
...
* DMA buffers regions are automatically rounded up to the next power of 2 via
the linker script. This ensures that these buffers, when rounded up, can actually
fit into their respective memories. It also ensures that when/if the MPU is used
to configure these regions, it will not round up the regions sizes, which may cause
the MPU to configure a region bigger than the DMA buffer.
* GC blocks can be rearranged in any order, including the main heap/first block.
This is very important for boards with limited RAM to avoid fragmenting the contiguous
large heap early before it's actually needed.
* Moved VOSPI memory to its own section. The offset is no longer required, and the
linker script can detect overlaps.
* Renamed GC heap memory to allow more than one heap to exist, and added support for
it in the common linker script. This change allows adding a second heap for malloc/libc
easily if needed.
* For STM32 boards, the domain-specific DMA buffers can now be located anywhere within
their memory regions, as their MPU regions' base addresses and sizes are all set via
linker script variables. Previously, this was defined in headers, and sections could
have easily overlapped without warning.
2024-06-30 17:58:59 +02:00
iabdalkader
c28aea9ea4
misc: Fix first additional GC block name.
2024-06-30 17:32:13 +02:00
iabdalkader
c9de724be0
misc: Rename JPEG buffer size.
2024-06-30 17:32:13 +02:00
iabdalkader
ab92e46edd
ports/nrf: Use the common linker script.
2024-06-30 17:32:13 +02:00
iabdalkader
c7a87bce8e
ports/stm32: Use the common linker script.
2024-06-30 17:32:13 +02:00
iabdalkader
f06eb8e72e
ports/stm32: Add MPU helper function.
2024-06-30 17:32:13 +02:00
iabdalkader
2f8977a5ac
ports/mimxrt: Use the common linker script.
2024-06-30 17:32:13 +02:00
iabdalkader
9062a51d31
misc: Add common pre-processor linker script.
2024-06-30 17:32:09 +02:00
iabdalkader
40710a3573
ports/stm32: Support setting audio module samples at runtime.
2024-06-28 16:32:04 +02:00
iabdalkader
54104039b4
boards/All: Freeze the ML extension module for boards with ML support.
2024-06-28 16:32:04 +02:00
iabdalkader
c7228cbb48
modules/py_tf: Refactor TensorFlow module.
...
This patch decouples the MicroPython TF module from the TensorFlow library,
allowing support for more DL/ML libraries and engines in the future.
The ML backend has been completely redesigned; the model object can now be
passed directly to the backend, allowing it to initialize the model internally.
Additionally, the backend's state/memory is now persistent (surviving across
invocations), which improves inference speed by around 20% and supports models
that require persistent memory, such as LSTM.
Finally, the ML module has been mostly rewritten to handle model input/output
shapes and data properly, and to support models with multiple outputs
2024-06-28 16:32:04 +02:00
iabdalkader
13c99c6332
boards/All: Optimize flash/memory usage to support the new TFLM.
2024-06-28 16:32:04 +02:00
iabdalkader
13cc273318
boards/all: Enable built-in TFLM models.
...
The new built-in model system allows fine-grained control over which models
get built into the firmware image. This patch enables FOMO for all boards
and audio processing models for boards with mics.
2024-06-28 16:32:04 +02:00
iabdalkader
073b161309
modules/py_image: Export py_image_type for use by other modules.
2024-06-28 16:32:04 +02:00
iabdalkader
491fc1bd06
ports/nrf: Fix build.
2024-06-28 16:32:04 +02:00
iabdalkader
f4c91cbf6c
ports/stm32: Update linker script.
...
Add more GC blocks, and separate the main GC heap from main memory.
2024-06-28 16:32:02 +02:00
iabdalkader
7a62df38e3
ports/stm32: Update port Makefiles to support the new TFLM.
2024-06-28 16:31:42 +02:00
iabdalkader
d51a11edbf
ports/mimxrt: Update linker script.
...
Add more GC blocks, and separate the main GC heap from main memory.
2024-06-28 16:31:39 +02:00
iabdalkader
c79b3aecbb
ports/mimxrt: Update port Makefiles to support the new TFLM.
2024-06-28 14:13:46 +02:00
iabdalkader
5e9453974e
lib/tflm: Add TFLM submodule.
...
This submodule replaces the old libtf with a libraries built from
the TFLM upstream. The new libraries are faster and smaller than
the previous libtf.
2024-06-28 14:13:46 +02:00
iabdalkader
d1756b4b61
ports/stm32: Remove the obsolete micro speech C module.
...
This module no longer works with the updated TFLM since feature generation
has been removed and replaced by another audio preprocessor model. This
module will be replaced with a pure Python module or example.
2024-06-28 14:13:46 +02:00
iabdalkader
d0c85de2fe
lib/libtf: Remove obsolete libtf.
2024-06-28 14:13:46 +02:00
iabdalkader
18caf947b9
ports/all: Fix RWX warning in linker scripts.
2024-06-28 14:13:46 +02:00
Ibrahim Abdelkader
235c337da0
Merge pull request #2232 from kwagyeman/kwabena/fix_cache_invalidation_issue
...
ports: Fix accidental CPU cache invalidation.
2024-06-28 14:09:28 +02:00
iabdalkader
112c753bb5
ports/stm32: Add support for additional GC blocks.
2024-06-22 17:02:53 +02:00
iabdalkader
7aa40047a7
ports/mimxrt: Add support for additional GC blocks.
2024-06-22 17:02:23 +02:00
iabdalkader
4dd63ce6e0
ports/nrf: Switch to mp_utils to initialize GC/Stack.
2024-06-22 17:02:23 +02:00
iabdalkader
df3e885d6b
ports/rp2: Switch to mp_utils to initialize GC/Stack.
2024-06-22 17:02:23 +02:00
iabdalkader
79019cce0d
misc: Add MicroPython GC helper functions.
2024-06-22 17:02:15 +02:00
Kwabena W. Agyeman
7bf5b3fa7e
modules/py_image: Add support for turning lists/tuples into Images.
2024-06-21 22:05:11 -07:00
Kwabena W. Agyeman
7697a84e8f
modules/py_tf.c: Remove old methods/functions.
2024-06-21 10:41:09 +02:00
Kwabena W. Agyeman
a4d97c5723
modules/py_tf.c: Fix bug with S128_127 scaling.
2024-06-21 10:41:09 +02:00
Kwabena W. Agyeman
3e37f46db4
modules/py_tf: Remove detect() and segment() in favor of predict().
2024-06-21 10:41:09 +02:00
Kwabena W. Agyeman
3863c38228
modules/py_tf: Remove classification object.
2024-06-21 10:41:09 +02:00
Kwabena W. Agyeman
54e31b163b
modules/py_tf: Merge model output object with model object.
2024-06-21 10:41:04 +02:00
Kwabena W. Agyeman
36610e8530
modules/py_tf: Refactor NMS code into it's own object.
2024-06-21 10:37:38 +02:00
Kwabena W. Agyeman
13ab81c0ee
imlib/collections: Add support for moving items between lists.
2024-06-20 14:36:28 -07:00
Kwabena W. Agyeman
e3ceea4a6c
modules/py_tf: Fix log buffer free-order.
2024-06-19 17:17:20 -07:00
Kwabena W. Agyeman
cc823e2fbb
ports: Fix accidental CPU cache invalidation.
2024-06-18 22:04:31 -07:00
iabdalkader
6c212409ce
modules/py_tf: Refactor py_tf module.
...
- Implement log handler.
- Remove all extra load functions: load, load_builtin_model, and the newly added tf.Model(),
now all call the same function.
- Remove module-level functions. Code should load the model first, the use model.predict().
This is a breaking change, but loading models on the fly was never a good feature.
- Model FB memory will be free'd in finalizer. The model's fb_memory is automatically
free'd when it's delete (i.e., del model).
2024-06-16 17:23:58 +02:00
iabdalkader
51ed29b501
lib/libtf: Update libtf.
2024-06-16 16:42:09 +02:00
iabdalkader
6373e0d708
ports/stm32: Fix Audio module's root pointers.
2024-06-15 14:24:00 +02:00
iabdalkader
668959d5c0
modules/fir: Fix root pointer usage.
2024-06-15 13:32:24 +02:00
Ibrahim Abdelkader
854afd9915
Merge pull request #2227 from kwagyeman/kwabena/new_tf_method
...
modules/py_tf: Add generic CNN processing support.
2024-06-12 15:10:09 +02:00
Kwabena W. Agyeman
8c69b09f4f
modules/py_tf: Add generic CNN processing support.
2024-06-11 22:11:32 -04:00
Ibrahim Abdelkader
8c8c7dbde1
Merge pull request #2190 from kwagyeman/kwabena/refactor_get_similarity
...
modules/py_image: Refactor get_similarity() to use draw_image backend.
2024-06-09 14:34:52 +02:00
iabdalkader
4e84b3eabb
boards/ARDUINO_GIGA: Enable HIMAX sensors.
2024-05-30 20:46:15 +02:00
iabdalkader
d330c73bce
misc: Bump firmware version.
2024-05-26 14:56:56 +02:00
Ibrahim Abdelkader
4759398742
Merge pull request #2207 from openmv/sensor_delay_pwdn_reset
...
misc: Increase delay after reset/power-down.
2024-05-25 20:47:18 +02:00
Ibrahim Abdelkader
48801fbc5c
Merge pull request #2210 from kwagyeman/kwabena/remove_pooling
...
imlib/pool: Remove obsolete pooling functions.
2024-05-25 15:08:18 +02:00
Ibrahim Abdelkader
1959b724e1
Merge pull request #2212 from kwagyeman/kwabena/fix_erode_mask
...
imlib/binary: Fix erode mask check.
2024-05-25 10:32:03 +02:00
iabdalkader
88027a9e27
boards/PORTENTA_H7: Override default reset and power delays.
2024-05-25 10:29:37 +02:00
iabdalkader
17ac3180b9
misc: Increase delay after sensor reset/power-down.
2024-05-25 10:29:25 +02:00
Ibrahim Abdelkader
44e92b4c0d
Merge pull request #2215 from kwagyeman/kwabena/ksize_fix
...
modules/py_image: Move ksize to be pos_arg.
2024-05-21 20:34:09 +02:00
Ibrahim Abdelkader
28d5fdfa1c
Merge pull request #1610 from openmv/invalidate_vbuffers
...
imlib: Invalidate vbuffers before returning them.
2024-05-21 20:33:42 +02:00
Ibrahim Abdelkader
0851f59300
Merge pull request #2220 from openmv/mimxrt_dma_fix
...
ports/mimxrt: Retry transfer if the DMA is still busy.
2024-05-21 20:33:24 +02:00
Ibrahim Abdelkader
fb86074477
Merge pull request #2221 from openmv/stm32_sensor_bug
...
ports/stm32: Reset vbuffer state when dropping frames.
2024-05-21 20:32:10 +02:00
iabdalkader
64b2708754
ports/stm32: Reset vbuffer state when dropping frames.
...
When dropping a frame the current vbuffer state was Not reset, which
caused the following frame(s) to be corrupted, probably also overwriting
the next vbuffer.
This bug is what caused transposed high-resolution frames to be corrupted.
If the DMA is not keeping up you should simply just see slower FPS or no
frames at all but definitely never corrupted frames, since they're dropped.
2024-05-21 20:15:34 +02:00
iabdalkader
75a934de0d
ports/mimxrt: Retry transfer if the DMA is still busy.
...
Retry to submit the transfer a few times if the DMA is busy,
before dropping the frame.
2024-05-21 19:15:10 +02:00
iabdalkader
80fce781ab
imlib: Invalidate vbuffers before returning them.
...
* Fixes #2216
2024-05-20 22:59:35 +02:00
Kwabena W. Agyeman
08ca21fd1b
imlib/pool: Remove obsolete pooling functions.
2024-05-19 20:06:37 -07:00
Ibrahim Abdelkader
99c3ddd7fc
Merge pull request #2208 from kwagyeman/kwabena/minor_draw_line_cleanup
...
imlib/draw: Cleanup drawline code.
2024-05-19 09:55:14 +02:00
Ibrahim Abdelkader
c21472a1cd
Merge pull request #2213 from kwagyeman/kwabena/fix_morph_spelling
...
modules/py_image: Fix morph spelling.
2024-05-15 23:50:14 +02:00
Ibrahim Abdelkader
b2e90e6c47
Merge pull request #2191 from kwagyeman/kwabena/clean_to_x
...
modules/py_image: Update py_image_to with mp_arg_parse_all.
2024-05-13 16:51:08 +02:00
Kwabena W. Agyeman
f928965896
modules/py_image: Move ksize to be pos_arg.
2024-05-12 21:54:46 -07:00
Kwabena W. Agyeman
b7eda7d932
modules/py_image: Fix morph spelling.
2024-05-12 21:24:08 -07:00
Kwabena W. Agyeman
0638c936c6
imlib/binary: Fix erode mask check.
2024-05-12 21:16:27 -07:00
Kwabena W. Agyeman
3fee02ffb5
modules/py_image: Update py_image_to with mp_arg_parse_all.
2024-05-12 21:12:17 -07:00
Kwabena W. Agyeman
3776924659
imlib/draw: Add AA support for draw_circle.
2024-05-10 18:54:18 -07:00
Kwabena W. Agyeman
7d4f70e9ef
imlib/draw: Cleanup drawline code.
2024-05-09 20:48:39 -07:00
Ibrahim Abdelkader
b4f1461e23
Merge pull request #2205 from kwagyeman/kwabena/change_arm_math
...
imlib: Change ARM_MATH_CM4/CM7 to DSP.
2024-04-22 15:27:05 +02:00
Kwabena W. Agyeman
12831c1f73
imlib: Change ARM_MATH_CM4/CM7 to DSP.
2024-04-21 12:49:29 -07:00
iabdalkader
42fc57f3f8
misc: Bump firmware version.
2024-04-20 14:53:32 +02:00
Ibrahim Abdelkader
7662201790
Merge pull request #2204 from openmv/giga_gc_rotate
...
boards/ARDUINO_GIGA: Enable OMV_GC2145_ROTATE.
2024-04-19 12:22:14 +02:00
iabdalkader
fe25639d66
boards/ARDUINO_GIGA: Enable OMV_GC2145_ROTATE.
2024-04-19 12:18:48 +02:00
Ibrahim Abdelkader
4c45079bc2
Merge pull request #2203 from openmv/giga_csi_reset
...
boards/ARDUINO_GIGA: Enable RESET/PEN pin.
2024-04-19 09:09:13 +02:00
iabdalkader
0dac743ace
boards/ARDUINO_GIGA: Enable RESET/PEN pin.
2024-04-19 09:02:02 +02:00
Ibrahim Abdelkader
dfe701e03f
Merge pull request #2201 from kwagyeman/kwabena/cleanup_set_pixel_aa
...
imlib/draw: Fix out of bound crash issue with set_pixel_aa.
2024-04-18 20:55:48 +02:00
Ibrahim Abdelkader
f947977c5c
Merge pull request #2199 from PixArt-Imaging-Inc/master
...
sensors/PAG7920: Support PixArt image sensor PAG7920.
2024-04-18 20:55:28 +02:00
FU CHEN-WEI
b3f9d70003
sensors/PAG7980: Support PixArt image sensor PAG7920.
...
1. Add a sensor driver for PAG7920.
2. Add PAG7920-related definitions.
2024-04-18 16:59:12 +08:00
Kwabena W. Agyeman
11acce5865
imlib/draw: Fix out of bound crash issue with set_pixel_aa.
2024-04-17 20:04:02 -07:00
Ibrahim Abdelkader
0a2773ca9a
Merge pull request #2160 from kwagyeman/kwabena/erode_dilate_speedup
...
imlib/binary: Improve erode/dilate performance using SIMD.
2024-04-06 15:13:47 +02:00
Kwabena W. Agyeman
f7ed570231
modules/py_image: Refactor get_similarity() to use draw_image backend.
2024-04-02 17:31:43 -07:00
Ibrahim Abdelkader
b2b62dbac8
Merge pull request #2146 from kwagyeman/kwabena/simplify_binary
...
modules/py_image: Update binary to use mp_arg_parse_all.
2024-03-31 15:13:11 +02:00
Ibrahim Abdelkader
7b1468ce89
Merge pull request #2154 from kwagyeman/kwabena/subsample_speedup
...
imlib/jpege: Improve jpeg YUV422/420 UV sub-sampling speed.
2024-03-30 12:30:32 +02:00
Ibrahim Abdelkader
d8a42359e5
Merge pull request #2180 from kwagyeman/kwabena/fix_spi_cs_slave_mode
...
ports/stm32: Don't control CS pin in slave mode.
2024-03-25 19:52:54 +02:00
Ibrahim Abdelkader
ef78972ffe
Merge pull request #2186 from openmv/bootloader_fix
...
bootloader: Fix GPIO clock macros.
2024-03-21 18:50:24 +02:00
iabdalkader
240332d30b
bootloader: Fix GPIO clock macros.
2024-03-21 17:44:21 +01:00
Kwabena W. Agyeman
3dd93c4ffb
ports/stm32: Don't control CS pin in slave mode.
2024-03-20 10:50:33 -07:00
Kwabena W. Agyeman
b037b2208a
modules/py_image: Add support to control jpeg subsampling.
2024-03-20 10:33:56 -07:00
Kwabena W. Agyeman
31f58cc99a
ports/stm32: Add support for YUV422 hardware JPEG compression.
2024-03-16 10:51:06 -07:00
Kwabena W. Agyeman
e7f78b29ab
micropython: Turn crypto lib for mimxrt back on.
2024-03-15 10:50:44 -07:00
Kwabena W. Agyeman
ed0822ba62
imlib/binary: Improve erode/dilate performance using SIMD.
2024-03-11 17:03:14 -07:00
Ibrahim Abdelkader
dbe5187558
Merge pull request #2161 from kwagyeman/kwabena/update_macros
...
imlib: Update min/max usage to clamp and sat.
2024-03-11 09:06:53 +02:00
Kwabena W. Agyeman
99d22d4eb0
imlib/fmath: Fix fmath function inlining.
2024-03-10 15:29:25 +01:00
Ibrahim Abdelkader
3a2ffc5106
Merge pull request #2148 from kwagyeman/kwabena/erode_dilate_cleanup
...
modules/py_image: Use mp_arg_pasrse_all for erode/dilate.
2024-03-10 09:15:14 +02:00
Kwabena W. Agyeman
e63fbc7c29
modules/py_image: Update binary to use mp_arg_parse_all.
2024-03-09 18:58:32 -08:00
Kwabena W. Agyeman
f523602719
modules/py_image: Use mp_arg_pasrse_all for erode/dilate.
2024-03-09 18:56:28 -08:00
iabdalkader
34189ba51f
boards/OPENMV_RT1060: Fix BLE baudrate.
...
The new UART dividers merged from upstream can't support an exact
3Mbits it seems. Reduce the baudrate to 2.5Mbits to fix BLE for now.
2024-03-08 09:37:08 +01:00
iabdalkader
09de3847b5
micropython: Update docs.
2024-03-05 18:49:08 +01:00
iabdalkader
caedd26f51
misc: Bump firmware version.
2024-03-04 18:38:30 +01:00
iabdalkader
c7d40f6af7
ports/mimxrt: Set the default WiFi AP's security mode.
2024-03-04 12:32:36 +01:00
iabdalkader
55cab8733f
ports/stm32: Set the default WiFi AP's security mode.
2024-03-04 12:32:36 +01:00
iabdalkader
9244c61771
modules/winc1500: Activate the NIC on connect.
...
Activate the NIC on connect/config if it's not active, to allow
config to be called before the NIC is activated.
2024-03-04 12:32:36 +01:00
iabdalkader
03c56592df
micropython/ninaw10: Activate the NIC on connect.
...
Activate the NIC on connect/config if it's not active, to allow
config to be called before the NIC is activated.
2024-03-04 12:32:36 +01:00
iabdalkader
070dd51e92
micropython: Add security mode constants for CYW43.
2024-03-04 12:32:19 +01:00
Kwabena W. Agyeman
83e12de2b0
sensors/gc2145: Fix hmirror and vflip.
2024-02-26 11:45:42 -08:00
Ibrahim Abdelkader
fcf0d8f15a
Merge pull request #2164 from openmv/gc_chip_id
...
sensors/GC2145: Fix chip id bug in sensor probe.
2024-02-26 13:43:58 +02:00
iabdalkader
834d157008
sensors/GC2145: Fix chip id bug in sensor probe.
2024-02-26 12:33:26 +01:00
Kwabena W. Agyeman
591bf1ce2d
lib/libtf: Add model operator order hash support.
2024-02-25 12:19:41 -08:00
Kwabena W. Agyeman
3705652b23
imlib: Update min/max usage to clamp and sat.
2024-02-24 13:46:04 -08:00
Ibrahim Abdelkader
47da5ec07c
Merge pull request #2145 from kwagyeman/kwabena/optimize_math_ops
...
imlib: Optimize math ops.
2024-02-23 09:25:28 +02:00
Kwabena W. Agyeman
a1b484f378
imlib: Optimize math ops.
2024-02-22 12:21:10 -08:00
Kwabena W. Agyeman
e1aeef49fa
imlib: Optimize binary ops.
2024-02-19 21:30:03 -08:00
Ibrahim Abdelkader
7084effc7f
Merge pull request #2139 from kwagyeman/kwabena/optimize_invert
...
modules/py_image: Optimize invert and negate.
2024-02-18 11:21:07 +02:00
Kwabena W. Agyeman
5b993fa765
imlib/jpege: Fix jpeg timing code.
2024-02-17 23:20:48 -08:00
Ibrahim Abdelkader
9b8e39c608
Merge pull request #2156 from kwagyeman/kwabena/update_lib_tf_again
...
lib/libtf: Fixed missing tensorflow operators crash.
2024-02-18 09:13:49 +02:00
Ibrahim Abdelkader
c0ee9a967f
Merge pull request #2068 from kwagyeman/kwabena/add_user_spi_display_control
...
modules/py_display: Add user SPI LCD register control.
2024-02-18 00:39:25 +02:00
Kwabena W. Agyeman
bee933d9d2
lib/libtf: Fixed missing tensorflow operators crash.
2024-02-17 14:32:10 -08:00
Kwabena W. Agyeman
59fea5bc52
imlib/jpege: Improve jpeg YUV422/420 UV sub-sampling speed.
2024-02-16 16:51:12 -08:00
Kwabena W. Agyeman
4fe7fb63b9
imlib: Remove mul().
2024-02-16 11:49:19 -08:00
Kwabena W. Agyeman
179888f233
modules: Add controller and bus write support to spi display.
2024-02-15 13:45:42 -08:00
Kwabena W. Agyeman
7d1f378a08
modules: Change dsi read/write to generic bus read/write.
2024-02-15 13:43:03 -08:00
iabdalkader
694e783f14
boards/ARDUINO_GIGA: Enable GC2145 driver.
2024-02-15 21:06:19 +01:00
Ibrahim Abdelkader
17412e544c
Merge pull request #2151 from openmv/ov5640_gc2145_fix
...
misc: Support using GC2145 and OV5640 at the same time.
2024-02-15 22:05:33 +02:00
Ibrahim Abdelkader
3f1b71cb48
Merge pull request #2147 from kwagyeman/kwabena/remove_cartoon
...
imlib: Remove cartoon() method.
2024-02-15 22:02:33 +02:00
iabdalkader
a62d606467
misc: Support using GC2145 and OV5640 at the same time.
...
Both sensors have the same I2C address, so can't be enabled at the
same time. This patch tries to read a byte-sized address first,
if GC2145 chip id is not read back, then it retries reading wide
address. I tested this with RT1060 and H7 and I can detect the OV5640
fine.
2024-02-15 21:01:47 +01:00
Kwabena W. Agyeman
c017cde2bb
ports/stm32: Move instances to init functions.
2024-02-14 17:02:29 -08:00
Kwabena W. Agyeman
567cc08281
ports/stm32: Fix setting freq to zero bug.
2024-02-14 16:57:43 -08:00
Kwabena W. Agyeman
c5cf3cf498
ports/stm32: Fix xclk duty cycle to 50%.
2024-02-14 16:53:57 -08:00
Ibrahim Abdelkader
78c7d1aa43
Merge pull request #2140 from kwagyeman/kwabena/remove_slow_stuff
...
modules/py_image: Remove div() method.
2024-02-14 09:39:17 +02:00
Ibrahim Abdelkader
82b61a8553
Merge pull request #2138 from kwagyeman/kwabena/move_ksize_helper
...
imlib: Add ksize helper.
2024-02-14 09:37:58 +02:00
Kwabena W. Agyeman
055a468b83
imlib: Remove cartoon() method.
2024-02-12 20:27:41 -08:00
Kwabena W. Agyeman
31847bdac7
imlib: Simplify binary mask and zero code.
2024-02-12 18:19:31 -08:00
Ibrahim Abdelkader
32b7075bc6
Merge pull request #2141 from openmv/sensor_utils_reconfigure
...
ports/all: Add a sensor function to reconfigure hardware if/when needed.
2024-02-12 22:30:19 +02:00
Ibrahim Abdelkader
afe7087b5e
Merge pull request #2123 from kwagyeman/kwabena/enable_edma
...
ports/mimxrt: Enable edma memcpy.
2024-02-12 22:30:01 +02:00
Kwabena W. Agyeman
63edb776c3
ports/mimxrt: Enable edma memcpy.
2024-02-12 12:05:24 -08:00
iabdalkader
ebc4c6c831
ports/all: Add a sensor function to reconfigure hardware if/when needed.
...
sensor_dcmi_config function was called every time the pixel format changed,
and typically reconfigured the capture interface. This originated from the
stm32 port, which required reconfiguring the DCMI if the pixel format changed.
However, most ports only require configuring the capture interface once
during initialization (for example nrf, rp2 and mimxrt ports).
The new sensor_config function is called after a setting that may require
reconfiguring the hardware changes, such as such as window size, frame size,
or pixel format. The exact setting that has changed is passed to the function,
allowing ports to decide whether to do a full reconfiguration of the hardware,
or just ignore it based on the changed setting.
2024-02-12 18:32:36 +01:00
Ibrahim Abdelkader
262eb98e43
Merge pull request #2133 from kwagyeman/kwabena/tensor_flow_update_2_2024
...
modules/py_tf: Refactor regression() code to handle arrays correctly.
2024-02-11 21:37:05 +02:00
Kwabena W. Agyeman
84cca7c6ca
modules/py_image: Optimize invert and negate.
2024-02-10 11:54:26 -08:00
Kwabena W. Agyeman
7c932602e2
modules/py_image: Remove div() method.
2024-02-10 11:49:17 -08:00
Kwabena W. Agyeman
70ea77c044
imlib: Add ksize helper.
2024-02-10 11:24:57 -08:00
Kwabena W. Agyeman
61ec9006bb
hal/sensor_utils: Allow DMA memcpy fallback to CPU.
2024-02-10 10:42:30 -08:00
Kwabena W. Agyeman
7c6105e54c
ports/mimxrt: Use hardware byteswap support.
2024-02-10 10:31:52 -08:00
Kwabena W. Agyeman
c5ec576c11
modules/py_tf: Refactor regression() code to handle arrays correctly.
2024-02-09 11:43:37 -08:00
iabdalkader
b69f9306d4
boards/NICLA_VISION: Reduce flash usage.
2024-02-09 16:50:16 +02:00
iabdalkader
602530c5fd
imlib: Add config options for find_features.
2024-02-09 16:08:12 +02:00
iabdalkader
1b58433320
imlib: Refactor collections linked list.
...
- Remove unused linked list functions.
- Remove iterator functions and replace them with a list_for_each macro.
Note the smaller iterator functions may Not have been inlined because
we -fno-inline-small-functions is used.
- Replace iterator_get which used memcpy, with a cast.
- Add list_insert and list_remove functions.
2024-02-07 13:25:00 +02:00
Ibrahim Abdelkader
3803e7d5fa
Merge pull request #2131 from openmv/refactor_boardconfig
...
misc: Refactor board config files.
2024-02-06 21:23:40 +02:00
iabdalkader
bc5222df03
misc: Refactor board config files.
...
- Rename options more consistently.
- Add OMV prefix to every config option.
- Replace the ST-specific DCMI prefix with CSI.
- Remove the clock source defined in every header to a common enum.
- Remove obsolete board config options.
2024-02-06 21:20:56 +02:00