Commit Graph

2417 Commits

Author SHA1 Message Date
iabdalkader
4591e7cef8 ports/stm32: Add support for LSM6DS3 I2C mode. 2022-08-28 18:41:17 +02:00
iabdalkader
3352c20525 ports/stm32: Add CYW43 firmware blob to text section.
* If no special memory is defined for CYW43's firmware, add it
to the main firmware text section.
2022-08-26 18:24:20 +02:00
Ibrahim Abdelkader
8dece2d845
Merge pull request #1705 from openmv/bootloader_config_files
boards: Move bootloader config to new files.
2022-08-14 12:32:41 +02:00
iabdalkader
31e2fff469 boards: Move bootloader config to new files. 2022-08-14 09:18:04 +02:00
iabdalkader
1fbe18d043 sensors/vl53l5cx: Add Makefile flag. 2022-08-13 19:19:59 +02:00
iabdalkader
7d79afac58 sensors/cambus: Add support for ToF I2C. 2022-08-12 23:25:25 +02:00
iabdalkader
3193163a3e boards: Make bootloader USB speed configurable. 2022-08-10 20:06:30 +02:00
iabdalkader
b7db0b8fee boards/NICLAV: Enable MicroSpeech module. 2022-07-18 16:58:06 +02:00
iabdalkader
2f34ee486b ports/stm32: Disable lwip dispatch first before deinit. 2022-07-10 18:57:06 +02:00
iabdalkader
5c4ed47c8b ports/stm32: Disable Soft-I2C if not configured for a board. 2022-07-10 17:37:34 +02:00
Ibrahim Abdelkader
383ee4028f
Merge pull request #1674 from openmv/gc2145_sleep
sensors/GC2145: Implement sleep/low-power function.
2022-06-30 08:56:17 +02:00
Ibrahim Abdelkader
3fb9e89247
Merge pull request #1676 from openmv/hm0360_pll_update
sensors/HM0360: Update PLL config to match the internal oscillator.
2022-06-28 12:43:22 +02:00
iabdalkader
ba718aad71 ports/stm32: Disable sensor external clock if frequency is set to 0. 2022-06-28 12:23:16 +02:00
iabdalkader
b5046e8b69 sensors/HM0360: Update PLL config to match the internal oscillator. 2022-06-28 12:21:40 +02:00
iabdalkader
e4d113513b sensors/HM0360: Ignore OSC_ENABLE ioctl. 2022-06-27 16:17:29 +02:00
iabdalkader
c51a0e00f2 sensors/GC2145: Implement sleep/low-power function.
* Fixes #1673.
2022-06-25 22:47:30 +02:00
Ibrahim Abdelkader
e06cf95754
Merge pull request #1660 from kwagyeman/kwabena/stereo_disparity
imlib: Add Support for Stereo Disparity for the Arduino Portenta.
2022-06-14 21:19:34 +02:00
Kwabena W. Agyeman
ac202ab854 imlib: Add Support for Stereo Disparity for the Arduino Portenta. 2022-06-13 21:31:33 -07:00
iabdalkader
17fd6fbe4e imlib: Optimize fmath ceilf and floorf functions. 2022-06-08 22:30:52 +02:00
iabdalkader
cc9ed3a477 sensors: Add support for HIMAX HM0360. 2022-06-02 21:30:40 +02:00
iabdalkader
a4b76d12cb ports/stm32: Check EXTI GPIO source before clearing VSYNC IRQ. 2022-06-02 12:58:36 +02:00
Ibrahim Abdelkader
e0529b5c26
Merge pull request #1657 from openmv/exti_rename
boards/ALL: Rename VSYNC EXTI config.
2022-06-02 12:52:15 +02:00
iabdalkader
4fae3d2321 boards/all: Rename VSYNC EXTI config. 2022-06-02 12:44:06 +02:00
Ibrahim Abdelkader
c2eb6ba405
Merge pull request #1656 from openmv/unhandled_exception
ports/stm32: Fix unhandled exception in main.c.
2022-06-02 12:39:17 +02:00
iabdalkader
49b52e081d ports/stm32: Fix unhandled exception in main.c.
* usbdbg_wait_for_command could raise exception when scripts end uninterrupted.
2022-06-02 12:13:46 +02:00
Kwabena W. Agyeman
87c3ac5d95 sensors/mt9v0xx: Add support for color MT9V0xx sensors. 2022-05-29 18:26:58 -07:00
iabdalkader
4f55c02228 boards/NICLAV: Add lsm6dsox driver to manifest. 2022-05-26 10:15:22 +02:00
iabdalkader
b5147fe6c1 usbdbg: Check USB IRQs when blocking on commands.
* If USB IRQs are disabled the command will never finish.
2022-05-25 11:39:41 +02:00
iabdalkader
41d1deaa13 boards/NICLAV: Enable Bluetooth. 2022-05-20 15:23:31 +02:00
iabdalkader
9f06eb4fe1 Bump firmware version. 2022-05-15 20:40:51 +02:00
iabdalkader
42bd64d8b0 ports/all: Add placeholders for new USBDBG commands.
* Fixes  #1634.
* Fixes  #1635.
2022-05-15 19:06:26 +02:00
Ibrahim Abdelkader
5de80634d6
Merge pull request #1639 from openmv/mp_deinit
ports/stm32: Call mp_deinit() before soft reboot.
2022-05-15 18:45:48 +02:00
Ibrahim Abdelkader
4f80e5e741
Merge pull request #1638 from openmv/usb_cdc_buffers_fix
ports/stm32: Reset CDC buffers after disabling IRQs.
2022-05-15 18:45:24 +02:00
iabdalkader
52a0c44275 ports/stm32: Reset CDC buffers after disabling IRQs.
* Fixes #1637 for good.
* Reset USB CDC buffers after disabling IRQs, when stopping
scripts, to avoid overflows or blocking when printing IDE
exception traceback.
2022-05-15 18:40:09 +02:00
iabdalkader
e3c97ac46e ports/stm32: Call mp_deinit() before soft reboot. 2022-05-15 18:38:20 +02:00
Ibrahim Abdelkader
dfcc649aae
Merge pull request #1605 from kwagyeman/kwabena/fix_black_lines
imlib: Fix black lines on first frame.
2022-05-06 19:39:09 +02:00
Ibrahim Abdelkader
b7c0440d3f
Merge pull request #1630 from openmv/stm32_vsync_exti
ports/stm32: Fix VSYNC EXTI handling.
2022-05-05 21:44:37 +02:00
iabdalkader
85b6229123 ports/stm32: Fix VSYNC EXTI handling.
* Check if EXTI line is VSYNC line before clearing the
EXTI flag, to allow extint.c to handler other IRQS.
2022-05-05 21:39:13 +02:00
iabdalkader
df093f04fc boards/PORTENTA: Fix VSYNC EXTI number. 2022-05-05 21:28:18 +02:00
iabdalkader
29e1997af6 boards/OPENMV4: Increase frame line buffer size.
* This allows R2 to support a windowed frame at full resolution.
2022-05-02 20:44:40 +02:00
Ibrahim Abdelkader
d10c883e65
Merge pull request #1623 from openmv/nicla_hse
boards/NICLAV: Fix HSE_VALUE.
2022-04-19 21:17:44 +02:00
iabdalkader
f4bfbf582b boards/NICLAV: Fix HSE_VALUE.
* This board initially used HSI (64MHz) and now it uses HSE (25MHz).
2022-04-19 21:11:53 +02:00
Ibrahim Abdelkader
f7bdec9178
Merge pull request #1607 from kwagyeman/kwabena/fix_deinit
stm32: Fix module deinit between main.py to USBDBG.
2022-04-19 18:03:12 +02:00
iabdalkader
8fad0377d0 boards/NICLAV: Fix power supply mode. 2022-04-19 16:14:25 +02:00
iabdalkader
bf0a057ae3 ports/nrf: Fix mp_init sys_path. 2022-04-18 23:24:12 +02:00
Ibrahim Abdelkader
e344321ea4
Merge pull request #1614 from openmv/vl53l5cx_module
sensors/vl53l5cx: Add vl53l5cx Python module.
2022-04-10 20:47:02 +02:00
iabdalkader
226ae8403e sensors/vl53l5cx: Add vl53l5cx Python module. 2022-04-10 20:40:25 +02:00
iabdalkader
e1fd820960 drivers/vl53l5cx: Add VL53L5CX ST driver. 2022-04-10 20:29:30 +02:00
Larry Bank
5de385ed46 imlib: Fix SIMD YCbCr to RGB conversion.
* Fixes #1597
2022-04-09 12:08:14 +02:00
Kwabena W. Agyeman
7c5fa8641d imlib: Fix black lines on first frame. 2022-04-03 16:42:59 -07:00
Ibrahim Abdelkader
92da636906
Merge pull request #1606 from kwagyeman/kwabena/openmvpt_cache_fixes
imlib: Fix py_lcd cache alignment and handling.
2022-04-03 09:10:17 +02:00
Kwabena W. Agyeman
de17876630 stm32: Fix module deinit between main.py to USBDBG. 2022-04-02 18:26:39 -07:00
Kwabena W. Agyeman
4e62482d5f imlib: Fix cache usage for the OpenMV PT for its LCD. 2022-04-02 17:49:30 -07:00
dianjixz
3bdae6d7e2
imlib: Fix quad_segment_maxima memory leak.
Memory forgot to free when nmaxima is least 4 maxima.
2022-03-30 16:21:49 +08:00
iabdalkader
ab6dc1aad9 ports/rp2: Fix cambus fast mode plus frequency. 2022-03-15 22:54:53 +02:00
iabdalkader
927edf6a8b ports/rp2: Add cambus gencall. 2022-03-15 22:50:26 +02:00
iabdalkader
054cec7467 sensors/MLX9064x: Sync frame reading.
* Fix frame glitches when reading speed is slower than framerate.
2022-03-15 22:35:02 +02:00
iabdalkader
9ed84c6334 imlib: Add ImageIO finaliser to close the stream when deleted. 2022-03-14 16:31:45 +02:00
iabdalkader
3085dc20cd sensors/FIR: Support buses with multiple devices.
* Fixes #1584
2022-03-12 00:21:37 +02:00
iabdalkader
2960a803cb sensors/cambus: Support returning multiple devices from scan. 2022-03-12 00:04:11 +02:00
iabdalkader
ef275cf29c Bump firmware version. 2022-03-10 21:14:08 +02:00
iabdalkader
20b98f02c9 Bump firmware version. 2022-03-10 21:01:20 +02:00
Ibrahim Abdelkader
134ef5ece3
Merge pull request #1585 from openmv/winc1500_timeout
drivers/winc1500: Fix timeout handling.
2022-03-10 20:46:00 +02:00
iabdalkader
39d6f0f9a0 drivers/winc1500: Fix timeout handling.
* Change timeout meaning to match modusocket timeout.
2022-03-10 20:37:26 +02:00
Ibrahim Abdelkader
03d6c93002
Merge pull request #1583 from kwagyeman/kwabena/add_lepton_version_number
sensors/Lepton: Update to support version number in IDE.
2022-03-10 18:56:10 +02:00
Kwabena W. Agyeman
859d8139db Lepton: Update to support version number in IDE. 2022-03-10 08:27:30 -08:00
iabdalkader
ac7540db38 micropython: Update to 1.18. 2022-03-10 02:06:04 +02:00
iabdalkader
c0dd6a3b82 boards/NANO-RP2040: Update manifest. 2022-03-10 01:30:41 +02:00
iabdalkader
797f327770 boards/OPENMVPT: Fix RTC errata. 2022-03-09 01:19:49 +02:00
iabdalkader
f8342b92ab stm32: Fix openmv disk file.
* Fixes #1574
2022-03-06 05:22:41 +02:00
iabdalkader
56a06250ac sensors: Fix GC2145 window subsampling ratio.
* Fixes #1570
2022-03-06 05:07:52 +02:00
iabdalkader
c0e3a17919 boards: Remove raw FB size macro.
* This old macro is very easy to miss when updating OMV_FB_SIZE.
* Use a linker script variable to get the raw framebuffer size.
2022-03-04 01:55:30 +02:00
iabdalkader
5c96d9004b OPENMV2: Update memory config to fix self-test issues. 2022-03-03 14:58:10 +02:00
iabdalkader
248e15b3a7 stm32: Fix RTC clock source for 4P and PT. 2022-03-03 14:20:59 +02:00
iabdalkader
44a2216de7 OPENMVPT: Set RTC clock source back to LSE on startup. 2022-03-02 16:00:42 +02:00
iabdalkader
82e7acb979 OPENMVPT: Disable RTC LSE clock source.
* Due to an issue with the crystal oscillator, the LSE can't be
enabled without reworking the board, otherwise it will never start.
2022-02-28 16:13:52 +02:00
iabdalkader
ad55071c5f stm32: Add LSE driver strength config option. 2022-02-28 03:06:52 +02:00
iabdalkader
38c26cec92 imlib: Add hardware JPEG decoder support. 2022-02-27 20:23:16 +02:00
iabdalkader
b5b26ff390 imlib: Fix JPEG decompress buffers cache alignment. 2022-02-27 17:34:40 +02:00
iabdalkader
421a685370 imlib: Update JPEG decoder and fix memory issues.
* Fix MemManage fault on decoding odd images.
* Support decoding YCBCR to Grayscale.
* Support decoding Grayscale to RGB565.
* Minor formatting fixes.
* Use a single decompress function for all formats.
* Fixes #1550
2022-02-27 16:14:49 +02:00
Ibrahim Abdelkader
d895e169fd
Merge pull request #1555 from openmv/pt_lse_mode
OPENMVPT: Fixe LSE oscillator mode.
2022-02-26 03:16:40 +02:00
Ibrahim Abdelkader
3551d6d280
Merge pull request #1554 from openmv/jpeg_callbacks
imlib: Enable hardware JPEG callbacks.
2022-02-26 03:04:48 +02:00
iabdalkader
275db7facc OPENMVPT: Fixe LSE oscillator mode. 2022-02-26 03:04:23 +02:00
iabdalkader
490ce48b54 imlib: Enable hardware JPEG callbacks. 2022-02-26 02:58:55 +02:00
dianjixz
aa614370df
imlib: Fix imlib_rgb565_to_l output.
It should not be negative when the imlib_rgb565_to_l function input is zero, e.g. y=0.137931f, fast_floorf(116 * 0.137931f) = 15.999996,  15.999996 - 16 < 0.
2022-02-24 13:57:36 +08:00
iabdalkader
8df4b647d0 OPENMVPT: Fix H7 RTC clock source. 2022-02-22 03:47:25 +02:00
Lincoln Lorenz
bc07e01312 Lepton: Fix default temperature range. 2022-02-18 12:43:55 -05:00
Lincoln Lorenz
6b2cd10088 Lepton: Add high temperature measurement mode support. 2022-02-18 01:49:09 +02:00
iabdalkader
383cf75704 Bump firmware version. 2022-02-17 21:59:42 +02:00
iabdalkader
18b50a2f2e py_tf.c: Fix output scaling for uint8/int8. 2022-02-17 21:35:52 +02:00
iabdalkader
f3384f9942 Bump firmware version. 2022-02-14 22:00:52 +02:00
iabdalkader
0cb8a9eb69 ulab: Update to v4.0.0
* Fixes #1521
2022-02-12 18:34:32 +02:00
iabdalkader
9de1f50a65 Libtf: Add support for replacing/adding built-in models. 2022-02-08 02:10:16 +02:00
Kwabena W. Agyeman
acb3ceb45d Make space for object detection networks 2022-02-07 20:42:27 +02:00
iabdalkader
66860540d2 NICLAV: Add readme txt. 2022-01-27 18:07:34 +02:00
iabdalkader
7cdc974c2e Nicla: Rename board files. 2022-01-27 17:28:36 +02:00
Ibrahim Abdelkader
36b7e57bf5
Merge pull request #1510 from openmv/add_png_support
Add png support
2022-01-27 03:16:49 +02:00
Kwabena W. Agyeman
f12a4659c8 Add PNG Support 2022-01-27 03:04:59 +02:00
iabdalkader
4dac638338 Lodepng updates.
* Configure the library for OpenMV.
* Reverse bit format endianness.
* Add a custom color conversion callback.
* Make RGB to GS conversion use channels average.
2022-01-27 03:04:41 +02:00
iabdalkader
f6ea2d4deb Add lodepng PND decoder/encoder. 2022-01-27 03:02:23 +02:00
Ibrahim Abdelkader
9d8dcf8d5c
Merge pull request #1512 from kwagyeman/kwabena/fix_strncpy
Fix strncpy issue with new GCC
2022-01-26 15:49:12 +02:00
Kwabena W. Agyeman
927854257c Fix strncpy issue with new GCC 2022-01-25 22:11:34 -08:00
iabdalkader
3af6a95793 RP2: Add UART init/deinit and softreboot message. 2022-01-25 15:54:37 +02:00
Ibrahim Abdelkader
69fd21acd2
Merge pull request #1195 from kwagyeman/kwabena/portena_poe_shield_fixes
Add support for the OV5640 to the Arduino Portenta
2022-01-22 22:57:56 +02:00
iabdalkader
c2b6e2a1f5 NANO-RP2040: Fix raw buffer size.
* Fixes #1505
2022-01-19 22:19:08 +02:00
iabdalkader
9981a29e8b NANO-RP2040: Update memory config. 2022-01-17 23:37:41 +02:00
Kwabena W. Agyeman
b57db1d8e8 Add support for the Portenta for the OV5640 2022-01-16 15:37:08 -08:00
iabdalkader
1379b173dd NANO-RP2040: Add fresh filesystem custom templates. 2022-01-15 23:27:57 +02:00
iabdalkader
2ae2465d6a Bump firmware version. 2022-01-09 22:20:21 +02:00
Ibrahim Abd Elkader
d0dcadb4d8
Merge pull request #1498 from openmv/fb_cache_fix
Make sure cached CPU writes are flushed before returning the buffer
2022-01-09 22:01:21 +02:00
iabdalkader
e6cc4223d4 Make MDMA fully offload image transfer by default. 2022-01-09 21:15:54 +02:00
iabdalkader
1c6b452bba * Invalidate framebuffer cache before using.
* Fixes #1407
2022-01-09 21:06:29 +02:00
Kwabena W. Agyeman
9f980c8148 Fix all issues with ImageIO to support all modes and older files 2022-01-09 10:43:40 -08:00
Kwabena W. Agyeman
6689dcde4e Fix copy_to_fb when targetting an image 2022-01-09 09:48:48 -08:00
Kwabena W. Agyeman
2e8b6cf2ab Comment out distance sensor initially 2022-01-08 14:21:05 -08:00
Kwabena W. Agyeman
0dafebddb5 Fix flag spec on timer 2022-01-06 22:54:08 -08:00
iabdalkader
3eef51b229 Nina WiFi driver fixes.
* Return -1 on timeout error from recv(), recvfrom(), send() and sendto().
* Disable active connections before connecting/reconnecting.
* Fix manual DNS bug.
* Set secondary DNS server
2022-01-05 18:45:57 +02:00
Ibrahim Abd Elkader
0933da0d12
Merge pull request #1486 from kwagyeman/kwabena/update_mt
Update MT driver to support the 22/24/32/34
2022-01-03 22:23:13 +02:00
iabdalkader
a0504eda90 Create fresh filesystem contents for Nano RP2040. 2022-01-03 19:30:47 +02:00
iabdalkader
165d3ac712 Move fresh filesystem code to factoryreset.c 2022-01-03 19:30:47 +02:00
iabdalkader
486a25d85e ff_wrapper: Add f_touch_helper. 2022-01-03 19:30:41 +02:00
iabdalkader
6f4f4844fb Portenta: Add custom readme file. 2022-01-03 15:05:40 +02:00
Kwabena W. Agyeman
84f53d01bb Update MT driver to support the 22/24/32/34 2022-01-02 13:54:17 -08:00
iabdalkader
b1cc0aae98 NANO-RP2040: Add support for DHT11 and DHT22 sensors. 2022-01-02 15:47:46 +02:00
iabdalkader
bb1b5948e0 Bump firmware version. 2022-01-01 18:15:49 +02:00
iabdalkader
8cb4b8fea4 Bump firmware version. 2022-01-01 17:54:36 +02:00
iabdalkader
a6f026ba81 Move fresh filesystem contents to template files. 2022-01-01 00:36:20 +02:00
Ibrahim Abd Elkader
40372df6ce
Merge pull request #1482 from openmv/pyexec_frozen_modules
Execute frozen boot scripts first before filesystem.
2021-12-31 20:31:15 +02:00
iabdalkader
b0c7a32721 Rework boot scripts and pyexec.
* Run frozen _boot.py if it exists (for early boot stuff).
* Allow freezing main.py and boot.py boot scripts.
* Give frozen boot scripts priority over filesystem boot scripts.
2021-12-31 20:17:42 +02:00
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
804b510ac7 Fix ULPI DIR pin definition. 2021-12-29 16:20:28 +02:00
Kwabena W. Agyeman
165408f3c8 Fix jpeg loading 2021-12-28 19:04:38 -08:00
iabdalkader
0a82b20911 Bump firmware version. 2021-12-18 23:50:04 +02:00
iabdalkader
508419f6d5 Bump firmware version. 2021-12-13 20:08:26 +02:00
Kwabena W. Agyeman
c05e945016 Unsigned var in count down loop fixed 2021-12-11 18:38:28 -08:00
iabdalkader
70830281bd Add missing MT9M114 ID. 2021-12-11 23:03:39 +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
iabdalkader
df6f77bd06 Bump firmware version. 2021-11-09 16:55:44 +02:00
iabdalkader
a86369477b Portenta: Set default sensor clock to 12MHz.
* Support detecting MT9V034.
* Add Himax specific clock.
2021-10-28 20:38:03 +02:00
Ibrahim Abd Elkader
d322bcf0de
Merge pull request #1460 from kwagyeman/kwabena/fix_network_usage_in_scripts
Kwabena/fix network usage in scripts
2021-10-18 21:05:04 +02:00
Kwabena W. Agyeman
2603c12854 Fix IS_JPEG 2021-10-16 21:49:36 -07: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
899f80759f Fix errode/dilate to work on non-white pixels 2021-10-16 12:10:24 -07: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
Ibrahim Abd Elkader
853d48f377
Merge pull request #1458 from kwagyeman/kwabena/draw_image_for_lsd
Move find_line_segments to draw image
2021-10-08 18:22:58 +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