Commit Graph

251 Commits

Author SHA1 Message Date
Kwabena W. Agyeman
c86f01741f
Add Objection Detection Support (#1462)
Support for segmentation networks has been added. You can now segment images using tensorflow into grayscale images that show a heatmap per class you are looking for. The segment() method will return a list of images of these grayscale heat maps.

detect() will then do all the above but internally run find_blobs() on the heat maps to return instead a list of lists, where each sub list is the blobs detected per class.

EdgeImpulse will have support for running segmentation networks thus enabling object detection and localization on Cortex-M processors.

* PYTF now uses the optimal amount of memory for buffers versus all - buffers are placed in SRAM if they fit producing a massive speed boost.
* Custom scaled/offset outputs now work.
* Updated to the latest tensorflow library.
* You have access to all input/output model parameters.
* Person detection is now int8 and blazing fast - 20 FPS on the Arduino Portena.
* Added m55 libs (m0plus libs coming soon once EdgeImpulse adds support for them in the tensorflow make file)
* Classify/Segment/Detect work on all image types directly (JPG/BAYER/YUV/RGB565/GRAYSCALE/BINARY)
2021-12-30 18:30:28 +02:00
iabdalkader
708f7fe1ac Update to MicroPython 1.17 2021-12-10 19:01:54 +02:00
iabdalkader
5c127078ca Nina driver updates, bug fixes. 2021-11-17 18:29:23 +02:00
Ibrahim Abd Elkader
58e89f124a
Merge pull request #1455 from kwagyeman/kwabena/frog_eye
Add basic frogeye2020 driver
2021-10-16 22:47:14 +02:00
Kwabena W. Agyeman
7f84ce5010 Add frogeye sensor driver 2021-10-16 12:10:00 -07:00
Ibrahim Abd Elkader
d412e9e017
Add DFSDM support to audio module. (#1459)
* Add DFSDM support to audio module.
2021-10-15 16:05:12 +02:00
Kwabena W. Agyeman
b32aa4597e
Make IMU orientation configurable (#1457)
* Make IMU orientation configurable.
2021-10-08 21:01:09 +02:00
iabdalkader
5cc7d32895 Init IMU if enabled.
* This disables IMU for OpenMV4, since it doesn't have one.
* If/when a board with IMU is supported, new board files should be added.
2021-10-05 19:00:22 +02:00
iabdalkader
e4696a4106 Add py_imu support for lsm6dsox. 2021-10-04 20:02:35 +02:00
iabdalkader
176d4131ab Add lsm6dsox driver. 2021-10-04 20:02:26 +02:00
Ibrahim Abd Elkader
fb51ee685a
Merge pull request #1451 from openmv/bormio_support
Bormio support
2021-09-20 14:35:17 +02:00
iabdalkader
16fd340e10 Add ULPI pin configuration. 2021-09-20 14:20:28 +02:00
Kwabena W. Agyeman
bf447e5599 Add yuv image processing support 2021-09-19 09:42:28 -07:00
iabdalkader
59b59c394f Support different ports for cambus pins. 2021-09-17 22:42:43 +02:00
Kwabena W. Agyeman
3ed668ab5b Add full debayering support 2021-09-09 14:18:57 -07:00
Ibrahim Abd Elkader
d5ad043c30
Advanced pixel formats. (#1448)
* Advanced pixel formats.

* Use a new pixel format that encodes flags, id and bpp in the pixel format itself.

* Fixes for review comments.
2021-09-09 13:34:31 +02:00
iabdalkader
c28958e04e Replace sensor flags with bit fields.
* Much easier to manipulate and saves some memory.
2021-09-04 22:04:31 +02:00
iabdalkader
b5692231e2 Fix WINC make_new arg. 2021-08-26 16:55:24 +02:00
iabdalkader
f5391a3884 Make WINC API compatible with other WiFi modules. 2021-08-26 16:25:15 +02:00
iabdalkader
6d7df3b4da RP2: Fix audio deinit. 2021-08-22 20:25:47 +02:00
iabdalkader
a8858c9d0e RP2: Update Audio module.
* Use a configurable number of PCM buffers in a queue to avoid overflows.
* Add option to configure whether to use pendsv or mp_scheduler for Python callbacks.
* Streaming can be started without a callback and get_buffer() returns a single buffer from the queue.
* Add precomputed LUT for lib OpenPDM stored in flash (saves about 500uS per conversion).
* Overflow detection and configurable abort on overflow.
* Remove fixed DMA channel.
2021-08-21 01:29:10 +02:00
iabdalkader
479a7e7e05 Link with double tap library. 2021-08-20 13:45:42 +02:00
iabdalkader
06e8ba3969 Use USER_C_MODULES to add OpenMV modules. 2021-08-11 21:48:16 +02:00
iabdalkader
368c668421 Register all Python modules if enabled. 2021-08-11 21:41:19 +02:00
iabdalkader
ad96d3e68d Enable text compression and fix all exception issues. 2021-08-11 16:24:45 +02:00
iabdalkader
4607b5ea81 RP2: Updates.
* Update USB config macros.
* Increase Flash FS size.
* Add missing openmv_disk file.
* Enable MSC in bootloader.
2021-08-01 18:25:12 +02:00
Ibrahim Abd Elkader
e8585ff226
Merge pull request #1418 from openmv/add_cambus_enable
Add cambus_enable function.
2021-07-31 22:23:03 +02:00
iabdalkader
6d8f95de03 Fix ULPI low power mode entry with USB disconnected.
* fixes #1408
2021-07-31 21:55:51 +02:00
iabdalkader
af1772a2ac Add cambus_enable function. 2021-07-31 21:48:23 +02:00
iabdalkader
0c40f48324 Make Nina firmware check less strict. 2021-07-31 14:52:34 +02:00
iabdalkader
ab506618d7 Nina: Add firmware version checking. 2021-07-29 21:32:15 +02:00
iabdalkader
eb2f982779 Nina: Make WiFi driver API compatible with CYW43/upstream. 2021-07-29 21:23:45 +02:00
iabdalkader
07efa8cacf Nina: Add BSP deinit function. 2021-07-29 21:23:34 +02:00
iabdalkader
b5316e5160 RP2: Nina WiFi timeout fixes. 2021-07-28 22:42:44 +02:00
iabdalkader
773c648282 RP2: WiFi Nina fixes.
* Fix accept and close.
* Check socket status before send/recv/accept etc..
* Fix auto-bind.
* Add BSP read_irq.
2021-07-28 13:33:44 +02:00
elmagnifico
029eebdab7
OpenMV4 support OV7670 (#1404)
* OpenMV4 support OV7670 now
2021-07-25 19:27:07 +02:00
iabdalkader
e14470f681 RP2: Nina WiFi fixes.
* Fix BSP.
* Fix rp2 networking modules.
* Fix timeouts.
* Fix TCP sockets.
* Fix UDP sockets.
* Add auto-binding for UDP sockets.
2021-07-24 22:00:41 +02:00
iabdalkader
917509ed65 RP2: Update NINA bsp. 2021-07-22 14:22:33 +02:00
iabdalkader
9bbdba1b10 RP2: Optimize bus scanning.
* For sensor-less boards, lower the scan address space.
2021-07-20 00:58:19 +02:00
iabdalkader
b83064b81a Allow boards to define an extra cam timer pin. 2021-07-16 21:45:08 +02:00
iabdalkader
f4a6c4003b Allow boards to define an alternate cambus to scan. 2021-07-15 23:50:58 +02:00
iabdalkader
5ed5671423 Allow sensor_utils probe_init to take bus id/speed args. 2021-07-15 20:59:58 +02:00
iabdalkader
9f748c7950 Fix cambus getting stuck sometimes after failed scan.
* This seems to only affect the H7.
* After a failed scan the bus can get stuck. Re-initializing the bus fixes
it, but it seems disabling and re-enabling the bus is all that's needed.
2021-07-14 23:38:50 +02:00
iabdalkader
e49dc22b33 RP2: Add bluetooth and nimble support. 2021-07-10 19:54:23 +02:00
iabdalkader
565e1446c5 STM32: Update SDRAM test. 2021-07-09 22:14:52 +02:00
iabdalkader
a076fc79b8 RP2: Support jump to bootloader command.
* Add picotool binary.
* Support jump to bootloader command.
* MSC interface is disabled on jump to boot.
2021-07-06 20:42:57 +02:00
iabdalkader
a08a666a52 Enable RP2 networking and add NINA-W10 driver and modules. 2021-07-05 00:10:33 +02:00
iabdalkader
0491a6a884 Add sensor error codes. 2021-07-01 20:51:42 +02:00
iabdalkader
a700397b07 Move common image sensor driver code to a common file.
* Provide image sensor driver utility functions that can be used by all ports.
* Provide default (weak) functions that can be replaced by port-specific drivers.
2021-06-29 21:37:05 +02:00
iabdalkader
3069426ea9 Use mp_hal_delay_ms instead of systick_sleep. 2021-06-29 17:04:31 +02:00