Larry Bank
4a61bf9bee
fixed grayscale SW JPEG compression for YCbCr colorspace (subtracting 128)
2020-05-25 02:44:23 +02:00
Larry Bank
61739d6c40
fixed software JPEG encode of 1-bpp images
2020-05-25 00:18:46 +02:00
Kwabena W. Agyeman
30b27e947b
Floating point is actually simple
2020-05-23 22:50:51 -07:00
Kwabena W. Agyeman
1fe9d62958
Optimized Sensor Driver for Double FPS
2020-05-23 15:37:16 -07:00
Ibrahim Abd Elkader
8feaf6df78
Merge pull request #803 from bitbank2/master
...
Fixed right edge bayer conversion error
2020-05-21 02:50:10 +02:00
Ibrahim Abd Elkader
f4cf2117c9
Merge pull request #801 from kwagyeman/kwabena/high_res_jpeg
...
Fixed OV5640 Imaging Modes
2020-05-20 15:51:11 +02:00
Larry Bank
1c60611efa
Fixed right edge bayer conversion error
2020-05-18 17:37:48 +02:00
Kwabena W. Agyeman
104ed7c0b8
Fixed OV5640 Imaging Modes
...
* Grayscale/RGB565/Bayer/JPEG works perfectly on all reses.
* Increased maximum JPEG image transfer size.
* Improved line buffer transfer rate.
2020-05-17 21:53:57 -07:00
iabdalkader
e7000a486d
Bump firmware version.
2020-05-16 21:56:44 +02:00
iabdalkader
5c319714b8
Enable TF on OMV3/F7.
2020-05-15 14:59:30 +02:00
Kwabena W. Agyeman
f4e03f4894
Update TensorFlow to support uint8/int8/float32
2020-05-14 18:25:15 -07:00
Ibrahim Abd Elkader
d81f58569b
Merge pull request #799 from kwagyeman/kwabena/get_histogram_with_diff
...
Add image diff ability to get_histogram
2020-05-13 21:12:46 +02:00
Ibrahim Abd Elkader
c41d6c807c
Merge pull request #798 from kwagyeman/kwabena/fix_rotation_corr
...
Fix and speedup rotation correction
2020-05-13 21:11:51 +02:00
Matt Dawson
5ec2e7b310
Add offset correction to imlib lens correction. ( #791 )
...
* Add x/y correction to lens correction to adjust for lens offsets.
2020-05-13 21:10:58 +02:00
iabdalkader
63ea06d75d
Update docs.
2020-05-13 21:04:48 +02:00
Kwabena W. Agyeman
a2705ae3d1
Add image diff ability to get_histogram
2020-05-12 22:30:16 -07:00
Kwabena W. Agyeman
57ea4e326c
Fix and speedup rotation correction
2020-05-12 19:35:24 -07:00
iabdalkader
391fd4c356
Update MLX90640 driver.
2020-05-12 22:49:46 +02:00
iabdalkader
723f2b06e2
Enable I2C FMP on cams that support it.
2020-05-12 22:01:16 +02:00
iabdalkader
c2728038e7
Increase FIR I2C GPIO speed.
2020-05-12 21:57:22 +02:00
iabdalkader
fbe88581b8
Allow interrupts in cambus read/write_bytes functions.
...
* Those are used exclusively by the FIR sensors and not by the main
image sensor, so it's safe (and much faster) to leave interrupts enabled.
2020-05-12 21:47:22 +02:00
iabdalkader
2ecf2b5a1d
Add general call to cambus.
2020-05-12 21:36:11 +02:00
Ibrahim Abd Elkader
1c02cfed33
Merge pull request #783 from matsondawson/draw_image_bilinear_interp_and_alpha_palletes
...
draw_image bi-linear interpolation, alpha palettes, and center_image
2020-05-12 19:56:36 +02:00
iabdalkader
c372ffe5a2
Increase soft-i2c spin delay on H7 boards.
2020-05-11 14:49:30 +02:00
iabdalkader
b3c6ccc7f8
Switch MLX90640 and AMG8833 to HW I2C.
2020-05-11 14:49:30 +02:00
iabdalkader
31b1761051
Switch to MLX90640 HW I2C driver.
2020-05-11 14:49:30 +02:00
iabdalkader
346d65c158
Revert soft I2C spin delay.
2020-05-11 14:49:30 +02:00
iabdalkader
353ca203ee
Add board config HW I2C for external sensors.
2020-05-11 14:49:30 +02:00
iabdalkader
08520c5618
Increase MLX frame readout retry.
2020-05-11 14:49:30 +02:00
iabdalkader
0b6dc728ba
Add cambus read/write bytes.
2020-05-11 14:49:30 +02:00
Ibrahim Abd Elkader
bf2199f396
Merge pull request #787 from kwagyeman/kwabena/make_ov5640_faster
...
New readout control code
2020-05-11 01:52:58 +02:00
Matt Dawson
75f337ab2a
Allow alpha palettes in non bilinear grayscale draw_image
2020-05-09 18:09:32 -07:00
Matt Dawson
c45ab418d4
Allow alpha palettes in grayscale mode.
2020-05-09 17:15:33 -07:00
iabdalkader
0c0bf4a5d8
Add I2C timings to cambus.
2020-05-09 19:05:17 +02:00
Matt Dawson
7e83dbb92e
Removed negative scaling. Moved texture sample to center of pixel.
2020-05-09 01:13:26 -07:00
Kwabena W. Agyeman
4ecdf8a323
Cleanup vscode documentation
2020-05-08 22:14:22 -07:00
Kwabena W. Agyeman
51f141a7ed
New readout control code
2020-05-08 21:08:18 -07:00
Matt Dawson
8f8872537b
Changed to use fb_alloc_mark, gb_alloc_free_till_mark. Renamed Image hint type and enums. Formatting fixes
2020-05-08 17:31:13 -07:00
iabdalkader
a92c927aed
Make cambus functions accept I2C handle.
2020-05-08 19:51:28 +02:00
Matt Dawson
85fbe0a87f
Docs. And performance by not applying alpha if it's 0
2020-05-07 20:27:32 -07:00
Ibrahim Abd Elkader
dece4481f7
Merge pull request #781 from bitbank2/master
...
Fix for left edge Bayer to ycbcr bug
2020-05-07 15:49:52 +02:00
Larry Bank
b834038af1
added edge fix to bayer_to_y and bayer_to_binary methods
2020-05-07 02:53:28 +02:00
Larry Bank
9feb214507
Fix for left edge Bayer to ycbcr bug
2020-05-06 17:08:14 +02:00
Ibrahim Abd Elkader
d6ad0c845f
Merge pull request #778 from kwagyeman/kwabena/update_documentation
...
Kwabena/update documentation
2020-05-05 22:01:20 +02:00
Kwabena W. Agyeman
406babbf23
Moved firmware documentation
2020-05-04 21:08:22 -07:00
iabdalkader
496a3b6279
Bump firmware version.
2020-05-04 22:10:18 +02:00
Ibrahim Abd Elkader
d586f7166a
Merge pull request #773 from kwagyeman/kwabena/compress_ok_with_jpegs
...
Modify compression methods to allow jpeg images
2020-05-04 21:25:52 +02:00
Matt Dawson
a94b16a49d
draw_image_bilinear_interp_alpha_palletes_and_center_image
2020-05-03 21:24:51 -07:00
Kwabena W. Agyeman
18b27e11c3
Fix disable FB
2020-05-03 17:33:32 -07:00
Kwabena W. Agyeman
cdb8b4ec46
Modify compression methods to allow jpeg images
2020-05-03 17:19:52 -07:00
Ibrahim Abd Elkader
431755c453
Merge pull request #774 from kwagyeman/kwabena/close_tcp_socket_on_error
...
Close sockets that have errors.
2020-05-04 00:53:44 +02:00
iabdalkader
ea2ef40fbe
Increase soft I2C spin delay for H7P.
2020-05-01 21:25:14 +02:00
iabdalkader
9a025b60b9
Rename fb functions for consistency.
2020-05-01 14:43:13 +02:00
Ibrahim Abd Elkader
28296408c3
Merge pull request #771 from kwagyeman/kwabena/disable_fb
...
Add disable_fb.
2020-05-01 14:35:21 +02:00
Kwabena W. Agyeman
98e1a1e51d
Add disable_fb.
...
Allow user control to disable the frame buffer.
Necessary for high speed frame streaming.
2020-04-30 13:40:07 -07:00
Kwabena W. Agyeman
f4b0df2ad0
Close sockets that have errors.
...
Tested and works.
2020-04-30 13:11:19 -07:00
iabdalkader
778ac59950
Update docs.
2020-04-30 01:12:24 +02:00
Ibrahim Abd Elkader
6061b6d2ba
Merge pull request #768 from bitbank2/master
...
Optimized datamatrix ops
2020-04-29 20:29:40 +02:00
Ibrahim Abd Elkader
bdc5888b69
Merge pull request #772 from kwagyeman/kwabena/fix_is_connected
...
Fix ip_obtained bug for static IPs
2020-04-29 19:03:21 +02:00
Ibrahim Abd Elkader
ff54696163
Merge pull request #763 from matsondawson/add_custom_palettes_to_draw_image
...
Add custom palettes to draw image with demo
2020-04-29 18:57:22 +02:00
Kwabena W. Agyeman
b5dee12bf1
Fix ip_obtained bug for static IPs
2020-04-28 22:26:11 -07:00
Kwabena W. Agyeman
f9dc525011
Improve WiFi performance by 20X
...
Polling for the async response was ruinning WiFi and UDP performance.
This fix removes that polling while not breaking anything. It has been
stress tested while streaming over an hour of wifi video data using the
new RPC scripts.
2020-04-28 17:05:46 -07:00
Kwabena W. Agyeman
7488988128
Fix winc send/sendto/recv/recvfrom
2020-04-25 11:08:53 -07:00
Larry Bank
dff1a63f15
Optimized datamatrix ops
2020-04-24 23:40:30 +02:00
iabdalkader
a7318b8489
Fix I2C DMA deinit again.
2020-04-24 21:18:15 +02:00
Ibrahim Abd Elkader
b9dc456b50
Merge pull request #766 from matsondawson/#764-Image.mean-corrupts-memory
...
Fix bug in filters corrupting memory if y size less than k_size.
* closes #764
2020-04-24 21:12:41 +02:00
iabdalkader
5f8dcc17c5
Fix I2C deinit.
2020-04-24 21:04:55 +02:00
Ibrahim Abd Elkader
238b3e6749
Merge pull request #767 from kwagyeman/kwabena/fix_spi_i2c_dma
...
Fix SPI I2C DMA Deinit
2020-04-24 18:04:40 +02:00
Kwabena W. Agyeman
8b66c39ae2
Fix SPI I2C DMA Deinit
2020-04-24 09:03:18 -07:00
Ibrahim Abd Elkader
17b278153d
Merge pull request #762 from bitbank2/master
...
optimize negate and difference
2020-04-24 14:44:33 +02:00
mattdawson
6411663a2d
#764 fix cleanup at end of filters that corrupts memory if y size is less than k_size
2020-04-24 18:13:47 +12:00
mattdawson
eb94f153dd
Fix formatting. Remove un-needed error check for image format with color palette.
2020-04-24 13:42:05 +12:00
mattdawson
30383d32b6
Fixed not checking that image is grayscale image for custom palette. Made demo simpler.
2020-04-23 21:58:37 +12:00
mattdawson
91efa307e0
Add custom palettes to draw image with demo
2020-04-23 21:33:01 +12:00
iabdalkader
cb2d279bda
FDCAN Fixes.
...
* Fix FIFO flags.
* Add receive timeout.
2020-04-22 22:42:00 +02:00
Larry Bank
d5a19980cc
optimize negate and difference
2020-04-22 21:44:02 +02:00
Matt Dawson
414c6e1a51
draw_image performance and negative scaling. ( #758 )
...
Improve draw_image performance and negative scaling.
2020-04-22 17:43:14 +02:00
Larry Bank
c6f727e4fa
×ptimized erode/dilate ( #760 )
...
* optimized erode/dilate
Co-authored-by: Larry Bank <laurencebank@gmail.com>
2020-04-22 17:21:26 +02:00
Kwabena W. Agyeman
012bef5966
First image is invalid on sensor init0.
2020-04-18 23:09:26 -07:00
Larry Bank
86760e9851
Faster Bayer to YCBCR ( #755 )
...
* speed up jpeg encoder by adding a direct bayer-to-ycbcr path
* implemented faster bayer_to_ycbcr for SW JPEG and moved Y/BINARY to imlib.c
* changed names of new bayer_to_xx functions and added prototypes to imlib.h
Authored-by: Larry Bank <laurencebank@gmail.com>
2020-04-17 23:03:32 +02:00
Ibrahim Abd Elkader
86e01445fd
Merge pull request #748 from bitbank2/master
...
Optimized bayer to RGB565
2020-04-15 13:50:43 +02:00
Ibrahim Abd Elkader
37bb532562
Merge pull request #754 from kwagyeman/kwabena/update_tf_4_14_2020
...
Updated tensorflow library to support int8
2020-04-15 13:49:48 +02:00
Kwabena W. Agyeman
c325f81034
Updated tensorflow library to support int8
2020-04-14 20:47:26 -07:00
mattdawson
e1c667fbc1
Fixes as per P.R. #753 comments
2020-04-14 17:34:53 +12:00
mattdawson
a71c3f9beb
Fix DrawImage with alpha and add color palettes for grayscale
2020-04-13 21:18:38 +12:00
iabdalkader
63a0827483
Lower I2C reset timeout.
2020-04-11 02:24:09 +02:00
iabdalkader
aa10c79f6c
Fix SPI DMA issues on the H7
2020-04-10 20:29:07 +02:00
Kwabena W. Agyeman
2c3358bc41
Add raw data RD/WR access to the image object.
...
Do .bytearray() to get an object pointing to the image bytes which
allows you to maninpulate the RAW data of an image.
2020-04-07 19:58:38 -07:00
Larry Bank
d7b6ed55bc
Added detailed comments to Bayer code
2020-04-03 18:47:00 +02:00
Larry Bank
e4fcfa1553
optimized bayer to rgb565
2020-04-02 21:58:05 +02:00
Larry Bank
b07ea88875
Optimize sensor copy ( #747 )
...
* Optimize line copy to allow full res capture
* Change all pixel types to use the 40/80Mhz clock
Authored-by: Larry Bank <laurencebank@gmail.com>
2020-04-02 21:38:51 +02:00
Larry Bank
5222495dae
moved line for readability
2020-04-02 21:25:40 +02:00
Larry Bank
701d7dfb80
changed all pixel types to use the 40/80Mhz clock
2020-04-01 18:26:09 +02:00
Larry Bank
e154c9b8a6
optimied sensor copy to allow ful res capture
2020-04-01 03:46:45 +02:00
iabdalkader
e1686b50de
Bump firmware version.
2020-03-31 00:49:18 +02:00
Larry Bank
f6136477fd
optimized more image filters
2020-03-30 02:18:43 +02:00
Larry Bank
083139fcda
optimized median and mode filters
2020-03-15 00:47:52 +01:00
Larry Bank
2aa391cfa9
Fixed boundary check
2020-03-14 01:12:43 +01:00
Larry Bank
18b2d915a3
Speed up of mean filter
2020-03-12 22:53:48 +01:00
Kwabena W. Agyeman
2b26ca17b0
Improved the speed of logpolar and linpolar transforms.
...
* Fixed image quality issues too.
2020-03-08 16:13:25 -07:00
iabdalkader
2ae875077b
Disable TF for OMV3.
2020-03-06 13:03:34 +02:00
iabdalkader
61b3216f6e
Increase the stack for H7 boards.
...
* The TF library allocates big buffers on the stack, causing a SoF when running
the person detection network. Increase the stack to at least 12KBs.
2020-03-06 13:02:00 +02:00
Kwabena W. Agyeman
c5c9770d3a
Improve rotation_correction()
...
* Optimized code to make it run slightly faster.
* Added fov argument to control the zoom effect better.
* Added perspective correction through 4 point correspondence.
2020-03-04 23:00:59 -08:00
iabdalkader
194b068eea
Fix hardfault on disable D cache.
...
* Disable and clean caches only if they're enabled.
2020-03-04 19:16:45 +02:00
Ibrahim Abd Elkader
64253a6c28
Merge pull request #736 from kwagyeman/kwabena/lens_correction_cleanup
...
Lens correction cleanup
2020-03-02 19:50:11 +02:00
Kwabena W. Agyeman
b36460a36a
Lens correction cleanup
2020-03-02 09:37:11 -08:00
Kwabena W. Agyeman
d5dd843dc7
Add avg pool 2d op version 2
2020-02-29 15:01:42 -08:00
iabdalkader
ed09c77f06
QSPI fixes.
2020-02-28 19:54:41 +02:00
iabdalkader
8e3c18bc39
Rename soft I2C macros.
2020-02-27 21:16:17 +02:00
iabdalkader
82d9ce1feb
HM01B0: Fix SYNC polarities.
2020-02-26 18:02:25 +02:00
iabdalkader
83b8a1309b
Set Portenta core vbat to 3.0v
2020-02-26 18:02:25 +02:00
iabdalkader
6a50656d5a
Add core vbat to board config file.
2020-02-26 18:02:25 +02:00
iabdalkader
b73576baeb
Add HIMAX FSIN pin.
2020-02-26 18:02:25 +02:00
iabdalkader
c5a884ff3a
Fix I2C scanning for HIMAX sensor.
...
* The HIMAX sensors seems to reply at two address, 0x10 and 048. The right
address is 0x48 so we start scanning the I2C bus after 0x10 to as a workaround.
2020-02-26 18:02:25 +02:00
iabdalkader
e4cb1c122d
Fix Portenta sensor power down GPIO.
2020-02-26 18:02:25 +02:00
iabdalkader
b098c78a2b
Fix HIMAX sensor address.
2020-02-26 18:02:25 +02:00
iabdalkader
af7bccbfbb
Disable, clean and invalidate before enabling the cache.
2020-02-26 18:02:25 +02:00
iabdalkader
35b4e34253
Use HSE/HSI/CSI state defined in board config file.
2020-02-26 18:02:25 +02:00
iabdalkader
c7bb9fb6ad
Remove RESET and FSIN from Portenta config.
2020-02-26 18:02:25 +02:00
iabdalkader
a12ab145e5
Check if PWDN and RESET are defined before configuring I/Os.
2020-02-26 18:02:25 +02:00
iabdalkader
2a8be10ca0
Call early init before HAL init.
...
* To configure and enable the external OSC before HAL_Init.
2020-02-26 18:02:25 +02:00
iabdalkader
a90174cfca
Enable GPIOJ for portenta board.
2020-02-26 18:02:25 +02:00
iabdalkader
8b178d5ade
Fix Portenta sensor reset pin.
2020-02-26 18:02:25 +02:00
iabdalkader
8c3eb0fb38
Move OSC state to board config files.
2020-02-26 18:02:25 +02:00
iabdalkader
bd2fd5a69a
Define HSE_VALUE in board config files.
2020-02-26 18:02:25 +02:00
iabdalkader
0b69171a41
Add portenta clock config.
2020-02-26 18:02:25 +02:00
iabdalkader
b90d01337c
Enable clock config for H747.
2020-02-26 18:02:25 +02:00
iabdalkader
c8d5448484
Add OMV board files.
2020-02-26 18:02:25 +02:00
iabdalkader
496a7669b8
Enable H747 clock config.
2020-02-26 18:02:25 +02:00
iabdalkader
f6f030e2b7
Rename sensor ifdef check.
2020-02-26 18:02:25 +02:00
iabdalkader
8a7236b6d3
Check if LED4 and CAN are enabled in main.
2020-02-26 18:02:25 +02:00
iabdalkader
84bcade13b
Add OMV board extra CFLAGS.
2020-02-26 18:02:25 +02:00
iabdalkader
a1d241ae4d
Call MicroPython board early init.
2020-02-26 18:02:25 +02:00
iabdalkader
57ff7cf973
Add STM32H747 CMSIS headers and startup file.
2020-02-26 18:02:25 +02:00
iabdalkader
40434c6be7
PORTENTA: Use Arduino's PID
2020-02-26 17:27:32 +02:00
Ibrahim Abd Elkader
e039f8e9d6
Merge pull request #731 from bitbank2/lens_corr_fix
...
Lens correction speedup
2020-02-26 00:23:23 +02:00
Larry Bank
de98dfd373
Lens correction speedup
2020-02-25 23:11:41 +01:00
iabdalkader
563ffb4e55
PORTENTA: Update SDRAM settings.
2020-02-25 22:05:00 +02:00
Larry Bank
3d17929801
Faster find_circles ( #728 )
...
* Faster find_circles
2020-02-23 20:38:38 +02:00
iabdalkader
185b9d8cec
Enable deque.
2020-02-23 19:39:04 +02:00
iabdalkader
b06fe58038
Make core vbat configurable.
2020-02-21 14:36:41 +02:00
iabdalkader
ccea3aecb2
Rename FSIN pin to FSYNC.
...
* Legacy name from OV datasheets.
2020-02-21 14:20:47 +02:00
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
Kwabena W. Agyeman
e69afb34b1
Disable color bar test for non-ov7725 sensors.
2018-05-30 19:02:40 +02:00
iabdalkader
e1ee5cc22b
NN: Add softmax arg.
2018-05-29 18:05:22 +02:00
iabdalkader
5fba4c3ad9
NN: Move output buffer to network struct.
2018-05-29 17:57:56 +02:00
iabdalkader
1c0c8d744b
NN: Fix output size.
2018-05-29 17:44:39 +02:00
iabdalkader
8ce21ddb72
NN: Add output size to network struct.
2018-05-29 17:33:20 +02:00
Kwabena W. Agyeman
ba47e84ec1
Add higher resolutions.
2018-05-29 16:46:26 +02:00
iabdalkader
83dd9bafd4
NN: apply q7 fix from upstream.
2018-05-29 04:41:26 +02:00
iabdalkader
d151f7e38d
NN: Remove hard-coded NNs.
2018-05-25 22:50:28 +02:00
iabdalkader
ce49f7e56f
NN: Add input scaling.
...
* From CMSISNN CIFAR10 example.
2018-05-25 18:04:16 +02:00
iabdalkader
758d3ac1a7
NN: Handle GS->GS, GS->RGB888 and RGB565->GS.
2018-05-24 23:25:35 +02:00
iabdalkader
25608d86d5
NN: No reason to use fballoc0
2018-05-24 19:47:29 +02:00
iabdalkader
91f22e7d6e
NN: remove convert/scaling code from network test.
2018-05-24 19:45:17 +02:00
iabdalkader
85267ee276
NN: Add test function.
...
* Simulates the network without actually calling any functions.
2018-05-23 03:01:01 +02:00
iabdalkader
fb83fb701f
NN: Add forward code.
2018-05-23 02:26:08 +02:00
iabdalkader
d967ad62cd
NN: Make base layer fields accessible from sub layers.
2018-05-22 16:30:46 +02:00
iabdalkader
fce3b9476a
Add trace buffer.
...
* This is a simple buffer used for debugging.
2018-05-21 23:30:54 +02:00
iabdalkader
10758f376b
Split script parse_compile_execute function.
...
* This avoids interrupting parser with pendsv (which causes a hardfault).
* Not sure what the real issue is, but this solution works for now.
2018-05-21 23:01:46 +02:00
iabdalkader
23993210dd
Add initial NN loading code.
2018-05-19 23:50:07 +02:00
iabdalkader
97518da1df
Fix collections list_pop_front bug.
...
* Thanks to Rocky Song for finding the bug.
2018-05-19 23:42:48 +02:00
iabdalkader
36948fff45
Fix keypoints match list.
2018-05-17 23:55:56 +02:00
iabdalkader
a07fb2f600
WINC: Return bytes from send, recv, sendto and recvfrom.
2018-05-15 02:22:13 +02:00
Kwabena W. Agyeman
ac2d2fc1cd
Update find circles with min and max radius to run faster.
...
This was a user request.
2018-05-13 19:31:32 -04:00
iabdalkader
a1fd72b8c8
MP: Fix docs.
2018-05-07 13:39:57 +02:00
iabdalkader
ffdadcf8df
Bump firmware version.
2018-05-07 00:04:54 +02:00
iabdalkader
da7f797429
Disable OMV2 build.
2018-05-06 23:41:51 +02:00
iabdalkader
f264c60664
SD card fixes.
...
* Fix DMA buffer macros.
* Remove WFI from wait_finished (causes issues on F7).
* Remove buffer alignment code (avoiding m_alloc's).
2018-05-06 23:12:33 +02:00
iabdalkader
2c7049805c
Update docs.
2018-05-06 00:33:24 +02:00
iabdalkader
8bc4468d0c
Disable USB IRQ for non-DMA SD transfer.
2018-05-06 00:29:49 +02:00
iabdalkader
d8a24caeab
Update docs.
2018-05-02 18:19:01 +02:00
iabdalkader
f7e691e390
Remove line_filter function.
2018-04-27 02:01:23 +02:00
iabdalkader
6c208b52c9
Sensor: Check window size.
2018-04-26 01:03:32 +02:00
iabdalkader
4b5338ad8b
JPEG: Fix BAYER bounds.
2018-04-26 01:02:15 +02:00
iabdalkader
b8527178f1
JPEG: Move bayer_to_rgb565 to imlib.
2018-04-26 00:43:46 +02:00
iabdalkader
9603870e04
Use software cropping instead of DCMI HW cropping.
...
* This fixes issues with some DMA transfer sizes.
2018-04-25 23:43:30 +02:00
iabdalkader
8e123e0cfc
Add WINC SPI prescaler to OMV board config files.
2018-04-25 15:03:41 +02:00
Kwabena W. Agyeman
167daa3538
Add LEPTON Module ID Support
2018-04-25 14:59:39 +02:00
Kwabena W. Agyeman
60a9c50502
Add support for the lepton module
2018-04-25 14:54:53 +02:00
Kwabena W. Agyeman
a7e442c9ca
Add FLIR Lepton Module
2018-04-25 04:18:53 +02:00
iabdalkader
e006e9b249
Allow sensors to override the default snapshot function.
2018-04-25 04:02:50 +02:00
Kwabena W. Agyeman
8fbab69cab
Add Lepton SDK
2018-04-24 21:57:49 +02:00
Kwabena W. Agyeman
420d7f7eeb
cambus: Support 16-bit register address.
2018-04-24 21:36:09 +02:00
Kwabena W. Agyeman
25d23f113d
FLIR: Set SPI1/2/3 clock source to 160MHz.
2018-04-24 21:20:59 +02:00
Kwabena W. Agyeman
45e59006a4
Fix board type.
2018-04-24 21:10:36 +02:00
iabdalkader
af2bfbd6da
Bump firmware version.
2018-04-23 22:21:13 +02:00
iabdalkader
22d22fa3f7
NN: Use the same order as caffe model.
2018-04-23 21:46:54 +02:00
iabdalkader
8d3c60267c
Fix image save without extension.
...
* Fix issue #341
2018-04-23 18:59:11 +02:00
iabdalkader
38eb9e59bb
Enable math special functions.
...
* Fix issue #339
2018-04-20 01:44:49 +02:00
iabdalkader
ca5ebbc0ff
Fix H7 build.
...
* CAN is not supported yet for H7.
2018-04-17 14:12:45 +02:00
iabdalkader
16bacb3ca0
Enable I2C4.
2018-04-16 00:52:23 +02:00
Kwabena W. Agyeman
76e9d9fd50
Fix compile issues with the M4 firmware.
...
Also added a method that will give an error to the user versus not
found.
2018-04-14 02:23:17 -04:00
Kwabena W. Agyeman
93b81fcffc
Add image conversion methods.
...
Requested by customers to make a grayscale image and rainbow image.
2018-04-14 01:01:55 -04:00
iabdalkader
5881e5ef4f
H7: Lower sensor external clock to 48MHz.
...
* Produces better image quality.
* FPS is lower but HW JPEG makes up for it.
2018-04-12 19:33:48 +02:00
iabdalkader
b9ac80997b
WINC: Use HAL to init SPI.
...
* Use plain HAL code to init WINC SPI.
* Add HAL SPI config to board config files.
2018-04-12 19:32:23 +02:00
iabdalkader
7d09e219a2
Set RNG clock source.
2018-04-09 15:18:09 +02:00
Ibrahim Abd Elkader
74664d1962
Merge pull request #335 from kwagyeman/master
...
Fix gain_db control
2018-04-09 05:14:12 +02:00
Kwabena W. Agyeman
01532ae11d
Fix gain_db control
...
Mapping is correct now.
2018-04-08 20:22:21 -04:00
iabdalkader
3b9148cf9b
Make low/high JPEG quality configurable.
2018-04-09 01:07:49 +02:00
Kwabena W. Agyeman
137fd1e89d
Add openmv version info module.
...
Lets you print out and access a few key strings.
2018-04-08 18:35:38 -04:00
Kwabena W. Agyeman
bbb6a0ae92
Add better text drawing.
...
Non monospace text drawing.
2018-04-08 17:31:51 -04:00
Kwabena W. Agyeman
31b1273fb6
Add draw image for drawing images.
...
Can also be used to draw sprites by using the mask image to turn off
drawing some pixels.
2018-04-08 00:45:34 -04:00
Kwabena W. Agyeman
aa7386ac5f
Add cartoon filtering
...
It's not as good as mean shift filtering but can approximate it if you
heavily control the image image lighting conditions. That said, it's a
lot faster and less memory than mean shift filtering.
2018-04-07 23:38:38 -04:00
iabdalkader
cf6225de3a
Clean up MP board config file.
2018-04-08 02:03:34 +02:00
Kwabena W. Agyeman
7f798a8282
Add flood fill
...
The algorithm itself is setup to be used for future filters.
2018-04-06 00:20:19 -04:00
iabdalkader
82ff7a250e
Add H7 DAC support.
2018-04-06 01:08:34 +02:00
iabdalkader
6cd715bf96
Reduce HW JPEG timeout.
...
* Avoid getting stuck when there's an overflow (abort seems useless).
2018-04-04 16:06:58 +02:00
iabdalkader
aa53cf2352
Support H7 hardware JPEG encoder.
2018-04-03 22:08:53 +02:00
Ibrahim Abd Elkader
6877b3afe6
Merge pull request #329 from kwagyeman/master
...
Random Library Fixes
2018-04-03 22:10:01 +02:00
Kwabena W. Agyeman
7bd8fe45fd
Add masking support to replace.
2018-04-01 17:15:28 -04:00
Kwabena W. Agyeman
c4e40f9a36
Fix image pixel access methods to be safer.
2018-04-01 16:56:09 -04:00
Kwabena W. Agyeman
311607f02b
Add masking support to binary.
2018-04-01 16:55:42 -04:00
Kwabena W. Agyeman
6436eb15dc
Normalize bilteral filter sigma values.
...
Its easy to pick sigma now and it works great. Features get nice and
smooth.
2018-04-01 15:54:43 -04:00
Kwabena W. Agyeman
6e02030cbc
Add contrast limited adaptive histogram equalization.
...
This method is fast and super useful.
2018-04-01 15:33:30 -04:00
Ibrahim Abd Elkader
11a9610902
Merge pull request #328 from kwagyeman/master
...
More image filtering stuff
2018-04-01 17:46:02 +02:00
iabdalkader
c14e0e809d
Minor fixes to ADC code.
2018-04-01 17:40:12 +02:00
Kwabena W. Agyeman
09c9d97a70
Add bilateral filtering support
...
Runs faster than median filtering with a large kernel size. That said,
if sigma is set to low for the particular scene you can get corrupted
pixels if there's too much change in a particular kernel area. Tried a
few things to filter this out but was not successful. Not sure how to
fix... but, turning the sigma up hides the issue. It has something to do
with zeros in the luts used to speed the algorithm up causing
instability.
2018-04-01 00:56:41 -04:00
Kwabena W. Agyeman
c3c40680f5
Add missing binary image filtering functionality
...
Open/Close/TopHat/BlackHat/MorphMethods/Etc.
2018-03-31 15:06:20 -04:00
iabdalkader
2ddb4510e6
Add H7 ADC support.
2018-03-31 20:41:38 +02:00
iabdalkader
fac6f19b75
Increase the JPEG quality threshold for H7.
2018-03-30 14:42:59 +02:00
iabdalkader
fcdeb09283
Update MP.
2018-03-27 20:57:10 +02:00
iabdalkader
e9286f6a85
Fix OMV2 build.
2018-03-27 20:41:54 +02:00
iabdalkader
870ce65c51
Merge H7 SRAM1 and SRAM2.
2018-03-27 20:41:26 +02:00
iabdalkader
965e7e1529
Move JPEG buffer to SRAM3.
2018-03-27 20:40:06 +02:00
iabdalkader
ee2aab62be
Add IMLIB_ENABLE_FAST to imlib config.
2018-03-27 03:47:28 +02:00
iabdalkader
ef3faa3df7
Move AprilTags qsort to separate file.
...
* Needed by F4 build.
2018-03-26 20:50:51 +02:00
iabdalkader
bbb5b8dda0
Update F4 HAL.
2018-03-26 20:39:10 +02:00
iabdalkader
fabe9cf292
Fix H7 HAL strict aliasing errors (patch from MP/stm32lib).
2018-03-26 20:38:45 +02:00
Kwabena W. Agyeman
a05daabf5b
Fix bug with sharpen.
...
Wayyy too much gain before.
2018-03-26 01:24:24 -04:00
iabdalkader
6a3eb2814d
Mount FLASH FS if SD card fails to mount.
2018-03-25 01:34:55 +02:00
iabdalkader
eef37ce696
Avoid 64-bit integer division in LPUART.
2018-03-25 01:08:43 +02:00
iabdalkader
e3f08179fb
Update MP.
2018-03-25 00:57:38 +02:00
iabdalkader
9e1401add6
Update F7 HAL.
2018-03-25 00:57:23 +02:00
iabdalkader
0a5d4525bc
Add H7 DCMI cache maintenance.
2018-03-24 03:31:41 +02:00
iabdalkader
dfe67393dc
Move H7 DMA buffers to AXI memory.
...
* SD can only access AXI memory.
2018-03-24 03:30:44 +02:00
iabdalkader
39373f2950
Update linker script.
2018-03-24 03:30:32 +02:00
iabdalkader
014942a75b
Fix bootloader version.
2018-03-24 00:45:32 +02:00
iabdalkader
f5a30c5301
Implement bootloader V2 flash layout command.
2018-03-23 00:14:55 +02:00
iabdalkader
34010c62a8
Merge F7 SRAM1 and SRAM2.
2018-03-22 23:54:10 +02:00
iabdalkader
006225c2f3
Fix USB issues on Windows.
2018-03-21 21:30:46 +02:00
Kwabena W. Agyeman
efe69c961d
Add support for scalar operations
...
This brings all our basic operations code up to spec with other image
library offers.
Anyway, you can now pass a "color" value as the parameter to a basic op
method and it will apply that value to all pixels in the image.
2018-03-20 03:31:24 -04:00
Kwabena W. Agyeman
ed795c4fce
Fix possible stack smashing issue.
...
User could pass too large a kernel size and crash their camera without a
nice error messages.
2018-03-20 00:52:55 -04:00
iabdalkader
e7dff016f6
Enable MDMA driver.
2018-03-19 14:58:23 +02:00
iabdalkader
88826bb414
Disable H7 SD transceiver.
2018-03-19 14:51:18 +02:00
Kwabena W. Agyeman
74c892abd6
Fixed morph edge methods.
...
Redcued noise being injected. Looks a lot better now.
2018-03-19 02:41:23 -04:00
Kwabena W. Agyeman
3342f68ca2
Fixed Divide by zero
...
Saw this floating around.
2018-03-18 22:10:57 -04:00
Kwabena W. Agyeman
d7159fba3e
Upate filtering operations
...
Binary images are now handled. Cleaned up and optimized code. Some speed
gains after shifting to multiplies and not using int8_t.
Added a sharp and unsharp mask feature. Fixed up guassian. Added a
laplacian operation for edge detection.
2018-03-18 22:06:03 -04:00
iabdalkader
93f82440f2
Enable MDMA clock.
2018-03-17 01:25:15 +02:00
Ibrahim Abd Elkader
be6de2e467
Merge pull request #324 from kwagyeman/master
...
Add the ability to pull higher scaled text kerning in...
2018-03-17 00:04:01 +02:00
iabdalkader
97b2bb8bb2
Enable delayblock.
2018-03-16 20:48:35 +02:00
Kwabena W. Agyeman
45b319dc84
Add the ability to pull higher scaled text kerning in...
2018-03-16 01:27:51 -04:00
iabdalkader
00b9a99f44
Set DFU gap-fill to 0xFF.
...
* Makes it easier to diff hexdumps from flash.
2018-03-15 23:55:06 +02:00
iabdalkader
6cfcc8d784
Update MP H7 support.
2018-03-15 20:46:51 +02:00
iabdalkader
60ee2ecfe9
Move H7 main memory to SRAM1.
...
* We can't use the CCM for main memory because it's only accessible by MDMA.
2018-03-15 17:50:11 +02:00
iabdalkader
1d6defa15b
Use volatile flash_offset.
2018-03-14 16:49:28 +02:00
iabdalkader
2f194aa877
Fix bootloader flash bug.
2018-03-14 16:48:48 +02:00
iabdalkader
e429386620
Make bootloader flash index volatile.
2018-03-14 16:32:01 +02:00
iabdalkader
4eaa875208
Fix formatting.
2018-03-14 14:10:28 +02:00
iabdalkader
dff902a4fa
Use uint32_t for fb_w and fb_h.
2018-03-14 14:09:58 +02:00
iabdalkader
d4fde23096
Set DCMI byte select mode for H7.
2018-03-14 00:36:36 +02:00
iabdalkader
f3dba04591
Add H7 dma descriptors.
2018-03-13 21:48:48 +02:00
iabdalkader
53723e3e08
Disable caching of H7 DMA memory using the MPU.
2018-03-13 20:46:33 +02:00
iabdalkader
32e1b522e2
Update imlib config.
2018-03-13 20:46:12 +02:00
iabdalkader
294018378a
Fix cpufreq RCC_PLLP_DIV2.
2018-03-13 19:14:31 +02:00
iabdalkader
3318909925
Add HAL_DCMI_Start_DMA_MB to H7 HAL.
2018-03-13 19:06:03 +02:00
iabdalkader
66ddae84b1
Update OMV4 board config file.
2018-03-13 19:04:48 +02:00
iabdalkader
a1b7d19007
Move JPEG buffer to main memory region.
...
* Note on the F7 this is the same memory region (CCM).
* On the H7, the DMA buffers where moved to SRAM3.
2018-03-13 19:03:00 +02:00
iabdalkader
d31fc84f60
Minor cleanups.
2018-03-13 03:24:51 +02:00
iabdalkader
69f62740a7
Update sensor to support H7.
2018-03-13 03:21:12 +02:00
iabdalkader
7cc601e7d2
Enable SRAM1/2/3 early in startup code.
2018-03-13 03:07:39 +02:00
iabdalkader
83cab47b27
Set cambus timing for H7.
2018-03-13 02:57:33 +02:00
iabdalkader
6edd70587c
Fix linker script typo.
2018-03-12 20:34:20 +02:00
iabdalkader
5218aad02d
Fix H7 flash file system cache memory.
2018-03-12 20:30:29 +02:00
iabdalkader
1fa990b96a
Update the bootloader to support the H7 flash.
2018-03-12 20:10:27 +02:00
iabdalkader
74c035ca8a
Update OMV4 board config.
...
* Note keeping everything in DTCM for now.
2018-03-12 16:45:42 +02:00
iabdalkader
aca7b9e8a8
Move the USB voltage level detector after all init code.
2018-03-12 16:45:03 +02:00
iabdalkader
85f06771d3
Include legacy header
2018-03-12 16:42:50 +02:00
iabdalkader
6a303f3d94
Update H7 legacy header.
2018-03-12 16:42:33 +02:00
iabdalkader
0d59d7584e
Disable SRAM1/2/3 in bootloader.
...
* Not actually used
2018-03-12 16:39:19 +02:00
iabdalkader
793c451437
Add Makefile targets using dfu-util.
2018-03-12 16:38:22 +02:00
Ibrahim Abd Elkader
0a5146e393
Merge pull request #322 from kwagyeman/master
...
Upgrade Drawing Features
2018-03-12 16:38:24 +02:00
Kwabena W. Agyeman
0d63aa52df
Fix minor numerical issues.
...
Couldn't sleep. Needed to make sure this got fixed.
On a side note. We should use a better font. It doesn't really scale
well. Not going to fix now.
2018-03-12 08:51:56 -04:00
Kwabena W. Agyeman
fc74e70c32
Upgrade Drawing Features
...
Heavily upgraded the drawing features onboard the OpenMV Cam. We now
have all the basic drawing methods folks expect along with all the
parameters you need. Finally! You can make big text fonts.
* Added line thickness support
* Added shape fills
* Added text scaling
* Added draw arrow.
2018-03-12 01:14:03 -04:00
iabdalkader
f27f94b76d
Define new memory regions.
2018-03-12 02:40:17 +02:00
iabdalkader
6880482afd
Enable D2 SRAM1/2/3 clocks.
2018-03-12 01:36:45 +02:00
iabdalkader
50d27dacee
Enable USB clock during sleep.
2018-03-12 01:35:50 +02:00
iabdalkader
6339815ae3
Comment SDMMC definition.
2018-03-10 22:51:33 +02:00
iabdalkader
99dc3365b6
Update H7 CMSIS headers.
2018-03-10 20:17:36 +02:00
iabdalkader
453b41a6ec
Update to latest MP.
2018-03-10 20:14:49 +02:00
iabdalkader
2f9da92e12
Fix H7 HSE_VALUE.
2018-03-10 18:58:14 +02:00
iabdalkader
4af7bb4b57
Update H7 ST HAL.
2018-03-10 17:30:03 +02:00
iabdalkader
93ba0a51bb
Update to MP 1.9.3
2018-03-09 20:22:29 +02:00
iabdalkader
92b617877c
Move USB headers to usbdev to avoid including MP USB headers.
2018-03-09 20:21:18 +02:00
iabdalkader
68e761d55a
Fix typo in comment.
2018-03-05 19:18:45 +02:00
Kwabena W. Agyeman
e0e112468e
Argument Parsing Done Correctly
...
All of our argument parsing code has now been updated to handle
positional as well as keyword arguments in our python libraries.
Basically, python allows you to pass some number of positional arguments
to functions/methods followed by keyword arguments (you cannot have more
positional arguments after keyword arguments). Previously, our code
would only look for keyword arguments. Now, it works better and will
grab as many positional arguments as it can followed by processing
keyword arguments. Note: If the case of a positional argument value for
a parameter being passed followed by a keyword for that same parameter
the keyword value is taken (since it comes aftward).
Because arguments were passed in keyword form before this update has no
affect on current code. However, moving forward, argument positions are
now locked and cannot be moved around.
2018-03-05 00:49:36 -05:00
iabdalkader
75d89f7172
Add CMSIS CNN.
2018-03-05 03:10:10 +02:00
iabdalkader
28cc88845c
Fix system init.
2018-03-04 17:18:14 +02:00
iabdalkader
11040db094
Update imlib_image_mean to handle RGB images.
2018-03-04 03:29:11 +02:00
iabdalkader
789496e13a
Fix OMV2 imlib_config.h
2018-03-04 01:31:06 +02:00
iabdalkader
c0efb0884a
Revert c1e5daf6fd.
...
* FPU_USED is already defined.
2018-03-04 01:08:17 +02:00
iabdalkader
c1e5daf6fd
Add FPU_USED to CFLAGS.
2018-03-04 01:07:19 +02:00
iabdalkader
1c91b1dcb1
Update SystemInit.
2018-03-04 01:06:31 +02:00
iabdalkader
bc3807ed30
Fix py_cpufreq.
2018-03-03 22:58:12 +02:00
iabdalkader
de1c6427a6
Wait for PWR_FLAG_VOSRDY
2018-03-02 17:38:35 +02:00
iabdalkader
659abe0225
Clean up system clockconfig function.
2018-03-02 17:37:03 +02:00
iabdalkader
e028215be5
Remove unused functions in system.c
2018-03-02 17:32:00 +02:00
Kwabena W. Agyeman
397abe4746
Cleanup Math Operations
...
Add binary image support to the math operations and updated them to
support masks. Replace now also support mirroring operations. Finally,
adding missing basic math ops like add/sub/mul/div. The operations are
designed to work as image blending operations so they take care of
scaling their output accordingly.
2018-02-25 22:03:31 -05:00
Kwabena W. Agyeman
fb3d0776f0
Overhaul Binary Functions
...
Binary() can noew zero things so you can remove bright lights. All the
line ops (and/or/xor/etc) accept masks. Erode and dilate now accept
masks. And finally, you can now pass arguments versus keywords for folks
who don't read the documentation. Also, the binary image type is now
supported for these methods.
I'm putting in all this work because I saw the need for it when I was
doing shadow removal.
Note: Some effort needs to be put into optimizing the py_image.c code
soon. This is on the todo list before the next release.
2018-02-25 00:15:02 -05:00
Kwabena W. Agyeman
646425b2a6
Add color thresholding support to get_histogram/stats.
...
You can now pass a color threshold list to get histogram and get stats
(along with an invert arg) to control what gets put into the histogram.
2018-02-21 01:27:13 -05:00
iabdalkader
5027e0162e
Protect VCP buffer pointer with atomic section.
...
* Fix issue #313
2018-02-17 00:22:21 +02:00
iabdalkader
7c6ee56862
Move wifi driver to separate files.
...
* This will enable using wifi from C code.
2018-02-12 23:53:43 +02:00
iabdalkader
eaaf391ec8
Enable threading.
2018-02-12 23:53:00 +02:00
Ibrahim Abd Elkader
43a17f2890
Merge pull request #312 from kwagyeman/wifi_dbg
...
Add wifi_dbg stub.
2018-02-12 22:21:42 +02:00
iabdalkader
ff75b760f7
Update MP docs.
2018-02-12 00:41:26 +02:00
Kwabena W. Agyeman
11983a0228
Add wifi_dbg stub.
...
All the notes about how to implement wifi programming are in the code.
Steps:
1. Get wifi_apply_settings() working first and make sure you can turn
the wifi shield on in the right mode. Then add the necessary hooks into
the network code to make it such that previous user wifi code still
works. Also, make sure to handle start and shutdown gracefully.
Basically, get all the lifecycle code working first before moving to the
next step so notning gets in a weird state and bugs creep in...
2. Get the beacon method working. Once this works OpenMV IDE should see
the camera when you hit the connect button.
3. Do the code to turn off the regular usbdbg interface and swtich to
having the data come from wifi_dbg. This isn't a lot of code... but,
will be tricky since you no longer will have USB frames to work with.
All bytes are just going to come randomly and in bursts so you have to
handle the serial stream yourself... (Kwabena can help writing a
statemachine for dealing with this type of stuff if you want. I do it
all the time).
2018-02-08 01:49:29 -05:00
iabdalkader
7ef6bf0e5c
Disable unused functions in imlib_config.
2018-02-06 02:26:09 +02:00
iabdalkader
333e5417b1
Disable qrcodes if not used.
2018-02-06 02:17:46 +02:00
iabdalkader
291b06db13
Disable find_rects if not used.
2018-02-06 02:17:01 +02:00
iabdalkader
45dd265d51
Update imlib config.
2018-02-06 02:11:11 +02:00
iabdalkader
9a2bf08c50
Move line functions to line.c
2018-02-06 02:07:36 +02:00
iabdalkader
3010a47930
Disable imlib similarity if not used.
2018-02-05 02:17:48 +02:00
iabdalkader
6d396b809a
Enable auto dependency generation.
2018-02-04 18:31:39 +02:00
iabdalkader
2f6c18d286
Update imlib config files.
2018-02-04 16:19:21 +02:00
iabdalkader
581e1ab2d2
Disable rotation correction if not used.
2018-02-04 16:14:04 +02:00
iabdalkader
1935c34f4f
Disable phase corr if not used.
2018-02-04 16:08:20 +02:00
iabdalkader
7cb0133bc9
Disable logpolar if not used
2018-02-04 16:01:39 +02:00
iabdalkader
ba2539f09e
Add imlib macros to shadow removal.
2018-02-02 16:44:41 +02:00
iabdalkader
45dba499ad
Add missing imlib macro.
2018-02-02 16:41:24 +02:00
iabdalkader
c8741f5cc1
Rename OMV_ENABLE to IMLIB_ENABLE.
2018-02-02 01:35:13 +02:00
iabdalkader
5e47520a48
Add imlib config file.
2018-02-02 01:26:21 +02:00
Kwabena W. Agyeman
5377f6f575
Add single image shadow remover code.
...
Calling remove_shadows() on an image without a background source of
truth image now works. However, that said, the shadow remover isn't
suitable for anything other than removing shadow on an image of concrete
flow or somthing of the like. In general, it can only remove shadows
from a scene that has nothing else in it except for a hard edge shadow.
Improving this to work for anything is about a month of work. I've
researched enough about shadow removal to now know the optimal way to do
it. However, it requires many steps and a large amount of RAM. On the H7
I may revist this as being possible.
...
In order to get the shadow remover working well I had to add a few
features to the image library and fix some of the convolution code.
These fixes will likely be more useful than the shadow removal code.
Note the addition of the new get_threshold() method. This computes
otsu's threshold on a histogram allowing you to pick the optimal color
bounds.
2018-01-28 19:33:04 -05:00
iabdalkader
f608150b02
Bump firmware version.
2018-01-24 15:05:04 +02:00
iabdalkader
a245e5fb14
Update OMV2 stack and heap
2018-01-24 14:51:32 +02:00
Kwabena W. Agyeman
e0ef7d5bcc
Add more ifdefs to remove OpenMV Cam M4 features since we're flash
...
exhausted.
2018-01-24 01:33:45 -05:00
Kwabena W. Agyeman
bfcdcd4793
Add REPL Uart Ini File Setting Support
...
OpenMV IDE includes an ini file generator which will let you set board
settings easily from the IDE. Currently, the IDE has support for setting
the WiFi shield up along with adding a REPL Uart.
Anyway, this commit adds support for the OpenMV Cam to parse an ini file
on startup to configure things before starting main.py. WiFi support is
not yet implmented. However, we now have the ability to turn the UART
and put the REPL terminal on it on startup given a setting in the ini
file.
(Why not use boot.py like normal MP? While that is more flxible it's
much harder for the IDE to easily write out settings for you which is
what most users will want to do versus coding this up).
...
The movitation for adding REPL UART support in particular is so that the
OpenMV Cam can be used as a slave processor to IoT type processors like
the ESP32/ESP8266/ParticlePhoton/ElectricImp. In particular, a processor
like the ParticlePhoton can control the OpenMV Cam's reset wire. Wake
the camera up by releasing reset, then send a script to it after it
powers on over the UART. The camera will then run the script, do
computer vision, and report results back over the UART to the
ParticlePhoton. Users can then push new scripts to the OpenMV Cam from
the cloud allowing for semi-flexible firmware fixes for the OpenMV Cam
over low data rate networks.
By setting this feature up the need for OpenMV to offer a WiFi IoT
system is reduced as we can now just be the best camera for everything.
...
Due to... I don't know... ctrl-c doesn't work on the duplicated UART.
https://github.com/micropython/micropython/issues/1568
Not sure how to handle this. I don't want to fix it since it needs to be
fixed by MP upstream. Right now the work around is for the mastering MCU
to just reset the OpenMV Cam when it's done with the system.
That said, this does mean that once you start a script using the Open
Terminal command line system you won't be able to stop the script.
2018-01-23 00:22:23 -05:00
Kwabena W. Agyeman
fc9c416a21
Frame Differencing with Shadow Removal
...
Add in support for shadow removal from the current image using a shadow
free background image. Test results show the algorithm works similar to
max() while still keeping dark objects around. The preformance impact of
the algorithm is not too high. An in memory example can achieve 30 FPS.
2018-01-21 16:41:04 -05:00
Kwabena W. Agyeman
38f2c41877
Add pixel and area threshold settings to get_regression()
...
You can now make it not return anything for images with a low pixel
count.
2018-01-20 01:57:17 -05:00
Kwabena W. Agyeman
432b39bc17
Add min()/max() for frame differencing.
...
These have cool ghost image like affects and are useful for frame
differencing.
2018-01-17 02:13:55 -05:00
iabdalkader
abf836519f
Support bayer pixel access.
2018-01-16 22:59:01 +02:00
Ibrahim Abd Elkader
633be51050
Merge pull request #304 from kwagyeman/better_phase_correlation
...
Phase Corr Redo 2
2018-01-16 12:38:42 +02:00
Kwabena W. Agyeman
c78f91b421
Phase Corr Redo 2
...
Redid the phase correlation code again so it's one method call now. This
method call can either do logpolar phase correlation to get rotation/
scale or translation(x/y). Additionally, it will be able to also do both
at once. However, I don't have that quite working yet.
I've updated the example scripts to reflect the new code too.
Finally, I had to fix a bug in the rotation correction code.
...
Once I've got the full pipeline working I will post scripts for that. I
have all the code in there and it's been somewhat debugged... However, I
can't get a useful phase correlation lock out of the log polar fft mag.
I plan to look into noise filtering and spectral whitening solutions for
this.
2018-01-15 23:29:04 -05:00
Kwabena W. Agyeman
9eba59c6c1
Update to full invariant image.
...
This commit updates the shadow free invariant image to 2 colors from
just grayscale.
If we need to save ROM room in the future we'll just disable the LUT and
have the algorithm run with the regular C code. Right now this is not an
issue.
2018-01-14 20:05:49 -05:00
iabdalkader
09c38e7c31
Fix find_template bug.
2018-01-13 19:08:35 +02:00
iabdalkader
4d09a13f30
Use ROI for lenet.
2018-01-12 01:23:03 +02:00
Kwabena W. Agyeman
3da3c60e12
Fixed bugs with logpolar/linpolar.
...
Images look great now.
2018-01-09 01:25:10 -05:00
Kwabena W. Agyeman
7516d7699f
Add Advanced Optical Flow scripts
...
Someone asked me about doing a field of receptors before. These scripts
show how to do that. Also, added example scripts for calling the linear
polar and log polar methods added previously which power
find_rotscale().
2018-01-08 00:10:55 -05:00
Kwabena W. Agyeman
213396d090
Complete Overhaul of phasecorrelation
...
Just doing one big commit/PR here since I noticed that breaking it up
causes issues.
Anyway, these fixes give us GOOD/WORKING/FAST optical flow now on the
OpenMV Cam M7. A number of changes were made to the optical flow
scripts. You have have absolute and differential estimation example
scripts. Additionally, you also have the ability to measure rotation and
scale changes too. Linear/Log Polar conversion was added for this. Users
may use the new code for generic image manipulation too. Finally, I
updated the power of 2 resolutions since you actually HAVE to use them
with optical flow for the phasecorrelation code to work correctly.
I have some more advanced scripts coming after this. But, This commit is
already getting kinda large so I'm stopping it here.
2018-01-07 17:48:07 -05:00
Ibrahim Abd Elkader
075cfbc0de
Merge pull request #298 from kwagyeman/sensor_fixes
...
Update invariant table.
2018-01-06 18:42:35 +02:00
Kwabena W. Agyeman
edffa55873
Update invariant table.
...
Boosted gain by 3X.
2018-01-06 11:07:16 -05:00
iabdalkader
e3872b4c22
Increase gethostbyname timeout.
2018-01-06 00:12:00 +02:00
Kwabena W. Agyeman
30ecbdc4f8
Add white balance control.
...
You can now get white balance gains from the camera chip and set the
camera to then use these gains again in a new enviorment.
2017-12-31 19:56:02 -05:00
Kwabena W. Agyeman
1cf5211efb
Fix bugs with sensor auto gain control.
2017-12-31 17:28:27 -05:00
iabdalkader
b1e84d9955
Fix formatting.
2017-12-31 16:12:17 +02:00
Kwabena W. Agyeman
139cdbdbc9
Add auto gain control ceiling value to be settable by the auto gain
...
method.
Things are in dB now too. Need to remove the previous settable method.
2017-12-30 23:54:19 -05:00
Kwabena W. Agyeman
aeb0238040
Added hmirror and vflip support to the MT9V034 and example scripts ( #294 )
...
* Added hmirror and vflip support to the MT9V034 and example scripts.
* Moved sensor example scripts to one place.
* Add delay to these script for register settling time.
2017-12-31 00:32:01 +02:00
Kwabena W. Agyeman
b906c5f192
Add auto gain control setting support ( #293 )
...
You can now get the auto gain setting in dBs and set the value in dBs.
Example scripts are included. Code was tested on the OV7725.
2017-12-30 23:18:35 +02:00
Kwabena W. Agyeman
7be0a7a182
Add exposure control for all sensors ( #292 )
...
* Textual register cleanup.
No functional changes.
* Add exposure control support.
You can now set the exposure for the camera in microseconds (versus an
opaque unknown value previously). First, we have a new method called
get_exposure_us() which will get the expsoure time in microseconds. This
let's you determine what the auto exposure algorithm set the exposure
time to. Second, the previously implmented set_auto_exposure() method
which allows you to turn aec off and on accepts a exposure_us keyword
argument when you turn aec off to manually control the exposure.
The next commit will add support for other sensor types.
* Cleanup register formatting.
No functional changes.
* Add exposure control support for the OV2640.
Register access for this chip is a PITA.
* Formatting Cleanup.
No functional changes.
* Add exposure control for ov9650.
Just doing it for all sensors.
* Add missing 2 factor.
* Added exposure control for the MT9V034.
* Add exposure control example.
Works well on the OV7725.
2017-12-30 15:56:11 +02:00
Kwabena W. Agyeman
cbbead0785
Add adaptive thresholding to filters.
...
I still need to go back and optimizing and cleanup the code. I just
wanted to get the feature in first.
2017-12-27 19:23:48 -05:00
iabdalkader
7cec96a9db
Fix H7 build.
2017-12-28 01:04:51 +02:00
Ibrahim Abd Elkader
ece149d8d2
Merge pull request #288 from kwagyeman/sensor_fb_fix
...
Restore MAIN_FB() size on snapshot()
2017-12-26 21:24:00 +02:00
Ibrahim Abd Elkader
d5721a4f39
Merge pull request #289 from kwagyeman/histeq_update
...
Refactor histeq()
2017-12-26 13:48:10 +02:00
Kwabena W. Agyeman
dcc31ec37d
Refactor histeq()
...
Just updating the code with the same style as other methods. I have
another new sister method for histeq() comming up next which I'll push
as soon as this PR is done. Didn't want to merge the two into one PR.
2017-12-26 00:02:51 -05:00
Kwabena W. Agyeman
046a2e1825
Restore MAIN_FB() size on snapshot()
...
This fix allows "copy_to_fb" with a different resolution than the
current frame buffer to work. It also allows the frame buffer to be
resized, etc. In particular, the pooling methods I added for optical
flow work again... you'll also be able to scale the frame buffer too.
2017-12-25 18:00:58 -05:00
Ibrahim Abd Elkader
e0fc302dda
Merge pull request #287 from kwagyeman/compare_methods
...
Add extra frame buffer.
2017-12-25 19:14:47 +02:00
Kwabena W. Agyeman
27f5110ab7
Add extra frame buffer.
...
You can now allocate an extra frame buffer for storing images. However,
this takes memory from the main frame buffer. In particular this reduces
the RAM for many methods that do image processing making memory errors
more likely to happen. Note that you may allocate as many extra fb's as
you like. Dealloc happens in reverse order.
Anyway, you can use this method to now storage things like difference
images in RAM allowing for MUCH faster frame difference image
processing.
Moving on, to keep memory management sane... the second fb looks just
like an image and you can use all the image methods to load and update
it, etc. That said, if users deallocate the second FB they need to *NOT*
use the image pointer anymore. There's no way for me to delete the image
pointer in python right now so this is just something that has to be
manually managed (even if I did setup a deconstructor the second FB is
on a stack... so, things wouldn't work so easily with that).
2017-12-24 22:40:26 -05:00
iabdalkader
e1fa2371bb
Add missing H7 flash constants.
2017-12-24 22:14:02 +02:00
iabdalkader
a9c8cdb752
Update system.c to support H7.
2017-12-24 22:13:38 +02:00
iabdalkader
f8ba3e4e10
Use MCU_SERIES
2017-12-24 22:11:57 +02:00
iabdalkader
04ce644f55
Add H7 headers and startup.
2017-12-24 22:10:30 +02:00
iabdalkader
a51e0de410
Copy USB code to bootloader.
...
* The bootloader will be more self-contained.
2017-12-24 21:24:25 +02:00
iabdalkader
e0779b685c
Add H7 HAL
2017-12-24 21:23:01 +02:00
iabdalkader
ed761075e4
Update OMV4 board files.
2017-12-24 21:07:50 +02:00
Ibrahim Abd Elkader
6753b93842
Merge pull request #286 from kwagyeman/compare_methods
...
Add a LUT for illuminvar()
2017-12-24 17:24:31 +02:00
iabdalkader
9cb0ca0b9a
Add no-strict-aliasing to STHAL CFLAGS.
2017-12-24 17:21:08 +02:00
Kwabena W. Agyeman
f2c36e780a
Add a LUT for illuminvar()
...
It's now faster to be more useful.
Need to work on HDR for the sensor and making the sensor output better.
I fixed some issues with the illuminvar() method going crazy when it
gets colors with values near 0... but, the shot noise from the sensor
adds a lot of noise to everything. Fixing this will likely solve a lot
of algorithm problems.
2017-12-23 21:16:55 -05:00
Ibrahim Abd Elkader
7346efbf0d
Merge pull request #285 from kwagyeman/compare_methods
...
Compare methods
2017-12-23 22:22:22 +02:00
Kwabena W. Agyeman
e2025e8d1e
SSIM Code
...
Image comparison using SSIM. It can be used to detect image
differences... but, the algorithm was designed to compare image quality
and look at compression artifacts. Anyway, it works kinda okay for
detecting frame differences.
2017-12-23 15:01:13 -05:00
Kwabena W. Agyeman
e5eb7185fb
Line ops can now accept a parameter value.
2017-12-21 22:22:12 -05:00
iabdalkader
f2431de175
Add a list of matching keypoints to keypoints match object.
2017-12-21 21:07:01 +02:00
iabdalkader
eabdcbbbca
Add unary_op and subscr to keypoints object.
2017-12-21 19:53:20 +02:00
iabdalkader
ed7cb98b86
Fix bootloader linker script.
2017-12-18 23:38:23 +02:00
Ibrahim Abd Elkader
9b652606dd
Merge pull request #284 from kwagyeman/illuminvar
...
Add chrominace and illuminace invariant image generators.
2017-12-18 15:36:35 +02:00
Kwabena W. Agyeman
937aa1fa22
Add chrominace and illuminace invariant image generators.
...
Both algorithms were tested on the OpenMV Cam using images loaded from a
file and work correctly. However, shot noise from the sensor.snapshot()
makes the output value somewhat worthless except in a situation unless
you've controlled for it. Anyway, the illuminvar work best when the
image is constrained to a very particular view point looking at a flat
scene without shadow and then a shadow enters.
(Not adding demo's for these methods since the output looks like crap
unless you've put some work into constraining the scene... need to add
HDR code and other stuff to the sensor module to get better images).
2017-12-17 21:57:08 -05:00
iabdalkader
dca8f3781d
Fix low-power modes.
2017-12-17 01:58:37 +02:00
iabdalkader
2fb155aff3
Update docs.
2017-12-10 04:34:51 +02:00
Ibrahim Abd Elkader
f77284e38a
Merge pull request #283 from falkoschindler/master
...
changing sign of z_rotation() to follow conventions of a right-handed coordinate system...
2017-12-07 11:26:40 +02:00
iabdalkader
9cc209d128
Add WINC BSP mode.
...
* For programming FW via WINC's debug UART.
2017-12-06 20:33:26 +02:00
iabdalkader
fcc3b0b9c6
Make WINC programmer accept firmware file path.
2017-12-06 17:08:45 +02:00
iabdalkader
475c083c75
Move ffs_strerror declaration to header.
2017-12-06 16:44:57 +02:00
iabdalkader
278fb1c797
Update docs.
2017-12-06 15:30:30 +02:00
iabdalkader
64c2d1a535
Revert "Update docs."
...
This reverts commit 3eca75774f .
2017-12-06 15:29:23 +02:00
iabdalkader
3eca75774f
Update docs.
2017-12-06 14:12:16 +02:00
Falko Schindler
7673aaf742
changing sign of z_rotation() to follow conventions of a right-handed coordinate system with yaw, pitch and roll defined as right-handed rotations about z-, y- and x-axis ( http://nghiaho.com/?page_id=846 , http://planning.cs.uiuc.edu/node102.html );
...
partly reverts pull request #200 (https://github.com/openmv/openmv/pull/200/files );
relates to discussion in openmv forum (http://forums.openmv.io/viewtopic.php?f=6&t=538 );
note that rotation() is probably effected by this change (but it should not!)
2017-12-06 09:11:52 +01:00
iabdalkader
f79c6ba8d2
Move linker script variables to board config files.
2017-12-04 20:43:49 +02:00
iabdalkader
606cb08d1e
Update docs
2017-12-01 13:54:52 +02:00
Kwabena W. Agyeman
7388a3c7be
Improved the performance of the get_regression() robust linear
...
regression code for racing.
No more memcpys all over the place. Not sure why I was doing that.
... code must have been written by an idiot before :) (me).
2017-11-18 22:27:17 -08:00
iabdalkader
a8f74d5f88
Move WINC1500 firmware to top firmware dir.
2017-11-17 15:53:20 +02:00
iabdalkader
7a33f94df9
Bump firmware version.
2017-11-04 18:13:32 +02:00
iabdalkader
b6608cc754
Fix servo pins.
2017-11-01 19:07:29 +02:00
Kwabena W. Agyeman
8d63f6d84b
Fix up lens_correction and add example script.
2017-10-28 00:31:01 -04:00