Commit Graph

1031 Commits

Author SHA1 Message Date
Kwabena W. Agyeman
901716b878 Made grayscale read/writing fast.
RGB565 reading and writing is going to be slow. But, grayscale is going
to be going as fast as the system can go.

If Omnivision has just reversed the byte order of data sent to the
camera we wouldn't have this problem for RGB565.
2016-02-21 21:24:57 -05:00
iabdalkader
4e5b200bdf Make keypoints_match return the % of matching kpts.
* Change keypoints_match to return the percentage of matching keypoints.
2016-02-22 03:31:15 +02:00
Kwabena W. Agyeman
ccd6078c04 Add BMP and P2/3/5/6 file format support.
Added BMP file format reading and writing support code and modified the
ppm code to match. Upper level glue code has been left intact to be
altered in future commits.

Tested save() and ppm writing functionality still works. More
comprehensive tests coming soon.

... Kinda concerend that standard image file formats might not cut it for
the speed we'd like to have when using image files in function calls. I
think only grayscale is going to be fast. All other formats require a
lot of prep work.

I think I may modify some of this low level stuff in the future to
autodetect if an entire grayscale image can be read in or written out
in one go to speed that stuff up.
2016-02-21 17:24:32 -05:00
iabdalkader
43dc87d43e Fix HQVGA resolution. 2016-02-21 23:05:07 +02:00
iabdalkader
032a6e3e4d Make Haar detector work on ROIs. 2016-02-21 23:01:34 +02:00
iabdalkader
1d4b95353a Fix Iris bounding box. 2016-02-21 22:39:14 +02:00
iabdalkader
50e53c91bc Change Iris detector to work on a single region.
* This allows the detector to work on ROIs detected by the eye Haar
  cascade, which improves the accuracy and speed of the detection.
2016-02-21 20:38:01 +02:00
iabdalkader
e18058f27c Update MP branch.
* Add new qstrs.
2016-02-21 03:46:17 +02:00
Kwabena W. Agyeman
c3cfb117d0 Add frame differencing functions.
The negate function gives you the ability to negate an image before
running difference on it. The difference function will subtract two images
from each other and return the abs() of the result.

I believe it would have been optimal to work on the RGB565 image in the
LAB color space. However, since we don't have an inverse LAB lut this is
not possible. If we could replace LAB with YUV then that would free up
space to have an inverse YUV table (YUV->RGB).
2016-02-20 20:29:19 -05:00
Kwabena W. Agyeman
140ceb3b77 Fixed bug in centroid and added tests.
Stuff works. Yay! Moving on to other things now.
2016-02-20 16:04:59 -05:00
Kwabena W. Agyeman
88d9c02a1b Draw keypoints now accepts lists.
Made draw keypoints accept lists of (x, y, angle) tuples. I did this so
it could be used to show object rotation easily.
2016-02-20 16:04:59 -05:00
iabdalkader
767b0d99b9 Update MicroPython branch 2016-02-20 20:12:02 +02:00
Kwabena W. Agyeman
0606f5be44 Added binary image functions.
Pixels, centroid, orientation, along with the basic binary tool kit
functions like and/or/xor.
2016-02-20 11:46:26 -05:00
iabdalkader
db5464948b Use fb_alloc in dilate, erode and median. 2016-02-20 17:48:42 +02:00
iabdalkader
f3e85e1dbb Add fb_free_all.
* Free all blocks allocated on fb ram
2016-02-20 17:41:21 +02:00
iabdalkader
84ff228384 Fix RGB skin filter 2016-02-20 06:16:22 +02:00
Ibrahim Abd Elkader
e72e55802c Merge pull request #73 from kwagyeman/master
Fix set pixel.
2016-02-20 06:03:48 +02:00
Kwabena W. Agyeman
b01adfee26 Fixed up drawing code and scripts along with drawing code.
Set pixel works too now.
2016-02-19 22:55:50 -05:00
iabdalkader
015f924096 Fix BW filter to handle RGB. 2016-02-20 04:22:03 +02:00
Kwabena W. Agyeman
a035aae493 Fixed set pixel. 2016-02-19 21:05:02 -05:00
iabdalkader
a4ea3e0e20 Add filter functions
* Filter functions bypass the default line processing in sensor.c, and pre-process lines.
* Processing is done on the fly, i.e. filters are called from after each line is received.
2016-02-20 03:58:40 +02:00
iabdalkader
a40101e3e0 Fix indent. 2016-02-20 01:26:18 +02:00
iabdalkader
8d47b7b9b2 Add helper functions to lookup color and int. 2016-02-20 01:24:29 +02:00
iabdalkader
e31e504f64 Update MP branch 2016-02-19 17:02:45 +02:00
Kwabena W. Agyeman
bcd5151412 New drawing functions.
All the drawing functions have been updated to handle automatic clipping
when drawing offscren and work with both grayscale and RGB565.
Additionally, all functions now accept color arguments.

