iabdalkader
1b27383c9d
Allocate kpts until GC is almost out of memory
...
* Keep allocating keypoints until GC is out of memory.
2016-02-26 00:50:46 +02:00
iabdalkader
5ff5419bf1
Return empty list if no blobs were found.
...
* Fixes #81
2016-02-26 00:47:31 +02:00
iabdalkader
3e4c2c2f3b
Fix keypoint bug.
...
* Set keypoint descriptor to zero, bug was introduced when switching to arrays.
2016-02-26 00:26:37 +02:00
iabdalkader
b15c0c6bc0
Fix formatting.
2016-02-26 00:26:20 +02:00
iabdalkader
5c6056f875
Add file format strings
2016-02-25 11:52:10 +02:00
Kwabena W. Agyeman
d8ac8f9408
Fix swap bug.
...
The code clearly did not swap mins and maxes.
2016-02-24 19:07:57 -05:00
iabdalkader
f34a7e30d7
Use fb_alloc to allocate corners.
...
* Leaves more heap memory for keypoints.
2016-02-24 06:30:14 +02:00
Kwabena W. Agyeman
4df0b5044b
Add top level file open function.
...
Fimrware will now automatically detect the appropriate file type and read
in that file type correctly.
Working on tying on of this stuff togheter next. It's getting a little
bit too complicated to deal with error cases. Need to add error message
function layer.
2016-02-23 21:26:43 -05:00
iabdalkader
c3936f4322
Fix FAST/FREAK ROI.
2016-02-24 00:38:48 +02:00
iabdalkader
4d7db778fb
Remove angle from keypoint.
...
* Not really used right now and saves 4 bytes per keypoint.
2016-02-23 20:43:33 +02:00
iabdalkader
3a747ef952
Use arrays in FAST/FREAK keypoints.
...
* Using arrays for FAST/FREAK keypoints, this saves some memory
allocated for intermediate data.
2016-02-23 18:19:49 +02:00
iabdalkader
7a22cb3e5c
Extract keypoints in one step.
...
* Make find_keypoints extract FAST keypoints.
2016-02-23 00:55:54 +02:00
iabdalkader
93d3885a3c
Set keypoints threshold range between 0 and 100.
2016-02-22 20:31:24 +02:00
iabdalkader
9d02e2a42a
Make match_lbp accept roi and extract second LBP.
2016-02-22 19:41:16 +02:00
iabdalkader
473b8025bf
Fix assertion in find_features.
2016-02-22 19:39:26 +02:00
iabdalkader
015181588a
Fix assertion in find_features.
2016-02-22 19:35:11 +02:00
iabdalkader
ddcb170af0
Cleanup py_image.c
...
* Code cleanups in py_image.c
2016-02-22 19:17:14 +02:00
iabdalkader
124a31772c
Rename helper functions.
2016-02-22 18:47:35 +02:00
iabdalkader
5860695f5d
Move helper functions to new files.
2016-02-22 18:41:50 +02:00
iabdalkader
0f48c12a89
Replace all mp_map_lookup()s with helper functions.
2016-02-22 18:35:00 +02:00
iabdalkader
4bcdb251a3
Update MP branch
2016-02-22 18:02:59 +02:00
iabdalkader
93dc73c7f2
Fix arg to get_rectangle_kw.
2016-02-22 18:00:20 +02:00
iabdalkader
4c63721efa
Use default roi when calling save_image
2016-02-22 17:55:26 +02:00
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