Commit Graph

2261 Commits

Author SHA1 Message Date
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
4e82dcecc1 Update bormio/nicla pinout. 2021-09-18 00:20:20 +02: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
Ibrahim Abd Elkader
7fa4712504
Merge pull request #1432 from bitbank2/master
speed up software JPEG encoding by about 10% with improved bit handling
2021-09-04 14:26:46 +02:00
Laurence Bank
be80eb442a fixed overflow situation for jpeg encoding 2021-09-04 11:36:55 +01:00
Laurence Bank
2bc29c766b Fixed overflow situation 2021-08-31 16:24:27 +01:00
iabdalkader
2bce479868 Bump firmware version. 2021-08-27 15:12:52 +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
43e66047f9 NANO33: Update flash size. 2021-08-26 14:44:46 +02:00
iabdalkader
83c0ee97ce Fix set_framerate. 2021-08-24 23:00:46 +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
7c2d21246b Fix ioctls args checking. 2021-08-17 14:20:12 +02:00
Laurence Bank
68654e70a9 speed up software JPEG encoding by about 10% with improved bit handling 2021-08-16 20:51:54 +01:00
iabdalkader
f09281f123 Fix missing PI definition for NRF modules. 2021-08-11 21:48:55 +02:00
iabdalkader
40deb8aaef Add example Python module. 2021-08-11 21:48:37 +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
e00d9b8e50 Add ulab submodule. 2021-08-11 19:56:08 +02:00
iabdalkader
ad96d3e68d Enable text compression and fix all exception issues. 2021-08-11 16:24:45 +02:00
iabdalkader
7d24c90236 Portenta: add ble_advertising.py to manifest. 2021-08-11 14:45:38 +02:00
iabdalkader
0ccd97a29f GC2145: Fix pll. 2021-08-08 20:30:12 +02:00
iabdalkader
e1876886c4 GC2145 driver updates. 2021-08-08 19:31:48 +02:00
iabdalkader
1755603bc8 Update RP2 boards I2C pinout. 2021-08-06 18:06:29 +02:00
iabdalkader
c6d0ec9d25 Fix sensor.read_reg 2021-08-06 17:45:24 +02:00
iabdalkader
bd245546b7 Bump firmware version. 2021-08-02 22:47:12 +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
Ibrahim Abd Elkader
0da68711e0
Merge pull request #1419 from openmv/ulpi_lp
Fix ULPI low power mode entry with USB disconnected.
2021-07-31 22:22:53 +02:00
Ibrahim Abd Elkader
f1021d9e26
Merge pull request #1420 from openmv/py_sensor_reset
Use sensor_strerror for sensor_reset error.
2021-07-31 22:22:40 +02:00
iabdalkader
2fb2265621 Use sensor_strerror for sensor_reset error. 2021-07-31 21:57:23 +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
b7afb29ed9 Fix HM01B0 reset function. 2021-07-31 21:38:29 +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
e65d6f216e RP2: Nina BT fixes and updates. 2021-07-20 00:42:32 +02:00
Ibrahim Abd Elkader
33cb5317ed
Merge pull request #1399 from openmv/portenta_breakout_support
Portenta: Add alternate I2C and PWM for breakout board.
2021-07-16 22:43:28 +02:00
iabdalkader
373562f293 Portenta: Add alternate I2C and PWM for breakout board.
* Add support for the breakout board.
* Enable extra sensor drivers.
2021-07-16 21:52:59 +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
fab3cbeb9a PORTENTA: Update pinout 2021-07-15 20:09:16 +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
d618e6dfe5 PORTENTA: Fix SPI CS pin. 2021-07-14 19:17:35 +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
c8bf0af6fe Use sensor error codes in py_sensor. 2021-07-01 23:04:21 +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
iabdalkader
5a1d74d5eb Rename dcmi/dma config functions. 2021-06-29 16:34:32 +02:00
iabdalkader
0da5002b79 Rename sensor functions for consistency across ports. 2021-06-29 14:36:19 +02:00
Kwabena W. Agyeman
642c503744
Add jpeg decoding support (#1371)
* Add jpeg decoding support
2021-06-29 01:49:53 +02:00
iabdalkader
5bdbb9f748 Add urequests module to frozen modules. 2021-06-26 20:12:34 +02:00
iabdalkader
4842a1086c RP2: Update MSC mode.
* Fix inquiry_cb bug.
* Align with upstream PR.
2021-06-25 19:17:43 +02:00
iabdalkader
25525aaf11 Rename dcmi_abort to sensor_abort. 2021-06-25 00:05:33 +02:00
iabdalkader
83da16f3c2 RP2: Add DCMI PIO to NANO RP2040. 2021-06-21 23:11:08 +02:00
iabdalkader
b0589566cd RP2: Move DCMI PIO to board dir. 2021-06-21 22:57:54 +02:00
iabdalkader
68663f489d RP2: Move dcmi_config to pio file. 2021-06-21 22:46:11 +02:00
iabdalkader
012313b791 Bump firmware version. 2021-06-19 22:47:57 +02:00
Kwabena W. Agyeman
f06fce870d Finish MT9M114 driver 2021-06-19 12:08:49 -07:00
iabdalkader
626440713e Add Nano 2040 to release build. 2021-06-17 20:19:51 +02:00
iabdalkader
21f4c0e0da RP2: Don't build sensor.c if it's disabled. 2021-06-17 15:56:37 +02:00
Ibrahim Abd Elkader
ce22083930
Merge pull request #1367 from kwagyeman/kwabena/mt9m114_driver_finishing
Add method to get actual xclk freq
2021-06-16 22:53:55 +02:00
Lake Fu
15264b7dac
Support PixArt image sensor PAJ6100 (#1365)
* Support PixArt image sensor PAJ6100
2021-06-16 22:45:14 +02:00
Kwabena W. Agyeman
a1c2ef7612 Add method to get actual xclk freq 2021-06-15 21:32:43 -07:00
iabdalkader
f72c4d75de Add RP2040 port and Pico and Nano board files. 2021-06-15 23:35:32 +02:00
Ibrahim Abd Elkader
05a307e0b2
Merge pull request #1363 from kwagyeman/kwabena/mt9m114_driver_update
Update MT9M114 driver to work
2021-06-14 14:22:16 +02:00
Kwabena W. Agyeman
b3d2d5484c Update MT9M114 driver to work 2021-06-13 19:32:34 -07:00
Lake Fu
5f4250e74e
Reorganize the ISC SPI related handles/macros. (#1360)
* Reorganize the ISC SPI related handles/macros.

The SPI bus on image sensor connector is not design for Lepton sensor only.
Thereforce, change the related functions and macros name from LEPTON_SPI_*
to ISC_SPI_* and move interrupt callback to sensor.c.
2021-06-12 15:56:08 +02:00
Ibrahim Abd Elkader
a7f2a6fcab
Merge pull request #1356 from kwagyeman/kwabena/make_frame_rate_control_work
Add working frame rate control for all sensors to STM32
2021-06-09 19:41:00 +02:00
Ibrahim Abd Elkader
a3c7d65f26
Merge pull request #1353 from kwagyeman/kwabena/disable_auto_flush
Add disable full flush logic
2021-06-09 19:04:01 +02:00
Ibrahim Abd Elkader
f0f5c8cf79
Merge pull request #1359 from kwagyeman/kwabena/add_missing_check
Add missing framesize init check
2021-06-09 14:42:47 +02:00
Kwabena W. Agyeman
c3f80e2af8 Add missing framesize init check 2021-06-08 21:50:56 -07:00
Kwabena W. Agyeman
8ec2fbcb70 Add feature to disable the full flush on the frame buffer 2021-06-08 21:48:28 -07:00
Kwabena W. Agyeman
9124d765a9 set_frame_rate now works for any FPS 2021-06-08 21:16:53 -07:00
iabdalkader
fe1a84b1f6 Keep JPEG MDMA handles local. 2021-06-09 00:38:49 +02:00
Ibrahim Abd Elkader
af79b8c3cf
Merge pull request #1355 from kwagyeman/kwabena/add_missing_resolutions
Add missing resolutions to sensor driver
2021-06-08 21:20:12 +02:00
Ibrahim Abd Elkader
cce06dbb32
Merge pull request #1352 from kwagyeman/kwabena/better_sensor_error_message
Improve snapshot error messages
2021-06-08 01:06:10 +02:00
Ibrahim Abd Elkader
93a8e5635f
Update src/omv/modules/py_sensor.c 2021-06-08 01:06:00 +02:00
Kwabena W. Agyeman
20546fc7bc Add missing resolutions to sensor driver 2021-06-07 12:12:15 -07:00
Kwabena W. Agyeman
5669011efc Fix RGB565 byte reversal flag name 2021-06-07 11:57:14 -07:00
Kwabena W. Agyeman
9ae5b8096a Improve snapshot error messages 2021-06-07 10:45:32 -07:00
Kwabena W. Agyeman
772bfab269 Enable full mdma offload 2021-06-06 18:48:14 -07:00
iabdalkader
4d50e5682c Generate bin and hex for nRF/NANO33. 2021-05-28 15:49:00 +02:00
iabdalkader
b0f36d4d0e Bump firmware version. 2021-05-27 20:36:43 +02:00
iabdalkader
3ea5a2defe AMG init fix.
* Allow AMG to work if CAMBUS_XFER_SUSPEND is not supported.
2021-05-27 20:12:56 +02:00
iabdalkader
1b9c7f47b1 ULPI low power mode fixes.
* Wait for DIR pin to go low.
2021-05-27 00:27:07 +02:00
iabdalkader
b4eef0c5b6 Make OV7670 CLKRC configurable. 2021-05-26 21:24:16 +02:00
Ibrahim Abd Elkader
8a01049f0e
Merge pull request #1339 from kwagyeman/kwabena/fix_name_typo
Fix name typo
2021-05-26 20:44:24 +02:00
iabdalkader
cda08226ba Update IRQ priorities. 2021-05-24 21:23:50 +02:00
Kwabena W. Agyeman
ab334a403e Fix name typo 2021-05-23 18:39:26 -07:00
Ibrahim Abd Elkader
b5741ac543
Merge pull request #1328 from openmv/fix_mutex
Fix mutex locking.
2021-05-21 23:57:59 +02:00
iabdalkader
30d124d786 GC2145 updates. 2021-05-21 23:21:19 +02:00
iabdalkader
6f02fa2114 Fix mutex locking. 2021-05-21 23:17:40 +02:00
iabdalkader
29e2c0918b GC2145 driver fixes. 2021-05-17 16:01:46 +02:00
Ibrahim Abd Elkader
3205e96afd
Merge pull request #1322 from openmv/ov7670_update
Update OV767x driver.
2021-05-17 00:28:49 +02:00
iabdalkader
e52f0eceba Update OV767x driver. 2021-05-16 23:46:48 +02:00
Ibrahim Abd Elkader
45ef7ac4ba
Merge pull request #1321 from openmv/tf_build
py_tf: fix headers when module is disabled.
2021-05-16 23:36:21 +02:00
iabdalkader
3a310bf6dd py_tf: fix headers when module is disabled. 2021-05-16 23:03:03 +02:00
iabdalkader
dcc2e1cad7 Use pre-defined GCC macro to test for the architecture.
* CPU macro was not actually defined, which made the test pass on all MCUs.
2021-05-16 22:29:26 +02:00
Ibrahim Abd Elkader
1a7bff818a
Merge pull request #1319 from openmv/py_sensor_include
Remove extra include.
2021-05-15 00:07:19 +02:00
iabdalkader
98c9f99b71 Remove extra include. 2021-05-14 23:22:23 +02:00
iabdalkader
d89bc9ebec Fix build error if assert is defined in apriltag.c 2021-05-14 23:16:27 +02:00
iabdalkader
974e2efa34 Rename mutex_t to avoid conflict with other SDKs. 2021-05-14 22:39:12 +02:00
iabdalkader
5810304023 Add basic GC2145 driver 2021-05-14 01:30:47 +02:00
iabdalkader
606c0691d1 Bump firmware version. 2021-05-13 23:38:23 +02:00
iabdalkader
5d3e2c60c2 Bump firmware version. 2021-05-13 23:08:24 +02:00
Ibrahim Abd Elkader
3814f8cebe
Merge pull request #1315 from kwagyeman/kwabena/disable_servo
Disable servo when not used
2021-05-13 22:57:10 +02:00
Ibrahim Abd Elkader
9935547b2c
Merge pull request #1311 from kwagyeman/kwabena/fix_usbdbg_flush
Fix usbdbg flushing before script end
2021-05-13 22:24:25 +02:00
Kwabena W. Agyeman
daa99135bc Disable servo when not used 2021-05-13 13:03:39 -07:00
Kwabena W. Agyeman
d1b6202693 Fixed usb command draining 2021-05-13 12:50:52 -07:00
iabdalkader
dbc467f928 Fix reset to bootloader command.
* Set RTC magic only for boards that need it.
2021-05-13 21:34:08 +02:00
iabdalkader
1c4a5dd96a NANO: Disable WiFi debug flag which is not supported. 2021-05-13 21:11:34 +02:00
Kwabena W. Agyeman
ada18eceed Fix mutex init 2021-05-13 07:32:08 -07:00
iabdalkader
ed43bd58c0 Make mutex support Cortex-M0/M0+ 2021-05-12 23:19:10 +02:00
Kwabena W. Agyeman
c209ac8b58
Flush jpeg buffer when image is invalidated (#1300) 2021-05-12 02:22:56 +02:00
Ibrahim Abd Elkader
381e6257ef
Merge pull request #1304 from kwagyeman/kwabena/frame_cb
Add frame complete callback support
2021-05-10 02:19:52 +02:00
iabdalkader
af05b403c8 Improved WiFi debugging. 2021-05-09 23:48:27 +02:00
Ibrahim Abd Elkader
571ed1f466
Merge pull request #1302 from kwagyeman/kwabena/add_priority_to_locking
Make frame buffer readout locking more fair
2021-05-08 02:02:56 +02:00
Kwabena W. Agyeman
94462ef746 Add frame complete callback support 2021-05-06 21:12:48 -07:00
Ibrahim Abd Elkader
5f5deb341f
Merge pull request #1303 from kwagyeman/kwabena/fix_crop_init
Cropped not True if framesize is invalid
2021-05-07 01:54:52 +02:00
Ibrahim Abd Elkader
e23fb45195
Merge pull request #1299 from kwagyeman/kwabena/improve_set_windowing
Make set_windowing much more flexible
2021-05-06 02:19:29 +02:00
Kwabena W. Agyeman
3e9c435540 Make set_windowing much more flexible 2021-05-05 16:40:28 -07:00
Kwabena W. Agyeman
466e0ad6d3 Cropped not True if framesize is invalid 2021-05-05 16:38:24 -07:00
Kwabena W. Agyeman
8150459399 Make frame buffer readout locking more fair 2021-05-04 22:02:14 -07:00
iabdalkader
f6bc7c4a0f Implement missing USBDBG function to return IRQ status. 2021-05-04 20:22:50 +02:00
Kwabena W. Agyeman
b05415b373
MDMA Offload for camera data capture. (#1271)
* Add MDMA acceleration to camera module

* Update src/omv/ports/stm32/sensor.c

* Update src/omv/ports/stm32/sensor.c

* Update src/omv/ports/stm32/sensor.c

* Update src/omv/ports/stm32/sensor.c

Co-authored-by: Ibrahim Abd Elkader <i.abdalkader@gmail.com>
2021-05-01 20:53:47 +02:00
Ibrahim Abd Elkader
573affea26
Merge pull request #1288 from kwagyeman/kwabena/no_change_checks
Add no change checks
2021-05-01 20:14:12 +02:00
Jeff Epler
36fb0226db
Fix build errors encountered with GNU Arm Embedded Toolchain 10-2020-q4-major (#1285)
* stm32: Fix gcc10 array-bounds diagnostics.
* nm_common.h: Fix "multiple definition of `at_sb_printf'".
* py_clock.h: Fix "multiple definition of `py_clock_type'".
* lepton.c: Fix gcc10 array-bounds diagnostics.
* py_fir_lepton.c: Fix gcc10 array-bounds diagnostics.
* winc1500: Fix possible string truncation of 32-byte SSIDs
* travis.yml: Use 10-2020q4, presently the newest arm toolchain
2021-05-01 19:39:59 +02:00
iabdalkader
d0c77f9070 Disable inline for small functions 2021-04-30 21:02:54 +02:00
Kwabena W. Agyeman
44db70588d Use new software I2C 2021-04-30 10:06:10 -07:00