I've also updated the example scripts with the new functions and tested
them out to make sure they work.

Additionally, I wrote a test suite for the drawing functions to make
sure they work.
2016-02-18 22:40:12 -05:00
iabdalkader
04a2e89fd5 Optimize JPEG stack usage 2016-02-18 17:55:45 +02:00
Kwabena W. Agyeman
f9ae24f3a0 Reverted commands back to old argument format. 2016-02-17 23:50:08 -05:00
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
iabdalkader
17d3e73f86 Update MP branch 2014-10-01 01:41:38 +02:00
iabdalkader
d2fd0f631d Disable patch prog 2014-10-01 01:41:13 +02:00
iabdalkader
559da9af95 Remove RNG from ISR 2014-10-01 01:35:59 +02:00
iabdalkader
db7bce66d1 Update STM Cube to 1.3 2014-10-01 01:26:03 +02:00
iabdalkader
90309715c9 Pass RGB to image_threshold and convert to LAB 2014-09-28 16:40:06 +02:00
iabdalkader
2ba464310e Fix XYZ lookup 2014-09-28 15:37:23 +02:00
iabdalkader
2706b0c41b Move xyz table to /img 2014-09-28 15:35:51 +02:00
iabdalkader
3fca55514a Remove commented code 2014-09-27 18:57:12 +02:00
shimniok@gmail.com
dbb2019b9a Added feature to reset into DFU from omv onboard software when receiving USBDB_BOOT 2014-09-26 22:55:01 -06:00
shimniok@gmail.com
cbace2759a added functionality for starting bootloader via USBDBG_BOOT 2014-09-26 11:15:27 -06:00
iabdalkader
8467c67f06 Add System Reset Command
* Add sys reset to USBDBG and IDE
2014-09-25 03:37:00 +02:00
iabdalkader
d6375f0292 Use gpio module to reg interrupts 2014-09-25 00:14:39 +02:00
iabdalkader
422778e7b3 Add priority, sub_priority to gpio_init_exti 2014-09-24 23:56:30 +02:00
iabdalkader
a70dc7052d Fix GPIO pin defs 2014-09-24 23:55:15 +02:00
iabdalkader
0224c29588 Fix GPIO pin mapping 2014-09-24 23:26:59 +02:00
iabdalkader
04c1fe0d0e Fix FAST ROI
* Find all KPs then discard based on ROI (for small ROIs)
2014-09-24 22:56:45 +02:00
iabdalkader
ec8ed77f27 Fix SDRAM Timings 2014-09-24 22:25:27 +02:00
iabdalkader
ce3d435137 Add load_lbp 2014-09-24 22:25:14 +02:00
iabdalkader
3a04f1c74a Optimize PPM writer 2014-09-20 09:02:24 +02:00
iabdalkader
65cd8a133a Update license
* Switch to MIT
* Add license notice to source files
2014-09-20 05:09:52 +02:00
iabdalkader
bd56912fb6 Fix uSD SPI issue corrupting framebuffer 2014-09-20 03:34:54 +02:00
iabdalkader
5f51438029 Add LBP 2014-09-20 02:02:22 +02:00
iabdalkader
a25650562c Cleanup main 2014-09-18 19:23:10 +02:00
iabdalkader
27f5ae0093 Move FS cache to heap
* This will alloc FS cache only if it's needed.
* Increase heap to ~45K
2014-09-18 19:22:21 +02:00
iabdalkader
e01565cdb5 Fix quant table init 2014-09-17 22:16:04 +02:00
iabdalkader
c41cbc1e85 Format LICENSE 2014-09-17 21:42:23 +02:00
iabdalkader
f470517b2b Disable a few modules, update qstr 2014-09-17 21:40:30 +02:00
iabdalkader
8493538076 Remove old syscalls file 2014-09-17 21:40:13 +02:00
iabdalkader
a44be5d38b Compile for OMV2 only 2014-09-17 21:39:35 +02:00
iabdalkader
8854f0a9d5 Add JPEG encoder 2014-09-17 21:39:19 +02:00
iabdalkader
9cb9c4b892 Move more Objects to ISR section 2014-09-17 21:32:55 +02:00
iabdalkader
cc522583bb Fix lab,xyz tables 2014-09-17 21:20:19 +02:00
iabdalkader
73543a727e Expand heap a bit 2014-09-12 20:55:29 +02:00
iabdalkader
dcd65daee5 Add threshold, scale KW args to VJ detector 2014-09-12 20:53:43 +02:00
iabdalkader
52c71f387e Add STD to cascade. 2014-09-12 19:00:21 +02:00
iabdalkader
9fa248f44b Bug fixes and optimization 2014-09-12 18:59:49 +02:00
iabdalkader
c30adb6ea1 Fix scaled integral 2014-09-12 18:44:26 +02:00
iabdalkader
8bfc2c92a9 Add threshold param to haar detector 2014-09-12 14:32:18 +02:00
iabdalkader
918026a22c Use ROI in Keypoint detector 2014-09-12 13:56:08 +02:00
iabdalkader
017b62d20d Use integral_scaled 2014-09-12 13:48:17 +02:00
iabdalkader
b2d39d3e66 Add integral_scaled prototype 2014-09-12 13:42:37 +02:00
iabdalkader
065a3cb337 Remove SCALE_FACTOR const 2014-09-12 11:50:17 +02:00
iabdalkader
e898bbd15a Fix assertion code 2014-09-12 11:47:14 +02:00
iabdalkader
4a0790635e Check draw_line image boundaries 2014-09-11 11:49:36 +02:00
iabdalkader
04b013b33b Cleanup 2014-09-11 07:35:33 +02:00
iabdalkader
fe778e07f9 Use integral_alloc 2014-09-11 07:08:35 +02:00
iabdalkader
f8e08b9749 Add draw_line 2014-09-11 07:05:36 +02:00
iabdalkader
1bb823b981 Add integral_alloc 2014-09-11 07:03:49 +02:00
iabdalkader
5ec8511f90 Better atan2f 2014-09-11 07:02:52 +02:00
iabdalkader
aa93ab7c42 Use bytes for scores 2014-09-11 06:05:21 +02:00
iabdalkader
44669573ce Minor fixes 2014-09-11 05:52:43 +02:00
iabdalkader
649344c40c More fixes to median 2014-09-11 03:40:51 +02:00
iabdalkader
54fec0f294 Fix median 2014-09-10 23:18:15 +02:00
iabdalkader
b8d989be57 Update MP branch 2014-09-10 23:16:37 +02:00
iabdalkader
7bb8bef8a1 Add Update FB Command 2014-09-10 22:22:50 +02:00
iabdalkader
949fbfef51 Save angle when writing descriptor 2014-09-10 19:00:13 +02:00
iabdalkader
c70960d17e Add save descriptor from ROI 2014-09-10 18:59:34 +02:00
iabdalkader
d0cce539de Fix atan2f 2014-09-09 17:04:04 +02:00
iabdalkader
50062826d2 Add missing header 2014-09-09 15:09:06 +02:00
iabdalkader
3270d08241 Add UART defs 2014-09-09 15:08:25 +02:00
iabdalkader
903f756a7c Misc Fixes, add load/save descriptor 2014-09-09 15:07:22 +02:00
iabdalkader
06c8f77662 Add ceil 2014-09-09 15:02:34 +02:00
iabdalkader
2f5b82ec77 Update UART code 2014-09-05 18:09:07 +02:00
iabdalkader
41d531242a Fix big frame size 2014-09-04 01:03:38 +02:00
iabdalkader
cf9be6bf71 Mirror/VFLIP when building for OMV2 2014-09-03 23:47:09 +02:00
iabdalkader
c12f559d62 Remove sd from isr section
* Overflows on OMV2
2014-09-03 23:37:19 +02:00
iabdalkader
734eca7e97 Add Color to draw_string 2014-09-03 19:16:41 +02:00
iabdalkader
d142654920 Add Scaled Integral Function 2014-09-03 16:17:46 +02:00
iabdalkader
2e81c7a150 Cleanup Haar code 2014-09-03 16:14:17 +02:00
iabdalkader
b2eb44910a Add subimg 2014-09-02 16:29:20 +02:00
iabdalkader
5fdd6e09a3 Add font rendering 2014-09-01 23:43:06 +02:00
iabdalkader
06c9253644 Rework blob counting 2014-09-01 16:52:14 +02:00
iabdalkader
29202f1f99 Add morphological operations, fix threshold 2014-09-01 16:50:58 +02:00
iabdalkader
526efdac04 Small Optimizations 2014-09-01 16:17:33 +02:00
iabdalkader
ad1daadd69 Add more objects to .isr_vector 2014-09-01 15:41:19 +02:00
iabdalkader
82e46987b1 Remove deinit 2014-09-01 15:40:10 +02:00
iabdalkader
4a39ffc65b Add module names for debugging 2014-08-31 15:12:11 +02:00
iabdalkader
99657a2207 Fix I2C init/deinit 2014-08-31 14:13:29 +02:00
iabdalkader
b621643763 Opt imlib_integral_image 2014-08-30 19:19:07 +02:00
iabdalkader
19121dec9f Fix exported functions 2014-08-30 18:35:37 +02:00
iabdalkader
d8c057d935 Optimize blob alloc 2014-08-30 17:31:28 +02:00
iabdalkader
8ab90c57c4 Optimize imlib_threshold 2014-08-29 22:39:58 +02:00
iabdalkader
f500fe28d1 Remove mp_sys_exit 2014-08-29 19:38:04 +02:00
iabdalkader
cb3e021a40 Enable EXTI 2014-08-29 19:37:19 +02:00
iabdalkader
22323eb1a3 Remove dead object files 2014-08-29 19:36:49 +02:00
iabdalkader
78eee3fcc6 Resize FLASH storage 2014-08-29 19:36:32 +02:00
iabdalkader
459ec97aad Use PKHBT to pack SMUAD operands 2014-08-29 13:21:22 +02:00
iabdalkader
25abc200f9 Add FAST/FREAK detector
* Remove SURF code and MP functions
* Add FAST/FREAK keypoint extractor/descriptor
* Add FAST/FREAK Python example
2014-08-27 17:34:58 +02:00
iabdalkader
0aeab28640 Update MP Modules
* Update all modules for new API
* Move modules to built-in
2014-08-26 20:32:43 +02:00
iabdalkader
590bd22e2e Cleanup linker script 2014-08-26 17:30:03 +02:00
iabdalkader
f1d1aa5c67 Cleanup all Makefiles
* Add verbose option
* Fix link dependencies
2014-08-26 17:17:59 +02:00
iabdalkader
165ed73659 Export uwTick 2014-08-26 15:47:16 +02:00
iabdalkader
8355ddc338 Enable _FS_RPATH 2014-08-26 15:44:00 +02:00
iabdalkader
d61526a974 Add atan2, log2 and log 2014-08-26 12:09:51 +02:00
iabdalkader
82efa9042d Throw Exception When malloc Fails 2014-08-25 20:55:52 +02:00
iabdalkader
7038cb25c6 Export gc_collect and random 2014-08-25 14:37:17 +02:00
iabdalkader
bf3f6633ea Use SIMD in Alpha Blend 2014-08-25 14:36:36 +02:00
iabdalkader
1117c49ff9 Use LOW GPIO Speed 2014-08-25 14:34:01 +02:00
iabdalkader
e13e902d80 Add 1 to max temp scale 2014-08-25 14:33:44 +02:00
iabdalkader
9572faf78f Add scaled function
* Returns new scaled image
2014-08-25 14:32:31 +02:00
iabdalkader
45c3a5d3ae Use DMA for SPI transfers 2014-08-25 14:32:16 +02:00
iabdalkader
9752af11df WFI When sleeping 2014-08-25 14:27:10 +02:00
iabdalkader
e7de5bc4f1 Disable FE interrupt in direct mode 2014-08-25 14:25:51 +02:00
iabdalkader
cc09ad155e Use SDRAM for FB base 2014-08-23 10:47:42 +02:00
iabdalkader
e21794b4cb Reset DMA stream before re-init 2014-08-23 10:47:01 +02:00
iabdalkader
777fafc8ef Fix ld script 2014-08-21 12:30:09 +02:00
iabdalkader
5d5f801051 Add USR_SPI defs 2014-08-20 22:14:30 +02:00
iabdalkader
9e0136dbc8 Add proper fb locking 2014-08-20 21:17:27 +02:00
iabdalkader
dac7beadc6 Add mutex 2014-08-20 21:10:43 +02:00
iabdalkader
43aa7688a6 Fix RNG 2014-08-19 19:06:27 +02:00
iabdalkader
729fedfe6f Use new scale function 2014-08-18 12:40:13 +02:00
iabdalkader
f1861a332a Add scale, blit and blend functions
* Add scale, blit, blend and rainbow
* Update imlib header
* Export new functions to MP
2014-08-18 12:36:47 +02:00
iabdalkader
d151388e73 Add SDRAM region 2014-08-18 10:40:50 +02:00
iabdalkader
133f2fccb9 Retry to init before failing 2014-08-18 10:36:32 +02:00
iabdalkader
074557265d Add rainbow filter 2014-08-18 10:33:46 +02:00
iabdalkader
5722436a63 Add MLX90620 driver 2014-08-18 10:26:32 +02:00
iabdalkader
563ab52eca Add Soft I2C 2014-08-18 10:21:48 +02:00
iabdalkader
a0e99939ad Pass Target to CPP 2014-08-18 10:12:03 +02:00
iabdalkader
02999f2432 Rename stm32f407_hal_msp 2014-08-10 19:42:14 +02:00
iabdalkader
12d062d1bc Enable GPIO and SPI
* Fix GPIO/SPI code
* Use buffers in SPI read/write
* Add pin qstrs OMV2
* remove old led files
* Update LCD user examples
2014-08-10 19:39:19 +02:00
iabdalkader
a93cd7fd7a Use CPP to generate linker scripts 2014-07-31 06:26:19 +02:00
iabdalkader
52da153c0c Fix sdram init function 2014-07-31 06:19:23 +02:00
iabdalkader
4215697e00 Add checks for OPENMV2 2014-07-31 06:12:53 +02:00
iabdalkader
cb3af4e25a Fix comment typo 2014-07-31 05:59:04 +02:00
iabdalkader
046d7afa98 Enable GPIOF clock 2014-07-31 05:57:56 +02:00
iabdalkader
4242a753fe Fix SDRAM test 2014-07-31 05:57:38 +02:00
iabdalkader
991645da8b Fix F429 PLLs 2014-07-23 08:09:26 +02:00
iabdalkader
ba49bc9c9f Add SDRAM driver
* Add SDRAM driver
* Add SDRAM to linker script
* Add FMC drivers to Makefile
2014-07-23 08:08:29 +02:00
iabdalkader
b67ee0e5f3 Add SD SDIO driver 2014-07-23 08:06:56 +02:00
iabdalkader
92ded74fd9 Add IR LED Support 2014-07-21 03:55:54 +02:00
iabdalkader
381e24d315 Add support for STM32F429 2014-07-17 09:16:04 +02:00
iabdalkader
35fdb04aa9 Enable CCM clock in startup code 2014-07-17 09:13:56 +02:00
iabdalkader
6389cce8b3 Export select 2014-07-14 04:17:11 +02:00
iabdalkader
dfab091f25 Add select 2014-07-14 03:43:21 +02:00
iabdalkader
932398820b Keep track of socket state 2014-07-14 03:42:29 +02:00
iabdalkader
9b145bd4c7 Fix inet_ntop endianness 2014-07-14 02:56:50 +02:00
iabdalkader
2fd8af0bf5 Disable IRQs around spi calls
* Fixes SPI transfer failures.
* Set highest baudrates for SD and CC3K
2014-07-09 04:34:16 +02:00
iabdalkader
78ad46dd34 Add set_quality for JPEG mode 2014-07-09 04:31:39 +02:00
iabdalkader
366171b042 Replace spi_recv with macro
* Set baudrate prescaler to 2
2014-07-07 04:59:14 +02:00
iabdalkader
d30c06f55a Set max Rx/Tx packet size 2014-07-07 03:17:46 +02:00
iabdalkader
945331cace Fix ucPad 2014-07-07 02:24:43 +02:00
iabdalkader
3681237acf Split recv packets 2014-07-07 02:04:36 +02:00
iabdalkader
b07cb91357 Add CC patch programmer 2014-07-07 02:03:20 +02:00
iabdalkader
55ae590bcb Update CC host driver
* Update to v1.15
2014-07-07 02:00:25 +02:00
iabdalkader
dcb4f34520 Remove old patch programmer 2014-07-06 23:38:29 +02:00
iabdalkader
84483d1d11 Update MP 2014-07-05 03:50:01 +02:00
iabdalkader
74280e07c6 Update CC3K SPI driver 2014-07-05 03:45:16 +02:00
iabdalkader
2d3abcf2f4 Add wlan and socket python modules 2014-07-05 03:41:43 +02:00
iabdalkader
43758d1a67 Make wlan_start timeout 2014-07-05 03:39:01 +02:00
iabdalkader
95b36965ec Update cc3k.h 2014-07-05 03:38:45 +02:00
iabdalkader
7826c14c05 Add inet_pton and inet_ntop 2014-07-05 03:36:04 +02:00
iabdalkader
545c29763e Fix SPI timeout 2014-07-02 00:03:59 +02:00
iabdalkader
3ee3716842 Clear connected flag when interrupted 2014-06-30 03:47:42 +02:00
iabdalkader
59d9d18bbe Update MP 2014-06-30 03:47:30 +02:00
iabdalkader
52bf272e8e Move test for USBDBG before snapshot 2014-06-30 03:47:04 +02:00
iabdalkader
30169f3aaa Add buffer protocol to image 2014-06-30 03:46:32 +02:00
iabdalkader
34ca3ed295 Lower default Qs 2014-06-30 03:46:09 +02:00
iabdalkader
e2ef1a568f Use MP's file module 2014-06-30 03:45:52 +02:00
iabdalkader
73f0d348bc More fixes to SD code 2014-06-30 03:45:03 +02:00
iabdalkader
94c46ab309 Cleanup SDCARD code 2014-06-28 19:54:06 +02:00
iabdalkader
92563b6190 Add SDCARD SPI driver 2014-06-28 01:26:32 +02:00
iabdalkader
0191702058 Export open 2014-06-27 23:46:13 +02:00
iabdalkader
1c7f8d7bdf Move GPIO configuration to MSP 2014-06-27 22:21:59 +02:00
iabdalkader
e23dca875c Update MP branch 2014-06-25 19:53:55 +02:00
iabdalkader
2d833b2ab5 Fix warning 2014-06-25 19:51:09 +02:00
iabdalkader
f23336e3ae Return the number of SURF matches 2014-06-25 19:50:45 +02:00
iabdalkader
5470b6c72f Add new constants 2014-06-25 19:50:30 +02:00
iabdalkader
185ab2877c ADD JPEG support
* ADD higher resolutions
* Set GPIO to low speed
* Use frame_ready to sync snapshots
2014-06-25 19:47:23 +02:00
iabdalkader
d96b1d9656 Update USBDBG
* Update commands
* Sync FB dump
2014-06-25 19:46:22 +02:00
iabdalkader
561c97cb41 Add JPEG regs
* Some fixes to old registers
2014-06-25 15:54:16 +02:00
iabdalkader
18e62155b0 Cleanup Makefile 2014-06-22 12:31:19 +02:00
iabdalkader
f8eb7b35e1 Fix br/cont/gain 2014-06-21 09:44:25 +02:00
iabdalkader
aaa06a4021 Add Get/Set sensor attributes 2014-06-21 09:43:26 +02:00