Commit Graph

2414 Commits

Author SHA1 Message Date
iabdalkader
403e8ae798 Fix FSYNC pin.
* Disable FSYNC flag for sensors that don't actually use it.
* Only control the FSYNC pin for sensors that set the FSYNC flag.
2020-02-21 14:04:58 +02:00
iabdalkader
bde5826c68 Fix USB descriptor offsets for HS mode. 2020-02-20 23:53:40 +02:00
Ibrahim Abd Elkader
f11daf34ac
Merge pull request #725 from openmv/config_clock
Move clock config to board files.
2020-02-18 21:56:35 +02:00
Ibrahim Abd Elkader
a7db5c2b93
Merge pull request #723 from kwagyeman/kwabena/improve_alloc_fb
Fixed alloc_extra_fb.
2020-02-18 21:52:59 +02:00
Ibrahim Abd Elkader
2ea22196a0
Merge pull request #722 from kwagyeman/kwabena/fix_tf_loading_issue
Fix bug with TF load_to_fb
2020-02-18 21:49:05 +02:00
Ibrahim Abd Elkader
1a8082a8d3
Merge pull request #721 from kwagyeman/kwabena/upgrade_windowing_code
Fix up set windowing and add way to get current window.
2020-02-18 21:47:52 +02:00
iabdalkader
9fbab16c75 Move clock config to board files. 2020-02-18 21:46:09 +02:00
Kwabena W. Agyeman
9e0c47e561 Fixed alloc_fb stuff and now allows yout to alloc any number of bytes... 2020-02-17 19:09:46 -08:00
Kwabena W. Agyeman
4b07290a9e Fix bug with load_to_fb 2020-02-17 18:50:28 -08:00
Kwabena W. Agyeman
705e98f915 Remove:
* Unused py_sensor.h header file.
* Unused set_framerate method.
* Unused py_sensor_print method.
* Removed unused set_binning.
2020-02-17 18:36:55 -08:00
Kwabena W. Agyeman
f02a16ef3d Fix up set windowing and add way to get current window. 2020-02-17 18:35:10 -08:00
Ibrahim Abd Elkader
1a344bd9cd
Merge pull request #719 from openmv/lcd_bgr
Add BGR argument to lcd init.
2020-02-15 20:55:45 +02:00
iabdalkader
0cfae6334e Add BGR argument to lcd init. 2020-02-15 19:53:03 +02:00
Ibrahim Abd Elkader
7471a101a2
Merge pull request #718 from kwagyeman/kwabena/disable_roation_when_pitch
Disable rotation when pitch is wrong
2020-02-14 19:59:52 +02:00
Ibrahim Abd Elkader
f58980fdc8
Merge pull request #716 from kwagyeman/kwabena/rotation_integration
Auto rotation enabled
2020-02-14 18:17:20 +02:00
Kwabena W. Agyeman
be3b73d6eb Disable rotation when pitch is wrong 2020-02-13 22:00:12 -08:00
Kwabena W. Agyeman
894446f826 Fix OV2640 sleep. 2020-02-12 21:51:43 -08:00
Kwabena W. Agyeman
3c970e860a Auto rotation enabled 2020-02-12 21:49:32 -08:00
iabdalkader
e1d127635f Update Portenta SDRAM frequency. 2020-02-12 21:07:16 +02:00
Ibrahim Abd Elkader
385eb2df85
Merge pull request #715 from kwagyeman/kwabena/hm01b0_id
Add hm01b0 id
2020-02-12 20:54:08 +02:00
Ibrahim Abd Elkader
58f7d5e3c2
Merge pull request #714 from kwagyeman/kwabena/ov7690_driver_round_2
New OV7690 camera driver.
2020-02-12 20:53:45 +02:00
Ibrahim Abd Elkader
60bdb4bb20
Merge pull request #711 from kwagyeman/kwabena/improve_sensor_module
Improve sensor module with transpose and get operations
2020-02-12 20:50:37 +02:00
Kwabena W. Agyeman
15901697b0 Add hm01b0 id 2020-02-11 22:23:16 -08:00
Kwabena W. Agyeman
98d203c747 New OV7690 camera driver. 2020-02-11 22:18:02 -08:00
Kwabena W. Agyeman
f314ac4e72 Improve sensor module with transpose and get operations 2020-02-11 20:59:36 -08:00
iabdalkader
3c1c68474f Add portenta micropython board files. 2020-02-11 21:19:13 +02:00
iabdalkader
5bafb41b21 Check for H747 in adc and flashbdev. 2020-02-11 20:43:20 +02:00
iabdalkader
ff14470ed7 Support boards without SD cards. 2020-02-11 20:21:04 +02:00
iabdalkader
2383df9552 Fix H747 floating point flags. 2020-02-11 20:12:29 +02:00
iabdalkader
e56a1341f2 Make IMU configurable. 2020-02-11 15:20:14 +02:00
iabdalkader
2d4af88568 Enabel IMU module in MicroPython. 2020-02-11 14:41:42 +02:00
Kwabena W. Agyeman
3097793370 Add IMU driver 2020-02-10 23:25:50 -08:00
iabdalkader
7ca59eae7c Make WINC1500 module configurable. 2020-02-10 22:38:56 +02:00
iabdalkader
b94a1a536b Fix OTG HS WKUP IRQHandler 2020-02-10 20:46:01 +02:00
iabdalkader
2227459458 Fix H747 powerctrl flag. 2020-02-10 20:20:46 +02:00
iabdalkader
c4b716261c Fix CAN header. 2020-02-10 20:06:46 +02:00
iabdalkader
70b1592979 Make CDC buffer size configurable. 2020-02-10 19:48:26 +02:00
iabdalkader
9f2e0d66ca Allow sensor clock to not be defined.
* Add OMV_XCLK_OSC to use when an external osc is used.
2020-02-09 22:14:26 +02:00
iabdalkader
723407fed5 Use USB PID if defined for all different configurations. 2020-02-09 21:40:41 +02:00
iabdalkader
919ac09a26 Move USB descriptor config to board config files. 2020-02-09 20:19:47 +02:00
iabdalkader
5df09dc3fa Set default pixel format to bayer. 2020-02-09 19:04:17 +02:00
iabdalkader
3a7dd95ecc Fix sensor address and manf. ID. 2020-02-09 18:48:35 +02:00
iabdalkader
abd977c60f Add HIMAX HM01B0 driver. 2020-02-08 21:25:59 +02:00
iabdalkader
85b207ce3f Bump firmware version. 2020-02-07 23:05:31 +02:00
iabdalkader
87817f37f3 Bump firmware version. 2020-02-07 21:56:13 +02:00
iabdalkader
71a33278c0 DAC timed write fix.
* This is a workaround until a proper fix is found.
2020-02-07 19:48:35 +02:00
iabdalkader
0a8cc4f838 Fix self-tests bug.
* This is an edge case which happens if a file is written to the flash storage
immediately after the first boot and before a reset causing the host to corrupt
the selftests.py script.
* The selftests.py is now executed before USB MSC is enabled to avoid
corrupting the filesystem when selftests.py is removed.
* If the selftests.py fails, the USB MSC is enabled to allow the host to read the error log.
2020-02-06 18:10:24 +02:00
iabdalkader
176cb93489 Add UVC support for OMV4P. 2020-02-05 22:24:03 +02:00
iabdalkader
f20fdf4a83 Rename OPENMV4R target. 2020-02-05 20:10:37 +02:00
Larry Bank
2c61d5ec11
QRCode optimizations (#687)
* QRCode optimizations

* Added fast RGB to gray macro
2020-02-04 22:31:59 +02:00
iabdalkader
5d4ef2632d Add USB debug command to return sensor ID. 2020-02-03 23:18:29 +02:00
iabdalkader
0e4b46e416 Disable OMV3 YUV table.
* YUV table is not needed anymore now that the optimized JPEG
code is almost as fast as the LUT.
2020-02-03 18:49:03 +02:00
Larry Bank
8aa56c7ebf Optimized grayscale and binary for SW encoder 2020-02-02 22:20:02 +01:00
Larry Bank
d7e3dc0c7e removed debugging statement 2020-02-02 19:19:17 +01:00
Larry Bank
de919bbd40 optimized vga jpeg encode and removed need for YUV LUT 2020-02-02 19:17:42 +01:00
Larry Bank
d12d033e10 First pass optimization of SW JPEG encoder 2020-02-02 13:59:26 +01:00
Larry Bank
f2121c2508 Fixed find_line_segments() regression 2020-02-01 18:28:42 +01:00
iabdalkader
abfb6537bc Re-enable F7 overdrive after waking up from stop mode. 2020-01-31 14:56:42 +02:00
iabdalkader
e15aba2a08 Update H7 I2C timings.
* Fixes #676
2020-01-30 20:11:31 +02:00
iabdalkader
9a367a191e Redo upstream patch to support 32MBs QSPI.
* This is the same patch to support bigger QSPI flashes, after being merged in upstream.
2020-01-30 13:06:46 +02:00
iabdalkader
a37f27f7c4 Pull upstream patch to support 32MBs QSPI. 2020-01-29 19:36:02 +02:00
iabdalkader
eafd431ea8 Update to MP 1.12 2020-01-27 19:50:38 +02:00
iabdalkader
95dcc0b5ce Update QSPI driver. 2020-01-25 18:30:02 +02:00
iabdalkader
2011ac27a0 Remove PENDSV_DEBUG flag.
* PENDSV_DEBUG causes pc to be stacked at the wrong offset.
* See https://github.com/micropython/micropython/issues/315#issuecomment-577692954
2020-01-23 16:10:10 +02:00
iabdalkader
40e4ce8264 Pass DEBUG flag to MicroPython's Makefile. 2020-01-21 23:26:52 +02:00
iabdalkader
77b82d3b76 Update debugging protocol to be more consistent.
* All commands now send a 6-bytes header followed by the payload in a separate packet.
2020-01-21 20:12:20 +02:00
Ibrahim Abd Elkader
2962c0ce0c
Merge pull request #671 from bitbank2/master
find_line_segment and apriltags speedup
2020-01-21 02:27:06 +02:00
Ibrahim Abd Elkader
7c5e0e8bc2
Merge pull request #670 from kwagyeman/kwabena/final_ov5640
Kwabena/final ov5640
2020-01-16 22:44:04 +02:00
Larry Bank
e2709ac408 Additional speed for lsd and apriltags 2020-01-16 13:07:55 +01:00
Larry Bank
49ba439610 find_line_segment initial speedup 2020-01-14 19:43:25 +01:00
Larry Bank
e5eb896889 comment and variable cleanup 2020-01-13 20:40:09 +01:00
Larry Bank
4d6797ae88 Fixed HQQQVGA JPEG issue and added more detailed comments 2020-01-13 10:43:54 +01:00
Kwabena W. Agyeman
e249770fe1 OV5640 Driver Finished
It basically works. I might be able to improve it with the final
hardware.
2020-01-13 00:21:19 -08:00
Kwabena W. Agyeman
ff571a7979 More speed. 2020-01-13 00:21:04 -08:00
Larry Bank
acc8386cdc restore winc.c changes 2020-01-11 17:22:28 +01:00
Larry Bank
ee328ca49c sped up imlib_histeq 2020-01-11 15:25:31 +01:00
Larry Bank
614efecfd3 Optimized binary to JPEG 2020-01-07 20:14:47 +01:00
Larry Bank
8ffe4a204b more float to integer for pixel ops 2020-01-06 11:43:31 +01:00
Ibrahim Abd Elkader
1530e24ddc
Merge pull request #665 from kwagyeman/kwabena/finish_ov5640_driver
Kwabena/finish ov5640 driver
2020-01-05 18:54:31 +02:00
Kwabena W. Agyeman
0cdd3e57ac Add initial full support for the OV5640
* Need to increase sensor output speed
* Need to add exposure control code
2020-01-04 17:48:55 -08:00
Kwabena W. Agyeman
33ab1378cd Fix minor issues in the OV2640 driver. 2020-01-04 14:49:29 -08:00
Larry Bank
7eed2c048b sped up JPEG capture with integer math 2020-01-04 12:26:45 +01:00
Larry Bank
86b8b915e0 Optimized JPEG MCU capture (#663) 2020-01-03 21:58:02 +02:00
Ibrahim Abd Elkader
b50a21f93d
Merge pull request #661 from bitbank2/master
Additional optimizations for AprilTag thresholding and line search
2020-01-02 22:57:38 +02:00
iabdalkader
21c464e2b9 Set TIM4 unreserved.
* Fixes issue #662
2020-01-02 19:42:05 +02:00
Larry Bank
68aff4329f additional optimizations for thresholding and line search 2020-01-01 20:26:25 +01:00
Larry Bank
33655b9ece Apriltag optimizations. 2019-12-31 16:30:15 +02:00
iabdalkader
73c64abb22 Fix indent. 2019-12-28 02:16:33 +02:00
iabdalkader
d655642847 Add bootloader QSPI flash support. 2019-12-28 02:01:41 +02:00
iabdalkader
32205dc5c4 Add bootloader QSPI flash driver. 2019-12-27 22:08:13 +02:00
iabdalkader
ae0d522e86 QSPI updates and fixes. 2019-12-25 23:03:29 +02:00
iabdalkader
41ee24dac5 Update the py_tf tensorflow docs. 2019-12-21 01:26:06 +02:00
Ibrahim Abd Elkader
549a5b62c0
Merge pull request #656 from kwagyeman/kwabena/tensorflow_not_experimental_anymore
Tensorflow lite for microcontrollers is now mainlined
2019-12-21 01:22:41 +02:00
Kwabena W. Agyeman
6cea53f28a Tensorflow lite for microcontrollers is now mainlined 2019-12-20 13:09:47 -08:00
Kwabena W. Agyeman
7cf0f8089e Fix get_histogram with color thresholding. 2019-12-20 12:59:13 -08:00
iabdalkader
a34d2883e7 Bump firmware version. 2019-12-17 20:45:36 +02:00
iabdalkader
c372ebe043 Bump firmware version. 2019-12-17 20:29:30 +02:00
iabdalkader
d3a326763a Timer Fixes.
* Add missing H7 timers 15, 16, 17 IRQ handlers.
* Disable reserved timers.
2019-12-17 19:34:27 +02:00
iabdalkader
c46a940c3a Enable DBGMCU in sleep modes. 2019-12-16 19:10:51 +02:00
iabdalkader
1ae2e06ea6 Fix MQTT module to work with SSL sockets. 2019-12-08 00:47:49 +02:00
iabdalkader
9969b9e48d Fix debug build linker errors. 2019-12-02 18:23:43 +02:00
Ibrahim Abd Elkader
05fc9496b9
Merge pull request #647 from kwagyeman/kwabena/fix_tensorflow_conv2d
Fix tensorflow library conv2d
2019-12-02 12:23:46 +02:00
Kwabena W. Agyeman
e88c589206 Fix tensorflow library conv2d 2019-12-01 22:25:06 -08:00
iabdalkader
880c877cc1 Fix sepconv3 boundaries.
* Fixes issue #641
2019-12-01 21:10:43 +02:00
Kwabena W. Agyeman
1d3540e87a Update TensorFlow
* Pulled new TensorFlow library with MUL/RELU/RELU6 opcodes.
* Fixed error message priting.
* Added ability to load network into the framebuffer vs. the heap.
2019-11-25 21:56:29 -08:00
iabdalkader
abde3275e8 Disable WiFi debug for older boards (especially OMV3).
* OMV3 is running out of memory because of tf global variables.
2019-11-26 00:06:30 +02:00
iabdalkader
26b37c100c Disable ulab for omv2. 2019-11-25 18:53:02 +02:00
iabdalkader
2a3b5c7ac1 Remove unused submodules. 2019-11-25 18:15:39 +02:00
iabdalkader
aae27d1ecc Update ulab. 2019-11-15 03:06:40 +02:00
iabdalkader
577899a5a0 Fix mutable_bayer error message. 2019-11-13 02:03:13 +02:00
Jarek Jurasz
7ca922642d More specific image format errors. 2019-11-12 11:29:46 +01:00
iabdalkader
6adb71ddc2 Update MP docs. 2019-11-12 01:25:54 +02:00
iabdalkader
d8782275e3 Bump firmware version. 2019-11-04 18:23:53 +02:00
iabdalkader
3256700011 Add silent to makefile flags. 2019-11-01 19:05:16 +02:00
iabdalkader
757d783049 Freeze all the modules in scripts/libraries. 2019-10-30 21:02:51 +02:00
Ibrahim Abd Elkader
4100122ef5
Merge pull request #633 from kwagyeman/kwabena/add_mobilenet_examples
Kwabena/add mobilenet examples
2019-10-30 16:24:07 +02:00
Kwabena W. Agyeman
905d20a038 Updated the TensorFlow library to accept more model types
Now models with [n][c] will work too as their output.
2019-10-30 00:22:57 -07:00
Kwabena W. Agyeman
1f96550385 Reuse Code
Just trying to optimize things since flash is now not unlimited anymore.
2019-10-30 00:22:12 -07:00
iabdalkader
2381a5ac8b Make images iterable.
* Allow iterating over image objects.
* This is mainly to support creating ulab ndarrays from images.
2019-10-30 01:17:20 +02:00
iabdalkader
9e3d294fe3 Add ulab submodule. 2019-10-30 00:56:23 +02:00
Kwabena W. Agyeman
15efeda56e Add support for image segmentation. 2019-10-28 23:54:05 -07:00
iabdalkader
d7aaccbcf5 Update cpufreq_scaling H7 frequencies.
* Fixes #547
2019-10-27 22:05:59 +02:00
iabdalkader
f05a95a6c6 Fix Makefile order dependency issue causing non-parallel to fail. 2019-10-25 23:36:21 +02:00
iabdalkader
d6da65f80e Enable USSL MBEDTLS module. 2019-10-25 23:18:49 +02:00
iabdalkader
48c2ce8a9c WINC1500: Update socket buffer size. 2019-10-25 23:18:49 +02:00
iabdalkader
f9ed0cb82a Disable YUV table for OMV4 and OMV4R.
* Disable YUV tables for H7 cameras to temporarily save FLASH.
* Since H7 cameras have and use the HW JPEG encoder the side effects are minimal.
2019-10-25 23:05:25 +02:00
Ibrahim Abd Elkader
b67804faa2
Merge pull request #622 from openmv/tflib
Add support for TensorFlow Lite for Microcontrollers
2019-10-25 21:09:04 +02:00
Kwabena W. Agyeman
6a9c0a370e Add support for TensorFlow Lite for Microcontrollers
This has been a long-time coming, but, it's finally here. TensorFlow lite
runs on the OpenMV Cam now. Better yet, a person detection model
is now built-into all OpenMV Cams too!

Our default code does image classification and supports multi-scale
object detection using a sliding window.

In a coming PR I will add mobilenet examples for the H7 with SDRAM
and image segmentation support.
2019-10-25 21:01:21 +02:00
Ibrahim Abd Elkader
b4bad33623
Merge pull request #620 from thibthibaut/license
Update CUBE-AI.
2019-10-24 17:17:04 +02:00
Thibaut Vercueil
c23466aa09 fixed typos 2019-10-24 14:54:31 +02:00
Thibaut Vercueil
872e8531e4 Updated README: removed Cube.AI version information 2019-10-24 13:43:58 +02:00
Thibaut Vercueil
a958118bc1 Removed Cube.AI files and added instructions to grab them 2019-10-24 12:01:25 +02:00
Thibaut Vercueil
059374abe0 Updated license informations 2019-10-23 17:04:39 +02:00
iabdalkader
25020a1bb5 Enable SYSCFG clock before selecting VSCALE0 2019-10-22 02:03:21 +02:00
iabdalkader
132f1706e0 Switch to VSCALE1 before entering low-power mode.
* For H7 revision V devices where VSCALE0 is possible, the regulator
  must be switched back to VSCALE1 before entering low-power modes.
2019-10-22 01:51:41 +02:00
iabdalkader
2bb8b2d917 System clock config cleanup.
* Use HAL_PWREx_ConfigSupply to enable LDO.
* Use __HAL_PWR_GET_FLAG to check for VOSRDY.
2019-10-22 01:37:10 +02:00
iabdalkader
10ad70ba61 WINC: Check for empty SSID and/or key. 2019-10-21 21:33:15 +02:00
iabdalkader
5c28b2c756 OMV4R: Use QSPI for internal storage. 2019-10-21 21:16:22 +02:00
Ibrahim Abd Elkader
0066fc8726
Merge pull request #613 from openmv/stm32cubeai
Add CUBE-AI support.
2019-10-19 19:58:24 +02:00
iabdalkader
44a91c1296 Update MP. 2019-10-19 19:20:21 +02:00
iabdalkader
d6420769c9 Update Makefile.
* Add LIBS and CUBEAI_DIR and cleanup.
2019-10-19 19:10:03 +02:00
iabdalkader
4ef6d38711 Add CUBE-AI builtin module.
* Add CUBE-AI builtin module to the default mpconfigport.
2019-10-19 16:43:53 +02:00
iabdalkader
132f158402 Rename readme. 2019-10-18 21:23:51 +02:00
iabdalkader
11699c860a Move CUBE-AI example to IDE examples. 2019-10-18 21:23:18 +02:00
iabdalkader
6516fc1b5d Append stm32cubeai qstrs to OMV_QSTR_DEFS instead of overriding. 2019-10-18 19:28:20 +02:00
Thibaut Vercueil
5ed04c4cbb Updated & renamed example script 2019-10-18 17:13:27 +02:00
Thibaut Vercueil
98bb29b80a Updated script for MNIST 2019-10-18 17:02:21 +02:00
Thibaut Vercueil
0f17925f98 Support X-CUBE-AI v4.1.0 2019-10-18 15:39:57 +02:00
iabdalkader
15e0d4559c Return string errors from WINC1500 init function. 2019-10-16 20:10:23 +02:00
Ibrahim Abd Elkader
12ee986ea3
Merge pull request #611 from kwagyeman/kwabena/fb_alloc_all_fix
Fix fb_alloc_all bug.
2019-10-16 13:13:14 +02:00
Kwabena W. Agyeman
c20efaba54 Move flag setting inside the curly braces. 2019-10-15 23:59:27 -07:00
Thibaut Vercueil
df4a711ded Integration of STM32Cube.AI in the firmware 2019-10-15 16:17:17 +02:00
iabdalkader
77496d05ca Update WINC1500 firmware and host driver.
* Update to firmware 19.6.1 host driver 19.3.0.
2019-10-14 23:35:16 +02:00
iabdalkader
408585e900 Cleanup adc.c. 2019-10-12 16:40:48 +02:00
iabdalkader
d54687b275 Update SDRAM clock. 2019-10-12 12:53:28 +02:00
Kwabena W. Agyeman
434bb10bf3 Fix missing bank enables 2019-10-11 20:56:36 -07:00
iabdalkader
c0bfc9198d Update H7 PLLs.
* Use PLL2 for FMC and PLL3 for SPI123.
2019-10-11 20:07:52 +02:00
Ibrahim Abd Elkader
f0c1f13077
Merge pull request #605 from kwagyeman/kwabena/fix_bmp_reading
Fix bmp file reading for all formats
2019-10-11 18:26:36 +02:00
iabdalkader
530eee21b1 Add revision ID to machine.info(). 2019-10-11 01:40:52 +02:00
iabdalkader
db9aebf3f2 Enable VSCALE0 for revision V devices. 2019-10-11 01:31:37 +02:00
iabdalkader
6f61f103fa Update MP for the new H7 HAL. 2019-10-11 01:08:38 +02:00
iabdalkader
3144724645 Return when HAL_JPEG_Encode is aborted. 2019-10-11 01:07:39 +02:00
iabdalkader
5c5eb9d10b Fix H7 SD clock. 2019-10-11 01:07:39 +02:00
iabdalkader
b43820cfb1 Update H7 legacy header. 2019-10-11 01:07:39 +02:00
iabdalkader
9d553ccdcb Add HAL_DCMI_Start_DMA_MB to H7 HAL. 2019-10-11 01:07:39 +02:00
iabdalkader
1e24a91558 Fix H7 HAL strict aliasing errors (patch from MP/stm32lib). 2019-10-11 01:07:39 +02:00
iabdalkader
07a4cf4760 Update H7 HAL. 2019-10-11 01:07:39 +02:00
iabdalkader
6052c0be67 Increase VREF threshold in self-tests. 2019-10-11 00:53:15 +02:00
Kwabena W. Agyeman
466a50a003 Fix bmp file reading for all formats 2019-10-10 14:50:36 -07:00
iabdalkader
f92479079c Include stdio.h for printfs in img functions. 2019-10-10 18:32:56 +02:00
iabdalkader
57750012aa Update CMSIS. 2019-10-10 15:14:12 +02:00
iabdalkader
b855bb9c11 Enable additional pins. 2019-10-09 20:47:17 +02:00
Kwabena W. Agyeman
63eafdab6b Fix reading RGB 24-bit images 2019-10-07 23:00:30 -07:00
iabdalkader
48a965fb96 Fix hardfault when setting lepton to VGA/RGB565. 2019-10-07 17:06:50 +02:00
iabdalkader
3244d0f60b Fix timer 5 period. 2019-10-06 23:44:19 +02:00
iabdalkader
020b3ccd0c Support 32-bit SDRAM. 2019-10-06 23:39:58 +02:00
Kwabena W. Agyeman
7ad61b725e Adds hint system to fb_alloc
With this commit fb_alloc now takes hints to better decide which ram to
give (internal or sdram).

Only fb_alloc_all calls are given any hints right now as some of the
calls need as much ram as possible and will cause failures to happen if
a small amount of fast internal sram is returned.

Anyway, hints can be used to tune where things are placed by fb_alloc.
2019-10-04 21:47:54 -07:00
Kwabena W. Agyeman
30c4cf4a8c Add smart overlay logic to fballoc
When fballoc is called and there's space to put what's requested in SRAM
this is done instead of putting it in SDRAM. This results in a huge
performance boost to most algorithms that use only a small amount of
fballoc ram.

In particular, apriltags is usable in speed with this fix...
2019-10-04 20:16:20 -07:00
iabdalkader
87a055f43b Update docs. 2019-09-30 18:50:51 +02:00
iabdalkader
bd034f3c27 Fix SPI WFI bug. 2019-09-30 17:34:31 +02:00
iabdalkader
d443b001c8 Move WINC1500 firmware. 2019-09-30 00:22:49 +02:00
iabdalkader
e8a4d1a136 Update Makefile.
* Move build output to build/bin.
2019-09-28 23:57:48 +02:00
iabdalkader
84633a01bc Fix HID descriptor. 2019-09-28 19:32:52 +02:00
iabdalkader
37cbb29b90 Check SPI buffers. 2019-09-27 17:43:36 +02:00
iabdalkader
1b52ce1443 Suspend systick before entering stopmode. 2019-09-27 17:43:36 +02:00
iabdalkader
b882f4b926 Reset SDIO before init.
* Fixes F7 SD timeout on second init.
2019-09-27 17:43:36 +02:00
iabdalkader
8fc29f32a6 Update MP. 2019-09-27 17:43:36 +02:00
iabdalkader
5676b41012 Update MP to 1.11 2019-09-27 17:43:36 +02:00
iabdalkader
2918137e1b Bump firmware version. 2019-09-27 17:28:54 +02:00
iabdalkader
bb2ea839f4 Fix long delay when JPEG encoding overflows. 2019-09-27 16:56:28 +02:00
iabdalkader
69f89f9587 Return when HAL_JPEG_Encode is aborted.
* Force HAL_JPEG_Encode to return when HAL_JPEG_Abort is called instead of waiting for timeout.
2019-09-27 16:53:38 +02:00
iabdalkader
f158b7bb98 Decrement firmware version. 2019-09-27 16:52:06 +02:00
iabdalkader
89578e6d4a Bump firmware version. 2019-09-16 19:57:21 +02:00
iabdalkader
0855745428 Add FDCAN support.
* Fixes #526
2019-09-16 17:26:15 +02:00
iabdalkader
8e6b8c2bf7 Fix accept() bug. 2019-09-13 21:06:59 +02:00
iabdalkader
f648107bb9 WINC1500: Fix timeout bugs.
* Setting timeout to 0 (from MicroPython) makes the socket blocking instead of non-blocking.
* Sockets were closed on recv/recvfrom timeout.
2019-09-12 00:04:46 +02:00
iabdalkader
693337e764 Remove line_start from read_pixels functions.
* line_start is not used in these functions.
2019-09-09 18:02:02 +02:00
Ibrahim Abd Elkader
bef85129ca
Merge pull request #584 from kwagyeman/kwabena/optional_8x_apriltag
Disable 8-way connectivity
2019-09-09 02:15:20 +02:00
Kwabena W. Agyeman
c1d9bec2c8 Disable 8-way connectivity
Not neccessarily needed and takes 2-4x more processing power. If FPS is
not a concern enable it.
2019-09-08 17:06:02 -07:00
Ibrahim Abd Elkader
bd5fcccdfb
Merge pull request #583 from openmv/binary_ops
Fix binary ops bug.
2019-09-09 02:02:02 +02:00
iabdalkader
5b5295219d Fix binary ops bug.
* fix #534
2019-09-08 17:46:13 +02:00
iabdalkader
7eaeefacb1 Fix printf issue in apriltags, dmtx and lsd.
* The root cause for this issue is "define double float". printf functions promote
float to double, which is #define'd as float causing the implicit conversion error.
* Replaced all double with float, and DBL_MIN and FLT_MIN etc... and added explicit
cast to double in printf functions.
2019-09-06 15:48:31 +02:00
iabdalkader
54b8132949 License update. 2019-09-05 22:17:50 +02:00
iabdalkader
b10bfc6e6c Add memory offsets for FFS, JPEG and VOSPI buffers.
* Allow FFS, JPEG and VOSPI buffers to be moved to any dedicated region with an offset.
2019-09-04 23:02:22 +02:00
Kwabena W. Agyeman
416da1a302 Enable SDRAM Support 2019-09-03 22:33:06 -07:00
Kwabena W. Agyeman
548a295d81 Enable high res apriltags 2019-09-03 22:30:08 -07:00
Kwabena W. Agyeman
b35a6ed124 Make UMM malloc block size variable. 2019-09-03 22:29:59 -07:00
Kwabena W. Agyeman
43ca9eb5ff Increase jpeg compression timeout
Necessary for large image resolutions.
2019-09-03 22:29:50 -07:00
Ibrahim Abd Elkader
503b329169
Merge pull request #577 from kwagyeman/kwabena/fix_quote
Fix Quote Location
2019-09-03 13:22:41 +02:00
Kwabena W. Agyeman
1667345eb4 Fix Quote Location 2019-09-02 22:04:55 -07:00
Kwabena W. Agyeman
cb6a7d6d96 Allow apriltag detection on vflip and hmirrored images. 2019-09-02 22:02:48 -07:00
iabdalkader
47e87da103 Update MP SDRAM settings. 2019-08-31 18:08:12 +02:00
Ibrahim Abd Elkader
626468e87a
Improved fb_alloc stats. (#575)
* Improved fb_alloc stats.

* Fix fb_free stats.
2019-08-30 18:59:25 +02:00
iabdalkader
c04bb40595 Add FB alloc stats. 2019-08-30 17:06:15 +02:00
iabdalkader
e29c613ee5 Fix H7 deepsleep. 2019-08-27 18:13:13 +02:00
iabdalkader
684614946e WINC1500: Add netinfo function.
* Returns connection RSSI, security type, remote MAC address and IP.
2019-08-26 00:50:53 +02:00
iabdalkader
9fd585f304 Rename IP_ADDR_LEN to IPV4_ADDR_LEN. 2019-08-25 19:20:01 +02:00
iabdalkader
e685b484a0 WINC1500: Support static IP. 2019-08-25 19:08:53 +02:00
iabdalkader
7665d4f16c Restore sensor shutdown state on reset. 2019-08-23 20:54:34 +02:00
iabdalkader
7389aa32d0 Update RTC from upstream. 2019-08-23 15:49:27 +02:00
Kwabena W. Agyeman
d514ecc9fe Fix setting resolutions on the OV2640 2019-08-17 22:17:27 -07:00
Kwabena W. Agyeman
5691bb7498 Improve large jpeg image data transfer
This commit fixes the following:

* Adds new methods to allow jpeg images to be encoded for transmission
to the IDE.

* Auomatically calls these methods to send the image to the IDE when
there's not enough space in the JPEG buffer. This isn't the fastest but
is better than help support requests about why it doesn't work at all.
2019-08-16 00:35:55 -07:00
iabdalkader
a775e3b2b8 Fix RTC issues on H7.
* Update extint from upstream to fix EXTI number.
* Fix EXTI numbers in rtc.c
* Disable wakeup timer when initializing RTC.
* Call RTC init in soft reset.
2019-08-12 22:22:54 +02:00
iabdalkader
cd119d8d82 Fix cache maintenance issue in JPEG mode.
* In JPEG mode the cacheable framebuffer memory is used directly by the DMA, instead of the line buffer.
Cache maintenance must be performed before the CPU accesses the framebuffer memory.
2019-08-11 18:04:12 +02:00
iabdalkader
737c4c2b1f Fix buffer alignment for JPEG mode. 2019-08-10 19:00:46 +02:00
iabdalkader
3187b5c20e Fix max DCMI transfer size. 2019-07-22 23:38:39 +02:00
Ibrahim Abd Elkader
f392b270cc
Merge pull request #554 from kwagyeman/kwabena/ov2640_fixes
OV2640/JPEG mode fixes
2019-07-22 23:36:26 +02:00
Kwabena W. Agyeman
376899876f Lower PCLK from 72 MHz to 36 MHz. 2019-07-21 16:36:37 -07:00
iabdalkader
899449012d Fix servo timer.
* Timer IRQ handler wasn't called.
* Fixes #553
2019-07-21 23:55:12 +02:00
Kwabena W. Agyeman
77d3aa6651 Fix register change. 2019-07-20 23:42:02 -07:00
Kwabena W. Agyeman
5e0cca6c3c Update the OV2640 driver.
* Images are right side up now.
* Picture quality is acceptable (not as good as the OV7725)
* All auto functions work now (the OV2640 ignores exposure control
however)
* Added XGA frame size.
* JPEG mode is enabled but needs work still (not sure if the H7 hardware
can capture the packet stream fast enough not to drop bytes).
2019-07-20 23:30:08 -07:00
Kwabena W. Agyeman
6e789b1406 Add print statement for bayer. 2019-07-20 23:27:26 -07:00
kidswong999
dceb0e324f Detect sensor based on I2C address. 2019-07-12 23:11:24 +02:00
kidswong999
cc33f9b7e6 Add OV5640 driver. 2019-07-12 23:08:40 +02:00
kidswong999
dcbc67fd60 Change sensor reg_addr to uint16_t 2019-07-12 23:04:15 +02:00
kidswong999
6c4ec6fde9 add cambus_readb2 cambus_writeb2 2019-07-12 22:46:39 +02:00
iabdalkader
165b3205a3 Update OMV4R pins. 2019-06-21 14:29:03 +02:00
iabdalkader
4a1a1441c7 Add OPENMV4R board files. 2019-06-20 22:01:20 +02:00
iabdalkader
d0be0a0237 Remove old SDRAM driver.
* Add missing sdram header to stm32 port.
2019-06-20 21:45:25 +02:00
iabdalkader
d8c9bf74cb Fix pin AF functions. 2019-06-20 21:00:25 +02:00
Ibrahim Abd Elkader
37bd07ed35
Add SDRAM driver (#539)
* Add SDRAM driver
2019-06-20 20:48:42 +02:00
iabdalkader
225321dbca Add static pin AF function from upstream.
* This is required for SDRAM driver.
2019-06-20 20:04:42 +02:00
iabdalkader
b8b4327e18 Remove outdated comment about AXI memory. 2019-06-17 23:44:30 +02:00
Kwabena W. Agyeman
6c939b4c37 Update OV7725 registers.
* Fix the ov7725 driver for better camera image quality.
* Add in banding filter setting for each camera.
2019-06-10 20:18:28 +02:00
iabdalkader
f418d789e9 Add missing header. 2019-05-31 16:28:29 +02:00
iabdalkader
c446d473a3 Enable btree module. 2019-05-31 16:09:38 +02:00
iabdalkader
6976fb2420 Fix pydfu path. 2019-05-16 21:08:07 +02:00
iabdalkader
864719da6f H7 DMA Fixes.
* Initialize all members of DMA structs for H7.
* Always reset and configure the H7 DMA peripheral.
* Add SPI IRQ priority.
* Enable SPI IRQ for H7 MCUs.
2019-05-13 19:30:49 +02:00
iabdalkader
7d8a2beee4 Fix LBP ROI bug. 2019-05-09 15:06:09 +02:00
iabdalkader
e16a15dca7 Fix DMA_BUFFER macro. 2019-05-02 19:09:57 +02:00
iabdalkader
4ad2db1d8e Bump firmware version. 2019-05-02 01:57:10 +02:00
iabdalkader
95175f523e Fix Lepton clock.
* Set Lepton clock to 24MHz to work with the new clock speed.
2019-05-01 18:21:27 +02:00
iabdalkader
4ab1c15bac Bump firmware version. 2019-04-30 17:57:01 +02:00
Dech
9ce737c5cf include frozen_mpy.o when compiling a frozen module. 2019-04-30 04:44:02 +07:00
Kwabena W. Agyeman
65150a5dda Fixed missing parens 2019-04-28 21:21:10 -04:00
Dech
c06a57610e fixed missing break statement in py_net_search. 2019-04-28 12:29:34 +07:00
iabdalkader
6686f4f108 OMV2 FFS fixes.
* Enable exFAT for OpenMV2
* Allow smaller filesystems to be created.
* Fixes issue #514
2019-04-26 23:20:29 +02:00
iabdalkader
7c1389ed1b Update H7 clocks.
* Set default SD clock to 48MHz.
* Set some clock sources defaults.
2019-04-22 23:26:35 +02:00
iabdalkader
d47c039b8f Add string0 to bootloader sources.
* Required to init structs to zero.
2019-04-22 23:01:41 +02:00
iabdalkader
ab94cb14fd Set H7 frequency to 480MHz.
* According to ST, the H7 can actually run at 480MHz.
2019-04-22 00:46:39 +02:00
Ibrahim Abd Elkader
3ee5bd61a2
Merge pull request #510 from openmv/h7_sd
Fix H7 SD clock.
2019-04-22 00:10:48 +02:00
iabdalkader
cc95af7f34 Fix H7 SD clock. 2019-04-22 00:02:43 +02:00
iabdalkader
3d722bc35d Move SCCB timing to board config files. 2019-04-21 01:17:03 +02:00
iabdalkader
4ed92bf227 Fix SCCB/I2C timing for F7 & H7. 2019-04-21 00:52:35 +02:00
iabdalkader
29468b1d13 Enable framebuf module 2019-04-17 22:28:20 +02:00
iabdalkader
67bcebeedc WINC: Set ioctl function.
* MP code doesn't check for NULL ioctl.
2019-04-15 23:45:40 +02:00
iabdalkader
e9579d25c5 Allow ctrl-C to work with UARTs put on REPL.
* Fix from MP upstream.
2019-04-11 18:56:47 +02:00
iabdalkader
ae9efb6cc4 Update micropython docs. 2019-04-01 15:02:18 +02:00
iabdalkader
aefa80732d Use nonsquare NN functions. 2019-04-01 00:20:05 +02:00
iabdalkader
bf5db7cd3f Bump firmware version. 2019-03-30 15:44:38 +02:00
iabdalkader
367383d800 Fix H7 JPEG encoder boundaries. 2019-03-22 22:47:55 +02:00
iabdalkader
340608cad5 Fix NN enum sizes.
* Fixes issue #491
* Since enums are now short, make sure NN layer types are 4 bytes.
2019-03-21 18:28:20 +02:00
iabdalkader
f62454e4c6 Fix firmware version number. 2019-03-21 17:20:55 +02:00
iabdalkader
5f6517068c Bump firmware version. 2019-03-18 20:14:29 +02:00
iabdalkader
75a028f9e9 Remove extra fb_free calls. 2019-03-18 17:37:18 +02:00
Kwabena W. Agyeman
c982617523 Fix exceptions from freeing fb_alloc_mark
This fix creates a flag that prevents fb_alloc_free_till_mark() from
doing anything unless there was a previous fb_alloc_mark(). Once
fb_alloc_free_till_mark() is called it will no longer do anything until
there's another fb_alloc_mark().

This means that if an exception is triggered while in code that
previously did fb_alloc_mark() the stack will be cleaned up.

If the fb_alloc_mark() method is not called then the stack will not be
cleaned up and that memory fb_alloc()'ed will remain until a soft reset.

All OpenMV Cam library code is designed to fb_alloc_mark() before using
the fb stack and then fb_alloc_free_till_mark() when complete. However,
in the case of py_sensor_alloc_extra_fb() it doesn't mark first such
that the RAM it allocates stays across exceptions and is only free'd via
py_sensor_dealloc_extra_fb() or via a soft reset.

...

Summary of changes:

fb_alloc.c -> Added a semaphore lock to prevent
fb_alloc_free_till_mark() from doing anything unless fb_alloc_mark() was
called first.

py_sensor.c -> Removed calling fb_alloc_mark() and
fb_alloc_free_till_mark() and re-arranged code calls to prevent a trival
leak sitatuion on heap exhaustion.

py_image.c, py_fir.c, py_lcd.c py_tv.c -> Added fb_alloc_mark() and
fb_alloc_free_till_mark() to methods originally coded without using it.

...

Note - I coded the mark semaphore lock in such a way things work even if
fb_alloc_mark() and fb_alloc_free_till_mark() calls are nested. This
allows the find_blobs() call-back methods to call py_image.c methods
still and also allows us to add more call-backs in the future without
worry if we need to.

...

Finally, if you have an exception in an interrupt handler all this above
breaks terribly. Given MP already breaks if you try to allocate memory
in an exception this is a "won't fix problem". Don't call code that can
have exceptions or needs memory in an interrupt handler.
2019-03-17 19:20:09 -04:00
iabdalkader
44ee992068 Call lepton_reset in recovery code. 2019-03-14 19:43:59 +02:00
iabdalkader
8aa4205257 Fix Lepton reset. 2019-03-12 22:42:53 +02:00
Kwabena W. Agyeman
a47f4120af Add color palette conversion to to_rainbow() 2019-03-11 19:57:46 +02:00
Kwabena W. Agyeman
cb1e44abb1 Fix missing break and parens. 2019-03-11 19:41:35 +02:00
Kwabena W. Agyeman
c317226738 Set should return none. 2019-03-11 19:41:26 +02:00
Kwabena W. Agyeman
af289d779f Fixed bugged set/get attribute. 2019-03-11 19:41:17 +02:00
Kwabena W. Agyeman
960e61aba9 Fix temperature equation. 2019-03-11 19:32:17 +02:00
Kwabena W. Agyeman
a3f197e12d Add method to get the color palette. 2019-03-11 19:07:13 +02:00
Kwabena W. Agyeman
d4d20a0327 Add timeout and crash receovery code.
The FLIR Lepton 3.5 sometimes doesn't startup. Our previous code just
waited forever. The new code now will timeout but also will try to
recoever the FLIR Lepton 3.5 if possible if the video doesn't start in a
timely manner.
2019-03-11 18:40:16 +02:00
Kwabena W. Agyeman
92cc75eff5 Add the ability to set the flir into measurment mode
Measurement mode allows you to set a target temperature for the FLIR
lepton so that you can actually use it to measure object temperatures
and do useful things. We try to make the mode work on non-radiometric
FLIR letpons howeever it will not be accurate.
2019-03-11 18:20:31 +02:00
Kwabena W. Agyeman
860a8b280d Add ioctl to get lepton radiometry. 2019-03-11 17:54:23 +02:00
Kwabena W. Agyeman
76af3bd534 Add ioctl to get the lepton module width and height. 2019-03-11 17:09:49 +02:00
Philip Peitsch
d734c6c49c Avoid invalid mem access by validating post-rounded indices
These bounds checks were incorrect if sourceX/Y rounds up. In this situation, the unrounded source will be smaller than the limit by a factional amount (C will elevate the int bounds to a float for comparison), but the post-rounded version will equal the limit.

E.g.,
sourceX = 10.5
img->w = 11 (i.e., valid indices are [0-10])
sourceX2 = 11, which is invalid memory
2019-03-06 09:36:52 +11:00
iabdalkader
4e0a408055 Add FLIR Lepton IOCTLs 2019-03-05 21:11:52 +02:00
iabdalkader
f43e841447 Use sensor color palette in lepton code. 2019-03-05 18:22:11 +02:00
iabdalkader
164f2e71c1 Add set_color_palette 2019-03-05 18:21:53 +02:00
iabdalkader
e4ead239be Add ironbow table. 2019-03-05 16:56:52 +02:00
iabdalkader
ef7ef4a390 Remove FFC check.
* Some sensors fail this check.
2019-03-05 15:42:35 +02:00
iabdalkader
4c15ce66ca Check pixel format. 2019-03-05 15:38:40 +02:00
iabdalkader
54e431adb2 Implement MT triggered mode using ioctls 2019-03-04 20:55:17 +02:00
iabdalkader
aafc6e995a Add sensor ioctl function. 2019-03-04 19:52:11 +02:00
Ibrahim Abd Elkader
2e327aaf38
Merge pull request #465 from kwagyeman/kwabena/mt_driver_update
Kwabena/mt driver update
2019-03-04 18:44:12 +02:00
Kwabena W. Agyeman
599357a719 Make WVGA2 and WVGA work. 2019-03-03 21:59:40 -05:00
Kwabena W. Agyeman
2a62bde28b Allow making auto exposure very long or very short. 2019-03-03 21:23:47 -05:00
Kwabena W. Agyeman
9e8deb6928 Cleanup the MT9V034 driver.
* Removed pointless code and static vars.
* FIxed bugs invloving shadow registers.
2019-03-03 03:41:50 -05:00
Kwabena W. Agyeman
f0ce9d9530 Force shadow mode register updates. 2019-03-03 01:00:25 -05:00
Kwabena W. Agyeman
1269aa1bbc Add default state for static var. 2019-03-03 00:48:34 -05:00
Kwabena W. Agyeman
3c49f986e4 Enable setting the sensor to a triggered mode. 2019-03-03 00:48:12 -05:00
Kwabena W. Agyeman
2523754638 Make default jpeg res not so terrible. 2019-03-02 22:34:32 -05:00
Ibrahim Abd Elkader
3dcd029160
Merge pull request #462 from openmv/fix_mt_set_framesize
Fix MT set_framesize.
2019-03-01 21:45:55 +02:00
Ibrahim Abd Elkader
d4afc610a3
Merge pull request #461 from openmv/check_framesize
Check return value from set_framesize.
2019-03-01 21:25:42 +02:00
iabdalkader
02c94ec54d Fix MT set_framesize.
* Fix exception if the order of functions call is swapped (set_framesize before set_pixformat)
* The order of functions shouldn't matter, if necessary this check should be done in snapshot.
* This fixes issue #444
2019-03-01 21:19:46 +02:00
iabdalkader
b0442633ef Check return value from set_framesize. 2019-03-01 21:17:58 +02:00
iabdalkader
8797e72db7 Force 32-bit enums in Lepton code.
* Fix bug introduced by linking libgcc making enums variable size which breaks Lepton code.
2019-02-25 22:09:54 +02:00
iabdalkader
1acabbebb3 Apply ff13c patches. 2019-02-24 19:59:22 +02:00
iabdalkader
530dee933f Fix H7 ADC bug.
* Fix issue #453
* Use ADC handle to read the used ADC instance.
2019-02-21 17:29:21 +02:00
Kwabena W. Agyeman
b230de3b42 Add binary format to sensor.
* This format is for use in the Image Lib module since sensor is where
we put the image types.

Will work on the lepton and global shutter drivers next.
2019-02-20 01:59:47 -05:00
Kwabena W. Agyeman
b2bcbf09d4 Fix typo. 2019-02-20 00:42:28 -05:00
Kwabena W. Agyeman
cd586f66bc Upgrade text drawing to support rotations of the character and string. 2019-02-16 21:19:05 -05:00
Kwabena W. Agyeman
ae9f1833f8 Fix rotation issues. 2019-02-16 21:19:05 -05:00
Kwabena W. Agyeman
5b3cd7c9db Make rotation not an optional argument for ellipses. 2019-02-16 21:19:05 -05:00
Kwabena W. Agyeman
ca94ffec42 Avoid using roundf
While this shouldn't happen the method seems to sometimes round up past
limits. For example, 1 * 2.0 could be 3 because the 2.0 might be like
2.0000000000001.

So, avoid using roundf. There are other methods this needs to be
switched out on. But, will do these ones for now.

Note that not all roundf values must be removed... just areas where
there's a clear limit on the max value returned from roundf.
2019-02-16 21:19:05 -05:00
Kwabena W. Agyeman
954431ef52 Add mask functionality to clear. 2019-02-16 21:19:05 -05:00
Kwabena W. Agyeman
1f72c3750d Add back mask methods. 2019-02-16 21:19:05 -05:00
iabdalkader
766688f72a Enable exFAT support. 2019-02-14 00:06:11 +02:00
iabdalkader
512fa46b04 Update FatFS to FF13C 2019-02-13 23:38:11 +02:00
iabdalkader
7833adc882 Link with libgcc for AEABI functions. 2019-02-13 23:14:55 +02:00
iabdalkader
6f7187526a Fix keypoint op. 2019-02-13 23:09:47 +02:00
Kaizhi Wong
7e966d187f remove rst pin 2019-02-12 15:58:40 +08:00
Kwabena W. Agyeman
f615b0a607 Fix bugs in copy(). 2019-02-06 02:15:39 -05:00
Kwabena W. Agyeman
1259bcaa71 Make to_x() methods smarter about the frame buffer. 2019-02-06 02:15:39 -05:00
Kwabena W. Agyeman
31b03f5447 Cleanup color methods. 2019-02-04 12:37:25 -05:00
Ibrahim Abd Elkader
cb959a7347
Merge pull request #440 from kwagyeman/kwabena/upgrade_copy_ops
Upgrade copy ops
2019-02-04 00:33:52 +02:00
Kwabena W. Agyeman
a3cc10bf72 Fixed thermal image rotation issues 2019-02-03 00:13:54 -05:00
Kwabena W. Agyeman
fff1964d9b Upgrade copy_to_fb for fir. 2019-02-02 23:21:05 -05:00
Kwabena W. Agyeman
bb9b78f4fe Improve copy_to_fb for load_image. 2019-02-02 23:21:05 -05:00
Kwabena W. Agyeman
f9e6b3fe01 Remove unsupported types. 2019-02-02 23:21:05 -05:00
Kwabena W. Agyeman
b8df7033ab Improve Image() so you can now create null images. 2019-02-02 23:21:05 -05:00
Kwabena W. Agyeman
6ca963a7eb Fix in-place cap. 2019-02-02 23:21:05 -05:00
Kwabena W. Agyeman
67686c5f1b Update old image handles during in-place actions. 2019-02-02 23:21:05 -05:00
iabdalkader
f01e451bb4 Use fb_alloc_mark to avoid dealloc'ing the extra FB. 2019-01-31 21:51:17 +02:00
iabdalkader
7604983fca Use stdint in color conversion functions. 2019-01-30 00:27:40 +02:00
Kwabena W. Agyeman
6d59e59321 Upgrade copy()
* Copy is really good now.
* Added crop/scale which are variants of copy.
2019-01-28 00:13:17 -05:00
Kwabena W. Agyeman
446cc14562 Fix in-place def. 2019-01-27 20:31:39 -05:00
Kwabena W. Agyeman
1518e678ba Fix wrong size calculation. 2019-01-27 19:57:52 -05:00
Kwabena W. Agyeman
27fceecc05 Fix wrong bit depth. 2019-01-27 19:42:15 -05:00
Kwabena W. Agyeman
cbc31da2ec Fix bitmap jpeg compression on H7. 2019-01-27 19:41:05 -05:00
Kwabena W. Agyeman
7f929f5ca6 Add color channel extraction per forum users request. 2019-01-27 19:25:21 -05:00
Kwabena W. Agyeman
ce7699c6b9 Update qstrs. 2019-01-27 18:41:30 -05:00
Kwabena W. Agyeman
949f738073 Modernize pooling methods. 2019-01-27 18:38:50 -05:00
iabdalkader
4ba9a08bd2 Enable py_tv module. 2019-01-27 23:22:38 +02:00
Kwabena W. Agyeman
7730cd8107 Re-enable some rather useful methods for OpenMV2. 2019-01-27 22:59:12 +02:00
Kwabena W. Agyeman
14f4c53037 Make Color LUTs configurable in imlib_config. 2019-01-27 22:52:48 +02:00
Kwabena W. Agyeman
9edded29da Export color conversion functions to Python. 2019-01-27 22:42:38 +02:00
Kwabena W. Agyeman
3a8ac88f66 Update blob code and examples. 2019-01-27 00:46:15 +02:00
iabdalkader
c54b5d2b76 Disable exFAT.
* The old FatFs R0.12b exFAT implementation is buggy, will disable exFAT until it gets updated.
2019-01-26 20:24:56 +02:00
iabdalkader
69f1f3c1f0 Fix OMV2 build. 2019-01-19 04:16:22 +02:00
iabdalkader
6babf84a1b Update cpufreq module.
* Support H7.
* Disable this module for M4.
* Pass frequencies in MHz instead of constants.
* Add get_supported_frequencies().
2019-01-19 03:53:43 +02:00
Kaizhi Wong
58ca63f201 add py_tv.c 2019-01-15 21:52:15 +08:00
Kaizhi Wong
1d2b69e115 add tv module 2019-01-15 20:17:32 +08:00
Kaizhi Wong
37906e5867 add tv module 2019-01-15 20:15:59 +08:00
Ibrahim Abd Elkader
398c48d390
Merge pull request #425 from openmv/jpeg_bounds
Fix JPEG MCU boundaries.
2019-01-06 18:03:36 +02:00
iabdalkader
f264c62de2 Fix JPEG MCU boundaries. 2019-01-06 17:49:20 +02:00
Kwabena W. Agyeman
ac4afe0d24 Fixed binary to work correctly
* It now actually parses a list of thresholds and not just the first.
* to_bitmap/copy work as they should in-place now.
2019-01-04 02:29:16 -05:00
Kwabena W. Agyeman
32f6fe2e45 Fix binary to RGB565 2019-01-04 02:14:26 -05:00
Kwabena W. Agyeman
0554c189a9 Add back the ability for draw keypoints to handle keypoint tuples.
Can call it without a keypoint object now again.
2019-01-04 00:32:27 -05:00
Kwabena W. Agyeman
e7f7a732eb Add alpha blening support to draw image. 2019-01-02 12:33:15 -05:00
Kwabena W. Agyeman
4ba25713b7 Error check scaling on draw_string. 2019-01-02 12:16:20 -05:00
Kwabena W. Agyeman
262769989f Allow non-integer scaling on draw_string. 2019-01-02 12:13:52 -05:00
Kwabena W. Agyeman
3e05d24ce9 Don't require self if operating on self. 2019-01-02 12:13:01 -05:00
Kwabena W. Agyeman
6b11353312 Add mod support to div. 2019-01-02 11:52:56 -05:00
Kwabena W. Agyeman
dbe7bf0591 Add transpose support to replace and aliases
Now you can rotate and image by 0, 90, 180, 270 degrees along with
vertical flip and horizontal mirror. This method works in place or out
of place.
2019-01-02 01:35:34 -05:00
Kwabena W. Agyeman
563642a174 Change to yLine for speed. 2019-01-01 03:33:27 -05:00
Kwabena W. Agyeman
35e19f0233 Remove unused marks. 2019-01-01 02:43:55 -05:00
Kwabena W. Agyeman
8bcf5ac0c3 Add gamma correction
A user requested this a while ago. This feature also ads contrast and
brightness correction. The code is fast!
2019-01-01 02:28:40 -05:00
Kwabena W. Agyeman
b47dbe2c15 Kwabena/drawing updates (#422)
* Add ellipse drawing function.
2018-12-31 18:32:13 +02:00
iabdalkader
a3e502a3a6 Update FLIR module documentation 2018-12-23 22:57:30 +02:00
iabdalkader
329c9fa968 Fix F4 build. 2018-12-23 18:21:09 +02:00
iabdalkader
264308ca99 Clear UART ORE flag. 2018-12-17 14:33:12 +02:00
iabdalkader
d248f99551 Call nlr_raise in py_assert.
* nlr_jump shouldn't be called directly because it doesn't free fb memory.
* Fix #417
2018-12-13 02:14:59 +02:00
iabdalkader
175a23b6ee Fix RTC IRQ handler. 2018-11-22 22:37:19 +02:00
iabdalkader
7ae6cd11c8 Bump firmware version. 2018-11-04 23:25:28 +02:00
iabdalkader
e67ca9ab23 UVC: send GS descriptor for MT sensor. 2018-11-03 01:33:37 +02:00
iabdalkader
001a41e6da Parse config on soft resets.
* Otherwise config is read once and then reset.
2018-11-01 01:47:40 +02:00
iabdalkader
5d4982cc74 Enable exFAT for OpenMV 3 and 4. 2018-10-31 02:43:13 +02:00
iabdalkader
a327fec8cf Create hidden file for the IDE to detect OMV disk. 2018-10-31 02:19:48 +02:00
Ibrahim Abd Elkader
f0bdcd5d40
Merge pull request #404 from openmv/remove_streaming_workaround
Remove streaming callback workaround.
2018-10-29 23:37:45 +02:00
iabdalkader
25878492bc Remove streaming callback workaround.
* All sensors support streaming callback now.
2018-10-29 23:26:32 +02:00
iabdalkader
68f0b3749c Revert MT to default snapshot function. 2018-10-29 23:21:14 +02:00
iabdalkader
d140a8ef1b FLIR: Faster UVC streaming. 2018-10-29 20:55:09 +02:00
iabdalkader
545bfd0435 Add WINC patch set.
* Will keep patches in that dir to apply when updating the drivers.
2018-10-25 01:31:29 +02:00
iabdalkader
d1c6e0e0bb Fix WINC init timeout. 2018-10-25 01:18:36 +02:00
Kwabena W. Agyeman
0df6500e92 Lepton driver working great for flir 1/3 with scaling now. 2018-10-22 01:30:06 -04:00
Ibrahim Abd Elkader
7f73d394a6
Merge pull request #396 from openmv/update_cmsis_nn
Update to CMSIS NN 5.4.0
2018-10-21 03:50:26 +02:00
iabdalkader
e5746fb252 Update to CMSIS NN 5.4.0 2018-10-21 03:15:53 +02:00
bj-wanghz
4017db219a
Update lbp.c
fix lbp_weights index calculation in imlib_lbp_desc_distance.
2018-10-20 20:52:43 +08:00
iabdalkader
eb57e9eecc Fix H7 DMA region size.
* Note still need to make the MSC buffer size configurable in MP.
2018-10-17 19:28:16 +02:00
iabdalkader
4449cbe369 Fix NN col buffer size. 2018-10-10 20:58:04 +02:00
iabdalkader
0f7a4049af Use the MPU to make H7 DMA region uncacheable. 2018-10-10 18:07:51 +02:00
iabdalkader
97e52d037c Add printf stubs to UVC. 2018-10-10 02:12:41 +02:00
iabdalkader
5d296cfa0c Move lepton init to MSP 2018-10-09 23:42:43 +02:00
iabdalkader
4c554e2147 Use DMA for LEPTON 1 and 3. 2018-10-09 23:07:38 +02:00
iabdalkader
6df8ab7187 Add VOSPI memory region. 2018-10-09 20:26:59 +02:00
iabdalkader
45293c1dce Disable MP DMA1_Stream0 for Lepton SPI3. 2018-10-09 20:25:11 +02:00
iabdalkader
f2e36e0c25 Fix H7 SPI clock source. 2018-10-06 01:29:32 +02:00
iabdalkader
1479cefc6f NN: fix col buffer size.
* This is a workaround until a proper fix is found.
2018-10-03 19:07:09 +02:00
iabdalkader
c16894aeb7 Bump firmware version. 2018-10-02 00:53:18 +02:00
iabdalkader
e0be6b6569 Rename webcam to uvc. 2018-10-01 19:16:55 +02:00
iabdalkader
0f1fce6b31 Add streaming support to snapshot function. 2018-10-01 03:08:26 +02:00
iabdalkader
3fa52f966f Fix UVC streaming on H7. 2018-09-30 02:42:47 +02:00
Ibrahim Abd Elkader
36111eb2c0
Faster UVC streaming using double buffers. (#383) 2018-09-29 20:02:05 +02:00
Kwabena W. Agyeman
e97e0a2021 Add MLX support. 2018-09-24 22:58:47 +02:00
iabdalkader
8e5c8aac21 Add function to check if IDE is connected (debug mode). 2018-09-20 18:00:22 +02:00
iabdalkader
d4c596ae25 Fix MT driver typos. 2018-09-17 01:57:16 +02:00
iabdalkader
d1bd214376 Set fixed FS label. 2018-09-17 01:29:52 +02:00
Ibrahim Abd Elkader
c25271bd3f
Merge pull request #375 from openmv/fix_h7_latency
Fix H7 flash latency.
2018-09-17 01:22:08 +02:00
Ibrahim Abd Elkader
dac73fcd09
Add webcam/UVC firmware. (#374) 2018-09-17 01:21:49 +02:00
iabdalkader
7709ee8acc Fix H7 flash latency.
* VOS1 ~1.2v the flash latency should be 2 cycles.
2018-09-16 00:50:54 +02:00
iabdalkader
681cef11eb Add pysensor shutdown function. 2018-09-05 17:15:53 +02:00
iabdalkader
4eb2f1ac35 Add shutdown function. 2018-09-05 16:44:58 +02:00
Michael Mueller
edc193da8f SPI timeout in slave mode, due to internal chip error
See stm32f7 erratasheet, chapter 2.11.2
2018-08-16 11:47:54 +02:00
iabdalkader
87c64f3c32 WiFi debug: Fix bcast time, close all sockets on error. 2018-08-14 21:26:32 +02:00
iabdalkader
5b7cd80123 Fix WiFi timer. 2018-08-14 21:01:53 +02:00
iabdalkader
25c3f06fb9 Make WiFi timer accept frequency arg. 2018-08-14 20:47:20 +02:00
iabdalkader
a50f059243 Fix OMV4 build. 2018-08-14 15:39:24 +02:00
iabdalkader
673fca8432 Add a recv buffer per socket.
* WINC partial recv bug workaround.
2018-08-14 15:19:20 +02:00
iabdalkader
fd46a946e2 Add a recv buffer per socket.
* WINC partial recv bug workaround.
2018-08-14 15:13:09 +02:00
iabdalkader
7afd566ccd Add recv buffer per socket.
* WINC partial recv bug workaround.
2018-08-14 15:11:47 +02:00
iabdalkader
4767229a7c Close file after writing raw image.
* Fixes #365
2018-08-10 22:13:30 +02:00
Kwabena W. Agyeman
60f6d1ddc7 Add UDP Broadcast for OpenMV Cam discovery.
* Now OpenMV Cam's can be discovered in the wild by OpenMV IDE without
hardcoding the OpenMV Cam WiFi IP address and port.
* The firmware reads settings from OpenMV IDE for STA and AP mode.
* Boradcast in both modes works and OpenMV IDE can find the cam.
* AP mode works (albeit the driver needs help).
* Station mode sometimes connects every now and then. There's a bug in
the WiFi module that prevents this from working right. The same code
executes on the cam and in the IDE for both modes but station mode has
issues...
2018-08-10 16:18:05 +02:00
Kwabena W. Agyeman
abe97a73ba Disable Mean on OMV2 2018-08-10 16:09:53 +02:00
Ibrahim Abd Elkader
4c25cffa7f
Add WiFi programming. (#362) 2018-07-30 20:10:55 +02:00
iabdalkader
4e34b32ec6 Fix OMV2 build.
* Disable morph().
2018-07-30 19:42:47 +02:00
iabdalkader
747ca41f09 Update winc header.
* Fix MAKE_ADDR macro.
* Add winc_security_t.
2018-07-16 22:09:54 +02:00
iabdalkader
75e12ae8ff Minor fix to ini_atoi. 2018-07-16 22:06:53 +02:00
iabdalkader
e8eabd6be2 Fix ini_atoi. 2018-07-16 22:02:39 +02:00
iabdalkader
f301c9f4c9 Move ini functions to ini.h/c 2018-07-16 22:01:18 +02:00
iabdalkader
bdacce048d Fix/Re-enable CAN. 2018-07-14 20:09:13 +02:00
iabdalkader
a69bfc3709 Add imlib flag to enable/disable math ops. 2018-07-14 19:53:54 +02:00
iabdalkader
fa6e24373f Enable more MP modules. 2018-07-10 20:29:25 +02:00
iabdalkader
7e9c83d409 Update MP docs. 2018-07-08 23:50:35 +02:00
Kwabena W. Agyeman
493069e893 FIxed FLIR driver 2018-07-06 02:55:05 -04:00
iabdalkader
f4e7e1cb8d Enable uctypes.
* Fix issue #338 and issue #360
2018-07-03 11:14:44 +02:00
iabdalkader
06431cdc3f Add imlib macro. 2018-06-30 18:32:06 +02:00
iabdalkader
f598de860a Add selective search. 2018-06-30 18:30:14 +02:00
iabdalkader
574eeedc3e Bump firmware version. 2018-06-29 22:37:46 +02:00
iabdalkader
14617a0713 ORB: support RGB images. 2018-06-28 18:22:00 +02:00
iabdalkader
d5ab4e4919 Add macro to convert (if needed) RGB pixel to GS. 2018-06-28 18:17:28 +02:00
iabdalkader
4f209ea9b1 Add comments and fix style. 2018-06-27 02:16:03 +02:00
iabdalkader
833bc04f78 OMV2: Re-enable gaussian. 2018-06-24 23:40:36 +02:00
Ibrahim Abd Elkader
560c190908
Merge pull request #358 from kwagyeman/bitmap_streaming
Fix bitmap streaming bpp value check.
2018-06-22 17:19:26 +02:00
Kwabena W. Agyeman
e925b1a3f8 Fix bitmap streaming bpp value check. 2018-06-22 02:41:26 -04:00
Kwabena W. Agyeman
f49576a679 Make both networks output the same value types.
Both CIFAR and LENET work still.

The smile network... I couldn;t really get to work before or afterwards.
I noticed the Haar one has trouble finding my face. Maybe fix via using
the contrast settings of the previous Haar scripts?
2018-06-22 02:28:49 -04:00
iabdalkader
9cc33a16a7 NN: Remove printf's while loading network. 2018-06-21 21:58:41 +02:00
iabdalkader
978115a2a2 Fix TO_GS_PIXEL macro. 2018-06-21 21:22:36 +02:00
iabdalkader
46bf00119d Fix Canny edge ROI. 2018-06-21 20:23:31 +02:00
Kwabena W. Agyeman
6a56b0eaad Fix bad realloc error. 2018-06-20 18:48:34 +02:00
Kwabena W. Agyeman
157a469ec3 Fix finding small apriltags. 2018-06-20 18:48:25 +02:00
Kwabena W. Agyeman
13496ee2fc Fix broken atan2 return.
This has been an issue for a while and I was just working around it in
code. It is fixed now.
2018-06-20 18:44:04 +02:00
Kwabena W. Agyeman
0c35755fc2 No need to drop array contents anymore. 2018-06-20 18:43:46 +02:00
Kwabena W. Agyeman
aa4d15e4f8 Improve error messages when out of memory. 2018-06-20 18:43:25 +02:00
Kwabena W. Agyeman
2040647fbb Use fast arm sin/cos. 2018-06-20 18:43:09 +02:00
Kwabena W. Agyeman
bd77afbc0a Improved H7 AprilTags res. 2018-06-20 18:42:50 +02:00
Kwabena W. Agyeman
d7c13bce9d Update umm_malloc to the latest. 2018-06-20 18:41:15 +02:00
Kwabena W. Agyeman
1db09070cc Improve OOM error messages. 2018-06-20 18:39:14 +02:00
Kwabena W. Agyeman
343735a2a5 Remove redundant code. 2018-06-20 18:32:36 +02:00
iabdalkader
a0fe5b9559 Fix USB HID interface number and endpoints numbers. 2018-06-20 01:50:54 +02:00
iabdalkader
e04331d142 Enable boot.py to set USB mode to HID if required. 2018-06-20 00:23:04 +02:00
iabdalkader
925f662786 Cleanup config parsing. 2018-06-19 23:54:20 +02:00
iabdalkader
f135c12cd9 Enable mutable images for Haar cascades. 2018-06-19 22:51:45 +02:00
iabdalkader
3591161984 Add support for running Haar on RGB images. 2018-06-19 22:41:00 +02:00
iabdalkader
b570bd6e12 MP: Apply upstream SPI patch. 2018-06-19 20:50:28 +02:00
iabdalkader
2d4ffac9f8 MP: Fix pendsv bug.
* Thanks to Rocky from NXP for finding and fixing the bug.
2018-06-13 18:30:59 +02:00
iabdalkader
571c356464 MP: Revert pyexec to parse/compile/exec. 2018-06-13 18:29:51 +02:00
iabdalkader
aa25be6397 MP: Update I2C docs. 2018-06-12 02:05:24 +02:00
Ibrahim Abd Elkader
59eabdf13d
Merge pull request #355 from kwagyeman/nn_upgrade
NN: Clean up and support sliding window.
2018-06-11 05:27:11 +02:00
iabdalkader
9b08e91557 MP: Update to MP 1.9.4 2018-06-11 05:18:54 +02:00
Kwabena W. Agyeman
70920585df Sub sample for contrast check to go faster. 2018-06-10 23:10:19 -04:00
Kwabena W. Agyeman
ccbe073861 Add NN search method to be able to deal with multiple scales and
positions.
2018-06-10 22:08:11 -04:00
Kwabena W. Agyeman
0f262acdc1 Add ROI to forward and add stack guards. 2018-06-10 22:08:11 -04:00
Kwabena W. Agyeman
3abd8bedb1 Add new CMSIS NN file. 2018-06-10 22:08:11 -04:00
Kwabena W. Agyeman
688fb54d91 Add ROI Support to forward. 2018-06-10 22:08:11 -04:00
Kwabena W. Agyeman
e4f238e794 Updated ARM CMSIS NN Lib 2018-06-10 22:08:11 -04:00
Kwabena W. Agyeman
107019a357 More cleanup
* Moved variable inits around.
* Added spacing.
2018-06-10 22:08:10 -04:00
Kwabena W. Agyeman
19473ef28c Module Cleanup
* Updated the header.
* Removed redundant includes.
* Switched to ROM pointers.
* Fixed some spacing issue.
2018-06-10 22:08:10 -04:00
iabdalkader
deadb0980d NN: Define ARM_MATH_DSP and ARM_NN_TRUNCATE. 2018-06-09 21:23:51 +02:00
iabdalkader
8eed8b4580 CMSIS: Add missing __STATIC_FORCEINLINE for GCC. 2018-06-09 21:23:02 +02:00
Kwabena W. Agyeman
bf2f45bff7 Fixed bitmap support for image operations 2018-06-06 01:01:38 -04:00
iabdalkader
d3ef8e748e Re-enable OMV2 build 2018-06-04 18:18:53 +02:00
iabdalkader
14750d2915 Disable NN for OMV2. 2018-06-04 18:18:11 +02:00
iabdalkader
940c56ec8c Rename py_image_unavailable_obj. 2018-06-04 18:17:21 +02:00
iabdalkader
c9e4be4df3 Move py_image_unavailable_obj to py_helper. 2018-06-04 18:14:28 +02:00
Kwabena W. Agyeman
3233592c07 Support jpeg compressing bitmap images. 2018-06-04 17:32:05 +02:00
Kwabena W. Agyeman
8a44f0cd91 Support converting binary images to bitmaps in place.
This is useful for building image masks.
2018-06-04 17:26:35 +02:00
iabdalkader
158813452e Lepton: move SPI PRESCALER to omg_boardconfig.h. 2018-06-04 16:36:16 +02:00
iabdalkader
3e0b605bea Disable MT9V034 and LEPTON for OMV1/2/3. 2018-05-30 20:10:45 +02:00
iabdalkader
573b362626 Use FSIN to trigger MT snapshot. 2018-05-30 19:26:33 +02:00
iabdalkader
6d936e2567 Fix OMV4 FSIN pin. 2018-05-30 19:25:09 +02:00
iabdalkader
d7bc409cf3 Remove unused sensor pins from omv_boardconfig files. 2018-05-30 19:22:46 +02:00
Kwabena W. Agyeman
40cce70c90 Implement Lepton snapshot function. 2018-05-30 19:12:26 +02:00
Kwabena W. Agyeman
804d97f5b0 Update FLIR Lepton driver.
* Fix window code.
* Support smaller resolutions.
2018-05-30 19:11:07 +02:00
Kwabena W. Agyeman
7d16d008f9 Update error handling code for sensor.reset() and sensor.sleep(). 2018-05-30 19:07:12 +02:00
Kwabena W. Agyeman
6daabb3a52 Fix hardcoded freqs. 2018-05-30 19:06:49 +02:00
Kwabena W. Agyeman
eb8b0777f4 Fix dynamically changing the XCLK frequency. 2018-05-30 19:04:52 +02:00