Kwabena W. Agyeman
dd6a322646
Added basic image querying functions.
...
Now you can get the width/height/format along with size. Additionally, I
fixed up get and set pixel.
2016-02-17 23:04:23 -05:00
iabdalkader
5aa3555a36
Add enable/disable JPEG to USB commands.
2016-02-18 04:12:53 +02:00
iabdalkader
da15b6a915
* Allow fb compression to be enabled/disabled.
...
* This allows reading RGB images on PC if needed.
2016-02-18 04:01:41 +02:00
iabdalkader
8fd89db5fe
Add Hardware/Software JPEG flags to sensor flags.
...
* Not used right now.
2016-02-18 03:26:41 +02:00
iabdalkader
31679cab9a
Allow Haar detector to accept ROIs.
2016-02-17 22:36:57 +02:00
iabdalkader
61f98e6c21
Cleanup old integral image code.
2016-02-17 20:34:21 +02:00
iabdalkader
dc86780578
Use FB_PIXELS() to get a pointer to fb pixels.
2016-02-17 20:32:50 +02:00
iabdalkader
6460fefa15
Fix old integral image lookup
2016-02-17 20:32:33 +02:00
iabdalkader
d658608061
Fix FB_PIXELS() macro.
...
* If bpp > 2 (means JPEG image) return pixels + bpp (bpp stores image size in JPEG mode)
* If bpp <= 2 (means GS or RGB image) return pixels + w * h * bpp.
2016-02-17 20:27:58 +02:00
iabdalkader
d2ac2c63a8
Use fb_alloc to alloc/free integral images.
2016-02-17 20:06:31 +02:00
iabdalkader
c2e6d96c27
Remove unused xalloc include
2016-02-17 20:01:05 +02:00
iabdalkader
d3d7e5dc39
Use typdef's for sensor enum and structs.
2016-02-17 19:46:45 +02:00
iabdalkader
d639df0bfe
Cleanup sensor.h comments.
2016-02-17 19:08:56 +02:00
iabdalkader
c809ec1b53
Add comment about cropping.
2016-02-17 18:49:51 +02:00
iabdalkader
33e552b276
Add DMA2D to sthal's Makefile
2016-02-17 18:48:20 +02:00
iabdalkader
5fdaf08cac
Increase heap size by 256 bytes.
2016-02-17 18:47:33 +02:00
iabdalkader
c1bf4ad33d
Add one pass standard deviation function.
2016-02-17 18:46:46 +02:00
iabdalkader
027641e51e
Improved Haar detector.
...
* Use a scanning factor proportional to the current scale.
* Use the new integral moving window to allow two integral images
(sum and sum squared) for fast mean, variance and standard deviation.
* Higher FPS and more accurate detection.
2016-02-17 18:43:47 +02:00
iabdalkader
b7b4153367
Add integral moving window.
...
* A new integral image implementation that uses a moving window.
* Integral image is computed in steps, each shift computes n new lines.
* This only requires (image_width * (feature_height+1) * 4) bytes.
* Allows Haar detector to run on QVGA, and allows a second squared
integral image for standard deviation calculations.
2016-02-17 18:43:09 +02:00
iabdalkader
c043ebc233
Update qstrs
2016-02-17 18:16:15 +02:00
iabdalkader
0904f0bb6b
Fix FB_PIXELS()
...
* Return fb->pixels+fb->bpp when JPEG is enabled.
2016-02-17 05:28:28 +02:00
iabdalkader
db667c061f
Rename fb_stack to fb_alloc and call init0 in main
2016-02-17 05:24:17 +02:00
Ibrahim Abd Elkader
cfa9b6e440
Merge pull request #67 from kwagyeman/master
...
Add framebuffer alloc functions.
2016-02-17 05:07:34 +02:00
Kwabena W. Agyeman
024b16d475
Added some helper stuff.
...
The alloc functions allow you to use the framebuffer as a storage space.
It's very simple but effective. You can alloc which puts some memory on a
stack... and then when you're done you can free which pops the stack.
Pops (frees) must be done in reverse order of pushes (allocs).
In general, functions should call the init code before using the stack.
It could be in a bad state.
Also, I added some wrappers for file system functions to make that stuff
easier. This will be used in the future.
2016-02-16 21:31:35 -05:00
Ibrahim Abd Elkader
983f1783e3
Merge pull request #66 from kwagyeman/master
...
Update lookup tables and scripts.
2016-02-17 03:57:51 +02:00
Kwabena W. Agyeman
88f37014f1
Finished updating tables.
...
With new RGB565<->RGB888 scaling. This included redoing the LAB/YUV/XYZ
tables. I translated the table gen code to python also and added
comments as to where the math came from.
And yes, I tested and compared the tables to make sure they weren't
borken. The tables are slightly different... but, if look at the
progression of values loosely you'll see the triplets are very close to
each other when doing a compare. This is to be expected given I used a
slightly better scaling algo.
2016-02-16 19:37:19 -05:00
Ibrahim Abd Elkader
e3b76ebabb
Merge pull request #65 from kwagyeman/master
...
* Move image macros to imlib.c.
* Add prefix to image macros.
* Add RGB LUT, and gen_rgb2rgb.py script.
2016-02-16 17:24:48 +02:00
Kwabena W. Agyeman
6699ea4d0e
Added RGB LUT.
...
And modified the rainbow table so that the RGB888 to RGB565 translation
is done using a rounding technique versus hard floor. This is also used
for the RGB565<->RGB888 LUTs.
Additionally, I added a bunch of stuff to the image library to make
working with images easier. I will using these helpers in the future.
Finally, I cleaned up trailing space in the font stuff (pet peeve).
2016-02-15 22:12:25 -05:00
Ibrahim Abd Elkader
42db630564
Merge pull request #64 from kwagyeman/master
...
Fixed up point and rect.
2016-02-15 04:58:46 +02:00
Kwabena W. Agyeman
67b9a815b3
Switch int to int16_t.
2016-02-14 21:54:55 -05:00
Kwabena W. Agyeman
0384d43304
Fixed up point and rect.
...
Point didn't need many changes. However, for rect I made the merge
function alot better so it won't alloc while merging, just free.
Additionally, I added a function to get the intersecting rectangle of an
image. This will be used for all functions that accept a subimg
argument. This function allows the user to basically pass any wild and
crazy rect they want and the function will find the intersecting area (if
it exists) and return just that to operate on. This is good for "do what
I mean" functionality versus "do what I say".
2016-02-14 21:13:55 -05:00
Ibrahim Abd Elkader
020ed9369a
Merge pull request #63 from kwagyeman/master
...
Fixed up array functions.
2016-02-15 02:45:11 +02:00
Kwabena W. Agyeman
84a964f930
Fixed up array functions.
...
There were a lot of missing features in the array module. I added
quicksort based on the MP sort function and I expanded the array code so
you can do stuff like take() which lets you get an object from an array
and easily put it into another array.
I also fixed the "struct array" problems in the code. Anonymous structs
have to go.
2016-02-14 19:29:34 -05:00
iabdalkader
46d91cc95a
VJ: Use a scanning step proportional to scale.
2016-02-15 00:58:17 +02:00
Ibrahim Abd Elkader
d850325de4
Merge pull request #60 from kwagyeman/master
...
Cleaned up some whitespace and unnecessary header.
2016-02-14 17:02:18 +02:00
Kwabena W. Agyeman
ffaea46159
Removed unneeded headers.
...
And... added a comment about the implementation being standard.
2016-02-14 09:38:42 -05:00
Kwabena W. Agyeman
c622e05b58
Re-added timeout.
...
Given how the SCCB won't fail it should really be 0... but, then the
rountines wouldn't return if there was a failure.
2016-02-14 09:27:04 -05:00
iabdalkader
5deaf38a34
Switch to 2x2 (4:2:0) Chroma Subsampling.
2016-02-14 11:20:04 +02:00
iabdalkader
77239a5891
Support 2x1(4:2:2) Chroma subsampling.
2016-02-14 07:34:43 +02:00
Kwabena W. Agyeman
b6eb26d324
Lowered timeout.
...
It was previous set to 10 seconds... since the timeout is in ms. Now
it's at 1 second. This represents 100 clocks at 100KHz I2c. Also, I
noticed general call mode was being set for the I2C which is not at all
something we want (the ability to address multiple devices at once).
I tested the changes with all my cameras. No problems. This was 4 units
(2 being the original protos).
2016-02-13 23:05:27 -05:00
Kwabena W. Agyeman
abac52534c
Reviewed code. No errors. Cleaned up some whitespace and unncessary
...
header.
2016-02-13 21:55:10 -05:00
iabdalkader
597b9aeba4
Emit proper JPEG headers for grayscale images.
2016-02-14 01:54:19 +02:00
Ibrahim Abd Elkader
21eabc63bf
Merge pull request #59 from kwagyeman/master
...
Made XALLOC better.
2016-02-14 00:59:50 +02:00
Kwabena W. Agyeman
456c4ab757
Made XALLOC better. Now the functions detect if you are trying to alloc
...
0 bytes and don't fail if you do that. Additionally, I added some
comments on behavior. (I studied what the gc functions did extensively
to know the behavior of this stuff). All changes have been tested with
code that does memory allocs.
2016-02-13 13:56:33 -05:00
iabdalkader
ee6192aeba
Use a faster BinDCT.
...
* A slightly faster BinDCT.
* JPEG time: GS:22ms RGB:62ms (tested on color-bar images).
2016-02-13 04:28:26 +02:00
Ibrahim Abd Elkader
2e9f25515b
Merge pull request #57 from kwagyeman/master
...
Made Soft I2C Pretty
2016-02-12 18:05:03 +02:00
Kwabena W. Agyeman
095c95a998
Made Soft I2C Pretty
2016-02-12 00:31:26 -05:00
iabdalkader
9685cbb727
Small JPEG optimizations.
2016-02-12 07:08:22 +02:00
iabdalkader
3acb5903a2
Optimize Grayscale JPEG.
...
* Skip UV tables for Grayscale images.
2016-02-12 04:40:36 +02:00
iabdalkader
f8bfbfabe9
Add sensor.get_id function to return PID.
2016-02-10 19:00:05 +02:00
iabdalkader
4ed583380e
Remove mp.h include
2016-02-10 18:24:30 +02:00
iabdalkader
a0b2f3f7fa
Fix frame request flag.
2016-02-09 03:40:20 +02:00
iabdalkader
0a8a1fd58c
Return error from extclk_config.
2016-02-09 02:44:26 +02:00
iabdalkader
312fabad13
Add jpeg line buffer to linker script.
2016-02-09 02:17:05 +02:00
iabdalkader
d4b13d21ce
Add support for special effects.
2016-02-09 02:08:07 +02:00
iabdalkader
dbd69a3a25
Remove framebuffer locking.
...
* Not needed anymore.
2016-02-09 01:11:25 +02:00
iabdalkader
74d084ee6b
Add frame size check to keypoints
2016-02-09 01:05:34 +02:00
iabdalkader
ed69e4b15a
Transfer raw frames line by line.
...
* Add HAL_DCMI_Start_DMA_MB to allow line by line transfers for
raw frames using DMA double buffering feature.
* This means bigger grayscale resolution that would not otherwise
fit into RAM.
* YUV to Grayscale conversion on the fly (as the frame being read).
* It's possible to perform differencing (and maybe JPEG) on the fly.
* Additionally, FPS for grayscale should be exactly like RGB
(since there's no additional step after capturing the frame)
2016-02-08 16:53:11 +02:00
iabdalkader
bcb72ef7ff
Use a single resolution table.
2016-02-08 16:11:57 +02:00
iabdalkader
dd8fcf0ece
Better JPEG scaling.
2016-02-07 03:20:04 +02:00
iabdalkader
4627f21623
Remove extra resolution from size table.
2016-02-07 02:39:32 +02:00
iabdalkader
fa27c540ee
Use __REV16 to swap pixels
2016-02-07 02:36:26 +02:00
iabdalkader
69cd07e923
Add sanity checks and meaningful error messages.
2016-02-07 02:34:47 +02:00
iabdalkader
9a18497b56
Adjust board configs.
2016-02-07 02:34:03 +02:00
iabdalkader
07e0385bf0
Add HQVGA resolution.
2016-02-07 02:32:16 +02:00
iabdalkader
f074958595
Use __REV instructions in imlib
2016-02-06 23:57:59 +02:00
iabdalkader
700d82642b
Enable H/V zoom to support arbitrary scaling.
2016-02-06 22:34:00 +02:00
iabdalkader
70d3ffcb50
Enable selftests
2016-02-06 21:56:01 +02:00
iabdalkader
79264b6ab0
Fix bug in integral image.
...
* First row was skipped.
2016-02-06 21:15:39 +02:00
iabdalkader
05da962b73
Write the LSBs of VOUTSIZE and HOUTSIZE
2016-02-06 20:36:18 +02:00
iabdalkader
7fff65dbd2
Add boards dir to Makefile
2016-02-06 19:32:35 +02:00
iabdalkader
eb97a51183
Fix the ABI version to avoid breaking older IDE's
2016-02-06 19:19:55 +02:00
iabdalkader
b8e442b60c
Add openmv board config headers and remove hal_msp.h
2016-02-06 19:13:45 +02:00
iabdalkader
cf641af6b0
Add command to return script running flag.
...
* Return script running flag to disable/enable execute and stop buttons.
* Up ABI version
2016-02-06 17:59:52 +02:00
iabdalkader
d76fa2b558
Remove the JPEG offset buffer.
...
* Set the address of the DMA transfer to addr + offset to allow JPEG
Compression of the framebuffer without overwriting image pixels.
* This saves 1KBs of stack and conditionals in jpeg_put_bytes/char.
2016-02-06 17:13:53 +02:00
iabdalkader
544dee93ae
Remove USBDBG clear flags (not needed anymore).
2016-02-06 17:03:50 +02:00
iabdalkader
c0a9e5279f
Use soft_reset in main.
...
* This fixes the issue with script upload failing when gc is locked,
and resets peripherals to their initial state.
2016-02-06 15:32:12 +02:00
iabdalkader
fb429f175f
Lower sleep time after sensor power cycle.
2016-02-06 15:31:26 +02:00
iabdalkader
14df7fc05f
Add sensor_init0.
...
* This resets the framebuffer state.
2016-02-06 04:08:39 +02:00
iabdalkader
14891b1cc8
More JPEG cleanup
2016-02-06 03:53:48 +02:00
iabdalkader
b2480801d1
Small JPEG optimizations.
2016-02-06 00:14:25 +02:00
iabdalkader
7f76f68d82
Fix quantization tables initialization.
2016-02-05 23:55:52 +02:00
iabdalkader
5721ab40da
Adjust stack and heap sizes
2016-02-05 23:55:30 +02:00
iabdalkader
a231b17055
JPEG-compress the frame buffer to lower bandwidth.
2016-02-05 02:42:03 +02:00
iabdalkader
ab833d4302
Set all sensors XCLK to 12MHz
2016-02-05 02:41:03 +02:00
iabdalkader
ec1de1c2eb
Replace sensor struct clock polarities with flags.
2016-02-05 02:38:07 +02:00
iabdalkader
e0c5822c28
Raise exception if pixel format is not supported.
2016-02-05 02:15:22 +02:00
iabdalkader
8e60588455
Support in place JPEG compression.
...
* Modify the JPEG compressor to allow in place compression.
2016-02-04 21:56:48 +02:00
iabdalkader
e9147d4594
Remove extra byte in JPEG image size.
2016-02-04 07:04:20 +02:00
iabdalkader
7fff1dc12b
Add Grayscale Support to the JPEG compressor.
2016-02-04 07:03:49 +02:00
iabdalkader
bab1ec7dbf
Mirror image when colorbar is enabled.
...
* This allows the OV7725 to pass self-tests without changes.
2016-02-04 00:38:30 +02:00
iabdalkader
3627778d80
Increase heap to 0xCB00
2016-02-04 00:19:04 +02:00
iabdalkader
562e2ce9ca
Add FSIN pin.
2016-02-04 00:07:50 +02:00
iabdalkader
d378a1bbfa
Remove unused defines.
2016-02-04 00:03:01 +02:00
iabdalkader
22154c2bad
Adjust PLL setting.
...
* XCLK=12MHz PCLK=48MHz
2016-02-04 00:01:15 +02:00
iabdalkader
fd418576c0
Optimize JPEG library.
2016-02-04 00:00:29 +02:00
iabdalkader
726e3a8e21
Add RGB565 to YUV lookup table
2016-02-03 23:45:20 +02:00
iabdalkader
23fe7b6363
Move framebuffer sync code before snapshot code.
...
* This forces the IDE to read the image before any drawing, which
Fixes the double buffering issue.
2016-02-03 02:47:54 +02:00
iabdalkader
38efbd5bbe
Add missing register.
2016-02-02 00:43:12 +02:00
iabdalkader
5203fd8434
Pass slave address to SCCB_Read/Write
...
* Add slave address to sensor struct.
* Pass slave address to every SCCB_Read/Write function.
* Pass a pointer to the sensor struct to sensor functions.
2016-01-28 14:09:12 +02:00
iabdalkader
6752aeacf3
Add support for OV7725
2016-01-28 12:42:17 +02:00
iabdalkader
756c5965d4
Add initial OV7725 driver
2016-01-28 12:40:55 +02:00
iabdalkader
b4aeaa4f16
Add SCCB_Probe function.
...
* Remove hard-coded SCCB slave address.
* Add probe function to find slave address.
2016-01-28 12:37:29 +02:00
iabdalkader
3bad11fd61
More fixes to MLX driver
...
* Fix read raw to return rotated ir readings.
* Add refresh rate parameter to mlx_init.
* Rename mlx_read to mlx_read_ir.
* Add mlx_read_ta to return the ambient temperature.
2016-01-25 23:30:17 +02:00
iabdalkader
7358952c14
Misc fixes to the MLX driver
2016-01-25 22:31:57 +02:00
iabdalkader
5677c28b4d
Update MLX driver.
...
* Update MLX driver to support the new MLX90621.
2016-01-24 02:13:31 +02:00
iabdalkader
a846005c16
Add more comments to imlib_threshold
2015-10-04 01:15:30 +02:00
iabdalkader
b55a93069d
Remove unused prototype.
2015-10-04 01:09:52 +02:00
iabdalkader
2bda1d13a3
Increase sensor_snapshot timeout
2015-10-04 00:26:46 +02:00
iabdalkader
5a8c7ec311
Add PY_ASSERT_FALSE_MSG to py_assert.h
2015-10-04 00:10:28 +02:00
iabdalkader
5924de6ee3
Increase sensor_snapshot timeout.
2015-09-26 03:25:45 +02:00
iabdalkader
2b9b69bf92
Add OPENMV1 WINC1500 BSP header
2015-09-24 14:29:38 +02:00
iabdalkader
4f392e4639
Rename pincfg.h to stm32f4xx_hal_msp.h
2015-09-24 14:21:39 +02:00
iabdalkader
a1e4f79256
Clean up pincfg.h
2015-09-24 14:15:10 +02:00
iabdalkader
8a28cba8c7
Fix servo timers
...
* call servo_init in main
* Fix servo timer, number of channels and pin mappings.
2015-09-24 02:04:51 +02:00
iabdalkader
088b39c521
Remove redundant m2m_ota source file
2015-09-23 16:31:47 +02:00
iabdalkader
d11e8f7212
Inline systick_has_passed call in sensor_snapshot
2015-09-23 02:03:26 +02:00
iabdalkader
8fabc9b35a
Fix image module globals_dict_table
2015-09-22 02:27:51 +02:00
iabdalkader
e3f41d674e
Add sensor_snapshot timeout
2015-09-22 01:34:21 +02:00
iabdalkader
47ae5a7669
Add ATWINC1500 driver
2015-09-15 02:41:36 +02:00
iabdalkader
54c77b2f48
Add systick sleep and current_millis prototypes.
2015-08-20 16:38:07 +02:00
iabdalkader
4491000c44
Remove some old unused files
...
* omv/systick.h
* omv/stm32f4xx_it.c
2015-08-20 16:29:11 +02:00
iabdalkader
78a6d54c89
Remove old systick.c
2015-08-20 16:26:55 +02:00
iabdalkader
d031ea87f1
Implement set_pixel
2015-08-20 16:25:37 +02:00
iabdalkader
940f3a0d7d
Disabled self tests for OMV1
...
* RGB QVGA doesn't fit in OMV1's RAM, fix the script or write another one.
2015-08-18 23:54:49 +02:00
iabdalkader
d7130234d3
Return script buffer without copying.
...
* Since IDE interrupts are enabled after compiling the script, we can
just return a pointer to the script buffer without copying it first.
2015-08-17 19:48:45 +02:00
iabdalkader
b33f7b4c29
Add functions to disable/enable IDE interrupts
...
* This constrains IDE interrupts avoiding the need for critical sections.
2015-08-17 19:48:18 +02:00
iabdalkader
bf9401ee6f
Remove unused #define
2015-08-16 01:11:05 +02:00
iabdalkader
20b823333a
Free script buffer after copying it.
2015-08-16 00:16:16 +02:00
iabdalkader
02ac02643e
Increase QCIF res
2015-08-15 16:54:09 +02:00
iabdalkader
891f6ab96b
Move FS cache to main SRAM for OMV2
2015-08-15 16:50:14 +02:00
iabdalkader
9e19e0ffc6
Re-enable TIM3 to flush storage periodically.
2015-08-14 16:02:11 +02:00
iabdalkader
801f74c2da
Remove global misc functions
...
* Remove redundant functions
2015-08-13 23:18:59 +02:00
iabdalkader
7d949694ef
Fix main script FS template
2015-08-13 23:15:57 +02:00
iabdalkader
eb29fc8894
Add sanity checks to draw_string
2015-08-13 23:15:35 +02:00
iabdalkader
83c52c020f
Fix draw_string to support Grayscale
2015-08-13 23:14:52 +02:00
iabdalkader
533f0e3e8f
Re-init MP state and use pyexec_file/str
...
* Use pyexec_file/str with re-raise flag
* re-init MP state before executing scripts
2015-08-13 00:22:55 +02:00
iabdalkader
cbbd93b0ca
Add the selftest script in main
2015-08-09 22:06:57 +02:00
iabdalkader
d9d991054d
Clear debug flags when initializing usbdbg
2015-08-09 21:58:31 +02:00
iabdalkader
54288c5351
Add image module
...
* Move Image class and misc functions to image module
2015-08-09 13:00:06 +02:00
iabdalkader
0dffedda92
Fix typo
2015-08-08 00:33:26 +02:00
iabdalkader
fa12a1a704
Log fatal errors to file
2015-08-08 00:31:59 +02:00
iabdalkader
4376e87609
Revert sensor_init and check error after USB init
2015-08-08 00:30:39 +02:00
iabdalkader
9af3b9eaba
Return different error codes in sensor_init
2015-08-07 23:31:45 +02:00
iabdalkader
aaeaff476d
Delay sensor_init
...
* Call sensor_init after initializing USB mass storage to log errors.
2015-08-07 23:16:30 +02:00
iabdalkader
b99df66659
Wait for IDE to read the frame buffer
...
* Wait for the IDE to read the frame buffer after trying the lock.
2015-08-07 17:55:11 +02:00
iabdalkader
5f54935378
Fix internal ADC channels readings
2015-08-06 23:13:09 +02:00
iabdalkader
35df760a8c
Init one ADC channel in ADCAll
...
* ADC channel 5 in OMV2
2015-08-06 12:20:58 +02:00
iabdalkader
4c9982b7e9
Rename usbdbg clear script to clear flags
2015-08-06 12:20:17 +02:00
iabdalkader
99bedb06b6
Move firmware files to board directories.
2015-08-01 11:16:59 +02:00
iabdalkader
939c47da6c
Add ring buffer
2015-08-01 11:07:22 +02:00
iabdalkader
8c1ff900a8
Fix OPENMV1 build
...
* Fix board config files
* Fix linker script
* Fix sdcard CD
2015-08-01 10:56:37 +02:00
iabdalkader
856938fea5
Add image get/set pixel
2015-07-31 14:13:09 +02:00
iabdalkader
78abfb87e6
Add PY_ASSERT_TRUE_MSG
2015-07-31 14:11:26 +02:00
iabdalkader
269345303b
Add image subscr
2015-07-31 12:37:45 +02:00
iabdalkader
e446e03f9d
Remove check for unused pyexec_mode_kind
2015-07-30 17:37:31 +02:00
iabdalkader
b42da07430
Remove reset_mode
2015-07-30 17:33:12 +02:00
iabdalkader
d43eda7e51
Move parse and compile inside exception handler
...
* This allows syntax errors to be caught and printed
2015-07-29 23:04:41 +02:00
iabdalkader
86a141e51a
Add set color bar function
2015-07-29 22:32:05 +02:00
iabdalkader
f6d5129cc7
Clear fb ready flag when stopping script
...
* This stops the IDE from reading the same frame buffer
2015-07-29 22:04:36 +02:00
iabdalkader
4174eaf029
Generate binaries in firmware dir
2015-07-28 20:33:05 +02:00
iabdalkader
3d31d2662a
Update USB VID/PID
2015-07-21 17:42:31 +02:00
iabdalkader
4965343069
Update micropython branch to r1.4.4
2015-07-18 07:05:39 +02:00
iabdalkader
f34b07f015
Update print function
2015-07-18 07:05:13 +02:00
iabdalkader
7fbe54ad4e
Update headers for MP 1.4.4
2015-07-18 07:04:46 +02:00
iabdalkader
39b40526d3
Update Makefile for MP 1.4.4
2015-07-18 06:58:47 +02:00
iabdalkader
302dde7017
Update MP
...
* Add HardFault debugging.
2015-07-18 05:58:31 +02:00
iabdalkader
f7d71cd594
More parse and compile script to main thread
2015-07-13 07:51:48 +02:00
iabdalkader
e2f634675f
Rename ptr to mem for consistency.
2015-07-13 07:07:46 +02:00
iabdalkader
a26f752285
Change memory exception to MemoryError
2015-07-13 07:07:02 +02:00
iabdalkader
b5e90c4c8d
Add xalloc_fail
2015-07-13 07:06:25 +02:00
iabdalkader
a94b324bb4
Call DCMI DMA abort in sensor reset function
...
* Call DMA abort in sensor reset function just in case there's a
DMA request in progress.
2015-07-12 07:58:41 +02:00
iabdalkader
4618aeb496
Enable DCMI interrupts
2015-07-12 07:57:34 +02:00
iabdalkader
16fdecf7f4
Remove hard sensor reset
2015-07-12 04:11:44 +02:00
iabdalkader
c76c75e7b0
Fixe jpeg mode assignment
2015-07-12 03:15:10 +02:00
iabdalkader
54bf1b4334
Add JPEG mode to dcmi_config
...
* This also disables DCMI interrupts the second time dcmi_config is called
2015-07-12 02:24:46 +02:00
iabdalkader
3f9d97c511
Increase heap
2015-07-12 01:48:33 +02:00
iabdalkader
fb7d17a127
Remove xalloc_init
2015-07-12 00:38:26 +02:00
iabdalkader
c5fb6657fd
Use nlr_raise in xalloc
2015-07-12 00:36:48 +02:00
iabdalkader
765632af91
Check number of stages when loading cascade
2015-07-10 04:10:03 +02:00
iabdalkader
57ebe7eb9c
Fix the number of features and rectangles
...
* Fix the number of features and rectangles when loading cascades from flash
2015-07-10 02:58:07 +02:00
iabdalkader
e273e43961
Add stages kw arg to load cascade function
2015-07-10 02:57:30 +02:00
iabdalkader
e00d92f6f7
Fix find_features
...
* Add all objects to returned list.
2015-07-10 01:36:26 +02:00
iabdalkader
9d51051ba8
Return FR_NO_FILE if built-in cascade not found
2015-07-09 04:38:07 +02:00
iabdalkader
d0d1883354
Add Built-in Haar Cascades
...
* Add common cascades to flash
2015-07-09 03:49:57 +02:00
iabdalkader
ff611f3706
Increase flash storage size
2015-07-08 23:08:41 +02:00
iabdalkader
4ff2d795bd
Fix text length
2015-07-08 23:00:10 +02:00
iabdalkader
42b439a52e
Change IDE interrupt type
...
* Change IDE interrupt from OSError to Exception
2015-07-08 22:27:44 +02:00
iabdalkader
3ba0612a8a
Add another standard baudrate for the IDE
2015-07-08 02:39:38 +02:00
iabdalkader
0ffb74df7a
Lower pixel clock frequency to 54MHz
...
* Lower pixel clock frequency to be within the DCMI specs (max 54MHz)
2015-07-04 21:13:16 +02:00
iabdalkader
182a844cd2
Add FW version command
...
* Add FW version command to usbdbg.
* Add FW version function to openmv.py
* Check for major version in the IDE.
2015-07-04 03:44:42 +02:00
iabdalkader
2de4c717eb
Cleanup the MLX module
...
* Set update rate to 32Hz
* Use ambient temp to scale IR data
* Return a GRAYSCALE or RAINBOW image
2015-05-07 09:54:39 +03:00
iabdalkader
a674b99474
Small fixes to stmhal/spi
2015-05-05 14:04:56 +03:00
iabdalkader
d38112fb3c
Add set_saturation function
2015-05-05 14:02:44 +03:00
iabdalkader
54ae5ff425
Add new resolution for LCD
2015-05-05 13:39:16 +03:00
iabdalkader
e540a52f29
Fix soft I2C pin mapping
2015-05-05 13:29:53 +03:00
iabdalkader
09e77b5da8
Fix volume labels and root dir
2015-05-04 11:51:46 +03:00
iabdalkader
5bd4876989
Update MP
2015-05-03 13:13:09 +03:00
iabdalkader
8a68746a37
Increase heap size
2015-05-03 11:04:16 +03:00
iabdalkader
1879988bcb
Set correct stack limit for MP
2015-05-03 10:58:58 +03:00
iabdalkader
aed7c8678e
Clear frame ready in sensor_init
2015-05-03 10:25:15 +03:00
iabdalkader
ace7b976fb
Remove init_modules
...
* init modules is not needed anymore.
2015-05-03 10:22:07 +03:00
iabdalkader
4d92e632fc
Use MCO as sensor clock source for OMV2
2015-05-01 04:59:28 +03:00
iabdalkader
b9801708c8
Fix SDCARD chip detect
2015-05-01 04:58:39 +03:00
iabdalkader
1c66afe971
Fix mlx undefined reference
2015-05-01 04:58:16 +03:00
iabdalkader
117b6d862d
Alloc only k rows for median filter
2015-05-01 04:57:14 +03:00
iabdalkader
76c96cab61
Use FB for intergal images for OMV1/2
2015-05-01 04:56:41 +03:00
iabdalkader
74cba716b7
Fix image window for OMV2
2015-05-01 04:44:53 +03:00
iabdalkader
57cccca3f3
Add support for OpenMV2
2015-05-01 04:44:31 +03:00
iabdalkader
338320ad3c
Update MP
2015-04-29 04:13:07 +03:00
iabdalkader
fa7ab8f70a
Rename lab.c to lab_tab.c
2015-04-29 04:11:37 +03:00
iabdalkader
6231d528d2
Use pydfu.py instead of dfu-util
...
* Latest libusb broke dfu-util
* See https://github.com/walac/pyusb/issues/94
2015-04-29 04:08:39 +03:00
iabdalkader
6886c7b531
Update top Makefile
...
* Remove old modules
* Add MP modules
* Update for new MP code
2015-04-29 04:07:29 +03:00
iabdalkader
021fa678c9
Remove old pin config and MSP code
2015-04-29 04:05:58 +03:00
iabdalkader
fafd586b32
Disable LAB table for OpenMV1
...
* The LAB lookup is too big for 512K flash, it used to fit
at some point but not after enabling all the needed modules.
* The imlib_rgb_to_lab function is way slower than LAB lookup,
but it's a must to maintain support for OMV1
2015-04-29 04:02:40 +03:00
iabdalkader
8197a44c3f
Fix fast_cbrtf
2015-04-29 04:01:36 +03:00
iabdalkader
b244eb0ec8
Remove old modules from omv/Makefile
2015-04-29 00:46:45 +03:00
iabdalkader
977b068316
Use pendsv_nlr_jump_hard to schedule HW PENDSV
2015-04-29 00:46:02 +03:00
iabdalkader
7cd5e9e840
Add comment on RGB565->RGB888 macros
2015-04-28 23:29:50 +03:00
iabdalkader
aeee94726b
Remove USB from ISR section
2015-04-28 22:48:27 +03:00
iabdalkader
12fd9d5df2
Return compiled script instead of vstr
...
* Compile the script when the last part is received.
* This makes sure script_buf is not changed before it's compiled
2015-04-25 23:39:58 +03:00
iabdalkader
ecdcac56d2
Add missing headers
2015-04-25 23:34:42 +03:00
iabdalkader
9b068dd992
Add extern ffs_strerror
2015-04-25 23:06:36 +03:00
iabdalkader
1edee935d1
Add atomic sections to SCCB/I2C read/write
2015-04-25 22:28:02 +03:00
iabdalkader
a8928ca3b2
Move clock module to py_time
2015-04-22 02:27:37 +02:00
iabdalkader
6d2fafa947
Remove old peripheral modules
...
* Remove old peripheral modules
* Use MP's built-in modules
2015-04-22 00:07:20 +02:00
iabdalkader
74d6fa4314
Remove RNG
2015-04-15 23:40:11 +02:00
iabdalkader
74bb497e52
Update FatFS to 0.10c
2015-04-15 23:40:11 +02:00
iabdalkader
2ccfee7837
Update branch
...
* Flush 64-bytes packets with empty packets
2015-02-11 07:13:37 +02:00
iabdalkader
63b156cf48
Reset Rx/Tx pointers when switching cdc/debug mode
2015-02-08 11:19:01 +02:00
iabdalkader
754cce406c
Implement debugging over CDC
2015-02-08 11:12:24 +02:00
iabdalkader
a888f769bc
Fix temlate matching
2014-12-18 20:15:13 +02:00
iabdalkader
9ec26a53d0
Remove empty interface from second config
...
* Windows 7 64-bit doesn't like it.
2014-11-15 04:24:02 +02:00
iabdalkader
d48a7ef1e9
Update Makefiles to use DfuSe files.
2014-11-15 04:21:00 +02:00
iabdalkader
f524650881
Add DFU image
...
* Generate dfu image
2014-11-11 01:33:16 +02:00
iabdalkader
6a0af1f3c3
Use separate configs for cdc/hid and debug
...
* This is the only solution that works with libusb on Windows
* Soft-disconnect is used to switch between configs
2014-11-10 19:36:34 +02:00
iabdalkader
40d43a2a8c
Add OMV Debug Interface
2014-11-06 15:14:33 +02:00
iabdalkader
551a8be156
Increase delay for IDE
2014-11-02 15:53:02 +02:00
iabdalkader
cea31c1774
Use one request for locking and header
...
* Use one request for locking and FB header to save bandwidth
2014-11-01 15:58:52 +02:00
iabdalkader
899ec65507
Add delay if IDE tried to lock FB
...
* Fix #27
2014-10-31 13:57:17 +02:00
iabdalkader
ef9bf26981
Add Eye Detector
2014-10-25 15:33:02 +02:00
iabdalkader
cf92de7c8a
Modify LBP to use a cascade
2014-10-21 16:51:07 +02:00
iabdalkader
a2780e5a5a
Add invert,binary
2014-10-21 16:47:00 +02:00
iabdalkader
56c7bb31ab
Fix typo
2014-10-20 13:17:33 +02:00
iabdalkader
e4003e3e96
Enable UXGA
2014-10-06 17:37:51 +02:00
iabdalkader
07b1269ed0
Fix read/write return mp_obj_t
2014-10-05 00:14:25 +02:00
iabdalkader
4891184b67
Fix uart read/write
2014-10-03 22:56:39 +02:00
iabdalkader
8b0456b93e
Update MP branch
2014-10-02 15:54:02 +02:00
iabdalkader
97ea356e9d
Use larger stack limit
2014-10-02 01:38:50 +02:00
iabdalkader
b45dec9b1a
Use MP_ATOMIC_SECTION to enable/disable IRQs
2014-10-02 01:38:28 +02:00